Tagged: sdr#

The Artificial Intelligence Radio – Transceiver

Over on Crowd funding site Crowd Supply, a new SDR product is currently awaiting release of its crowd funding stage. The proposed product is called the AIR-T, which stands for Artificial Intelligence Radio - Transceiver. The basic idea behind the board is to combine a 2x2 MIMO SDR transceiver with a NVIDIA Jetson TX2 GPU that can be used to run artificial intelligence (AI) software fast.

The SDR transceiver chip used is a Analog Devices 9371. This is a high end chip that can be found on high end SDR hardware like USRPs. If you're interested we had a post about decapping the AD9361 recently, which is a similar chip. It provides 2x2 MIMO channels, with up to 100 MHz RX bandwidth and 250 MHz TX bandwidth. The NVDIA Jetson TX2 is a GPU 'supercomputer' module specifically designed for AI processing. Many AI/machine learning algorithms, such as neural networks and deep learning run significantly faster on GPU type processors when compared to more general CPU's.

These are not cheap chips with the AD9371 coming in at over US$250 each, and the Jetson TX2 coming in at US $467. Although we don't know what sort of bulk discounts the AIR-T manufactures could get. But it will be certain that the AIR-T will not be for the budget minded.

The board is still awaiting release of it's crowdfunding round, and you can sign up to be notified of when the project launches on their Crowd Supply page.

The melding of AI and the RF spectrum will be common in the future, and a development board like this is one of the first steps. Some of the interesting use cases that they present are pasted below:


From Wi-Fi to OpenBTS, use deep learning to maximize these applications. By pairing a GPU directly with an RF front-end it eliminates the need of having to purchase an additional computer or server for processing. Just power the AIR-T on and plug in a keyboard, mouse, and monitor and get started. Use GNURadio blocks to quickly develop and deploy your current or new wireless system. For those who need more control, talk directly with the drivers using Python or C+. And for those superusers out there, the AIR-T is an open-platform, so you can program the FPGA and GPU directly.

Satellite Communications

Communicating past Pluto is hard. With the power of a single-board SDR with an embedded GPU, the AIR-T can certainly prove out concepts before you launch them into space. Reduce development time and costs by adding deep learning to your satellite communication system.

Ground Communications

There is an endless number of terrestrial communication systems with more being developed every day. As the spectral density becomes more congested, AI will be needed to maximize these resources. The AIR-T is well-positioned to easily and quickly help you prototype and deploy your wireless system.

Video/Image/Audio Recognition

The AIR-T allows you to demodulate a signal and apply deep learning to the image, video, or audio data in one integrated platform. For example, directly receiving a signal that contains audio and peforming speech recognition previously required multiple devices. The AIR-T integrates this into one easy to use package. Whatever your application is, from speech recognition to digital signal processing, the integrated NVIDIA GPU will jump start your applications.

Pattern Recognition

For many communications and radar applications once the signal is collected it must be sent to an off-board computer for additional processing and storage. This consumes valuable time. The AIR-T eliminates this. From its inception, it was designed to process signals in real-time and eliminate unnecessary latency.

Software Defined Radio Talks from the Friedrichshafen Ham Radio Convention

Several new software defined radio talks have been released on YouTube this week from the big European 2018 Friedrichshafen Ham Radio Convention which just finished this month. The full list of 14 new videos can be found on the Software Defined Radio Academy YouTube channel. Below are two of our favorites:

The OVI40 / UHSDR Project, Developing An Open Standalone SDR

OVI40 is an Open Source standalone homewbrew SDR TRX project (VLF to 2m), developed with the aim of being modular and future-proof. The talk describes the hardware and the UHSDR software including a discussion on the evolution from the "single-system" software used for the well-known mcHF (initially written by Chris, M0NKA and Clint KA7OEI) to the multi-SDR approach in the UHSDR software project.

DF8OE, DB4PLE, DL2FW, DD4WH: The OVI40 / UHSDR Project - Part 1 and 2
DF8OE, DB4PLE, DL2FW, DD4WH: The OVI40 / UHSDR Project - Part 1 and 2

András Retzler, HA7ILM: Let's code a simple receiver in C

For using SDR in amateur radio applications, it is easier to use existing receiver software, or create GNU Radio flowgraphs with pre-build blocks. On the contrary, in the do-it-yourself spirit of amateur radio, this talk will guide you through the steps of implementing a simple AM/FM/SSB receiver from scratch, in plan old C, in order to get a deeper understanding of what happens actually under the hood in popular SDR software. The talk builds on the author's learning experience of creating the open source CSDR command line tool, which is used for DSP in the OpneWebRX web based SDR receiver.

András Retzler, HA7ILM: Let's code a simple receiver in C
András Retzler, HA7ILM: Let's code a simple receiver in C

Software Defined Radio for Engineers: Free University Level Text Book with PlutoSDR Examples

Analog Devices has recently released a new text book for free called "Software-Defined Radio for Engineers, 2018". This is an advanced university level text book that covers communication systems theory as well as software defined radio theory and practice. The book uses the PlutoSDR as reference hardware and for practical examples. The PlutoSDR is Analog Devices $150 RX/TX capable SDR that was released about a year ago.

The objective of this book is to provide a hands-on learning experience using Software Defined Radio for engineering students and industry practitioners who are interested in mastering the design, implementation, and experimentation of communication systems. This book provides a fresh perspective on understanding and creating new communication systems from scratch. Communication system engineers need to understand the impact of the hardware on the performance of the communication algorithms being used and how well the overall system operates in terms of successfully recovering the intercepted signal.

This book is written for both industry practitioners who are seeking to enhance their skill set by learning about the design and implementation of communication systems using SDR technology, as well as both undergraduate and graduate students who would like to learn about and master communication systems technology in order to become the next generation of industry practitioners and academic researchers. The book contains theoretical explanations about the various elements forming a communication system, practical hands-on examples and lessons that help synthesize these concepts, and a wealth of important facts and details to take into consideration when building a real-world communication system.

The companion site for the book which contains links to complimentary online lectures, slides, and example MATLAB code can be found at https://sdrforengineers.github.io. MATLAB is a very powerful programming language and toolset used by scientists and engineers. MATLAB is not a cheap tool, but there is a home user licence available for a more reasonable price. To do some of the exercises in the book you'll probably at least require the core MATLAB plus the Communications System Toolkit which is an extra add on.

The full book can be purchased as a Hardcover from Amazon, or downloaded freely online as a PDF.

If you're interested in a similar book, there is also the free DesktopSDR book which uses RTL-SDR dongles for the practical examples.

SDR For Engineers Book
SDR For Engineers Book

New SDR# Plugin Manager and Colorizer Available

SDR# plugin developer Eddie Mac has again released a new plugin for SDR# called "SDR# Plugin Manager". This plugin is designed to make it easy to install, remove and re-order other SDR# plugins. Also included is a repository browser. This is a repository of many known SDR# plugin links which can be used to download and install a plugin with a simple click of a button.

Eddie has also recently released another plugin called "Spectrum Colorizer". This simply changes the background color of the spectrum analyzer window.

SDRSharp Plugin Manager
SDRSharp Plugin Manager
SDR# Plugin Repository
SDR# Plugin Repository

If you are interested in programming your own plugins, Eddie also offers the following advice which he posted in our forum:

A good place to get started programming plugins is to download the express version of .NET (free for personal use) and install at least the C# pack. Then go to the Airspy website and download Youssef's zipped examples on coding plugins. 
While they are not documented you can use them as an example of the steps involved.

If you know a bit of c++ that is great it should be a good spring board to learn C#. In fact, you can even program simple plugins (like my tuner knob) in Visual Basic. Both C# and VB.NET compile to Common Language Run time anyway so to SDR# it's not much difference. The only caveat is that if you want to create any plugins to do processing on signals of any sort you MUST use C# as it supports the data types SDR# uses and VB does not. As well, VB does not allow unsafe code which C# can be instructed to allow. 

Another great resource for learning to program plugins for SDR# is GitHUb and another great place is Andrej Mohar's website where he actually has a tutorial and an good explanation of the plugin coding process. You can find it here http://www.andrej-mohar.com/plugin-basics-for-sdr 

If you would like an example of a "stencil" as you call it - a template, I would be happy to share a template in both VB and C# for you to use to start to learn. However, I would suggest begginning with C# from the start.

The basics of it is that the "plugin" is actually in interface that is called while SDR# loads. The "Plugins.xml" file tells SDR# what your dll is called and what the name of the plugin is. Once it has initialized your plugin, SDR# sharp asks the plugin for a "panel" control which contains the controls for your plugin. In also returns to you a "control" object interface that allows you to receive notifications of program value changes or to set program values. There are more complex things you can do but the basics are simple.

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