Leif, the programmer of Linrad has uploaded a video on YouTube showing how to set up it’s waterfall for very high sensitivity reception of extremely weak signals. Linrad is an SDR GUI receiver software with a tough learning curve, but very advanced features. In the tutorial Leif uses an RTL-SDR dongle to receive a weak beacon at 144.412 MHz. He shows how to adjust the Linrad settings to produce a waterfall and FFT spectrum that it optimized for visualizing and tuning to very weak signals such as distant beacons.
Recently a reader wrote in to correct some mistakes regarding the Linrad software on our big list of RTL-SDR supported software post. Along with those corrections this reader also wanted us to know how much of a superior receiver he believes Linrad and the special Linrad RTL2832U E4000 drivers are.
If you are unaware, Linrad is an RTL-SDR supported SDR receiver program (similar to SDR#/HDSDR/SDR-RADIO) with very advanced features, but also a relatively steep learning curve.
The reader who wrote in wants to remain anonymous, but we will say that as far as we can tell he is not affiliated with the development of Linrad, and is simply a Linrad user and fan.
The first point the reader would like to make is about the Linrad RTL-SDR drivers special linearity mode.
[The Linrad drivers] main advantage for RTL E4000 based dongles isn’t the weak signal mode. It’s actually the linearity mode that provides significant dynamic range improvements over the existing osmocom drivers (http://www.sm5bsz.com/linuxdsp/hware/rtlsdr/rtlsdr.htm).
The author of Linrad, Leif, is very knowledgeable in both RF and SDR technology. It is extremely rare to be skilled in both. Leif submitted his modified RTL drivers to the osmocom team, but as best as I could tell, it became quite apparent the osmocom team does not have a firm grasp of the concept of dynamic range, and receiver performance metrics. Leif’s code was rejected for cosmetic reasons. It is a large shame, but highlights the extremely poor understanding the SDR community has of basic receiver performance metrics.
Your readers should take a look at this video.
Shortly after the 4 minute mark, a strong signal is introduced into all four dongles. This signal is swept across so at times it is not present in the frequency span the dongles are listening to. Two of the dongles are E4000 based RTL SDRs, and naturally the Linrad one is using properly optimized settings. Notice how the properly optimized Linrad drivers show a nice calm spectrum, free form spurs, harmonics, images and other offending signals when the signal generator is introducing a signal several MHz away from the listening frequency span.
Notice how the osmocom dongles are essentially trashed, where nothing but the strongest of strong of signals could be heard, and even then it’s likely to have distortion. This is what happens in the real world. For most people, when they connect their RTL to an outdoor antenna, their receive performance is not limited by the noise figure of the dongle, but rather by its dynamic range. Leif is the _only_ SDR program author that fully understands this.
Note that if you just want to try the modified Linrad E4000 drivers on SDR#, there is this modification that can help.
As well as the driver issue the reader also highlights some advanced features of the Linrad SDR program itself which are not present in most other similar software defined radio programs.
1) Proper I/Q calibration. Other programs at most only allow you to calibrate a SDR for a single part of the spectrum. This is not proper, because at a few kHz away, the I/Q balance will shift and the calibration will no longer be accurate. Linrad allows you to calibrate for many frequency intervals across the SDR’s bandwidth, resulting in a flat frequency response and true I/Q phase and amplitude balance calibration.
2) Due to frequency response calibration using a pulse generator (http://www.sm5bsz.com/
linuxdsp/flat/sqrpulser.htm), Linrad has a phenomenal “smart” noise blanker to remove (blank) pulse noises. Signal with no blanker http://sm5bsz.com/linuxdsp/blanker/leon2001/leo-nob.mp3. Here is the same recording, but with the “magic” of a fully calibrated Linrad blanker. http://sm5bsz.com/linuxdsp/blanker/leon2001/linleo.mp3. No other SDR software’s blanker can produce results like this.
3) Linrad can multicast its output to multiple computers or directly to a single computer over the network. You can also run multiple instances of it on the same computer.
4) Linrad’s waterfall is effortlessly optimized to display signals ~10dB (or more) weaker than what you can hear. No other SDR program allows this “out of the box”. Some will achieve similar performance by adjusting various settings, but will require more averaging (slower water fall speed) to achieve a similar waterfall “visual” SNR as Linrad.
5) Linrad allows varying of various sample and time settings adjustments to make extremely precise measurements such as frequency stability (http://www.sm5bsz.com/lir/sdrcmp/jan14/stab432.htm and http://www.sm5bsz.com/lir/sdrcmp/fqstab/fqstab.htm) noise figure (http://www.sm5bsz.com/lir/nf/nf2.htm) and phase noise (http://www.sm5bsz.com/osc/osc-design.htm)
6) Linrad supports two RF channel input for diversity reception.
7) Linrad’s AGC is superior to that of other SDR programs and analog receivers, often vastly superior (http://www.sm5bsz.com/lir/agctest/agctest.htm)
8) Proper and adaptable AFC to place a narrow filter around a signal that drifts (http://www.sm5bsz.com/linuxdsp/afc/meteor.htm)
Finally, as a conclusion the reader writes
In short, if you want to listen to FM broadcast signals from 88-108 MHz, take your pick of SDR programs, it doesn’t matter when picking up a 50+ kW transmitter a few dozen kilometers away. If you want top performance, learn about DSP, RF, performance metrics, and so forth, there is only one suitable program: Linrad. Nothing else comes close.
There are now dozens of software defined radio packages that support the ultra cheap RTL-SDR. On this page we will attempt to list, categorize and provide a brief overview of each software program. We categorize the programs into general purpose software, single purpose software, research software and software compatible with audio piping.
If you know of a program that is missing please leave a comment in the comments section at the bottom of the page.
13/02/2014 - Added Sodira, gr-wmbus, rtlsdr-waterfall, QTRadio, multimon, sdrangelove, lte-scanner, rtl_tcp, rtl_sdr_FS20_decoder.
17/02/2014 - Updated the Linrad description.
28/04/2014 - Added Modesdeco and Trunk88.
30/05/2014 - Added RTL Panorama, RTL SDR Panoramic Spectrum Analyzer, Chrome Radio Receiver, SeeDeR, DAB Player, RTL SDR Installer, PD/Max Wrapper, SDRWeather, LTR Analyzer, softEOT/softDPU and ScanEyes.
26/07/2014 - Added PiAware, OOK-Decoder, rtl_fm_python, rtl_power heatmap viewer, RTL Bridge, threejs-spectrum, CANFI Software, PNAIS, FLARM Decoder, Xastir, RTLSDR-Airband, SDRTrunk.
13/11/2014 - Added Touchstone, RFAnalyzer, RTL1090 XHSI Interface, Parus Decoder, PlotRTL1090, LRPT Decoder.
05/02/2015 - Added rtl_tool_kit, CubicSDR, OregonWeather, FreqWatch.
15/04/2015 - Added ADSBox, YouSDR, FlightAware Flight Feeder, Frequensea, Track your flight EUROPE, QSpectrumAnalyzer, Doppler & Demod, Redsea, rtl_heatmap, gr-gsm, driveby, SDRecord.
23/12/2015 - Added Remote rtl_udp, AISRec, dump978, AISDeco2, SDRrecorder, OpenWebRX, dsame, RTL-Widespectrum, rtl_ais, rtl_gopow, ham2mon, rtl_ais_android, inmarsatdecoder, spektrum, qtcsdr, rtl_power_fftw, JAERO, GNSS-SDRLIB, SVxLink.
8/09/2017 - Added inspectrum, gr-isdbt, telive, tetra-listener, gr-iridium, SDRuno, luaradio, rx_tools, kukuruku, chronolapse, cloud-sdr, natpos, d3-waterfall, SDRDue, gqrx-ghostbox, ships, rtlmic, tsl-sdr, universal radio hacker, dumpvdl2, re-dected, aerial-tv, questasdr, welle.io, spyserver, dspectrumgui, atcsmonitor, NRSC5 HD Radio Decoder, leandvb, imsi-catcher, block stream receiver, salamandra, deinvert, RS.
6/11/2017 - qradiolink
15/06/18 - Zeus Radio
11/01/19 - SCEPTRE
General Purpose RTL-SDR Software
We define general purpose SDR software as programs that allow the RTL-SDR to work like a normal wideband radio receiver.
SDR# (Windows) (Free)
SDR# (pronounced "SDR Sharp") is the most popular free RTL-SDR compatible software in use at the moment. It is relatively simple to use compared to other SDR software and has a simple set up procedure. We have a full overview of the installation procedure on our Quick Start Page. SDR# is designed to be use with the $199 Airspy SDR, but works just fine with the RTL-SDR.
SDR# is a simple to use program that also has some advanced features. It has a useful modular plugin type architecture, and many plugins have already been developed by third party developers. The basic SDR# download without any third party plugins includes a standard FFT display and waterfall, a frequency manager, recording plugin and a digital noise reduction plugin. SDR# also decodes RDS signals from broadcast FM.
HDSDR (Windows) (Free)
HDSDR is based on the old WinRAD SDR program. HDSDR supports the RTL-SDR through use of an ExtIO.dll module. To install HDSDR, download the program from the link on the main HDSDR page, then to use the RTL-SDR you will need to download the ExtIO_RTL2832.dll file an place it into the HDSDR folder. When opening HDSDR, select the newly copied ExtIO_RTL2832.dll. The other dlls that come with HDSDR will not work with the RTL-SDR, even though they have RTL-SDR in their filename. The official installation instructions can be found here.
Along with a FFT display and waterfall, HDSDR has some extra advanced features. Users will also find an Audio FFT and waterfall display on the bottom of the screen. The output audio can also be bandpass filtered by dragging the filter borders on the display. Bandpass filtering the audio can really help clean up a noisy signal. The audio processing also supports placing of notch filters either manually or automatically. There are also noise reduction and noise blanker features and an automatic frequency centering algorithm which will automatically center the signal, so you don't need to click exactly in the center of a signal. Traditional ham radio users will also enjoy the S-units signal strength meter and the built in frequency manager.
SDR-RADIO.COM V2/V3 (Windows) (Free)
SDR-RADIO.COM V2 and the newer V3 is a popular SDR program with many advanced features. As such is it a fair amount more difficult to learn and use compared to SDR# and HDSDR. Be sure you install version 2 and not V1.5 as only V2 has RTL-SDR support.
Once sdr-radio is installed, to get it working with the RTL-SDR you will need to compile or download three .dll files (SDRSourceRTL2832U.dll, rtlsdr.dll and libusb-1.0.dll) and place them into the sdr-radio folder. To compile your own dlls see the instructions here, otherwise download the dlls directly from the bottom of this link. If the dlls were placed in the correct folder you will be able to add your RTL-SDR as a receiver by clicking on the +Definitions button, and then finding and adding the RTL SDR (USB) option under the search drop down menu.
Like HDSDR, not only does sdr-radio have a RF FFT signal and waterfall display, but also an optional audio spectrum FFT and waterfall display. Built in are also several DSP features like a noise blanker, noise reduction filter, notch filter and squelch options. The EMNS noise reduction filter is particularly good at automatically cleaning up and clarifying voice signals.
To add to the feature list, sdr-radio also has built in PSK, RTTY and RDS decoders, and also comes with a satellite tracker. Furthermore, sdr-radio V2 (not V3 yet) has an excellent remote server which will allow you to easily set up and connect to a remote RTL-SDR server over a network or the internet. Finally, sdr-radio is capable of listening to up to 6 signals in the same chunk of visible spectrum at a time.
Linrad is an advanced SDR software program which supports the RTL-SDR. It is not as easy to use as the more popular SDR#, but some people prefer to use it as it has a very high information density GUI. The author of Linrad has uploaded two videos to YouTube that show how to install Linrad on Windows XP and Linux, which may be useful to those wishing to try Linrad out.
A few days ago we posted a video by sm5bsz showing some comparisons between the E4000, R820T and FC0013 tuners, and also a comparison between the special linearity gain mode driver in Linrad and standard Osmocom driver in SDRSharp.
Now sm5bsz, programmer of Linrad and the special gain modes for the E4000 has done another test using only Linrad, which more fairly demonstrates the difference between the various tuners, and the effect of the special gain drivers in Linearity mode. He writes
In this video RTL2832 dongles are compared for sensitivity, spurs and intermodulation. The difference between the Linrad linearity mode and the original Osmocom gain setting is demonstrated as well as spurs in R820T and FC0013.
Which one to prefer depends on the local RF Environment and whether a selective filter is used between the antenna and the dongle.
Note: The Linrad vs SDRSharp video has been removed by the uploader.
Finally in this video, he also compares the standard Osmocom driver to the sensitivity mode available in the modified gain profile drivers. He writes
The sensitivity mode has very poor performance for signals far away from the passband, but it allows about 10 dB better dynamic range for interferences within the passband. Sensitivity mode is for usage with a selective preamplifier while the Osmocom gain mode is a reasonable compromise. The Linrad linearity gain mode is for use without filters in difficult RF Environments.
Linrad can be downloaded from here and the modified Osmocom drivers with linearity and sensitivity gain profiles for the E4000 can be downloaded here. SDRSharp can also use the modified Osmocom drivers with Linearity and Sensitivity modes with this plugin by Zefie.
On YouTube sm5bsz has uploaded a video showing a comparison between the E4000, R820T and FC0013 tuners, and also comparing the receive performance of SDRSharp and Linrad. In the video Linrad showed superior receive performance with the E4000 when compared to SDRSharp due to some custom gain profiles which are enabled in Linrad only (but can also be enabled in SDRSharp with a plugin/mod).
Note that the reason Linrad showed better performance is purely due to the fact that he used a modified librtlsdr driver in Linrad which has the custom gain profiles. However, in a previous post we posted about a modification/plugin to SDRSharp which allows this modified librtlsdr to be used, which will allow SDRSharp to perform as well as Linrad for the E4000.
Linrad is another software defined radio program which is much more difficult to use, but was the first program to support the modified librtlsdr. Some people prefer Linrad due to it’s advanced GUI which has a lot of signal information on display.
One of the advantages of using Linrad on Linux used to be the ability to use a modified rtlsdr.dll file with improved sensitivity gain settings for the E4000 tuner. This mod added the following settings.
- AGC mode.
- Compromise. This is the gain settings available in the rtl-sdr library as of October 2012.
- Linearity mode. For use without filters in environments with strong signals. Low front end gain and high gain after filters.
- Sensitivity mode. For use in rural locations or when filters and preamplifiers are placed between the antenna and the dongle. High front end gain and low gain after the filters.
Here is a Reddit thread discussing the improvements, and showing how to apply them to Linrad.
Now Reddit user rtlsdr_is_fun has ported this mod to Windows, and has written an SDRSharp plugin that enables the modified E4000 gain modes via rtl_tcp. This means you will need to run rtl_tcp first, and then connect to it using the RTLSDR / TCP option in SDRSharp. This mod also enables direct sampling for rtl_tcp.