Category: Applications

Transmitting DATV with a just a Raspberry Pi

All the way back in April 2014 we first posted about how the Raspberry Pi was able to transmit FM by cleverly modulating one of it’s GPIO pins. Later in October 2015 F5OEO expanded this idea and created software that allowed the Raspberry Pi to transmit not only FM, but also AM, SSB, SSTV and FSQ. Soon after some filter shields such as the QRPi were released to try and cut down on the spurious emissions caused by transmitting using this method.

Now F5OEO has once again taken this method a step forward and has created software capable of allowing the Raspberry Pi to transmit Digital Amateur TV (DATV). The software is called Rpidatv, and can be downloaded from https://github.com/F5OEO/rpidatv. It can be run from the command line, or via a touch graphical interface if you have a touchscreen LCD screen. DATV is a DVB-S broadcast and can be decoded with an RTL-SDR by using the leandvb software which is bundled together with the Rapidatv software. Previously we’d posted about how the International Space Station intends to one day transmit DATV and that it can be decoded with an RTL-SDR.

F5OEO writes that the software is capable of generating a symbol rate from 64k symbols to 1M symbols, which is enough to transmit one video with good H264 encoded quality. He also writes that using a low symbol rate may be useful for long distance transmissions as the signal will take up a smaller bandwidth. For example a 250K symbol transmission would only need 300kHz of bandwidth. He writes that this type of transmission could easily be used in the ISM band to replace WiFi video for FPV, but that at the moment video latency is about 1 – 2 seconds and is still being improved.

Once again we remind you that if you intend to transmit using these methods where a GPIO pin is modulated, then you MUST use a bandpass filter at the frequency you are transmitting at, and that you must be licensed to transmit on those frequencies.

A DATV transmission received from a Raspberry Pi transmitter.
A DATV transmission received from a Raspberry Pi transmitter.

Setting up a Raspberry Pi Based AIS Receiver with an RTL-SDR

Over on YouTube user Tobias Härling has uploaded a video showing how he used a Raspberry Pi and RTL-SDR dongle to set up an AIS receiver. AIS stands for Automatic Identification System and is a radio system similar to ADS-B which allows you to create a radar-like system for boats. For Windows we have a tutorial on AIS reception here.

In his setup he uses rtl_ais and the kplex software and shows how to install everything from scratch. He also shows how to set the system up so that decoding automatically starts up and begins outputing NMEA data through the network when the Raspberry Pi is powered on. This way an a device like an iPad could be used to run OpenCPN to view the plotted ships.

$50 Raspberry Pi AIS-Receiver - How to

Partial Discharge Detection using an RTL-SDR

Partial discharge is the situation in which electricity arcs through an insulating dielectric material when high voltages above the rated voltages for the insulator are applied. Continued partial discharge can cause the insulator to eventually be destroyed and fail, potentially causing catastrophic failure.

Recently a technical academic paper by H Mohamed et al. was released and titled “Partial Discharge Detection Using Low Cost RTL-SDR Model for Wideband Spectrum Sensing”. In the paper they investigate using the RTL-SDR as a low cost means for partial discharge detection in equipment such as power generators, motors, gas insulated switchgear, and power grid equipment for the purpose of improving the future electrical smart grid.

Partial discharge can be detected using a spectrum analyzer to monitor the spectrum for noise signatures associated with a discharge. Using a program written in MATLAB to make the RTL-SDR act as a spectrum analyser they show that the measured spectrum can be used to detect when partial discharge is occurring and that the results are similar to a more expensive spectrum analyzer.

Lab set up for using an RTL-SDR to detect partial discharge.
Lab set up for using an RTL-SDR to detect partial discharge.

Review: FlightAware ADS-B RTL-SDR + LNA Positioning

Recently FlightAware released a new RTL-SDR dongle sold at zero profit at $16.95 USD. It’s main feature is that it comes with an ADS-B optimized low noise amplifier (LNA) built directly into the dongle. FlightAware.com is a flight tracking service that aims to track aircraft via many volunteer ADS-B contributors around the world who use low cost receivers such as the RTL-SDR. In this post we will review their new dongle and hopefully at the same time provide some basic insights to LNA positioning theory to show in what situations this dongle will work well.

FlightAware Dongle Outside
FlightAware Dongle Outside

A good LNA has a low noise figure and a high IIP3 value. Here is what these things mean.

Continue reading

Receiving Differential GPS Beacons with a HackRF

Differential GPS (DGPS) are signals that exist between 285 – 325 kHz and are used to enhance the accuracy of GPS receivers. The system can improve GPS accuracy from 15m down to 10cm in some cases. It works using a network of ground stations at a very accurate known location that continuously measure the GPS error they receive. They then broadcast this error to DGPS capable receivers. The receiver can then use this error knowledge to correct their own readings.

With an VLF capable radio these DGPS beacons can be received and decoded on your PC. Over on swling.com guest poster Mario has submitted a post showing that these DGPS beacons can be received with a HackRF SDR and the MultiPSK software. The HackRF is a $299 SDR that can tune down to VLF (at reduced sensitivity). We note that the same or better results could also be achieved with a HackRF or RTL-SDR with upconverter.

DGPS received with a HackRF
DGPS received with a HackRF

Using an RTL-SDR on a high powered rocket to capture GPS data

Over on the SDRGPS blog Philip Hahn and fellow aerospace engineer Paul Breed have been working together to try and use an RTL-SDR to help get accurate GPS data for tracking small high powered rockets. They write that their end goal is to be able to “track high power rockets in high acceleration / speed / altitude environments”.

In their latest attempt they launched a rocket with an RTL-SDR on board with it capturing GPS data to be later processed with GNSS-SDR. The goal was to get a GPS fix throughout the flight. Unfortunately they found that a good fix was only obtained while the rocket was on the ground, and not much data was obtained while it was in the air. They write that they suspect that the fault lies in the vibration in the rocket which can affect the frequency stability of the crystal oscillator, or in the GPS satellite tracking loop algorithm.

They still hope to be able to get some usable information from the flight by trying other algorithms on the data, but they are also seeking advice from anyone who might know how to help them, so please contact them if you know anything that may help.

If you are interested in this, then see our previous post about how Philip showed us how to use an RTL-SDR to receive and plot GPS data.

RTL-SDR + GPS antenna plus an Intel NUC computing platform.
RTL-SDR in aluminum case + GPS antenna + an Intel compute stick and IMU.
The rocket carrying the RTL-SDR.
The rocket carrying the RTL-SDR.

A new TETRA voice and multiframe SDS decoder

Recently Marek Sebera of ITDS Consulting wrote in to let us know about two new TETRA decoders that they have released. TETRA is a trunked radio communications system that stands for “Terrestrial Trunked Radio”. It is used heavily in many parts of the world, except for the USA.

The first piece of software released is called TETRA Listener and is from the Brmlab hackerspace in Prague. They write that Tetra-Listener is a new program (based on osmo-tetra) that can decode unencrypted voice and data traffic. They also write that it is very easy to set up and install since it uses Vagrant, which is a system that can be used to automatically set up a VMWare or VirtualBox Virtual Machine that has everything set up and ready to go. The instructions for using the software can then be found in the readme of the main tetra-listener page on GitHub.

The second software they have written is what they believe is the world’s first open source TETRA Multiframe SDS decoder. SDS stands for short data service and is the TETRA equivalent to SMS text messages used on a GSM network. They write that their solution can assemble long multiframe SDS messages.

Previously we showed how unencrypted TETRA messages could be listened to using telive in our tutorial. It is good to see alternative solutions now coming out, and in the future we hope to test this new software out.

TETRA SDS Example
TETRA SDS Example

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.