16
Entwicklung einer digitalen Übertragungsstrecke mit Einplatinencomputern zur Signalanalyse Philipp Urban Jacobs Digitale Übertragungsstrecke P. U. Jacobs p.1 Chair of Communication Systems

Entwicklung einer digitalen bertragungsstrecke mit ...nts.uni-duisburg-essen.de/downloads/nt-prakt12/dokum/...Motivation ADC Gertboard DAC Raspberry Pi Signalgenerator Oszilloskop

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Entwicklung einer digitalen bertragungsstrecke mit ...nts.uni-duisburg-essen.de/downloads/nt-prakt12/dokum/...Motivation ADC Gertboard DAC Raspberry Pi Signalgenerator Oszilloskop

Entwicklung einer digitalen Übertragungsstrecke mit

Einplatinencomputern zur Signalanalyse

Philipp Urban Jacobs

Digitale

Übertragungsstrecke

P. U. Jacobsp.1

Chair ofCommunication Systems

Page 2: Entwicklung einer digitalen bertragungsstrecke mit ...nts.uni-duisburg-essen.de/downloads/nt-prakt12/dokum/...Motivation ADC Gertboard DAC Raspberry Pi Signalgenerator Oszilloskop

Inhalt

1 Motivation

2 Grundlagen

3 Umsetzung

4 Verifizierung

5 Fazit

Digitale

Übertragungsstrecke

P. U. Jacobsp.2

Chair ofCommunication Systems

Page 3: Entwicklung einer digitalen bertragungsstrecke mit ...nts.uni-duisburg-essen.de/downloads/nt-prakt12/dokum/...Motivation ADC Gertboard DAC Raspberry Pi Signalgenerator Oszilloskop

Motivation

GertboardADC DAC

Raspberry Pi

Signalgenerator Oszilloskop

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. Jacobsp.3

Chair ofCommunication Systems

Page 4: Entwicklung einer digitalen bertragungsstrecke mit ...nts.uni-duisburg-essen.de/downloads/nt-prakt12/dokum/...Motivation ADC Gertboard DAC Raspberry Pi Signalgenerator Oszilloskop

GrundlagenAbtastung

Ideale Abtastung: Multiplikation mit Dirac-

Stößen

t

s(t)

sa(t)

−Ta

Ta 2Ta 3Ta 4Ta 5Ta

sa(t) = s(t)∞∑

k=−∞

δ(t − kTa)

Reale Abtastung: Verwendung von Abtast-

Haltegliedern

t

sra(t)

Ta 2Ta 3Ta 4Ta 5Ta 6Ta

s(t)

sra(t) =∞∑

k=−∞

s(kTa) rect

(

(t − kTa)− αTa/2αTa

)

⇒ Abgetastetes Signalsa(t) bzw.sra(t) kann als zeitdiskrete Wertefolge betrachtet werden:

sa(t) = sa(kTa) ⇒ sa,zd [k]

Digitale

Übertragungsstrecke

P. U. Jacobsp.4

Chair ofCommunication Systems

Page 5: Entwicklung einer digitalen bertragungsstrecke mit ...nts.uni-duisburg-essen.de/downloads/nt-prakt12/dokum/...Motivation ADC Gertboard DAC Raspberry Pi Signalgenerator Oszilloskop

GrundlagenDigitale Filter

FIR - Filter (Finite Impulse Response)

z−1

z−1

z−1

z−1x [k]

a0 a1 a2 aN−1 aN

+ + + +

......

... y [k]

+

Immer stabil

Toleranter gegen Quantisierungsfehler

Keine Verzerrungen

-

Höhere Filterordnung notwendig

IIR - Filter (Infinite Impulse Response)

z−1

z−1

z−1

z−1

z−1

a0 a1 a2 aN-1 aN

+ + + + +

...

...

...z−1

z−1

z−1

z−1

z−1

−−−−

bN bN-1 bN-2 b1

x [k]

y [k]

+

Kleinere Filterordnung

-

Mögliche Instabilität (Bei Design zu beachten)

Störungen durch Quantisierungsfehler

Digitale

Übertragungsstrecke

P. U. Jacobsp.5

Chair ofCommunication Systems

Page 6: Entwicklung einer digitalen bertragungsstrecke mit ...nts.uni-duisburg-essen.de/downloads/nt-prakt12/dokum/...Motivation ADC Gertboard DAC Raspberry Pi Signalgenerator Oszilloskop

GrundlagenRaspberry Pi & Gertboard

Raspberry Pi

Scheckkartengroßer Einplatinencomputer

700 MHz ARM-Prozessor, 512 MB RAM

Betriebssystem: meist Linux, Betrieb über

SD-Karte

GPIO, SPI, I2C, UART

Gertboard

Erweiterungsplatine für Raspberry Pi

Diverse I/O - Komponenten

AD-WandlerMCP3002

DA-WandlerMCP48x2

Digitale

Übertragungsstrecke

P. U. Jacobsp.6

Chair ofCommunication Systems

Page 7: Entwicklung einer digitalen bertragungsstrecke mit ...nts.uni-duisburg-essen.de/downloads/nt-prakt12/dokum/...Motivation ADC Gertboard DAC Raspberry Pi Signalgenerator Oszilloskop

GrundlagenAD- und DA-Wandler

AD-Wandler MCP3002

Anschluss über SPI

Auflösung: 10 Bit

Versorgungs- und Referenzspannung:

2,7 V - 5,5 V (3,3 V bei Gertboard)

Max. Abtastrate:

75 ksps (Uref = 2,7 V) - 200 ksps (Uref =

5,5 V)− Bei Gertboard ca. 72 ksps

DA-Wandler MCP4802/4812/4822

Anschluss über SPI

Auflösung: 8, 10 oder 12 Bit (3 Versionen,

bei Gertboard je nach verfügbarer Stückzahl

verbaut - meist 8 Bit)

Versorgungsspannung: 2,7 V - 5,5 V

Referenzspannung (Maximalwert): 2,048 V

Aktualisierungszeit: 4,5µs⇒ Max.

Aktualisierungsrate ca. 222 ksps

Gertboard verbindet MCP3002 und MCP48x2 direkt über SPI mitRaspberry Pi⇒ Können ohne

Änderungen am Programm auch einzeln (ohne Gertboard) angeschlossen werden!

Digitale

Übertragungsstrecke

P. U. Jacobsp.7

Chair ofCommunication Systems

Page 8: Entwicklung einer digitalen bertragungsstrecke mit ...nts.uni-duisburg-essen.de/downloads/nt-prakt12/dokum/...Motivation ADC Gertboard DAC Raspberry Pi Signalgenerator Oszilloskop

UmsetzungHardware

Hardware - Aufbau

Gertboard - Konfiguration

Digitale

Übertragungsstrecke

P. U. Jacobsp.8

Chair ofCommunication Systems

Page 9: Entwicklung einer digitalen bertragungsstrecke mit ...nts.uni-duisburg-essen.de/downloads/nt-prakt12/dokum/...Motivation ADC Gertboard DAC Raspberry Pi Signalgenerator Oszilloskop

UmsetzungVerwendete 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-HilfsbibliothekenDigitale

Übertragungsstrecke

P. U. Jacobsp.9

Chair ofCommunication Systems

Page 10: Entwicklung einer digitalen bertragungsstrecke mit ...nts.uni-duisburg-essen.de/downloads/nt-prakt12/dokum/...Motivation ADC Gertboard DAC Raspberry Pi Signalgenerator Oszilloskop

UmsetzungProgrammierung

Grundfunktion: Übertragung und Filterung

Realisierung durch Timer - gesteuerte Methode

Einzelne Verarbeitungsschritte werden im Abstand einer Sampling-Periode

aufgerufen

Neuen Eingangswert

einlesen

Filter ein

FIR-FilterungFIR

IIR

IIR-Filterung

Neuen

Ausgangswert

ausgeben

Filter aus

Einzelner Verarbeitungsschritt (schematisch)

Digitale

Übertragungsstrecke

P. U. Jacobsp.10

Chair ofCommunication Systems

Page 11: Entwicklung einer digitalen bertragungsstrecke mit ...nts.uni-duisburg-essen.de/downloads/nt-prakt12/dokum/...Motivation ADC Gertboard DAC Raspberry Pi Signalgenerator Oszilloskop

UmsetzungProgrammoberfläche

Digitale

Übertragungsstrecke

P. U. Jacobsp.11

Chair ofCommunication Systems

Page 12: Entwicklung einer digitalen bertragungsstrecke mit ...nts.uni-duisburg-essen.de/downloads/nt-prakt12/dokum/...Motivation ADC Gertboard DAC Raspberry Pi Signalgenerator Oszilloskop

VerifizierungTest 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 zu500 Hzmöglich

Obergrenze: 1 kHz (gerade noch erkennbares Signal)

fsig = 100 Hz

fsmpl = 10 kHz

fsig = 500 Hz

fsmpl = 10 kHz

fsig = 1 kHz

fsmpl = 10 kHz

Digitale

Übertragungsstrecke

P. U. Jacobsp.12

Chair ofCommunication Systems

Page 13: Entwicklung einer digitalen bertragungsstrecke mit ...nts.uni-duisburg-essen.de/downloads/nt-prakt12/dokum/...Motivation ADC Gertboard DAC Raspberry Pi Signalgenerator Oszilloskop

VerifizierungTest der Filtereigenschaften

FIR - Filter

• Funktionstüchtig

• Problem: Samplingrate 10 kHz, Grenzfrequenz 0 Hz - 500 Hz→ Verhältnisfc/fs sehr klein

→ So steilflankiges FIR-Filter mit so wenig Koeffizienten nicht realisierbar

(getestet mit max. 30 Koeffizienten, mehr nicht sinnvoll beimanueller Eingabe)

• Bei kleineren Samplingraten funktioniert FIR-Filter wie vorgesehen (Test mit 10

Koeffizienten,fs = 500 Hz undfc = 100 Hz)

IIR - Filter

• Zum Zeitpunkt der BA-Abgabe noch Probleme, inzwischen aberfunktionstüchtig

• Test mit Filter der Ordnung 2,fs = 10 kHz undfc = 50 Hz→ Funktion wie vorgesehen

Digitale

Übertragungsstrecke

P. U. Jacobsp.13

Chair ofCommunication Systems

Page 14: Entwicklung einer digitalen bertragungsstrecke mit ...nts.uni-duisburg-essen.de/downloads/nt-prakt12/dokum/...Motivation ADC Gertboard DAC Raspberry Pi Signalgenerator Oszilloskop

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. Jacobsp.14

Chair ofCommunication Systems

Page 15: Entwicklung einer digitalen bertragungsstrecke mit ...nts.uni-duisburg-essen.de/downloads/nt-prakt12/dokum/...Motivation ADC Gertboard DAC Raspberry Pi Signalgenerator Oszilloskop

FazitAusblick

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. 50e, AD- und DA-Wandler ohne Gertboard insgesamt ca. 5e)

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. Jacobsp.15

Chair ofCommunication Systems

Page 16: Entwicklung einer digitalen bertragungsstrecke mit ...nts.uni-duisburg-essen.de/downloads/nt-prakt12/dokum/...Motivation ADC Gertboard DAC Raspberry Pi Signalgenerator Oszilloskop

Praktische Vorführung

Praktische Vorführung

Digitale

Übertragungsstrecke

P. U. Jacobsp.16

Chair ofCommunication Systems