Erweiterung einer USRP-OFDM-Übertragungsstrecke in LabVIEW
Transcription
Erweiterung einer USRP-OFDM-Übertragungsstrecke in LabVIEW
Erweiterung einer USRP-OFDM-Übertragungsstrecke in LabVIEW Biyun Lian Tobias Mohaupt Erweiterung einer USRP-OFDM-Übertragungsstrecke in LabVIEW Lian, Mohaupt p.1 Chair of Communication Systems Übersicht 1. Motivation 2. Ist-Zustand der LabVIEW-Übertragungsstrecke 3. Optimierung der Software-Struktur 4. Implementierung zusätzlicher Funktionen 5. Verifizierung der Änderungen 6. Fazit 7. Demonstration Erweiterung einer USRP-OFDM-Übertragungsstrecke in LabVIEW Lian, Mohaupt p.2 Chair of Communication Systems Motivation „Geschichte“ der Übertragungsstrecke MATLAB-OFDM-Übertragungsstrecke • Beschränkter Funktionsumfang • Feste Bitsequenz, 64-QAM Portierung nach LabVIEW (Projektarbeit) • Verschiedene Datenquellen und Modulationsverfahren • Ganzzahlige CFO-Korrektur • Pilotkorrektur Erweiterungen im Rahmen von Abschlussarbeiten • Bidirektionale Übertragungsstrecke • Adaptive Modulationsverfahren Erweiterung einer USRP-OFDM-Übertragungsstrecke in LabVIEW Lian, Mohaupt p.3 Chair of Communication Systems Motivation Ziel der Arbeit Optimierung der bestehenden Software-Struktur in LabVIEW • Gliederung und Zusammenfassung von Prozessen • Symboldetektion unter Zuhilfename mehrerer OFDM-Blöcke Erweiterung des Funktionsumfangs der Übertragungsstrecke • Kanalcodierung (Faltungscodierer/Viterbi-Decoder) • Prozesssynchronisation mit Warteschleifen (Queues) • Echtzeit-Bitfehlerraten-Messung Erhöhung der Übertragungsqualität und -geschwindigkeit Erweiterung einer USRP-OFDM-Übertragungsstrecke in LabVIEW Lian, Mohaupt p.4 Chair of Communication Systems Ist-Zustand der LabVIEW-Übertragungsstrecke Aufbau Hardware allgemein USRP-N200-Boards der Firma Ettus Research USRP N200 Sender USRP N200 Empfänger Ausstattung • XCVR2450-Transceiverboard (kein Full-Duplex) • Gigabit-Netzwerkanschluss • GPS-Modul zur genaueren Taktung Windows 7 und LabVIEW der internen Oszillatoren Erweiterung einer USRP-OFDM-Übertragungsstrecke in LabVIEW Lian, Mohaupt p.5 Chair of Communication Systems Ist-Zustand der LabVIEW-Übertragungsstrecke Software Sender Generierung der OFDM-Blöcke auf Software-Ebene unter LabVIEW Erzeugung, Signalverarbeitung und Übertragung innerhalb des gleichen Prozesses auf der Hauptebene • Eingeschränkte Parallelisierung Häufig wiederkehrende Funktionen Bitfehlerratenmessung ist eigener Übertragungsmodus, welcher den Transfer und die Auswertung einer bekannten Datei erfordert Erweiterung einer USRP-OFDM-Übertragungsstrecke in LabVIEW Lian, Mohaupt p.6 Chair of Communication Systems Ist-Zustand der LabVIEW-Übertragungsstrecke Software Sender Schwachstellen Fehlende Prozesssynchronisation führt zu Erzeuger-Verbraucher-Problem Keine Kanalcodierung Häufig wiederkehrende Funktionen machen Programm unübersichtlich Datei-Bitfehlerratenmessung lässt keine Rückschlüsse auf kurzzeitige Änderungen des Kanals zu Erweiterung einer USRP-OFDM-Übertragungsstrecke in LabVIEW Lian, Mohaupt p.7 Chair of Communication Systems Ist-Zustand der LabVIEW-Übertragungsstrecke Software Empfänger Empfang, Signalverarbeitung und Symboldetektion innerhalb des gleichen Prozesses auf der Hauptebene • Eingeschränkte Parallelisierung Abtastung mit fester Anzahl Abtastwerte ohne Zeitsynchronisation Nur Betrachtung des aktuell empfangenen OFDM-Blocks möglich Erweiterung einer USRP-OFDM-Übertragungsstrecke in LabVIEW Lian, Mohaupt p.8 Chair of Communication Systems Ist-Zustand der LabVIEW-Übertragungsstrecke Software Empfänger Schwachstellen Fehlende Prozesssynchronisation führt erneut zu Erzeuger-Verbraucher-Problem Keine Kanalcodierung (Decodierung) Zustand des Senders zu Beginn der Abtastung im Empfänger nicht bekannt OFDM-Block wird bei kürzeren Abständen aufeinanderfolgender Blöcke mit zunehmender Wahrscheinlichkeit nicht vollständig erfasst • Kanalschätzung, Synchronisation und Symboldetektion nicht möglich Erweiterung einer USRP-OFDM-Übertragungsstrecke in LabVIEW Lian, Mohaupt p.9 Chair of Communication Systems Optimierung der Software-Struktur Sender Prozesssynchronisation mit Warteschleifen (Queues) Verwendung von Warteschleifen (Queues) zur Synchronisation der Prozesse zur Symbolerzeugung und Übertragung Jeder Übertragungsmodus erhält eigene Funktion zur periodischen Eingliederung neu erzeugter Symbole in eine Queue Sende-Schleife überträgt die Elemente in der Queue kontinuierlich an das USRP-Board Zusätzliche Anzeigen für den Zustand der Warteschleife Erweiterung einer USRP-OFDM-Übertragungsstrecke in LabVIEW Lian, Mohaupt p.10 Chair of Communication Systems Optimierung der Software-Struktur Sender Queue (FIFO) Erzeuger Element 1 Verbraucher Element 2 Element 3 . . . . . Element N Erweiterung einer USRP-OFDM-Übertragungsstrecke in LabVIEW Lian, Mohaupt p.11 Chair of Communication Systems Optimierung der Software-Struktur Sender Resultat Betrachtung des Zustandes der Warteschleife lässt Rückschlüsse auf die Geschwindigkeit der Symbolerzeugung und des Datentransfers zu Optimierung der maximalen Übertragungsgeschwindigkeit möglich Zugriff auf mehrere Elemente in der Warteschleife erleichtert Symboldetektion Erweiterung einer USRP-OFDM-Übertragungsstrecke in LabVIEW Lian, Mohaupt p.12 Chair of Communication Systems Optimierung der Software-Struktur Empfänger Symboldetektion und Zeitsynchronisation mit Warteschleifen Fallunterscheidung Block getroffen/Block nicht getroffen Mögliche Betrachtung zweier aufeinanderfolgender OFDM-Blöcke in der Empfänger-Warteschleife Abgeschnittene OFDM-Blöcke bei kurzen Abständen können rekonstruiert werden Erweiterung einer USRP-OFDM-Übertragungsstrecke in LabVIEW Lian, Mohaupt p.13 Chair of Communication Systems Optimierung der Software-Struktur Empfänger Betrachtung 1 OFDM-Block Betrachtung 2 OFDM-Blöcke Erweiterung einer USRP-OFDM-Übertragungsstrecke in LabVIEW Lian, Mohaupt p.14 Chair of Communication Systems Optimierung der Software-Struktur Empfänger Resultat Signifikant kürzere Abstände zwischen aufeinanderfolgenden OFDM-Blöcken realisierbar Durch Warteschleifen zusätzlich Prozesssynchronisation Rückschlüsse auf Geschwindigkeit der Signalverarbeitung und der Abtastung möglich Erweiterung einer USRP-OFDM-Übertragungsstrecke in LabVIEW Lian, Mohaupt p.15 Chair of Communication Systems Implementierung zusätzlicher Funktionen Kontinuierliche Messung der Bitfehlerrate Baut auf dem Text-Übertragungsmodus auf Kontinuierliche Übertragung und Vergleich einer bekannten, festen Zeichensequenz (8 bit pro Zeichen) Erlaubt Rückschlüsse auf Änderungen/Hindernisse im Kanal in Echtzeit Zusätzlich: Numerische Anzeigen und grafische Darstellung des zeitlichen Verlaufs Erweiterung einer USRP-OFDM-Übertragungsstrecke in LabVIEW Lian, Mohaupt p.16 Chair of Communication Systems Implementierung zusätzlicher Funktionen Kanalcodierung Faltungscodierer im Sender Interleaving OFDM-TX OFDM-RX Kanal Viterbi-Decoder im Empfänger Kanalcodierung Additives Rauschen Deinterleaving Kanaldecodierung Variable Coderate und Binäre Datensenke Binäre Datenquelle Einflusslänge Erweiterung einer USRP-OFDM-Übertragungsstrecke in LabVIEW Lian, Mohaupt p.17 Chair of Communication Systems Verifizierung der Änderungen Kanalcodierung und Bitfehlerrate uncodiert 1/4 1/3 2/3 Relativer Anstieg des BER bei höherwertigen QAMs 10−1 nicht ausreichender Rechenleistung im Sender BER Hohe Fehlerraten wegen 10−2 => Warteschleife läuft leer! => RX tastet Rauschen ab! 10−3 Algorithmen zur Erzeugung der Symbole ineffizient auf Universalrechnern 4 Erweiterung einer USRP-OFDM-Übertragungsstrecke in LabVIEW 16 64 QAM 256 Lian, Mohaupt p.18 Chair of Communication Systems 1024 Verifizierung der Änderungen Symboldetektion und Zeitsynchronisation korrekte Ermittlung des Startzeitpunkts eines OFDM-Blocks für verschiedene Abstände Betrachtung für einen OFDM-Block und zwei Wahrscheinlichkeit in % Wahrscheinlichkeit für 100 80 60 40 20 aufeinanderfolgende OFDM-Blöcke 0 1 OFDM-Block betrachtet 2 OFDM-Blöcke betrachtet 50 40 30 20 10 5 3 2 Blockabstand / (Abtastwerte*100) Erweiterung einer USRP-OFDM-Übertragungsstrecke in LabVIEW Lian, Mohaupt p.19 Chair of Communication Systems 1 Verifizierung der Änderungen Übertragungsrate 90 80 verschiedene QAMs und 70 Coderaten 60 Bei Verwendung von Kanalcodierung sinkt die kByte/s Übertragungsrate für 50 40 Datenrate unter sonst 30 gleichen Bedingungen mit 20 Modulationen höherer 10 Ordnung wieder ab uncodiert 1/4 1/3 1/2 2/3 3/4 0 4 Erweiterung einer USRP-OFDM-Übertragungsstrecke in LabVIEW 16 64 QAM 256 Lian, Mohaupt p.20 Chair of Communication Systems 1024 Fazit Minimaler Abstand zwischen OFDM-Blöcken konnte deutlich gesenkt werden Prozesssynchronisation zeigt Grenzen des Übertragungssystems auf • Warteschleife im Sender läuft leer -> Symbolerzeugung zu langsam • Warteschleife im Empfänger nicht gefüllt -> Signalverarbeitung ausreichend schnell! Keine nennenswerte Steigerung der maximalen Übertragungsrate trotz Verringerung des Abstandes zwischen OFDM-Blöcken Kanalcodierung steigert die CPU-Last merklich und vermehrt bei hohen Übertragungsraten sogar die Bitfehlerrate gegenüber uncodierter Übertragung Besser: Auslagerung der Algorithmen zur Symbolerzeugung auf FPGA Erweiterung einer USRP-OFDM-Übertragungsstrecke in LabVIEW Lian, Mohaupt p.21 Chair of Communication Systems Live-Demonstration Erweiterung einer USRP-OFDM-Übertragungsstrecke in LabVIEW Lian, Mohaupt p.22 Chair of Communication Systems