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
© Copyright 2024