Labview SDR V1.2 RX und V1.3 RX TX

Labview SDR V1.2 RX und V1.3 RX TX

Einleitung

Der in den vorherigen Abschnitten vorgestellte 'Erweiterter-SDR' verwendet das Labview eigene Audio-Subsystem, welches leider nicht immer zuverlässig arbeitet und immer wieder zu Abstürzen führt. Weiterhin ist keine Sendefunktion implementiert. Daher wurden der Labview SDR umfangreich überarbeitet und erweitert. Es entstanden 2 Versionen, die inzwischen unter SSB und PSK 31 im Sende- und Empfangsbetrieb getestet wurden.

Die wichtigsten Änderungen:

- Verwendung des Wave IO Audio Subsystems von Christian Zeitnitz (bitte Nutzungsbedingungen beachten, keine kommerzielle Nutzung!).

- Komplettes Redesign der Prozessumgebung. Verwendung seperater Threads für Audio in/out jeweils RX/TX, Display, DSP und wie gehabt AGC, Kernelberechnung, SI-570 Frequenzsteuerung.

- Dedizierte Sequenzen für Shutdown und Restart, um Probleme mit den Windows Audio-Devices zu umgehen.

- I/Q Signal-Vertauschung und Phasen-/Volumenkorrektur.

- SSB Sendefunktion in der V1.3 RX TX Variante mit SI-570 Sendeumschaltung per PTT-Bildschirmtaste und Tune-Funktion.

- Beseitigung einiger kleinerer Fehler und optische Änderung des Frontpanels.

- Speicherung der eingestellten Parameter in XML File (mit Versionen 1.2.1 und 1.3.1)

Installation

Es wird dringend empfohlen zunächst mit der V1.2 RX Variante zu starten. Läuft diese rund und hat man sich an die Bedienung gewöhnt, kann bei Bedarf leicht auf die V1.3 RX TX Variante umgestiegen werden.

Im Download-Bereich finden sich neben den Labview VIs (Source) auch ausführbare exe-Dateien. Mit diesen Dateien wird kein Labview System benötigt, es ist lediglich die Labview Runtime RTE erforderlich. Diese wird auf www.ni.com frei zur Verfügung gestellt. Die ZIP files beinhalten auch die benötigten DLLs zur SI-570 Steuerung und für das Wave IO Subsystem.

Demnach sind für die 'exe-Variante' die folgenden Schritte erforderlich:

1. Download und Installation der Labiew RTE 2011 von ww.ni.com

2. Download des entsprechenden ZIP files und entpacken an eine geeignete Stelle. Dabei die Verzeichnisstruktur mit den DLLs nicht ändern.

3. Starten des Programms auf gewohnte Weise durch Aufruf der .exe-Datei.

Anpassung der Parameter

Alle Parameter sind sinnvoll vorbelegt. Eine wichtige Anmerkung zum Stoppen des Programms. Dieses ist mittels des Shutdown-Knopfes anzuhalten. Wird die Applikation anderweitig gestoppt, gibt Windows die Audio-Devices unter Umständen nicht frei und ein Applikations- oder sogar Windows-Neustart ist erforderlich. Gestartet wird mit dem weißen Pfeil in der Titelleiste.

Soundformat-Parameter, Soundbuffer-Parameter und Dev IN/OUT sind bei laufendem Programm zu ändern, werden aber erst nach Shutdown und Neustart des Programms übernommen, da die Änderungen in einem XML File (Panel.xml) gespeichert werden (ab V 1.2.1 und V 1.3.1)

Insbesondere der Sample-Rate ist besondere Beachtung zu schenken. Von ihr hängt die für den SDR zur Verfügung stehende Spektralbreite ab. Die Voreinstellung mit 44.1 KHz funktioniert immer. Auch wenn die Soundkarte 48 KHz, 96 KHz, oder sogar 192 KHz unterstützt, hat sich leider gezeigt, dass die Umschaltung der Sample-Frequenz der Karte mit Änderung des Parameters nicht immer funktioniert. Die dahinterliegende Problematik ist relativ komplex und hängt mit dem Design des Windows Soundsystems zusammen, welches sich auch noch je nach Version (XP vs. VISTA vs. WIN7) grundlegend unterscheidet. Einige Soundcard-Hersteller liefern jedoch kleine Programme mit, die unter anderem zur Umschaltung der Samplefrequenz dienen (z. B. EMU 0202 USB). Stellt man hier vor Aufruf des SDR-Programmes auf z.B. 96 KHz um und ändert dann den Parameter ist man auf der sicheren Seite.

Dev IN/OUT sind so zu wählen, dass die I/Q-Signale des HW-Frontends an RX Dev IN anliegen. RX Dev Out ID ist für einen Lautsprecher-Kanal zu wählen. Für Sendebetrieb ist zwingend eine zweite Soundkarte erforderlich, z.B. eine einfache On-Board Karte. TX Dev IN ID ist für einen Mikrofonkanal zu wählen, TX Dev OUT ID für den I/Q-Eingang der SDR-HW. Für PSK 31 ist mittels Virtual-Audio-Kabel (VAC) eine Verbindung der Audiosignale zu einem geeigneten PSK- Programm herzustellen. Ein kurzer Hinweis zu VAC, dessen Ursachenforschung viel viel Zeit gekostet hat: VAC 4.10 verzerrt PSK Signale, mit VAC 4.09 läuft PSK perfekt.

Alle weiteren Parameter sind im laufenden Betrieb änderbar und wirken sich auch direkt aus.

Neue Parameter bei den vorliegenden Versionen sind die I/Q Einstellung zur Phasen- und Levelkorrektur und die Einstellung der Update-Rate des Displays (DSP Upd ms). Der Update des Displays verschlingt im Gegensatz zur eigentlichen Signalverarbeitung die meiste Rechenzeit. Eine Vergrößerung des Wertes führt zu einer deutlichen Entlastung des Rechnersystems. In der TX Variante kann weiterhin die Frequenz des Tune-Tones eingestellt werden.

Für die Einstellung der weiteren Parameter sei auf den vorherigen Artikel verwiesen, insbesondere zur Steuerung des SI-570. In der RX Variante sind hier die Parameter für den FIFI-SDR voreingestellt, in der RX/TX Variante für einen Softrock RX/TX 6.2 mit DG8SAQ SI-570 Interface.

Betrieb

Der Empfangsbetrieb entspricht den Erläuterungen im vorherigen Artikel 'Erweiterter-SDR'. Die Umschaltung in den Sendebetrieb bei der RX/TX Variante geschieht durch Mausklick auf den TX-Knopf. Diese schaltet bei entsprechendem SI-570 Interface auch das HW-Frontend in den Sendebetrieb. Ergänzend kann mittels des Tune-Knopfes einen Abstimmton moduliert werden. Alle Einstellungen des RX-Zweiges (Frequenz, Seitenband, Bandbreite etc.) gelten auch für den Sendebetrieb. Allerdings ist nur eine SSB Modulation implementiert. Für PSK 31 ist USB zu selektieren.

In der Praxis wurde der Betrieb in SSB und PSK 31 erfolgreich mit einem FIFI-SDR und einem Softrock RX/TX 6.2 mit DG8SAQ SI-570 Interface getestet. Beim FIFI-SDR selbstredend nur der Empfang.

Ausblick

Motivation für ein SDR unter Labview war die Verwendung einer graphischen Programmierumgebung für eine komplette Neuumsetzung eines SDR Konzeptes mit DSP-Verarbeitung im Frequenzbereich. Dies ist mit den nunmehr vorliegenden Programmversionen gelungen. Der Anspruch war zu keinem Zeitpunkt ein marktreifes Produkt zu erstellen. Von daher gäbe es auch noch erhebliches Verbesserungspotential, beispielsweise die Einbindung eines plattformübergreifenden Audiosytems wie Portaudio, oder die Umsetzung einer PSK 31 Modulation/Demodulation.

Ein nicht ganz offensichtliches Highlight jenseits der reinen Anwendung ist jedoch die zugrundeliegende FFT-SSB-Modulation- und -Demodulation im Frequenzbereich. Dieses wurde so bisher noch nirgendwo umgesetzt. Evtl. wird es dazu noch einen separaten Artikel geben.