Here is our latest paper on Full Duplex radios, accepted to SIGCOMM 2013 is here 


Current People:

Dinesh Bharadia (Student)

Emily McMillin (Student)

Sachin Katti (Professor)

The Problem:

We provide a design  for Full Duplex Radio using single antenna. As against to all prior we provide a first formal approach at looking at the problem, with existing radio’s limitation, which is important for these design to work in practice.

Bigger Picture:

In this work, provide the design and implementation of a self-interference cancellation system that can eliminate all interference to the noise floor (since full duplex is hardest problem in the domain of self-interference cancellation system). The technique itself is fundamental, and full duplex radio design is only one application of it. It can potentially redesign several other interference cancelation systems, such as the Picasso RF slicing system the best paper at sigcomm’12 and several others.

It also brings towards completion a line of work from our research group that has spanned the last 3 years and proves that true in-band full duplex is practically achievable in commodity radios, using almost the same resources as a half-duplex radio (needs an extra analog cancellation board and DSP algorithms). More generally, this work demonstrates the need for an interdisciplinary approach that combines ideas from RF circuit design, DSP algorithms and communication systems. Self-interference cannot be tackled in one domain alone, and all these sub-systems have to be co-designed to tackle it. We believe such a holistic approach is needed to handle the more general problem of interference in wireless.

So let start with basic Question:

Why Radios are Half Duplex ? 

Today, if you open a wireless text book. It says something like this, it is generally considered impossible for a radio to be able to transmit and receive at the same time on the same frequency. This is a long held assumption in wireless which has impacted the design of  the entire wireless system from physical layer to the higher layers. So, why are radios half-duplex ? 


To see why, consider the following toy example as show in Fig.1. There are two radios, radio 1 on the  left and radio 2 on the right, trying to communicate with each other. lets say radio 1 is transmitting this red signal to radio 2. Now if it simultaneously tries to receive the weak green signal from radio 2, it cannot !! if you open a wireless text book today. It says something like this, it is generally considered impossible for a radio to be able to transmit and receive at the same time on the same frequency. This is a long held assumption in wireless which has impacted the design of  the entire wireless system from physical layer to the higher layers.

Fundamental Challenge:  We don’t know what we are transmitting 

Is this problem really hard ? It seems like an easy problem since we know what we are transmitting, why can’t we subtract it and cleanly receive the weak received signal (green in Fig.1) ?  In fact it turns out we don’t know what we are transmitting. What we know is just the bits of the transmitted packet and its digital samples at the physical layer. But after that samples are converted by transmitter to  analog signal, this transmitted analog signal is quite different then what you think you are transmitting.

To show this, we setup a very simple  experiment using off the shelf radios. we transmit two sinusoids at two frequencies. Figure on the left shows how the digital baseband signal looks like in the frequency domain (the x-axis corresponds to the up-converted signal for the sake of comparison). You expect to see two spikes, at the two freq corresponding to these sinusoids. However, when we measured the signal actually coming out of the transmitter and plotted its frequency domain, we saw the figure on the right. Apart from the expected two tones, we see a lot of other spikes at different frequencies. these spikes arise because analog radios produce non-linear effects, called harmonics. We also see that floor of the whole signal has been raised up. in fact this is noise that the transmitter  is generating from components such as power amp and local oscillators, we call transmitter noise.

To summarize, the actual self-interference is quite different from what you thought you were transmitting, apart from the main signal it consists of several nonlinear harmonics and transmitter noise.  Thus, ‘we don’t know what we are transmitting !’

Cancellation Requirement: How much interference cancellation do we need ?

If you wanted to cancel the self-interference, a natural question is what are the requirements?

  • Main Signal: Typically commodity WiFi radios have a receiver noise floor of -90 dBm and a the maximum transmitted (average power of the) signal is 20 dBm. Hence you need a total of 110 dB of cancellation. However, we have seen that transmitted signal has non-linearites and transmitter noise.
  • Non-linearities components:  Non-linearities are at a level of -10dBm, or 80dB above the noise floor. Thus we need 80 dB of non-linear cancellation.
  • Transmitter noise: The transmitter noise is at a level of -20 dBm , 70 dB above the noise floor. Hence we need to cancel transmitter noise by 70 dB.

Noise by definition is random and cannot be predicted, the only way to cancel it is by taking a copy of the transmitter noise and canceling it, there is no way to model noise in digital domain. Therefore, out of 110 dB at-least 70 dB has to come via analog cancellation. If we manage to get 70dB of analog cancellation, we will still have 40dB of self-interference residue left over, of which 10dB consists of non-linear harmonics since only 70dB of the non-linearities are removed via analog cancellation. This residue can and should be cancelled in the digital domain.

To summarize, any full duplex radio design has to provide 110dB of total cancellation and 70dB of analog transmitter noise cancellation.

Contributions : 

In this work, we will present the first single antenna full duplex radio design that meets all the cancellation requirements. Our key technical contribution is a new cancellation technique that completely eliminates all self-interference  including the main signal , non linear harmonics and transmitter noise. We build on this cancellation technique and demonstrate a fully functional in-band full duplex radio that uses a single antenna. Our WiFi full duplex prototype supports the transmit power of 20dBm and widest bandwidth of 80 MHz that is used in deployed Wifi. We also show experimentally that our prototype achieves the maximum possible theoretical performance of doubling throughput in practice.

Our approach is interdisciplinary as seen in Fig.  , it combines RF circuits design and DSP algorithms for self-interference cancellation. The cancellation system is a hybrid design, consisting of analog and digital cancellation.

  • Analog cancellation: The analog cancellation circuit plugs into an existing transceiver, it sits outside the transmitter but before the antenna, and on the receive side before the receiver, eliminates all Tx Noise.
  • Second there is a digital cancellation stage that sits in baseband after the ADC, and eliminates any residual self interference to the noise floor.

Lets look at the cancellation design in more detail. We use a single antenna which is connected via circulator to the Tx and the receiver (RX). The circulator by itself gives you limited cancellation of 15 db from tx to rx, what that means is self interference leaking from tx is reduced by 15 dB. However,  remember that we need 110 dB of cancellation, which means that we still have 95 db more to cancel. Further, note that we need 70 dB of tx noise cancellation in the analog domain itself.

 Analog cancellation 

  • At a high level: Our analog cancellation stage handles the prior stated requirement. The cancellation circuit gets a small copy of the transmitted signal (T) after the transmitter, this small copy is passed through the cancellation circuit, whose job is to shape the signal to match the self interference signal iT that is leaking on to the receiver. The shaping has to be dynamic and has to adjust if the self-interference signal iT changes over time, which happens when the environment near the antenna changes and other such near-field phenomena.
  • Delayed Copies of self-interference: let me give you intuition on how our analog cancelation circuit accomplishes this. The way to think about our circuit is that its taking a small copy of the transmitted signal and splitting it through a bunch of paths each of which has a  fixed delay and a programmable attenuator. The delayed and attenuated signals from each of these paths  are combined back in and the combined signal is subtracted from the received signal to cancel out the self-interference. The goal therefore is  to pick the fixed delays and dynamically tune the programmable attenuators to maximize self-interference cancellation.
  • How to pick these fixed delays: I have drawn an abstracted representation of delays experienced by the analog signals. lets say this red signal is actual self interference signal leaking in through the circulator and it has experienced the delay d. the way to pick to fixed delays in our cancellation circuit is to straddle them across self-interference delay d. So you pick d1 less than and d2 greater then self interference delay. next for the next pair of fixed delays. We pick d3 slightly less then both the self interference delay and the first pair of fixed delays, and we pick d4 to be slightly more than the self interference delay and the first pair of fixed delays. We keep on repeating this process for all the fixed delays. So what we essentially have is a set of leading and lagging copies of the actual self interference signal. Our goal is to figure out the exact value of self interference signal at that intermediate point d. Our key insight is that this problem is closely related to digital sampling. In digital sampling you get periodic copies of the signal at Nyquist sampling rate, and  by appropriately weighing these copies and combining them it is possible to reconstruct the signal at any desired intermediate point. This intuition can be applied in our cancellation circuit too, we can use sampling theory to interpolate and figure out what the actual self interference signal looks like at any intermediate instant of time, d. 
  • Sampling Theory Applied to Analog interpolation:  The basic idea from sampling theory is that you center sinc pulses on top of delays d1, d2, d3 and d4 and look at the value of the since pulse at the actual self-interference delay d, and that is the value you should pick for the corresponding attenuators, a1, a2, a3 and a4 on those paths. One implicit assumption i have made in this simplified description is that i actually know the value of the self interference delay, in practice you don’t !! in fact this self interference delay changes with time, environment and its impossible to measure it accurately. However you do not need to know this delay!!  Instead we design an adaptive algorithm that dynamically changes the values of the attenuators to match the self-interference as it changes. 
  • Adaptive Algorithm: More details about adaptive algorithms are in paper. We provide intuition, how it achieves the cancellation. For example  if actual self interference delay is close to the fixed delay d2,the algorithm increases a2 and decreases a1 to still match and cancel the self interference. Similarly if the self-interference delay changes, to be closer to d1, then the algorithm automatically increases the corresponding attenuator a1 and decreases a2 so that the shaped signal matches the self-interference signal. The details of the adaptive algorithm are in the paper, I will skip them in the interest of time.
we will show experimentally in a few slides, our design achieves 70 dB of analog cancellation and eliminates all TX noise. However we still are left with 40 db of self-interference residue, of which nearly 10 dB is non-linear harmonics.Digital Cancellation:  In this work we have invented a non-linear digital cancellation technique. The algorithm works by taking a copy of digital samples of the transmitted signal and passes them through a non-linear FIR filter. The filter is trained to precisely capture the main self-interference signal as well nonlinear harmonics. Our key contribution here is a learning algorithm that figures out a compact non-linear filter structure that accurately predicts the self-interference, and thus enables us to train the filter efficiently and quickly.In fact the non-linear filter model is compact enough that its coefficients can be estimated using the existing WiFi preamble and thus we can train our cancellation on a per packet basis. Consequently, this does not require any changes to the existing WiFi packet format and therefore our design is incrementally deployable. The details of the non-linear filter design are in the paper.  That wraps up the design of our interference cancellation system. 


A natural question is how well does this actually performs. More specifically is our design robust enough to work with extremely cheap commodity transceivers. (c) To prove this, we built full duplex radio using a 2 dollar off-the shelf Maxim transceiver, same as the one used by warp software radios.  (c) We implemented our own analog cancellation board that plugs in front of these commodity transceiver as shown in the red box.  (c) The main challenge is that such transceivers have very high transmitter noise and harmonics, which have to be cancelled out. We use a standard WiFi PHY operating over 20MHz at 25dBm transmit power for these experiments.

  •  Q1: Does it work with commodity radios? 

Our evaluation shows that our design completely cancels the self interference to the noise floor for such commodity radios.

here i am showing the spectral diagram of the self interference after different stages of cancellation.

The blue signal represents the transmit signal, the red signal show spectral view of the self interference after analog cancellation. our design achieves 72 dB of analog cancellation and therefore meets the transmitter cancellation requirement of 70dB. however, this still means we have 38 dB of residual self interference signal. Our digital cancellation stage eliminates this residue. The green line is the receiver noise floor and the black signal is the residue after digital cancellation. (p) As you can see the self-interference is essentially reduced to the noise floor.

These results are from an indoor noisy office environment with people walking around. Hence the self-interference profile changes with time. In the paper, we show that our design can retune the cancellation circuit to maintain 70 db cancelation within 8 usec. The retuning is only needed when the near-field environment changes, which happens roughly once every 100 msec in our environment. Thus the overhead of tuning is a negligible .008 percent.

  • Q2: How Does it Compares with prior Design?

how does this performance compare with prior designs, there are two important prior works in this space. The first one is balun cancellation, which is our own group’s prior work. The second is a set of papers  that use an extra transmit chain to provide the cancellation signal. both of these prior design requires 2 antenna. ℗ on the other hand our design requires a single antenna. 

The table shows the cancellation achieved by our design and these designs. As we saw, our design achieves 110 dB of cancellation. However the balun and extra TX chain based designs can only achieve 85 and 80dB of cancellation respectively. In other words, these prior design leave atleast 25 -30 dB of uncanceled self interference residue over noise floor. The main reason is that these designs are unable to cancel the transmitter noise by 70dB in the analog domain, and further they do not model and cancel non-linear components.

The practical consequence is that if we were to use these designs, the signal we are trying to receive in full duplex mode should at least have a signal strength that is greater than the remaining self-interference residue to be even decodeable! (c) In other words, the received signal should at least have a 25-30dB SNR in half duplex mode, which is extremely uncommon in practice in our opinion.

  • Q3: Does that translate to doubling of throughput in practice?

A final question is how does cancellation performance translate to throughput? In other words can our design double throughput for a link?

To check this we took two full duplex radios and placed them at several random locations in our indoor testbed so that we get links with varying strengths as found in practice. We compute the physical layer throughputs with and without full duplex and compute the relative throughput gain over half duplex. We also repeat the same experiment for the two prior designs and compute their relative throughput gains over half duplex.

Here are the results. As we can see, our design achieves a 1.97x throughput gain, essentially it doubles the throughput. The prior two designs perform poorly. In fact in 90% of the cases, they achieve worse throughput than even half duplex, it is better to just turn off full duplex with these designs! The reason is the large self-interference residue that is left because of their limited cancellation !! This residue acts as noise to the received signal, reduces its SNR significantly, and therefore hurts throughput considerably, so much that the full duplex throughput is worse than the throughput achieved in half duplex mode.


  • Q3: Does it work with Wide-band of 80 MHz ?

Please refer to paper for more details on this question.