„Es gibt genau 10 Arten von Menschen: diejenigen, die Binärzahlen

Werbung
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  xi 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
it
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
23
 10
5
19
Anwendung: Verschiebung aller
Frequenzen eines Signals
e
i1t
e
i2t
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 )
 eit
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
it
z (t )  eit
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
it
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
it
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
xi 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
Herunterladen