GNU Radio - UniDSP56-Homepage · 4 GNU Radio DL9GFA GNU Radio - Überblick Freie Software-Arbeits-...

of 30 /30
GNU Radio GNU Radio Gerrit Buhe, DL9GFA HAM-Radio 2011

Embed Size (px)

Transcript of GNU Radio - UniDSP56-Homepage · 4 GNU Radio DL9GFA GNU Radio - Überblick Freie Software-Arbeits-...

  • 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. MIMO ZigBee PHY IEEE 802.15.4 (interoperabel mit Mica2, MicaZ, Telos B) RDS-UKW-Radio Fading Simulator mit Echtzeit-Rayleigh-Fading (via Matlab) GMSK-Bodenstations-Transceiver fr Satelliten (z.B. Aprizesat 3&4, 128kbit/s downlink, 9.6kb/s uplink) RFID Generation 2 GPS-Empfnger DCF77-Empfnger Empfnger fr Motorola Smartnet trunked radio system Transceiver fr Logitechs drahtlose Tastaturen

  • 28 GNU Radio DL9GFA

    Wie kann ich starten?Wie kann ich starten?

    Installation von GNU Radio inklusive GRCompanion GNU Radio ist frei und kann im Quelltext oder binr (Linux) heruntergeladen werden Erstellung aus den Quellen ist unter Linux-Distributionen, xBSD und Mac OS X einfach

    mglich (Anleitung unter gnuradio.org)

    Viele Linux-Distributionen bieten fertige Pakete zur komfortablen Installation an (Empfehlung Ubuntu, Kubuntu)

    Windows-Compilierung und Installation ist nur sehr Erfahrenen zu empfehlen Windows-Nutzer knnen Linux-Live-Distribution von USB-Stick/DVD einsetzen oder Linux in

    einer Virtuellen Maschine installieren (z.B. VirtualBox.org)

    Anleitungen und Diskussionsforen im Internet bieten Hilfe! Hardware Die PC-eigene Audiokarte ist fr einfache Versuche

    gut geeignet (z.B. Audiosignalverarbeitung)

    Einfache Direktmisch-Empfnger und -Sender sind schnell selbst gebaut (Quarzoszillator, Mischer, Filter, Verstrker)

    Fast jede Software Radio Hardware kann mit GNU Radio betrieben werden (Basisband-I/Q, 12kHz-ZF etc.)

  • 29 GNU Radio DL9GFA

    ZusammenfassungZusammenfassung

    Software Radio ist ein spannendes Thema, insbesondere fr den Amateurfunk

    GNU Radio ist ein hervorragendes und noch dazu frei verfgbares Werkzeug zur Umsetzung

    Es kann fr nahezu alle Spielarten des Amateurfunks eingesetzt und einfach erweitert werden

    Erfolgreiche Beschftigung mit Software Radio erfordert Fachwissen auf verschiedenen Gebieten

    GNU Radio mit GRC verringert die Einstiegshrde deutlich

  • 30 GNU Radio DL9GFA

    Internet-ReferenzenInternet-Referenzen

    Projektseiten http://gnuradio.org https://cgran.org/ - 3rd Party GNU Radio applications http://ossie.wireless.vt.edu/ - Open Source SCA Implementation - Embedded

    Interessante Seiten mit direktem Amateurfunkbezug http://www.oz9aec.net/index.php/gnu-radio http://www.dl8rds.de/index.php/GNURadio_and_USRP2 http://f4dan.free.fr/sdr_eng.html - gute bersicht ber Hard- und Software zum Thema

    Mailing-Listen und Diskussions-Foren http://gnuradio.org/redmine/wiki/gnuradio/MailingLists

    http://lists.darc.de/mailman/listinfo/sdr - DARC-Reflektor zu SDR Podcasts http://chaosradio.ccc.de/cre087.html - Chaosradio Express zu SDR mit GNU Radio

    Erwerb von geeigneter Hardware http://www.ettus.com - USRPx-Hardware mit diversen HF-Frontends http://www.funcubedongle.com - FUNcubeDongle der AMSAT UK http://www.funkamateur.de - OnlineShop Baustze SDR-Kits, FA-SDR-Transceiver http://www.kb9yig.com/ - SoftRock-Kits

    http://www.dl8rds.de/index.php/GNURadio_and_USRP2http://f4dan.free.fr/sdr_eng.htmlhttp://lists.darc.de/mailman/listinfo/sdrhttp://chaosradio.ccc.de/cre087.html

    Folie 1Folie 2Folie 3Folie 4Folie 5Folie 6Folie 7Folie 8Folie 9Folie 10Folie 11Folie 12Folie 13Folie 14Folie 15Folie 16Folie 17Folie 18Folie 19Folie 20Folie 21Folie 22Folie 23Folie 24Folie 25Folie 26Folie 27Folie 28Folie 29Folie 30