Design of Digital Signal Processing Experiments Based on ADALM-PLUTO
Citation format: Wang Jun, He Nan, Cao Jiahui, et al. Design of “Digital Signal Processing” Experiments Based on ADALM-PLUTO [J]. Industrial and Information Education, 2023 (6): 47-50.Submission date: 2020-12-1 Author’s Biography:Wang Jun (1972—), male, from Weinan, Shaanxi, PhD, professor, research areas include real-time signal processing structures and implementations, FPGA/DSP embedded systems, radar signal processing, target tracking and recognition; He Nan (1998—), female, from Linfen, Shanxi, PhD student, research area is signal processing, sparse array two-dimensional DOA estimation; Cao Jiahui (1997—), male, from Qingyang, Gansu, PhD student, research area is FPGA real-time signal processing, waveform design; Zhang Yuxi (1985—), male, from Zhumadian, Henan, PhD, associate professor, research areas include the development of mixed virtual and real experimental platforms, experimental teaching, digital signal real-time processing, FPGA/DSP embedded systems. 0 Introduction With the rapid development of technologies such as artificial intelligence and 5G communications, modern digital signal processing technology has made significant progress. The “Digital Signal Processing” course is a fundamental course for electronic information engineering majors and information professionals, covering the theory, principles, and implementation methods of digital signal processing, playing a pivotal role in the learning and mastery of related courses. Establishing a solid foundation in the “Digital Signal Processing” course is greatly beneficial for students’ future research and work in related fields. The theory of the “Digital Signal Processing” course is strong, with many principles being relatively abstract, and the formulas and derivations are complex and cumbersome. Moreover, the designed experiments are mostly single experimental projects that cannot reflect real-life and engineering applications, leading many students to find them tedious and uninteresting [1-2]. Research-oriented experimental teaching focuses on students, closely combines with engineering applications, and strengthens the learning process. Students need to apply their acquired knowledge during experiments to discover and solve engineering problems, cultivating their innovation ability, engineering practice ability, and teamwork skills. 1 “Digital Signal Processing” Experiments To stimulate students’ interest in learning the “Digital Signal Processing” course, improve their hands-on ability, cultivate their innovative thinking, and enhance their ability to apply course knowledge to solve complex engineering problems, the “Digital Signal Processing” experimental course establishes a hierarchical model of classic experiments, comprehensive experiments, and innovative research experiments. The classic experiments focus on signal decomposition and system description, sequentially introducing modular experimental content such as convolution, filter design and implementation, and spectral analysis, cultivating theoretical analysis and simulation skills. The comprehensive experiments use speech signal clutter filtering as the background, where students independently complete signal spectral analysis, filter design, and filter convolution implementation, cultivating the ability to comprehensively apply theoretical knowledge. The innovative research experiments are oriented towards practical engineering applications, combining science and education, based on the FPGA/DSP real-time processing experimental platform and MATLAB tools, improving signal-related experimental courses, and cultivating students’ abilities in data processing, system performance simulation analysis, and system design implementation. Taking the research-oriented experimental design based on the ADALM-PLUTO active learning module (hereinafter referred to as “PlutoSDR”) as an example, the design of the innovative research experiment is detailed. 1.1 PlutoSDR Experimental Platform Introduction The ADALM-PLUTO active learning module is shown in Figure 1, combining the AD9363 and Xilinx Zynq Z-7010 SoC, providing a reusable and future-proof radio development testing platform, as shown in Figure 2. This platform has independent receiving and transmitting channels, can operate in full-duplex mode, and can generate or capture radio frequency (RF) analog signals at a maximum of 61.44MSPS within the frequency range of 325MHz to 3800MHz. PlutoSDR is portable and equipped with firmware that supports USB power supply. PlutoSDR is initiated through the libiio driver, supporting OS X®, Windows®, and Linux®, making it convenient for students to learn and explore on multiple devices. libiio is a library developed by ADI, consisting of a high-level Application Programming Interface (API) and multiple backends, providing a simple and complete programming interface through network connections, serving as an intermediary layer between programs and the Linux kernel to simplify the development of Linux I/O device software interfaces.The AD9363 is the RF transceiver of PlutoSDR, featuring two independent direct conversion receivers, each with its own automatic gain control, DC offset correction, quadrature correction, and digital filtering capabilities. The Xilinx XC7Z010 is the digital baseband processor of PlutoSDR, supporting 12-bit ADC/DAC conversion, compatible with the MATLAB Simulink platform, and internally integrates ARM, 1GB DDR3 memory, programmable logic, and various peripheral controllers. PlutoSDR can be used in conjunction with a computer as a portable experimental platform, allowing students to conduct independent learning and experiments outside of class, assisting in classroom learning. PlutoSDR provides a simple and user-friendly device configuration and data channel interface to the upper-level control machine (MATLAB) through libiio, facilitating rapid configuration of lower-level hardware through a universal code configuration format, and allowing real-time modifications. The network protocol adopts TCP/IP to ensure reliable data transmission. The interaction process between MATLAB and PlutoSDR is divided into transmission and reception. ① Transmission process: The upper-level control machine in Windows generates I/Q two-way data streams for the libiio client, which then sends the data to the ARM in Zynq. After processing by the ARM, data is sent to the FPGA, and the FPGA sends the data to AD9363 for sampling and transmission. ② Reception process: AD9636 samples the I/Q two-way RF signals, the FPGA transmits the sampled data to the ARM, which then sends the data to MATLAB via the libiio server for processing.MATLAB® and Simulink® are the two main software packages supported by PlutoSDR, providing an intuitive graphical user interface that allows students to learn the operation of PlutoSDR more quickly, enabling them to quickly get to work and explore more knowledge. From the above characteristics, it can be seen that PlutoSDR helps introduce students in electronic information and communication-related majors to the basic knowledge of software-defined radio, RF, wireless communication, and digital signal processing. Therefore, the author chose PlutoSDR as the experimental platform for the research-oriented experiment. 1.2 Experimental Design In recent years, the rapid popularization of fourth-generation mobile communication technology (4G) and the gradual commercialization of fifth-generation mobile communication technology (5G) have posed severe challenges for the training of communication professionals in higher education. Orthogonal Frequency Division Multiplexing (OFDM) technology effectively combats frequency-selective fading and narrowband interference, widely applied in 4G and 5G communications [3]. The experiment designed by the author adopts the OFDM communication system, combining practical engineering applications and cutting-edge technology, which is beneficial for enhancing students’ learning interest and improving their practical abilities. OFDM is a multi-carrier transmission scheme that allows sub-channel frequency spectra to overlap for parallel data transmission while maintaining orthogonality between sub-carriers to reduce interference among sub-channels. Each sub-channel carries signals at the same transmission rate, and the frequency domain spacing between adjacent sub-channels is also the same, enabling it to combat multipath fading without high-speed equalization and effectively improving spectral efficiency [4]. Additionally, OFDM introduces a Cyclic Prefix (CP) to reduce interference between channels and symbols, applying Fast Fourier Transform (FFT) in modulation and demodulation to reduce implementation complexity. The experiment utilizes the PlutoSDR experimental platform, employing MATLAB programming to implement an OFDM system based on the IEEE 802.11a protocol for wireless image transmission. The aim of the experiment is to consolidate and extend the knowledge learned in the “Digital Signal Processing”, “Communication Principles”, “Information Theory”, and “Software Defined Radio” courses, helping deepen students’ understanding of the course knowledge and enhance their ability to comprehensively apply knowledge. The author arranges 4-5 students per group to collaborate on completing the experiment and writing the experiment report, with the content including system design schemes and comparisons, software algorithm processes, production and debugging processes, data analysis and conclusions, and specific division of labor details. The teacher scores each step of the experiment to assess students’ completion of each experimental phase. The research-oriented experiment is mainly divided into the following four parts. (1) Image Compression. Students refer to course knowledge to research materials and compress the transmitted images. Common compression algorithms include Run Length Encoding (RLE), Huffman coding, LZW compression, Discrete Cosine Transform (DCT), fractal image coding, and wavelet transform algorithms [5]. Students can choose appropriate image compression algorithms based on their needs. During the selection of suitable schemes for compression and decompression, students will understand the advantages and disadvantages of different image compression algorithms, comparing different algorithms and making trade-offs between compression ratio and distortion, using MATLAB to implement image compression and applying theoretical knowledge to practice. (2) Baseband Modulation and Demodulation of the OFDM System. Currently, wireless local area networks are widely used in daily life, with the IEEE 802.11a protocol being one of the standards for wireless local area networks, operating in the 5GHz band and using OFDM as the physical layer technology to provide data rates of 6-54Mb/s. The main parameters of the IEEE 802.11a WLAN physical layer standard are shown in Table 1. Students need to refer to the IEEE 802.11a protocol and use MATLAB programming to complete the baseband modulation and demodulation of the OFDM system, i.e., the dashed part of the system block diagram (see Figure 3), while the DA conversion, AD conversion, RF transmission, and RF reception parts are implemented through the configuration of AD9363 in PlutoSDR.During the implementation of the OFDM system baseband modulation and demodulation, students understand the purposes of scrambling and interleaving from the perspective of information theory [6]; they apply knowledge from the “Communication Principles” course to complete modulation and demodulation of BPSK, QPSK, 16QAM, and 64QAM in the OFDM system, comparing the advantages and disadvantages of different modulation methods and selecting appropriate modulation methods based on channel conditions. They utilize knowledge of digital signal processing to understand the role of FFT/IFFT in the system and plot the spectrum of the OFDM system. (3) Antenna Design. Antennas are important front-end devices that any wireless system cannot do without. The transmitting antenna converts the high-frequency current energy output from the transmitter into electromagnetic wave radiation, while the receiving antenna converts the spatial wave signal into high-frequency current energy for the receiver. Students can utilize knowledge from courses such as “Microwave Technology”, “RF and Microwave Systems”, and “Modern Communication Antennas” to select or design suitable antennas based on the system frequency band and required antenna gain. (4) GUI Design. GUI (Graphical User Interfaces) is a user interface composed of various graphical objects, allowing program control through the selection of graphical objects to execute user commands. MATLAB provides a set of visual tools for creating graphical windows, making it easy to write interface programs. 2 Conclusion The author proposes a design for “Digital Signal Processing” experiments based on ADALM-PLUTO, employing research-oriented experimental teaching, which has a certain degree of openness, integrating the knowledge of “Digital Signal Processing”, “Communication Principles”, “Digital Image Processing”, “Antennas”, and “Microwave Technology”. Teachers guide students after class to complete experiments in groups, making it targeted. The experiments designed by the author combine modern communication technology, assessing students’ abilities to apply learned knowledge to solve complex engineering problems, training students to use simulation software such as MATLAB to address engineering issues, and cultivating students’ teamwork spirit and communication skills, aiming to nurture engineering talents that meet the needs of practical engineering.