Category: Digital Signals

Receiving NOAA 19 HRPT with a HackRF, LNA4All and Cooking Pot Antenna

Over on his YouTube channel Adam 9A4QV has uploaded a video that shows him receiving the NOAA 19 HRPT signal at 1698 MHz with his HackRF, LNA4ALL and the simple circularly polarized cooking pot antenna that we saw in his last videos.

HRPT stands for High Resolution Picture Transmission and is a digital protocol that is used on some satellites to transmit much higher resolution weather images when compared to the APT signal that most people are familiar with receiving. The HRPT signal is available on NOAA19, which also transmits APT. However, unlike APT which is at 137 MHz, HRPT is at 1698 MHz, and is typically a much weaker signal requiring a higher gain motorized tracking antenna.

However in the video Adam shows that a simple cooking pot antenna used indoors is enough to receive the signal (weakly). The signal is probably not strong enough to achieve a decoded image, but perhaps some tweaks might improve the result.

Over on his Reddit thread about the video Adam mentions that a 90cm dish, with a proper feed and two LNA4ALLs should be able to receive the HRPT signal easily. User devnulling also gives some very useful comments on how the software side could be set up if you were able to achieve a high enough SNR.

GNU Radio has HRPT blocks in the main tree (gr-noaa) that work well for decoding and then David Taylor has HRPT reader which will generate an image from the decode GR output. http://www.satsignal.eu/software/hrpt.htm

http://usa-satcom.com has a paid HRPT decoder that runs on windows that has some improvements for lower SNR locking and works very well.

– devnulling

On a previous post we showed @uhf_satcom‘s HRPT results where he used a motorized tracking L-band antenna and HackRF to receive the signal. Some HRPT image examples can be found in that post.

Decoding and Listening to HD Radio (NRSC-5) with an RTL-SDR

HD Radio is a high definition terrestrial digital broadcast signal that is only used in North America. It is easily recognized by the two rectangular blocks on either side of a broadcast FM station signal on a spectrum analyzer/waterfall display. Since HD Radio uses a proprietary protocol, finding a way to decode it has been difficult and so this signal has been inaccessible to SDR users for a long time. Back in February of this year we posted about Phil Burrs attempt, where he was able to create a partial implementation (up to layer 2) of the HD Radio standard, but didn’t get far enough to decode any audio in layer 3.

However, now cyber security researcher ‘Theori’ has created a full RTL-SDR based decoder for the HD Radio protocol. In his post Theori explains that the HD Radio system is split into three layers. Layer 1 finds the signals and does decoding and error correction. Layer 2 is a multiplexing layer, which allows various layer 3 applications to share the bandwidth. Layer 3 is the audio data layer. In his post he explains how these layers work in detail. 

One of the main findings was the discovery of the audio compression codec. Theori found that the codec was essentially HE-AAC with some minor modifications. The modifications were minor enough that he was able to adapt the open source FAAD2 library for HD Radio audio decoding.

Theori’s code is open source and available on GitHub. The code includes the patch to modify FAAD2 for HD Radio and it is automatically applied during the build. A sample file for testing the decoder is also provided and we tested the decoder with the sample and it worked well. The decoding can also be performed in real time and examples of that are also on the git readme.

HD Radio Spectrum
HD Radio Spectrum

PagerMon: A browser based app for displaying pager messages from multimon-ng

Thank you to Dave for submitting information about his new pager message display software called PagerMon. PagerMon is a web browser based tool for displaying POCSAG pager messages decoded by multimon-ng. It is based around nodejs and uses a sqlite database for storing the messages. Multimon-ng is an RTL-SDR compatible digital mode decoder which can decode multiple protocols including POCSAG pagers.

PagerMon and the features and future features are listed below:

PagerMon is an API driven client/server framework for parsing and displaying pager messages from multimon-ng.

It is built around POCSAG messages, but should easily support other message types as required.

The UI is built around a Node/Express/Angular/Bootstrap stack, while the client scripts are Node scripts that receive piped input.

Features

  • Capcode aliasing with colors and FontAwesome icons
  • API driven extensible architecture
  • Single user, multiple API keys
  • SQLite database backing
  • Configurable via UI
  • Pagination and searching
  • Filtering by capcode or agency
  • Duplicate message filtering
  • Keyword highlighting
  • WebSockets support – messages are delivered to clients in near realtime
  • Pretty HTML5
  • May or may not contain cute puppies

Planned Features

  • Multi-user support
  • Other database support (MongoDB and DynamoDB planned)
  • Horizontal scaling
  • Enhanced message filtering
  • Bootstrap 4 + Angular 2 support
  • Enhanced alias control
  • Graphing
  • Push notifications
  • Non-sucky documentation

The GitHub readme has a getting started section which shows how to set up the server and get it running on your local machine.

PagerMon displaying POCSAG messages
PagerMon displaying POCSAG messages

Tracking Trains: Monitoring Railroad ATCS Control Signals with an RTL-SDR

Over on his YouTube channel GusGorman402 has uploaded a tutorial which shows how he monitors ATCS (Advanced Train Control System) signals from trains. ATCS signals are found in the USA, and is used for things like communications between trains, rail configuration data, train location data, speed enforcement, fuel monitoring, train diagnostics and general instructions and messages.

In the video he first shows how to determine the frequency of trains signals in your area by using the US FCC database. He then shows how to download and install the ATCSMonitor software which is used for decoding the signals, and then walks us through configuring the correct settings within the software. The train signal audio is piped from SDR# to ATCSMonitor via VBCable, and received with an RTL-SDR and simple whip antenna.

Later in the video he shows how to fully set up the software with train databases so that the actual spotted train names show up. He also shows how to set up the dispatcher display which visually shows the current train locations and track configurations.

GusGorman402 has uploaded the tutorial in two videos. The first shows the full tutorial, configuration and demo for trains in the BNSF fleet. The second video shows how to monitor the Union Pacific fleet which uses a different protocol, which requires a slightly different set up in ATCSMonitor.

Decoding the LilacSat-1 FM to Digital Voice Transponder

LilacSat-1 is an educational CubeSat built by students from the Harbin Institute of Technology (HIT) in China. It was recently launched from the ISS on 25 May 2017 as part of the QB50 science experiment to explore the lower thermosphere, and it is expected to stay in orbit for about 3 months. Apart from BPSK telemetry at 145.935 MHz, LilacSat-1 is interesting because it contains on board an FM to Codec2-BPSK digital voice amateur radio transponder at 145/436 MHz (uplink/downlink). It is probably the first amateur radio satellite to contain an FM to digital voice transponder.

To decode LilacSat-1 digital voice and telemetry you can use a Linux live CD provided by HIT, or download the GNU Radio decoder directly from the LilacSat-1 information page on the HIT website. The GNU Radio program can be used with any GNU Radio compatible SDR, such as an RTL-SDR.

Over on his blog, destevez has also created a lower latency digital voice decoder for LilacSat-1 that can found in the gr-satellites GNU Radio package, which contains decoders for multiple satellites as well. Destevez has also written about the Codec2 implementation used in LilacSat-1 in one of his previous posts.

An example of LilacSat-1 being decoded has also been uploaded by YouTube by Scott Chapman. In his test he used an RTL-SDR to work the pass live, but in the video shows an offline decoding received by his SDRplay which was also monitoring the same pass.

Comprehensive Video Guide to Trunking and Digital Voice with the RTL-SDR

Over on YouTube user AVT Marketing has uploaded a five part video series that very clearly and slowly shows how to use an RTL-SDR to set up trunking and digital voice monitoring. In the videos he uses SDR#, Unitrunker, DSD+ and VBCable for the monitoring.

The first video in the series shows a brief overview of the digital trunking voice set up, and explains a bit about digital voice communications. The second video shows how to install an RTL-SDR, and walks you through downloading Unitrunker and DSD+. The third video is a tutorial about SDR# and also explains how trunking radio systems works. The fourth video shows how to install Unitrunker, DSD+, VBCable, and how to configure each program. Finally the fifth and last video in the series shows the final steps in using Unitrunker and DSD+.

This looks like a very good video series, especially for those that like to see every step in the process played out in full.

DAB/DAB+ Decoder Software “Welle.io” Now Available on Android

Back in March of this year we posted about “Welle.io”, a DAB/DAB+ decoder that supports the RTL-SDR and other SDRs like the Airspy. It was available for Windows, Linux and Raspberry Pi 2/3.

Albrecht Lohöfener, the author of Welle.io has recently written in to announce that Welle.io is now available for Android as well. The app appears to be free, but is currently marked as beta, so there may still be a few bugs.

The only other app that we’ve seen which is capable of decoding DAB/DAB+ on Android is Wavesink. Wavesink costs $14.90 USD on the Google Play store, but there is a free trial version available with runtime limitations and no DAB+ support.

Albrecht notes that the app is fairly computationally intensive and will require an Android device with at least 4 cores and a clock speed of 1.3 GHz to run the app. He also mentions that they are also looking for any interested developers and translators to help with development of the app.

Welle.io on Android
Welle.io on Android

Aerial TV: Android RTL-SDR DVB-T Decoder Officially Released

Last month we posted about Aerial TV, a new Android based DVB-T decoder that works with RTL-SDR dongles. Back then the app was still in beta testing and had a few operational bugs. Now the Aerial TV app has been officially released.

The app is based on the new Android DVB-T driver for RTL2832U devices which is written by Martin Marinov who is also the programmer of Aerial TV. The DVB-T driver is open source, and currently supports RTL2832U devices with the R820T, E4000, R828D, FC0012 and FC0013 tuner chips. Of note is that the R828D also has DVB-T2 support.

Aerial TV is free to download and test, but requires a $7.99 licence to use for more than 30 minutes. To use it you will need an OTG (On-the-go) cable adapter and an RTL-SDR dongle with antenna.

Just watch TV – no data plan or wifi connection required. Aerial TV works by picking up digital TV channels off the air with a regular TV antenna.

You will need a low cost USB TV tuner. You can grab one online for less than €10. Make sure to get an RTL2832 tuner. When it arrives, just connect the provided antenna and start watching. You may need a USB OTG cable to plug the tuner in your Android device. USB OTG cables are inexpensive and easy to find.

Note that your Android device must support USB OTG. If unsure, do a quick search online or consult your Android device manual. Also check that there is DVB-T/DVB-T2 service in your local area by doing a quick search online. Signal needs to be strong enough for Aerial TV to pick it up. For best results use an outdoor aerial.

You get free unlimited access to radio forever. You also get to watch all TV channels and experience all features of Aerial TV during the trial period for free. After the trial period ends you can make a one-off purchase and watch as much TV as you want. Remember: you can keep listening to radio even if the trial has ended!

Q: How do I find a supported dongle?
A: All major RTL2832 (rtl-sdr) dongles are supported. These dongles can be easily purchased online. Just type in “RTL2832” or “RTL2832U” in the search box of your favourite online store.

Q: What tuner do I need to watch DVB-T2?
A: If your country has DVB-T2 broadcasts (such as Freeview HD in UK) you will need a DVB-T2 compatible receiver dongle such as R828D in order to watch DVB-T2 with Aerial TV.

Aerial TV Screenshot
Aerial TV Screenshot