A new version of the main programs of the SDR-J suite is now available. Many users of previous versions gave their feedback and helped us to improve the software. As usual, for Windows there are zipped files containing the executables, for Linux there are the sources with which one can generate executables (see below). Recently we changed the names of the programs and the names of the manuals to better reflect the function and the version.
The DAB decoding software is now extended with
(a) a (temporary) solution to the problem of overloading the outputbuffer, and
(b) support for Mirics devices.
(c) improved capabilities for handling dumping the input and reading back files.
Furthermore, some minor errors were removed and some cleaning up of code was done. Building an executable is now simpler since some choices were eliminated. Finally, for creating an executable for the DAB receiver a robust CMakeLists.txt file is available for use with cmake.
The DAB software does need a reasonable 64 bits machine to run.
The FM receiver underwent a major revision: there is now
a single version, supporting "slow" (i.e. soundcard) input as well
as fast (i.e. dongles through USB) input. It supports
DABsticks and the Mirics devices (both the dongle as the SDRplay) as well as
the good old pmSDR with its data through the soundcard.
is called an FM receiver, it is more
than that: it might well function as a viewer for a
The frequency on hich one can tune is solely determined by the
connected device. The width of the spectrum, and thus speed of its input data,
is basically only
limited by the input device (and the processing power).
The picture below shows a band of 2.4 Mhz, using a DABstick as input device.
A major architectural change compared to the previous version is that now input drivers are implemented as plugins, plugins that are selected dynamically.
Input plugins for
(a) the RT2832 based DABsticks,
(b) the Mirics dongle and the Mirics SDRplay,
(c) the pmSDR,
(d) as well as a plugin for a filereader
are all part of the distribution. For the "fast" devices, one might specify the actual input rate in the ini file. Default for DABsticks is 960000, for Mirics devices 1536000. Mirics devices allow inputranges up to 8 Msamples/second.
Finally, for use with other up (or down)converters, one may specify an offset.
The implementation for Windows in this distribution requires a 64 bits machine.
The smallband SW receiver also underwent a major restructuring.
The rate for the input data can now be selected while running.
For both DABsticks and Mirics devices
one may select an inputrate of 96, 192, 256, 384, 512 or 768 Ksamples/second
for processing (an adequate inputrate for the stick or device itself
will be selected automatically).
For the soundcard devices the choices are 48, 96
to dynamically change the rate had quite some impact on the implementation.
For a wider use of the software under Windows, handling of Winrad compatible dll's for devices delivering data through a soundcard, is significantly improved. The figure below shows the reception of a (german) ssb station with a 2.5K bandfilter, where the control of the pmSDR is through an external (Winrad compatible) dll. Direct support - through plugins - is available for DABsticks, for Mirics devices (both dongle and SDRPlay), the Elektor card, the pmSDR and for filereading.
Hell and Throb are now added to the list of decoder plugins, such that there are now different 10 decoders in this list, with analog, CW, psk, rtty, etc etc.
For configuration purposes (the ".ini" file has to be told where to find the plugins). There is a small configuration utility that will set the paths in the ".ini" file.
The sw software runs in 32 bits (to accomodate handling devices with Winrad compatible dll's) and in 64 bits.
The manuals were completely rewritten. There is now a separate manual for each of the three programs. The manuals contain installation instructions and, for Linux, descriptions of how to build the executables. The manuals can be downloaded here, dab receiver, the fm receiver, and one for the 32 bits swradio.
The executables for Windows are packed as always in a
"zip" file. There are two files, one is
fm and dab receiver, a zipped folder for the fm and dab program, these programsUntitled Folder
require a 64 bit machine,
and the other one
sw programme, a programme cross compiled for 32 bits that will
run on bots a 32-bit and a 64 bit machine.
The zip files contain the executables and many of the required basic dll's. (Note that for execution, basic dll's for MS support, such as the msvcr100.dll are also required!!)
The Linux distribution contains three packed files , one for the sources of the DAB receiver, one for the FM receiver, and a third one for the SW receiver,
The sources for the dabreceiver can be downloaded from sdr-j-dabreceiver-0.97.tar.gz. the source for the fmreceiver can be downloaded from sdr-j-fmreceiver-0.97.tar.gz. and the sources for the swreceiver can be downloaded from sdr-j-swreceiver.tar.gz.
The software is developed using Qt and qwt and written in C++ and is
available under a GPL as is.
The sources included here are the exact sources from which o.a. the Windows
executables are generated. Using a good toolchain for local development
or for cross compilation, e.g.
Mingw64, makes it pretty easy to generate executables.
The manuals contains a description of how to build an executable, and they contains a list of the required libraries.
For the DAB software, there is a pretty well tested CMakeList.txt file to support building using the CMake system.
The DAB software needs a pretty heavy machine for running, it runs flawlessly on my laptop with a 2.5 GHz i5 processor both under Fedora and Windows 7. It runs pretty well on an older machine with a 2.0 G duo Core, and even - with some stuttering - on an 7 year old machine. The load of the FM software will - obviouly - increase when higher input rates are chosen. The load of the SW receiver should notUntitled Folder be a real problem.
Reports on user experiences, suggestions and contributions
Pijnacker, September 23 2014
Jan van Katwijk
Lazy Chair Computing