Traditional wireless communication, widely used today, supports bi-directional transmissions in the way of time-division duplex (TDD) or frequency-division duplex (FDD). In-band full duplex (IBFD) wireless refers to the bi-directional transmission on the same frequency band at the same time, which intuitively boosts the spectrum efficiency and channel utilization. As the demand of wireless transmission is sharply increasing, IBFD wireless is very promising to future wireless communications.
Although IBFD wireless has been studied for years in theory and analysis, it has been progressing very slowly for practical use because of a very challenging issue called self-interference to be addressed in engineering. Refer to the IBFD wireless architecture shown in figure 1 where the wireless node Node1 is receiving data via its antenna RX1 from the TX2 of Node2, while it is also transmitting data via its antenna TX1. The consequence is that the power emitted by the TX1 of Node1 will interfere the TX2’s signal received at the RX1 of Node1. Such interference is called self-interference (SI), which completely overshadows the received signal and leads to the communication failure from Node2 to Node1. To enable IBFD wireless, SI has to be cancelled so that the overshadowed received signal can be recovered. Although some solutions have been proposed in the literature, their performance is not satisfactory.
In this paper, we target self-interference cancellation (SIC), the toughest issue in IBFD wireless. We propose a non-linear SIC solution based on deep learning. We have implemented this solution on a USRP SDR testbed and evaluated its performance in the real world with this prototype. In this work, we have answered three questions: (1) how to collect synchronized wireless channel information to train the deep learning model? (2) how to model a wireless channel with a deep neural network? (3) how to implement an open source SDR IBFD wireless framework to work in real world?.
In the rest of this paper, Section II reviews the background of IBFD wireless and literature solutions related to our work. Next, Section III presents the SI problem with a simulation, then formulates the theoretical foundation for digital SIC solutions, and describes the design of our deep learning SIC solution in details. Then, Section IV presents an open source SDR framework implementing IBFD wireless prototypes, followed by Section V summarizing the performance of our solution in the tests. This work is finally concluded in Section VI.
Ii Related Work
Since the first systematic study of IBFD wireless on a narrow band 
, several solutions have been proposed for IBFD wireless on larger bandwidths. These IBFD wireless SIC solutions can be classified into 3 different categories: (1) antenna cancellation, (2) analog cancellation and (3) digital cancellation.
In antenna cancellation, Bliss  showed that two transmission antennas are placed at designated positions with and + away from receiving antenna can cancel the SI power at its receiver, where is the wave length of the carrier frequency. Other solutions used directional antennas  or MIMO antenna  or single antenna design [6, 7], which can cancel up to 15 dB of SI.
As for analog cancellation, a team at Rice University presented a model to dynamically adjust the gains of and components of a signal as well as the delays to emulate an inverse of the transmitted signal, then add the emulated signals to the receiver signal processing chain, and thus suppress the SI [6, 8].
Digital cancellation can be further classified into linear digital cancellation and non-linear digital cancellation. Linear digital cancellation aims to cancel the deformed digital signals passing over the environment channel, while non-linear digital cancellation targets at cancelling non-linear cubic and higher order elements generated by radio circuits [7, 9]. A team at Stanford University designed an FIR filter to emulate the components of the line of sight signals, then used at modeled SI channel to emulate and generate the SI signals at a full duplex node . They also included a non-linear component in SIC by using a general model in the form of Taylor Series Expansion. Another work  proposed a pre-calibration-based cancellation technique that linearizes a transmitter and cancels SI with linear-only cancellation at a receiver, which basically, converted a non-linear problem to a linear problem and then solved it.
As far as the performance of IBFD wireless solutions is concerned, some works have reported that the channel capacity could be doubled on a single-hop link, while in mesh network the actual benefit of IBFD wireless may be effected by spatial reuse and asynchronous contention . Another works [7, 12] shows 1.87 times throughput improvement and 1.42 times capacity over a half-duplex system at a transmission power of 20 dBm. A recent work  shows that at a certain situation, IBFD wireless can double the downlink and uplink throughputs of static TDD. Another recent work reported a performance improvement by 30% to 66% compared to the 5G Dynamic TDD .
Iii Deep Learning Based Digital Self-Interference Cancellation
Iii-a SI Problem Formulation
Revisit Figure 1
where there are two full-duplex devices Node1 and Node2, and both of them can transmit (TX) and receive (RX) at same time and on the same channel. Suppose that Node1 wants to send a vector stream ofto Node2, while Node2 sends a stream of to Node1. How can we achieve this without dividing the channel into uplink and downlink two wireless sub-channels? Since RX1 will get the overwhelming power from TX1 as SI, while the power from TX2 is expected far less than SI assuming that both devices are using the same transmission level, what does the signal mixture of the SI and the received signal from TX2 will look like?
A simple test was designed to illustrate this problem vividly. We set up two USRP nodes as in Figure 1, one with both transmission (TX1) and receiving (RX1), and the other one only for transmission (TX2). They were placed one meter apart from each other. Both of them use the channel of 2.5GHz, while TX1 transmits the sequence , and TX2 transmits the sequence .
The left plot and the fight plot of Figure 2 respectively show the received signal powers at RX1 when TX2 is enabled and disabled. When only TX2 sends signals, the relative received signal power at RX1 is around dBm as shown on the right plot on the figure (2). When TX1 signals are enabled in addition to the signals of TX2, the relative received signal power of RX1 is gained to dBm as shown on the left plot, which means the signals on the same frequency from TX1 and TX2 mix together and result in the much higher received power at RX1. The interference problem of SI is clearly disasterous from this measurement.
Iii-B Theoretical Foundation of Digital Self-Interference Cancellation
To cancel the SI as shown in above section and recover the received useful signal from others, we propose a deep learning based digital SI cancellation. The basic concept of the digital SI cancellation is simply. Suppose that, at a wireless node, the self-transmitted signal passes through the SI channel and is transformed into at the receiver, and denote the received signal at the receiver that is a mixture of the SI signal and the useful signal from another node. The following formula (1) can be used to recover the useful signal . Since the system knows of its self-transmitted signal to the SI channel and the received mixture signal , the key challenge to recover the useful signal is to compute the SI based on the known signal .
One observation is that the self-transmitted signal can be decomposed as the sum of different impulse signals as below:
Denote the impulse response of SI channel, then the SI signal can be calculated as:
beforehand. Therefore, what we can do is to estimate the SI channel responseas accurate as possible, which is used to replace the real impulse response in estimating the SI signal as below where refers to the number of taps:
to get as recovered useful signal.
To demonstrate the feasibility of the digital cancellation concept, a simulation was performed on a GNU Radio SDR platform, whose framework was implemented as in Figure 4. There are two digital vector sources: useful signal being , and the SI signal vector , as shown on the top plots in Figure 4, Both of them use the QPSK modulation but pass through different simulated channel models of , which are determined by the settings of taps. The taps of the useful signal wireless channel are , while the taps in the SI channel are , and the estimated SI channel taps are . After passing through channel models, all of those three streams go into Decimating FIR filters, which will be described in Section IV). Then the first time sink receives , the second time sink receives , the third time sink receives , and the last time sink gets the recovered signal by using formula (6).
The simulation result shown on the bottom plots in Figure (3) indicates that, even though the estimated SI channel response is not completely the same as , the recovered signal (on the right bottom plot) is actually very similar to the useful signal (one the left top plot), in that the real and image parts of those signals have very similar shapes, and the relation between the real and image numbers of signal I-Q phases is almost kept. This result proves that if are estimated accurately, then can be recovered from , even if is severely polluted by the SI signal .
Iii-C Deep Learning Digital Cancellation
As discussed above, the core of digital SI cancellation is to estimate the SI channel response . Rather than modeling and estimating the SI channel with traditional wireless channel models as most of literature solutions do, we propose to model the SI channel response with a deep neural network (DNN).
Iii-C1 SI Channel Modeling with DNN
A DNN model is introduced to estimate the SI channel and its structure is shown in Figure (5).
Input and Output
In this DNN model, the input is denoted as , and the output is referred as . Instead of modeling the SI channel as a one-to-one mapping, we model it as a many-to-one DNN, because the many-to-one model has a similar structure to an FIR filter. Considering Formula (5), to estimate , we need to compute the sum of , where varies from to , which means that every output of the SI channel not only relates to the current input , but also previous samples of .
), this DNN has 2 hidden layers, each of which is followed by an activation functionor
. The activation function enables the channel modeling a non-linear structure. We choose the Relu function for bothand . It should be noted that there is no activation function after the last layer, because the DNN is used to compute mapping values, whose range could be any possible rational number, and it doesn’t need something like Softmax or any other classification function. The first linear block takes input signals and generates an output of dimensions, where can be seen as the size of FIR filter taps and means how many samples are related to output sample. Then the second linear block takes input signals and generates an output of dimensions, and the last linear block takes the signals and output a value of dimension. In each linear block, the weight matrix and tge bias matrix are respectively denoted as and , where is the layer number in the DNN. Denote the output of linear block, the output of an activation function is referred as . As a result,
We choose the Mean Square Error (MSE) as the loss function, because the difference between an estimateand the real could be an either positive or negative number. The optimization goal of this DNN model is to generate the as similar as possible to . As a result, the optimization during the DNN training is formulated as:
where is the mini-batch size of training data and is an output of the DNN, which estimates the SI channel output, and is a collected real SI sample coming through the SI channel. Each parameter of the DNN network such as and
will be updated through back-propagation in every epoch by deviating this loss function.
Iii-C2 DNN Training
To train this DNN, we need to construct a training dataset to be in the dimension of due to the input dimension is , where is total number of samples in training dataset. To achieve this, a recurrent scheme is employed to generate samples for each input. For example, suppose the input samples are , and equal to 3, the dataset is constructed as below :
Then a training mini-batch is generated by randomly selecting a mini-batch size number of rows from the dataset. The benefit of using mini-batch to feed data is the faster and more stable convergence of loss function compared to using one sample at one time, because the loss derivation takes more than one samples so that any exceptional sample will only have little impact on the direction of convergence.
Iii-D Depp Learning Digital Cancellation Framework
With the SI channel modeled by a DNN discussed above, our proposed dee learning digital cancellation framework, as illustrated in 7, includes: (1) SI channel probing, (2) SI channel data collection, (3) DNN SI channel model training, and (4) DNN model data loading for digital cancellation, which are presented in details in the following.
Iii-D1 SI Channel Probing
The first step of our design is to probe the SI channel. In this period, an IBFD wireless node sends designated probing signals or vectors from its transmission chain while its receiver chain senses what is received. The designated probing signals will pass the SI channel and transform to unknown received SI signals denoted by .
Iii-D2 SI Channel Data Collection
Following the SI channel probing, the framework collects and records the and components of both the probing complex signals and the received SI signals . Both of them are baseband complex signals, and their and components comprise constellation points on a modulation constellation map.
Iii-D3 DNN SI Channel Model Training
Iii-D4 Loading for Digital Cancellation
After the DNN SI channel model is sufficiently trained, the trained model is loaded into the receiver chain. In IBFD wireless communication later, this trained DNN channel model estimates the SI signal according to the Formula (7). Meanwhile, the receive chain recovers the received useful signal based on Formula (5) with the SI signal estimated by the trained DNN SI channel model.
Iv Prototype Implementation
To perform the assessment in real world, we have implemented our solution into a SDR prototype testbed of GNURadio and two USRP X310 nodes.
Iv-a Prototype Architecture
The architecture of our prototype is illustrated in Figure 8 showing how GNURadio and USRP operate together. GNURadio is the software that can customize the wireless radio and works with UHD, the USRP node driver. USRP X310 nodes are generic SDR hardware. To implement our solution to work in the real world, several challenges are confronted.
Iv-B Modulation in Gnuradio
The first challenge is in modulation. To achieve a higher data transmission rate, modulation functions should be implemented. The Modulation block in GNURadio takes byte stream as input, and output complex samples. If we want to apply our design on those complex samples, we have to design a way transforming message data from byte stream to those complex samples.
Iv-B1 Constellation Mapping
In GNURadio, the first block in Modulation is the Constellation Mapping block, which takes bits, where , and is number of constellation points, and generates output pulse of In-phase (I) and Quadrature (Q) signals. Suppose the input is a char , which takes one byte in a bit sequence of . Take QPSK as example, in this case, and , if the constellation map is designed as Figure (9(a)). Every time only two bits of the bit sequence are modulated, i.e. to , to , to and to . As a result, the modulated complex sequence is for this bit sequence as shown in Figure (9(b)).
Iv-B2 Up-sampling and Pulse shaping
After symbols are generated as shown in Figure (9(b)), they are processed with up-sampling. The up-sampling ratio depends on a sample-per-symbol parameter. For example, an up-sampling ratio of 4 means every symbol is represented by 4 samples. Noted that a sample in digital informtion is a sampling point in a continuous signal. Since square pulse has large ISI, a pulse shaping filter follows up-sampling, which is a root-raised-cosine filter to reshape the pulse to transmit in the channel. This filter results in a better frequency domain response, and it achieves ISI in theory when two root-raised-cosine filters are combined together as one raised cosine filter as in Equation (9). Figure (9(c)) shows what I/Q samples look like after up-sampling and pulse shaping. Those samples are then the exact inputs to the SI channel, and are what we need to collect.
Iv-C Synchronized Data Collection
The second challenge to the prototype is how to synchronize the collected channel data. It is very difficult to collect synchronized input signals to SI channel and their corresponding output signal from the SI channel because there is a random delay in the signal processing chain of USRP hardware. Collecting the input signals to the SI channel data starts as soon as the program starts. However, the output signal from the SI channel data to be collected by the receiving chain of the USRP node is randomly delayed. This delay can be host and USRP communication delay or driver communication delay.
As for the USRP random delay problem, researchers have presented a method to address this issue by calculating the barker code correlation . A barker code is added at the head of every source signal sequence. At a receiver, once if the receive chain has all barker codes in its buffer, it can extract a synchronized signal. We have implemented a bark code based frame synchronization block tin GNURadio, to identify a synchronized signal in the frame synchronization block by inserting a probe function in main stream of GNURadio signal processing chain.
Iv-D Loading Module
Another implementation challenge is about loading the DNN model for digital cancellation, because there is no deep learning module in GNURadio. After we collect synchronized SI channel input and output data and train the DNN channel model, we save all of the DNN parameters such as and
into a dictionary data structure. The DNN model is implemented in Pytorch, but a loading module block is created in GNURadio to load the trained model parameter dictionary, and the known input signal is forwarded to this model to generate an estimated. Algorithm 1 below shows the implementation of loading and SI cancellation.
We have conducted extensive performance evaluation of our solution with the implemented prototype in real world.
V-a DNN Loss Convergence
First, we have tested various DNNs with different to see the impact of the input size on the DNN parameter convergence. Figure 11 shows the convergence dynamics of the MSE loss with =2, 20, 50 and 100 respectively. Because each byte contains bits, every bits are modulated into a QPSK symbol, and each symbol is represented by samples, samples consequently are needed to represent one byte. Therefore, any sample size smaller than 16 does not contribute to the learning. This is why the sample size gives nothing for the network to learn as illustrated on the figure. When the sample size is larger than , the DNN learns something as shown in Figure 10(b). With the taps size increased to , the loss convergences very quick and stays at a very low level, which means the DNN model can generate a predicted SI very close to the real SI .
V-B SI Estimation and Cancellation
We have then tested the performance of the DNN channel model in estimating the SI after the training. Figure 12 shows the difference between the real SI signals and the estimated SI signals. The difference is smaller than 0.02, which means this solution can cancel at least , and the average performance is .
V-C Bit Error Rate with SI Cancellation
Further experiments have been conducted to assess the impact of various modulations on the bit error rate in four environment settings: Room1, Room2, Outdoor, and Hallway. We transmit a vector stream in transmission chain with three types of modulations (QPSK, 16PSK, and 64PSK) at the USRP node1, then cancel the SI in GNURadio with the trained model, next demodulate the complex signals after the SI cancellation to get the vector stream transmitted by the USRP node2. After that, the reconstructed vector stream after the SI cancellation is finally compared with the original vector stream sent by the USRP2 node2 to calculate the bit error rates. These experiments have been repeated for many times in each of the four scenarios, and the average bit error rates are calculated as shown in Table I.
From the data in the table, the outdoor environment yields the best performance with our solution. The worst result is in the hallway, which indicates multi-path fading has a large impact on the performance. Another observation is that the performance degrades as the modulation level increases, which matches to the expectations that lower modulation level is more robust to transmission errors.
In this work, we propose a novel non-linear digital cancellation method based on deep learning to achieve IBFD wireless. This solution first probes the channel to collect SI channel data, which are used to train the SI channel DNN. The trained parameters are used to estimate the SI for cancellation in the realtime communication. We have implemented this deep learning SI cancellation solution into a GNURadio prototype testbed with USRP nodes. The extensive performance evaluation shows that (1) the deep learning approach is feasible to achieve very high accuracy in digital cancellation, (2) the proposed deep learning model has a fast and stable convergence in the training, (3) the deep learning solution can work across various modulations in different environments. As other signal processing modules such as error coding are added, it is reasonable to expect better performance.
This material is based upon work supported by the National Science Foundation under Grant No. #1726017.
-  S. Chen, M. Bench, and J. McGeehan. Division-free duplex for wireless applications. IEEE Electronics Letters, (34):147–148, 1998.
-  Dongkyu Kim, Haesoon Lee, and Daesik Hong. A survey of in-band full-duplex transmission: From the perspective of phy and mac layers. IEEE Communications Surveys & Tutorials, 17(4):2017–2046, 2015.
-  D. W. Bliss, P. Parker, and A. R. Margetts. ”simultaneous transmission and reception for improved wireless network performance. In Statistical Signal Processing, pages 478–482. IEEE/SP 14th Workshop on, Aug. 2007 2007.
-  K. Haneda, E. Kahra, S. Wyne, C. Icheln, and P. Vainikainen. “measurement of loop-back interference channels for outdoor-to-indoor fullduplex radio relays,” in proceedings of the fourth european conference on antennas and propagation eucap. In Proceedings of the fourth European Conference on Antennas and Propagation EUCAP, 2010.
-  Ehsan Aryafar, Mohammad Amir Khojastepour, Karthikeyan Sundaresan, Sampath Rangarajan, and Mung Chiang. Midu: Enabling mimo full duplex. In Proceedings of the 18th annual international conference on Mobile computing and networking, pages 257–268. ACM, 2012.
-  M. Duarte and A. Sabharwal. Full-duplex wireless communications using off-the-shelf radios: Feasibility and first results. In Forty-Fouth Asilomar Conference on Signals, Systems, and Components, 2010.
-  Bharadia, Dinesh, McMilin, Emily, Katti, and Sachin. Full duplex radios. SIGCOMM Comput. Commun. Rev, 43(4):375–386, Aug 2013.
-  M. Duarte, C. Dick, and A. Sabharwal. Experiment-driven characterization of full-duplex wireless systems. CoRR, 2011.
-  Ramez Askar, Thomas Kaiser, Benjamin Schubert, Thomas Haustein, and Wilhelm Keusgen. Active self-interference cancellation mechanism for full-duplex wireless transceivers. In Cognitive Radio Oriented Wireless Networks and Communications. IEEE, June 2014.
-  Min Soo Sim, MinKeun Chung, Dongkyu Kim, Jaehoon Chung, Dong Ku Kim, and Chan-Byoung Chae. Nonlinear self-interference cancellation for full-duplex radios: From link-level and system-level performance perspectives. IEEE Communications Magazine, 55(9):158–167, 2017.
-  Xiufeng Xie and Xinyu Zhang. Does full-duplex double the capacity of wireless networks? In INFOCOM, 2014 Proceedings IEEE, pages 253–261. IEEE, 2014.
-  Sanghoon Kim and Wayne E Stark. On the performance of full duplex wireless networks. In Information Sciences and Systems (CISS), 2013 47th Annual Conference on, pages 1–6. IEEE, 2013.
-  Osama Al-Saadeh and Ki Won Sung. A performance comparison of in-band full duplex and dynamic tdd for 5g indoor wireless networks. EURASIP Journal on Wireless Communications and Networking, 2017(1):50, 2017.
-  Andriyan Bayu Suksmono. A simple solution to the uncertain delay problem in usrp based sdr-radar systems. arXiv preprint arXiv:1309.4843, 2013.