Kurzanleitung zum Programm "Spectrum Laboratory" ("SpecLab")
-------------------------------------------------------------
  Autor:  Wolfgang Büscher, DL4YHF
  Stand:  September 2005


Wozu dient "Spectrum Lab" ?
------------------------------------------

- Analysieren von Audio-Signalen mit dem PC und der Soundkarte
  (oder einem externen A/D-Wandler)
- Analysieren des Spektrums in einer Audio-Datei (WAV)
- Verfolgen des zeitlichen Verlaufs eines Spektrums als
  "Wasserfall"-Anzeige (Spektrogramm), mono oder "stereo"
- Breitbandpeiler nach DF6NM (mit geeignetem Empfänger)
- Messen und Aufzeichnen von Rauschpegel, Spitzenwerten von 
  Amplitude + Frequenz, ... in Form von Textdateien 
  fuer Ausbreitungsstudien auf Lang- und Kurzwelle
- Digitale Signalverarbeitung in Echtzeit, u.A: 
   Filtern, Frequenzverschiebung, Modulation / Demodulation
- Erzeugen und Dekodieren einiger spezieller Modulationsarten
   die von Funkamateuren genutzt wurden/werden (experimentell!)
- Ein- oder zweikanalige Messung von Amplituden- und Phasen-
   verlauf (im Hilfetext "Time domain scope" genannt)

Darüberhinaus stecken in dem Programm weitere, seltener 
genutzte Funktionen die Sie selbst entdecken können !



Haftungsausschluss, Nutzungsbedingungen
------------------------------------------

Das Programm ist in der vorliegenden Version FREEWARE, 
und wird dies auch immer bleiben ! Sie sollten dafuer 
also NICHTS bezahlt haben, höchstens den Preis fuer den 
Datentraeger auf dem Sie es erhalten haben (also keine 
 -zig Euro wie manch anderes Simpel-Programm!!).
Kommerzieller Einsatz bedarf der Zustimmung des Autors,
Einsatz für wissenschaftliche und experimentelle Zwecke
auch außerhalb des Amateurfunks ist hiermit GESTATTET !
Nicht zuletzt weil das Programm FREEWARE ist, liegt das
volle Risiko fuer dessen Verwendung bei Ihnen. 
Weder der Autor noch derjenige, der das Programm an Sie
weitergegeben hat, wird fuer irgendwelche Schäden 
haftbar sein; weder für direkte noch für indirekte 
Folgen des Einsatzes. 
 Bitte beachten Sie die rechtlichen Bestimmungen 
 beim Empfang gewisser Funkdienste !
Falls Sie damit nicht einverstanden sind, installieren 
Sie das Programm nicht bzw deinstallieren es wieder.
Das Programm bzw. das Installationsprogramm wurde intensiv
auf Virenbefall getestet, dies kann aber niemals eine 
100-prozentige Sicherheit bieten !
Da sich das Programm noch immer in der Entwicklungsphase
befindet, sollten Sie sich gelegentlich auf der Homepage
des Autors nach einem Update umschauen:
             http://people.freenet.de/dl4yhf
 evtl. auch  http://www.qsl.net/dl4yhf (Achtung, langsam)
Falls diese Seiten nicht mehr existieren, hilft ggf.
eine Internet-Suche nach "DL4YHF" und "Spectrum Analyser".



Systemanforderungen
-------------------------------------------
Um dieses Programm sinnvoll nutzen zu koennen, benoetigen Sie...
- einen PC mit Win95, Win98, Windows 2000 oder Windows XP
- Stereo-Soundkarte mit 16 Bit A/D-Wandler, 
  Abtastrate des A/D- und D/A-Wandlers: je nach Einsatzzweck 
  (44100, 96000 oder sogar 192000  Samples/Sekunde)
- Grafikkarte mit mindestens 800*600 Pixel und 256 Farben 
  ( unter Windows XP scheint "True Color" erforderlich zu sein)


Installation und Verzeichnisstruktur
-------------------------------------------
Falls das Installationsarchiv auf zwei gepackte Dateien 
verteilt ist, entpacken Sie beide in ein Verzeichnis, 
und starten das Installationsprogramm 
 ("InstallSpecLab.exe", benötigt z.B. "InstallSpecLab.W02").
Folgen Sie den Anweisungen des Installationsprogramms. 
Sofern nötig, werden alle noetigen DLL's automatisch 
installiert, und die spätere Entfernung der Software 
vorbereitet.
Die Voreinstellung fuer das Zielverzeichnis ist C:\Spectrum .
Wenn nicht unbedingt noetig, sollten Sie diese Struktur
beibehalten.
( Vergessen Sie den ueblichen Weg, alles nach "Programme" 
  oder "Programs" zu packen, und die Daten unter 
  "Eigene Dateien" zu speichern ! )
Die folgenden Unterverzeichnisse werden bei einer Default-
Installation angelegt:

c:\spectrum\data\
  Verzeichnis fuer "Daten", z.B. Langzeit-Aufzeichnungen, 
  Baken-Beobachtungen, Logfiles im Textformat . 
  Siehe Beschreibung "Text-File Export Function".

c:\spectrum\export\
  Einige Definitions-Dateien fuer die Exportfunktion 
  und dazu passende Konfigurationsdateien ("user settings").

c:\spectrum\goodies\
  Enthaelt zusaetzliche Informationen und "spezielle" 
  Dateien (z.B. Hellschreiber-Zeichensaetze fuer extrem
  niedrige Bandbreiten). Weitere Infos zu diesem 
  Verzeichnis stehen dort in einer README-Datei.

c:\spectrum\html\
  Enthaelt das (online-)Hilfesystem. Dies wird z.g.T. 
  automatisch vom Programm aufgerufen, kann aber auch 
  "manuell" mit einem HTML-Browser durchforstet werden. 
  Leider (fast) nur englisch, weil der Autor an einem
  permanenten Zeitmangel leidet ;-)

c:\spectrum\palettes\*.pal
  Verschiedene Farbpaletten für das Spektrogramm 
  ("Wasserfall"). Persönlicher Favorit des Autors: "Sunrise".
  Laden per Hauptmenü: File..Waterfall Color Palette..Load .
  Auch selbstdefinierte Farbpaletten sollten in diesem Verzeichnis
  abgelegt werden. Empfehlenswerte Farbpaletten:
   - Gram, Spectrogram:  Ähneln dem Program "GRAM" von R.S.Horne
   - Heat_Palette1    :  Sehr bunter Farbverlauf "kalt->heiß".
   - Sunrise,  Sunset :  Weniger beleidigend für's Auge, 
      geringe Intensitätsunterschiede sind mit dieser Palette
      allerdings schlechter zu unterscheiden (Kontrast/Brightness-
      schieber im Hauptfenster verwenden, um dies zu optimieren!)
   - Black2White, White2Black: Schwarz->Weiss-Verläufe. 
      Besonders geeignet für spätere Ausgabe auf dem Drucker.

Nach der Installation 
---------------------------------------------------

Nach erfolgreicher Installation koennen Sie viele Parameter 
fuer Ihre Erfordernisse optimieren, auch bezueglich der 
Geschwindigkeit des PCs. Dazu zaehlen:
 - Einstellen der Soundkarten-Eingangspegel (per Soundvol32.exe)
 - Einstellen der lokalen Zeitzone (Differenz UTC-Lokalzeit)
 - Definieren des als Spektrum-Puffer verwendeten Speichers
   (besonders wichtig bei weniger als 64MB RAM Hauptspeicher !)
 - Definition ob eine DATEI als Spektrum-Puffer verwendet wird
   (dann kann der Wasserfall ueber viele Tausend Zeilen hin-
    und hergescrollt werden)
 - Testen, ob die Soundkarte vernuenftig im "Voll-Duplex"-
    Betrieb arbeitet. Dies ist wichtig, wenn das Programm 
    im Echtzeitbetrieb als "DSP" arbeiten soll, denn dann 
    muessen A/D- und D/A-Wandler gleichzeitig arbeiten
    ohne dass der Ausgang auf den Eingang "rueckkoppelt" .

Um die Moeglichkeiten des Programms zu erkunden, kann mit den
vordefinierten Einstellungen experimentiert werden. 
Siehe Kapitel "Vordefinierte Einstellungen" .


Vordefinierte Einstellungen ("Quick Settings")
------------------------------------------------------
Fuer manche Anwendungen findet sich bereits im Menue
"Quick Settings" die passende Einstellung, z.B. :
   "Radio Equipment Tests" : 
         Zweiton-Sender-Test, Verzerrungsmessungen.
   "Slow Morse Reception"  :
         Von Funkamateuren im Langwellenbereich verwendet,
         um schwache, langsame Morsezeichen sichtbar 
         zu machen. Hier: Nur EMPFANG , die Einstellungen
         des Digimode-Terminals werden nicht beeinflusst.
   "Predefined Digimodes" :
         Für Funkamateure: Ausprobieren !
         Für Nicht-Funker: Uninteressant..
   "Other Radio Amateur Modes" :
         Siehe oben.. damit sind hauptsächlich die 
         "nicht rein digitalen" Modes gemeint, z.B.
         verschiedene Hellschreiber-Varianten .
   "Colour Direction Finder" :
         Verwandelt das Programm in einen Peilempfänger,
         wobei die Richtung als Farbwinkel angezeigt wird,
         die Feldstärke als Helligkeit. Vorausgesetzt,
         eine passende Antenne (z.B. Ortho-Loop) und ein
         zweikanaliger Empfänger steht zur Verfügung.
             Weitere Informationen: Suche im Internet nach 
                      "Colour Direction Finder by DF6NM" !
         Beim Aktivieren des Farbpeilers werden die meisten
         aktuellen Parameter wie Frequenzbereich, FFT-Größe,
         Scrollgeschwindigkeit usw. beibehalten.
    "Natural Radio" :
         Breitband-Spektrums-Darstellung mit relativ
         schnell scrollendem Spektrogramm. Ermöglicht die
         Beobachtung von Phänomenen wie 
         Sferic, Tweeks, Whistlers, Ionospheric Dawn Chorus,
         etc (Tip: www.vlf.it , oder Internetsuche nach 
              "Whistlers and Related Ionospheric Phenomena" ) .

Weitere vordefinierte Einstellungen für Spezialzwecke finden
sich als Datei (*.usr) im Verzeichnis, in dem SpecLab 
installiert wurde. Diese vordefinierten Einstellungen kann 
man per Hauptmenü laden und sie ggf. zum Menü "Quick Settings"
(Schnelleinstellungen) hinzufügen: 
 "Quick Settings".."Load & Create User Defined Settings". 
Ein paar Beispiele:
   CWfilter.usr = Schmalbandiges NF-Filter mit verstellbarer
         Bandbreite und Mittenfrequenz,
         vorgeschaltet ein Audio-Frequenzumsetzer.
         Bedienung durch Verschieben der "Marker"
         auf der Frequenzachse.

   SAQrcvr1.usr = VLF-Konverter. Diente zur Umsetzung von 
         17.2kHz in eine "angenehme" Audiofrequenz, kann auch
         zum Hoerbarmachen anderer Sender im VLF-Bereich
         verwendet werden.
         Die "Verstaerkung" kann im Komponentenfenster
         eingestellt werden (nach Umsetzung und Filterung).
   


Möglichkeiten der Spektrum-Anzeige
----------------------------------------------------

Das Spektrum kann als Liniendiagramm ("Spectrum Graph")
oder als Wasserfall ("Spectrogram") angezeigt werden,
wahlweise auch als Kombination (in einem gemeinsamen Fenster).

Bei der Spektrum-Anzeige muss grundsaetzlich ein Kompromiss
zwischen  "Geschwindigkeit der Anzeige" 
     und  "Frequenz-Aufloesung" 
gefunden werden. Dies ist prinzipbedingt (FFT), eine 
genaue Erlaeuterung findet sich im Hilfesystem.
Sie koennen einige Dutzend Spektren pro Sekunde berechnen
lassen, diese haben dann aber nur eine Aufloesung von
einigen Hertz, oder (als anderes Extrem) ein sehr
"langsamer" Wasserfall mit einer Frequenz-
aufloesung von wenigen Millihertz. 

Beeinflusst wird dies durch die sog. "FFT-Groesse",
einzustellen unter 
   "Options".."FFT Settings".."FFT input size".
Einfacher ist allerdings das Abrufen einer der vor-
definierten Einstellungen (siehe "Quick Settings").
Eine weitere Moeglichkeit, die Frequenzaufloesung
zu erhoehen (ohne grosse "FFT size"), ist die Reduktion
der Abtastrate (sampling rate decimation).
Im Optionsfenster fuer die FFT-Einstellungen wird die
resultierende Frequenzaufloesung angezeigt. 
Im naechsten Kapitel wird fuer den interessierten Leser
kurz auf den Zusammenhang eingegangen, diese "Details"
sind fuer die Nutzung des Programms nicht unbedingt
noetig.


Zusammenhang zwischen Abtastrate, FFT-Groesse und Aufloesung
----------------------------------------------------------

Die Frequenzaufloesung eines Spektrums oder Spektrogramms
ist abhaengig von:
 - Abtastrate der Soundkarte (z.B. 11025 Samples/Sekunde)
 - Dezimationsfaktor (z.B. "decimate input by 64")
 - Groesse der FFT (z.B. 32768 Punkte)
Im angefuehrten Beispiel ergibt sich die Frequenzaufloesung:
  11025 Hz / ( 64 * 32768 ) = 5.25 * 10^-3 Hz = 5.3 mHz
  (mHz = milliHerz, nicht Megahertz wie manchmal
    in der amerikanischen Literatur zu finden !)
Die FFT verarbeitet 32738 Abtastwerte, die mit einer
(dezimierten) Abtastrate von 11025 Hz / 64 = 172 Hz
aufgenommen wurde. Falls jede Pixelzeile des 
Wasserfalls mit "komplett neuen" Daten berechnet
werden soll, dauert es genau
  32768 Samples / ( 172 Samples/Sekunde) = 190 Sekunden,
bis "komplett neue" Daten vorliegen. In der Praxis ist
eine ueberlappung der FFT-Eingangsdaten akzeptabel, 
ohne dass der Wasserfall zu sehr "verschmiert".
Auch bei den vordefinierten Einstellungen wird eine gewisse
Überlappung in Kauf genommen.
Das Wasserfall-Scroll-Intervall kann im angefuehrten
Beispiel auf ca 30 Sekunden gestellt werden. Es dauert
dann etwa 190/30 = 6 Pixelzeilen, bis ein Signal im
Wasserfall komplett "abgeklungen" ist.

Naeheres zu diesem Thema findet sich im Hilfesystem
in fftinfo.htm, Kapitel "FFT resolution versus update time".



Tips zur Bedienung
----------------------------------------------------------
Wasserfall:
 - Rechtsklick in den Wasserfall oeffnet ein Menue
   aus dem u.A. die Dialogfenstert "Display Settings" 
   und "FFT Settings" geoeffnet werden koennen.
 - bei gleichzeitiger Anzeige von Wasserfall+Spektrum
   kann per Linksklick das Spektrum der angeklickten
   Wasserfall-Zeile neu gezeichnet werden, vorausgesetzt
   das Spektrum befindet sich noch im Spektrum-Puffer
   (dessen Groesse einstellbar ist)
 - Je nach Puffergroesse kann der Wasserfall sehr weit
   zurueckgescrollt werden, um ihn nach interessanten
   "Ereignissen" zu durchsuchen. Dies kann per Schieber
   im Feld "Time" (links) oder in der Pufferuebersicht
   (als Miniatur-Wasserfall, unten) erfolgen.

Frequenzachse:
 - kann bei gedrueckter LINKER Maustaste verschoben
   werden, bei geteilter Achse ("split scale")
   kann per Maus auch die Aufteilung geaendert werden
 - Rechtsklick auf die Frequenzskala oeffnet ein Menue,
   in dem u.A. die Optionen "Zoom in" + "Zoom out"
   zur Verfuegung stehen. "Zoom" bezieht sich hier
   auf Dehnung oder Stauchung der Frequenzachse.

Farbpalette des Wasserfalls:
 - Kann per "Konstrast" und "Helligkeit" beeinflusst werden
 - Im Menue "File".."Waterfall Color Palette" stehen u.A.
   auch monochrome Paletten zur Verfuegung, die in manchen
   Faellen besser geeignet sind.
 - Anklicken der Dezibel-Skala unter der Farblegende
   oeffnet ein Dialogfenster, in dem u.A. der angezeigte 
   Amplitudenbereich geaendert werden kann.
 - Bei ausreichend grossem Spektrum-Puffer wird der komplette
   (schon "aufgenommene") Wasserfall neu "koloriert".
   Dies ist bei der Suche nach sehr schwachen Signalen,
   z.B. Amateur-Aussendungen auf Langwelle, sehr hilfreich.
 - Ein "steiler" Farbuebergang zwischen "Rauschpegel" 
   und "Nutzsignal" erleichtert die Lesbarkeit von
   Slow-CW-Signalen. Verwenden Sie den "Brightness"-
   Schieber, um die Farben des Wasserfalls zu verschieben.
   Sind die Farbuebergaenge zu schwach, erhoehen Sie 
   "C"="Constrast" oder waehlen Sie eine anderere Wasserfall-
   Farbpalette.


Kontrolle der Ein- und Ausgangspegel
-------------------------------------------------
Waehlen Sie "View/Windows"..."Input Monitor" beziehungsweise
"Output Monitor". Diese "Monitore" sind primitive Oszilloskop-
Fenster, in denen Sie Wellenform und Amplitude der Signale
am A/D-Wander und am D/A- Wandler erkennen koennen. 
Eine waagerechte (gruene) Linie "ohne Leben" zeigt an, dass 
nahezu "kein Signal" vorhanden ist. In diesem Fall erhoehen 
Sie z.B. den Eingangspegel in die Soundkarte (gegebenenfalls
per Menue "Options"..."Volume Control for RECORD", wodurch 
das Programm SOUNDVOL32 im Modus "Aufnahme-Aussteuerung" 
gestartet wird).
Bei Gefahr der uebersteuerung wird die Kurve im "Monitor" rot,
der Eingangspegel muss dann verringert werden (sonst entstehen
Harmonische durch nicht lineare Verzerrungen in der Soundkarte).




DSP-Funktionen und "Komponenten" fuer digitale Signalverarbeitung
------------------------------------------------------------------
Öffnen Sie zunaechst im Menue "View/Windows" das Fenster
"Spectrum Lab Components". 
Sie sehen dann einen Signalflussplan mit den Komponenten,
die Spectrum Lab zur digitalen Signalverarbeitung bietet.
Dazu gehoeren:
  - Signalgeneratoren (Rauschen + 3 modulierbare Kanaele)
  - "Black Boxes", die verschiedene Funktionen haben koennen
  - Mischer / Multiplizierer / Frequenzumsetzer
     (mit variablem Oszillator)
  - digitale Filter (als FIR oder IIR, diverse Typen)
  - Verstaerker (auch als Daempfungsglieder verwendbar)
  - Addierstufen (vor dem Ausgang zum D/A-Wandler)
Im "Signalflussplan" koennen auch verschiedene Quellen
fuer die Spektrumanalysatoren und Oszilloskope(*)
gewaehlt werden.
(*) "Oszilloskop": hier "Time domain scope" genannt,
    dient auch als frequenzselektiver 
    Pegel- und Phasenmesser. Siehe Online-Hilfe.
Alle aktiven Funktionsblöcke sind grün dargestellt.
Rote Markierungen deuten auf Probleme hin, z.B. falsche
Parameter oder Überlastung durch zu langsame CPU.
Grau dargestellte Blöcke sind passiv.



   .-.-.   


Dank an Alle, die bei der Entwicklung und beim Testen dieses Programms
mitgearbeitet haben .. speziell an:
      Markus Vester,  DF6NM   (Farbpeiler, Chirp-Hell, u.v.A.m.)
      Brian Rogerson, CT1DRP  (Beta-Test, mehrjähriger Dauereinsatz)
      Jim Moritz,     M0BMU   (Filter-Algorithmen und Koeffizienten)
      Renato Romero,  IK1QFK  (viele Tests + Anregungen zu VLF)
      SWL Ko Versteeg NL9222  (Download-Seite, Tests)
 und andere Langwellen-Experimenteure vom RSGB-LF-Reflektor.

Quellen für Programmteile, die in Spektrum Lab verwendet werden, 
sind in der "About"-Box des Programmes aufgeführt. Dazu zählen:
    - JPEG library (c) 1994-1997, Thomas G. Lane . 
    - SmallPort-Utility von Alexander Weitzman .

   ...-.-


