[Free software download: Radio420X SSB project for GNU Radio Companion
This GNU Radio plug-in requires a PC running the Fedora 17 OS along with Nutaq’s ADP 6 software release. Additionally, this plug-in is specifically designed to work with Nutaq’s Perseus board with the Radio420X FMC card.
GNU Radio is an open source software toolkit that provides signal processing blocks which help accelerate the development of software defined radio (SDR) applications. As a result of its open source nature, there are many SDR based examples available online, with a good fraction of them using the Universal Software Radio Peripheral (USRP) plug-in due to its widespread usage.
To help the GNU Radio community expand its development opportunities even further, Nutaq now offers a GNU Radio plug-in for its PicoSDR solution. Fortunately, existing GNU Radio examples can be easily modified to use the high end interface of Nutaq’s Radio420X (300MHz to 3GHz frequency range, 1.5MHz to 28MHz tunable bandwidth) which comprises the RF section of the PicoSDR.
Porting an existing waveform on to the Radio420X can be done in few easy steps. This post will show how it can be done for the “SSB Transmitter” example by Alexandru Csete. The original example is available here.
Watch the Video
In this video (without audio) we share a real-time screen capture which shows how to port your existing GNU Radio waveform development onto the Nutaq PicoSDR with Radio420X…all in less than 2 minutes.
Understanding the Example
Click here to enlarge image
This example acquires a microphone signal with the Audio Source block and applies constant gain with the Multiply Const block. The Audio Source block generates samples at 48 kHz. The Rational Resampler block then interpolates the received 48 kHz signal to a 50 kHz signal. The real signal is then converted to a complex one, and quadrature-mixed to shift it anywhere within 25 kHz (10 kHz in this example), after which it is upsampled to 250 kHz and sent to the USRP.
Using the Radio420X Plug-in
Before we use the Radio420X GNU Radio plug-in, we remove the USRP blocks from the example. We then disable the USRP Sink and the three USRP parameters (usrp_freq, tx_freq and rf_gain). We replace the USRP Sink with the Radio420: GigE Sink Interleaved. This block uses the Radio420: GigE Sink block and interleaves the real and imaginary parts of the complex signal.
To configure the Radio420X device, we add the Radio420X GigE: Global block to the example, as shown below:
Click here to enlarge image
The Radio420X GigE: Global block must be configured correctly in order to run the example:
We must enter the PicoSDR IP address as well as the TX frequency. This waveform only uses the Radio420X in SISO configuration, so we disable the MIMO option. In this example, we set the Data rate to 14.40 MHz, but any frequency that your Ethernet and computer can handle will work. We set the desired TX gain, and set the Custom Register 1 value to 6, since we’re using the default GNU Radio bitstream. This connects the Ethernet streaming signal with the Radio420X DAC interface.
Because the new data rate is higher than the one used with the USRP block, we must also change the second Rational Resampler block parameters:
The data needs to be interpolated from 50 kHz to 7.2 MHz, half the data rate frequency of the Radio420X, since the real and the imaginary parts of each sample need to be sent to the Radio420X.
That’s it! This modified waveform is now ready to run on the PicoSDR!
Running the Example on the PicoSDR
Make sure that your PicoSDR is turned on, has a valid IP address and that your Ethernet card is configured correctly. Click the Execute button (or press the F6 key) to launch the GNU Radio Graphical User Interface (GUI):
If your microphone and your audio peripheral work correctly, you should see your voice spectrum in the GUI. If you connect the Radio420X TX connector to a spectrum analyzer you should see a single side band of the recorded voice transmitted at the Radio420X TX frequency + the frequency offset added after the band pass filter. If you connect the GUI FFT block just before the second Rational Resampler block, you should see the data transmitted to the Radio420X. The following figure shows the data generated in GNU Radio and the spectrum analyzer displaying the Radio420 TX output signal:
A side by side comparison of the spectrum analyzer to the GNU Radio GUI confirms that the 2.7 kHz wide signal has been correctly generated at 743 MHz + 10 kHz.
Converting to Radio420X is Easy
As we’ve discussed here, converting applications to the Radio420X GNU Radio plug-in instead of the one from USRP is a quick and easy process. You can now enjoy the high end features of Radio420X in your existing applications.