# Digitale Signalverarbeitung

Die digitale Signalverarbeitung ist ein Teilgebiet der Nachrichtentechnik und beschäftigt sich mit der Erzeugung und Verarbeitung digitaler Signale mit Hilfe digitaler Systeme. Im engeren Sinn liegt ihr Schwerpunkt in der Speicherung, Übermittlung und Transformation von Information im Sinne der Informationstheorie in Form von digitalen, zeitdiskreten Signalen. Sie hat vielfältige und weitreichende Anwendungen in der heutigen Welt und einen starken Einfluss auf fast alle Lebensbereiche, da sie eine der technischen Grundlagen der Digitalisierung der gesamten modernen Kommunikationstechnik und Unterhaltungselektronik ist. Dies wird auch als Digitale Revolution bezeichnet.
In der praktischen Anwendung beruhen heutzutage fast sämtliche Übertragungs-, Aufzeichnungs- und Speicherungsverfahren für Bild und Film (Foto, Fernsehen, Video) und Ton (Musik, Telefonie etc.) auf digitaler Verarbeitung der entsprechenden Signale. Die digitale Signalverarbeitung ermöglicht eine Vielzahl von Umwandlungs- und Bearbeitungsarten für digitale Daten, z. B. die Kompression von Audio- und Videodaten, nicht-linearen Videoschnitt oder die Bildbearbeitung bei Fotos. Darüber hinaus wird digitale Signalverarbeitung auch – neben vielen anderen industriellen Anwendungsgebieten – in der Mess-, Steuerungs- und Regelungstechnik und in der Medizintechnik eingesetzt, etwa bei der Kernspintomographie. Diese Entwicklungen sind eine Folge des rasanten Fortschritts der Digital- und Computertechnologie (Informationstechnik) in den letzten Jahrzehnten. Etwa mit Einführung der Musik-CD Anfang der 1980er Jahre begann damit die oben genannte „Digitalisierung“ den Alltag von Menschen zu beeinflussen, was sich heute am deutlichsten in der universellen Verbreitung der vielseitig einsetzbaren, multimedia-fähigen Smartphones zeigt.
Die digitale Signalverarbeitung beruht auf elektronischen Bauelementen, wie beispielsweise digitalen Signalprozessoren (DSP) oder leistungsfähigen Mikroprozessoren, entsprechenden Speicherelementen und Schnittstellen zur Signaleingabe und -ausgabe. Die Algorithmen zur Signalverarbeitung können bei einer programmierbaren Hardware durch zusätzliche Software ergänzt werden, welche den Signalfluss steuert. Die digitale Signalverarbeitung bietet Möglichkeiten und Verarbeitungsmöglichkeiten, welche in der früher üblichen analogen Schaltungstechnik gar nicht oder nur mit hohem Aufwand realisierbar sind.
Die Methoden der digitalen Signalverarbeitung stehen der Mathematik, wie beispielsweise den Teilgebieten der Zahlentheorie oder der Codierungstheorie, viel näher als der klassischen Elektrotechnik. Ausgangspunkt war die allgemeine Bekanntheit der schnellen Fourier-Transformation (FFT) ab dem Jahr 1965 durch eine Veröffentlichung von J. W. Cooley und John Tukey. Zusätzlich verbesserten sich in demselben Zeitraum die praktischen Möglichkeiten der digitalen Schaltungstechnik, so dass die neuentwickelten Verfahren Anwendung finden konnten.

## Technisches Grundprinzip

Die digitale Verarbeitung eines Signals folgt immer dem Schema Analog → Digital → Verarbeitung → Analog. Die Veränderungen am Signal werden ausschließlich im digitalen Bereich vorgenommen. Am Beispiel einer Audio-CD soll die Vorgehensweise erklärt werden:
* Bei einer Tonaufnahme wird über ein Mikrofon der Schalldruck in eine analoge Wechselspannung umgewandelt. Diese Wechselspannung wird mithilfe eines Analog-Digital-Umsetzers in eine Folge digitaler Werte umgesetzt.
    Bei Audio-CDs verwendet man dafür folgende Werte:
*   * eine Abtastrate von 44,1 kHz, d. h. das Signal wird 44.100-mal pro Sekunde abgetastet
*   * eine Wortbreite von 16 Bit, d. h. der abgetastete, kontinuierliche Wert wird auf einen von 65.536 diskreten Werten abgebildet
* In einem Zwischenschritt kann das digitale Tonsignal nun verarbeitet, z. B. gefiltert oder mit Effekten versehen werden, bevor es gespeichert wird.
* Zur Speicherung des Tonsignals werden die einzelnen Werte der Reihe nach auf die Audio-CD geschrieben.
* Um die Tonaufnahme später wiederzugeben, werden die Daten von der CD gelesen und durch einen Digital-Analog-Umsetzer wieder in eine kontinuierliche Wechselspannung umgewandelt. Diese wird dann anschließend an die Lautsprecher oder einen Verstärker übertragen.

## Aufbau eines digitalen Signalverarbeitungs-Systems

Das Schaubild zeigt den typischen Aufbau eines Signalverarbeitungs-Systems, das immer auch analoge Komponenten an der Schnittstelle zur „Außenwelt“ besitzt. Zum digitalen Signalverarbeitungs-System im engeren Sinne gehören nur die rot gefärbten Komponenten im unteren Bildteil.
Verfolgen wir den Weg der Signale in der Grafik: Mittels eines Sensors werden physikalische Größen in ein, häufig schwaches, elektrisches Signal konvertiert. Dieses Signal wird für die weitere Verarbeitung z. B. mit Hilfe eines Operationsverstärkers auf den für die nachfolgenden Schritte nötigen Pegel angehoben. Aus dem verstärkten Analogsignal tastet die Sample-and-Hold-Stufe in bestimmten Zeitintervallen Werte ab und hält sie während eines Intervalls konstant. Aus einer analogen zeitkontinuierlichen Kurve wird so ein zeitdiskretes analoges Signal. Ein für eine gewisse Zeit konstantes Signal wird vom Analog-Digital-Wandler benötigt, um die diskreten digitalen Werte zu ermitteln. Diese können dann vom digitalen Signalprozessor verarbeitet werden. Das Signal nimmt dann den umgekehrten Weg und kann über einen Aktor gegebenenfalls wieder in den technischen Prozess einfließen.

## Objekt: Was ist ein Signal?

Ein digitales Signal ist, im Gegensatz zu den kontinuierlichen Funktionen der analogen Signalverarbeitung, diskret in Zeit- und Wertebereich, also eine Folge von Elementarsignalen (z. B. Rechteckimpulsen). Diese Folge entsteht meist in einem zeit- oder ortsperiodischen Messprozess. So wird zum Beispiel Schall über die Auslenkung einer Membran oder Verbiegung eines Piezokristalls in eine elektrische Spannung umgewandelt und diese Spannung mittels eines AD-Wandlers zeitperiodisch wiederholt in digitale Daten konvertiert. Solch ein realistischer Messprozess ist endlich, die entstehende Folge besitzt einen Anfangsindex $\alpha$ und einen Endindex $\omega$.
Wir können das Signal also als Datenstruktur $(\delta ,\alpha ,\omega ,s)$ definieren, mit dem Abstand $\delta$ zwischen zwei Datenpunkten, den Indizes $\alpha <\omega$ und der endlichen Folge (Array) $s=(s_{\alpha },\dots ,s_{\omega })$ der Daten.
Die Daten sind Instanzen einer Datenstruktur. Die einfachste Datenstruktur ist das Bit, am gebräuchlichsten sind (1, 2, 4 Byte-)Integer- und Gleitkommazahl-Daten. Es ist aber auch möglich, dass das einzelne Datum selbst ein Vektor oder eine Folge ist, wie zum Beispiel bei der Kodierung von Farbinformation als RGB-Tripel oder RGBA-Quadrupel, oder dass das Signal $s$ die Spalten $s_{k}$ eines Rasterbildes enthält. Dabei ist die einzelne Spalte wieder ein Signal, das zum Beispiel Grau- oder Farbwerte als Daten enthält.

## Abstraktion eines Signals

Um in der Theorie Signale nicht nach Anfang und Ende gesondert betrachten zu müssen, werden die endlichen Folgen in den abstrakten Signalraum $\ell _{2}(V)$, einen Hilbertraum, eingebettet. Bedingung: Die Basisfunktionen sind orthogonal zueinander, ihre Kreuzkorrelation ergibt demzufolge Null. Ein abstraktes Signal ist also durch ein Paar $(\delta ,s),\ \delta >0,\ s\in \ell _{2}(V)$, gegeben.
Dabei modelliert der euklidische Vektorraum $V$ den Datentyp des Signals, zum Beispiel $V=\mathbb {R}$ für einfache Daten, $V=\mathbb {R} ^{3}$ für RGB-Farbtripel. Ein Element in $\ell _{2}(V)$ ist eine doppelt unendliche Folge $s\colon \mathbb {Z} \to V,k\mapsto s_{k}$. Die definierende Eigenschaft für den Folgenraum ist, dass die sogenannte Energie des Signals endlich ist (siehe auch Energiesignal), das heißt
    $E:=\|s\|^{2}:=\sum _{n=-\infty }^{\infty }\|s_{n}\|^{2}<\infty$

## Methoden: Transformation von Signalen

Die Bearbeitung digitaler Signale erfolgt durch Signalprozessoren.
Das theoretische Modell der elektronischen Schaltung ist der Algorithmus. In der digitalen Signalverarbeitung werden Algorithmen wie Mischer, Filter, Diskrete Fourier-Transformation, Diskrete Wavelet-Transformation, PID-Regelung eingesetzt. Der Algorithmus ist aus elementaren Operationen zusammengesetzt; solche sind zum Beispiel die gliedweise Addition von Signalwerten, die gliedweise Multiplikation von Signalwerten mit einer Konstanten, die Verzögerung, das heißt Zeitverschiebung, eines Signals, sowie weitere mathematische Operationen, die periodisch aus einem Ausschnitt eines Signals (oder mehrerer Signale) einen neuen Wert generieren und aus diesen Werten ein neues Signal.

## Abstrakte Transformationen: Filter

Eine Abbildung $F$ zwischen zwei Signalräumen wird allgemein System genannt. Eine erste Einschränkung ist die Forderung der Zeitinvarianz (TI für engl. time invariance) der Abbildung $F$. Diese entsteht grob betrachtet dadurch, dass ein zeitdiskretes signalverarbeitendes System aus einem Schieberegister, das eine beschränkte Vergangenheit speichert, und einer Funktion $f$, die aus den gespeicherten Werten einen neuen erzeugt, besteht. Betrachtet man auch ortsabhängige Signale, wie z. B. in der Bildverarbeitung, so stehen neben den vorhergehenden Werten auch nachfolgende zur Verfügung. Um die Allgemeinheit zu wahren, ist also eine zweiseitige Umgebung des jeweils aktuellen Datenpunktes zu betrachten.
Die Umgebung habe einen Radius $d$, zum Zeitpunkt $\delta n$ befinden sich die Werte $(a_{n-d},\dots ,a_{n},\dots ,a_{n+d})$ eines zeitdiskreten Eingangssignals $(\delta ,a)$ im Umgebungsspeicher. Aus diesen wird mittels der die Schaltung verkörpernden Funktion $f$ der Wert $b_{n}$ zum Zeitpunkt $n\delta$ des Ausgangssignals $(\delta ,b)=F(\delta ,a)$ bestimmt,
$b_{n}=f(a_{n-d},\dots ,a_{n},\dots ,a_{n+d})$.
Die Funktion $f$ kann auch von einigen der Argumente unabhängig sein. Bei zeitabhängigen Signalen wäre es wenig sinnvoll, wenn $f$ von Werten des Signals zu Zeitpunkten $(n+1)\delta ,\dots ,(n+d)\delta$ in der Zukunft abhinge. Beispiele für solche Funktionen sind
* $f(a_{k-d},\dots ,a_{k},\dots ,a_{k+d})=\max\{a_{k-d},\dots ,a_{k}\}$ erzeugt ein System, das das Signal glättet,
* $f(a_{k-1},a_{k},a_{k+1})=a_{k-1}$ erzeugt eine Verschiebung des Signals in Richtung wachsender Indizes, d. h. eine Verzögerung.
Man kann zeitinvariante Systeme beliebig kombinieren und hintereinanderschalten und erhält wieder zeitinvariante Systeme.
TI-Systeme $F$, die von einer linearen Abbildung $f$ erzeugt werden, etwa
    $f(a_{n-d},\dots ,a_{n},\dots ,a_{n+d})=f_{d}(a_{n-d})+\dots +f_{0}(a_{n})+\dots +f_{-d}(a_{n+d})=\sum _{k=-d}^{d}f_{k}(a_{n-k})\,$
nennt man Faltungsfilter. Sie sind ein Spezialfall der linearen zeitinvarianten Filter (LTI) und können auch als $F(a)=f*a$ geschrieben werden. Dabei bezeichnet $*$ den Faltungsoperator.
LTI-Systeme können im Orts- bzw. Zeitbereich oder im Frequenzbereich definiert und analysiert werden. Nichtlineare oder gar nicht zeitinvariante Filter wie Regelungen können als Echtzeitsysteme nur im Zeitbereich betrachtet werden.
Ein LTI-System $F$ kann im Zeitbereich mittels seiner Impulsantwortfunktion $f=\{f_{k}\}:=F(\delta ^{0})$ oder im Frequenzbereich mittels seiner Übertragungsfunktion (engl. Response Amplitude Operator, RAO)
    ${\hat {f}}(\omega ):=\sum _{k\in \mathbb {Z} }f_{k}e^{-i\omega k}$,
analysiert und realisiert werden. Die Impulsantwort eines Faltungsfilters $F(a)=f*a$ ist gerade $F(\delta ^{0})=f$. Man kann LTI-Systeme konstruieren, die bestimmte Frequenzbereiche unterdrücken und andere invariant lassen. Möchte man die frequenzselektive Wirkung eines solchen Systems hervorheben, so nennt man es Filter.
Eine zentrale Rolle in der praktischen Implementierung von LTI-Systemen spielt der FFT-Algorithmus, der zwischen der Darstellung eines Signals im Zeitbereich und im Frequenzbereich vermittelt. Insbesondere kann eine Faltung im Zeitbereich durch eine Multiplikation im Frequenzbereich realisiert werden.
Filter allgemein:
* Bandpass
* Hochpass
* Tiefpass
spezielle Filter:
* Boxcarfilter
    Jeder Koeffizient des FIR-Filters ist eins. Dadurch wird der Ausgang zur Summe aller N Eingangssamples. Dieses Filter ist sehr leicht zu realisieren, man benötigt nur Addierer
* CIC (Cascaded Integrated Comb) Filter
* Goertzelfilter
    dezimierendes Bandpassfilter
* Hilbertfilter
    linearer Amplitudengang
    Signalphase kann geändert werden, Phasendrehung des Signals um 90°.
Zur Realisierung der Filterarten gibt es mehrere Möglichkeiten.
* FIR-Filter (Finite Impuls Response)
    Das entspricht einer Faltung im Zeitbereich mit Impulsantwort
    Die Impulsantwort spiegelt die Koeffizienten des Filters wider
    Es besitzt bei symmetrischer Impulsantwort eine lineare Phase
    Immer stabil
* IIR-Filter (Infinite Impulse Response)
    Rückgekoppeltes FIR-Filter (Feedback)
* Schnelle Faltung
    Blockweise Verarbeitung mittels Overlap Add / Overlap Save Methode
    Fouriertransformation des Signals mit anschließender Multiplikation der Übertragungsfunktion im Frequenzbereich.
* QMF (Quadrature Mirror Filter)

## Anwendungen

Beispielhafte Anwendungsbereiche der digitalen Signalverarbeitung sind:
* Automobilbereich: ABS, EPS, Fahrerassistenzsystem, Aktive Geräuschreduzierung, Motorlaufkontrolle, Parkhilfe, Navigationshilfe, Sprachsteuerung, Airbag, GPS
* Industrie: Motorkontrolle, Robotik, Computersehen, Servokontrollsysteme, Barcode-Lesegerät, Messtechnik
* Medizintechnik: Magnetresonanztomographie, Positronen-Emissions-Tomographie, Computertomographie, Optische Kohärenztomografie, Sonografie
* Militär und Forschung: Sonar- und Radarsysteme, Seismische Analyse, Raketen Leitsysteme, Flugzeug Steuer- und Kontrollsystem, Kernspinresonanzspektroskopie
* Telekommunikation: Mobiltelefon, DSL, ISDN, Voice over IP, Modem, Wireless LAN, Bluetooth, Satellitenkommunikation,
* Unterhaltungselektronik: DVD-Player, MP3-Player, Digitales Fernsehen, Digitales Radio, Videotechnik, Tontechnik

## Vorteile der digitalen Signalverarbeitung gegenüber konventionellen Techniken

Im Gegensatz zu konventionellen Filtersystemen in der Nachrichtentechnik, die einzeln in Hardware realisiert werden müssen, können mit der digitalen Signalverarbeitung beliebige Filter einfach bei Bedarf in „Echtzeit“ (z. B. zur Decodierung) mit Hilfe von Software ein- oder ausgeschaltet werden.
Dabei können je nach Leistungsfähigkeit des Systems beliebig viele Filter und aufwendige Filterkurven und sogar Phasenverschiebungen in Abhängigkeit von weiteren Parametern in „Echtzeit“ erzeugt und so das Ursprungsignal bearbeitet werden.
Deshalb ist mit der digitalen Signalverarbeitung durch DSPs eine wesentlich wirkungsvollere Signalbearbeitung als mit konventionellen Filtersystemen (z. B. bei der Rauschunterdrückung analoger Signale) möglich, siehe Rauschfilter.

### Vorteile am Beispiel einer Audio-CD

Am Beispiel der CD lassen sich einige Vorteile der digitalen gegenüber der analogen Signalverarbeitung erkennen: Die auf einer CD digital gespeicherten Informationen ändern sich auch nach Jahren nicht, sofern sie richtig wiedergewonnen werden können und es keine altersbedingten Defekte gibt. Es gibt kein „Übersprechen“ von einer Spur zur anderen, es gehen keine hohen Frequenzen verloren. Auch bei beliebig häufigem Abspielen der CD werden die Daten nicht verändert, wie bei einer Schallplatte: Dort „schleift“ die Nadel des Tonabnehmers bei jeder Wiedergabe ein wenig Material weg und glättet die Kanten – mit der Folge, dass vor allem hohe Frequenzanteile abgeschwächt werden.