GNU Radio - UniDSP56- .4 GNU Radio DL9GFA GNU Radio - Überblick Freie Software-Arbeits- und Entwicklungsumgebung

  • View
    224

  • Download
    0

Embed Size (px)

Text of GNU Radio - UniDSP56- .4 GNU Radio DL9GFA GNU Radio - Überblick Freie Software-Arbeits- und...

  • GNU RadioGNU RadioGerrit Buhe, DL9GFA

    HAM-Radio 2011

  • 2 GNU Radio DL9GFA

    InhaltInhalt Einleitung 'Software Radio' und 'Cognitive Radio' GNU Radio berblick Python Framework GNU Radio Companion GRC Die mglichen Programmierebenen Erstes Praxisbeispiel unter GRC (Quellen, Senken, Funktionsblcke, GUI) GRC Wichtige Hinweise (Synchronisation, Flukontrolle)

    Hardware fr GNU Radio und ihre Anwendung Konzept der Aufgabenteilung WBX von Ettus Research USRP2 von Ettus Research USRP2+WBX Praxisbeispiel unter GRC FUNcube Dongle FUNcube Dongle Praxisbeispiel unter GRC HF-Frontends der SoftRock-Klasse SoftRocks in der Praxis unter GRC

    GNU Radio Projekte im Internet Wie kann ich starten? Installation und erste Hardware

    Zusammenfassung und Referenzen

  • 3 GNU Radio DL9GFA

    Software Radio & Cognitive RadioSoftware Radio & Cognitive Radio

    Es gibt verschiedene SWR-Konzepte in Abhngigkeit vom Ort des AD-Wandlers Heterodynstrukturen mit AD/DA-Wandlung im Basisband oder auf hoher Zwischenfrequenz Direktmischer mit AD/DA-Wandlung im Basisband oder direkte HF-Signalabtastung Systemdesign entscheidet ber Kompromisse zwischen Performance und Flexibilitt

    Ideales SWR nutzt statt spezifischer Hardware nur einen General Purpose Prozessor (GPP) und AD/DA-Wandler Alle Signalverarbeitung in Form von Algorithmen auf GPP Standardisierung der Schnittstellen erlaubt Wiederverwendung von Software-Modulen

    (SCA Software Communications Architecture)

    SCA ermglicht auch Nachladen neuer Verfahren/Standards wenn ntig (autom. SW update) 'Cognitive Radio' ist der nchste Evolutionsschritt CR sind intelligente und lernende Software Radios Sie beobachten ihre spektrale Umgebung und passen sich den Gegebenheiten an (reaktiv,

    proaktiv, bis hin zu kooperativem Ressourcenmanagement)

    Vision der Regulierungsbehrden ohne dedizierte Frequenzzuweisungen, die oft ineffizient sind GNU Radio ist eine Plattform fr SWR und lt sich als Basisebene unter

    kognitiven Verarbeitungsschichten verwenden

  • 4 GNU Radio DL9GFA

    GNU Radio - berblickGNU Radio - berblick

    Freie Software-Arbeits- und Entwicklungsumgebung zur Implementierung von Software-definierten Sendern und Empfngern

    Es bietet eine Menge fertiger Signalverarbeitungsroutinen und Funktionsblcke Die Anwendungen sind hauptschlich in Python geschrieben, whrend die

    Signalverarbeitungsblcke in C++ implementiert sind Python ist eine einfach zu erlernende objektorientierte Skriptprogrammiersprache GNU Radio wird vor allem im akademischen und industriellen Umfeld zum

    schnellen Prototyping eingesetzt Es gibt fertig verfgbare HF-Frontends zum Einsatz mit GNU Radio, aber auch

    Eigenbaulsungen sind einfach ber die PC-Audiokarte nutzbar GNU Radio eignet sich hervorragend fr den Hobbyeinsatz Freie Verfgbarkeit (GNU General Public License) Fertige Signalverarbeitungsblcke verringern Einstiegshrde Eigene HF-Hardware ist einfach adaptierbar Viele Amateurfunkbeispiele im Internet verfgbar GNU Radio-Foren fr Diskussion und Hilfe

  • 5 GNU Radio DL9GFA

    GNU Radio PythonGNU Radio Python

    Blockschaltbild und automatisch generiertes Python-Skript mit eingebundenen C++ Routinen

  • 6 GNU Radio DL9GFA

    GNU Radio Companion - GRCGNU Radio Companion - GRC Grafische Benutzeroberflche zur Entwicklung von Signalverarbeitungsanwendungen Einfacher Einstieg fr 'Nichtprogrammierer' Funktionsblcke werden mit der Maus auf die Arbeitsflche gezogen und verbunden Auf Knopfdruck wird ein Python-Skript erstellt und gestartet

    Filter

    Schnittstellen GUI

    Modulation

    DSP-Bibliothek Ausfhrungsumgebung

  • 7 GNU Radio DL9GFA

    GNU Radio - ProgrammierungGNU Radio - Programmierung

    Die Programmierung ist auf verschieden Ebenen mglich Wer mit den bereits vorhandenen Funktionsblcken

    auskommt, kann ausschlielich grafisch arbeiten

    GRCGRC

    PythonPython

    C++C++

    Grafisches Grafisches EntwicklungswerkzeugEntwicklungswerkzeug

    Zusammenfgen der Blcke und Zusammenfgen der Blcke und ParameterbergabeParameterbergabe

    Echtzeit-SignalverarbeitungEchtzeit-Signalverarbeitung

  • 8 GNU Radio DL9GFA

    GRC Erstes BeispielGRC Erstes Beispiel

  • 9 GNU Radio DL9GFA

    GRC Erstes BeispielGRC Erstes Beispiel

  • 10 GNU Radio DL9GFA

    GRC Erstes BeispielGRC Erstes Beispiel

  • 11 GNU Radio DL9GFA

    GRC HinweiseGRC Hinweise

    Es gibt verschiedene Quellen und Senken fr Datenstrme PC-Audiokarte USB mit dedizierter Hardware (Bsp. USRP) Ethernet-Schnittstelle (TCP, UDP) Dateien aus denen gelesen und in die geschrieben werden kann 'pipes' durch die von/zu anderen Programmen Daten gestreamt werden knnen (hnlich VAC Virtual

    Audio Cable)

    Grafisch als Oszilloskop, Spektrumanalysator, Wasserfallspektrum, Textaus- und eingabe Das Datenformat zu verbindender Schnittstellen mu identisch sein und ggf. konvertiert

    werden (complex/float) Die Datenraten an den Schnittstellen mssen berein stimmen (ganzzahlige!

    Dezimierung, Interpolation) Abweichende Takte an HW-Schnittstellen fhren zu automatisch generierten Puffern die

    Latenz einbringen und berlaufen knnen (Fehlermeldungen aUaO usw. beachten) Falls der Takt der Daten nicht von Hardware bestimmt ist (numerisch generiert, oder aus

    Datei), mu eine Flukontrolle mit Takt eingebaut werden ('Throttle'-Block unter [Misc]) Bei Performance-Problemen die Datenraten auf ntiges Minimum begrenzen und

    Wiederholrate grafischer Ausgaben verringern

  • 12 GNU Radio DL9GFA

    Hardware fr GNU RadioHardware fr GNU Radio

    HF Frontend

    Mischt HF ins analoge Basisband und umgekehrt

    Direkt-Quadratur-(de)modulator

    Analog-Digital-Wandlung

    AD- und DA-Wandlung (jeweils I und Q)

    Abtastraten-dezimierung und -Interpolation

    Software-(De-)Modulation

    Bekommt bzw. generiert digitales Basisband (I/Q)

    (De-)Moduliert und macht hr- bzw. lesbar

  • 13 GNU Radio DL9GFA

    Hardware fr GNU RadioHardware fr GNU Radio

    AttnAttn

    ~~

    ~~ WBX Transceiver

    FPGA

    (DDC, DUC,NCOs,Mikro-

    controller,uvm.)

    FPGA

    (DDC, DUC,NCOs,Mikro-

    controller,uvm.)

    DACDAC

    DACDAC

    ADCADC

    ADCADC

    Ether-net

    Ether-net

    USRP2 Mainboard

  • 14 GNU Radio DL9GFA

    WBX von Ettus ResearchWBX von Ettus Research

    Die US-Firma Ettus Research (www.ettus.com) bietet Leistungsfhige Digital-Hardware mit USB oder Ethernet-Schnittstelle Diverse HF-Frontends in verschiedenen HF-Bereichen

    HF-Frontend WBX

    Transceiver 50 MHz...2.2 GHz Voll-Duplex Direkt-Quadratur(de)modulator 5 dB...6 dB Rauschma IIP3: +5 dBm... +10 dBm IIP2: +40 dBm... +55 dBm 50 mW...100 mW Sendeleistung Schaltung frei verfgbar

  • 15 GNU Radio DL9GFA

    USRP2 von Ettus ResearchUSRP2 von Ettus Research

    Die US-Firma Ettus Research (www.ettus.com) bietet Leistungsfhige Digital-Hardware mit USB oder Ethernet-Schnittstelle Diverse HF-Frontends in verschiedenen HF-Bereichen

    Universal Software Radio Peripheral (USRP2)

    Zwei 100 MS/s 14-Bit-AD-Wandler Zwei 400 MS/s 16-Bit-DA-Wandler FPGA mit programmierbarer Dezimierung (DDC) und Interpolation (DUC) 25 MHz HF-Bandbreite vom/zum PC Gigabit Ethernet-Schnittstelle zum PC Analoge (AD/DA) und digitale Schnittstellen fr Hilfsfunktionen (AGC, RSSI, etc.) Schaltplne frei verfgbar VHDL-Quelltext frei verfgbar Autarker Betrieb mglich ('stand alone')

  • 16 GNU Radio DL9GFA

    USRP2 / WBX - PraxisbeispielUSRP2 / WBX - Praxisbeispiel

  • 17 GNU Radio DL9GFA

    USRP2 / WBX - PraxisbeispielUSRP2 / WBX - Praxisbeispiel

  • 18 GNU Radio DL9GFA

    FUNcube Dongle (FCD)FUNcube Dongle (FCD)

    Empfnger 64 MHz... 1.7 GHz (SMA zu USB) I/Q-Ausgabe mit 96 kHz Abtastrate Projekt der AMSAT UK Direkte GRC-Unterstzung

  • 19 GNU Radio DL9GFA

    FUNcube Dongle (FCD)FUNcube Dongle (FCD)

    Empfnger 64 MHz... 1.7 GHz (SMA zu USB) I/Q-Ausgabe mit 96 kHz Abtastrate Projekt der AMSAT UK Direkte GRC-Unterstzung

  • 20 GNU Radio DL9GFA

    FCD - PraxisbeispielFCD - Praxisbeispiel

  • 21 GNU Radio DL9GFA

    FCD - PraxisbeispielFCD - Praxisbeispiel

  • 22 GNU Radio DL9GFA

    FCD - PraxisbeispielFCD - Praxisbeispiel

  • 23 GNU Radio DL9GFA

    SoftRock-artige RX/TXSoftRock-artige RX/TX

    Direktmischstrukturen mit Quadratur-Abtastung (QSD) eines Subbandes I/Q-Basisband wird analog an PC-Audiokarte ausgegeben bzw. von dort erhalten Schmaler Empfangskanal mu mit komplexem Oszillator demoduliert werden Einfache Einbindung in GRC durch PC-Audiokarte mglich

  • 24 GNU Radio DL9GFA

    SoftRock - PraxisbeispielSoftRock - Praxisbeispiel

  • 25 GNU Radio DL9GFA

    SoftRock - PraxisbeispielSoftRock - Praxisbeispiel

  • 26 GNU Radio DL9GFA

    SoftRock - PraxisbeispielSoftRock - Praxisbeispiel

  • 27 GNU Radio DL9GFA

    GNU Radio ProjekteGNU Radio Projekte

    Im Internet sind viele frei verfgbare GNU Radio Projekte zu finden, die zum Experimentieren einladen Diverse Voll-Duplex SDR-Transceiver fr Amateurfunk (AM, FM, SSB, CW, digital Modes) Satelliten-Telemetrieempfnger, u.a. mit FUNcube Dongle NOAA APT Empfnger fr Wetterbilder DVB - Digitale Videobertragung der Webcam auf 23cm OpenBTS GSM-Basisstation DECT-Empfnger (PHY, MAC, teilw. hhere Ebenen) HDTV-Sender und -Empfnger TETRA Transceiver ADS-B & Mode-S Transponder-Empfang zur Bestimmung von Flugzeugposition, Hhe, Richtung etc. AIS Automatisches Identifikations-System fr Schiffe (Geschwindigkeit, Richtung, Tonnage, Name, Ziel etc.) WLAN-Sender und -Empfnger in voller Bandbreite inkl