Picasso Demonstration [SIGCOMM'12]

Steven Hong, Jeffrey Mehlman, Sachin Katti

Picasso Demonstration at SIGCOMM 2012

Prototype: We design and implement a prototype of Picasso on Xilinx Virtex-5 FPGA-based software radios. Our implementation consists of both the radio design that provides the slicing abstraction, as well as a WiFi-like contiguous OFDM PHY and CSMA MAC to operate on top of the slices. We show that Picasso's implementation of the slicing abstraction provides strong decoupled operation, i.e. there's no SNR loss because of either programmable filtering or simultaneous TX/RX. In other words, a Picasso radio achieves the same throughput as one would have achieved by using several independent radios statically configured to operate on individual slices.
Demonstration Setup: Our claim is that Picasso enables a radio to transmit and receive simultaneously over arbitrary bands with a single antenna. This is a fundamental primitive that can be used in many applications - in this demonstration we will show how this capability enables concurrent wireless applications (Video + Bulk Data Transfer) to occur simultaneously in a decoupled fashion on a single portable device.
We have 3 nodes in this demonstration: Alice, Bob, and Charlie. Bob is running two wireless applications: he must simultaneously receive a real-time video stream from Alice (Laptop) while simultaneously transferring data to Charlie (WiFi Access Point). Note that both of these applications have extremely different requirements. Alice's video stream to Bob should maximize video quality, and hence desires predictable data rates while Bob's bulk data transfer to Charlie simply wants to maximize aggregate throughput.

Demo 1: We first demonstrate Alice and Bob establishing a straightforward real-time video stream. The connection is established over a WiFi-Direct link using a 10 MHz channel with QPSK on each subcarrier.
Demo 2: Next Bob begins to transmit on an adjacent channel to Charlie the Access Point. The channel separation between Bob's transmit and receive channels is approximately 5 MHz. Even though the transmission is occuring on a different band than the reception, because Bob's transmitter is so close to his receiver, he ends up saturating his receive and is no longer able to receive the video stream from Alice. Note that because the receiver has been saturated in this setting, digital filtering techniques will not work to eliminate Bob's on self-interference.
Demo 3: Next Bob swaps his front-end for Picasso's self-interference cancellation front-end, which consists of both the circulator (allowing the transmit and receive chains to share the same antenna) and the cancellation circuit (which mitigates the residual interference which leaks through the imperfect circulator). The circuit provides enough cancellation to prevent the receiver from saturating. But it is not quite enough to provide full isolation between the two applications running on Bob's tablet. As you can see from the constellation, Bob's self-interference still has an effect on his video stream quality from Alice.
Demo 4: But now that the receiver is no longer saturated, Bob can now use digital filtering techniques to remove the residual interference and remap, recenter, and resample the video stream from Alice. For the video streaming application running on Bob's tablet, it is now completely isolated from the bulk data transfer application running on the same RF frontend and antenna. Both of Bob's applications (Video Streaming and Bulk Data Transfer) can now coexist gracefully and run in a decoupled fashion. It is as if Bob has two independent radios for each application - an abstraction that Picasso provides with a single RF frontend and antenna.

Steven Hong, Jeff Mehlman, Sachin Katti, "Picasso: Full Duplex Signal Shaping", In ACM HotNets 2011, Cambridge, Massachusetts, USA

Steven Hong, Jeff Mehlman, Sachin Katti, "Picasso: Flexible RF and Spectrum Slicing", In ACM SIGCOMM 2012, Helsinki, Finland.