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)
- Added the calibration interface to the spectrum and s-meter (my wish);
- Right-clicking on the spectrum now brings the frequency at the mouse
pointer into the passband (Roger's request);
- FIFO locations now defaults to /dev/shm (public demand);
- The spectrum scale is now in dBm instead of dB (my wish);
- Added a simple help window. This needs further work;
- Changed the FIFOs location in sdr.sh to /dev/shm (public demand);
- 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:
- Static spectrum (SPEC off): To display the spectrum, move
the mouse over a signal on the spectrogram frame and press the right
mouse button.
- 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.
|