Edson Pereira Amateur Radio Homepage PU1JTE : N1VTN : JF1AFN 

SDR-Shell



Introduction
SDR-Shell is a simple Software Defined Radio Graphical User Interface for controlling the DttSP sdr-core. It was implemented to be used with simple SDR receivers like the SoftRock and SDRZero. SDR-Shell was developed using the Qt Toolkit under Ubuntu (Debian) Linux. The transmit functions are currently being implemented to enable TX on simple SDR transceivers like the SoftRock RXTX 6.2.


Block Diagram
Download the source code for DttSP sdr-core and sdr-shell.
Since sdr-core is under constant development, I am including the latest version at the time of release for sdr-shell. The tar file sdr.20060825.tar.gz includes the source code for SDR-Core and SDR-Shell.

Instructions on how to compile and run sdr-core and sdr-shell as well as how to download the latest source code snapshot for sdr-core can be found in the README file included with the source code. More information can also be found at the DttSP Wiki and at the DttSP-Linux Forum.
Source Code History
SDR-Shell v2b (sdr.20060825.tar.gz)
  1. Added the calibration interface to the spectrum and s-meter (my wish);
  2. Right-clicking on the spectrum now brings the frequency at the mouse pointer into the passband (Roger's request);
  3. FIFO locations now defaults to /dev/shm (public demand);
  4. The spectrum scale is now in dBm instead of dB (my wish);
  5. Added a simple help window. This needs further work;
  6. Changed the FIFOs location in sdr.sh to /dev/shm (public demand);
  7. Added the code to setup the realtime (realcap) kernel module;
To calibrate the spectrum and s-meter, you will need to inject a known signal source to the receiver used. Any signal strengh is ok as far as the intensity is known. Change the calibration until the display indication matches the power output of the signal source. To calibrate the s-meter, reduce the filter bandwith to a minimum before calibrating. The calibration interface is in the Config frame.
User Interface
The upper frame is the main control panel. It displays the signal strength of the signal in the receiver passband, receive frequency, mode, noise reduction, binaural mode, receiver mute, and spectrogram state (on/off).

The middle frame displays the spectrogram near the NCO center. The color ranges from dark blue to white. Weak to strong signals respectively. The spectrogram updates 10 times per second.

The mid-low frame displays the spectrum. There are two modes:
  1. Static spectrum (SPEC off): To display the spectrum, move the mouse over a signal on the spectrogram frame and press the right mouse button.

  2. Continuous spectrum (SPEC on): The spectrum is updated 10 times per second.
The lower left frame is the secondary control frame. From left to right, there are 8 memory cells. left-and-right (middle button) mouse click on the cell writes the current receive frequency, mode, and filter settings. Right mouse click reads the memory cell contents into the main VFO. To see the contents of a memory cell, move the mouse pointer over the cell. The frequency will be displayed in the label right after the memory cell number 8 (F8). The CA frame shows the values for the spectrogram color aperture. The AGC frame shows the current AGC settings. You can change the AGC settings by right clicking on the letter next to the AGC label. The letters mean Long, Slow, Medium, and Fast AGC respectively. The CFG frame is the entry point to the configuration window. Click on the CFG frame to open the configure window. The CPU frame is the current 5 minutes load average.
Keyboard Commands
Right-Arrow:Increase tunning frequency
Left-Arrow:Decrease tunning frequency
Up-Arrow:Increase tunning step
Down-Arrow:Decrease tunning step
j:Increase tunning frequency
k:Decrease tunning frequency
l:Increase tunning step
h:Decrease tunning step
u:Decrease lower limit of filter passband
i:Increase lower limit of filter passband
o:Decrease higher limit of filter passband
p:Increase higher limit of filter passband
q:Decrease IQ gain
w:Increase IQ gain
e:Decrease IQ phase
r:Increase IQ phase
z:Decrease spectrogram color aperture lower limit
x:Increase spectrogram color aperture lower limit
c:Decrease spectrogram color aperture higher limit
v:Increase spectrogram color aperture higher limit
ESC:Quit program
Mouse Commands
Left click on upper spectrogram:Bring signal to passband
Left click + horizontal drag on upper spectrogram:Tune in 1 Hz steps
Right click + horizontal drag on upper spectrogram:Tune in 10 Hz steps
Middle click + horizontal drag on upper spectrogram:Tune in 100 Hz steps
Left click on NR label:Toggle Noise Reduction
Left click on ANF label:Toggle Automatic Notch Filter
Left click on NB label:Toggle Noise Blanker
Left click on BIN label:Tougle Binaural Audio output
Right click on F1-F8 labels:Read memory
Middle click on F1-F8 labels:Write memory
Right click on CFG label:Open configuration window
Acknowledgements
I would like to offer my sincere gratitute to Bob McGwier, N4HY, and Frank Brickle, AB2KT, for their work in developing DttSP; Gerald Youngblood, K5SDR, for his valuable contribution to the amateur radio art with his series of SDR articles in QEX and the realization of the SDR-1000 transceiver; William Schauff, PY2GN; and J.K. De Marco, PY2WM, for their continuous interest and support in the project.
Licensing
SDR-Shell is licensed under the terms and conditions of the GNU General Public Licence version 2 as published by the Free Software Foundation.

  Home Copyright (C) 2008 Edson Pereira Last Updated: 2008.01.14