Deep Learning Interference Cancellation Based on Software Defined Radio(SDR) and USRPs


Gnuradio is a Software Defined Radio(SDR) platform. USRPs are devices to transmit and receive radios. This paper shows steps to cancel Self-Interference by Deep-Learning.

Detailed paper can be found in arXiv DSIC: Deep Learning based Self-Interference Cancellation for In-Band Full Duplex Wireless arXiv preprint arXiv 1811.01498.2018, submitted to IEEE ICC 2019

Simulation Principle

The novel idea of cancelling SI is extract known SI signal from received signals. To prove the possibility of SI cancellation, a simulation was designated.

Step1: Sensing

This step sending known signal to probe SI channel. The designated probing signals will pass the SI channel and transform to unknown received SI signals denoted by ysi

Step2: Collect Synchronized Data

Following the SI channel probing, the framework collects and records I and Q components of both the probing complex signals x and the received SI signal ysi. Since USRPs always start with random time delay, we use barker code embedded to each frame to Synchronize, thus making sure x and ysi is one to one mapping

Step3: Train SI channel

With the data of x and ysi collected, they are then used to train a DNN SI channel model in a supervised learning way. The structure of the DNN SI channel model is explained in my recent publication

Step4: Load SI channel

We write a load module in Gnuradio as an OOT block, in this module, it load DNN parameters by using model.load_state_dict(torch.load(PATH)), then process any input stream through the DNN to estimate ysi[n]


Hanqing Guo

Graduate Assistant

Welcome to my personal page! I am a Phd student in Michigan State University, eLANs Lab