A software package for cheap sdr reception on Linux and Windows
NEW ADDITION to SDR-J software
While preparing for a new release we created two new programs
It is quite obvious that one cab use a DAB stick to receive DAB programs. However, the DAB software presented here is a real SDR in that it is a pure software solution.
The fm receiver takes advantage of the bandwidth provided by the DAB stick output.
As usual, the software is in a Windows and a Linux flavour.
The Windows distribution is a "zip" file,
dabstick-radio-0.92.zip
containing the two executables and the required dll.
Note that for execution, the msvcr100.dll is also required!!
We now only provide 64 bit versions of this software.
It is obviously possible to generate a 32 bit version, and I am playing with one, but for the time being its functioning is not what it should be.I am sorry for that, but for the time being, it is just what it is!!! (All kinds of suggestions are
welcome, the 32 bits windows executable run perfectly under wine on my laptop).
In general, one needs a pretty heavy machine for running the software:
it runs flawlessly on a 2.5 GHz core i5 under Fedora and Windows 7. It - more or less, depending on the OS - runs on a 2.0 G duo Core machine.
The Linux distribution consists of the packed sources dabstick-radio-0.92.tgz.
A manual for the two programs is available dab-manual.pdf. This manual contains a summary of the required libraries for building an executable.
Reports on user experiences will be appreciated.
Pijnacker, May 2013
Version 4.1 of sdr-j software is now available
SDR-J (formerly Jsdr) is a suite of four programs provided under a LGPL open source license for playing around with sdr (software defined radio). The software can be used directly with the PM-SDR kit and RTL2832U based dongles, and in the 32 bits Windows version with other kits as well.
In order to address usb problems that occurred on some systems with some DAB sticks, we now release a version 4.1 where this issue is addressed.
The suite contains four programs:
- a full blown "short wave" receiver, which provides tuning in the range of 100K .. 165M using the PM-SDR (although above 55 M with reduced performance) and from app 55 MHz to app 900 Mhz or above using an RTL2832U based dongle. The receiver provides quite a number of decoders for amateur modes.
- am/fm receiver covering the same frequency bands as the sw receiver, however, with am bandwidths selectable, with fm mono and stereo decoding as well as with rds decoding.
- spectrum viewer for use with the RTL2832U based dongles, showing spectra of up to 3 Mhz bandwidth.
- mini receiver, a stripped version of the fm receiver, a gadget for listening to WFM using DAB sticks.
The software was developed under Linux, however, thanks to the excellent Mingw cross environment it turned out to be quite well possible to generate executables for windows (windows-32 as well as windows-64).
Direct (i.e. selectable) support for both the swreceiver and the fmreceiver software is implemented for both the pmSDR kit and for DAB sticks with the rtl2932U chip.
Support through ExtioXXX.dll is possible for "type 4" devices, i.e. devices that use a soundcard for data transfer.
Although the mechanism is available in 32 bits windows, and in 64 bits windows as well as Linux, current dll's are, however, 32 bits and therefore only supported on the w32 version. The software is tested for use with the following dll's
a. the (old) elektor dll
(see http://home.gjk4all.net/winrad-dll/)
b. the (most recent) dll for pmsdr (see http://www.iw3aut.altervista.org/index.htm)
This form of ExtioXXX dll support is available in both
the swreceiver and the fmreceiver.
However, for the fm receiver the control functions of the dll are switched off, the dll is only used to access the device, i.e. frequency selection is through panel of the fmreceiver. Support for the pmsdr is such that user selected
frequencies above 55MHz are selected using a third harmonic of the VFO.
Note that for the pmSDR, direct support for the pmSDR kit requires an alternative usb driver (winUSB) to be installed (zadig can be used for installing this). However, using the dll for pmsdr does not require an alternative usb handler.
Note further that for the dabstick support, either direct support or support through the dll, the alternative usb handler (winUSB) is required.
In Version 4.1 a DAB stick can be selected in any of three ways
a. through the "dabstick" entry on the menu of both the FM receiver and the SW receiver. In this case DAB stick driver software is activated that is essentially a simple
wrapper around software derived from sources for librtlsdr.
Apparently, the usb library used here sometimes causes problems with some DAB sticks.
This entry exists - and is working - in both the Windows 32 and 64 bits and the Linux version of the software.
b. through the "dabstick (dll)" entry. For Windows (both 32 and 64 bits versions) the "rtlsdr.dll" is used.
This dll, which can be found on the osmocom site, is for reasons of convenience made part of the distribution. For both the 32 and 64 bits version such a dll exist.
For Linux, the dll is implemented as a "shared library" (librtlsdr.so) which is available in the distribution.
The libusb version that is used for the windows dll is reported to give problems when subsequent frequency changes are too fast.
c. through the "extio" extry, when selecting Extio_RTLSDR.dll. In this case software is activated that is essentially a simple wrapper around the Extio implementation.
The dll - taken from sdr# - is part of this
distribution. It exists, however, only for the 32 bits Windows version.
Note that while the entries (a) and (b) do support DAB sticks with R820T tuners, while the ExtIO_RTLSDR.dll used with (c) does not support these latter DAB sticks yet.
For Linux, one has to create its own executables!!!
The source distribution contains all sources, and (q)make files, such that it is fairly easy possible to generate an executable for Linux. The sdr manual contains a fairly extensive description of how to generate executables for Linux (Ubuntu and Fedora).
The source tree contains a directory "installation" with scipts that can be used to install the required packages under Ubuntu and Fedora. When these packages are available, generation of executables is pretty straightforward.
Furthermore, it is possibile to generate executables for either 32 bits or 64 bits windows (after all the windows executables in this distribution are made with the provided set of sources). Generating Windows executables requires some additional work in setting up some crosss compiled packages.
Documentation
A general descriptive overview can be found in sdrj-description.pdf
Next to this description there are two documents
a. sdrj-installation.pdf, a description of how to install the software under
Windows and how to generate an executable under Linux
b. sdrj-manual.pdf, a fairly extensive manual for using the SW receiver
software, updated for use with version 4.1
Since the similarity of the (gui's of the) three programs is evident, it is believed that once having worked with the sw receiver software, working with the other three programs is more or less self evident.
The distribution itself consists of three elements,
a. the full set of sources jsdr-4.1.tgz
b. the executables together with the required dll's for the 32 bits version, packed together in a single file
release-4.1-32bits.zip
c. the executables together with the required dll for the 64 bits verion, packed together in a single file
release-4.1-64bits.zip
For reasons of convenience, some dll's are included that belong to others and other distributions.
Note 1: An installation program (zadig) is included in each of the two windows distributions
Note 2: the windows versions are pretty large files, since (almost) all of the libraries are statically linked. The x-64 version needs one dll, the w-32 version needs two dll's, included in the disribution.
Note 3: The fm program needs some resources for decoding fm with a samplerate of 192 K. Parameters are set for the w-32 version to minimize the resources needed, however, at the expense of quality of (visualisation of ) spectra.
For 64 bit machines, the x-64 version is recommended, it really outperforms the w-32 version.
Further changes of the 4.1 version compared to version 4.0 are pretty limited. Apart from the removal of some minor errors they are:
a. addition of the mousewheel as a tool for small changes in the selected frequency
b. addition of an offset field selector for use with the swreceiver, supporting the use of an upconverter in combination with a DABstick.
c. all programs will now save the values of relevant settings in the ini file, such that in a next instantiation of the program the settings are used to initialize the configuration.
The ini files als stored in the HOME environment and have the form .jsdr-XXX.ini
The 4.1 distribution now also contains - merely a gadet - also a simple fm receiver, a mini receiver that allows one to select a frequency and set the volume. For both the mini receiver and the spectrum receiver, by default the "dabstick-dll" is used. By changing an entry in the ini file (dabstick=dabstick rather than (dabstick=dabstick-dll) the internal DAB stick driver will be used.
Have fun!!
Contact:
Jan van Katwijk
E-mail: J.vanKatwijk@gmail.com