Entwicklung einer digitalen Übertragungsstrecke mit

Entwicklung einer digitalen Übertragungsstrecke mit
Einplatinencomputern zur Signalanalyse
Philipp Urban Jacobs
Digitale
Übertragungsstrecke
P. U. Jacobs
p.1
Chair of
Communication Systems
Inhalt
1 Motivation
2 Grundlagen
3 Umsetzung
4 Verifizierung
5 Fazit
Digitale
Übertragungsstrecke
P. U. Jacobs
p.2
Chair of
Communication Systems
Motivation
Signalgenerator
ADC
Gertboard
Raspberry Pi
Oszilloskop
DAC
GUI
Digitale Übertragungsstrecke für Praktikumsversuch (TLS - Praktikum) mit
Raspberry Pi & Gertboard
Anzeige des Eingangssignals (im Zeit- und Frequenzbereich) in GUI
Hinzuschaltbarkeit digitaler Filter (einstellbar über Koeffizienten)
Digitale
Übertragungsstrecke
P. U. Jacobs
p.3
Chair of
Communication Systems
Grundlagen
Abtastung
Ideale Abtastung: Multiplikation mit Dirac-
Reale Abtastung: Verwendung von Abtast-
Stößen
Haltegliedern
s(t)
s(t)
sra (t)
sa (t)
t
−Ta
Ta
t
Ta
2Ta 3Ta 4Ta 5Ta
sa (t) = s(t)
∞
X
sra (t) =
δ(t − kTa )
∞
X
k=−∞
2Ta 3Ta 4Ta 5Ta 6Ta
(t − kTa ) − αTa /2
s(kTa ) rect
αTa
k=−∞
⇒ Abgetastetes Signal sa (t) bzw. sra (t) kann als zeitdiskrete Wertefolge betrachtet werden:
sa(t) = sa (kTa) ⇒ sa,zd [k]
Digitale
Übertragungsstrecke
P. U. Jacobs
p.4
Chair of
Communication Systems
Grundlagen
Digitale Filter
FIR - Filter (Finite Impulse Response)
IIR - Filter (Infinite Impulse Response)
x [k]
x [k]
z −1
a0
z −1
a1
+
...
z −1
a2
+
z −1
aN −1
...
+
z −1
z −1
z −1
a0
a1
a2
+
−
+
−
+
−
...
z −1
aN
+
y [k]
bN
+
b N -1
z −1
...
z −1
a N -1
aN
+
−
+
b1
b N -2
z −1
z −1
...
z −1
z −1
+
Immer stabil
Toleranter gegen Quantisierungsfehler
Kleinere Filterordnung
-
Keine Verzerrungen
-
Mögliche Instabilität (Bei Design zu beachten)
Höhere Filterordnung notwendig
Digitale
Übertragungsstrecke
Störungen durch Quantisierungsfehler
P. U. Jacobs
p.5
Chair of
Communication Systems
y [k]
Grundlagen
Raspberry Pi & Gertboard
Raspberry Pi
Gertboard
Scheckkartengroßer Einplatinencomputer
Erweiterungsplatine für Raspberry Pi
700 MHz ARM-Prozessor, 512 MB RAM
Diverse I/O - Komponenten
Betriebssystem: meist Linux, Betrieb über
AD-Wandler MCP3002
SD-Karte
DA-Wandler MCP48x2
GPIO, SPI, I2 C, UART
Digitale
Übertragungsstrecke
P. U. Jacobs
p.6
Chair of
Communication Systems
Grundlagen
AD- und DA-Wandler
AD-Wandler MCP3002
DA-Wandler MCP4802/4812/4822
Anschluss über SPI
Anschluss über SPI
Auflösung: 10 Bit
Auflösung: 8, 10 oder 12 Bit (3 Versionen,
Versorgungs- und Referenzspannung:
2,7 V - 5,5 V (3,3 V bei Gertboard)
bei Gertboard je nach verfügbarer Stückzahl
verbaut - meist 8 Bit)
Versorgungsspannung: 2,7 V - 5,5 V
Max. Abtastrate:
75 ksps (Uref = 2,7 V) - 200 ksps (Uref =
5,5 V) − Bei Gertboard ca. 72 ksps
Referenzspannung (Maximalwert): 2,048 V
Aktualisierungszeit: 4,5 µs ⇒ Max.
Aktualisierungsrate ca. 222 ksps
Gertboard verbindet MCP3002 und MCP48x2 direkt über SPI mit Raspberry Pi ⇒ Können ohne
Änderungen am Programm auch einzeln (ohne Gertboard) angeschlossen werden!
Digitale
Übertragungsstrecke
P. U. Jacobs
p.7
Chair of
Communication Systems
Umsetzung
Hardware
Gertboard - Konfiguration
Hardware - Aufbau
Digitale
Übertragungsstrecke
P. U. Jacobs
p.8
Chair of
Communication Systems
Umsetzung
Verwendete Software
Betriebssystem: Raspbian
•
Abwandlung von Debian Linux, Quasi-Standardsystem für Raspberry Pi
•
Geringer Einrichtungsaufwand, breites Softwareangebot über Paketverwaltung
Programmiersprache: C++
GUI-Toolkit: FLTK (Fast Light ToolKit)
•
Ressourcenschonendes, plattformübergreifendes GUI-Toolkit für C++
•
Unkomplizierte Programmierung
•
Eigene grafische Elemente durch Vererbung leicht erstellbar
Weitere Software: FFTW (Fastest Fourier Transform in the West), GNU
Scientific Library (GSL), Gertboard-Hilfsbibliotheken
Digitale
Übertragungsstrecke
P. U. Jacobs
p.9
Chair of
Communication Systems
Umsetzung
Programmierung
Grundfunktion: Übertragung und Filterung
Realisierung durch Timer - gesteuerte Methode
Einzelne Verarbeitungsschritte werden im Abstand einer Sampling-Periode
aufgerufen
FIR
FIR-Filterung
Filter ein
Neuen
Ausgangswert
ausgeben
IIR
IIR-Filterung
Neuen Eingangswert
einlesen
Filter aus
Einzelner Verarbeitungsschritt (schematisch)
Digitale
Übertragungsstrecke
P. U. Jacobs
p.10
Chair of
Communication Systems
Umsetzung
Programmoberfläche
Digitale
Übertragungsstrecke
P. U. Jacobs
p.11
Chair of
Communication Systems
Verifizierung
Test der Signalübertragung
Signalübertragung weist Störungen und Unterbrechungen auf (Nicht-Echtzeit-System)
Empfehlenswerte Samplingrate: 10 kHz (Falls kleiner: Starke Quantisierungseffekte; Falls
größer: Extrem hohe Prozessorauslastung und Störanfälligkeit)
„Vernünftige“ Übertragung von Signalen bis zu 500 Hz möglich
Obergrenze: 1 kHz (gerade noch erkennbares Signal)
fsig = 100 Hz
fsig = 500 Hz
fsig = 1 kHz
fsmpl = 10 kHz
fsmpl = 10 kHz
fsmpl = 10 kHz
Digitale
Übertragungsstrecke
P. U. Jacobs
p.12
Chair of
Communication Systems
Verifizierung
Test der Filtereigenschaften
FIR - Filter
•
Funktionstüchtig
•
Problem: Samplingrate 10 kHz, Grenzfrequenz 0 Hz - 500 Hz → Verhältnis fc/fs sehr klein
→ So steilflankiges FIR-Filter mit so wenig Koeffizienten nicht realisierbar
(getestet mit max. 30 Koeffizienten, mehr nicht sinnvoll bei manueller Eingabe)
•
Bei kleineren Samplingraten funktioniert FIR-Filter wie vorgesehen (Test mit 10
Koeffizienten, fs = 500 Hz und fc = 100 Hz)
IIR - Filter
•
Zum Zeitpunkt der BA-Abgabe noch Probleme, inzwischen aber funktionstüchtig
•
Test mit Filter der Ordnung 2, fs = 10 kHz und fc = 50 Hz → Funktion wie vorgesehen
Digitale
Übertragungsstrecke
P. U. Jacobs
p.13
Chair of
Communication Systems
Fazit
System nur bedingt als digitale Übertragungsstrecke geeignet (nur niedrige
Frequenzen, Störungen)
Für „ernsthafte“ Anwendungen daher nicht zu empfehlen
Als Praktikumsversuch aber dennoch sinnvoll, da grafische Oberfläche das
„Experimentieren“ mit Übertragungs- und Filtereigenschaften ermöglicht
Digitale
Übertragungsstrecke
P. U. Jacobs
p.14
Chair of
Communication Systems
Fazit
Ausblick
Tiefpass hinter Ausgang (Glättung des quantisierten Signals ⇒ Niedrigere Samplingraten
nutzbar, FIR-Filter funktioniert besser)
Alternativ: FIR-Filter höherer Ordnung automatisch generieren
Gertboard verfügt über ATmega-Mikrocontroller (12 MHz, SPI etc. vorhanden) ⇒
Übertragung und Filterung darauf auslagern (Echtzeit-System) ?
Falls nicht, sind restliche Gertboard-Komponenten überflüssig ⇒ AD- und DA-Wandler
einzeln kaufen? Geringer zusätzlicher Schaltungsaufwand, aber enorme Kostenersparnis
(Gertboard ca. 50 e, AD- und DA-Wandler ohne Gertboard insgesamt ca. 5 e)
Ausgangssignal ebenfalls in GUI anzeigen
Ressourcenschonung: „Spartanischere“ Linux-Distribution benutzen (Erfolg zweifelhaft, da
X-Server in jedem Fall notwendig); Konsolen-Version (Für Praktikum unpraktikabel)
Digitale
Übertragungsstrecke
P. U. Jacobs
p.15
Chair of
Communication Systems
Praktische Vorführung
Praktische Vorführung
Digitale
Übertragungsstrecke
P. U. Jacobs
p.16
Chair of
Communication Systems