Tagged: rtl-sdr

Akos Tests the RTL-SDR Blog Multipurpose Dipole Kit

Over on his blog 'Radio For Everyone' Akos has been testing out our multipurpose dipole kit for ADS-B reception. He goes over each of the components in the kit and does some tests with the kit set up outside. His results show that the dipole kit when used with the smaller antennas can compete favorably with the more expensive FlightAware antenna. We note that the dipole antenna is not designed to be used outdoors for extended periods of time as Akos did as they are not weather proofed for rain. The antennas are designed to be used temporarily outside in good weather conditions. Waterproofing could potentially be achieved by oiling the metal, or potting with hot glue etc.

Akos also does a comparison of the dipole used in two configurations. In one configuration the antenna is used in the recommended vertical orientation, and in the other position in a bunny ears configuration. Antenna theory says that the vertical orientation will work best as ADS-B signals are vertically polarized, and the results confirm that that is true.

FlightAware Antenna vs Dipole
Akos' Results: FlightAware Antenna vs Dipole

Testing out SDRAngel with an RTL-SDR

SDRAngel is a general purpose SDR program similar to other programs like SDR#, HDSDR and SDR-Console. It is compatible with Windows and Linux systems. However, SDRAngel has certain features that make it a good program to have in your SDR software arsenal.

One good feature is that if you have a TX capable SDR like a HackRF, PlutoSDR, BladeRF or LimeSDR then SDRAngel can also be used for TXing. Marty Wittrock has done a lot of previous work figuring out how to TX with LimeSDR and SDRAngel.

If you're only interested in RXing then SDRAngel also has some convenient features such as a built in DSD decoder which can be used to easily decode DMR/MOTOTRBO, dPMR, D-STAR and Yaesu System Fusion (YSF). The decoder is based on the DSDcc library which is a complete rewrite of the original open source DSD software.  It is not quite as developed and feature rich as DSD+, but still does the job decently. SDRAngel also has LoRa and analogue TV (ATV) decoders built in as well, although the ATV decoder kept crashing the software for us.

SDRAngel also supports multiple VFO's on the same bandwidth, has built in decimation, a nice phosphor effect RF spectrum display and a frequency manager. There is also the ability to run multiple SDRs in the same software instance at the same time.

We gave SDRAngel a try on Windows and were able to easily get it up and running with an RTL-SDR. Regular WFM, FM, AM, SSB etc modes all work fine and so does the DSD decoder which we tested on a DMR signal. Getting it to decode was extremely simple, just add a DSD Demodulator channel, then click on the signal and you should be instantly decoding. It is probably the easiest way to get started on decoding a non-trunking digital voice channel, but for trunking channels and P25 signals you should probably still use Unitrunker and DSD+ or SDRTrunk.

SDRAngel Screenshot
SDRAngel Screenshot

Below is a brief tutorial on getting up an running with SDRAngel on Windows with an RTL-SDR:

  1. Download the latest version of SDRAngel from the releases section of the GitHub. Only a build for Windows x64 is available and this has the filename sdrangel64_v3.8.4.7z (version number may change in the future). Linux .deb files are also available for various Ubuntu versions.
     
  2. Using 7zip, extract the 7z file to a folder on your PC.
     
  3. Plug in your RTL-SDR dongle, and run sdrangel.exe. We assume zadig has already been previously run to install the RTL-SDR drivers.
     
  4. On the left under 'sampling devices control' click on the small hand icon. A drop down box will pop up, and from here you should be able to select the RTL-SDR. Press ok.
     
  5. Now you can click the green play button on the top left to start the SDR.
     
  6. By default the display bandwidth is zoomed in very closely with x16 decimation and a sample rate of 1 MSPS. So in the top left box change "Dec" to 1, and increase the sample rate to 2 or 2.4 MSPS if you like.
     
  7. We suggest also clicking on the 'DC' button in the top left to remove the DC spike.
     
  8. Now you can tune around just like in other software by using the frequency numbers in the top left.
  9. If you want a spectrum analyzer display, go to the bottom left box, and click on the blue spectrum icon.
     
  10. Unlike most other software you need to add a demodulator first before you can click on a signal and listen to it. The list of available demodulators can be found in the second box on the left, just below the hand icon which you used to add the RTL-SDR.
     
  11. Select the correct demodulator for your signal of interest (e.g. WFM, NFM, AM, DSD, LoRa etc...), and then click the "+" icon. This will add the demodulator to the right of the SDRAngel window. You may want to drag the right window a little large if you cannot see all of the demodulator option as well.
     
  12. Now you can click on the signal in the spectrum window to move the VFO and begin demodulating the signal. You can explore the demodulator options on the right.
     
  13. Multiple demodulators can be added if desired, just repeat steps 8 - 10. If you add more than one demodulator, the VFO's will need to be dragged.
     
  14. If you're having trouble getting a digital voice signal with DSD to be recognized, try zooming in with the decimation feature or reducing the sample rate. It doesn't seem to work too well with higher bandwidths.

TempestSDR: An SDR tool for Eavesdropping on Computer Screens via Unintentionally Radiated RF

Thanks to RTL-SDR.com reader 'flatflyfish' for submitting information on how to get Martin Marinov's TempestSDR up and running on a Windows system. If you didn't already know by definition "TEMPEST" refers to techniques used by some spy agencies to eavesdrop on electronic equipment via their unintentional radio emissions (as well as via sounds and vibrations). All electronics emit some sort of unintentional RF signals, and by capturing and processing those signals some data can be recovered. For example the unintentional signals from a computer screen could be captured, and converted back into a live image of what the screen is displaying.

TempestSDR is an open source tool that allows you to use any SDR that has a supporting ExtIO (such as RTL-SDR, Airspy, SDRplay, HackRF) to receive the unintentional signal radiation from a screen, and turn that signal back into a live image. This can let you view what is on a screen without any physical connections. If a high gain directional antenna is used then it may be possible to receive images from several meters away as well.

TempestSDR showing what's on the screen via unintentional RF radiation from the monitor.
TempestSDR showing what's on the screen via unintentional RF radiation from the monitor.

Although TempestSDR has been released now for a number of years it hasn't worked properly in Windows with ExtIO interfaces. In his email flatflyfish showed us how to compile a new version that does work.

1. You need to install a 32-bit version of the Java runtime. The 64-bit version won't work with extio's possibly because they are all 32-bit. Also install the JDK.

2. You need to install MingW32 and MSYS and put their bin folders in your Windows PATH.

3. Then when compiling I was seeing a lot of CC command unknown errors. To fix that I just added CC=gcc to the top of all makefiles. I also removed the Mirics compilation line from the JavaGUI makefile to make things easier as we're not using that sdr.

4. Originally my JDK folder was in Program Files. The makefile didn't like the spaces in the folder, so I moved it to a folder without spaces and it fixed the errors.

5. Lastly to compile it you need to specify the ARCHNAME as x86 eg "make all JAVA_HOME=F:/Java/jdk1.7.0_45 ARCHNAME=X86"

After doing all that it compiled and I had a working JAR file. The extio's that are used normally with HDSDR work fine now and I get some images from my test monitor with an rtlsdr.

We tested compilation ourselves and were successful at getting a working program. To help others we've just uploaded a fork of the code with the makefile changes done, as well as a precompiled release ZIP available on the releases page so no compilation should be required to just use it. Note that to use the precompiled JAR you still need to install MingW32, and also don't forget to install the MingW /bin and msys /1.0/bin folders into the Windows PATH. You also do need to have the 32-bit Java runtime installed as the 64-bit version doesn't seem to work. On at least one Win 10 machine we also had to manually add a 'Prefs' folder to the Java path in the registry.

We've tested the software with the ExtIO for RTL-SDRs (available on the HDSDR downloads page) and confirmed that it works. Images from one of our older DELL monitors using DVI are received nicely, although they are a bit blurry. We also tried using an Airspy or SDRplay unit and this significantly improved the quality of the images a lot due to the larger bandwidth. The quality was good enough to make out large text on the screens. ExtIO's for the Airspy are available on this page, and for the SDRplay on the official SDRplay website. Note that for the SDRplay we were unable to go above 6 MHz, and on the RTL-SDR 2.8 MHz was the limit - anything higher on these SDRs did not produce an image possibly due to dropped samples.

To use the software you should ideally know the resolution and refresh rate of your target monitor. But if you don't there are auto-correlation graphs which actually help to predict the detected resolution and frame rate. Just click on the peaks. Also, you will need to know the frequency that your monitor unintentionally emits at. If you don't know you can browse around in SDR# looking for interference peaks that change depending on what the image of the screen is showing. For example in the image below we show what the interference might look like. A tip to improving images is to increase the "Lpass" option and to watch that the auto FPS search doesn't deviate too far from your expected frame rate. If it goes too far, reset it by re-selecting your screen resolution.

Unintentionally radiated RF signal from computer screen shown in SDR#
Unintentionally radiated RF signal from computer screen shown in SDR#

The best results were had with the Airspy listening to an older 19" DELL monitor connected via DVI. A newer Phillips 1080p monitor connected via HDMI had much weaker unintentional signals but images were still able to be recovered. A third AOC 1080p monitor produced no emissions that we could find.

Clear images were obtained with an antenna used in the same room as the monitor. In a neighboring room the images on the DELL monitor could still be received, but they were too blurry to make anything out. Possibly a higher gain directional antenna could improve that.

An example set up with RTL-SDR antenna and monitors
An example set up with RTL-SDR antenna and monitors

Below we've uploaded a video to YouTube showing our results with TempestSDR.

TempestSDR - Remotely Eavesdropping on Monitors via Unintentionally Radiated RF

If you want to learn more about TEMPEST and TempestSDR Martin Marinovs dissertation on this software might be a good read (pdf).

HF Reception with an EeePC and an RTL-SDR Blog V3 Running on a Raspberry Pi with SpyServer

Over on YouTube user IW2DZX has uploaded a video showing him using an old EeePC 900 to receive HF with an RTL-SDR V3 running in direct sampling mode on a Raspberry Pi 3 which is running a SpyServer. An EeePC 900 is an old netbook that was released in 2008 which is lightweight, portable and was fairly cheap. Second hand Eeepc's can now be found on eBay for less than $60 US.

By running the RTL-SDR on a Raspberry Pi 3 with SpyServer the need to have the dongle connected to the netbook is eliminated. Instead the radio data from the RTL-SDR is efficiently sent over a network connection and received via the WiFi on the Eeepc. 

Tracking RS41-SGP weather balloons and reporting them to the APRS Network

Over on his blog Daniel Estevez has created a post showing how an RTL-SDR can be used to receive, plot and forward RS41-SGP radiosonde data to the APRS-IS network. Radiosondes are the small payloads used on weather balloons. They transmit weather and positional telemetry data back to a base station at the meteorological agency. But depending on the frequency used in your country it can be fairly easy to receive this data yourself with an RTL-SDR dongle and some decoding software. We have an introductory tutorial for radiosonde decoding available here.

In his area of Barajas, Spain the meteorological agency recently switched to the newer RS41-SGP radiosondes. To decode these Daniel uses the open source "RS" software which is capable of decoding various radiosondes including RS41. He notes that for now it is better to use his fork of "RS" as the base version contains a bug. He also shows how the received data can be plotted in Viking, which is a program used for plotting things like GPS tracks on a map.

Finally he shows how to feed the radiosonde data to the APRS-IS network. APRS is a packet radio system used by hams which works via radio and the internet, allowing for worldwide communication by radio. Feeding the data into APRS-IS allows anyone to see the flightpath on a site like aprs.fi.

Radiosonde Flight Path
RS41 Radiosonde Flight Path recorded by Daniel Estevez

SpyServer Now Supports RTL-SDR Direct Sampling

SDR#'s SpyServer streaming server now supports the direct sampling mode on RTL-SDR dongles and it's probably the cheapest way to set up a HF streaming server. SpyServer is a streaming server for SDR# and Airspy products. Although it's designed for Airspy products it also works well with RTL-SDR dongles.

On RTL-SDR dongles the direct sampling mode allows you to receive HF frequencies by bypassing the tuner. The dynamic range is not quite as good as using an upconverter and there are Nyquist images from sampling at 28.8 MHz centered around 14.4 MHz, but in most cases it is good enough to give people decent HF results especially if filtering is used. Normally a hardware hack is required to enable direct sampling, but our RTL-SDR Blog V3 units have direct sampling built in and ready to go just by connecting an HF antenna to the SMA port, and enabling the Q-branch direct sampling mode.

There is a sample server set up at sdr://151.20.181.90:5555.

SpyServer Direct Sampling Mode
SpyServer Direct Sampling Mode

Talks from the AMSAT-UK RSGB 2017 Convention

The Radio Society of Great Britain (RSGB) and AMSAT-UK recently presented a number of talks at their latest convention held in October of this year. Some of the talks are SDR related and are interesting for those interested in satellite reception. A couple of interesting SDR related talks are presented below, and the rest of the talks can be accessed on their YouTube page.

Software defined radio for the satellite geek - Alex Csete OZ9AEC

In this talk Alex Csete (Oz9AEC) who is the programmer behind the popular GQRX software that is often used with RTL-SDRs discusses his latest work and some of his experiences with writing software for SDRs.

2017: Software defined radio for the satellite geek - Alex Csete OZ9AEC

Going to space the libre way - Pierros Papadeas, Libre Space Foundation

In this talk Pierros Papadeas who is the founder of the Libre Space Foundation discusses their SatNOGS project. SatNOGS is a project that uses RTL-SDRs in custom 3D printed home made satellite tracking ground stations. It aims to enable easy access to live satellite data online by significantly increasing ground station coverage.

2017: Going to space the libre way - Pierros Papadeas, Libre Space Foundation

A Tutorial on Receiving HRPT Weather Satellite Images with an SDRplay RSP2

RSP2user's HRPT equipment

Over on the SDRplay forums user 'RSP2user' has put up a quality post describing how he receives HRPT weather satellite images with his SDRplay RSP2. HRPT stands for 'High Resolution Picture Transmission' and provides a much higher resolution image compared to the APT weather satellite images typically downloaded from NOAA satellites. Somewhat confusingly the picture quality of HRPT is similar to LRPT (low rate picture transmission) which is used on the Russian Meteor M series weather satellite. HRPT provides 1.1 km resolution, whilst LRPT provides 1 km resolution.

Currently there are multiple satellites broadcasting HRPT signals including NOAA 19, NOAA 18, NOAA 15, Meteor M2, Fengyun 3B, Fengyun 3C, Metop A and Metop B.

The difference in difficulty of receiving APT and LRPT versus HRPT transmissions typically occur in the L-band at about 1.7 GHz, and requires a directive high gain antenna with tracking motor to track the satellite as it passes over. This makes these images many times more difficult to receive compared to APT and LRPT which only require a fixed position antenna for reception at the more forgiving 137 MHz.

Over on his post RSP2user shows how he uses a repurposed Meade Instruments telescope tracking mount and controller to drive the tracking of a 26 element loop Yagi antenna. A 0.36dB noise figure LNA modified with bias tee input is used to boost the signal and reduce the noise figure. The signal is received by a SDRplay RSP2 and processed on a PC with USA-satcoms HRPT decoder software, which is available for purchase by directly contacting him. The HRPT signal bandwidth appears to be about 2.4 MHz so possibly an RTL-SDR could also be used, but it might be pushing it to the limit.

If you are interested, RSP2user also uploaded an APT weather satellite image reception tutorial on another post. This tutorial shows how to build a quality quadrifilar helix antenna as well.

Receiving the HRPT signal on USA-Satcoms' HRPT decoder.
Receiving the HRPT signal on USA-Satcoms' HRPT decoder.