Digitale Signalverarbeitung


zurück zu 16-Bit-PICs , PIC-Prozessoren , Elektronik , Homepage

Einleitung

zum ADC
zum FIR-Filter
zum IIR-Filter
zur FFT

zurück zu 16-Bit-PICs


Einleitung

Was ist eigentlich digitale Signalverarbeitung?
Fangen wir einfacher an: Was ist Signalverarbeitung?
Oder noch einfacher: Was ist ein Signal?

Signal
Ein Signal ist eine sich kontinuierlich ändernde Größe, die in der Regel eine variable Mischung von Sinusschwingungen ist, und eine Information enthält.

Wenn man beim Telefonieren spricht, dann gibt man dabei ein akustisches Signal ab. Wir nennen es Sprache, aber es ist nichts weiter als eine Folge von Luftschwingungen. Diese  wird dann im Mikrofon des Telefons in ein analoges elektrisches Signal gewandelt. Aus den Luftschwingungen wird dabei eine Spannungsänderung, die ein (möglichst) exaktes Abbild der Luftschwingungen ist.
Während die Luftschwingung ein akustisches Signal ist, haben wir nun ein elektrisches Signal vorliegen. Beide Signale sind analog. Das bedeutet, das z.B. die elektrische Spannung am Mikrofonausgang jeden beliebigen Wert zwischen Minimalspannung und Maximalspannung annehmen kann. Es gibt also keine festgelegten Spannungsstufen.

analoge Signalverarbeitung
Was passiert eigentlich mit diesem elektrischen Signal in einer herkömmlichen analogen Telefonzentrale?
Das Signal wird erst einmal verstärkt, und dann über ein großes Schaltfeld mit einer Fernleitung verbunden, über die es den Empfänger erreicht. Um Leitungen zu sparen, leitet man aber dutzende Telefonate über eine einzelne Leitung. Dafür wird das Signal zuerst mit einem Tiefpassfilter auf Frequenzen unterhalb von 3,5kHz beschnitten. Danach moduliert man das Signal auf einen feste Trägerfrequenz auf.
Mit vielen anderen Gesprächen passiert das gleiche, aber jedes Gespräch hat seine eigene Trägerwelle. Die Trägerwellen weichen um mindestens 4kHz voneinander ab.
Mit  einem Summenverstärker werden alle modulierten Trägerwellen dann zusammengefasst, und in das eine Kabel eingespeist. In diesem Kabel verhalten sie sich im Prinzip wie viele TV-Programme in einem Antennenkabel. Sie wandern gemeinsam durch das Kabel, ohne sich gegenseitig zu stören, da sie unterschiedliche Frequenzbereiche benutzen.
Am Ende des Kabels werden sie wieder getrennt,  heruntergemischt und mit einem Schaltfeld zum Endteilnehmer geschaltet.

All das ist Signalverarbeitung. Das ursprüngliche Signal wird dabei vielfach verändert. Aber alle Schritte in diesem Beispiel benutzen analoge Technik. Es ist also analoge Signalverarbeitung.
 

digitale Signalverarbeitung
Es lässt sich aber jeder der Verarbeitungsschritte auch mathematisch beschreiben. Die Verstärkung ist eine einfache Multiplikation mit einem festen Wert (dem Verstärkungsfaktor). Das Mischen ist die Multiplikation mit dem Sinus der Trägerwelle. Das Zusammenfassen der Signale mit dem Summenverstärker ist eine Addition der einzelnen Werte u.s.w.

Nun sind mathematische Berechnungen ja die Domäne von Computern. Vielleicht kann man ja auch die Signalbearbeitung an Computer delegieren? Früher gab es noch analoge Computer, heute sind sie aber digital, und so muss das analoge Signal zunächst in einen Strom von Zahlen gewandelt werden. Das erledigt ein ADC (analog-digital converter), der das analoge elektrische Signal in einem festen (und möglichst schnellen) Rythmus abtastet. Er wandelt also die momentane Spannung des Signals in eine ihr proportionale Zahl um. Das Ergebnis ist ein kontinuierlicher Zahlenstrom, der ein digitales Abbild des elektrischen Eingangssignals ist.

Diese analog-digital-Wandlung ist überaus kritisch. Hier kann ein Teil der Information des Signals verloren gehen. Die Verluste lassen sich begrenzen, wenn man einen schnellen ADC (viele Messungen pro Sekunde) mit einer hohen Auflösung (möglichst viele Bits im Ausgangswert) verwendet.

Um das digitale Signal nun zu verstärken, multipliziert man jede Zahl im Zahlenstrom mit dem selben Multiplikator. Eine Multiplikation mit 2 verdoppelt die "Lautstärke" des Signals.
Ein Tiefpassfilter lässt sich mit einem FIR-Filter (finite impulse response filter) realisieren - da das etwas komplizierter ist, behandle ich es an anderer Stelle.  Um das digitale Signal nun auf eine Trägerfrequenz zu modulieren, brauchen wir erst einmal ein digitales Trägersignal. Das ist ein Zahlenstrom, der das digitale Image einer Sinuswelle der richtigen Frequenz darstellt. Man kann es Zahl für Zahl mit der Sinusfunktion errechnen, oder (zeitsparender) einen vorberechneten Sinus aus einer Zahlentabelle im Speicher auslesen. Die eigentliche Modulation ist eine Multiplikation, bei der jeweils eine Zahl des Signals mit einer Zahl des Sinus zu einer Ergebniszahl multipliziert werden. Der Ergebniszahlenstrom ist die modulierte Trägerwelle.
Um die mit anderen modulierten Trägerwellen zusammenzufassen, addieren wir einfach die Zahlen aus den unterschiedlichen Zahlenströmen (den anderen Telefongesprächen) miteinander zu einem Summensignal ...
 

Jede analoge Signalverarbeitung hat ihre Entsprechung in der digitalen Welt. Aus dem Reich der Mathematik werden dabei benötigt

Mit nur diesen drei Grundfunktionen lassen sich alle Arten von Signalmanipulationen durchführen.
 

DSP
Als verarbeitendes Element braucht man allerdings einen "Numbercruncher", einen Prozessor, der in der Lage ist kontinuierlich Ströme von Zahlen immer wieder auf die gleiche Art und weise zu verrechnen. So ein Prozessor ist ein Digitaler Signal Prozessor  (DSP).

Das Programm einer herkömmlichen CPU enthält viele Verzweigungen und bedingte Sprünge, die in Abhängigkeit von Rechenergebnissen gegangen werden oder auch nicht.
Das Programm eines DSP dagegen ist recht starr. Es wird der selbe Algorythmus unerbitterlich auf alle Zahlen aus einem langen Zahlenstrom angewandt. Das Ergebnis der Berechnungen ist ein Ergebniszahlenstrom, aber er wirkt sich nicht auf die Programmabarbeitung (in Form bedinger Sprünge) aus. Eine DSP-Recheneinheit ist deshalb so konstruiert, das sie einen möglichst hohen Zahlendurchsatz schafft.
Außerdem muss sie die zwei nötigen Grundrechenarten (Addition, Multiplikation) extrem schnell (also in Hardware) ausführen können.   

nach oben

Zusammenfassung

Bevor man ein Signal digital verarbeiten kann, muss man es erst einmal digitalisieren. Das ist die Arbeit des

Typische Baugruppen (egal ob in Hardware oder Software realisiert) der digitalen Signalverarbeitung sind z.B.
nach oben

zurück zu 16-Bit-PICs , PIC-Prozessoren , Elektronik , Homepage

Autor: sprut
erstellt am: 08.02.2006
letzte Änderung: 15.03.2006