Wireless communication system modeling and simulation based on GNU Radio and USRP

Publisher:BlissfulWhisperLatest update time:2024-07-23 Source: eepwKeywords:GNU Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

0 Introduction

Wireless communication technology is in a stage of rapid development and has begun to be widely used in many fields such as personal, commercial, and military. With the increasing complexity of wireless communication systems, it has become very difficult to use traditional analysis methods to evaluate and design wireless communication systems; the method of using hardware prototype testing is often implemented in the later stage of system development due to its high implementation cost and difficulty; the software-based modeling and simulation method enables researchers and developers to obtain evaluation capabilities close to the real system with less manpower and financial resources, so it has become the main design and verification method in the early stage of communication system development. At present, the modeling and simulation of wireless communication systems are mainly implemented through software such as Matlab Simulink, SystemView, and SPW. However, for wireless transmission environments with fast characteristics changes and susceptible to interference, the above-mentioned pure software-based modeling and simulation methods are difficult to achieve fast and accurate testing, analysis, and evaluation of the system.

This paper proposes to use the software radio system composed of the software radio development platform GNU Radio and the universal software radio peripheral USRP (Universal Software Radio Peripheral) for modeling and simulation of wireless communication systems. First, the software characteristics and hardware structure of the system are analyzed; then, the communication link model based on the simulated channel and the actual channel is established for the MPSK modulation system, and the comparative experiment of the bit error rate test is carried out to verify the feasibility of this method to incorporate the actual wireless channel into the system simulation; finally, based on the link model of the actual channel, a wireless video stream transmission prototype system is further designed and implemented, which can realize video stream transmission in a wireless way. The analysis and experimental results show that compared with the commonly used software modeling and simulation methods, the new method combining software and hardware can quickly realize the system prototype and incorporate the actual wireless channel with complex characteristics and difficult simulation into the system simulation model.


1 Software Radio System Composed of GNU Radio and USRP

1.1 Software Radio

The concept of software radio was formally proposed by Joseph Mitola in 1992. The concept was proposed and developed in response to the situation in the field of wireless communications where multiple systems coexist and there is fierce competition among standards. The architecture of software radio breaks through the traditional design mode of wireless communication systems with dedicated hardware as the core. By placing broadband AD and DA devices as close to the RF antenna as possible, the analog signals obtained are converted into digital signals as early as possible, and using general-purpose hardware as the basic platform, as much wireless and communication functions as possible are implemented by software on general-purpose processors to achieve the upgradeability and reconfiguration of wireless communication systems. Applying software radio technology to the modeling and simulation of wireless communication systems can give full play to its flexible, open, hardware-software integration, and multi-level collaboration characteristics, and solve some limitations of traditional software tools.

Since the development of software radio, there are many open source and commercial systems that can be used for prototype design and communication system research, such as the Sora system launched by Microsoft Research and the OSSIE (Open Source SCA Implementation Embedded) project of Virginia Tech. Among them, the open source radio software GNU Radio and the universal software radio peripheral USRP form a PC-based software radio system, which is a good solution for modeling and simulation of wireless communication systems.

1.2 GNU Radio Software Features

GNU Radio is an open source platform developed based on the software radio concept. It runs on the Linux system and is distributed in accordance with the terms of GNU's GPL (General Public License). As a software radio development platform, GNU Radio has strong reconfigurability. Through the various practical signal processing modules it provides and the flow graph mechanism that connects these signal processing modules, different communication link models can be established to meet the needs of different types of communication systems. GNU Radio is mainly used for modeling and simulation of communication links. Its standard library is very rich, covering common signal processing modules such as modulation and demodulation, source encoding/decoding, channel encoding/decoding, multiple access, equalization, synchronization, filter design, wavelet analysis, etc., and has a graphical modeling environment similar to the block diagram structure of Matlab Simulink, which can easily and quickly establish a model of the link-level system. At the same time, for the sake of operating efficiency, GNU Radio adopts a two-level design with separate data channels and control channels, in which C++ is used to describe signal processing modules that require higher operating efficiency, and Python is used for configuration and connection between modules.

Since GNU Radio uses the general programming language Python as a dedicated control channel instead of a single module connection mechanism, in addition to being able to configure and manage signal processing modules more conveniently, with the help of Python's flexible characteristics, it is also possible to establish a network model at the upper layer of the communication link, customize and design the entire communication protocol, and even interact directly with the application. This makes it possible to implement cross-level design and joint optimization in GNU Radio.



Taking the built-in test program of GNU Radio as an example, it can be seen from the analysis of the code in the test program that GNU Radio specifies the frame structure format shown in Figure 1. The bottom frame structure provides the preamble and synchronization code for the frequency and timing synchronization of the receiving system; the frame header provides information such as frame length and Gaussian whitening bias; the upper structure of the frame provides CRC (Cyclic Redundancy Check) check and the function of counting the number of sent packets. In addition, GNU Radio also provides a carrier sense multiple access/collision detection mechanism in the MAC (Media Access Control) layer to detect signal conflicts on the current channel. When the amplitude of the signal received by USRP is greater than the set threshold value, the channel is considered to be occupied, and the binary exponential backoff retransmission algorithm is used to wait for retransmission. Through the timestamp of USRP data, the superframe structure of time-slot transmission can also be implemented in GNU Radio. At the same time, by importing the Socket module, Python can easily perform network programming. Calling the virtual Ethernet channel provided by TUN/TAP allows the application layer program based on TCP/IP to be directly loaded onto GNU Radio and communicate through the communication system provided by GNU Radio. In addition, the data in the upper-layer network model is asynchronous data and cannot be directly processed by the synchronous signal processing module on the communication link. To this end, GNU Radio uses a FIFO (First In First Out) cache between the network model and the link model to achieve the conversion of signals from asynchronous to synchronous, and from information bits to baseband waveforms, closely integrating the communication link and the upper-layer network.

By using the functions and features provided by GNU Radio, researchers and developers can easily build a more complete communication system consisting of communication links and upper-layer network models, and perform cross-level joint design and optimization of customized communication systems from a global performance perspective.

1.3 USRP Hardware Structure

In the software radio system composed of GNU Radio and USRP, GNU Radio is only responsible for processing low-rate baseband signals, while USRP plays the role of digital intermediate frequency and RF front end to process high-throughput signals. The hardware structure of USRP designed based on software radio concept is flexible and universal, and can be compatible with multiple protocol standards of current wireless communications, providing strong support for the establishment of customized protocols and multi-standard fusion system modeling and testing.

As shown in Figure 2, the structure of USRP mainly includes FPGA (Field Programmable Gate Array) responsible for digital intermediate frequency processing, ADC and DAC devices responsible for analog/digital and digital/analog conversion, and RF sub-board responsible for RF signal processing. In the specific transmission and reception process, the antenna at the receiving end captures the RF signal in the air, and the RF sub-board performs down-conversion in the analog domain, moving the signal from the RF to the intermediate frequency, and then entering the digital domain through the conversion of the A/D device; FPGA acts as a digital down-converter, further moving the signal from the digital intermediate frequency to the baseband, and at the same time completes the signal extraction work, so that the signal rate is reduced to the range that the general processor can handle; finally, the low-rate baseband signal is sent to the PC through the control chip. The sending end completes a roughly opposite signal processing process.

[1] [2] [3]
Keywords:GNU Reference address:Wireless communication system modeling and simulation based on GNU Radio and USRP

Previous article:Implementation of digital adjustable optical attenuator based on SFP package
Next article:High energy efficiency and low standby energy consumption solution based on NCP1937

Recommended ReadingLatest update time:2024-11-15 09:29

GNU ARM Assembly--(XIII) Linker script under GNU ARM Assembly
       Before writing the linker script for GNU ARM assembly, it is necessary to look at the ldr instruction, as well as the ldr and adr pseudo-instructions.         ldr instruction:         LDR load word into a register Rd - mem32         ldr pseudo-instruction:         LDR Rd, =constant         LDR load cons
[Microcontroller]
Latest Embedded Articles
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号