Back to index ------->Next page (Acronyms)


Introduction

What's that?

Echoes it's a radio spectral analysis software for SDR devices, designed for meteor scatter purposes. It's open source software currently hosted on SourceForge:

https://sourceforge.net/projects/echoes/

Until release 0.33, Echoes supported RTL-SDR devices only, being based on Osmocom's librtlsdr library.

RTL-SDR are very cheap Software Defined Radios that uses DVB-T TV tuner dongles based on Realtek's RTL2832U chipset.
With the combined efforts of Antti Palosaari, Eric Fry and Osmocom it was found that the signal I/Q data could be accessed directly, which allowed the DVB-T TV tuner to be converted into a wideband software defined radio by the means of a special software driver.
This driver must be installed in alternative to the official driver shipped generally in a CD-ROM along the dongle, if not already installed in your OS in the factory.

Echoes doesn't demodulate neither decode any human-made signal. Its main goal is to analyze and record the total power of natural signals and generate screenshots and tabular data output (CSV, GNUplot) in presence of signal peaks in a selected narrow range of frequencies. Since there is no demodulation, there is no provision for audio listening, except for a notify sound when an event has been recorded.

Echoes expresses the output power as dBfs – decibels at full scale – since the output signal from SDR needs calibration to become dBm. The zero dBfs value means the maximum signal amplitude. Lower values give negative dBfs.

A conversion to dBm requires to multiply the dBfs by a conversion factor depending of your hardware and the working frequency chosen. Echoes provides two controls to set this conversion factor and an offset level, see GUI.

From RTL-SDR to *SDR: what about Echoes 0.34 ?

In recent times, most of work on Echoes was aimed to replace the librtlsdr library with the more abstract SoapySDR library, that is a part of a bigger open source project called Pothosware hosted on GitHub. This is the reason behind the version number jumped from 0.33 to 0.50; in fact it looks more like a fork of the original Echoes project than a simple update.

SoapySDR is an open-source generalized API and runtime library for interfacing with SDR devices. With SoapySDR, you can instantiate, configure, and stream with an SDR device in a variety of environments. Most off the shelf SDR hardware platforms are supported by SoapySDR, and many open source applications rely on SoapySDR for hardware integration support.

From the user's point of view, this change brings the advantage that SDR receivers other than DVB-T dongles can be used, and the audio device too. Yes, audio. Now you can use Echoes with any analog radio receiver if your laptop has a mic input socket. Improvements have also been introduced in the Echoes software itself, as stated in Changes.

However, there are also disadvantages: the introduction of a further abstraction level implies additional system complexity, which translates into greater probability for the user to find compatibility problems between software versions and / or limitations imposed by the current status of Echoes software; see below.

Known limitations (read carefully)

Incomplete SDR support under Windows

A sample of data from the SDR device must go through three software layers to be displayed by Echoes:

1-the proprietary SDR driver 2-its Soapy support library (a wrapper on proprietary driver) 3-the SoapySDR generic library

While up to version 0.33 Echoes interfaced directly with level 1 (librtlsdr only).

Depending on whether you are operating on a Windows or Linux system, different problematics could arise.

Under Windows, the Echoes installation package already includes everything you need to make it work on the same hardware that version 0.33 ran on (RTL-SDR). The Soapy and Liquid libraries are already included, and some drivers are also included: RTL-SDR, [Airspy][] and the audio device.

The problem with Windows is that Echoes is currently compiled with MinGW, consequently the DLL libraries made available by Pothosware project for other SDRs (like SDRplay, MiriSDR etc) are not binary compatible with Echoes as they are compiled with MSVC.

For this reason, I created a private repository for SoapySDR and its drivers where I added some batch files to be able to patch and compile the sources under MinGW.

Unfortunately, for some SDRs the first layer - the proprietary driver - is not open source, but is distributed as DLLs compiled on MSVC and therefore not usable by Echoes. Furthermore, this also makes it impossible to compile even the second layer under MinGW.

An attempt was also made to bring the project to MSVC, but with disappointing results for now: unstable operation, frequent crashes and inability to debug have been enough for me to desist for now.

Despite these problems I thought it was worth releasing the 0.50 anyway, postponing the solution of these problems to a later version.

Must be said also that the official Pothosware DLLs are for Win64 only, while mine, the few I built, are for 32bit too. Switch to use the first would mean the abandon of the 32 bit support.

SoapySDR and support libraries under Linux

Under Linux, SoapySDR and the support libraries for many SDR models can be found in most known distributions. The problem here is about their release: Echoes 0.50 have been built to work with SoapySDR 0.8 (July 2021) and LiquidSDR 1.3.2 (July 2020) so your Linux distro must provide these versions or newer in order to make Echoes run.

The 0.33 RTS file format is not compatible with 0.50

Damn... really not too much, but 0.50 has some more keys and there are old keys that changed meaning. The 0.50 will load the old RTS anyway but the result could be different from expected. After loading an older RTS you should check: 1-the bandwidth: on 0.50 the bandwidth is a SDR parameter, while on Echoes 0.33 that parameter was about the output bandwidth of the subsampler. 2-the FFT resolution: on 0.50 its format in the RTS file is more human readable so the resolution you'll find after loading an old RTS could give unexpected results. The new keys, not present in old RTS files, will be initialized with default values.

Remember that Echoes is Alpha quality software

Beware that my station is RTL-SDR based and I have never tested this software with other SDRs. I tested the audio device with my laptop's microphone (which does not have a microphone input jack) by clapping my hands to produce events and capturing their spectra. So if you like to experiment, Echoes is bread for your teeth. Try the audio input with your analog receiver, try it with your new SDR. It can't hurt you or your devices either! And let me know if it works, and how it works (as long as it works!).


Back to index ------->Next page (Acronyms)