Software Defined Radio - Wenn der PC funkt

2. April 2008, 10:40 Uhr | Prof. Alexander Klapproth, Dr. Stefan Knauth
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 2

Daten werden zu Wellen

Zur Umsetzung dieser Funktionen im GnuRadio/USRPSystem kann der Anwender ein vorhandenes Beispielprogramm verwenden und einen eigenen Signalverarbeitungsblock programmieren. Hierfür kann der Demo-Block »myblock« als Basis dienen. Zunächst muss der Signalverarbeitungsblock die Daten erhalten, die der Anwender senden möchte. Dies kann über TCP/IP erfolgen, sodass er die zu sendenden Daten zum Testen auch über ein Telnet-Programm eingeben kann. Nachdem so ein Nutzdatenpaket im Signalverarbeitungsblock gelandet ist, erweitert dieser die Daten um Synchronisationsbytes, Start-of-Frame-Delimiter, Länge und Prüfsumme, wie es im Standard IEEE 802.15.4 beschrieben ist. Dann wird die Datensequenz »gespreizt«. Hierzu gilt es, jeweils vier Datenbits durch einen Code aus 16 IQ-Wertepaaren zu ersetzen, was die Datenmenge verachtfacht. Durch die hohe Redundanz ist es möglich, selbst bei 20% bis 25% fehlerhaften Bits die Symbole noch korrekt zu erkennen, und es kommt nicht zu Nutzdatenfehlern. Die erhaltene IQ-Sequenz besitzt eine Rate von 1 MSample/s. Zum Senden wird nun noch I gegen Q um 500 ns verschoben und Zwischenwerte zum Erhalten einer weichen Ansteuerung interpoliert. Schließlich gelangt der erhaltene Datenstrom mit einer Rate von 4 MSample/s oder 8 MSample/s (IQ-Wertepärchen) zum USRP. Dieses wandelt die Zahlenwerte in Analogsignale, welche das Signal des HF-Oszillators modulieren. Der I- und der Q-Kanal werden zusammengeführt, das Signal verstärkt und gesendet.

Wellen werden wieder zu Daten

Die Empfängersoftware ist etwas aufwändiger als die Sendersoftware. Zunächst können die vom Empfänger erzeugten IQ-Wertepaare nicht direkt zur Datenextraktion dienen. Dies liegt an der Tatsache, dass der Empfänger die unmodulierte Phasenlage des Senders nicht kennt. Grund dafür ist ein praktisch immer vorhandener kleiner Frequenzunterschied zwischen Sender und Empfänger: Schwingquarze stabilisieren die Frequenz, und die Quarze in Sender und Empfänger schwingen nie exakt gleich. Klassischerweise rekonstruiert eine so genannte »Costas-Loop« das unmodulierte Sendesignal, um phasenmodulierte Signale zu detektieren. Dazu mittelt diese spezielle PLLSchaltung das Signal des Sendeoszillators auf ausgefeilte Weise.

Um den PC in ein SDR zu verwandeln, ist ein A/D-Wandler und etwas HF-Elektronik nötig, außerdem geeignete Software zur Signalverarbeitung. Ein kommerzielles Beispiel für eine SDRPC-Hardware ist das USRP (Universal Software Radio Peripheral) von Ettus Research [1]. Bild 1 zeigt einen Aufbau, der aus einem Notebook, dem USRP (rechts) und einigen Funkmodulen (Vordergrund) besteht [2]. In Bild 2 ist ein vereinfachtes Schema des USRP dargestellt: Im Empfangmodus gelangt das Signal von der Antenne (ANT) über den Antennenumschalter (TX/RX) zu einem Vorverstärker (LNA). Dieser filtert und verstärkt das Funksignal. Die HF-Module lassen sich austauschen, und es existieren Module von DC bis 2,7 GHz. Ein vom PC steuerbarer Referenzoszillator (OSC) erzeugt ein Quadratursignal, zwei um 90° Phasenwinkel versetzte Signale mit der gewünschten Empfangsfrequenz. Diese beiden Referenzsignale werden jeweils mit dem Radiosignal multipliziert. Das Ergebnis bereiten jeweils ein Tiefpass und ein Aliasing-Filter auf, sodass es A/D-Wandler digitalisieren können. Da keine Zwischenfrequenz zum Einsatz kommt, spricht man von »Direct Downconversion «. Die Demodulation mit zwei um 90° versetzten Zweigen heißt Quadraturdemodulator oder IQ-Demodulator. Durch Erfassen der I- und Q-Kanäle lassen sich alle denkbaren Modulationsarten, beispielsweise Amplitudenmodulation (ASK), Frequenzmodulation (FSK) oder Phasenmodulation (PSK), realisieren. Der Sendezweig ist umgekehrt aufgebaut: Je ein D/A-Wandler für den I- und den Q-Kanal steuern die Zusammensetzung des HF-Sendesignals, welches dann über einen Verstärker (PA) zum Antennenausgang gelangt. Über ein FPGA lässt sich durch Verringerung der Bandbreite die Datenrate zum PC reduzieren. Das USRP überträgt bis zu 16 Millionen IQ-Samples pro Sekunde vom beziehungsweise zum PC.

Bild02__af_12.jpg
Bild 2: Aufbau eines Software-defined Radios

  1. Software Defined Radio - Wenn der PC funkt
  2. Software Defined Radio - Wenn der PC funkt
  3. Daten werden zu Wellen
  4. Funken mit Open-Source

Jetzt kostenfreie Newsletter bestellen!