Using Spectrum Lab with SDR-IQ /
< under construction >
To use Spectrum Lab with SDR-IQ or SDR-14 (Software Defined Radios by RFSPACE),
you will need the USB Serial Drivers by FTDI installed on your system, or
a TCP/IP connection to a remote "SDR server" (USB-TCP/IP gateway). But if
you have an SDR-IQ or SDR-14 connected to your PC, you will most likely already
have the program SpectraVue (by MoeTronix) installed. In that case, the FTDI
drivers are already installed, and Spectrum Lab can talk "directly" to the
radio (it doesn't require any ActiveX control to work). Since the USB connection
to the radio can only be occupied by ONE application at a time, it is impossible
to have Spectrum Lab and SpectraVue running side-by-side.
SDR-IQ or SDR-14 directly connected to the local PC via USB / FTDI driver
If SpectraVue has not been installed on your system, you need to install
the FTDI drivers. Search the net for "FTDI D2XX drivers", which should take
you to a download site at www.ftdichip.com. Look for the "setup executable"
(it's easier to install than the zipped archive, which lacks any
"setup"-feature). When tested with Windows XP and the FTDI D2XX driver, the
LEDs on the SDR-IQ were immediately turned on after the driver was installed,
and Spectrum Lab could communicate with the radio (see next paragraph). There
is almost no documentation on the FTDI site how to install or supervise the
D2XX driver, so here's how and where to find it in the windows (XP) system
Open the system control (in German: Systemsteuerung), select 'System'
(System in der "klassischen" Ansicht)
In the System property panell ("Systemeigenschaften"), select the 'Hardware'
On the 'Hardware' tab, click on the Device Manager (?) button (Button
In the Device Manager, find the 'USB-Controller' branch
At least on a german PC with windows XP, there was an item labelled 'USB
Serial Converter' .
This actually turned out to be the FTDI driver (!!) where the SDR-IQ was
Double click on the "USB Serial Converter" (or the branch under 'USB Controller'
which you guess may be the SDR...)
On the author's XP machine, a dialog titled "Eigenschaften von USB Serial
Converter" appeared, which showed ...
On the tab labelled 'Allgemein' (Common ?) :
Gerätetyp : USB Controller
Ort: Pfad 0 (SDR-IQ) <<<< a-ha !
(so we know this 'USB Serial Converter' thingy is in fact the SDR-IQ's internal
and we can check if the driver is reasonably new on the next tab ... especially
after looking at FTDI's release notes..)
On the tab labelled 'Treiber' (Driver ?) :
Treiberanbieter : FTDI
Treiberdatum : 12.07.2010
Treiberversion : 220.127.116.11 (this was after installing V 2.08.02 from
the FTDI site)
Signaturgeber : Microsoft Windows Hardware Compatibility Publisher
If the driver date, or version number is older than the one shown on the
FTDI site (for the 'D2XX Direct Driver' or 'FTDI CDM Driver' which fits your
system), read the RELEASE NOTES, and if you find something like 'various
bug fixes and enhancements' there, don't hesitate to update the driver (download
the "executable" and run it).
On the author's PC, updating from driver V2.02.04 to V2.08.02 cured occasional
drop-outs at 196 kSamples/second .
If you use Vista or Windows 7, you're on your own at this point. Be shure
to pick the right driver for your OS from the FTDI site !
Besides FTDI's USB driver (*.sys, located in some windows system directory),
the "setup executable" by FTDI will also copy an interface DLL into a window
system directory (under Win XP, c:\WINDOWS\system32\ftd2xx.dll). Spectrum
lab will try to load this DLL dynamically if necessary.
To let Spectrum Lab talk to the SDR-IQ "directly" (via USB), uncheck the
"remote" option on the SDR Control/Configuration panel (see below).
SDR-IQ or SDR-14 connected via TCP/IP (LAN) to a remote server :
As an alternative to connecting Spectrum Lab "directly" to the radio (via
USB), you can use a TCP/IP connection for remote
operation. To do this, check the "remote" option on the SDR Control/Configuration
panel (see next chapter), and enter the IP address and port number in the
edit field next to the checkmark. If you are using MoeTronix's "SDRxxServer.exe",
the default port will be 50000. If the server runs on the same PC as Spectrum
Lab (for a "local test"), use the IP address 127.0.0.1 .
To select SDR-IQ or SDR-14 for input (instead of the soundcard), open the
"audio settings" tab in SL's configuration, and select "SDR-IQ / SDR-14"
in the list of "Audio Input Devices".
Note: SL doesn't check if the radio is really connected to the USB port in
Alternatively, to check if the installation was ok, select Quick Settings..Image
cancelling DC receivers (I/Q).."SDR-IQ, 37 kHz sampling, downconverter, 3
kHz audio bandwidth" in SpecLab's main menu. In this configuration, SL acts
as a back-end for a software defined radio, including waterfall display and
audio output (through the soundcard). How to set the receiver frequency is
explained in the next chapters of this document. How to adjust the audio
filter is explained in another
SDR Control / Configuration Panel
To open the following control panel for the SDR-IQ / SDR-14, select View/Windows
/ SDR-IQ Control Panel in SL's main menu:
SDR VFO tab / main control panel
You can modify the radio's NCO (numeric controlled oscillator) in the "VFO"
field. Either type the number, or click on one of the digits to place the
cursor there. You can then increment / decrement the frequency with the cursor
up/down keys, or with the mouse wheel (unlike SpectraVue, just pointing the
mouse above the edit field isn't sufficient ! ).
The RF gain combo changes the preamp gain / attenuator (AD8370), the IF gain
combo sets the digital IF gain (AD6620 in the SDR-IQ). Some less frequently
used settings (which are specific to the SDR-IQ and SDR-14) must be set on
the "cfg"-tab (config):
SDR Config tab
The radio's IF bandwidth (and, at the same time, the sampling rate) can be
set on the "CFG" (config) tab of this control panel :
It may be necessary to stop and restart the external SDR before the new settings
become effective. If SpecLab fails to do this automatically, or if the radio
"stalls" when switching to the new settings, stop and restart it from SpecLab's
main menu ("Start/Stop"..."Stop Sound Thread"..."Start Sound Thread").
A sampling rate of 196 kHz creates a heavy load on the USB connection between
the radio and the PC, and requires a relatively fast CPU. If you don't really
need the 190 kHz displayed bandwidth, select a lower sampling rate - especially
on a laptop running on batteries !
Other options on the SDR configuration tab are:
SDR clock frequency ( and the [Calibrate]-button )
This edit field contains the precise clock frequency of the A/D-converter
(AD9245) inside the radio. The nominal frequency is 66666666.6 Hz, but it
can be calibrated if necessary. You can let the program calculate the precise
value: Click the "Calibrate"-button, enter the frequency of a well-known
reference (for example, Droitwich on 198.0 kHz in Europe), and then the
measured frequency. Use a large FFT, and a low sampling rate to get
the best accurary of the frequency measurement.
Note: The new clock frequency will be written into a special location of
the radio's internal EEPROM memory, so SpectraVue can use this calibrated
[ ] add VFO frequency in the spectrum display
If this option is selected, the VFO frequency will be added to the frequency
scales in the main spectrum display, and when modifiying the VFO frequency
(via mouse wheel for example), the displayed frequency range in the spectrum
display will be adjusted, too.
Otherwise, the main spectrum display will only show the "audio" frequencies,
and the display will not change when the VFO frequency changes.
[ ] stay on top
With this option, the small SDR VFO control panel will always be visible
on top of Spectrum Lab's main window, even if it doesn't have the focus.
[ ] remote (next to an input field for an IP address and port number)
Use this option if you are using a TCP/IP connection between Spectrum Lab
and the SDR instead of a local USB port. The IP address and the port number
must be entered in the edit field next to this checkmark. For a "local" test,
try 127.0.0.1:50000 (which is the IP address of the "local host", i.e. your
own computer, and 50000 is the default port number for MoeTronix's
SDRxxServer.exe). Also see these notes.
Opens a popup menu with the following options:
Use passband ripple compensation (for the FFT)
If this menu is checked, the FFT for the main spectrum analyser will use
the an FFT compensation table from SpectraVue to reduce the passband ripple
caused by the AD6620 in the SDR. You only need the passband ripple compensation
for extremely weak signal analysis, for example the
Select FFT compensation file
Use this function to select one of the FFT compensation files from SpectraVue.
There is one file for every sample rate in the "FilterComp" directory of
SpectraVue. For more information, see chapter 18.104.22.168 "Select FFT Compensation
File" in the SpectraVue documentation.
For example, for the 5 kHz filter bandwidth (8.1 kHz sampling), load
Click this button to make some of the changes effective (not required for
the VFO frequency, which will be sent to the radio immediately).
Because the sampling rates of the SDR-IQ are not integer multiples of the
soundcard's standard sampling rates (like 11025, 22050, or 44100 Hz), you
need Spectrum Lab's output
resampling function if you want to send the (demodulated) signal to the
audio output of the soundcard.
Remote Control for SpectraVue
For some special applications, Spectrum Lab can send control commands to
SpectraVue through the registered messages mentioned in the SpectraVue
At the moments, the following commands can be used (copied from
..command_files\testcmd.txt ). Of course, it makes more sense to use these
commands in the conditional or scheduled actions.
; SpectraVue Control ..
svc.fc=12345678 // send center frequency in HERTZ
svc.fs=100000 // send center frequency
pause running (how to restart?)
// stop running (-> SpectraVue "idle")
svc.fcapture=0 // file capture (in SpectraVue)
svc.fcapture=1 // capture RF in file
svc.fcapture=2 // capture DEMODULATED output
svc.rfgain=0 // set RF gain (0..3;
svc.ifgain=0 // set IF gain (0..4;
print "SpectraVue: fc=",svc.fc,"Hz"," fs=",svc.fs,"Hz"