CubeSat 437MHz on GNURadio

Introduction

In the last four posts I have discussed receiving CubeSats under various conditions and locations. In Montreal I discovered a perfect receive location with no QRM, but unfortunately the VEE dipole did not have enough gain to get a proper decode. The signal was visible but not decode-able. So my method now is to use my ATSC/UHF antenna and point it approx East/South-East and wait for a satellite path North-South or South-North that is entirely to the east with a slant range of <= 1000Km. My home QTH is surrounded by massive steel condos, not to mention a concrete balcony filled with magnetic absorbing iron rebar.

Reception Parameters

Fig.1 Equipment & Software Setup CubeSat Reception

Figure 1 shows the equipment setup. The UHF Yagi is pointed due East. The 433MHz BPF/LNA/RTL-SDR is connected to the Yagi with a sma to catv adapter. A long usb cable then feeds a laptop indoors. SDR# is used and the sampling rate is set at 250Ksps to keep file size down. The frequency is set 20KHz below the satellite frequency. The reason for this is to allow for Doppler shift. On playback, you can measure the actual packet receive frequency then set this in the GNURadio Frequency Translation Filter. The Baseband IQ recorder is used and I start recording the minute my QTH appears in the satellite footprint. The satellite pass is typically about 5-8 minutes so the files get big. You can trim them later in Audacity. I keep the gain low at 19.7dB, but this depends on the active QRM, so I adjust this for minimum intermod.

Signal Capture

Fig.2 QRM Around Rx Freq at home QTH
Fig.3 EIRSAT-1 Decodeable Pulse at 04:08.7
DateRelative TimeFrequencySNR
May2002:08.9437.1082MHz5dB
May2003:11.3437.1048MHz15dB
May2004:08.7437.0976MHz20+dB
FIg.4 Table of Received Pulses EIRSAT-1 @ 11:46 EDT+ May 20th_2025

Yesterday May 20 at approx. 11:46 EIRSAT-1 made a close pass to the East. This is the CubeSat that I received previously. Figure 2 shows the QRM that is present in the vicinity of the signal Rx freq of 437.1MHz. Figure 3 shows a decode-able pulse that was received when the satellite passed almost due East. The 5 discrete tones were 20dB+ above the noise floor and the Gaussian data was about 10dB+. The Rx frequency due to Doppler shift was 437.0976MHz. So in GNURadio the Frequency Xlating Filter is set to 17.6KHz (437.0976MHz – 437.080MHz).

GNURadio Decode

Fig.5 GNURadio Schematic Satellite Decode with gr_satellites Decoder

Figure 5 shows the GNURadio schematic used to decode the received packet. It uses the gr_satellites module Satellite Decoder as discussed in Ref.2. EA4GPZ has several excellent tutorials on creating decoders in GNURadio using the OOT module gr_satellites.

Fig.7 YouTube Video CubeSat 437MHz on GNURadio
Space/Satellite Blog Topics

GNU Radio Companion Basics Course

Please send your comments, questions and suggestions to:
contact:

YouTube Channel
YouTube Channel

References

#1. – “CubeSat 437MHz à Montréal”
https://jeremyclark.ca/wp/telecom/cubesat-437mhz-a-montreal/

#2. – “RTL-SDR for 433MHz/70cm CubeSats Signal Captures”
https://jeremyclark.ca/wp/telecom/rtl-sdr-for-433mhz-70cm-cubesats-signal-captures/

#3. – “RTL-SDR for 433MHz/70cm Cubesats on GNURadio”
https://jeremyclark.ca/wp/telecom/rtl-sdr-for-433mhz-70cm-cubesats-on-gnuradio/

#4. – “RTL-SDR for 433MHz/70cm Cubesats”
https://jeremyclark.ca/wp/telecom/rtl-sdr-for-433mhz-70cm-cubesats/

By Jeremy Clark

Jeremy Clark is a Senior Telecommunications Engineer and Advanced Amateur Radio Operator VE3PKC. He is the author of E-Books on Telecommunications, Navigation & Electronics.