The software might run with other extIO dll's (e.g. Airspy) but was not tested with it. Note that the software handling such an extIO dll assumes that the device provides at least 2000000 IQ samples per second through an USB interfaces. Note further that you have to provide the extIO dll if not standard available.
For Raspberry fans: the software will definitely not run on an RPI A or B, however new is the inclusion of the sources for an - experimental - version that compiles and runs pretty well on an RPI 2. Emphasis is on "experimental" though.
The 7.1 version of the smallband sw-receiver
underwent - again - a major restructuring.
For use of the software under Windows, handling of Winrad compatible dll's is still limited to those devices with an extIO dll that provides data using a regular soundcard.
Direct support for the Elektor card and for the pmSDR under Windows disappeared, since using the dll handler is an excellent alternative.
The SDRplay and DABsticks are supported directly, both for Linux and Windows, the Elad-s1 is supported under Linux. Under Linux direct support for the Elektor card and the pmSDR is still available.
Furthermore, components are included in the source tree to setup a (very simple) SDRplay mini-server for use with a "remote" handler in the sw-receiver.
As before, for configuration purposes (the ".ini" file has to be told where to find the plugins for the input handling and for the decoders), there is a small configuration utility that will set the paths in the ".ini" file. When starting the program from within the "windows-bin-sw" directory (for Windows) the plugins will be found directly.
New is an experimental DRM decoder, a decoder for DRM transmissions (currently audio only). Its "version number" (0.1) shows that it is in an early stage of development. The figure below shows the reception of a british DRM program using a pmSDR device through an extIO-PMSDR.dll and an EMU 202 external soundcard under Windows.
The sw-receiver is cross-compiled for 32 bits (to accomodate handling
devices with Winrad compatible dll's) and runs in 32 bits and
64 bits Windows and under Linux.
While Windows users can use the DRM decoder directly, Linux users have to do some extra work in creating an adapted faad library to get the decoder running (but of course, the software can be installed without DRM decoder).
The current version of the FM software underwent only few minor changes,
the display showing the spectrum of the decoded signal is left out to save
The 0.985 version of the FM software is - for Windows - cross-compiled for 32 bits and is now equipped wih improved - though still experimental - support for devices for which an extIOXXX.dll exists (We do require a reasonable inputrate, i.e. 192000 is the absolute minimum). The picture below shows a band of 1.536 Mhz, using the the extIO_SDRplay.dll plugin with an SDRplay device with a samplerate of 2M.
For Windows, extIO dll's were tested for SDRplay, DABsticks, and Airspy as "fast" devices, and pmSDR as device with a soundcard as AD converter.
The spectrumwidth can be selected - depending on the selected device - within the small control window for the selected device. Automatic stepping through a user-defined range of frequencies, with a user-defined speed and stepsize is also possible.
The manuals can be downloaded here,
dab receiver, the
and one for the
It is assumed that the handling of the spectrumviewer can be done without an additional manual.
An informal description of the synchronization in the DRM decoder is given in this description, the document is still a draft.
The executables for Windows are packed as always in a
"zip" file. There are two files, one is
for dab, a
zipped folder for the DAB program, the FM program and the spectrumviewer,
together some dll's,
and the other one is for
the sw-receiver together with the
plugins for input and decoders.
The zip files contain the executables and many of the required basic dll's. For device specific software, such as the SDRPlay one has to install software libraries from the supplier (for the SDRPlay that is www.sdrplay.com). Note that for execution, basic dll's for MS support, such as the msvcr100.dll are also required!!. Furthermore, for running software with a particular extIOXXX.dll, one should obtain that extIOXXX.dll and install the extIOXXX.dll in the windows-bin-xx folder.
The distribution contains a single file
systems.tgz with the full sourcetree.
The topdirectory is called "systems" containing subdirectories for the sources. Apart from the directories for the sdr-j-swreceiver, the sdr-j-fmreceiver, the sdr-j-spectrumviewer and the sdr-j-dabreceiver-0.99, there are a few more:
a. "servers", a directory containing the source for a (very) simple server to allow remote operation of an SDRplay,
b. "sdr-j-dabreceiver-0.99-ubuntu-1404", a directory with the set of sources to generate the sdr-j-dabreceiver-0.99 using Qt4 under ubuntu-14.04, accompanied by detailed instructions, Ubuntu 14.04 gives problems with the standard distribution since the Ubuntu 14.04 LTS does not seem to support qwt6 in combination with Qt5. (Ubuntu 15.04 does provide support).
c. "sdr-j-dabreceiver-0.98", a directory containing the sources of the 0.98 version of the dab software (adapted for Qt5).
d. "sdr-j-dab-rpi.99", a directory with sources to generate an executable on - and for- a raspberry RPI 2. Note that one needs a distribution that understands that an RPI 2 has an arm v7. I am using Arch Linux. Running causes all 4 cores to be loaded to up to 55 a 60 percent. Note further that the GUI is simple and Qwt is not needed, so it will compile with Qt4 and Qt5.
Executables that are generated will be placed by default in a directory "linux-bin" in the top directory (i.e. the directory "systems"). The config file allows to to choose another place.
Using a decent toolchain for local development
(or for cross compilation, e.g. Mingw64), it should
be pretty easy to generate executables.
The software is developed under Fedora 21 and has been tested under
Fedora 21, Ubuntu 14.04, Ubuntu 15.04, Windows 7, and Arch Linux (on my RPI 2).
The settings in the ".pro" files reflect the development environment
and may need adaptation.
For the DAB software there is a choice between using the Qt QMake facility or using CMake. Warning: for the sw-receiver and the plugins the QMake facility should be used, the CMakeLists.txt files contain errors.
Note that different distributions (and even different releases of the same distro) use
different naming schemes for Qt5 and qwt. You probably have to adapt the ".pro" file,
or - for the DAB software - the CMakeLists.txt file.
The manuals contain more information on how to build an executable, and they contain a list of required libraries. The manual for DAB and the manual for swreceiver contain a validated check for the availability of the required libraries used in Fedora 21 and Ubuntu 15.04.
For device specific libraries, i.e. for the SDRplay, the DABsticks
and for the Elad-s1 one has to install software available from
the supplier of the device.
For the SDRplay one should load software from www.SDRplay.com,
there are simple
install scripts for Windows, Linux and RPI.
Note that for both Windows and Linux the most recent API (i.e. version 1.7)
should be installed.
For DABsticks one has to install the osmocom library, available from www.osmocom.org, note however that many Linux distributions provide a package for these dongles.
For the Elad-s1, the library software is available from ecom.eladit.com.
The software is developed as hobby project and is available under a GPL,
and as the license state:
SDR-J is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
Reports on user experiences, suggestions as well as contributions
(material and immaterial)
Pijnacker, September 2015
Jan van Katwijk
Lazy Chair Computing