PlutoSDR for WSPR on 2m & 6m_a

Introduction

In previous posts, I looked at WSPR & FT8 as part of the WSJT-X protocol suite (Ref.1/6). In Ref.1, I reviewed the WSPR protocol and simulated it in Scicos. I received the signal using the RTL-SDR with HamItUp converter on 30m at 10.1387MHz. In Ref.3 I tested the PlutoSDR for possible application as a WSPR beacon. Using the latest firmware, I was able to get the PlutoSDR to transmit as low as 48MHz, thereby making the 6m, 2m and 70m bands possible. I used GNURC to feed the PlutoSDR with a USB signal driven by the WSJT-X WSPR audio output. In this post I have added a 22dB LNA that I used for CubeSat reception, as well as a 2m/70cm Yagi to test the Beacon feasibility. The off-air signal is monitored by an RPi4B with GQRX feeding WSJT-X WSPR receive. In this post I will cover the equipment and the next post the actual propagation.

***An Amateur Radio License is required to transmit with the PlutoSDR and is subject to your particular national regulations. ***

PlutoSDR Tx Power & Frequency Testing

Fig.1 PlutoSDR Power/Frequency Testing Block Diagram
Fig.3 PlutoSDR Power Testing GNURC Schematic
WSPR FreqPluto Tx dBm Pluto Tx/LNA dBm
50.293-28.04 + 20 = -8.0-8.94 + 20 = 11.1
144.489-20.37 + 20 = -0.4-1.44 + 20 = 18.6
432.300-17.17 + 20 = 2.82.96 + 20 = 23.0
Fig.6 PlutoSDR Power Testing Table Results

Figures 1/2 shows the block diagram & equipment for testing the PlutoSDR power & frequency output with the added LNA. Figure 3 is the GNURC schematic used to drive the PlutoSDR. Figure 4 shows the power outputs at 6m/2m/70cm without the LNA and Figure 5 shows the power outputs with the LNA. For protection the Spectrum Analyzer has a series 20dB pad plus DC block. Figure 6 is a table showing the power outputs after the attenuator is removed.

PlutoSDR Tx WSPR_SSBu

Fig.7 GNU Radio SSB_U Transmit Schematic
Fig.8 GNU Radio SSB Transmit Output Spectrum for 1.5KHz Tone SSB_U=-20dB, SSB_L=-72dB

Figure 7 shows the GNU Radio SSB_U transmit schematic. The Hartley SSB method is used. An audio tone feeds the I & Q branches. The I branch has a Hilbert 90deg Phase shift and the Q is unaltered (-1 for USB). Note that there is a Hilbert block in the Q branch but this is only to compensate for the block delay. The Real part of the Hilbert block is the delayed signal, whereas the Imaginary part is the actual 90 phase shift (Ref.8/9). Figure 8 shows output spectrum for a 1.5KHz audio tone modulating a 10KHz carrier. The 11.5KHz USB tone is at -20dB and the 8.5KHz LSB tone is at -72dB or 52dB down.

PlutoSDR Tx WSPR_SSB_u Loop Back Test

Fig.9 PlutoSDR WSPR Beacon Loopback Transmitter Test
Fig.10 GNU Radio WSPR SSB_U Transmit Schematic
Fig.12 Gqrx Loopback Rx Signal
Fig.13 Off Air Loopback Fc Initial Drift
Fig.14 Off Air Loopback Fc Stabilized Frequency >45min

Figure 9 shows a configuration for a loop back test. Figure 10 shows the modified GNURC SSB_U schematic for an audio feed coming from WSJT_X WSPR using VBcable. An RTL-SDR is used as a receiver and is connected to Ubuntu 24.04 running as a virtual machine using VMware on the same laptop. Virtual cables are used to output/input the WSPR audio to the GNU Radio Audio Source and from Gqrx.

Loading is critical so as not to overdrive the PlutoSDR. Figure 11 shows the output spectrum for audio levels of +/-0.3V & +/-0.5V. For 0.3V loading spurious tone 2 < 44dB below 1.5KHz tone 1. For 0.5 loading Tone 2 is <31dB below 1.5KHz Tone 1. You can check levels from WSPR using Audacity. Figure 12 shows the RTL-SDR rx signal on Gqrx with gain set at 0dB to prevent any overloading.

Figure 13 shows a local off air test without the LNA using simple whip antennas on both ends. One problem that is immediately evident is that the PlutoSDR drifts in frequency. Using the QT GUI Entry you can compensate for this. Figure 14 is an on air test with LNA/Yagi where the PlutoSDR has been working for more than 45min and the drift is down to -1 to 0. So you can compensate for the drift, but it takes time for the unit to heat up and stabilize.

Fig.15 YouTube Video PlutoSDR for WSPR on 2m & 6m_a
GNU Radio Companion Course

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

YouTube Channel
YouTube Channel

References


#1. – “RTL-SDR for WSJT-X WSPR”
https://jeremyclark.ca/wp/telecom/rtl-sdr-for-wsjt-x-wspr/

#2. – “RTL-SDR for WSJT-X FT8”
https://jeremyclark.ca/wp/telecom/rtl-sdr-for-wsjt-x-ft8/

#3. – “HRF1 for WSPR Beacon on GNURadio”,
https://jeremyclark.ca/wp/telecom/hrf1-for-wspr-beacon-on-gnu-radio/

#4. – “PlutoSDR for WSPR Beacon on GNURadio”
https://jeremyclark.ca/wp/telecom/plutosdr-for-wspr-beacon-on-gnu-radio/

#5. – “RTL-SDR for WSJT-X FT8”,
https://jeremyclark.ca/wp/telecom/rtl-sdr-for-wsjt-x-ft8/

#6. – “RTL-SDR for FT8 on MULTIPSK”
https://jeremyclark.ca/wp/telecom/rtl-sdr-for-ft8-on-multipsk/

#7. – “PlutoSDR Specifications”
https://wiki.analog.com/university/tools/pluto/devs/specs

#8. – “SSB Modulation on GNU Radio”
https://jeremyclark.ca/wp/telecom/ssb-modulation-on-gnu-radio

#9. – “RTL-SDR for SSB on GNU Radio”
https://jeremyclark.ca/wp/telecom/rtl-sdr-for-ssb-on-gnu-radio/

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.