Working Towards a Fast OpenWebRX HF Web Receiver + The Ethics of KiwiSDR

Over on his blog András Retzler has created a post that discusses his research work on creating a fast networked wideband HF receiver. András is the creator of the web based OpenwebRX software, which allows RTL-SDR and some other SDR’s to efficiently broadcast their SDR data over a network and onto the internet. Some live SDR’s can be found at the OpenWebRX directory at sdr.hu.

The problem with the current implementation, András writes, is that while OpenWebRX works well with the RTL-SDR’s 2.4 MSPS sampling rate, it can not work so well with very high sampling rates, such as 60MSPS due to excessive computational requirements when several channels need to be monitored. András’ solution is to use his Fast Digital Down Conversion (FastDDC) algorithm which is significantly more CPU efficient. András writes that the FastDDC algorithm improves computation by up to 300% in some cases, can speed up calculations on low powered computers like the Raspberry Pi 2 and can be implemented on a GPGPU for even higher performance. He is still working to implement the algorithm in OpenWebRX.

Performance of the FastDDC Algorithm
Performance of the FastDDC Algorithm

In addition to his work, András has also posted about what he feels is a bit of an injustice between his work on OpenWebRX and the KiwiSDR designers. The KiwiSDR is a new wideband HF SDR that has recently been successfully funded on Kickstarter. Andras writes that he is discontented with the fact that the KiwiSDR developers have forked his open source software (OpenWebRX) and are now profiting from it, without contributing back to the original project.  András writes:

John Seamons has forked OpenWebRX, and sells his own hardware with it. The web interface is clearly the selling point of the device. After getting a lot of help from me, most of which was inevitable for his success, now John and ValentF(x) are leaving me with nothing, except a ‘Thank you!’. John has told me that OpenWebRX is a large part of his project, and he also claimed that my work has reduced the time-to-market of his product by maybe a year or so.

Why I’m standing up here is that forking open source software (which means changing the code in a way that is incompatible with the original version, and taking development in another direction), and funding it through Kickstarter is a very unusual way of getting things done. I acknowledge that John has very much work in his board and the accompanying software, however, he treated me and my project in an unethical manner.

In the Kickstarter comments section, the KiwiSDR creators reply back with their side. It is hard to say who is in the right in a situation like this. While what KiwiSDR have done is legal according to the licence, the ethics of doing so are questionable. We hope that both parties can successfully come to an agreement in the end.

If you want to directly support András and his work on OpenWebRX and other projects like FastDDC, then please consider donating to him at http://blog.sdr.hu/support. If you are a KiwiSDR backer, donating to Andras may be one way to right the situation if a deal cannot be reached.

Recent Updates to the JAERO L-Band and C-Band AERO Decoder

JAERO is a program by Jonti that was released late last year which allows us to use a SDR such as an RTL-SDR to receive L-band and C-Band AERO messages. AERO is essentially the satellite based version of ACARS, and the L-band signals contains short ground to air messages with things like weather reports and flight plans intended to be transmitted to aircraft. The C-band signals are the air to ground portion of AERO and more difficult to receive as they require an LNB and large dish. However they are much more interesting as they contain flight position data, like ADS-B.

Over March JAERO has had some minor updates. It is now possible to display planes on a map by using it’s SBS1 protocol output and outputting the data to Virtual Radar Server. The second more recent update now allows JAERO to simultaneously monitor up to two C-band AERO channels. To do this you will need to use the AUX VFO plugin for SDR#.

If you enjoy JAERO, please remember consider donating to Jonti.

Plotting flights positions out of regular ADS-B range which were demodulated from C-Band AERO signals by JAERO.
Plotting flight positions that are out of regular ADS-B range. Demodulated from C-Band AERO signals with JAERO.
Monitoring two C-Band channels in SDR# with the AUX VFO plugin.
Monitoring two C-Band channels in SDR# with the AUX VFO plugin.

RTLSDR4Everyone: ADS-B with an LNA and more Comparisons

Over on the RTLSDR4Everyone blog author Akos has uploaded two new posts. In the first post he discusses his opinion on the recently announced FlightAware ADS-B Optimized ProStick, which is an RTL-SDR with an 1090 MHz optimized LNA built into the front end. He writes that he believes that the claimed 30% increase is not possible with the ProStick as his own tests using an LNA4ALL at the front end only showed a 10% increase in range at most. In his post he also shows that the updated Nooelec R820T2 stick comes with a suction cup holder for it’s supplied antenna.

To add to his post, while we haven’t received the ProStick unit we bought for review yet we believe that the ProStick will improve ADS-B reception a certain amount in some situations, especially for those using the stick in such a way where it is placed right at the antenna, or with a small desktop style antenna with little coax, both with an appropriate ADS-B filter used. However, as Akos also suggests in his post we believe that the superior solution is an external type LNA, like the LNA4ALL.

In his second post Akos also compares our RTL-SDR Blog dongle and two Nooelec dongles using some rtl_power scans. He finds that the latest Nooelec dongle has some further improved components such as a lower noise 3.3V LDO and shielded inductors which appear to further reduce the noise floor. 

ADS-B Filter + LNA4HF + RTL-SDR + Rasberry Pi.
ADS-B Filter + LNA4HF + RTL-SDR + Rasberry Pi.
Noise floor scans
Noise floor scans

Radio Astronomy Tool rtl_power_fftw Updated

The rtl_power program allows you to use the RTL-SDR to perform a power scan over an arbitrarily large portion of the frequency spectrum (within the RTL-SDR’s supported frequency range) by hopping over ~2 MHz swaths of bandwidth. The updated rtl_power_fftw software was originally written by Klemen Blokar and Andrej Lajovic and is an update over the regular rtl_power program. It uses a faster FFT processing algorithm and has several other enhancements that make it more useful for radio astronomy purposes.

Recently Mario Cannistrà has released a new version of rtl_power_fftw which has several additional improvements applied. He intends to use it in his RTL-SDR based radio astronomy IoT project which is presented on his Hackster.io blog. He writes:

I added the following command line parameters:

  • -e param for session duration
    this allows to specify the recording duration in sec, mins… etc just like it was possible with rtl-power
  • -q flag to limit verbosity
    this will allow the various printouts to happen only the first time and not on every scan
  • -m param to produce binary matrix output and separate metadata file
    this will get a file name (no extension) and use it to store the power values in binary format within a .bin file + a metadata text file with .met extension

Summary of my requirements:

  • I wanted to leverage the ability of rtl-power-fftw to specify N average values to integrate for less than 1 second when needed. Plus running multi-MHz scans and storing for several minutes.
  • I wanted to use a binary format instead of the .csv one in order to obtain the smallest possible size since I’m logging all the night long (CSV’s blank delimiters and decimal dots were wasting my precious microSD space)
  • keep high the precision on decimal digits saving float values (could be important for other usages)
  • obtain a complete stream of binary values representing all the bins for each scan, one scan after the other, in a matrix like organization
  • …that would allow me to plot the waterfall extremely fast with gnuplot
  • …and then add specific annotations and file properties/metadata in a more convenient way using python
Example rtl_power_fftw output: A scan of Jupiter's radio emissions.
Example rtl_power_fftw output: A scan of Jupiter’s radio emissions.

Comparing ADS-B Reception with the RTL-SDR, Airspy and Beast Receivers

Over on satsignal.eu the author has set up a page showing live statistics of his ADS-B reception for the RTL-SDR and Airspy software defined radios, and also for the Beast ADS-B receiver. The Airspy is a $199 software defined radio that many consider as a next stage up from the RTL-SDR, and the Beast is a ~$270 USD dedicated ADS-B receiver.

Unsurprisingly the results clearly show that the Airspy receives ADS-B signals significantly better than the RTL-SDR. However, what comes as a surprise is that it is actually appears to be outperforming the dedicated Beast receiver. In the tests with the outside vertical antenna, the Airspy running on a Raspberry Pi appears to receive a significant higher number of messages and also sees planes out to a further range.

Not too long ago the Airspy team released their ADS-B software for the Raspberry Pi 2. They write that this software uses the full 10 MHz bandwidth and can even decode messages that are overlapping one another. We’ve also been told by the Airspy team that the Airspy is already in professional use as an ADS-B receiver amongst several small airports.

In the future we hope to compare the Airspy against the RTL-SDR on ADS-B reception ourselves, and also compare it against the 8 MHz bandwidth SDRplay whose development team have also recently released a new ADS-B decoder, as well as the recently released FlightAware ADS-B Prostick RTL-SDR.

Beast and Airspy comparison on ADS-B Reception.
Beast and Airspy comparison on ADS-B Reception.

FlightAware ProStick: A new ADS-B optimized RTL-SDR with built in LNA

The FlightAware team have today announced the release of the "ProStick", an RTL-SDR dongle that they write has been modified for improved ADS-B reception. The new FlightAware RTL-SDR's main defining feature is that it comes with a built in low noise amplifier (LNA) on the front end. The built in LNA is optimized for the ADS-B frequency of 1090 MHz and has 19 dB of gain with a 0.4 dB noise figure and an OIP3 of +39dB. They claim that the new unit will give a 20-100% performance boost in terms of range for Mode S reception when compared to a standard RTL-SDR.

As the increased gain and amplifier non-linearities can cause overload and intermodulation to more easily occur, the FlightAware team stresses that you must use the new device with a 1090 MHz filter, such as their FlightAware filter. In a previous post we reviewed the FlightAware filter and antenna and found that they performed very well and are great value for money.

The new unit is priced cheaply at $16.95 + shipping on Amazon for US buyers, and $24.95 + shipping on eBay for international buyers.

So far we haven't seen any circuit photos or news about which LNA chip has been used, but we intend buy a unit and do a review when it arrives.

One criticism about this unit that we can already see is that it should be understood that good RF design teaches us to always place the LNA as close to the antenna as possible to overcome cable loss and keep the noise figure low. Placing the LNA at the antenna vs at the receiver makes a huge difference in performance, depending on how long and lossy your coax cable run is. Furthermore, integrating an LNA into the receiver ruins the system for optimal performance with an LNA placed by the antenna due to the reduced linearity caused by the additional internal LNA. The post at http://ava.upuaut.net/?p=836 explains optimal LNA placement very well. We think that perhaps selling an external LNA and bias tee module would have been a significantly better idea to optimize ADS-B reception. However, the additional LNA should help to reduce the noise figure of the dongle by a few dBs which will result in improved ADS-B reception as long as signal saturation does not occur. 

The new FlightAware ADS-B optimized RTL-SDR.
The new FlightAware ADS-B optimized RTL-SDR.
The new FlightAware dongle running on a PiAware Raspberry Pi system.
The new FlightAware dongle running on a PiAware Raspberry Pi system (actual unit uses SMA).

Meteor M-N2 now active again

According to various reports the Russian Meteor M-N2 satellite appears to be active again once more. The Meteor M N-2 is a polar orbiting Russian weather satellite that was launched in July 2014. It transmits with the LRPT protocol which allows us to receive weather satellite images with an RTL-SDR that are of a much higher resolution than the NOAA APT satellites. 

Unfortunately late last year Meteor M N-2 had some problems and LRPT transmissions were turned off for the time being. During this downtime the Russian space agency switched the LRPT transmitter on the older Meteor M N-1 satellite back on, even though the satellite was tumbling in orbit. Currently people are not reporting any signal from Meteor M N-1, so this may have been turned off, perhaps temporarily.

Now however, it seems that Meteor M N-2 has been switched back on again and various people have already successfully received its signal. If you want to receive these Meteor M N-2 weather images with an RTL-SDR dongle or other SDR then you can view the tutorial written by Happysat here.

Another Sample LRPT Image
A Sample LRPT Image from Meteor M N-2

Michael Ossmann’s Talk on RF Circuit Design

At the 2015 Hackaday super conference Michael Ossmann (designer of the HackRF SDR and various other RF products) gave a talk called “Simple RF Circuit Design”. His talk explains in very simple terms how to successfully create RF circuits without the need to do any complicated calculations. The workshop blurb reads:

This workshop on Simple RF Circuit Design was presented by Michael Ossmann at the 2015 Hackaday Superconference. It sold out almost immediately and for good reason. He has designed numerous popular tools like the the HackRF One and YARD Stick One. Michael’s depth of knowledge and experience make him a leader in a field that is often called a dark art. There is no reason to fear RF design. Follow his recommendations and remove some of the mystery from the topic.

Essentially his talk boils down to 5 rules:

  1. Use Four Layers
    You’ll have less RF trouble and design work with four layers than on a two layer board. Four layers allows you to have unbroken power planes which helps to reduce ground loops.
  2. Use the Most Integrated Component Possible
    Instead of designing your own RLC circuits and filters and taking into account various factors like Q values, just use an integrated circuited with defined parameters. 
  3. Design for 50 ohms Everywhere
    Keep every thing matched to the standard 50 Ohms for optimal impedance matching.
  4. Follow Manufacturer Recommendations
    Use the layouts specified by the manufacturer.
  5. Route the RF Parts First
    Route the most critical part, the RF section first and keep digital lines away.
Michael Ossmann: Simple RF Circuit Design