Einleitung
Als ich vor einigen Jahren begann mich mit der Thematik Software Defined Radio zu beschäftigen, war ich von den Möglichkeiten fasziniert. Mit minimalem Investment [1] erschlossen sich alle Modulationsarten einschließlich einer äußerst komfortablen Benutzerschnittstelle am PC. Die Frequenzspektren und deren Belegung, Spiegelfrequenzen, Modulation wurden plötzlich sichtbar und stellten somit keine abstrakten Begriffe mehr dar. Dadurch angeregt fanden weitere Aufbauten und Versuche statt.
Als technisch orientierter Funkamateur entstand schließlich der Wunsch das Gesamtsystem aus Hardware und Software detailliert zu verstehen und auch eine Softwarelösung selbst umzusetzen.
Während das Verständnis des Gesamtsystems aufgrund meiner beruflichen Orientierung als Nachrichtentechniker nach einiger Einarbeitung gut vonstatten ging, zeigte sich die Erstellung eines SDR Programms als äußerst anspruchsvoll.
Soundkartenschnittstellen (DirectSound, später Portaudio), Erstellung des Programmfensters (Windows Forms), Implementierung der Signalverarbeitungsroutinen (DFT, später FFTW), Synchronisierung der Abläufe, Unverträglichkeit von C mit C++, C++/CLI etc. boten beliebig viele Stolpersteine. Es wurde klar, warum in den gängigen SDR Programmen wie PowerSDR, Softrock, HDSDR und vielen Anderen Mannjahre an Entwicklungsaufwand eingeflossen sind.
Eine Tages half ich meinem Sohn bei der Programmierung seines LEGO-NXT Roboters. Für die grafische Programmierung per Selektieren & Einfügen wird hierzu eine Software Namens NXT-G genutzt, eine stark reduzierte, geänderte Version des Labview Systems von National Instruments. Aufgrund der ‚kinderleichten’ Programmierung kam der Gedanke auf, mit solch einem System ein Echtzeit-SDR aufzubauen.
Während der Einarbeitung in Labview zeigten sich erhebliche Vorteile gegenüber der klassischen Umsetzung in einer textorientierten Programmiersprache. Viele Funktionsblöcke von der Grafikausgabe bis hin zu komplexen Signalverarbeitungsfunktionen sind per Selektieren & Einfügen selektierbar. Um Syntax muss man sich wenig kümmern, die Konzentration kann ganz auf die Erstellung der Funktionalität gelegt werden. Das visuell erstellte Programmbild ist das Programm selbst, so wie es der Funkamateur von Blockschaltbildern her kennt.
Der vorliegende Beitrag erhebt nicht den Anspruch eine Alternative zu den gängigen SDR-Programmen zu bieten. Er soll vielmehr dazu dienen sich mit übersichtlichen, einfachen Mitteln der Thematik SDR-System experimentell anzunähern. Wie sich zeigen wird, ist Labview ein System, das für den experimentellen Ansatz hervorragend geeignet ist und auf aktuellen HW-Plattformen ausreichende Performanz für einen Echtzeitbetrieb bietet.