Tagged: sdr#

An Intro to RTL-SDR: Technical DSP Concepts Explained

Over on his blog Ajoo has posted a very comprehensive introduction to the technical concepts behind RTL-SDR, as well as any other SDR in existence. His post first goes through the basic communications theory and mathematical concepts required to understand the technical concepts behind software defined radio. He then goes on to specifically discuss the RTL-SDR and how it works internally, mentioning what the major components do and providing useful block diagrams.

In part II of his introduction he moves on to the software. Here he starts to explain a bit about librtlsdr and how the RTL-SDR drivers and codebase is put together. Further on he explains higher level software such as rtl_test, rtl_fm, rtl_sdr, the pyrtlsdr wrapper and how it could be used to demodulate FM.

If you're looking at diving deeper into SDR theory then Ajoo's posts are excellent starting points. Note that the theory explanations come at about an undergraduate University level of complexity, and thus these posts are mostly for people wanting a deeper understanding of SDR. To simply use an RTL-SDR to receive signals such a deep level of understanding is not required.

In a future post which is not yet available, Ajoo will introduce GNU Radio and show how to demodulate FM signals. It appears his goal is to work his way to an understanding of how GPS L1 signals work.

One of Ajoo's block diagrams explaining the RTL-SDR behavioral model.
One of Ajoo's block diagrams explaining the RTL-SDR behavioral model.

New SDR# Plugin: Toolbar Menu Plugin

Eddie Mac has just released another useful plugin for SDR# called "Toolbar Plugin". This is an accessibility improvement plugin that simply puts many of the plugin controls on the SDR# toolbar. This eliminates the need to constantly open and close plugin panels on the left.

The plugin includes controls for setting the demodulation mode, changing the FFT display settings, a direct frequency entry text box, frequency stepper buttons, an SNR level meter, squelch controls, analog/digital preset buttons, screen grabber controls, and time slot selectors for the TETRA decoder plugin. The analog/digital preset buttons are quite interesting as they allow you to set presets for either analog or digital signals. For example for a digital signal you could set the preset to use NFM demodulation, and to launch the DSD+ application automatically.

More information about this and Eddie's other plugins can be found on his site, and on this forum post.

Some toolbar plugin selections.
Some toolbar plugin selections.
Analog/Digital Preset Settings
Analog/Digital Preset Settings

Uniden Announce the SDS100: A Software Defined Handheld Scanner

The Uniden SDS100 Handheld SDR Based Scanner
The Uniden SDS100 Handheld SDR Based Scanner

Radio manufacturer Uniden have just released news about their latest product called the SDS100 which is a handheld software defined radio scanner specifically for digital voice and trunking modes. The scanner will retail for USD699, and aims to be released in the 2nd quarter of 2018 pending FCC approval. Note that certain software decoders will require paid upgrades, but it will be capable of all the major digital voice modes such as P25 Phase I and II, DMR, NXDN and trunking modes. It doesn't seem to support TETRA since it's marketed at the American consumer, however, it seems plausible that simple software update could enable this feature in the future.

As far as we know this is the first handheld scanner to incorporate SDR and is probably one of the bigger leaps in scanner technology to date. Compared to hardware based scanners, the SDS100 should provide significantly better decoding capabilities, even in weak signal and simulcast conditions. Simulcast is when multiple overlapping base stations transmit a signal at the same frequency. This can cause multi-path distortion problems, but an IQ based radio like an SDR is able to overcome these issues.

Uniden creates another first with the SDS100 True I/Q Scanner, the first scanner to incorporate Software Defined Radio technology to provide incredible digital performance in even the most challenging RF environments. The SDS100’s digital performance is better than any other scanner in both simulcast and weak-signal environments.

The SDS100 is also the first scanner that allows you to decide what to display, where, and in what color. Custom fields put the information important to you right where you need it.

And, one more first, the SDS100 meets JIS4 (IPX4) standards for water resistance.

For more information you can check out this discussion thread on Radio Reference. In the future there should also be some videos of it in action available on the Uniden YouTube channel. The owners manual is also available here and all their promo material including many more demonstration videos can be found on their Google Drive.

SDR# GPredict Satellite Tracking Plugin

Thanks to Alex for submitting news about his new SDR# plugin called "SDRSharp.GpredictConnector". This plugin allows SDR# to interface with GPredict which is a tool used for tracking the orbit of satellites. Just like with the DDE Tracking plugin and the Orbitron satellite tracking program this plugin could be used to automatically tune SDR# to the frequency of a passing satellite using GPredict. It should also be able to compensate for any doppler shift frequency offset.

To use with SDR# simply download the zip file and move the .dll file into the SDR# folder. Then add the 'magicline' to the plugins.xml file using a text editor. In GPredict you can then add a radio interface from the preferences, and then use the 'Radio Connect' interface to connect to the plugin.

Connecting to GPredict using the GPredictConnector SDR# Plugin
Connecting to GPredict using the GPredictConnector SDR# Plugin

Nexmon SDR: Turning a Broadcom 802.11ac WiFi Chip into a TX Capable Software Defined Radio

Over on GitHub we've recently seen the release of some interesting code called "Nexmon Software Defined Radio" which demonstrates a discovery that allows a Broadcom 802.11ac WiFi chip to be used as a transmit capable software defined radio. This means that it can be used to transmit (within the 2.4 GHz and 5 GHz WiFi bands) any arbitrary signal from IQ data. The specific WiFi chip used in their experiments is the US$10 BCM4339 which has been found in smartphones such as the Nexus 5. It's not clear if other Broadcom 802.11ac WiFi chips could also work.

To begin with Nexmon SDR you'll need a development environment set up on a Nexus 5 smartphone. Then it's a matter of downloading the dependencies, installing the Android NDK, and compiling Nexmon. IQ data can then be transmitted in code using from special system commands.

The Nexmon team have indicated on Twitter that they plan to present a paper with more information on Nexmon SDR at the MobiSys 2018 conference which will be held in June.

SDR# TETRA Plugin Updated: No longer requires MSYS2

Last week we posted about the release of a new TETRA decoder plugin for SDR#. The plugin made setting up a TETRA decoder significantly easier compared to previous methods, but it still required the installation and use of the MSYS2 environment on Windows. 

Thanks to reader Zlati for letting us know that the TETRA plugin has recently been updated once again and now no longer requires MSYS2 to be installed first. Now it is as easy to install as any other plugin, just drop the .dlls into the SDR# folder and add the magicline to the plugins.xml file. We tested it out and decoding worked fine. At the moment the "Net info" button is not working however.

x64 plugin: https://yadi.sk/d/StPod0Op3SkpKh
x86 plugin: https://yadi.sk/d/f0SS97Rb3SoyNr

In the future news and download lines for newer versions will probably be available on the programmers radioscanner.ru forum thread which is available here (use Google Translate to read): http://www.radioscanner.ru/forum/topic50051-9.html

Updated TETRA Decoder Plugin
Updated TETRA Decoder Plugin

Building an IcoBoard FPGA based Software Defined Radio

The IcoBoard is an FPGA IO board that is compatible with the Raspberry Pi. An FPGA (Field Programmable Gate Array) is a silicon chip that can implement custom digital circuits (such as DSP processors) and be reconfigured with different circuits many times. Other silicon chips are ASICs (application specific integrated circuit) which have circuits that are set in stone.

Over on YouTube OpenTechLab has been trying to create a software defined radio with his IcoBoard FPGA. To do this he's combined it with an audio A2D/D2A (analog-to-digital/digital-to-analog) converter board and a Raspberry Pi. The video goes through the entire design process, including A2D/D2A selection and purchasing, PCB adapter design in KiCad, soldering the PCB, as well as 3D printing a frame.

In the last part of the video he does a simple test where a signal is input into the A2D converter, converted to digital and processed by the FPGA. The circuitry programmed into the FPGA then simply outputs the received data to the D2A which converts it back into an analog signal. In the next steps of the project OpenTechLab hopes to work on the software and turn it into a full SDR. Show notes for the video are available here.

SDR# Tuner Knob, Night Mode and FFT Grabber Plugins have a new home

Recently we've posted about Eddie MacDonald's several releases of new plugins for the popular SDR# software. Recently he's released a tuner knob plugin which provides a visual frequency tuning knob that is useful for those running on touchscreen hardware, a 'dark mode' plugin which reduces the brightness of SDR# and compresses the UI a little, and an FFT grabber plugin which allows for easy screenshots of the FFT and waterfall spectrum's to be taken.

Eddie notes that all his plugins now have an actual home website at https://sdrplugins.com. This is where he will release updates and new plugins from now on.

If you are interested in discovering more SDR# plugins, we have a large list available here.

Tuner Knob Plugin for SDR#
Tuner Knob Plugin for SDR#