Category: Digital Signals

OpenEar: An Easy to Use Windows TETRA Voice Decoder

A new TETRA voice decoder called "OpenEar" has just been released. The program is a standalone Windows app that directly connects to an RTL-SDR. Decoding a TETRA voice signal is as simple as opening the program, tuning to the TETRA frequency and clicking on the signal. With good signal strength voice comes through very clearly. CPU usage on our PC is also minimal. 

The program source is currently not available as the author notes that he only intends to release it as open source in the future once the project is completed, and right now this is only the first early release. Right now the program is just an .exe with a few .dlls. You'll need to first install the Microsoft Visual C++ Redistributable Package linked in the Git readme. Just in case, we virus scanned the exe and tested the program in Sandboxie. It appears to be clean, and it works as intended.

In the future the author hopes to support many more protocols such as DMR, MPT1327, ACARS, AIR, GSM and more. In order to support his work he is asking for Bitcoin donations, and the donations link can be found on the Git readme.

UPDATE 1: If you're getting missing dll errors and you already installed the Visual C++ Redistributable, try downloading the missing dll's from dll-files.com. There should only be about 5 missing.

UPDATE 2: As pointed out in the comments by Steve M. from Osmocom, this software may be in violation of several GPL licences as no source code has been released and it appears to rely on GPL code and libraries. Please take this into account.

UPDATE 3: As per update 2, the author has decided to temporarily disable the TETRA functionality pending a rewrite of the code that he will complete within one to two months). Instead he has added DMR decoding.

OpenEar TETRA Voice Decoder Screenshot
OpenEar TETRA Voice Decoder Screenshot

OpenWebRX Version 0.18.0 Released: New Decoders for Digital Voice, Digital Ham Modes and More

Back in early January we posted about how the popular web based SDR and RTL-SDR compatible receiver software known as OpenWebRX was officially discontinued by the original author. However, thanks to it's open source licence, code contributor Jakob Ketterl (DD5JFK) has been able to continue developing the code and is taking over as the lead developer on his own fork of the code.

Recently he released version 0.18.0 of OpenWebRX which includes a few major upgrades including the much needed shift to Python 3, and the inclusion of multiple new decoders for DMR, D-Star, YSF, NXDN, FT8, FT4, WSPR, JT65, JT9, APRS and Pocsag.

Hello fellow radio enthusiasts,

with great excitement I would like to announce the availability of OpenWebRX Version 0.18.0 as public release. This is the first release of the project in some time, and the first release since I started working on it, so I’m more than happy to bring this to you.

What’s new? Quite a lot, actually. For those that haven’t had the chance to follow the progress of the project in the past months, here’s a quick overview:

    • Most of the server code has been rewritten for better flexibility, stability and performance. The project is now fully based on Python 3.
    • Large parts of the frontend code have been updated or polished.
    • The new core now supports multiple SDR devices simultaneously, as well as switching between multiple profiles per SDR, allowing users to navigate between multiple bands or frequencies.
    • Added support for demodulation of digital voice modes (DMR, D-Star, YSF, NXDN).
Added support for digital modes of the WSJT-X suite (FT8, FT4, WSPR, JT65, JT9).
  • Added support for APRS.
  • Added support for Pocsag.
  • Bookmarks allow easy navigation between known stations.
  • Background decoding can transform your receiver into an automatic reporting station, including automatic band scheduling.
  • The integrated map shows digimode spots as well as APRS and YSF positions.
OpenWebRX 0.18.0 is available via the following channels: Please check out our updated Setup Guide along with the rest of the documentation on the Wiki!

Questions, ideas, problems? Get in touch with the community at [email protected]!

Best regards and vy 73s

Jakob DD5JFK

We're so glad to see that this excellent software isn't dead in the water and is in fact thriving. We will continue to follow the Jakob's and the OpenWebRX communities' future developments. If you are interested, you can follow OpenWebRX development on the OpenWebRX groups.io forum.

OpenWebRX Screenshot
OpenWebRX Screenshot

SignalsEverywhere: Exploring Cable Modem Signals with Software Defined Radio

Over on YouTube SignalsEverywhere has just uploaded his latest video about using a HackRF and Airspy R2/Mini to explore the signals coming out of an internet cable modem's coax cable. In the video he performs a wideband scan with his Airspy R2 and the SpectrumSpy software which shows not only his, but the downstream signals from other users in his neighborhood on the cable network too.

Next using his HackRF with Spectrum Analyzer and the hackrf_sweep fast sweeping software, he was able to determine the uplink portion of his cable modem. By running an internet speed test in the background he was also able to visualize the increased cable data activity on the spectrum waterfall display.

The Secret Signals Hiding In Your Cable Modem | SDR Used to Sniff Cable Internet Modem Coax

Hackaday Tutorial: A Crash Course in RF Modulation – ASK, FSK and LoRa Explained Simply

Hackaday writer Danie Conradie has recently posted a new tutorial explaining the difference between some common RF modulation choices. To do this he uses various RF hardware modules, and an RTL-SDR Blog V3 unit to view the spectrum of each modulation type. In the post he compares Amplitude Shift Keying (ASK), Frequency Shift Keying (FSK), and LoRa. He also explains the differences between ASK and OOK modulation, and FSK and GFSK modulation.

The key takeaways are that ASK modulation is simple, but prone to interference. FSK is less prone to interference, but requires more bandwidth. LoRa is good for receiver sensitivity and interference immunity, but comes at the expense of bandwidth efficiency. In addition LoRa modulation is patented, resulting in higher hardware costs.

Comparing the spectrum of a pure FSK signal, versus a Gaussian FSK signal.
Comparing the spectrum of a pure FSK signal, versus a Gaussian FSK signal.

Using an RTL-SDR Blog V3 in Direct Sampling Mode to Receive HF DRM on an Android Phone

Over on the SWLing blog contributor Dan Van Hoy wrote in and shared a report on how he's successfully been able to receive HF DRM 30 digital audio with an RTL-SDR Blog V3 dongle running in direct sampling mode on an Android phone.

To do this he used an Android app called "DRM+SDR Receiver" which is available for US$4.99 on the Play store. The app supports RTL-SDR and HackRF devices. So all you need to do is set the RTL-SDR Android driver to run in Q-branch direct sampling mode, then tune to a DRM signal for it to begin decoding.

A demonstration video uploaded to his Google drive account shows clean decoding of the DRM AAC audio, as well as the app displaying Journaline and live metadata. He notes that his signal was very strong, so he only required a short wire, but DXers would need an appropriate antenna.

DRM Received on an Android phone with an RTL-SDR Blog V3 running in direct sampling mode.
DRM Received on an Android phone with an RTL-SDR Blog V3 running in direct sampling mode.

DSDPlusUI: A Graphical User Interface for DSD+

Over on Twitter Annunaki (@StupotSinders) has been teasing some screenshots of a GUI for DSD+ that he's been developing over the past few weeks. And now he has released the software which is called "DSDPlusUI". DSD+ is mostly command line based, so a GUI could be useful for newbies. The software can be downloaded from the DSDPlusUI groups.io page.

DSD+ (aka Digital Speech Decoder) is a free closed source program that is compatible with RTL-SDR and various other SDRs which is used to decoder digital speech protocols such as P25 P1, DMR, NXDN and more. DSD+ Fastlane is a paid upgrade which allows subscribers to receive the latest updates to the software early. 

DSD+ GUI by Annunaki
DSD+ GUI by Annunaki

KiwiSDR Now Supports DRM Decoding

KiwiSDR have recently implemented DRM decoding into their OpenWebRX implementation. Digital Radio Mondiale (DRM) is a type of digital shortwave radio signal that is used by some international shortwave radio broadcasters. It provides superior audio quality compared to AM stations thanks to digital audio encoding.

The KiwiSDR is a US$299 HF SDR that can monitor the entire 0 - 30 MHz band at once. It is designed to be web-based and shared, meaning that the KiwiSDR owner, or anyone that they've given access to can tune and listen to it via a web browser over the internet. Many public KiwiSDRs can be found and browsed from the list at sdr.hu.

The new DRM implementation is based on DREAM 2.1.1 which is an opensource DRM decoder that can be used with any HF capable SDR. Due to computational limits of the BeagleBone singleboard computer which the KiwiSDR runs on, only one DRM channel can be decoded at any one time, restricting this capability to only one user at a time. However, if the KiwiSDR is running on the newer BeagleBone AI, it can support up to four DRM channels. KiwiSDR write that work is still ongoing to improve the code, so this situation may improve in the future.

KiwiSDR Decoding DRM
KiwiSDR Decoding DRM

RadioCapture – Software to Capture, Archive and Listen to Trunked Radio From Many Sources Now Open Sourced

Back in April 2019 we posted about Matt Mills' Radiocapture.com website which is a web service that you can feed that automatically captures analogue and digital trunked radio conversations with an RTL-SDR, and allows public users to play back conversations via the web interface. The Radiocapture page which shows what the software is capable of is also active at radiocapture.com/radio

Back in April Matt was fundraising via Patreon and hoping to make development of Radiocapture his day job, but unfortunately he's had to call it quits for now. Since he no longer has time to work on it, Matt has open sourced the RF side of the software. The software description reads:

[Radiocapture-rf] is capable of using multiple networked computers and multiple SDR radios to demodulate the control channel of P25, EDACS, and Motorola trunking systems, as well as some limited support (alpha quality) for scanning for systems, LTR trunking, and "police scanner" style audio capture.

It is designed to effectively scale to an infinite capacity of trunked systems, captured transmission volume, and dongle bandwidth (more dongles = more available bandwidth, more cpus = more channels and more systems). (There is one remaining feature to be implemented to really make this work well, dongle redis autodiscovery (frontend_connect should autodiscover and use available dongles) and splitting the rc_frontend/receiver.py into one process per dongle.

The frontend initializes the SDRs in whatever configured frequency range, and presents a server interface where clients can connect and request a specific channel be created and forward to them. The frontend will then attach a channel, and output to a UDP sink (might be something better now, I forget). On the backend side, a control_demodulator is listening to that sink and doing the actual RF demodulation, which is passed into redis for distribution to other services. The backend is effectively a bunch of microservices that work together to track & record all ongoing transmissions and do some amount of deduplication. This entire setup is designed such that it can be scaled across as many servers/computers as necessary (although there are a few caveats/things I never got around to implementing in how it actually works). Recorded transmissions are decorated with a metadata scheme in their mp3 tags that is designed to be able to be loaded into the Radiocapture.com database. Finally completed mp3s are dropped into an activemq queue for publishing.

Matt notes that the software in it's current state isn't considered as "ready to distribute" as you may need some decent experience with Linux and Python to get it up and running.

RadioCapture logged audio
RadioCapture logged audio