DL4YHF's Amateur Radio Software:
|
Main Site:
http://freenet-homepage.de/dl4yhf/spectra1.html Download/Backup: dl4yhf.ssl7.com/spectra1.html Too slow site: www.qsl.net/dl4yhf/spectra1.html (freenet site more frequently updated due to bandwidth problems at qsl.net) |
This program started as a simple FFT program running under DOS a long time
ago, but it is now a specialized audio analyzer, filter, frequency converter,
hum filter, data logger etc (see history at the bottom of this page). You
can download it from this site. Or look into the
manual though the manual included in the
archive will be more up-to-date. If you are looking for a short description
in German language, look here . The revision
history is here. How to use SpecLab with
SDR-IQ is described here. And how
to use SpecLab with PERSEUS (without a virtual audio cable in between) is
here .
If you need help getting the program running, or have questions about a
particular function, look into the
Spectrum Lab forum at
Yahoo (thanks Art for setting this up ! ). I may be monitoring the forum
occasionally but I am not a very active member of it.
(SpecLab screenshot in "Colour Direction Finder" mode, VLF spectrum, colour~bearing)
Features

(screenshot of "Components" window from an older version)
Features which this analyzer does not have (but others do...):
How to use Spectrum Lab to produce field strength plots of DI2AG, an experimental medium wave beacon on 440 kHz in southern Germany. It realizes some ideas we spoke about at the Ham Radio fair in Friedrichshafen (June 2005). More info in this document (up to now, in german language only) : Beschreibung des Einsatzes von Spectrum Lab als Bakenlogger für DI2AG. Update 2007: DI2AG has moved to 505 kHz now (which is a new amateur radio band in many countries - with the exception of Germany..).
There is a special narrow-band transmission mode in Spectrum Lab's "digimode terminal" called Chirped Hell, based on an idea by Markus, DF6NM. We used it on the amateur longwave band (136 kHz) to make some narrow band transmission. A special property of Markus' Chirped Hell principle is the relatively low crest factor, so it can be used to transmit characters (and even small images) quite effectively, but (unlike sequential multi-tone hell) you need a linear transmitter. An image received on a waterfall in "QRSS 3" mode may look like this:
This article by Lyle Koehler, KØLR, describes a simple "software defined" receiver and some other (easier-to-use) alternatives to SpecLab too. Don't miss Lyle's downconversion circuits which he sucessfully uses to the receive US-American LowFER beacons. The last part describes how to log fieldstrengths of LowFER beacons with Spectrum Lab's plot window.
This nice website by Andy G7IZU monitors Meteor Shower, Aurora Sporadic-E and Solar Flares in real time, mostly using reflections of radio signals in the 50 MHz region.
Jacques, VE2AZX, describes here how Spectrum Lab can be used for precise frequency measurements in the millihertz region. Don't miss his detailed description - it's actually better than SpecLab's built-in help system ;-)
If you have a suitable soundcard, you can use SpecLab to make ultrasonic bat calls visible and audible in real-time. In the menu, select "Quick Settings".."Natural Radio / Animal Voices" .. "Bat Converter". This configuration requires a soundcard with true 96 kHz sampling rate, and a PC with at least 1.7 GHz. The software shows the call in a fast spectrogram (with high time resolution, but little frequency resolution), and converts the ultrasound down to audio, notches out constant-frequency "carriers" (like your CRT monitor's line sync frequency, which is annoying if it's in the "bat band"), and finally passes the downconverted and filtered signal through an automatic gain control stage.
As a test, I used a cheap miniature electret microphone to make this recording of bat sounds (96 kHz, 16 bit, mono; if the link doesn't work try this one .. right-click to save it). If you play it with a normal audio player, you will hardly hear anything. But if you play it into SpecLab (menu "File".."Audio Files".."Analyze and Play", with the "Bat Converter" setting loaded, you will hear the bat calls. I don't know which species it is yet, but they seem to be quite frequent in this part of Germany.
The FFT-based filter in Spectrum Lab is already very versatile, but it can still be extended with a "filter plugin". These plugins come in the form of a special windows DLL which can be loaded from the filter control panel. Such plugins can be written with any C / C++ Compiler (recommended: Borland C++Builder V4 or DevCpp V4.9.9.2; the latter is a free development system based on the GNU / MinGW compiler). To develop your own plugin, download this FFT Filter Plugin package - it contains all required information required to write a filter plugin, and a sample plugin written in the "C" programming language. NOTE: THE DLL INTERFACE IS STILL "SUBJECT TO CHANGE" !
To check if you have the latest version of Spectrum Lab, compare the text
in the main window's title bar with the revision number and compilation date
at the top of this document. For example, if you have "Spectrum Laboratory
V2.2 b1", it is way too old. The primary download site for Spectrum Lab is
here (thanks to David Black for hosting it):
An alternative (possibly a few weeks older) is available from the frenet
site below.You won't be able to download SpecLab in a single file because
of a 1.5 MB-per-file limit at freenet. Instead, you can download SpecLab
from the freenet site split into two files (you need both parts,
and you must unzip both parts into one directory before
installing it) :
How to install SpecLab from these two split files is explained
here .
As an alternative, check the download section on
Ko Versteeg's website .
The archive includes EXE-file, sample setting files, help system (in HTML
format) and a few other goodies, but not utilities below.
Some additional utilities which may be useful:
If you want to write your own program to control Spectrum Lab, read this document which explains how to communicate with it using simple WM_COPYDATA messages.
There's a lot of other very nice sound analyzers elsewhere, but once upon a time (when there weren't so many out there) I decided to convert my old FFT audio analyzer from DOS to Windows ... see oldest entry in the history below). Some info about the revision history can be found in the file REVISION.TXT after unzipping the downloaded archive.
2008..
April:
Added the option to send audio streams to Winamp, using the
Audio-I/O DLL interface.
Improved autonotch in the FFT-based audio filter (optimized to remove hum
in VLF "natural radio" receivers)
March:
Added support for PERSEUS (a direct sampling LF..HF receiver by Nico Palermo
(IV3NMV) / Microtelecom .
Added the possibility to "play back" the contents of the spectrogram buffer,
using an inverse FFT to convert the spectra back into audible signals .
January:
Improved the integrated HTTP server (optional bandwidth limiter, reduced
CPU load due to less frequent update of the captured spectrogram image).
2007..
October ... December :
Completely rewrote the internal buffer structure to make the memory usage
more efficient. This was necessary to support much longer FFTs and the "quick
audio replay option" from the spectrogram. Because this may introduce a couple
of new bugs, both V2.70 and V2.71 are both available for download. If you
experience problems with V2.71, please switch back to V2.70 .
June:
Added support for SDR-IQ (and, though not
tested, SDR-14). These are so-called software defined radios by RFSPACE,
connected to the PC via USB (so you don't need a soundcard with stereo line-in;
which is important for many notebook users ;-)
May:
Added some special functions for a planned Earth-Venus-Earth experiment by
AMSAT-DL at the IUZ in Bochum. Some details are
here (beware, this is an early
writeup; the final result may look + work totally different).
April:
Added the Triggered Audio Recoder, most important: pre-trigger option (ability
to audio files which contain a few seconds *before* the trigger event was
detected). Can be triggered manually and/or automatic. Good for animal voice
recordings, and other "rare" events.
February:
Added the FFT Filter Plugins .
2006..
December:
Added the 3D spectrum display .
November:
Added a simple, tiny HTTP server for remote viewing (and control) via LAN.
More details in the subdirectory "server_pages" after installation.
October:
Added the "multi-strip" waterfall option, a new style for the frequency scale,
an option to control a transmitter through a "pilot tone" (instead of the
serial port), some new interpreter commands for the serial port, for setting
size + position of the main window, and an option to minimize SL into the
system tray (while hiding it from the task bar).
September:
Simplified colour palette selection (list with preview bitmaps). Enhanced
"Conditional Actions", states now indicated in the table. New preconfigured
settings: "Bat Converter", "QRSS1". Two instances of SL(!) running on one
PC can now communicate with each other, using the "send"-command. Fixed a
bug in the interpreter (for automatic gain control). Began experiments with
a DDS synthesizer controlled via soundcard(!), and PTT control via pilot
tone (for LM567 decoder). Added a few new interpreter commands (sref.xxx,
terminate, etc)
August: Added the "Bat Converter" in the quick settings. Added the checkmark to disable the SmallPort driver, which caused problems with other programs (ARSWIN, for example).
July: FFT-based filter now supports I/Q-processing; including frequency conversion. Option to select the waterfall scrolling speed automatically for 50 % FFT overlap. Interpreter commands can be embedded in the digimode terminal's transmit text now, allowing to change parameters automatically during transmission.
January-April: ASIO support. Remote control functions for certain radios
through the serial port (first supported: Icom's CI-V protocol, Yaesu and
Kenwood may follow). Experiments to send uncompressed audio through a local
network via UDP or TCP/IP. Improved FFT-based filter now works as an audio
pitch shifter too. Spectrum graph can be switched to "bargraph" mode.
2005..
October: Minor bugfixes.
August: The radio-direction finder can now suppress noise from up to three
independent directions, and a new spectrum-event-logging feature was added
(right-click into the waterfall to see it).
July: Wrote a highly experimental "output plugin" for Winamp, to feed audio
streams from the internet into Spectrum Lab.
June: Some modifications, bugfixes, and a description how to set up SpecLab
as a beacon monitor/logger for DI2AG .
January 2004:
Added an optional quadrature output for certain digimodes (QRSS, PSK, MSK)
to support a simple, sideband-rejecting RF modulator (using the "phasing
method", without the need to build a 90° audio phase shifter which is
often the most complicated part of such a transmitter).
December 2004:
Started a few experiments with MSK (minimum shift keying), first using an
incoherent demodulator, next step will be a coherent demodulator ("de Buda"
or "Massey/Hodgart" for example). The advantage of this modulation technique
is, there is no envelope shaping involved, so you don't need a linear transmitter
to send it. However it is very questionable if MSK will ever be a popular
mode like PSK31 in the amateur radio community. More on this in the
manual...
Furthermore: New "conditional action" tab, which is useful for certain
applications like counting meteors, etc... ;-)
May-October 2004:
Finally bought an Audigy 2 ZS myself, to play a bit with "true" 96 kHz sampling
(for ADC+DAC), and -possibly- with 24 bit resolution. I still don't know
why they need 24 bits to achieve an SNR or 108 dB, but that's another story.
Futhermore: Automatic gain control in the DSP blackbox, an external trigger
for the waterfall, and a few new display units (volts, watts, dBm, dBV).
Averaging now calculated on voltages or powers, but now on logarithmic scales
(which gave no meaningful "dB"-results). Furthermore: Published the method
to control SpecLab from other programs using a simple
message-based protocol.
Jan.-Apr. 2004:
Logarithmic frequency scale, modified PSK demodulator, modified
noiseblanker, minor bugfixes. Someone reported SMPORT (the port access
driver) caused problems under WinXP - effect not reproducable yet !
Got the info that the ADC in my Soundblaster Extigy does NOT support sampling
at 96 kHz - I shouldn't have trusted the label on the box :-( ... but help
is on the way: SpecLab works well at 96kHz with the Soundblaster Audigy
2 ZS card - thanks for the report, Arthur.
Nov.-Dec 2003: V2.3
New functions: Filter with FFT convolution, for extra-long FIR filters, denoiser
(using spectral subtraction), and a brute-force autonotch for VLF listening.
Optional peak-detecting amplitude bar which runs parallel to the spectrogram.
New function for SINAD measurements.
October 2003: V2.2
Minor changes and bugfixes. Tolerance range for the soundcard's "calibrated"
against the "nominal" sampling rate is now +/- 250Hz (was +/- 100Hz) because
some devices seem to run at 5400 Hz instead of 5512 Hz. Azimuth calculation
of very weak signals improved. Cursor display now alternatively in menu line,
if the controls on left side are invisible.
August-September 2003:
More steps towards a full implementation of DF6NM's Wideband Direction
Finder with Colour Encoded Spectrogram Display in Spectrum Lab. For VLF
enthusiasts, there is the option "two loops without an E-field antenna" which
does not require a broadband 90° combiner. A nulling cardioid can be
used to cancel noise from a certain compass direction. The description of
an experimental VLF radio direction setup can be found
here .
July 2003:
Increased the maximum waterfall scroll/update rate. Up to one pixel strip
per millisecond is possible, if your PC is fast enough. Best in "non-scrolling"
mode (like in the prepared "Tweek/Sferics" mode).
May 2003:
Minor changes in the "plotter" window, can be scrolled back and forth along
the time scale. Used for long-term observations (like the "VLF station plotter"
which plots the field strength of a number of european VLF transmitters over
time). Added some usr-files for ELF/VLF monitoring.
February - March 2003:
Implemented Paul Nicholson's multi-stage hum filter in SpecLab's DSP blackboxes.
This specialized comb filter can remove hum (and harmonics) without seriously
degrading the audio quality. The current implementation is based on Paul's
"C" sourcecode for Humfilt-1.2, it was available on his
website.
December 2002:
Spectrum Analyzer runs in "stereo" mode now. The border around the "Watch
List / Plot Window" can be turned off. A lot of internal modifications, may
have added more bugs... the programs seems to remain a building site. Many
of the new functions are not mentioned in the manual yet !
October 2002:
SpectrumLab now supports 'any possible sampling rate', which was necessary
for an external PIC12F675-based A/D converter connected to the serial port
(2 channels, 12 bits/sample, 2500 samples/second). Also fixed some bugs in
the export function (last definition line was ignored) and the analysis and
playback of stereo audio files.
June-July 2002:
SpectrumLab can now use the simple file-based "sound utility" interface described
in another document. This makes it easy to write
simple drivers in any language for external A/D-converters, etc. Even a BASIC
program running in a DOS box should work. And: split frequency axis, effective
voltmeter ("veff"-function in the interpreter), improved file analysis features.
September 2000:
Project was renamed to "Spectrum Lab" (or short SpecLab) because the program
can do more than just analyze audio input. Meanwhile it can also be used
for some 'special' digital communication modes used by radio amateurs on
longwave. <part of the history removed, got too long>
Early 2000: Started to convert my old spectrum analyzer for DOS into a windoze
program, because the required drivers for soundcard and SVGA card were not
available any more. Now the program requires a quite fast PC (a 133-MHz-Pentium
or better), crashes under certain conditions (slow CPU), and requires some
strange DLLs. The graphics mode should be at least 800*600 pixels with 256
colors (true color required for Colour Direction Finder). The program once
ran on an old 90MHz-Pentium with 640*480 pixel display if not too many DSP
functions are active on the same time.