When people consider upgrading from the RTL-SDR, there are three mid priced software defined radios that come to most peoples minds: The Airspy (store), the SDRplay RSP (store) and the HackRF (store). These three are all in the price range of $150 to $300 USD. In this post we will review the Airspy, review the SDRplay RSP and review the HackRF and compare them against each other on various tests.
Note that this is a very long review. If you don’t want to read all of this very long post then just scroll down to the conclusions at the end.
What makes a good SDR?
In this review we will only consider RX performance. So first we will review some terminology, features and specifications that are required for a good RX SDR.
SNR – When receiving a signal the main metric we want to measure is the “Signal to Noise” (SNR) ratio. This is the peak signal strength minus the noise floor strength.
Bandwidth – A larger bandwidth means more signals on the screen at once, and more software decimation (better SNR). The downside is that greater CPU power is needed for higher bandwidths.
Alias Free Bandwidth – The bandwidth on SDR displays tends to roll off at the edges, and also display aliased or images of other signals. The alias free bandwidth is the actual usable bandwidth and is usually smaller than the advertised bandwidth.
Sensitivity - More sensitive radios will be able to hear weaker stations easier, and produce high SNR values.
ADC – Analogue to digital converter. The main component in an SDR. It samples an analogue signal and turns it into digital bits. The higher the bit size of the ADC the more accurate it can be when sampling.
Overloading – Overloading occurs when a signal is too strong and saturates the ADC, leaving no space for weak signals to be measured. When overloading occurs you’ll see effects like severely reduced sensitivity and signal images.
Dynamic Range – This is directly related to ADC bit size, but is also affected by DSP software processing. Dynamic range is the ability of an SDR to receive weak signals when strong signals are nearby. The need for high dynamic range can be alleviated by using RF filtering. Overloading occurs when a strong signal starts to saturate the ADC because the dynamic range was not high enough.
Images/Aliasing – Bad SDRs are more likely to overload and show images of strong signals at frequencies that they should not be at. This can be fixed with filtering or by using a higher dynamic range/higher bit receiver.
Noise/Interference – Good SDRs should not receive anything without an antenna attached. If they receive signals without an antenna, then interfering signals may be entering directly through the circuit board, making it impossible to filter them out. Good SDRs will also cope well with things like USB interference.
RF Filtering/Preselection – A high performance SDR will have multiple preselector filters that switch in depending on the frequency you are listening to.
Center DC Spike – A good SDR should have the I/Q parts balanced so that there is no DC spike in the center.
Phase Noise – Phase noise performance is determined by the quality of the crystal oscillators used. Lower phase noise oscillators means better SNR for narrowband signals and less reciprocal mixing. Reciprocal mixing is when high phase noise causes a weak signal to be lost in the phase noise of a nearby strong signal.
Frequency Stability – We should expect the receiver to stay on frequency and not drift when the temperature changes. To achieve this a TCXO or similar stable oscillator should be used.
RF Design - The overall design of the system. For example, how many lossy components such as switches are used in the RF path. As the design complexity increases usually more components are added to the RF path which can reduce RX performance.
Software – The hardware is only half of an SDR. The software the unit is compatible with can make or break an SDRs usefulness.
Next we will introduce each device and its advertised specifications and features:
Device Introduction and Advertised Specifications & Features
|Airspy||SDR Play RSP||HackRF|
$199 / $ 249 USD (with Spyverter) + shipping ($5-$20).
As of April 2016, the Airspy Mini is now also for sale at $99 USD.
$149 USD + shipping ($20-$30 world, free shipping in the USA)
£99 + VAT + ~£10 shipping for EU.
|$299 USD + shipping|
|Freq. Range (MHz)||24 – 1800|
0 – 1800 (with Spyverter addon)
|0.1 – 2000||0.1 – 6000|
|ADC Bits||12 (10.4 ENOB)||12 (10.4 ENOB)||8|
10 (9 MHz usable)
6 MHz (6 MHz usable) (AS Mini)
|8 (7 MHz usable)||20|
|TX||No||No||Yes (half duplex)|
|Dynamic Range (Claimed)(dB)||80||67||~48|
|Clock Precision (PPM)||0.5 PPM low phase noise TCXO||10 PPM XO||30 PPM XO|
|Frontend Filters||Front end tracking IF filter on the R820T2 chip.||8 switched preselection filters + switchable IF filter on MSI001 chip||Two very wide preselection filters – 2.3 GHz LPF, 2.7 GHz HPF|
|ADC, Frontend Chips||LPC4370 ARM, R820T2||MSi2500, MSi001||MAX5864, RFFC5071|
|Additional Features||4.5v bias tee, external clock input, expansion headers.||LNA on the front end||5v bias tee, LNA on front end, external clock input, expansion headers.|
The Airspy is designed by Benjamin Vernoux & Youssef Touil who is also the author of the popular SDR# software.
Of note is that there has been a misconception going around that the Airspy is an RTL-SDR/RTL2832U device. This is not true; there are no RTL2832U chips in the Airspy. The confusion may come from the fact that they both use the R820T2 tuner. The RTL2832U chip is the main bottleneck in RTL-SDR devices, not the R820T2. When coupled with a better ADC, the R820T2 works well and can be used to its full potential.
The Airspy team write that they sell units mostly to universities, governments and professional RF users. However, they also have a sizable number of amateur users.
Update: As of April 2016 the Airspy Mini is now for sale for $99 USD. The main difference is a 6 MHz bandwidth and fewer expansion headers, but all other specs appear to be the same.
The SDR Play Radio Spectrum Processor (RSP) is designed by UK based engineers who appear to be affiliated with Mirics, a UK based producer of SDR RF microchips.
The chips used in the SDRplay RSP are dedicated SDR chips which were designed for a wide variety of applications such as DVB-T tuners. The RSP uses these chips and improves on their front end capabilities by adding an LNA and filters in order to create a device capable of general SDR use.
Initially when writing this review we had deep problems with the imaging of strong signals on the RSP. However, a recent Dec 22 update to the drivers has fixed this imaging problem tremendously.
The SDRplay is currently selling about 1000 units a month according to electronicsweekly.com.
The HackRF is designed by Micheal Ossmann a computer security researcher who was given a development grant from DARPA. His company is called “Great Scott Gadgets”.
The HackRF’s most unique feature when compared to the other two SDR’s is that it is capable of both receiving and transmitting.
There is also a clone called the HackRF Blue out on the market which is about $100 cheaper, but they don’t seem to have stock or be producing these any more.
From the specs it is clear from the ADC sizes that both the Airspy and SDRplay RSP are in a different class of RX performance when compared to the HackRF. However, people always compare the Airspy and SDRplay with the HackRF due to their similar price range, so we will continue to compare the three here in our review, but with more of a focus on comparing the Airspy and SDRplay RSP.
In order to use the Airspy on HF (0 – 30 MHz) frequencies a $50 add on called the Spyverter is required. This is an upconverter that is designed for use with the Airspy’s high dynamic range and bias tee power port. However, one hassle is that the Spyverter must be connected/disconnected each time you want to switch between HF and VHF/UHF reception as it does not have VHF/UHF passthrough. The RSP and HackRF on the other hand can receive HF to UHF without the need of an upconverter or the need to change ports. A single port for HF to UHF can be very useful if you have a remote antenna switcher.
Post continues. Note that this is a long post with many images.
System Hardware Requirements
Requires a fast modern PC. The Airspy website suggests at least a 3rd gen Intel i3 2.4 GHz processor. The creators have also suggested elsewhere to look up your CPU score on PassMark and ensure that your CPU score is above 3500.
You will also need to ensure that you have a high quality high speed USB 2.0 port and controller. Some controllers are known to be buggy and are unable to provide the full required bandwidth. Update your USB drivers if you have issues.
Requirements can be reduced slightly by using the “bit packing” feature of the Airspy.
Overall CPU requirements are much higher than the other two options because the Airspy only supports a 10 MSPS (10MHz) sample rate. There is a 2.5 MHz sample rate available, but they write that it may not operate that well at the moment. The Airspy also uses a different USB mode of operation compared to the RSP, which requires greater CPU power.
No requirements are given, but we estimate that minimum specs are significantly lower than what is needed by the Airspy.
The RSP also supports various smaller bandwidths which can reduce CPU requirements.
From online reports it seems to run fine on older PC’s like Core2Duos, though the maximum sample rate may be restricted.
No specific requirements given, other than the need for a good Hi-Speed USB Port for running the HackRF at higher sample rates.
At the highest sample rate of 20 MSPS we estimate that CPU requirements similar to the Airspy are needed.
Initially when writing this review we had trouble running the Airspy on our main PC at its largest bandwidth of 10 MHz. There was significant crackling and jitter on the spectrum due to lost packets. Either our older Intel i5-750 2.67 GHz CPU (passmark 3732 but overclocked to 3.33 GHz) is not fast enough for this high amount of data, or our USB chipset is not good. After updating the USB drivers to the latest version the problem improved, but stuttering was still present. Our problems were solved when we discovered the bit packing feature. With this feature enabled the Airspy worked fine at 10 MHz. This feature reduces the amount of data needed to be transferred by packing the bits resulting in less data transfer for the same results. We also tested the Airspy on a more modern Intel i5-3470 @ 3.2 GHz with passmark score of 6568, and it ran perfectly at 10 MSPS without the need for bit packing, but strangely this CPU saw dropped packets when bit packing was turned on. An Intel i7 laptop on the other hand had no problem running the Airspy with bit packing off. On an i5-4200U @ 1.60 GHz CPU (passmark 3280) laptop the Airspy stuttered even with bit packing turned on.
The RSP worked fine on all the PCs that we tried on (all i5 and i7’s mentioned above) and it ran well at the highest rate of 8 MHz.
On our i5-750 and i5-4200U CPUs we were unable to run the HackRF at 20 MHz without significant crackling and jitter on the spectrum due to lost packets. At the next lowest setting of 16 MHz it ran fine. On the i5-3470 the HackRF ran fine at 20 MHz.
We monitored the USB usage using Windows performance monitor and discovered that the Airspy (with bit packing at 10 MHz) used 30,000,000 bytes per second, the RSP (at 8 MHz) 25,000,000 bytes per second and the HackRF (at 20 MHz) 40,000,000 bytes per second.
After showing a draft of this review to the SDRplay team, it was mentioned to us by them that the main reason that the RSP works well on older hardware is its use of an “isochronous mode” USB driver which is in contrast to the Airspy’s “bulk mode” driver. An isochronous driver reserves the necessary USB bandwidth, whereas a bulk mode driver does not. Thus there is a greater risk of packet loss with a bulk mode driver. However, the disadvantage of an isochronous driver is that there is no means to know how many samples were lost if the system has a transfer error. This means that with an isochronous driver it is impossible to implement coherent receivers, which is one of the Airspy’s use cases with it’s external clock input.
We also note that the Airspy sends raw ADC samples to the PC and then must do the IQ conversion on the PC. In low IF mode the RSP does the same, but in Zero IF mode it sends IQ data.
Physical Appearance and External Design
|Dimensions||5.3 x 2.5 x 3.9 cm||9.7 x 8.0 x 3 cm||12.2 x 7.6 x 1.7 cm|
|Weight||65 g||110 g||100 g|
|Ant. Connector||SMA||SMA (F-Type on older units)||SMA|
|USB Connector||Micro USB||USB B||Micro USB|
|Additional Connectors||MCX CLKIN connector||None||SMA F for CLKIN and CLKOUT|
|Buttons||None||None||RESET and DFU (Firmware flash) buttons.|
Previous versions of the SDR Play (like our purchased unit) used an F-Type antenna connector.
The Airspy is the smallest device with the SDRplay and HackRF being close to the same size.
With RF devices a good enclosure is recommended to help keep any strong RF interference out of the signal path. A conductive metal enclosure is best so that a faraday cage is created. Out of the three units, only the Airspy comes with an aluminium enclosure, and a good electrical connection is made to the enclosure via a nut on the SMA connector and through edge tracks on the PCB. The HackRF and RSP both come in plastic cases and so have no shielding.
All three SDR’s use a standard SMA connector. Previous versions of the RSP, like the unit we used in this review came with F-Type connectors. We don’t like the F-type connector because it is less commonly used in the radio field and it has poorer RF insertion loss properties, so it is good to see that they changed the connector in the newer versions. There were no other changes to the RSP in the upgrade apart from the case and connector, so we believe this change should not significantly affect the review.
We’re not fans of the micro USB ports used on the Airspy and HackRF as they tend to easily cause loose connections with a bit of movement, but due to size constraints we understand why they were used. The HackRF does indeed sometimes disconnect when we move the cable or device around without care, but we have not had this trouble with the Airspy. Micro USB connectors are also easily broken off PCBs with cable strain, however the Airspy and HackRF casings appear to provide adequate strain relief. We also note that Airspy R2 also has a vastly improved micro USB connector that is through hole mounted onto the PCB and looks almost impossible to break. Regardless, as with any connector we would advise against applying too much strain.
The USB B connector on the RSP is sturdy and does not easily come loose. It is also easier to find high quality shielded USB cables with USB B connectors.
The Airspy and HackRF both have external clock inputs. This allows these devices to be used with more accurate clocks, such as GPS synchronised ones. It also allows them to be used as coherent receivers (many receivers using the same clock source) for various applications such as doppler direction finding and passive radar setups.
Installation and ease of use for general frequency browsing on Windows
Installation involves simply plugging the Airspy into the USB port of the PC and letting Windows plug and play automatically install the drivers. The user can then open up SDR#, select Airspy from the menu and push start.
Setting up the RSP first requires installation of it’s drivers from the SDRplay website. As the RSP has no official software, the second step requires the installation of a plugin for SDR#, or other supported software such as HDSDR. The entire set up procedure is simple, but it is not plug and play.
|Installation on Windows is similar to installing an RTL-SDR. Just run zadig and install the WinUSB driver for the HackRF. Then it can run on Windows with SDR#.|
In this review we installed all three SDRs from scratch. All the SDR’s were easy to install on Windows, but the Airspy was the easiest with its plug and play operation.
Native compatibility with SDR# on Windows. Also compatible with HDSDR, SDR-Console and GQRX on Linux. Good support for some other software that is most often used with the RTL-SDR:
Also has unofficially developed ExtIO interface allowing it to work with any app supporting ExtIO. For example:
Good support for the Raspberry Pi 2, especially for ADS-B where they have developed an official 20MSPS ADS-B decoder which claims performance as good as or better than a dedicated Beast ADS-B receiver.
Linux and Mac open source drivers available, but no SDR# support.
Compatible with SDR#, HDSDR and SDR-Console through plugins. Though compatibility with SDR# is restricted as third party plugins cannot be used. The RSP is also compatible with any app supporting ExtIO. For example:
Linux drivers available and plugins for SoapySDR, CubicSDR, Pothos and GNU Radio are available.
CubicSDR also runs with the RSP on the Mac.
Eventual improved support planned for Raspberry Pi 2 and Android.
Compatible with SDR#, HDSDR and SDR-Console on Windows, GQRX on Linux and RF Analyzer on Android.
Several programs in code form on GitHub, but not many “plug and play” apps. Designed to be used more with software like GNU Radio.
One advantage to using the Airspy with its SDR# software is the “decimation” feature. With wideband SDR’s it can be difficult to spot or tune into narrowband signals. You can use the zoom feature, but when zooming you lose resolution. The decimation feature reduces the visible bandwidth, but keeps the resolution high, allowing weak signals to be easily discerned from the noise. An added bonus is that the effective number of ADC bits is increased with decimation, meaning that signals can have higher visual SNR (full audio decimation is performed automatically). This makes the Airspy very good at browsing and fine tuning on small narrowband signals.
The SDRplay RSP can achieve a similar effect by reducing the bandwidth displayed, however this means that a lower sample rate is used, and thus less decimation occurs.
The SDRplay and HackRF do not have the decimation software feature yet, though the SDRplay team write that they have the decimation feature scheduled for an upcoming API update. The RTL-SDR has this feature through a third party plugin written by Vasilli so it seems feasible that this feature can be easily implemented.
Estimated Bill of Materials Cost
These are just very rough guesses and they could be wildly inaccurate. Note that these costs are for parts only, and they do not take into account manufacturing costs, engineering time costs and support staff overhead costs etc.
|Airspy||SDR Play RSP||HackRF|
LPC4370 ~ $8
SI5351C ~ $3
R820T2 ~ $1?
Other components, connectors, passives, PCB, case, cable etc ~$25
Total Cost ~$37?
Mirics FlexTV dongle (dongle uses the same MSi001 and MSi2500 chipsets as the RSP) claimed $5 BOM.
Filters + Switches ~$10
Connectors, Passives, PCB, case ~$10
LNA ~ $1
Total Cost ~$26?
MAX5864 ADC~ $6
RFFC5072 Mixer ~$13
LPC4320FBD144 Processor ~ $5
XC2C64A-7VQG100C FPGA ~ $3
Switches ~ $10
SI5351C ~ $3
Other components, connectors, passives, PCB etc ~$20
Total Cost ~ $70?
|Airspy||SDR Play RSP||HackRF|
The RF chain in the Airspy goes Input -> R820T2 -> LPC4370.
The LPC4370 has a 12 bit ADC.
The website claims a NF of 3.5 dB and an IIP3 of 35 dBm. However this noise figure is probably taken at maximum gain, and the IIP3 taken at zero gain.
The Airspy does not have preselectors, apart from an internal IF filter in the R820T2 chip.
It seems that the design approach of the Airspy is to optimize for signal linearity and to avoid overloading through natural high dynamic range.
The RF chain in the RSP goes Input -> Switch-> MGA-68563 LNA-> Switch -> Filter -> MSi001 -> MSi2500.
The MSi2500 has a 12 bit ADC
The RSP is designed with switching RF filters and an MGA-68563 LNA right at the front end which is only active for signals that are above 60 MHz. The MSi001 tuner chip has a second LNA inside it. The MGA-68563 is used as a preamp to overcome the losses in the filters and presumably to lower the noise figure of the internal MSi001 tuner LNA’s. The MGA-68563 has a 1 dB noise figure, 19.7 dB gain and a 20 dBm OIP3.
According to the SDRplay team the MSI001 has a NF of around 4.5 dB in VHF and UHF mode.
The RSP has 8 switched front front end filters that are automatically selected, as well as an adjustable IF filter inside the MSi001 chip which can help to overcome interference from strong in band signals. To use this internal filter the IF bandwidth must be reduced in the RSP configuration screen. This means that when reducing the IF filter size you will see less that 8 MHz.
In conclusion it seems that the SDRplay tries to optimise itself for sensitivity by using a front end LNA, and focuses more on overcoming the effects of overloading via switched filter banks.
The RF chain in the HackRF is much longer longer and more complex. The front end goes Input -> Switch -> MGA81563 Amp (optional) -> Switch -> Switch -> Switch -> LPF/HPF -> Switch -> Switch -> RFFC5072 Mixer -> Switch -> Switch -> MAX2837 -> MAX5864 ADC -> LPC43XX processor.
The MAX5864 has an 8 bit ADC.
In order to get the HackRF to perform over such a wide range and to RX and TX, many diode switches are placed into the RF chain. Each of these switches causes a 0.35 – 0.5 dB signal loss which can explain why the HackRF has fairly poor sensitivity.
The HackRF also has no real filtering, but technically there is a 2.3 GHz LPF and a 2.7 GHz HPF.
In conclusion the HackRF has rather poor RX specs, with only an 8 bit ADC and several lossy switches.
We are of the opinion that adding an extra LNA right at the front end of a receiver (like what is done on the RSP and HackRF) is generally a bad idea. This is because an LNA at the front end will not reduce the noise figure as much as an external LNA placed near the antenna would. Additionally, if there is a built in LNA placed near the front end, then this ruins the system for optimal performance if an external LNA were to be used. If we were to place a second LNA near the antenna to overcome coax losses, then the linearity (IP3) of the system would be further degraded due to the additional internal LNA, possibly resulting in more overloading and intermodulation. The RSP designers decided to add an extra LNA at the front end to overcome the preselector filter insertion loss, but we think perhaps adding a bias tee and supplying an external LNA would have been better for performance, although more cumbersome. The option to bypass the front end LNA during operation would also be beneficial.
See this previous post for more information on proper LNA placement.
Each SDR has its gain and sample rate controlled through an on screen interface. Here we review the Airspy, SDRplay RSP and HackRF control interfaces.
The Airspy can run in sensitivity, linearity or free mode. The sensitivity and linearity modes simply choose an optimal set of values for the IF/Mixer/LNA gains which can be controlled manually in free mode. The sensitivity mode uses more gain on the LNA which can come at the expense of reduced linearity and thus more intermodulation. The Linearity mode uses less LNA gain, and more IF/Mixer gain which can reduce intermodulation, but at the expense of a few dB’s of SNR. The Airspy quickstart guide suggests the following procedure for setting the gain:
- Start with the minimum gain
- Increase the gain until the noise floor rises by about 5dB
- Fine tune to maximize the SNR (the bar graph on the right)
The sample rate drop box allows you to choose between the two sample rates available for the Airspy which are 10 MSPS and 2.5 MSPS. The 2.5 MSPS option is still experimental and is known to have USB noise problems on some PCs.
The decimation feature allows you to reduce the visible bandwidth while at the same time increasing the visible SNR. This allows you to easily spot and tune into weaker signals.
The Bias-Tee check box allows you to turn on the 4.5V bias tee. The SpyVerter option automatically sets the frequency offset to -120 MHz for easy operation with the SpyVerter upconverter.
There is no option to set the PPM offset (the PPM box is for adjusting the Spyverter upconverter only) as the 0.5 PPM TCXO used on the Airspy should not need any offset adjustment.
For the SDRplay we used a beta version of their SDR# 1400+ plugin for their latest API which fixed most of the RSP’s imaging problems. It was a beta released just to us to do this review sooner so it was a little buggy in terms of crashes, but we stress that this is not the case for the officially released plugins. SDRplay recommend using their ExtIO plugin instead, but to get fair comparison screenshots we wanted to use the same SDR# version on both Airspy and RSP tests. To be sure the plugin wasn’t affecting RX results we compared it to their officially released ExtIO plugin for older versions of SDR# and HDSDR and we saw no changes in terms of signal performance.
The gain tuning method used by the SDRplay is a little different compared to most SDRs like the Airspy and the HackRF. Here instead of tuning by adding gain, they use a gain reduction (GR) method which reduces the gain by some amount from the total available gain. As you adjust the gain slider amplification in the mixer and IF stages change automatically.
There is also the option to toggle on or off the internal Mirics chip LNA. This is the LNA in the tuner chip, and not the front end LNA which is always on for VHF+ frequencies. Turning this LNA on can help to reduce the noise floor, but also may cause additional imaging problems.
If you prefer to use the automatic gain control (AGC) then you can control the “setpoint” value which will try and keep the noise floor at the specified value.
In the IF Amplifier section you can also choose between Zero IF and Low IF modes. The Low IF mode appears to produce less unwanted images, however if the Low IF mode is selected then the largest bandwidth available is 1.536 MHz. The IF bandwidth setting lets you specify the size of the IF filter used in the MSI001 chip. Setting a lower value will reduce the amount of visible bandwidth, but can help to block out in band interferers.
The ADC sample rate can also be adjusted independently of the IF bandwidth, but must be equal to or larger than the IF bandwidth.
The HackRF has only two gain slider control options, LNA and VGA, but there is also an option to enable the MGA-81563 front end amplifier with the Amp check box.
The sample rates available are 8, 10, 12.5, 16 and 20 MSPS.
Real world tests continued on the next page.