Session

Swifty Session 3: Communications

Location

Utah State University, Logan, UT

Abstract

Shifting from traditional hardware radios to the Software-Defined Radio (SDR) is becoming reality, and SDRs are going rapidly to dominate the satellite communication subsystems. For testing designs, researchers use many tools such as the popular GNURADIO software which programs and controls SDR devices by providing signal processing blocks implementing the desired signals as well as hardware interface blocks. It is user-friendly and simple to beginners. Moreover, it has powerful and advanced capabilities for more complex missions. In some cases, we need to modify communication parameters such as frequency, data rate or modulation scheme without relaunching the program. Many times, the values of these changes are not available until the runtime, thus parameter’s new values need to be fed to the communication program while it is running.

As a case study, this paper presents a method of changing SDR transmit and receive frequency in GNURADIO to compensate for the doppler shift effect.

The main code that is generated by GNURADIO in Python is modified and linked with another Python program to calculate doppler shift frequencies. The real-time frequency value is fed to the SDR device blocks in GNURADIO while it is running using networking protocols. The frequency calculation code is based on PyEphem library. This program uses the two-line elements set (TLE) to know the satellite position then it uses the ground station coordinates as an input in order to find the relative velocity which is the main factor to calculate the doppler shift frequencies. The system is tested using a laptop, Raspberry Pi 4, LimeSDR and RTL-SDR devices.

Methods of handling such issues directly affect the efficiency of the communication which lead to more robust links to improve satellites data delivery capacity.

Share

COinS
 
Aug 7th, 12:00 AM

Automatic Change of SDR Parameters' Values During Runtime in GNURADIO for Satellite Communication Subsystem

Utah State University, Logan, UT

Shifting from traditional hardware radios to the Software-Defined Radio (SDR) is becoming reality, and SDRs are going rapidly to dominate the satellite communication subsystems. For testing designs, researchers use many tools such as the popular GNURADIO software which programs and controls SDR devices by providing signal processing blocks implementing the desired signals as well as hardware interface blocks. It is user-friendly and simple to beginners. Moreover, it has powerful and advanced capabilities for more complex missions. In some cases, we need to modify communication parameters such as frequency, data rate or modulation scheme without relaunching the program. Many times, the values of these changes are not available until the runtime, thus parameter’s new values need to be fed to the communication program while it is running.

As a case study, this paper presents a method of changing SDR transmit and receive frequency in GNURADIO to compensate for the doppler shift effect.

The main code that is generated by GNURADIO in Python is modified and linked with another Python program to calculate doppler shift frequencies. The real-time frequency value is fed to the SDR device blocks in GNURADIO while it is running using networking protocols. The frequency calculation code is based on PyEphem library. This program uses the two-line elements set (TLE) to know the satellite position then it uses the ground station coordinates as an input in order to find the relative velocity which is the main factor to calculate the doppler shift frequencies. The system is tested using a laptop, Raspberry Pi 4, LimeSDR and RTL-SDR devices.

Methods of handling such issues directly affect the efficiency of the communication which lead to more robust links to improve satellites data delivery capacity.