Samer Baher Safa Hanbali
©SHUTTERSTOCK.COM/ITANA
Prototype wireless communication systems can be designed using discrete components, e.g., a low-noise amplifier (LNA), a power amplifier (PA), mixers, filters, frequency synthesizers, an analog-to-digital converter (ADC), a digital-to-analog converter (DAC), etc. Different circuit boards have to be designed, fabricated, assembled, tested, and connected with wires. Consequently, iterating on these prototypes will increase the overall cost, size, power consumption, and complexity of the system. In contrast, software-defined radios (SDRs) integrate multiple functional blocks on a single microchip to reduce the cost, size, and power consumption. Furthermore, SDRs combine both digital processing and analog radio frequency (RF) to offer more flexibility to be reconfigured and controlled. Therefore, SDRs achieve more frequency- and bandwidth-flexible RF design, which enables the seamless transmission and reception of data. In addition, the ease of use and reduced expense of SDRs permit students to own the portal equipment. This increases student engagement through hands-on experiential learning.
SDR is a new trend in wireless communications in which the system parameters are mostly defined and reconfigured by software. There are two approaches for SDR. In the first approach, the computer performs most of the digital signal processing, and the field-programmable gate array (FPGA) does few tasks. In the second, the FPGA performs most of the digital processing, and the computer displays the results and does few tasks. It is easier to implement advanced algorithms using the first approach than when the second one is used. On the other hand, the second approach needs a lower data transfer rate between the FPGA and the computer than former.
Many developers have used GNU Radio software and Universal Software Radio Peripheral (USRP). GNU Radio is a free open source software development tool kit. This tool kit has a growing list of functions, and it can be used with different SDR hardware. The popular RTL-SDR USB radio stick is cheaper than USRP, but it operates only as a receiver. In contrast, ADALM-PLUTO (PlutoSDR) has full transceiver implementation at an affordable cost. Furthermore, ADALM-PLUTO is supported by various software environments, e.g., Python, GNU Radio, MATLAB, Analog Device’s IIO Oscilloscope, and Airspy’s SDR#. The Communications Toolbox from the MathWorks provides MATLAB functions for transmitter and receiver blocks for the ADALM-PLUTO. IIO Oscilloscope is an application that controls the ADALM-PLUTO transmit and receive channels. SDR# is a freeware software package that controls the ADALM-PLUTO receiver and demodulates amplitude-modulation/frequency-modulation (FM)/double-sideband/single-sideband signals.
ADALM-PLUTO is an easy-to-use SDR module. Its core component is RF transceiver AD9363 or AD9364, which is based on a direct-conversion receiver/transmitter. Here are the main specifications of ADALM-PLUTO:
Figure 1 shows a block diagram of ADALM-PLUTO based on the AD936x transceiver that is responsible for receiving and transmitting the RF data. AD936x has a zero-intermediate-frequency architecture. This results in a low component count, low cost, and low power consumption. The receive subsystem includes an LNA in from the antenna, a mixer, filters, and an ADC. The transmit subsystem contains a DAC, filters, a mixer, and a small PA out to the antenna. The external amplifiers, the PA and LNA, can be used when further amplification is required. Besides the RF transceiver, ADALM-PLUTO includes a Xilinx Zynq-7010 FPGA with an ARM Cortex-A9 CPU, DDR3 random-access memory, Flash memory, and USB 2.0 controller. The ADALM-PLUTO module is connected to the laptop via USB and is controlled using the SDR software, e.g., MATLAB. The software allows you to control the ADALM-PLUTO parameters, such as the bandwidth, gain, center frequency, etc. The second USB is used to provide external power during a standalone mode. A Linux system runs the onboard Flash memory of ADALM-PLUTO. The libiio USB class is used for transferring in-phase and quadrature components from/to the RF device to the host computer.
Fig 1 (a) A block diagram of ADALM-PLUTO (b) A photo of ADALM-PLUTO.
In this article, we used the Hardware Support Package for ADALM-PLUTO from MathWorks because it provides transmitter and receiver Simulink blocks and MATLAB functions to control ADALM-PLUTO in the Communications Toolbox through the USB port using libiio drivers that support both Windows and Linux. In addition, the Communications Toolbox extends the tuning range of ADALM-PLUTO based on AD9363 from 70 MHz to 6 GHz and the bandwidth from 20 MHz to 56 MHz using the AD9364 configuration rather than the default AD9363 configuration.
A comparison of SDR modules is summarized in Table 1. It is clear that ADALM-PLUTO has the best specifications at the lowest cost: it has both transmit and receive channels, a wide frequency range, a wide bandwidth, high ADC/DAC resolution, and a low noise figure. In addition, ADALM-PLUTO is supported by many popular software platforms, e.g., MATLAB, GNU Radio, and Python. On the other hand, ADALM-PLUTO has several shortcomings as follows:
Table 1. A comparison of SDR modules.
ADALM-PLUTO becomes a viable instructional tool for digital communications or radar classes because of its portability, affordability, and transceiver capabilities. For the laboratory assignment, one ADALM-PLUTO configured as a transmitter is placed in a prominent position in the front of the laboratory. The RF signal transmitted from this radio serves as the source signal for the students’ ADALM-PLUTOs configured as receivers.
Some lab experiments require loopback as shown in Fig. 1, where the waveform is both transmitted and received by the same ADALM-PLUTO, which is a common strategy for algorithm debugging and general hardware debugging. A loopback cable can be used instead of two antennas to avoid interference between students’ ADALM-PLUTOs. The gain of both the LNA and PA should be reduced to the minimum value to prevent clipping or saturation at the receiver.
During the laboratory sessions, each student uses one ADALM-PLUTO connected to a PC/laptop that has MATLAB/Simulink with the Communications Toolbox. Students can experiment with radar or wireless communication as well as transmit and receive actual signals by working with actual SDR hardware. Furthermore, ADALM-PLUTO can be used as a data source for downstream spectrum analysis because the radio’s frequency can be changed to tune the radio to a band where a signal of interest is present to make measurements on the received signal. Therefore, ADALM-PLUTO can be used as an inexpensive spectrum analyzer.
There are many applications for radar systems, including aerospace control, self-driving cars, imaging, traffic monitoring, space debris tracking, and more. This makes them an exciting field of study for students.
A radar system consists of two subsystems that operate independently. The first subsystem is the transmitter, which generates a pulse and radiates it out into free space toward objects through an antenna. The second subsystem is the receiver, which receives the pulse reflected off the object through the antenna. Then, it converts the analog waveform into a digital waveform so that the signal can be processed and translated to graphical data to be shown on the radar operator’s display.
System-defined radar is a new research trend where the radar system performs waveform diversity and operates in different modes by only reconfiguring the radar software. This enables radar systems to show multifunction capabilities (i.e., synthetic aperture radar, weather radar, and surveillance radar), especially where size, power, and weight are limited, as in aerospace.
Some works used ADALM-PLUTO in the implementation of short-range FM continuous-waveform (FMCW) radar using two directional antennas to focus the radar on a specific area of interest. Other works used ADALM-PLUTO to jam an FMCW radar. However, the transmit power limitation was the main concern of using ADALM-PLUTO.
It is well known that high-resolution radar systems, e.g., automotive radar, level-measurement radar, and imaging radar, operate at higher frequencies than those of ADALM-PLUTO. In addition, these radar systems require a bandwidth higher than that of ADALM-PLUTO to achieve high-range resolution. Therefore, ADALM-PLUTO cannot be used to simulate these radar systems, but it can be used for lab assignments that include the simulation of basic radar signal processing, e.g., radar waveform generation, radar-matched filter, radar detection, Doppler processing, etc.
The library of GNU Radio has many signal sources. Most of these sources are dedicated to communication systems. Radar waveforms are different from waveforms used by communication systems. The MATLAB Phased-Array System Toolbox can be used to generate many radar waveforms for different applications.
The common types of radar signals are FM waveforms and phase-coded waveforms, which have different properties. FM waveforms are obtained by modulating the frequency of the radar pulse. There are several FM waveforms. These include linear FM (LFM), nonlinear FM (NLFM), Costas-coded waveforms, and stepped FM waveforms. The LFM waveform is commonly used in radar systems due to its high Doppler tolerance. It is well known that the peak sidelobe level (PSL) of the compressed LFM pulse equals –13.2 dB.
In a phase-coded waveform, the long signal of duration T is divided into N small signals called chips, each of width tc = T / N. Phase-coded waveforms are characterized by the phase modulation applied to each chip. There are binary phase codes and polyphase codes. Common types of binary phase-coded waveforms are Barker codes, pseudorandom noise (PRN) codes, and minimum peak sidelobe codes. Barker codes have the common property that all sidelobes have a value of 1/N. Unfortunately, there are only seven known Barker codes that have a maximum code length that equals 13. Frank code and P1- through P4-coded signals are well-known codes that belong to polyphase waveforms. Frank, P1, and P2 codes exhibit lower PSL than those of P3 and P4 codes by 3 dB. However, P3 and P4 codes are more Doppler tolerant than the Frank, P1, and P2 codes.
It is worth mentioning that the MATLAB Phased-Array System Toolbox does not support the generation of some radar signals, e.g., PRN codes, NLFM, and Costas-coded waveforms. Therefore, these signals can be generated based on their equations.
In the following simulation, MATLAB with the Communications Toolbox and one ADALM-PLUTO with two antennas are used. The radar waveform is both transmitted and received by the same ADALM-PLUTO. Then, the received waveform is correlated with the transmitted waveform to simulate radar waveform generation and radar-matched filter. Figure 2(a) and (b) shows the real and imaginary parts of the LFM waveform (bandwidth = 5 MHz, and pulse duration = 100 μs) that is transmitted and received by the same ADALM-PLUTO, and then the received signal is correlated with the transmitted signal, as shown in Fig. 3. One can figure out that the PSL equals –13.8 dB. This value is approximately equal to the theoretical value. We repeat the previous simulation again for studying phase-coded radar signals, e.g., a Barker code when N = 13. Figure 4 shows Barker code (+1 + 1 +1 + 1 +1 –1 –1 + 1 +1 –1 + 1 –1 + 1); as shown in Fig. 5, the PSL equals –21.4 dB. This value is approximately equal to the theoretical value.
Fig 2 (a) The real part of the received LFM waveform. (b) The imaginary part of the received LFM waveform.
Fig 3 The PSL of the LFM waveform at the matched filter output.
Fig 4 The received Barker code.
Fig 5 The PSL of Barker code at the matched filer output.
Obviously, the signal-to-noise ratio (SNR) is high at the receiver output of ADALM-PLUTO because the transmit and receive antennas are about 12 mm from one another.
Every sector of today’s society is entirely dependent on connectivity. The wireless digital data revolution has made our life better, e.g., radio broadcasting, TV broadcasting, mobile phones, GPS, Wi-Fi, etc. Several generations of digital mobile phones, e.g., 2G, 3G, 4G, etc. have appeared on the market. Wi-Fi has delivered high-speed Internet all around the world. Many smartphones can receive various signals from different frequency bands, e.g., GSM (900 MHZ), Wi-Fi (2.4 GHz), GPS (1,575.42 MHz), etc.
SDR is a radio communication system that uses software for modulating and demodulating radio signals. During the laboratory sessions, students interact with real-world wireless signals over the air in real time to bridge the gap between the undergraduate communication systems education and the industrial demands by using an affordable ADALM-PLUTO and SDR software to simulate some examples as follows:
In the following simulation, MATLAB with the Communications Toolbox and one ADALM-PLUTO with two antennas are used.
FM radio signals are transmitted in a frequency range between 88 and 108 MHz, which allows them to propagate miles across the country. We can build an FM receiver using Simulink and ADALM-PLUTO’s receiver block, as shown in Fig. 6. This allows you to listen to the radio stations through laptop speakers.
Fig 6 The FM receiver using ADALM-PLUTO and Simulink.
We can design a basic FM transmitter using ADALM-PLUTO’s transmitter block in Simulink. This transmitter can switch the broadcast from different sources, e.g., an audio file, a microphone, or a tone signal, as shown in Fig. 7. The transmitted audio can be listened to using the FM tuner app on a smartphone. The transmitted signal can be received for a short distance because the transmission power of ADALM-PLUTO is low.
Fig 7 FM transmitter using ADALM-PLUTO and Simulink.
The Wireless Local Area Network Toolbox has an interesting example for students where image transmission and reception are done by using one ADALM-PLUTO at a carrier frequency equal to 2.4 GHz. Of course, we can change the carrier frequency due to the flexibility of SDR. The baseband signal is upconverted for RF transmission over the air using ADALM-PLUTO. Then, the received signal is captured and downsampled to the baseband using the same ADALM-PLUTO and is decoded to recover the transmitted information. Figure 8(a) and (b) shows the transmitted image and the received image, respectively. As mentioned, the SNR is high at the receiver output of ADALM-PLUTO because the transmit and receive antennas are close to each other. The ADALM-PLUTO is used as a data source for downstream spectrum analysis, as shown in Fig. 9 and therefore there is no need to use an expensive spectrum analyzer.
Fig 8 An example of the (a) transmitted image and (b) received image.
Fig 9 The (a) spectrum and (b) waterfall of the received image.
To demonstrate using ADALM-PLUTO as a low-cost spectrum analyzer with stand-alone software instead of using MATLAB, the spectrum of the previous received image will be captured again by using ADALM-PLUTO’s receiver with SATSAGEN freeware software, as shown in Fig. 10. Clearly, one can figure out that the spectrum is the same in both Figs. 9 and 10. This demonstrates using ADALM-PLUTO as an affordable and portable spectrum analyzer for students.
Fig 10 ADALM-PLUTO as a low-cost spectrum analyzer.
As we can see, the ADALM-PLUTO has its pros and cons. It is an affordable, portable, and tunable SDR transceiver. In addition, ADALM-PLUTO is supported by many popular software platforms, e.g., MATLAB, GNU Radio, and Python. These permit transmitting and receiving various modulation schemes. This makes such hardware very attractive for electrical engineering education, e.g., digital communications and radar systems courses. However, the main limitations of ADALM-PLUTO are that the center frequency is only up to 6 GHz, the transmission power level is low, and the bandwidth is only up to 56 MHz. These limitations do not allow ADALM-PLUTO to be used for lab assignments that include the simulation of high-resolution radar systems, e.g., automotive radar, level-measurement radar, and imaging radar.
I would like to thank the anonymous reviewers in IEEE Potentials for their valuable comments on this article. I also want to thank my fantastic colleague Hatem Najdi for his continuous support.
• E. Grayver, Implementing Software Defined Radio. New York, NY, USA: Springer-Verlag, 2012.
• “Hands-on workshop: Software-defined radio.” Analog Devices. Accessed: Sep. 15, 2022. [Online] . Available: https://wiki.analog.com/_media/richardsonmathworksseminars.pdf
• “ADALM-PLUTO Radio Support from Communications Toolbox.” MathWorks. Accessed: Sep. 15, 2022. [Online] . Available: https://www.mathworks.com/hardware-support/adalm-pluto-radio.html
• A. M. Wyglinski, R. Getz, T. Collins, and D. Pu, Software-Defined Radio for Engineers. Norwood, MA, USA: Artech House, 2018.
• W. L. Melvin and J. Scheer, Principles of Modern Radar: Radar Applications, vol. 3. Edison, NJ, USA: SciTech, 2014.
• S. Kaya, A. C. Yapici, B. Tibikoglu, and S. O. Yazici, “Implementation of FMCW radar by using SDR,” in Proc. IEEE 13th Int. Conf. Elect. Electron. Eng. (ELECO), 2021, pp. 234–238, doi: 10.23919/ELECO54474.2021.9677650.
• G. de Peralta, “Coffee can radar: Detection and jamming,” B.Sc. dissertation, Worcester Polytechnic Inst., Worcester, MA, USA, 2017.
• T. Debatty, “Software defined RADAR a state of the art,” in Proc. IEEE 2nd Int. Workshop Cogn. Inf. Process., 2010, pp. 253–255, doi: 10.1109/CIP.2010.5604241.
• S. B. S. Hanbali, “A review of radar signals in terms of Doppler tolerance, time-sidelobe level, and immunity against jamming,” Int. J. Microw. Wireless Technol., vol. 10, no. 10, pp. 1134–1142, Dec. 2018, doi: 10.1017/S1759078718001174.
• “Phased array system toolbox.” MathWorks. Accessed: Sep. 15, 2022. [Online] . Available: https://www.mathworks.com/products/phased-array.html
• M. Rice and M. McLernon, “Teaching communications with SDRs: Making it real for students,” IEEE Commun. Mag., vol. 57, no. 11, pp. 14–19, Nov. 2019, doi: 10.1109/MCOM.001.1900185.
• “Image transmission and reception using 802.11 waveform and SDR.” MathWorks. Accessed: Sep. 15, 2022. [Online] . Available: https://www.mathworks.com/help//supportpkg/plutoradio/ug/transmission-and-reception-of-an-image-using-wlan-system-toolbox-and-a-single-pluto-radio.html
Samer Baher Safa Hanbali (samer.hanbali@hiast.edu.sy) earned his B.Sc. degree in electronic engineering from Damascus University, Syria, in 2000; his M.Sc. degree in advanced electronic engineering from FH Joanneum University, Austria, in 2011; and his Ph.D. degree in telecommunications from the Higher Institute for Applied Sciences and Technology (HIAST), Damascus, Syria, in 2017. He is a researcher in the Department of Communication Engineering, HIAST, H837 Damascus, Syria.
Digital Object Identifier 10.1109/MPOT.2022.3223788