Decode: Radio User December 2017
Mike Richards follows up on his contributions during the 2017 RSGB Convention and offers updates regarding the network data rate of a SpyServer SDR receiver and the performance of the Airspy HF+ receiver.
Read the full article in the December 2017 Radio User
Author: Mike Richards
SpyServer Network Data Rates and AirSpy HF+
I attended the RSGB Convention on October 14th and 15th, to deliver a couple of talks about using the Raspberry Pi for radio and thought you might like to see the slides. You can find a PDF of them on my website.
The convention proved to be a very interesting weekend because I had the opportunity to spend some time with Youssef Touil and Ian Gilmour from the Airspy team. We had a very interesting meeting and they very kindly let me have a pre-production version of their new Airspy HF+ receiver.
This receiver is in the final stages of production and should be on sale soon. The production process these days is complex and Airspy have a reputation for delivering great products. Therefore, they are being very careful to get the production right, before they make the receiver available for sale.
It was also good to meet with Jon Hudson from SDR Play.
SpyServer Update
There has been significant interest in this new SDR server and it would be good if others were to use the same protocol to make other SDR receivers available over the Internet. At the time of writing, SDR Sharp and SDR-Console support the latest SpyServer protocol. The main problem with sharing wideband SDR receivers is the high bandwidth that is required to transport the IQ data.
The IQ data are fundamental to SDRs and are used by the remote SDR software to demodulate the signal and provide the spectrum and waterfall displays that provide a unique view of the band and allow for click-tuning.
Fig. 1 shows an example of the IQ data rate with an Airspy receiver set to 2.5 megasamples per second (MSPS). With the 2.5MSPS rate, users have 16-bits per sample and there are separate I and Q samples, so we have 2,500,000 x 16-bit x 2 = 80Mb/s. This is way too fast to work over the Internet.
While developing SpyServer, the Airspy team took a fresh look at the requirements and found a way to significantly reduce the network data rate.
Let us begin with the spectrum display. This is produced using a fast Fourier transform, which is a mathematical algorithm that analyses a digital signal and measures the power in different frequency bands. Fig. 2 illustrates the FFT process.
However, all that users really need is a visual representation of the spectrum and that could be produced by the processor in one of the popular single board computers such as the Raspberry Pi.
In the SpyServer implementation, the server receives the full IQ bandwidth from the SDR hardware and runs the FFT to produce the spectrum display information. This spectrum data is then converted into video frames that are sent over the network. Experience has shown that a video frame rate of 15 frames per second works well. At this point, users have their full spectrum view but at a much lower bit rate.
The next problem is how to handle the IQ data for filtering and demodulating the received signal. Again, a fresh look shows that the SDR software does not require the entire IQ bandwidth, just a narrow band that is a bit wider than the desired signal. SpyServer uses an IQ slot of between 9.7 and 12kHz (depending on hardware) for all narrow-band signals such as SSB, NBFM, and AM.
This immediately provides a huge data rate saving because only 12,000 x 16-bit x 2 = 384kb/s are needed. The SpyServer code employs a new digital down-conversion architecture whose code is generated by a mathematical optimiser that considers the decimation, alias rejection and pass-band ripple parameters to generate computationally optimised code.
To provide a further data-rate reduction, SpyServer adds an IQ bit depth adjustment that can be used by the remote SDR software to match the data demand to the available link speed. The current adjustment range is 8, 16 or 24-bit PCM or 32-bit float. The pulse code modulation mode uses another new algorithm that converts the useful part of the signal into 8, 16 or 24-bits while discarding the noise floor.
Fig. 3 displays a block diagram of the new SpyServer. The net result is an overall data rate that can be as low as 300kb/s. Despite the huge bandwidth saving, the end-user still gets to see the full RF bandwidth, can click-tune anywhere in that band and use the full range of SDR plug-ins.
The resulting SpyServer code is very efficient and will happily run on a Raspberry Pi-2, thus making it a very cheap and easy way to make your SDR accessible from anywhere. I have been successfully sharing the pre-production Airspy HF+ with Youssef in Paris using SpyServer running on an old Pi-2.