SDR-Shell for IF Applications

Use a Softrock and SDR-Shell and Hamlib to Turn Your Old Ham Rig into a New One

Take a $12 dollar Softrock, available from Tony Parks, KB9YIG, and turn your old ham rig into a new one with all the DSP demodulators and features of a new rig. I did it with my Kenwood TS-850SAT. Hooking the the Softrock between the third IF (455 KHz) and the audio card on my shack computer was quite easy. Most of the work was in software, but that was easier because I could build on the work of Bob McGwier, N4HY, Frank Brickle, AB2KT, and Edson Pereira, PU1JTE, N1VTN, JF1AFN. Now you can modify the software further for your rig, if you choose. It should work on Linux, Mac, and Windows, though I have only tested it on Ubuntu Linux.

I picked the third IF for the connection point, because I wanted to keep using all the 455 KHz filters I have installed. The TS-850SAT allows you to independently select the filters in each IF, so I can disable all but the 12 KHz roofing and third IF filters. This allows me to have about 12 KHz of spectrum displayed if I desire. Others before me had already determined the modifications to move the Softrock40 to a 455 KHz receive frequency. Tony sent me the 455 KHz kit very quickly, and at such an astounding price. After taking my time building the kit, I hooked it up as follows.



I didn't want to affect the normal operation of the TS-850SAT with this modification, so I very lightly coupled to the third IF by connecting a 27K resistor to the junction of R109 and C83. The other end went to the center conductor of the antenna input of the Softrock.  See the photos below, which came from pages 144 and 147 of the TS-850SAT Service Manual. The schematics for the Softrock can be found here. This worked out well, because signals in the third IF were already much larger than needed by the Softrock.

 Schematic showing where to hook softrock antenna in.
Schematic diagram showing where to connect the 27K resistor that goes to the input of the Softrock.

Schematic showing where to solder softrock antenna in.

Diagram showing where the 27K coupling resistor is soldered on.

I grabbed power from RX8, on the TS-850SAT, the 8 volt line that goes high during receive.  See the photo below.

Photo showing where to connect power.

After getting the hardware going, I used Synaptic to get the lowlatency kernel and then used Roger Rehr's web page and Debian package to get Dttsp and SDR-Shell running on my Ubuntu Feisty box. The shell script, sdr, had to be modified a little, and I learned a lot about how the Dttsp system works with fifos and Jack Audio Connection Kit by reading the shell script and bothering the experts on the dttsp-linux mailing list.

The results are very nice.  I really like the synchronous AM detector for SWLing, and the automatic notch filter to get rid of tuner uppers, and the binaural setting is really something to listen to.  There are still things to work on, but that is the fun of ham radio.

Download SDR-Shell with IF Mods here.

Download the revised SDR-Shell (version 3a) Alpha Software here.
Download the revised sdr shell script for starting Dttsp and Jack here.
Put sdr.sh in the directory /usr/local/bin/ and call it sdr.

> sudo cp sdr.sh /usr/local/bin/sdr

Note:  I had to fix several bugs in hamlib and add some features to make this software work properly.  You need to download a snapshot of hamlib after 8/21/2007 here.

Install Instructions

This software uses the usual Linux build system.   To install hamlib see the instructions here.  You will need CXX bindings so that the C++ in SDR-Shell will work.  The other bindings are optional.  Be sure to install a version that is later than August 21, 2007, as I made significant bug fixes and improvements to make the IF version of SDR-Shell work with my Kenwood. You must have the developer QT3 installed with multiple threads (I haven't tried QT4), and your QTDIR environment variable must point to it.   Then you can untar SDR-Shell with the command:

> tar -xvf sdrshell-3a.tar.gz 

Then you need to connect to the new directory you created.

> cd sdrshell/

Then you need to use QT.

> qmake sdr-shell.pro

and

> make

and then copy it to a bin directory in your path

> cp sdr-shell /usr/local/bin/

and then you can run sdr-shell with the command:

> sdr-shell

But before you do that, you need to start dttsp, the signal processing software for the demodulators.  To do that you execute the sdr shell script.  As it stands you need to do that with root privileges, like this:

> sudo sdr start

The start command starts dttsp and connects the fifos up.  You should hear some noise coming out of your speakers if all is working now.  If so you are ready to start sdr-shell with:

> sdr shell

To stop the radio, quit sdr-shell from its GUI and issue the command:

> sudo sdr stop

If you don't like using root privileges and entering your password all the time to start sdr, you can make the following changes to your system.
> sudo su -c 'echo @audio - rtprio 99 >> /etc/security/limits.conf'
This allows you to run jack at the high priority needed for use with the low latency kernel.  With this changes you should be able to start sdr with the following command:

> sdr start

and likewise stop it with:

> sdr stop

I hope this isn't too hard to follow.  Let me know if you have questions.

Rob