Digitale Signalverarbeitung & HackRF One Thomas Baier DG8SAQ, Ferdinand Sigloch DB2SG „Es gibt genau 10 Arten von Menschen: diejenigen, die Binärzahlen verstehen und diejenigen, die sie nicht verstehen.“ Verfasser unbekannt Baier, Sigloch, 9/2017 Signalverarbeitung 1 Programm • Software Defined Radio (SDR) • Digitale Signalverarbeitung (DSP) • Gnu Radio Companion (GRC) • HackRF One Baier, Sigloch, 9/2017 Signalverarbeitung 2 Prinzip Software Defined Radio (SDR) SDR-Sender Digitale Signalverarbeitung SDR-Empfänger Baier, Sigloch, 9/2017 Signalverarbeitung 3 SDR realisiert z.B. mit HackRF One und PC & Baier, Sigloch, 9/2017 Signalverarbeitung 4 Digitale Signalverarbeitung (DSP) • Signal • Abtastung / Digitalisierung • Verarbeitung bzw. Prozessierung: Mathematik Baier, Sigloch, 9/2017 Signalverarbeitung 5 Schwingung des Trommelfells Ein analoges Signal f Zeit = eine Funktion der Zeit Baier, Sigloch, 9/2017 Signalverarbeitung f (t ) 6 t Ein analoges Signal ... ... kann durch eine Folge von Zahlen dargestellt werden. digital = mit Zahlen Baier, Sigloch, 9/2017 ( Lat. Digitus, der Finger ) Signalverarbeitung 7 Nyquist-Shannon Abtasttheorem von 1948 Nyquist-Kriterium: Mehr als zwei Abtastpunkte pro Schwingung für die höchste vorkommende Frequenz Claude Elwood Shannon → ursprüngliches Signal exakt aus Abtastpunkten reproduzierbar. (* 1916; † 2001) Amerikanischer Mathematiker, Begründer der Informationstheorie. Baier, Sigloch, 9/2017 Signalverarbeitung 8 Anwendung: Musik-CD (1981) Musik wird in Form von Binärzahlen auf einer CD gespeichert: Querschnitt Aufsicht Baier, Sigloch, 9/2017 Signalverarbeitung 9 Binärzahlen (ca. 400 v. Chr.) vermutlich 4. Jahrhundert vor Christus, indischer Dichter benutzte als erster das Konzept der Binärcodierung bei der Beschreibung von Versmaßen: kurze Silbe vs. lange Silbe Baier, Sigloch, 9/2017 Signalverarbeitung 10 Amplitude Alternative Darstellungen von Signalen Zeit Baier, Sigloch, 9/2017 Signalverarbeitung 11 Amplitude Alternative Darstellungen von Signalen Frequenzspektrum Zeit Zeit Baier, Sigloch, 9/2017 Signalverarbeitung 12 Zusammenhang zwischen Zeit und Frequenz: Fourierreihen (ca. 1800) Signale können in Sinus- und Kosinusschwingungen mit Frequenzen ω zerlegt und wieder zusammengesetzt werden. f (t ) a( ) cos(t ) b( ) sin(t ) Jean Baptiste Joseph Fourier (* 1768; † 1830) Französischer Mathematiker und Physiker Baier, Sigloch, 9/2017 Lautstärke=a²+b² Fouriertransformation Tonhöhe=ω Signalverarbeitung 13 Mathematische Bausteine der digitalen Signalverarbeitung • Fouriertransformation • Imaginäre und komplexe Zahlen (Euler, Gauß) • Eulerformel • Komplexe Signale (u.a. Hilbert) Baier, Sigloch, 9/2017 Signalverarbeitung 14 Imaginäre Zahlen und Eulerformel (ca. 1730) Leonhard Euler (* 1707; † 1783) Schweizer Mathematiker imaginäre Einheit i 1 In Elektrotechnik oft auch mit j bezeichnet Eulerformel Anerkannt die geilste Formel der Welt!!! cos( ) i sin( ) e Baier, Sigloch, 9/2017 Signalverarbeitung i 15 Gaußsche Zahlenebene (ca. 1800) Johann Carl Friedrich Gauß imaginäre Zahlen (* 30. April 1777;† 23. Februar 1855) Deutscher Mathematiker, Astronom, Geodät und Physiker Komplexe Zahl i·y z xi y x reelle Zahlen Jeder Punkt in der Gaußschen Zahlenebene stellt eine komplexe Zahl dar. Baier, Sigloch, 9/2017 Signalverarbeitung 16 Eulerformel in der Gaußschen Zahlenebene i·y z cos( ) i sin( ) i e i Interpretation: i sin( ) cos( ) 1 • Kreis als Überlagerung von x zwei um 90° gegeneinander verschobene Schwingungen • Vgl. Lissajous-Figur Einheitskreis (Radius = 1) Baier, Sigloch, 9/2017 Signalverarbeitung 17 Frequenz = Drehzahl i·y z cos(t ) i sin(t ) i • ω = 2·π·f mit f = Frequenz • ω > 0 : Drehsinn links x • ω < 0 : Drehsinn rechts i sin( t ) t cos( t) Baier, Sigloch, 9/2017 e it 1 Positive und negative Frequenzen unterscheidbar!!! Signalverarbeitung 18 Exponentialfunktion: Potenzrechenregel Nützliche Eigenschaft der in der Eulerformel vorkommenden Exponentialfunktion: i i e e e i ( ) Das ist dieselbe Potenzrechenregel wie z.B. für 10 10 10 2 Baier, Sigloch, 9/2017 3 Signalverarbeitung 23 10 5 19 Anwendung: Verschiebung aller Frequenzen eines Signals e i1t e i2t e i (1 2 ) t Interpretation: • Die Frequenz eines komplexen Signals in der Gaußebene kann durch Multiplikation mit eiωt beliebig erhöht oder erniedrigt werden. • Das ist Frequenz-Mischung ohne Spiegelsignal = SSB oder Image Reject Mischung! Baier, Sigloch, 9/2017 Signalverarbeitung 20 Mathematischer Trick: Komplexes Signal Hilberttransformation: erzeugt zu jeder Kosinus-Schwingung x(t) eine gleich starke Sinusschwingung y(t). i·y i y(t ) David Hilbert (* 23. Januar 1862; † 14. Februar 1943) , einer der bedeutendsten Mathematiker der Neuzeit. Komplexes Signal: z (t ) x(t ) i y(t ) Hilberttransformierte reelle Signalschwingung Baier, Sigloch, 9/2017 x x(t ) Signalverarbeitung 21 Zusammenfassung Reelles Signal z.B. x(t ) cos(t ) Komplexes Signal: z (t ) x(t ) i y (t ) cos(t ) i sin(t ) eit Hilberttransformation erzeugt aus reellem komplexes Signal: x(t ) HilbertTransformator z (t ) x(t ) i y (t ) Hilberttrafo: eine Zahl x rein, zwei Zahlen x, y kommen raus Baier, Sigloch, 9/2017 Signalverarbeitung 22 Anwendungs-Beispiel: SSB-Mischer Komplexer Träger x(t ) z (t ) e it z (t ) eit SSB ω > 0 : USB ω < 0 : LSB Baier, Sigloch, 9/2017 Signalverarbeitung 23 GNU Radio Companion (GRC) Baukasten für DSP Start Signalquelle Blockauswahl CPUBremse Oszilloskop (notwendig ohne Hardware) Baier, Sigloch, 9/2017 Signalverarbeitung 24 GNU Radio Companion (GRC) Beispiel 1: Quelle und Senke Rot: reales Signal Signalfarben müssen zusammenpassen Source = Quelle Signalverarbeitung Sink = Senke Signalfluss Baier, Sigloch, 9/2017 Signalverarbeitung 25 GNU Radio Companion (GRC) Beispiel 1 Rot: reales Signal Reelles Signal X(t) Signalfarben müssen zusammenpassen erzeugtes Programm Baier, Sigloch, 9/2017 Signalverarbeitung 26 GNU Radio Companion (GRC) Beispiel 2: Komplexes Signal Blau: komplexes Signal Komplexes Signal x(t)+i·y(t) 1 e Baier, Sigloch, 9/2017 it y (t ) sin( t) x(t ) cos( t) Signalverarbeitung 27 GNU Radio Companion (GRC) Beispiel 3: Hilbert-Trafo x(t) x(t)+i·y(t) Komplexes Signal x(t)+i·y(t) Hilbert-Trafo ergänzt reelles Signal zu komplexem Signal Baier, Sigloch, 9/2017 y(t) x(t) Signalverarbeitung 28 GNU Radio Companion (GRC) Beispiel 4: SSB-Mischer (1) NF Mischer e HF Baier, Sigloch, 9/2017 it Signalverarbeitung 29 GNU Radio Companion (GRC) Beispiel 4: SSB-Mischer (2) 500 Hz Baier, Sigloch, 9/2017 + 1,5 kHz Signalverarbeitung = 2 kHz 30 GNU Radio Companion (GRC) Beispiel 5: AM-Modulator / Demodulator HF Modulator NF+ DC Offset Baier, Sigloch, 9/2017 Demodulator Signalverarbeitung 31 GNU Radio Companion (GRC) Beispiel 5: AM-Modulator / Demodulator NF demodulierte NF modulierte HF Baier, Sigloch, 9/2017 Signalverarbeitung 32 GNU Radio Companion (GRC) „Complex to Mag“ i·y x(t ) i y(t ) Pythagoras: Amplitude y x x y 2 x x y xi y Baier, Sigloch, 9/2017 2 2 Signalverarbeitung 2 33 GNU Radio Companion (GRC) Einige mathematische Blöcke x(t) x(t)+i·y(t) a(t) b(t) a(t)+b(t) x(t) y(t) x(t)+i·y(t) a(t) b(t) a(t)·b(t) x(t) x(t)+i·y(t) Baier, Sigloch, 9/2017 y(t) Signalverarbeitung a(t) a(t)-b(t) b(t) 34 GNU Radio Companion (GRC) Es gibt auch Filterblöcke, z.B. Viele frei konfigurierbare gebrauchsfertige Filter, real oder komplex! Man muss nicht unbedingt verstehen, wie die funktionieren. Baier, Sigloch, 9/2017 Signalverarbeitung 35 GNU Radio Companion (GRC) Einige Quellen und Senken Simulierte Cosinus-Quelle, kennen wir schon! Soundkarte Wav-Datei als Quelle Baier, Sigloch, 9/2017 Signalverarbeitung 36 GNU Radio Companion (GRC) Einige Hardware-Quellen und Senken DVB-T USB Stick (RX) HackRF One!!! Rx oder Tx Baier, Sigloch, 9/2017 Signalverarbeitung 37 HackRF One USB Baier, Sigloch, 9/2017 Signalverarbeitung 38 HackRF One Hardware (1) Funktionsblöcke Baier, Sigloch, 9/2017 Signalverarbeitung 39 HackRF One Hardware (2) Frontend 2,3 GHz … 2,7 GHz 2,3 GHz … 2,7 GHz 1 MHz … 6 GHz 1 MHz … 2,3 GHz 2,7 GHz … 6 GHz 2,3 GHz … 2,7 GHz Baier, Sigloch, 9/2017 Signalverarbeitung 40 HackRF One Hardware (3) MAX2837: 2.3GHz to 2.7GHz WLAN RTX (2.3 … 2.7 GHz) I/Q TX In (±10MHz) I/Q RX Out (±10MHz) RX In SSBMischer TX Out Baier, Sigloch, 9/2017 Signalverarbeitung 41 HackRF One Hardware (4) ADC / DAC Komplexe Signale (I/Q) Bis zu 20 MHz Abtastrate Shannon/Nyquist: Bis zu ±10 MHz Bandbreite Genügend Bandbreite für DVB oder um das gesamte 70cm Band zu monitoren! Baier, Sigloch, 9/2017 Signalverarbeitung 42 HackRF One RX im GRC osmocom Source 20 MHz Abtastrate 97,9 MHz Mittenfrequenz entspricht im Basisband 0 Hz Hardwareverstärkungen Baier, Sigloch, 9/2017 Signalverarbeitung 43 HackRF One Beispiel AM KW-Radio 4,8 MHz Abtastrate Spektrumanalyzer Basisband -2,4…2,4MHz LO Wunschkanal KanalAMnach 0 Hz selektion Demodulator mischen Baier, Sigloch, 9/2017 Signalverarbeitung 44 HackRF One Beispiel AM KW-Radio demodulierter Kanal Baier, Sigloch, 9/2017 Signalverarbeitung 45 HackRF One Beispiel FM UKW-Radio Spektrumanalyzer FMDemodulator Wunschkanal nach 0 Hz mischen Baier, Sigloch, 9/2017 Kanalselektion Signalverarbeitung 46 HackRF One Beispiel FM UKW-Radio demodulierter Kanal Spektralansicht mit 20 MHz Bandbreite!!! Baier, Sigloch, 9/2017 Signalverarbeitung 47 HackRF One Beispiel gleichzeitig zwei AM Sender HF NF1 NF2 Baier, Sigloch, 9/2017 Signalverarbeitung 48 HackRF One Beispiel gleichzeitig zwei AM Sender zwei modulierte AM Träger bei ±100kHz Baier, Sigloch, 9/2017 Signalverarbeitung 49 HackRF One Beispiel Lineartransponder RX 97,4 MHz DVB-T Dongle Baier, Sigloch, 9/2017 Filter + Verstärker Signalverarbeitung TX 87,5 MHz HackRF ONE 50 HackRF One Beispiel Lineartransponder RX 97,4 MHz DVB-T Dongle Baier, Sigloch, 9/2017 Filter + Verstärker Signalverarbeitung TX 87,5 MHz HackRF ONE 51 HackRF One weitere Anwendungen 20 MHz Spektrum auf Festplatte speichern oder von Festplatte senden: Breitbandige Funküberwachung Radioastronomie Hacken von Funkschließsystemen … Spektrumanalyzer Messsender … Baier, Sigloch, 9/2017 Signalverarbeitung 52 HackRF One 6 GHz Spektrum Analyzer Baier, Sigloch, 9/2017 Signalverarbeitung 53 Anhang GNU Radio Companion für Windows http://www.gcndevelopment.com/gnuradio/downloads.htm Baier, Sigloch, 9/2017 Signalverarbeitung 54 Anhang GRC und HackRF One Resourcen GRC Dokumentation: http://www.ece.uvic.ca/~elec350/grc_doc/ar01s11.html GRC Tutorial: https://wiki.gnuradio.org/index.php/Guided_Tutorial_GRC Setting up HackRF in Windows with SDR# http://superfro.org/setting-up-hackrf-in-windows-with-sdr/ Hack RF One Windows Spektrum Analyzer https://github.com/pavsa/hackrf-spectrum-analyzer Hack RF One Windows USB Treiber http://zadig.akeo.ie/ Baier, Sigloch, 9/2017 Signalverarbeitung 55 Anhang Hack RF One Windows Treiber Installation Hack RF One Windows USB Treiber: zadig-2.3.exe http://zadig.akeo.ie/ Baier, Sigloch, 9/2017 Signalverarbeitung 56 Anhang Für die, die es genau wissen wollen… Theorie und Algorithmen der GRC Funktionsblöcke mit Quellcodebeispielen in PASCAL Baier, Sigloch, 9/2017 Signalverarbeitung 57 ENDE Mathematik und Amateurfunk macht Spaß! Vielen Dank für Euer Interesse! Vortragsfolien unter http://www.dg8saq.darc.de/hidden/DSP_HackRF.pdf Baier, Sigloch, 9/2017 Signalverarbeitung 58