Design and implementation of AD9361-based software radio receiver

Abstract Existing software radio platforms constructed by discrete devices have many disadvantages, such as high power consumption, high cost, and poor portability. In this study, an AD9361-based software radio communication system was designed on the basis of the zero-IF bandpass sampling software radio structure to solve the poor universality and expansibility problem of traditional software radio receivers. In the AD9361-based software radio communication system, the influences of channels on received signals and the inter-symbol interference caused by the multipath configuration are offset and eliminated by the minimum mean-squared error (MMSE) equalization algorithm. The simulation analyses on the core functions, including group detection, frame synchronization, channel estimation, and frequency-domain equilibrium, of the designed receiver was performed by ModelSim. The receiving functions of the software radio were realized by the core radio frequency (RF) board of AD9361 and the digital baseband development board of ZC706. The signal frequency spectra received and sent by the designed receiver overlap on the basis of the joint debugging and testing of the RF and digital baseband modules. Test results demonstrate that the designed software radio receiver has a reasonable structural design and can meet the design requirements in terms of overall performance. Additionally, the repeated development process of traditional software radio receivers is simplified, and the integration level and expansibility of the system can be improved. The results can provide valuable references for the development of universal software radio receivers.

section_content: Software radio has overcome the disadvantage that previous communication platforms with different communication functions and frequency bands cannot communicate mutually. Existing software radio platforms are constructed by discrete devices, which are constrained by high power consumption and high cost. This situation not only requires technicians to be experienced in hardware design and radio frequency (RF) signal processing, but it also poses high access requirements for software. Given the coexistence of 3G and 4G communication standards, and even that of 5G, there are multiple frequency bands around the world. Traditional software radio designs require different hardware platforms to support varied communication protocols and frequency bands, and they require long development periods and high design costs. 

Andrews et al. [1] suggested the use of a mixer as the first-level structure of a software radio to reduce noise at the cost of power with the supply voltage of the baseband low-noise amplifier increased. Murphy et al. (2012) put forward the use of a noise-canceling technology as the software radio structure. Useful signals were enhanced by increasing the auxiliary channels and offset noises at the output terminal, thus improving the noise reduction capability and the overall performance of the software radio system [2]. Zhang et al. propounded a software radio technique that can eliminate the spatial incident angle interference and frequency interference in signal filtering [3]. Loubser and Swart [4] encoded two existing CR-specific media access control protocols by using a CR-specific simulator. Kamaleldin and Ahmed put forward that hardware platforms of software radio system which support many wireless standards could be realized by dynamical program reconfiguration [5]. Marwanto et al. [6] proposed ARDUINO UNO and X-Bee technologies for software radio systems to reduce the costs of spectrum exchange information based on OFDM. Sahoo et al. propounded a multichannel finite impulse response filter for software radio, which can reduce power consumption effectively by the launcher umbilical tower, and can be applied to software radio systems with multichannel filter efficiently [7]. 

Tsinghua University (2014) completed a chip for software radio receivers in the working frequency band of 0. 1-5 GHz. Qin and Wang et al. constructed a radio communication system platform in Matlab and a universal software radio peripheral to increase the utilization of spectrum resources. Spectrum sensing and available spectral bandwidth estimation of signals of master users were obtained by performing an energy detection method. Thus, spectrum detection was realized, and a set of judgment criteria was provided for the spectral access of secondary users [8]. Xu and Yu designed and completed a fault prediction software platform for an airborne software radio system by analyzing its structure [9]. Cui [10] designed a communication terminal for the time-hopping spread spectrum of the TDMA system based on the software radio concept, realized the single-channel launching and multichannel reception of RFs, and accomplished the design of RF modules and their link terminals. Zhang et al. [11] designed a monitoring system over interferences and multipath in the signal bands and adjacent frequencies of current four navigation systems based on software-defined radio concept. Yin and Cheng [12] built a new hardware design program for the software radio processing platform with high-performance and low power consumption based on the requirements of special radio communication systems with low power consumption. 

Extant studies have reported that software radio systems are generally limited by their structures. Studies based on AD9361 RF modules and processing modules of SOC digital basebands remain underexplored. Covering most bands with the charter and license-free bands, the working frequency range of AD9361 is from 70 MHz to 6. 0 GHz. The supported channel bandwidth is from less than 200 kHz to 56 MHz. With the RF front end and the baseband of the flexible mixed signal integrated, AD9361 provides a configurable digital interface for the processor and integrates frequency synthesizer, thus simplifying the import of the design, which can achieve lower noise and higher accuracy of modulation with the high programmability. In this study, an AD9361-based software radio structure was constructed by using the broadband zero-IF bandpass sampling software radio structure. The corresponding software radio receiver was designed, which achieved many core functions, such as group detection, frame synchronization, channel estimation, and frequency-domain equilibrium. The results can provide new universal platforms and methods for software radio receivers.
section_name: Introduction

section_name: Methods

section_content: The software radio system is mainly composed of RF module and digital baseband processing module. The RF module converts RF analog signals to baseband digital signals and vice versa, and it facilitates RF receiving and transmitting. The communication protocol in the physical layer is realized by the digital baseband processing module, which ensured signal encoding/decoding, and facilitated modulation and demodulation [13]. The structure of the software radio system is shown in Fig. 1.
section_name: Structure of software radio system

section_content: The receiving terminal of the software radio performs group detection, frame synchronization, channel estimation, frequency-domain equilibrium, RS decoding, inverse mapping, and so on. In the main signal processing of the digital baseband receiving module, the first step is to conduct group detection, followed by signal synchronization and channel estimation based on training sequences. Then, signals are balanced on the basis of data from channel estimation to compensate for the frequency-selective fading of signals caused by multipath transmission. Finally, RS decoding and 16QAM demodulation are accomplished. The structure of the software radio receiver is shown in Fig. 2.
section_name: Implementation of software radio receiving terminal

section_content: AD9361 is composed of the 2 × 2 transceiver, the configuration interface of Serial Peripheral Interface (SPI), the AUXADC, internal PLLs, the programmable GPO, and the data bus of 2 × 12 bits which can be configured as differential or single terminal. Each transmitting and receiving channel of AD9361 is independent. The two receiving channels are composed of lownoise amplifier, mixer, amplifier, filter, and ADC. The two transmitting channels are composed of DAC, filter, amplifier, low-noise amplifier, and mixer. The configuration interface of SPI is compatible with the standard mode of four lines. The structure of AD9361 is shown in Fig. 3.
section_name: The structure of AD9361

section_content: Group detection is performed by using the leading structure. The circuit used for group detection is shown in Fig. 4, which is designed and realized according to the circuit procedure [14]. 

The value of delay correlation C n is:

where r n is the received signal, and C n is the mutual correlation between the currently received L data and the L data received before D. 

The value of received signal energy P n is:

The decision variable m n of the delay correlation algorithm is:

The value of m n for group detection can be determined by the leading structure when the signal-to-noise ratio (SNR) is 15 dB. A value of C n approaching 0 indicates that effective data transmission has not been achieved and only noise exists. Parameter m n begins to increase with the occurrence of the secondary short-training symbol and begins to decrease when the ninth period is reached. 

A simulation on the basis of the ModelSim platform is conducted. The simulation results of group detection are shown in Figs. 5 and 6. 

DataInRe and DataInIm are the real part and imaginary part of the current data, respectively. SumMagnitude is the sum of relevant window energies, and SumDelay-Correlation is the sum of correlation coefficients of relevant windows. BufferForDetection represents the initial judgment samples of 32 continuous groups, and Buffer-ForDetection represents the judgment samples at the end of 48 continuous groups. As shown in Figs. 4 and 5, SumMagnitude and SumDelayCorrelation are immediately calculated after a system reset and when the effective signal of the grouping detection elevates. When 32 samples are detected continuously, data grouping of judgment arrives. When the SumMagnitude of the 48 continuous samples is smaller than the threshold, the data grouping is completed.
section_name: Group detection

section_name: Frame synchronization

section_content: Fig. 1 The structure of the software radio system. The software radio system is mainly composed of an RF module and a digital baseband processing module Fig. 2 The structure of the software radio receiver. The receiving terminal performs group detection, frame synchronization, channel estimation, frequency-domain equilibrium, RS decoding, and inverse mapping Fig. 3 The structure of AD9361. The whole circuit of RF and IF signals is integrated into one chip by adopting zero-IF architecture, which is composed of the transceiver, the configuration interface of SPI, the AUXADC, the internal PLLs, the programmable GPO, and the data bus Fig. 4 Circuit procedure for group detection. Group detection is performed by using the leading structure. C n is the mutual correlation between the currently received L data and the L data received before D. P n is the value of received signal energy. m n is the decision variable of the delay correlation algorithm symbols [15]. Cross-correlation coefficient C k can be expressed as:

where the superscript * is a conjugation, and D is the length of the cross-correlation coefficient, which is determined to be 16 DataInRe and DataInIm are the real part and imaginary part of input data, respectively. DataInEnable is the enable signal of input data, and PCouter is the number of detected peaks. First, quantization is implemented when the data to be synchronized arrives. Then, the correlation is calculated on the basis of the 16 local short-training symbols, and the moment at the ninth peak is viewed as the end point of the short-training symbols. Finally, longtraining symbols and data symbols are designated with serial output according to the output format with the cyclic prefix eliminated at the same time. As shown in Fig. 7, DataOutEn is the effective time for outputting one symbol denoted as 1 and 2 successively which calculates from the long-sequence, with the data symbols started from 3. This scheme is viewed as one cycle of output data.
section_name: The frame synchronization of signals requires the calculation of the cross-correlation coefficient between the received data groups and the locally known short-training

section_content: Channel estimation is first performed to estimate the received signals from the time domain, according to which the estimation of frequency domain can be easily obtained [16]. Then, the received signals of the estimator can be expressed as:

where h(t) is the impulse response, r(t) represents the received signals, s(t) denotes the theoretically received

The estimation of the channel frequency response of the frequency domain can be deduced directly from the time domain. Channel frequency response H(jω) is estimated by using r(t), and the inverse channel system ĤðjωÞ is constructed by using H(jω). Therefore,

where ĤðjωÞ ¼ 1 HðjωÞ. Channel estimation is realized by the unique words (UW) inserted into the data sequence. If UW is {x m } with a length of P, then the channel frequency response Ĥk can be estimated by FFT from the transmitting sequences {x m } and {y m } to {x m } and {Y m }. 

The corresponding time-domain discrete signal {h m } can be initially obtained from the IFFT operation of Ĥk at the point P, where P denotes the length. Then, the zero-padding operation of {h m } is performed, thus obtaining the {h m } of the point M. Finally, the frequency response value Ĥk is acquired from the FFT operation of {h m } of the point M. 

The frequency domain is calculated on the basis of the time domain as part of the channel estimation. The received signals can be expressed by the Y = XH + V matrix as follows:

where

] T, and H = [H(0), H(1), …, H(N p -1 )] T. N p is the number of UW. The first-order derivative and the second-order derivative of J LS for H are calculated as follows:

The minimum can be derived from Eq. ( 11 ). If Eq. ( 11 ) is 0, then:

Thus, the estimated value denoted by ĤLS can be expressed as:

where n is the estimation error, and n = X -1 V. The simulation results of channel estimation based on the Model-Sim platform are shown in Fig. 8. DataInRe and DataInIm are the real part and imaginary part of input data, respectively. DataInEnable is the enable signal of input data, and ChannelcoeEnable is the enable signal of output data. ChannelcoeIm and Chan-nelcoeRe are the real part and imaginary part of output channel estimation, respectively.
section_name: Channel estimation

section_content: Frequency-domain equilibrium is performed to offset the effects of channels on the received signals. Here, the minimum mean-squared error (MMSE) equilibrium Fig. 7 The simulation diagram of frame synchronization. The simulation results of frame synchronization. DataOutEn is the effective time for outputting one symbol, which calculates from the long sequence algorithm is applied as the frequency-domain equilibrium [17]. 

Suppose that the set of transmitting data is denoted by s (s = [s 0, s 1, …, s N -1 ] T ), N is the number of FFT points (h = [h 0, …, h L -1. 0, …, 0] T ), and L is the length of impulse response. Then, the received signal vector is r = [r 0, r 1, …, r N -1 ] T. Accordingly,

where ⊗ is the cyclic convolution, and v = [v 0, v 1, …, v N -1 ] T is the channel noise. On the basis of the FFT of Eq. ( 14 ),

where H k ¼ P L-1 m¼0 ðh m e -j2πkm=N Þ, and R k, S k, H k, and V k are the frequency domain values of received signals, transmitting signals and channel impulse response function, and additive white Gaussian noise. 

If the equilibrium coefficient is W k, then the frequencydomain output after equilibrium is:

According to its definition, the mean square error (MSE) after the equilibrium can be deduced. 

Suppose that σ 2 N is the noise power on the frequency domain and σ 2 S is the signal power on the frequency domain, then:

On the basis of Eq. ( 18 ) and Eq. ( 19 ), the following can be derived:

where F k uses the lower limit value based on the condition of argW k H k = arg 1 = 0. 

If the lower limit of F k is y, then the minimum y should be calculated, such that:

To derive the minimum of y:

Given that

. In Eq. ( 24 ), 0 ≤ k ≤ N -1 and SNR denotes the signal-to-noise ratio of the transmitting terminal. 

The simulation of signals based on the MMSE algorithm is conducted in Matlab. The following parameters are included:

Multipath channel: the corresponding power of the SUI. 3 channel model is [0, -5, -10 dB]; Modulation mode: 16QAM; The hardware implementation block diagram of channel equalization module based on FPGA is shown in Fig. 9. 

SC-FDE symbols in the time domain are read from "buffer of RX frame sample" by the channel equalization module and sent to the FFT module to calculate the frequency domain values of SC-FDE symbols. 

Frequency domain values are read from "buffer of CSI" by the CSI_ACQ module, which can complete the integration of corresponding samples meanwhile. 

With the complex multiplication of the corresponding sample points completed by the FDE_CORE module, the frequency domain equalization is achieved. 

Meanwhile, with the subsequent IFFT_256 module controlled by the FDE_CORE module, the sample points in the frequency domain after the equilibration are restored to the time domain and stored in the symbol buffer of SIG domain and the time buffer of DATA domain, respectively. 

The simulation results of the channel equilibrium based on the ModelSim platform are shown in Fig. 10. 

DataInRe and DataInIm are the real part and imaginary part of the input data, respectively. DataInEnable is the enable signal of input data. DataOutRe and DataOutIm are the real part and imaginary part of output data, respectively.
section_name: Frequency-domain equilibrium module

section_content: The design procedures of the RS decoder are as follows:

1. The adjoint polynomial s(x) of RS codes is calculated from the receiving codes. 2. The error position polynomial a(x) and error value polynomial δ(x) are solved by an adjoint polynomial. 3. The error position can be acquired by using the Chien searching method to calculate the roots of error location polynomials. 4. The error magnitude corresponding to each error location can be obtained from the error value polynomial by using the Fomey algorithm, namely C(x) = R(x) -E(x). 5. After decoding, the adjoint formula of the codeword is calculated again, and the adjoint formula is determined by detecting whether the adjoint formula is zero or not. 

According to the above procedures, RS decoder should include four parts: the adjoint polynomial calculation module, the key equation solving module, the money search module, and the Fomey algorithm module [18]. 

Specific procedures of RS decoding design are as follows:

1. Solving the adjoint polynomial of RS decoding. The parameters of RS (255, 191)

The generating polynomial of RS (255,191) is as follows:

The RS is solved by using a, a 2, a 3, …, a 32, in which R(x) = r 0 + r 1 x + r 2 x 2 + … r n -1 a (n -1). The 32 adjoint expressions of RS (255,191) codes are acquired, namely s 1, s 2, s 3, …, s 32. 

2. Solving the error position polynomial. Firstly, the error location polynomial δ(x) is obtained, then the error location polynomial and the error value polynomial are obtained. The error location polynomial δ(x) can be defined as:

The error location is θ 1. … θ t. The right part of the expansion equation is simplified as follows:

The error location polynomial is acquired:

3. Solving the error position. The error location of receiving polynomial R(x) = r 0 + r 1 x + Λ + r n -2 x n -2 + r n -1 x n -1 is acquired according to the root of δ 1 x. 

4. Ascertaining the error pattern E(x) and the polynomial of c(x). The error value polynomial is defined as follows: ω(x) = S(x)δ(x), which is simplified as follows:

The following equations can be verified. 

The error value polynomial ω(x) = ω 1 x + ω 2 x 2 + ω t x t can be obtained if

Here, x j is the root of the Chien searching method. The final actual code C(x) is obtained with E(x) and the receiving code R(x) superposed. As is shown in Figs. 11 and 12, the output of RS encoding is used as the input of RS decoding data. The input is as follows: (1, 2, 3, …, 190, 191, 204, 5, 85, 10, 239, 109, 76, 117, 180, 235, 220, 44, 210, 158, 235, 68, 138, 211, 46, 185, 196, 249, 194, 92, 219, 237, 254, 229, 151, 239, 246, 19, 26, 219, 66, 100, 210, 157, 6, 208, 187, 169, 68, 168, 78, 28, 34, 163, 42, 134, 149, 43, 0, 88, 70, 90, 93, 129, 173, 131, 235, 192, 66, 34). If the output data of RS decoding is the input of RS encoding, the output is correct. Namely, the output is (1, 2, 3, …, 190, 191). As is shown in Fig. 13, the RS decoding decodes the encoded data. The RS encoding is correct. 

2. 9 16QAM demodulation module RS decoding is followed by the 16QAM demodulation. With the orthogonal coherent demodulation method applied, the signal is judged, detected, and converted in series and parallel, and the final output is generated. 

The expressions of demodulated I branch and Q branch are shown in Eq. (33). 1 2 X k, and 1 2 Y k filtered by the low pass filter, the output of 16QAM demodulation is obtained. The expression is as follows:

The constellation of the 16QAM modulation is shown in Fig. 15, and its mapping output value is d = (I
section_name: RS decoding

section_content: With the AD9361 used as the RF module, ZC706 applied as the digital baseband processing module of SOC, and ZC706 utilized as the ARM+FPGA framework, the hardware platform of the software radio system is built. The physical connection between AD9361 and ZC706 is shown in Fig. 15. The AD9361 board card and the ZYNQ ZC706 development board are connected by FMC. A spectrum analyzer is used as the tester of the transmitting and receiving terminals during the system test. The accuracy of the system test is evaluated by observing the frequency spectra. 

Joint testing is performed for the designed software radio receiver, which is based on the hardware platform of AD9361. The test framework of the receiving terminal AD9361 is set as the working modes of 1R1T, LVDS, and TDD. The ADC frequency is set as 13 MHz, and the local frequency is set as 1. 435 GHz, which can be displayed through the spectrum analyzer. The frequency spectra at the receiving terminal are shown in Fig. 17. 

Joint testing is also performed for the transmitting signals and the receiver, with the transmitting and receiving frequency spectra examined, which are shown in Fig. 18. 

As shown in Fig. 16, the transmitting frequency spectrum is located in the upper position, while the receiver frequency spectrum is located in the lower position. The overlapping of the frequency spectra of the transmitting signals and receiver indicates the consistency of parameters between the transmitting and receiving signals. Therefore, transmitting signals are received accurately. 

In this study, a joint experiment of RF module and digital baseband processing module is carried out. The experiment is carried out by two modules combined with a signal source and a spectrum analyzer. But there is no video display part and signal compression part, which can be added to the system to promote the applications in our future research.
section_name: Experiment results and discussion

section_content: An AD9361-based software radio system was designed by using AD9361 as the hardware platform. The receiving Fig. 16 The test framework of the receiving terminal. The test framework of the receiving terminal. Joint testing is performed for the designed software radio receiver, which is based on the hardware platform of AD9361 Fig. 17 The frequency spectra at the receiving terminal. AD9361 is set as the working modes of 1R1T, LVDS, and TDD. The ADC frequency is set as 13 MHz, and the local frequency is set as 1. 435GHz function is realized, with the modules for group detection, frame synchronization, channel estimation, and frequencydomain equilibrium designed. Finally, the results of the software radio receiver were optimized and verified. The major conclusions from this study are as follows:

1. The single-carrier frequency domain equilibrium is applied on the digital baseband physical layer, which is optimized on the basis of the SC-FDE communication protocol. Then, the receiving function on the basis of the software radio receiver is realized by using the optimized communication protocol. The system can effectively resist the frequency-selective fading of channels, thus achieving high-rate and large-capacity communication transmission. 2. Peak to average power ratio and the sensitivity to the phase noise are decreased by the MMSE equilibrium algorithm, thus enhancing the resistance against multipath interference. 

The AD9361-based software radio receiver presented in this study has a reasonable structure, and its performance indexes are satisfactory. The proposed system can effectively increase the communication speed and capacity, remarkably ameliorate the reduction of signal quality caused by multipath fading, and excellently offset the poor universality and expansibility of traditional radio receivers. The results of this study can serve as a useful reference in the development of next-generation universal software radio receivers.
section_name: Conclusions

section_name: Acknowledgements

section_content: This work was supported by the Project of Science and Technology of Shaanxi (No. 2018GY-151 ).
section_name: Acknowledgements

section_name: Funding

section_content: This work was supported by the Project of Science and Technology of Shaanxi (No. 2018GY-151 ).
section_name: Funding

section_name: Availability of data and materials

section_content: The authors declare that all the data and materials in this manuscript are available.
section_name: Availability of data and materials

section_name: Authors' contributions

section_content: The contributions of all authors are equal in this manuscript, and all authors read and approved the final manuscript.
section_name: Authors' contributions

section_content: Feng Tian is currently an associate professor of College of Communication and Information Engineering, Xi'an University of Science and Technology. Hanqing Li is currently pursuing an MS degree at the College of Communication and Information Engineering, Xi'an University of Science and Technology. Liangchen Yuan is currently pursuing an MS degree at the College of Communication and Information Engineering, Xi'an University of Science and Technology.
section_name: Authors' information

section_content: The authors declare that they have no competing interests.
section_name: Competing interests

section_content: Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations. 

Received: 14 January 2019 Accepted: 28 March 2019
section_name: Publisher's Note