Beruflich Dokumente
Kultur Dokumente
INHALT
Version Control:
1.0 31. Januar 2019 Erste vollständige Version mit Simulink Design Flow
1.1 08. Februar 2019 z2 statt z auf Seite 104
1.2 31. Oktober 2019 kleinere Rechtschreibekorrekturen
1.3 21. November 2019 Neue praktische Übung 10
1.4 03. November 2020 Kleinere Anpassungen
1.5 02. Dezember 2020 Durchnummerierung der Praktischen Übungen korrigiert
Seite 1
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
1. Motivation
2. Grundlagen
6. Die z-Transformation
Seite 2
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
• Toleranzschema
• Standardentwürfe im s-Bereich (kontinuierliches System)
• Entwurf eines rekursiven Filters unter Anwendung der bilinearen Transformation
• MATLAB Übung zum Entwurf rekursiver Filter
• Transversalfilter-Struktur
• Linearphasige FIR Filter
• Grundtypen reellwertiger, linearphasiger Filter
• Entwurf nicht-rekursiver Filter mittels Fensterbewertung der idealen Impulsantwort
• Entwurf nicht-rekursiver Filter mittels Remez Exchange Algorithmus
• Kritischer Pfad
• MATLAB Übung zum Entwurf nicht-rekursiver Filter
1
Teile von Kapitel 9 werden innerhalb der Vorlesung permanent parallel in den Kapiteln
vorher durchgeführt
Seite 3
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Recht herzlichen Dank an Dipl.-Ing. Joachim Hauck und M. Sc. Andreas Becker für die Mithilfe
bei den praktischen FPGA Versuchen.
Seite 4
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Kapitel 1: Motivation
Ziel der Vorlesung ist die Vermittlung der Grundlagen digitaler Signalverarbeitungssysteme, ihre
mathematische Beschreibung und die Topologien für Real-Time Systeme. Anhand ausgewählter
nachrichtentechnischer Problemstellungen (z.B. digitaler Filterentwurf) wird die Anwendung der
digitalen Signalverarbeitung erläutert.
Die digitale Signalverarbeitung (DSV), bzw. Digital Signal Processing (DSP), hat in den letzten
Jahren einen ungeheuren Aufschwung erlebt. Neben der Verarbeitung von Signalen mit digitalen
Rechnern spielt insbesondere auch die Realisierung von digitalen Algorithmen in digitalen
Signalprozessoren (DSP), programmierbarer Hardware wie Field Programmable Gate Array
(FPGA) oder auch anwendungsspezifischen integrierten Schaltkreisen (ASIC) eine
entscheidende Rolle bei der Entwicklung moderner digitaler Produkte, wie beispielhaft:
Die Signalverarbeitung digitaler Signale eignet sich für die Speicherung, Darstellung und
Weiterverarbeitung wesentlich besser als analoge Signale, ist reproduzierbar und ohne parasitäre
Einflüsse. Ohne digitale Signalverarbeitung wären Kompressionsalgorithmen, moderne digitale
Übertragungsverfahren, Spektralanalysen, Audiosignalverarbeitung, Fehlerkorrekturverfahren
kostengünstig und in Echtzeit nicht zu realisieren.
Seite 5
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Allerdings befinden wir uns in einer ‚analogen’ Welt, d.h. wir reden, hören und sehen ‚analog’.
Auch handelt es sich bei der Funkübertragung eines Signals immer um ein wert- und
zeitkontinuierliches, also um ein analoges Signal. Vor der digitalen Verarbeitung bedarf es
deshalb einer Analog-Digital-Wandlung und nach der digitalen Verarbeitung wiederum einer
Digital-Analog-Wandlung.
Der Einfluss einer AD- und DA-Wandlung auf ein analoges Signal und das dazugehörende
Abtast-Theorem wird in Kapitel 2 behandelt werden. Die Behandlung zeitdiskreter Systeme mit
Digitaler Fourier-Transformation und z-Transformation schließt sich in Kapitel 3 bis Kapitel 6 an.
Anschließend wird der Entwurf digitaler Filter (rekursiv und nicht-rekursiv) in Kapitel 7 und 8
behandelt.
Seite 6
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 7
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Ein zeitkontinuierliches Signal ist eine Funktion, die zu jedem Zeitpunkt der Zeitachse definiert
ist.
Beim zeitdiskreten Signal ist der Signalverlauf zwischen den Abtastwerten nicht definiert.
Zeitdiskrete Signale werden durch Folgen von aufeinanderfolgenden Werten beschrieben.
Der Wertebereich des Signals kann ebenfalls kontinuierlich oder diskret sein.
Seite 8
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Von praktische Bedeutung sind dabei insbesondere digitale Signale (wert- und zeitdiskret) und
analoge Signale (wert- und zeitkontinuierlich).
Den Übergang von einem wertkontinuierlichen Signal zu einem wertdiskreten Signal wird
Quantisierung genannt. Die Umwandlung eines zeitkontinuierlichen Wertes in einen
zeitdiskreten Wert nennt man Abtastung.
• Abtastung
• Quantisierung
• Codierung
Um den Einfluss einer idealen oder realen Abtastung auf das analoge Signal exakt beschreiben
zu können, bedarf es den folgenden mathematischen Grundlagen.
Beispiel in Vorlesung: Ein abgetastetes Sinus-Signal wird auf eine nicht-rekursive bzw. auf eine
rekursive digitale Struktur als Eingangssignal gegeben. Skizzieren Sie das Ausgangssignal.
2.2 -Distribution
Eine Rechteckfunktion rect(t/T0) hat die Höhe 1 und die Breite T0 und wird mathematisch durch
t 0; t T0 / 2
rect ( )=
T0 1; t T0 / 2
beschrieben.
rect(t/T0)
1
-T0/2 0 T0/2 t
Abb.: Rechteckfunktion
Seite 9
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Lässt man T0 gegen null streben, so entsteht daraus ein Rechteckimpuls (t), die sogenannte -
Distribution, Dirac-Impuls, Dirac Stoß oder Dirac-Funktion, die unendlich hoch und unendlich
dünn ist, aber eine endliche Fläche von 1 aufweist.
(t)
0 t
Abb.: Delta-Distribution
(t )dt = 1
−
(t-t0)
0 t0 t
(t − t 0 )dt = 1
−
Multipliziert man ein beliebiges Signal x(t) mit einem um t=t0 verschobenen Dirac-Impuls (t-t0)
und integriert anschließend dieses Produkt auf, dann erhält man das Signal der Funktion x(t) an
der Stelle t=t0. Diese Eigenschaft wird Siebeigenschaft bzw. Abtasteigenschaft des Dirac-
Impulses genannt.
x (t ) (t − t 0 ) = x (t 0 )
−
Seite 10
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Eine weitere wichtige Funktion, die zum Verstehen der Analog-Digital Wandlung benötigt wird,
lässt sich aus der Addition von jeweils um eine Zeitdauer T verzögerten Dirac-Impulsen herleiten,
der sogenannte Impulskamm:
T (t ) = (t − nT )
n = −
T(t)
Abb.: Impulskamm
2.3 Fourier-Transformation
Bisher haben wir die Signale jeweils im Zeitbereich betrachtet, also ihren zeitlichen Verlauf über
der Variablen t aufgetragen. Um die spektrale Zusammensetzung eines Signals, d.h. seine
frequenzmäßige Verteilung, zu betrachten, gibt es die Methode der Fourier-Reihe für periodische
Signale bzw. der Fourier-Transformation für aperiodische Signale. Während man sich jedes
periodische Signal zusammengesetzt aus der Grundfrequenz und ganzzahligen Vielfachen
dieser Grundfrequenz zusammengesetzt vorstellen kann (Linienspektrum), ergibt die Fourier-
Transformation aperiodischer Signale ein kontinuierliches Frequenzspektrum.
− j 2ft
X (f ) = x (t ) e dt
−
x(t) X(f)
Seite 11
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Mit Hilfe der Dirac-Distribution und der Fourier-Transformation lassen sich bereits die Spektren
von häufig in der Nachrichtentechnik verwendeten Signalen leicht angeben.
Als erstes interessiert uns das Spektrum (die spektrale Verteilung) eines Delta-Impulses. Die
Anwendung der Siebeigenschaft auf die Fourier-Transformation führt zu
− j 2ft
(t ) e dt = e − j 2f 0 = 1
−
(t)
X(f)
1
1
0 t
0 f
Diese Fourier-Korrespondenz kann wie folgt interpretiert werden: Das Spektrum des Dirac-Pulses
enthält alle Frequenzen mit gleicher konstanter Amplitude. Der Dirac-Impuls weißt somit ein
weißes Spektrum auf.
auf einen Impuls im Frequenzbereich (f) und somit auf das Transformationspaar,
x(t) (f)
1 1
0 t 0 f
Abb.: Korrespondenz eines DC-Signals
d.h. eine Funktion, deren Wert für alle Punkte auf der Zeitachse 1 konstant ist, eine sogenannte
DC-Funktion (Direct Current, Gleichstrom) mit nur einer Schwingung bei der Frequenz f = 0.
Seite 12
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
(f-f0)
0 f0 f
j 2f 0 t
j 2ft
x (t ) = ( f − f0 ) e df = e
−
exp(j2f0t) (f-f0)
Mit Hilfe dieses Transformationspaares können nun die Spektren von einfachen geometrischen
sin- und cos-Funktionen ohne langwierige Berechnung angegeben werden. Dazu ist nur die
Kenntnis erforderlich, wie die reell-wertigen trigonometrischen Funktionen sin(t) und cos(t)
durch komplex-wertige Exponentialfunktionen exp(jt) ausgedrückt werden können. Es gilt:
1 jt 1 − jt
cos(t ) = e + e
2 2
1 jt 1 − jt
sin(t ) = e − e
2j 2j
sowie
Diese Beziehung verdeutlicht, dass es sich bei der komplexen Exponentialfunktion um einen
komplexen Zeiger handelt, der mit der Frequenz = 2f dreht, und deren Projektion auf die reelle
und imaginäre die cos- und sin-Funktion ergibt.
Seite 13
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Im
sin(t)
t
1 Re
cos(t)
Mit der Fourier-Korrespondenz des Dirac-Impulses ergibt sich somit für die Spektren der
trigonometrischen Funktionen:
X(f)
0.5
-f0 0 f0 f
Abb.: Fourier-Korrespondenz der cos-Funktion
jX(f)
0.5
-f0 0 f0 f
- 0.5
Die reell-wertigen trigonometrischen Funktionen bestehen also jeweils aus zur Frequenz f = 0
symmetrischen Spektren (gerades bzw. achsensymmetrisches oder ungerades bzw.
punktsymmetrisches Spektrum), d.h. aus einem Signal mit positiver und einem Signal mit
Seite 14
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
negativer Frequenz. Die stimmt mit dem Fourier-Theorem überein, das besagt, dass ein
unsymmetrisches Spektrum immer ein komplexes Zeitsignal zur Folge hat.
Ohne Herleitung soll an dieser Stelle abschließend auch noch die Fourier-Korrespondenz eines
Impulskammes angegeben werden:
1 n
(t − nT )
T n = −
(f − )
T
n = −
T(t) X(f)
Die Faltung ist ein Verfahren, bei dem das Ausgangssignal y(t) eines LTI (linear time invariant,
lineares zeitinvariantes) System im Zeitbereich aus dem Eingangssignal x(t) und der
Impulsantwort h(t) berechnet wird.
Die Impulsantwort h(t) ist dabei die Antwort des Systems auf einen Dirac-Impuls (t).
Seite 15
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Abb.: Impulsantwort
Die Fourier-Transformierte der Impulsantwort h(t) stellt die (in der Regel komplexwertige)
Übertragungsfunktion bzw. den Frequenzgang des Systems H(f) dar.
h(t) H(f)
Im Folgenden wird der Einfachheit halber davon ausgegangen, dass es sich um reellwertige,
beliebige Zeitsignale und komplexwertige Frequenzsignale (Spektren, Übertragungsfunktion,
Frequenzgang) handelt, ohne dies durch „_“ extra zu kennzeichnen.
Liegt die Impulsantwort h(t) eines Systems vor, so kann für jedes beliebige Eingangssignal das
Ausgangssignal mit Hilfe der Faltungsoperation
y (t ) = x(t ) h(t ) = x( ) h(t − )d
−
berechnet werden.
Abb.: Faltung
Oftmals ist allerdings die Berechnung des Ausgangssignals im Frequenzbereich mit Hilfe des
Faltungssatzes einfacher als im Zeitbereich.
Seite 16
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
fa
Die idealisierte Abtastung eines analogen Signals im Zeitbereich xa(t) kann mathematisch durch
die Multiplikation des zeitkontinuierlichen Signals x(t) mit einem Impulskamm beschrieben
werden:
x(t) xa(t)
Seite 17
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
x a (t ) = x (t ) (t − nT )
n = −
1
fa =
T
Mit Hilfe des Faltungssatzes und der Fourier-Transformierten eines Impulskammes (siehe Kapitel
2.3) kann die Fourier-Transformierte des abgetasteten Signals Xa(f) als Faltung des
Eingangsspektrums des ursprünglichen Signals X(f) mit dem entsprechenden Impulskamm im
Frequenzbereich beschrieben werden.
1 n
X a ( f ) = X (f ) f −
T n = − T
1
= X (f ) ( f − n fa )
T n = −
Nun stellt sich die Frage, was die Faltung eines Signals, hier das Spektrum des Original-Signals
X(f), mit einem verschobenen Delta-Impuls (f-fa) darstellt. Mit der Definition der Faltung im
Frequenzbereich
X (f ) (f − fa ) = X ( ) (f − nfa − )d
−
X ( f ) ( f − fa ) = X ( f − f a )
d.h. die Faltung ergibt wiederum das Originalspektrum, allerdings um die Frequenz fa versetzt.
Folglich ergibt die Faltung des Originalspektrums mit einer äquidistanten Folge von Dirac-
Impulsen ein Spektrum, bei dem sich das Originalspektrum jeweils an den äquidistanten
Vielfachen der Abtastfrequenz nfa wiederholt.
1
X a (f ) = X (f − n fa )
T n = −
Eine ideale Abtastung im Zeitbereich stellt also eine Periodisierung des Originalspektrums
im Frequenzbereich bei den ganzzahligen Vielfachen der Abtastfrequenz dar.
Seite 18
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
X(f)
-fmax fmax f
Xa(f)
2.6 Abtast-Theorem
Eine ideale Abtastung eines analogen Signals im Zeitbereich (Zeit-Diskretisierung) kann durch
eine Multiplikation mit einem Impulskamm dargestellt werden.
Dies entspricht im Frequenzbereich einer Faltung mit einem Impulskamm, was einer
Periodisierung des Originalspektrums des analogen Signals gleichkommt.
Aus der vorhergehenden Abbildung ist deutlich, dass es zu Überlappungen der einzelnen
Wiederholspektren kommt, für den Fall, dass die Abtastrate fa kleiner als die Doppelte der
maximal im Signal vorkommenden Frequenz fmax ist. Eine fehlerfreie Rekonstruktion (Digital-
Analog-Wandlung) wäre dann nicht mehr möglich. Im Frequenzbereich stellt die Digital-Analog-
Wandlung eine Ausfilterung aller Wiederholspektren dar. Diese Überlappungen werden auch
Aliasing genannt.
fa 2fmax
erfüllt sein.
Seite 19
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Aus ihr folgt das Abtast-Theorem, ein zentrales Theorem der Signalverarbeitung:
Ein abgetastetes Signal ist eindeutig und fehlerfrei durch seine Abtastwerte an den Stellen
nT bestimmt, wenn die Abtastfrequenz fa größer ist als die Doppelte der Grenzfrequenz
fmax.
für fa 2fmax
für fa = 2fmax
Xa(f)
Xa(f)
Aliasingfehler sind Fehler, welche sich nicht korrigieren lassen. Signale müssen deshalb vor ihrer
Abtastung bandbegrenzt sein, wenn man Unterabtastfehler vermeiden will. Ist ein Signal nicht
genügend bandbeschränkt, muss es vor der Abtastung mit einem Anti-Aliasingfilter bandbegrenzt
werden.
Seite 20
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 21
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 22
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Aufgabenstellung
Gegeben sei eine Folge eines sinusförmigen diskreten Signals x[n], deren Abtast-Periode T =
1/10 der Periodendauer T1 des Sinussignals sei. Die Taktrate des Systems fa = 1/T soll dabei 1
MHz betragen.
a. Erzeugen Sie mittels Simulink das Eingangssignal x[n] für die folgende
nichtrekursive Struktur (D bedeutet dabei die Verzögerung um einen Abtasttakt).
x[n] y[n]
D D D D D +
1
b. Berechnen Sie das Ausgangssignal und stellen Sie es im Simulink auf einem
Oszilloskop dar (Zeitbereichsdarstellung)?
Seite 23
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Vorgehensweise:
Man kann die zur Verfügung stehenden Bibliotheken und deren Elemente sehen:
Seite 24
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 25
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Nach der Generierung des Systemdesigns, muss eine Simulation in Simulink durchgeführt
werden. Dafür muss man sich im Klaren sein, wie lange die Simulation laufen soll. Da in diesem
Beispiel die Simulation „sample based“ durchgeführt wird, und der Systemtakt 1 MHz (also eine
Abtastperiode von 1 s = 10-6 s) beträgt, und das Sinussignal mit 10 Abtastwerten erzeugt wird,
beträgt die Dauer einer Sinusperiode 10 s = 10-5 s. Die Frequenz des Sinussignals wäre somit
1/10 des Abtasttaktes, also 100 kHz.
Bei der gewählten Simulationsdauer von 10-4 s wird die Simulation somit 10 Perioden des
Sinussignals simulieren.
Seite 26
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Nach erfolgreicher Simulation können die Ergebnisse angeschaut werden. In diesem Beispiel
wurde das Ein- und Ausgangssignal des nicht-rekursiven Systems an ein Oszilloskop (scobe)
angeschlossen. Durch Doppelklick auf das Scobe, öffnet sich das Analyse. Die Darstellung
(Anzahl der Kanäle, Style, Anordnung der Kanäle, Farbdarstellung) kann beliebig angepasst
werden.
Für die angegebene Frequenz (1/10 der Taktfrequenz) löschen sich nach dem
Einschwingvorgang die Signale beider Pfade gerade aus; das Ausgangssignal ist 0.
Seite 27
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Für eine andere Frequenz (z.B. 1/20 der Taktfrequenz) wäre die Verschiebung des Signals durch
die Verzögerung um 5 Abtastwerte jedoch nicht 180°, sondern nur 90°, beide Teilsignale addieren
sich zu einem höheren Wert auf.
Man erkennt, dass diese einfache Struktur bereits ein frequenzselektives Verhalten
(Frequenzgang) hat; manche Frequenzen werden verstärkt, andere gedämpft oder gar
ausgelöscht.
Damit haben wir mit dieser einfachen Struktur ein erstes, digitales, nichtrekursives Filter realisiert.
Aufgabenstellung
Gegeben ist wiederum das sinusförmige diskrete Signals x[n] aus dem 1. Beispiel, dessen Abtast-
Periode T = 1/10 der Periodendauer T1 des Sinussignals sei. Die Taktrate des Systems fa = 1/T
soll dabei 1 MHz betragen.
a) Führen Sie nun die Simulation für das folgende rückgekoppelte System durch:
x[n] y[n]
+
z-10
0.5
Seite 28
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Für den Aufgabenteil a) sieht das simulierte Ein- und Ausgangssignal wie folgt aus:
Seite 29
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Das Ausgangssignal steigt bei diesem System (mit dem Koeffizienten 0.5 in der Rückkopplung)
für diese Frequenz auf einen Endwert von 2 an, d.h. der Frequenzgang weißt an dieser Stelle
eine Verstärkung um den Faktor 2 auf.
Seite 30
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Das Ausgangssignal im Aufgabenteil b (mit dem Koeffizienten 1.0 in der Rückkopplung) für diese
Frequenz stetig an. Würde man die Simulation länger laufen lassen, steigt der Wert über jede
Schranke an, das System ist somit instabil.
An diesem Beispiel erkennt man bereits, dass rekursive Systeme entweder stabil oder instabil
sein können.
Aufgabenstellung
Bauen Sie in Simulink einen Zähler auf, der bei jedem Takt um den Wert von 1 inkrementiert.
Beim Erreichen einer einstellbaren Schwelle setzen Sie den Zählerstand zurück auf den Wert 0.
Seite 31
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Auch hier handelt es sich um ein instabiles rekursives System. Der Zähler, auch Akkumulator
genannt, stellt im Prinzip die digitale Repräsentation einer Integration dar. Der Wert würde zwar
mit fortschreitender Simulationsdauer über alle Grenzen steigen, wird jedoch durch die zugefügte
Logik mit dem Vergleich des Akkumulatorwertes mit einem einstellbaren Endwert immer wieder
zurückgesetzt. Das System stellt somit die digitale Realisierung eines Sägezahngenerators dar.
Seite 32
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
In der Realität wird die Analog-Digital-Wandlung nicht mit einem infinitesimal schmalen Delta-
Impuls vorgenommen, sondern mit einem Abtast-Halteglied (engl. Sample&Hold) durchgeführt,
d.h. der abgetastete Wert wird eine endliche Zeit T gehalten. Mathematisch entspricht dies einer
Folge von um nT verschobenen Rechteckimpulsen rect(t/T), deren Amplitude jeweils mit dem
Abtastwert gewichtet werden.
x(t)
t
xa(t)
T t
xa (t)
© Buchholz
t − nT
x a ´(t ) = x(nT ) rect
T
n = −
Seite 33
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
t − nT − j 2ft
X a´ (f ) = x (nT ) rect
T e
dt
− n = −
nT +T / 2
− j 2ft
= x(nT ) e dt
n = − nT −T / 2
nT +T / 2
e − j 2ft
= x (nT )
n = −
− j 2f
nT −T / 2
e − j 2f ( nT +T / 2) − e − j 2f ( nT −T / 2)
= x(nT ) − j 2f
n = −
− j 2fT / 2 − e j 2fT / 2
− j 2fnT e
= x ( nT ) e
− j 2f
n = −
sin(fT ) T
= X a (f )
fT 2
T
= X a (f ) si (fT )
2
Die reale Abtastung mit Halteglied führt also zu einer Wichtung bzw. Verzerrung mit einer sin(x)/x-
Funktion, der sogenannten si-Funktion (siehe Anhang zu Kapitel 2). Diese hat ihre Nullstelle bei
der Frequenz f=fa=1/T.
Xa(f
)
si-Verzerrung
Halteglied
Ideal abgetastet
-fa fa f
Die Wiederholspektren werden durch die si-Funktion stark verzerrt. Allerdings erfährt auch das
Originalspektrum, das letztendlich auch wieder durch eine D/A Wandlung unverzerrt
wiedergewonnen werden soll, eine Verzerrung. Diese ist bei kritischer Abtastung am stärksten.
Seite 34
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Je größer die Abtastfrequenz fa in Relation zum Nutzspektrum, umso weniger wird sich die si-
Funktion bemerkbar machen.
In der nachfolgenden Abbildung ist die Wiedergewinnung des Originalspektrums durch eine
ideale Tiefpass-Funktion dargestellt.
Abb.: Rekonstruktion des kontinuierlichen Signals aus dem diskreten durch Filterung mit einem
idealen Tiefpass
Die Übertragungsfunktion des idealen Tiefpassfilters und die dazugehörige Impulsantwort lauten:
sin(2fg t )
hTP (t ) = 2 fg = 2fg si (2fg t )
2fg t
Man erhält im Zeitbereich die kontinuierliche Zeitfunktion y(t) durch die Faltung der Impulsantwort
mit der abgetasteten, diskreten Zeitfunktion:
Seite 35
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Y (f ) = X a (f ) HTP (f )
y (t ) = x a (t ) hTP (t )
sin( 2fg t )
=
t
x(nT ) (t − nT )
n = −
(
sin 2fg (t − nT ) )
= 2 fg x (nT )
2fg (t − nT )
n = −
= 2 fg x(nT ) si (2fg (t − nT ))
n = −
Die ideale Rekonstruktion (Interpolation) einer Folge digitaler Abtastwerte ergibt im Zeitbereich
eine Summe von jeweils T verschobenen und mit dem jeweiligen Abtastwert x(nT) gewichteten
si-Funktionen.
y(t)
Der ideale Tiefpass wäre allerdings nur mit unendlich großem Implementierungsaufwand
realisierbar. In der Praxis arbeitet man mit Filterstrukturen mit endlicher Flankensteilheit.
Seite 36
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
2.9 Signal-Quantisierungsabstand
Der Quantisierungsfehler beruht auf der Tatsache, dass das Signal mit einer endlichen Wortlänge
(z.B. 10 Bit) wertdiskretisiert wird. Die Differenz xe(t) zwischen dem quantisierten Wert xq(t) und
dem Originalwert xa(t) wird als Quantisierungsrauschen bezeichnet. Es handelt sich
näherungsweise um „weißes Rauschen“, d.h. es tritt im Frequenzband bis fa/2 bei jeder Frequenz
mit der gleichen Intensität auf.
Der resultierende Signal-Quantisierungsabstand kann näherungsweise wie folgt angegeben
werden:
2
S x q ,eff
=
Q x 2
e,eff
S S
= 10 log = 20 log(2)
Q dB Q
= 6.02
Seite 37
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Dies bedeutet, dass pro Bit Auflösung eine Störabstandsverbesserung um ca. 6 dB erreicht
werden kann.
Im Folgenden soll erläutert werden, dass eine weitere Störabstandsverbesserung durch eine
Überabtastung erfolgen kann:
Das Quantisierungsrauschen Q(f) ist auf die nach dem Abtast-Theorem begrenzte Bandbreite
fa/2 (Nyquistfrequenz) begrenzt. Wird überabgetastet und innerhalb der digitalen
Signalverarbeitung oder bei der DA-Wandlung das Signal auf die maximal im Nutzsignal
vorkommende Frequenz fg bandbegrenzt,
gefiltertes Rauschen
Xa(f)
Quantisierungsrauschen
-fa/2 -fg fg fa /2 f
© Buchholz
fa
= 6.02 + 10 log
S 2
Q dB fg
erhöht.
Beispiel: Eine vierfache Überabtastung fa/2 = 4 fg führt zu einer Verbesserung um 10 log(4), d.h.
um 6 dB. Dies entspräche einer Erhöhung der Wortbreite um 1 Bit. Es kann also durch eine
Überabtastung eine Wortlängenreduktion bei gleicher Qualität des digitalisierten Signals erreicht
werden.
Seite 38
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
2.10 Überabtastung
Grundsätzlich ist das Bestreben, die Analog-Digital Wandlung nur mit dem Mindest-Takt laut
Abtast-Theorem durchzuführen, um die Datenmenge nicht unnötig groß werden zu lassen und
auch die Anforderungen an die Prozessorgeschwindigkeit auf ein vernünftiges Maß zu
beschränken. Allerdings haben wir in den letzten Kapiteln gesehen, warum eine Überabtastung
sinnvoll sein kann:
2.11 Codierung
Most Significant
Bit
0 1 1 1 1 1 1 1 = 127
0 1 1 1 1 1 1 0 = 126
0 0 0 0 0 0 1 0 = 2
0 0 0 0 0 0 0 1 = 1
0 0 0 0 0 0 0 0 = 0
1 1 1 1 1 1 1 1 = −1
1 1 1 1 1 1 1 0 = −2
1 0 0 0 0 0 0 1 = −127
1 0 0 0 0 0 0 0 = −128
Seite 39
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Most Significant
Bit
1 1 1 1 1 1 1 1 = 255
1 1 1 1 1 1 1 0 = 254
1 0 0 0 0 0 1 0 = 130
1 0 0 0 0 0 0 1 = 129
1 0 0 0 0 0 0 0 = 128
0 1 1 1 1 1 1 1 = 127
0 1 1 1 1 1 1 0 = 128
0 0 0 0 0 0 0 1 = 1
0 0 0 0 0 0 0 0 = 0
0 1 1 0.75
0 1 0 0.5
0 0 1 0.25
0 0 0 0
1 1 1 -0.25
1 1 0 -0.5
1 0 1 -0.75
1 0 0 -1.0
1 1 1 0.875
1 1 0 0.75
1 0 1 0.625
1 0 0 0.5
0 1 1 0.375
0 1 0 0.25
0 0 1 0.125
0 0 0 0
Seite 40
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Bisher sind wir von einer linearen Quantisierungskennlinie ausgegangen, d.h.: gleichbreiten
Stufen über den gesamten Darstellungsbereich.
Eine nichtlineare Quantisierungskennlinie hat hingegen innerhalb ihres Wertebereiches bei
kleineren Signalen eine feinere Stufung. Solche Kennlinien werden bei Audio- und Videosignalen
verwendet, um diese zu komprimieren. Das menschliche Gehör nimmt dadurch die Stufung bei
leisen Signalen in geringerem Umfang wahr als bei linearer Kennlinie.
Die ITU Empfehlung G.711 beschreibt für die Sprachcodierung eine abschnittsweise lineare 13-
Segment-Kennlinie.
Die vorgesehene PCM-Kodierung mit 8-Bit-Worten würde bei Einsatz einer linearen Kennlinie zu
einer pegelunabhängigen Auflösung von einem 1/128 der Maximalamplitude führen. Gemäß 13-
Segment-Kennlinie werden kleine Signalpegel nun auf 1/2048 der Maximalamplitude genau
quantisiert, große Signalpegel dagegen nur mit einer Auflösung von 1/32. Die Signale werden
dazu zunächst mit 12-Bit Genauigkeit digitalisiert. Die Aufteilung in die Segmente erfolgte so,
dass sich Komprimierung und Expandierung sehr einfach durch eine 12-Bit nach 8-Bit-
Umrechnung bzw. eine 8-Bit nach 12-Bit-Umrechnung erledigen lassen.
Seite 41
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
G.711 standardisiert die PCM Codierung mit 8 Bit Auflösung und 8 kHz Abtastrate mit zwei
unterschiedlichen Quantisierungskennlinien: das A-law- und µ-law-Verfahren, die in der PCM-
Technik der digitalen Telefonnetze (ISDN) verwendet werden.
Das A-law-Verfahren ist ein primär in Europa verwendetes Digitalisierungsverfahren für analoge
Audiosignale im Telekommunikationsbereich, während in Nordamerika und Japan das ähnliche
µ-law-Verfahren eingesetzt wird, das dem A-law ähnelt, jedoch nicht kompatibel ist. Zur
Kommunikation, z. B. bei einem Telefongespräch zwischen Europa und USA, müssen die
digitalen Daten durch entsprechende Konverter umgesetzt werden.
• Wortbreite
• Max. Abtastrate
• Aussteuerbereich
• Dynamikbereich
• Codierung
• Kennlinie (linear, nichtlinear)
• Linearität
• Spannungsversorgung
• Stromverbrauch
• Kosten
• Digitale Schnittstelle (seriell, parallel)
• Analoge Schnittstelle (single-ended, differentiell, mit/ohne DC Offset)
• Technologie
• Package
Seite 42
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Aufgabenstellung:
In dieser Simulink Übung soll sich mit dem Gebrauch des Spektrumanalysators in Simulink
vertraut gemacht werden. Hierzu wird die in den beiden ersten Übungen benutzte diskrete
Sinusfolge auf einen Spektrumanalysator gegeben und die unterschiedlichen
Darstellungsmöglichkeiten (einseitiges oder zweiseitiges Spektrum, lineare oder logarithmische
Darstellung, etc.) betrachtet werden.
Seite 43
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 44
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Da die Sinusfolge mit einer Abtastrate von 1 MHz, was einer Abtastperiode (Sampling Time) von
1e-6 s = 1s entspricht, und mit 10 Abtastwerten pro Periode erzeugt wird, stimmt die Darstellung
einer monochromatischen Schwingung der Frequenz von 100 kHz im Frequenzbereich.
Außerdem ist darauf hinzuweisen, dass der maximal darstellbare Frequenzbereich gemäß
Seite 45
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Abtast-Theorem die Hälfte der Abtastrate und somit 500 kHz beträgt. Die Auflösung des
Spektrumanalysators (RBW = Resolution Bandwidth) hängt wiederum von der Simulationsdauer
ab. Deshalb ist bei der Benutzung des Spektrumanalysators auf eine genügende große Anzahl
von Abtastwerten (Simulationswerten) zu achten.
Aufgabenstellung:
Der in der 3. Übung aufgebaute Zähler mit Rücksetzen des Zählers (Sägezahngenerator) soll in
einer Festpunktdarstellung aufgebaut werden. Hier ist auf die richtige Wortbreite und den
richtigen Overflow Mode des Addierers zu achten, so dass dieser automatisch beim Erreichen
des max. Wertes ‚wrapped‘ und nicht ‚clipped‘.
Seite 46
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Der Zähler soll mit einem Inkrement von 1 von 0 bis 255 zählen. Daher reicht eine 8 Bit
Darstellung nur mit Integerzahlen, also das bei MATLAB sogenannte Format uint8 (unsigned
integer).
Wichtig für dieses Beispiel ist auch das Overflow Handling. Hier kann man durch das setzen
des Hakens bei Saturate on integer overflow zwischen dem Mode wrap und clip wählen.
Seite 47
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 48
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Aufgabenstellung:
Nutzen Sie das gleiche Design des Sägezahngenerators (Adressgenerator) aus dem letzten
Beispiel, um die Integration eines Eingangssignals, das einen Dynamikbereich von -1 bis 1
aufweist, durchzuführen. Die Integrationskonstante sollte 1/100 betragen. Wählen Sie die richtige
Festkomma Attribute der Signale aus.
Abb.: Integrator
Für den Integrator wird nun ein Festkomma Attribut von 16 Bit gewählt, wobei ein Bit davon das
Vorzeichenbit darstellt und 14 Bit Fractional Bits sind.
Seite 49
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Abb.: Simulationsergebnis
Aufgabenstellung:
Erzeugen Sie ein Sinussignal mit der Frequenz f = 1/100 der Abtastfrequenz. Quantisieren Sie
das Sinussignal einmal mit 8 Bit und einmal mit 4 Bit. Betrachten Sie die quantisierten Signale im
Zeit- und Frequenzbereich und vergleichen Sie es mit dem nicht quantisierten Signal.
Seite 50
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 51
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Während eine quantitative Aussage über den Einfluss der Wortlänge bei der Quantisierung im
Zeitbereich schwierig ist, wird der erzielbare Signal-Quantisierungsabstand im Frequenzbereich
deutlich sichtbar und messbar.
Seite 52
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 53
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 54
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
• Spaltfunktion
Der Sinus cardinalis, auch sinc-Funktion, Kardinalsinus oder Spaltfunktion ist eine
mathematische Funktion, welche nicht normiert als
sin( x)
sin c(c) = si ( x) =
x
definiert wird.
Seite 55
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Unter einem diskreten oder zeitdiskreten Signal versteht man eine Folge oder eine Sequenz von
reellen oder komplexwertigen Zahlen.
Solch eine Sequenz entsteht zum Beispiel bei der Abtastung eines zeitkontinuierlichen Signals
x(t) an der Stelle t = nT, wie in Kapitel 2 besprochen:
𝑥[𝑛𝑇] = 𝑥(𝑡)|𝑡=𝑛𝑇
T wird als Abtastperiode bezeichnet und ihr Kehrwert 1/T als Abtastfrequenz. Der Abtastwert
x[nT] wird im Allgemeinen kürzer mit x[n] bezeichnet. Im Gegensatz zu kontinuierlichen Signalen
benutzt man zur Verdeutlichung bei einer diskreten Zahlenfolge die eckige Klammer
[ ]. Mit x[n] wird nicht nur der n-te Abtastwert bezeichnet, sondern auch die gesamte abgetastete
Sequenz.
Bei der Analyse zeitdiskreter Signalverarbeitungssysteme gelten für den Umgang mit Folgen
einige grundlegende Regeln:
• Das Produkt und die Summe zweier Folgen x[n] und y[n] sind als Produkt bzw. die Summe
der beiden korrespondierenden Abtastwerte definiert.
• Die Multiplikation einer Folge x[n] mit einer konstanten Zahl c ist als Multiplikation jedes
Abtastwertes mit c definiert.
• Eine Folge wird als verzögerte oder verschobene Version einer Folge x[n] bezeichnet,
wenn gilt
𝑦[𝑛] = 𝑥[𝑛 − 𝑛0 ]
wobei n0 ganzzahlig ist.
Die wichtigsten elementaren diskrete Signale, die zum Testen von diskreten Systemen geeignet
sind, sind die Sprungfolge u[n], die Impulsfolge [n] und die Exponentialfunktion.
• Impulsfunktion [n]
1 𝑓ü𝑟 𝑛 = 0
𝛿[𝑛] = {
0 𝑓ü𝑟 𝑛 ≠ 0
Seite 56
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Im Gegensatz zum zeitkontinuierlichen Delta-Impuls (t), wird der diskrete Impuls nicht über die
Fläche definiert, sondern sein Abtastwert [0] beträgt den Wert 1.
1 𝑓ü𝑟 𝑛 ≥ 0
𝑢[𝑛] = {
0 𝑓ü𝑟 𝑛 < 0
Der Einheitssprung u[n] ist mit dem Impuls [n] durch die Beziehung
𝑢[𝑛] = ∑ 𝛿[𝑛 − 𝑘]
𝑘=0
verknüpft, d.h. die diskrete Sprungfunktion ist die Aufakkumulation der verschobenen
Einheitsimpulse. Zum Vergleich: die kontinuierliche Sprungfunktion ist die Integration der Dirac-
Funktion. Umgekehrt ist die Dirac-Funktion die Differentiation der Sprungfunktion. Für die
zeitdiskrete Impulsfolge gilt deshalb, dass sie als Rückwärts-Differenz der Einheitssprungfolge
ausgedrückt werden kann:
Seite 57
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Exponentialfolgen sind wichtig zur Analyse von linearen, zeitinvarianten (LTI) Systemen und
werden als Eigenfunktion bezeichnet. Sie werden bei der Herleitung der zeitdiskreten Fourier-
Transformation eine wichtige Rolle spielen.
𝑥[𝑛] = 𝐴 ∙ 𝛼 𝑛
Wenn A und reelle Zahlen sind, ist auch die Folge reell. Die folgende Abbildung zeigt eine reelle
Exponentialfolge für 0 < < 1 und A > 0.
Bezieht man die Frequenz der Sinusschwingung f0 auf die Abtastrate fa = 1/T, folgt für die
Sequenz einer diskreten Sinusfunktion
𝑓0
𝑥[𝑛] = sin (2𝜋𝑛 )
𝑓𝑎
Zukünftig werden wir mit der normierten Frequenz f0/fa bzw. mit der normierten Kreisfrequenz
arbeiten.
Seite 58
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
0 fa/4 fa/2 fa f
0 /2 2
© Buchholz
Mit
𝑓
Ω = 2𝜋
𝑓𝑎
folgt
𝑥[𝑛] = sin (𝑛Ω0 )
Für eine Periodendauer von 10 Abtastwerten, d.h. eine Sinusperiode wird mit 10 Werten
abgetastet (fünffache Überabtastung gegenüber der Nyquist-Bedingung), folgt für die diskrete
Folge:
𝑛
𝑥[𝑛] = sin (2𝜋 )
10
• Komplexe Exponentialfunktion
Die Exponentialfunktion
𝑥[𝑛] = 𝐴 ∙ 𝛼 𝑛
Seite 59
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
𝑛
𝑥[𝑛] = 𝐴 ∙ |𝛼| ∙ 𝑒𝑗𝑛Ω0
für = 1.
Beliebige Folgen können durch eine Summe von skalierten, verzögerten Impulsen dargestellt
werden.
∞
Beispiel:
𝑥[𝑛] = 𝑥[𝑛 + 𝑁]
Seite 60
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
wobei N die Periodendauer in Abtastwerten darstellt. Als Beispiel sei hier die schon benutzte
diskrete Sinusschwingung erwähnt. Gilt diese Beziehung nicht, spricht man von einer a-
periodischen Signalfolge.
Ein zeitdiskretes System ist eine Transformation (Operation), die eine Einheitsfolge mit den
Werten x[n] in eine Ausgangsfolge y[n] abbildet.
𝑦[𝑛] = 𝑇{𝑥[𝑛]}
x[n] y[n]
T{ }
• Gleitender Mittelwert
𝑀2
1
𝑦[𝑛] = ∑ 𝑥[𝑛 − 𝑘]
𝑀1 + 𝑀2 + 1
𝑘=−𝑀1
Dieses System berechnet den Kurzzeitmittelwert von M1+M2+1 Abtastwerten der Eingangsfolge
in der Umgebung des n-ten Abtastwerts.
• Summierer
𝑦[𝑛] = 𝑥[𝑛] + 𝑦[𝑛 − 1]
x[n] y[n]
+
D
© Buchholz
Seite 61
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Die Ausgangsfolge y[n] eines Systems ohne Speicher hängt bei jedem Wert n nur vom
Eingangssignal x[n] bei gleichem n ab.
Beispiel: y[n] = x[n]2
Das Verzögerungsglied y[n] = x[n-n0] ist ein Beispiel für ein System mit Speicher.
• Kausalität
Ein System ist dann kausal, wenn der Wert der Ausgangsfolge für den beliebigen Zeitpunkt n0
nur von Werten der Eingangsfolge im Bereich n <= n0 abhängt. Das heißt, das System ist nicht
vorhersagend. Die Wirkung des Systems erfolgt nach der Ursache.
Bei der Behandlung von diskreten Impulsantworten werden wir sehen, dass es durchaus sinnvoll
sein kann aus einer kausalen Impulsantwort (Ursache erfolgt vor der Wirkung) eine nicht-kausale
Impulsantwort zu generieren, um mathematisch einfacher die Fourier-Transformation bzw. das
Spektrum des Systems berechnen zu können.
Hier hängt der aktuelle Wert der Ausgangsfolge von einem zukünftigen Wert der Eingangsfolge
ab.
• Linearität
Ein System ist linear, falls das Superpositionsprinzip gilt, d.h. hat die Eingangsfolge x1[n] die
Ausgangsfolge y1[n] und die Eingangsfolge x2[n] die Ausgangsfolge y2[n] zur Folge,
Seite 62
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
so hat jede Linearkombination der beiden Eingangsfolgen am Eingang des linearen Systems die
entsprechende Linearkombination der beiden Ausgangsfolgen zur Folge.
• Zeitinvarianz
Ein zeitvariantes System ist ein System, welches bei einer Zeitverschiebung oder einer
Verzögerung der Eingangsfolge
𝑥1 [𝑛] = 𝑥[𝑛 − 𝑛0 ]
⟹ 𝑦1 [𝑛] = 𝑦[𝑛 − 𝑛0 ]
LTI Systeme sind eine wichtige Systemklasse; sie sind linear und zeitinvariant. Darunter fallen
alle digitalen Filterstrukturen.
Handelt es sich bei einem diskreten System um ein lineares, zeitinvariantes System, so kann es
vollständig durch seine diskrete Impulsantwort h[n] beschrieben werden.
Wie bei kontinuierlichen Systemen ist die Antwort eines diskreten Systems auf den Delta-Impuls
(n) die diskrete Impulsantwort h[n], die das diskrete System vollständig charakterisiert.
𝛿[𝑛] ⇒ ℎ[𝑛]
Seite 63
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
- Verzögerungsglied:
h[n] = [n – n0]
- Summierer:
h[n] = u[n]
- Vorwärtsdifferenzierer:
h[n] = [n +1] - [n ]
- Rückwärtsdifferenzierer:
h[n] = [n ] - [n-1 ]
- Gleitender Mittelwert:
𝑀2
1
ℎ[𝑛] = ∑ 𝛿 [𝑛 − 𝑘]
1 + 𝑀1 + 𝑀2
𝑘=−𝑀1
Mit Hilfe der Impulsantwort lässt sich die Kausalität und Stabilität eines diskreten Systems direkt
angeben.
• Kausalität
Ein zeitdiskretes System heißt kausal, wenn seine Impulsantwort kausal ist:
Echtzeitsysteme in der Digitalen Signalverarbeitung sind kausal, die Wirkung erfolgt nach der
Ursache, demzufolge kann die Impulsantwort auch erst nach der Stimulierung durch den Impuls
von Null verschieden sein.
Bei einem nicht-kausalen System erfolgt die Wirkung vor der Ursache, d.h. dieses System hat
„hell-seherische“ Fähigkeiten.
• Stabilität
Ein zeitdiskretes System heißt stabil, wenn seine Impulsantwort summierbar ist, d.h.:
∑ |ℎ[𝑛]| < ∞
𝑛=−∞
Seite 64
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Das Ausgangssignal eines diskreten Systems auf eine beliebige Eingangssequenz ist durch die
diskrete Faltung der diskreten Impulsantwort mit der Eingangsfolge definiert.
Dieser Ausdruck der diskreten Faltung ist analog zum Faltungsintegral eines zeitkontinuierlichen
Systems. Während allerdings bei einem kontinuierlichen System ein Integral gelöst werden muss,
kann die Faltungssumme eines diskreten Systems einfach berechnet werden.
Beispiel: Berechnung der Ausgangsfolge y[n] eines Systems mit der Impulsantwort
Seite 65
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 66
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Die Gesamt-Impulsantwort einer Serienschaltung von LTI Systemen ergibt sich aus der Faltung
der Einzel-Impulsantworten.
Die Gesamt-Impulsantwort einer Parallelschaltung von LTI Systemen ergibt sich aus der Summe
der Einzel-Impulsantworten.
Seite 67
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Aufgrund der Zeitbegrenzung der Impulsantwort und somit der Beschränkung auf einen endlichen
Wert der aufakkummulierten Impulsantwort, ist jedes FIR System stabil.
IIR-Systeme hingegen müssen auf Stabilität untersucht werden.
Aufgabenstellung:
8.1 Gegeben ist das Blockschaltbild des folgenden rekursiven Systems (Akkumulator,
Integrator):
Abb.: Simulink Design des rekursiven Systems zur Berechnung der Impulsantwort
Seite 68
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Die Impulsantwort h[n] des Akkumulators ist demzufolge die Sprungantwort u[n]. Diese
aufintegriert, strebt gegen unendlich, das System ist demzufolge instabil.
8.2 Das System wird nun derart abgeändert, dass sich in der Rückkopplung eine Verstärkung
von 0.5 befindet:
Seite 69
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
In diesem Fall strebt die aufintegrierte Impulsantwort gegen einen Wert von 2. Das System ist
somit stabil.
8.3 Das instabile System aus Aufgabenteil 8.1 wird nun mit einem nicht-rekursiven System
(Differenzierer) in Serienschaltung ergänzt:
Abb.: Impulsantwort
Seite 70
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Die simulierte Impulsantwort h[n] = Diracimpuls [n]. Somit ist dieses System stabil. Das
Gesamtsystem aus Integrator und Differenzierer verhält sich somit wie eine Durchverbindung.
Das Ausgangssignal y[n] ist für jedes beliebige Eingangssignal x[n]:
y[n] = x[n]
Aufgabenstellung:
Ein Generator, der ein Sinussignal variabler Frequenz erzeugt, soll mittels Adressgenerator und
ROM (Read Only Memory) basierter Look-Up Table in Fixed Point in Simulink zwecks späterer
Implementierung in einem FPGA erstellt werden.
a) Bauen Sie das Fixed Point Design in Simulink und simulieren Sie es.
b) Welche Frequenz wird später ausgegeben in Abhängigkeit von Takt, Wortbreite des
Adressgenerators und des Inkrements?
c) Welche Wortbreite und Codierung des ROM Ausgangssignals sind in Abhängigkeit des Digital-
Analog-Wandlers (DAC) für die Zieltechnologie (ZYNQ 7010 auf einem Red Pitaya Board) zu
wählen?
Seite 71
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Abb.: Ausgangssignale
Seite 72
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Die Frequenz des Sinus hängt davon ab, wie schnell die Adresse der Lookup Table durchlaufen
wird, also von der Periodendauer des Sägezahnes:
x[n]
Ta = 1/fa n
In dem hier realisierten Simulink Design wird mit einer Abtastperiode Ta = 8 ns gearbeitet, was
dem Takt fa des Red Pitaya Boardes (125 MHz) entspricht.
So ergibt sich bei einem Inkrement von 1 und einer Wortbreite des Adressgenerators von 8 Bit
(also 28 = 256 Adressen) eine Frequenz von:
Die Wortbreite der abgelegten Sinuswerte hingegen wird an die Wortbreite und die Codierung
des benutzten Digital-Analog-Wandler des Red Pitaya Boardes angepasst:
Seite 73
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Eine wichtige Unterklasse linearer, zeitinvarianter Systeme besteht aus Systemen bei denen die
Eingangsfolge x[n] und die Ausgangsfolge y[n] eine lineare Differenzengleichung N-ter Ordnung
mit konstanten Koeffizienten erfüllen.
R I(t)
© Buchholz
Abb.: Analoger RC-Tiefpass
Der Zusammenhang zwischen der Ursache und Wirkung, d.h. dem Ein- und Ausgang des obigen
RC Tiefpass 1. Ordnung wird durch eine Differentialgleichung 1. Ordnung festgelegt.
Mit dem Zusammenhang zwischen dem Strom I(t) und der Spannung U(t) über dem
Kondensator C:
𝜕
𝐼(𝑡) = 𝐶 ∙ 𝑈 (𝑡)
𝜕𝑡 2
folgt:
𝜕𝑈2 (𝑡)
𝑈1 (𝑡) = 𝑅 ∙ 𝐼(𝑡) + 𝑈2 (𝑡) = 𝑅𝐶 ∙ +𝑈2 (𝑡)
𝜕𝑡
𝜕𝑦(𝑡)
𝑥(𝑡) = 𝑅𝐶 ∙ + 𝑦(𝑡)
𝜕𝑡
Der Übergang von diesem zeitkontinuierlichen System in ein zeitdiskretes System wird durch die
Approximation der Ableitung durch eine Differenzenbildung erreicht:
𝑦[𝑛] − 𝑦[𝑛 − 1]
𝑥[𝑛] = 𝑅𝐶 ∙ + 𝑦[𝑛]
𝑇
𝑅𝐶 𝑅𝐶
𝑥[𝑛] = ∙ 𝑦[𝑛] − ∙ 𝑦[𝑛 − 1] + 𝑦[𝑛]
𝑇 𝑇
Seite 74
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
𝑅𝐶 𝑅𝐶
= 𝑦[𝑛] ∙ { + 1} − ∙ 𝑦[𝑛 − 1]
𝑇 𝑇
bzw. mit
1 𝑅𝐶⁄
𝑏0 = 𝑢𝑛𝑑 𝑎1 = 𝑇
𝑅𝐶⁄ + 1 𝑅𝐶⁄ + 1
𝑇 𝑇
Aus der Differentialgleichung ist eine Differenzengleichung geworden, die das diskrete
Tiefpassfilter beschreibt.
Diese Differenzengleichung kann durch das folgende Blockschaltbild verdeutlicht werden:
x[n] b0 y[n]
+
D
a1
© Buchholz
Es handelt sich also um ein rekursives System 1. Ordnung, das das analoge Filter umso besser
approximiert je kleiner die Distanzen T der zeitdiskreten Werte auseinanderliegen.
Aufgabenstellung:
Realisieren Sie ein digitales Tiefpassfilter 1. Ordnung gemäß 𝑦[𝑛] = 𝑏0 𝑥[𝑛] + 𝑎1 𝑦[𝑛 − 1] für
den Fall, dass das entsprechenden analoge Filter aus den Komponenten R = 1 k und C = 100
pF besteht, und somit eine Zeitkonstante von = RC = 100 ns bzw. eine Grenzfrequenz von
fg = 1/(2**) = 1,59 MHz aufweist. Der Takt des digitalen Systems sei fa = 50 MHz, (also ein
Symboltakt T = 1/fa = 20 ns).
a) Zeichnen Sie das Blockschaltbild und implementieren Sie das Filter als fixed-point
Modell in Simulink.
Seite 75
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
zu a) und b) und c)
Abb.: Testumgebung
Seite 76
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Abb: Sprungantwort
bzw. kürzer:
𝑁 𝑀
∑ 𝑎𝑘 𝑦[𝑛 − 𝑘] = ∑ 𝑏𝑚 𝑥[𝑛 − 𝑚]
𝑘=0 𝑚=0
Seite 77
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Ausgehend von
𝑎0 𝑦[𝑛] + 𝑎1 𝑦[𝑛 − 1] + 𝑎2 𝑦[𝑛 − 2] + 𝑎3 𝑦[𝑛 − 3] + … + 𝑎𝑁 𝑦[𝑛 − 𝑁]
= 𝑏0 𝑥[𝑛] + 𝑏1 𝑥[𝑛 − 1] + 𝑏2 𝑥[𝑛 − 2] + 𝑏3 𝑥[𝑛 − 3] + … + 𝑏𝑀 𝑥[𝑛 − 𝑀]
Im Allgemeinen kann a0 = 1 gesetzt werden (d.h. alle Koeffizienten durch ao skaliert werden):
𝑦[𝑛] = 𝑏0 𝑥[𝑛] + 𝑏1 𝑥[𝑛 − 1] + 𝑏2 𝑥[𝑛 − 2] + 𝑏3 𝑥[𝑛 − 3] + … + 𝑏𝑀 𝑥[𝑛 − 𝑀] − 𝑎1 𝑦[𝑛 − 1]
− 𝑎2 𝑦[𝑛 − 2] − 𝑎3 𝑦[𝑛 − 3] − … − 𝑎𝑁 𝑦[𝑛 − 𝑁]
bzw.:
𝑀 𝑁
Die direkte Darstellung dieser Differenzengleichung mit Blockschaltbildern zeigt die folgende
Abbildung und wird Direktform I genannt:
x[n] b0 1 y[n]
+
b1 -a1
D + D
b2 -a2
D + D
b3 -a3
D + D
© Buchholz
bM -aN
D + D
Abb.: Direktform I
Seite 78
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Die Hintereinanderschaltung des nichtrekursiven und rekursiven Anteils der Direktform I kann
dabei vertauscht werden und führt zu:
x[n] 1 b0 y[n]
+ +
-a1 b1
+ D D +
-a2 b2
+ D D +
-a3 b3
+ D D +
-aN bM
+ D D +
© Buchholz
Seite 79
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
x[n] b0 y[n]
+ +
D
-a1 b1
+ +
D
-a2 b2
+ +
D
-a3 b3
+ +
-aM bN © Buchholz
Abb.: Direktform II
Während die Direktform I und II allgemein für alle Systeme mit rekursiver und nicht-rekursiver
Berechnung gilt, vereinfacht sich das System für den Fall, dass das Ausgangssignal nur von den
Eingangssignalen abhängt, ohne Rückkopplung (N = 0). In diesem Fall berechnet sich das
Ausgangssignal y[n] mit
𝑦[𝑛] = ∑ 𝑏𝑚 𝑥[𝑛 − 𝑚]
𝑚=0
x[n] D D D
b0 b1 b2 b3
+ + + y[n]
© Buchholz
Abb. FIR-System
Seite 80
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Ein Eingangssignal x[n] = [n] hat die Impulsantwort h[n] dieses nicht-rekursiven Filters zur Folge,
welche endlicher Dauer ist und wie folgt lautet: h[n] = [b0 b1 b2 b3 … bm 0 0 0 ….]
bzw.:
𝑏 𝑓ü𝑟 𝑚 ≤ 𝑀
ℎ[𝑛] = { 𝑚
0 𝑓ü𝑟 𝑚 > 𝑀
Die Impulsantwort des FIR-Filters ist also mit den Koeffizienten des Filters identisch.
Da
𝑀
𝑦[𝑛] = ∑ 𝑏𝑚 𝑥[𝑛 − 𝑚]
𝑚=0
beschrieben werden. Diese Abbildungsvorschrift entspricht demzufolge der diskreten Faltung der
Impulsantwort h[n] des Filters mit dem Eingangssignal.
Ein diskretes FIR Filter führt also die Faltung der Impulsantwort (Koeffizienten) mit dem
Eingangssignal aus.
Seite 81
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Aufgabenstellung:
a) In dieser praktischen Simulink Übung werden zwei nichtlineare Kennlinien als fixed-point
Modell realisiert: eine quadratische (x2) und eine kubische (x3) Kennline. Wählen Sie das
geeignete fixed-point Attribut, so dass als Eingangssignal das in Aufgabe 9 generierte Sinussignal
verarbeitet werden kann.
a) Testen Sie das nichtlineare System mit einer monochromatischen Ansteuerung. Wie
sieht der simulationstechnische Testaufbau (Testbench) aus? Wie sieht das
Ausgangssignal aus? Welche Frequenzen entstehen?
b) Überprüfen Sie die Antwort von b) im Frequenzbereich durch eine Spektralanalyse-
c) Fügen Sie anschließend noch Puffer ein, um den kritischen Pfad zu verkürzen, und so
zu ermöglichen, dass das Design später im FPGA möglichst hoch getaktet werden kann.
Die in dem gezeigten Design enthaltenen z-1 Blöcke sind die Register zu Pufferung. So ist
gewährleistet, dass ein kritischer Pfad, also die Logik (Clue Logic) zwischen zwei getakteten
Bauelementen nur aus einem Multiplizierer besteht. Zur Spektralanalyse dient der
Spektrumanalysator mit geeignet gewählten Einstellungen. So können mit dem Peak Finder auch
sofort die entstehenden Frequenzen ermittelt werden.
Seite 82
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Abb.: Testumgebung
Seite 83
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Bei der quadratischen Kennlinie entstehen ein Gleichanteil (DC) und die doppelte Frequenz. Bei
der kubischen Kennlinie entsteht ein verzerrtes Signal, welches die Originalfrequenz und die
Dreifache der Originalfrequenz enthält.
Seite 84
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Ebenso wie zeitkontinuierliche Signale können auch zeitdiskrete Signale sowohl im Zeit- als auch
im Frequenzbereich dargestellt werden. Auch hier spielen die sinusförmigen Folgen und
Exponentialfolgen eine wichtige Rolle bei der Darstellung im Frequenzbereich. Die Fourier
Darstellung ist auch hier die Linearkombination komplexer exponentieller Signale.
Komplexe exponentielle Folgen nennt man auch bei zeitdiskreten Systemen Eigenfunktionen
von linearen zeitinvarianten Systemen. Die Antwort auf eine sinusförmige Eingangsfolge oder
eine komplexe exponentielle Eingangsfolge auf ein diskretes LTI System ergibt eine sinusförmige
bzw. komplexe Exponentialfolge gleicher Frequenz, die allerdings durch das System in Amplitude
und Phase verändert ist.
Um die Wirkung eines linearen, zeitinvarianten Systems im Frequenzbereich zu untersuchen,
betrachtet man deshalb die Antwort des Systems auf eine Erregung mit der komplexen
Exponentialfunktion.
= h[n] * x[n]
= h[k ] x[n − k ]
k = −
= h[k ] e j (n − k )
k = −
jn
=e h[k ] e − jk
k = −
Seite 85
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Die Eingangsfolge exp(jn) führt zu einer Ausgangsfolge exp(jn), und ist somit eine
Eigenfunktion des Systems. Der Ausdruck
H (e j ) = h[k ] e− jk
k = −
stellt die Änderung der komplexen Amplitude des Eingangssignals als Funktion der Frequenz
dar. H(ej) wird als Frequenzgang des LTI Systems bezeichnet.
Statt H(ej) kann auch die kürzere Schreibweise H() benutzt werden.
Im Allgemeinen ist der Frequenzgang H() komplex und lässt sich entweder mit seinem Real-
und Imaginärteil
H (e j ) = H Re (e j ) + jH Im (e j )
j
H (e j ) = H (e j ) e j arg(H (e ))
Als einfache Beispiele für die Berechnung des Frequenzgangs eines linearen Systems sollen das
ideale Verzögerungsglied und der ideale Mittelwertbildner dienen:
• 1. Methode:
Einsetzen der Eingangsfolge
x[n] = e jn
in die Differenzengleichung
y[ n] = x[ n − n0 ]
ergibt
Seite 86
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
y[n] = e j ( n−n0 )
= e jn e − jn0
H () = e − jn0
• 2. Methode:
Ausgehend von der Impulsantwort des Verzögerungsgliedes
h[ n] = [ n − n0 ]
kann das Ausgangssignal mit Hilfe der Bestimmungsgleichung für den Frequenzgang
und der Siebeigenschaft des -Impulses berechnet werden.
H () = h[n] e − jn
n = −
= [n − n0 ] e − jn
n = −
= e − jn 0
Interpretation:
Real- und Imaginärteil des Frequenzgangs lauten gemäß der Eulerschen Beziehung:
H Re () = cos(n0)
H () = 1
Das Verzögerungsglied hat keinen Einfluss auf die Amplitude des Signals, die Phase wächst
linear mit der Frequenz .
Seite 87
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
1
M + M + 1 ; für − M 1 n M 2
1 2
h[n] =
0; sonst
M2
1
H () = e − jn
M1 + M 2 + 1 n = −M
1
Diese Summe kann in geschlossener Form mit Hilfe der allgemeinen Formel ausgedrückt werden
N1 − N 2 +1
N2
k =
1−
k = N1
als
− j ( M 2 − M 1 ) / 2
1 sin ( M 1 + M 2 + 1) / 2
= e
M1 + M 2 + 1 sin( / 2)
Im folgenden Bild ist der sich ergebende Betrag und Phase dieser Mittelwertbildung gezeigt.
Seite 88
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Abb.: Amplitude und Phase des Frequenzgangs eines Mittelwertbildners für M1 = 0 und M2 = 4
Der Frequenzgang nimmt für höhere Frequenzen hin ab; die Phase ändert sich linear mit der
Frequenz . Die Dämpfung hoher Frequenzen deutet darauf hin, dass durch das System schnelle
Änderungen der Eingangsfolge geglättet werden. Mit anderen Worten, das System stellt eine
grobe Approximation eines Tiefpassfilters dar. Dies stimmt auch damit überein, was wir intuitiv
vom Verhalten des Systems zur gleitenden Mittelwertbildung erwarten.
Die Gleichung zur Berechnung des Frequenzgangs H() einer Folge h[n] stellt die Fourier-
Transformierte dar:
H () = h[n] e − jn
n = −
wie der Vergleich mit der Fourier-Transformierten eines zeitkontinuierlichen Signals zeigt:
jt
H ( ) = h(t ) e dt
t = −
Seite 89
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Ein weiterer wichtiger Unterschied ist die Tatsache, dass sich die zeitdiskrete Fourier-
Transformation periodisch mit der Abtastfrequenz fa wiederholt, d.h. bezogen auf die normierte
Kreisfrequenz 2-periodisch ist. Dies kann leicht gezeigt werden:
H ( + 2 ) = h[n] e
n = −
− jn( + 2 )
= h[n] e
n = −
− jn
e − jn2
= h[n] e
n = −
− jn
= H ()
1 jn
h[n] =
2 H ( )e d
−
d.h. die Rückwärts-Transformation eines periodischen Spektrums muss demzufolge eine diskrete
Zeitfolge sein.
Zusammenfassend kann man sagen:
• Zeitdiskrete Fourier-Transformation: X ( ) = x[n] e − jn
n = −
1
X ()e
j
x[n] = d
2
• Inverse zeitdiskrete Fourier-Transformation: −
• Die zeitdiskrete Fourier-Transformierte X() einer Folge x[n] ist kontinuierlich und
periodisch in = 2.
• Die zeitdiskrete Folge x[n] lässt sich durch die inverse zeitdiskrete Fourier-Transformation
aus dem kontinuierlichen Spektrum berechnen.
Seite 90
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
• Linearität
• Zeitverschiebung
• Frequenzverschiebung
• Zeitumkehr
• Differentiation im Frequenzbereich
• Faltung im Zeitbereich (Faltungstheorem)
• Multiplikation im Zeitbereich (Modulationstheorem)
Bei der Anwendung der Fourier-Transformation ist es wertvoll die Symmetrieeigenschaften der
Fourier-Transformation zu kennen, um die Lösung von Aufgaben zu vereinfachen.
Weiterhin gilt, dass jede gerade, reelle Funktion einen rein reellen Frequenzgang aufweist; eine
ungerade, reelle Funktion einen rein imaginären Frequenzgang aufweist.
Jede beliebige Folge kann in einen geraden und ungeraden Anteil zerlegt werden.
Seite 91
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
x[n] 1 y[n]
+
-1/4 1/2
D + D
© Buchholz
1 1
y[n] = x[n] − x[n − 1] + y[n − 1]
4 2
Formales Einsetzen des Eingangssignals x[n] = [n] liefert formal als Ausgangssignal y[n] die
Impulsantwort h[n], also:
1 1
h[n] = [n] − [n − 1] + h[n − 1]
4 2
1 1
H ( ) = 1 − e − j + H ( ) e − j
4 2
und demzufolge:
Seite 92
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
1 1
H () 1 − e − j = 1 − e − j
2 4
1
1 − e − j
− H () = 4
1 − j
1− e
2
1
1 − e − j
H () = 4
1 − j
1− e
2
1 − j
e
1 4
= −
1 − j 1
1− e 1 − e − j
2 2
n n −1
1 1 1
h[n] = u[n] − u[n − 1]
2 4 2
Test:
n=0 h[0] = 1
n=1 h[1] = 0.5 – 0.25 = 0.25
n=2 h[2] = 0.25 – 0.125 = 0.125
n=3 h[3] = 0.125 – 0.0625 = 0.0625
usw.
Seite 93
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
5.5 Anhang
Abb.: Fourier-Transformationspaare
Seite 94
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 95
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 96
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
xa (t ) = x(t ) (t − nT )
n=0
= x(t ) (t − nT )
n=0
− st
X a (s) = xa (t ) e dt
t = −
− st
= x(t ) (t − nT ) e dt
t =0 n=0
= x(t ) (t − nT ) e − st dt
n=0 t =0
so erhält man mit der Siebeigenschaft der -Distribution für die Laplace Transformierte eines
diskreten Signals:
Seite 97
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
X a ( s) = xnT e −snT
n =0
= xn e −snT
n =0
z := e sT
so erhält man:
X ( z) = x[n] z −n
n =0
also auf die komplexe z-Ebene abgebildet. Diese konforme Abbildung bildet die gesamte s-Ebene
eindeutig und nichtlinear in die z-Ebene ab, wobei sich folgende Korrespondenzen ergeben:
s-Ebene z-Ebene
linke komplexe Innere des
Ebene Einheitskreises
Imaginäre Achse Einheitskreis
Rechte komplexe Äußere des
Ebene Einheitskreises
Seite 98
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
s z
j Im{z}
1.5 a
a
0.5 a =0.5a
=0
Konforme Abbildung
Neben der einseitigen z-Transformation kann man auch die zweiseitige z-Transformation
definieren:
X ( z) = x[n] z −n
n =−
Die nachfolgende Tabelle zeigt einige sich ergebende typische Korrespondenzen der z-
Transformation. Insbesondere ist die Korrespondenz eines zeitverschobenen Signals von
Interesse:
[n-m] z-m
Eine Zeitverschiebung um m-Takte bedeutet demzufolge eine algebraische Funktion von z-m,
eine Verschiebung um einen Takt die Funktion z-1 in der z-Ebene.
Seite 99
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
x[n]
3
2 2
1 1
-4 -3 -2 -1 1 2 3 4 n
© Buchholz
x[n] = [n + 2] + 2 [n + 1] + 3 [n] + 2 [n − 1] + [n − 2]
Y ( z ) = z 2 + 2 z + 3 + 2 z −1 + z − 2
x[n]
3
2 2
1 1
-2 -1 1 2 3 4 5 6 n
© Buchholz
x[n] = [n] + 2 [n − 1] + 3 [n − 2] + 2 [n − 3] + [n − 4]
Y ( z ) = 1 + 2 z −1 + 3 z − 2 + 2 z − 3 + z − 4
Die Umwandlung der nicht-kausalen in eine kausale Folge geschieht durch die Verschiebung um
2 Takte nach rechts (Verzögerung), d.h. in der z-Ebene durch die Multiplikation mit z-2.
Seite 100
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Y ( z ) = X ( z ) + z −1 X ( z ) + z −1 Y ( z ) − 0.5 z −2 Y ( z )
Y ( z) 1 + z −1
H ( z) = =
X ( z ) 1 − z −1 + 0.5 z − 2
Die z-Transformierte der Übertragungsfunktion ergibt eine gebrochen rationale Funktion. Der
Zähler repräsentiert den nicht-rekursiven, der Nenner den rekursiven Anteil des Systems.
x[n]*y[n] X(z)Y(z)
Damit kann das Ausgangssignal eines Systems mit der Impulsantwort h[n] angegeben werden.
Im Zeitbereich gilt bekanntermaßen
y[n] = h[n] * x[n]
bzw. im z-Bereich:
Y ( z) = H ( z) X ( z)
wobei H(z) die z-Übertragungsfunktion und z-Transformierte der Impulsantwort h[n] darstellt:
Y ( z)
H ( z ) :=
X ( z)
N M
ak y[n − k ] = bk x[n − k ]
k =0 k =0
Seite 101
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
N M
ak z − k Y ( z) = bk z − k X ( z )
k =0 k =0
M
bk z − k
Y ( z) k = 0
H ( z) = =
X ( z) N
ak z − k
k =0
b0 + b1 z −1 + b2 z − 2 + ... + bM z − M
=
a0 + a1 z −1 + a 2 z − 2 + ... + a N z − N
Die z-Übertragungsfunktion lässt sich somit problemlos aus den Koeffizienten der
Differenzengleichung bzw. aus dem Blockschaltbild in der Direktform I ermitteln.
X () = x[n] e − jnT = x[n] e − jn
n=0 n=0
M
bk e − jk
H () = k = 0
N
ak e − jk
k =0
Seite 102
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Die z-Übertragungsfunktion lässt sich umformen in einen gebrochen rationalen Ausdruck, in dem
nur positive Potenzen von z auftreten.
M
bk z − k
H ( z) = k = 0
N
ak z − k
k =0
M
z−M bk z M − k
k =0
=
N
z−N ak z N − k
k =0
M
bM − k z k
= z N − M k =0
N
aM − k z k
k =0
Dabei kann der Zähler und Nenner auch als Produkt seiner Nullstellen z 0 und Pole z dargestellt
werden.
M
( z − z 0, k )
N −M k =1
H ( z) = z
N
( z − z , k )
k =1
M
(1 − z 0, k z −1 )
= k =1
N
(1 − z , k z −1 )
k =1
Die Verteilung der Pole gibt eine Auskunft über die Stabilität des Systems: Für kausale LTI
Systeme gilt:
Seite 103
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Zur Überprüfung der Stabilität genügt es zu prüfen, ob alle Polstellen Beträge kleiner als eins
sind.
Beispiel: Ist das rekursive System 2. Ordnung aus Abschnitt 6.2 stabil?
Y ( z ) = X ( z ) + z −1 X ( z ) + z −1 Y ( z ) − 0.5 z −2 Y ( z )
Y ( z) 1 + z −1
H ( z) = =
X ( z ) 1 − z −1 + 0.5 z − 2
1 + z −1 z2
=
1 − z −1 + 0.5 z − 2 z 2
z2 + z
=
z 2 − z + 0. 5
1 1
z 1,2 = j
2 2
Im{z}
x 1
Re{z}
Abb.: Pol-Verteilung
Seite 104
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Das konjugiert komplexe Polpaar liegt innerhalb des Einheitskreises. Das System ist somit stabil.
3 1
y[n] − y[n − 1] + y[n − 2] = 2 x[n]
4 8
soll die z-Übertragungsfunktion H(z) in Pol-Nullstellen Darstellung dazu genutzt werden um durch
Partialbruchzerlegung und Rücktransformation die Impulsantwort h[n] in allgemeiner Form
anzugeben.
3 1
Y ( z ) − z −1 Y ( z ) + z − 2 Y ( z ) = 2 X ( z )
4 8
2
H ( z) =
3 1
1 − z −1 + z −2
4 8
Pole:
3 1
z2 − z+ =0
4 8
2 2
3 1 3
z − = − +
8 8 8
3 1
z=
8 64
1
z ,1 = ;
2
1
z , 2 =
4
Seite 105
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
2z
H ( z) =
1 1
z − z −
4 2
2
=
1 −1 1 −1
1 − z 1 − z
4 2
A B
= +
1 −1 1 −1
1 − z 1 − z
4 2
Partialbruchzerlegung:
A+ B = 2
1 1
− A− B = 0
2 4
➔ A = -2; B = 4
−2 4
H ( z) = +
1 −1 1 −1
1 − z 1 − z
4 2
1
n u[n]
1 − z −1
1
n
1
n
h[n] = − 2 + 4 u[n]
4 2
Gegeben sei ein System welches den gleitenden Mittelwert über drei aufeinanderfolgende
Abtastwerte bildet.
Seite 106
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
+ + y[n]
© Buchholz
Seite 107
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Abb.: z-Korrespondenzen
Seite 108
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 109
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Aufgabenstellung:
Mit Hilfe der folgenden Struktur soll ein Sinusgenerator realisiert werden:
[n] b0 1 h[n]
+
b1 -a1
z-1 + z-1
-1 © Buchholz
z-1
b0 + b1 z −1
H ( z) =
1 + a1 z −1 + z −2
Diese Übertragungsfunktion hat zwei Pole mit den Beträgen 1 und den Phasen +0 und – 0.
Laut dem Stabilitätskriterium liegen die Pole genau an der Stabilitätsgrenze. Wird das System
einmal mit dem Deltaimpuls [n] angeregt, so ist die Impulsantwort eine Schwingung mit der
Frequenz 0.
Im{z}
1 Re{z}
x
Das LTI-System mit zwei konjugiert komplexen Polen auf dem Einheitskreiskreis ist instabil und
schwingt bei dirac-pulsförmigen Anregungen gemäß der Impulsantwort
Seite 110
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Die Impulsantwort des IIR-Filters ist demnach ein kausales Sinussignal mit der normierten
Kreisfrequenz 0 und dem Anfangsphasenwinkel .
Die Koeffizienten berechnen sich wie folgt (siehe auch Korrespondenz 10 der z-
Korrespondenztabelle):
b 0 = sin( )
b1 = sin( 0 − )
a1 = −2 cos( 0 )
a) Berechnen Sie die Koeffizienten für ein Sinussignal mit einer Frequenz, die 1/50 der
Taktfrequenz entspricht. Setzen Sie einfachheitshalber zu 0.
b) Implementieren Sie die Struktur in fixed-point Darstellung und wählen Sie eine
geeignete Bitbreite sowohl für die Koeffizienten, als auch die Signalpfade.
c) Testen Sie Ihren Sinusgenerator.
d) Überprüfen Sie die Qualität des Sinussignals mit Hilfe einer Fast Fourier Transformation.
Lösung:
a)
b0 = 0
2
b1 = sin = 0,12533
50
2
a1 = −2 cos = −1,98423
50
Seite 111
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
b)
Abb.: Sinusgenerator
Die Attribute (Wortbreite und Interpretation als Integer/Fractional) der Koeffizienten und die
Wortbreite des Signalpfads müssen optimiert werden. Beispielsweise kann der Einfluss der
Wortbreite auf die Signalqualität des Sinussignals simulationstechnisch untersucht werden. Es ist
zu untersuchen, inwieweit man die Wortbreite reduzieren kann, um die Anzahl der Gatter und
damit die Chipfläche und die Kosten zu reduzieren.
c)
Abb.: Testumgebung
Seite 112
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Das Ausgangssignal der instabilen IIR-Struktur auf einen Dirac-Stoß Anregung (Impulsantwort)
ist tatsächlich ein Sinussignal mit einer Periode von 50 Abtastwerten (Periode des Sinussignals
= 0,4 s bei 8 ns Takt).
d)
Seite 113
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Außerdem wurde die Multiplikation des Faktors a2 = -1 durch das Ersetzen des Summierers durch
einen Subtrahierers ersetzt.
Seite 114
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Der Entwurf und die Realisierung ist das klassische Anwendungsgebiet der digitalen
Signalverarbeitung. Unter einem Filter versteht man ein System, das gewisse
Frequenzkomponenten im Vergleich zu anderen verändert, beispielsweise unterdrückt, verstärkt
oder in der Phase variiert. Unter diesen Systemen spielen die stabilen und kausalen LTI-Systeme,
welche sich durch eine rationale Übertragungsfunktion H(z) beschreiben lassen, die weitaus
wichtigste Rolle.
Die vier klassischen Filterfunktionen sind die Tiefpass- (lowpass), die Bandpass- (bandpass), die
Hochpass- (highpass) und die Bandsperrfunktionen (bandstop).
Die Parameter fpass, fpass1, fpass2 nennt man Durchlassfrequenzen (passband frequencies) und die
Parameter fstop, fstop1 und fstop2 Sperrfrequenzen (stopband frequencies).
Eine weitere Möglichkeit ist die Realisierung eines Multiband-Filters, das mehrere Durchlass- und
Sperrbereiche mit unterschiedlicher Gewichtung aufweist.
Seite 115
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Ziel des Filterentwurfs ist ein System, das bestimmte im Frequenzbereich vorgegebene
Eigenschaften möglichst gut approximiert. Aus Aufwandsgründen wird es nicht möglich sein, die
Vorgaben exakt zu erreichen. Bei der Approximation gibt man sich ein Toleranzschema vor,
innerhalb dessen der gewünschte Verlauf der Filterfunktion liegen soll.
|H(f)|
D
S
fD fS f
Seite 116
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Zum Entwurf stehen heutzutage leistungsfähige Programme zur Verfügung. Im Rahmen dieser
Vorlesung werden Sie in die Filter Design Tools von MATLAB/Simulink eingeführt werden.
Übung 4 und Übung 5 benutzt MATLAB zum Entwurf von FIR- und IIR-Filter; im praktischen Teil
werden Sie Filter mit Simulink implementieren.
Diese Software Werkzeuge nehmen einem die Arbeit ab, die Filter per Hand zu entwerfen;
allerdings bleibt es Aufgabe des Entwicklers die Spezifikation des Filters an Hand
• eines Toleranzschemas
• der Art des Filters (IIR oder FIR)
• der Charakteristik des Filters (Approximation)
den Implementierungsaufwand und die eigentliche Implementierung zu bestimmen.
Die zu entwerfenden rekursiven Systeme besitzen die Systemfunktion
M
bk z − k
Y ( z) k = 0
H ( z) = =
X ( z) N
ak z − k
k =0
b0 + b1 z −1 + b2 z − 2 + ... + bM z − M
=
a0 + a1 z −1 + a 2 z − 2 + ... + a N z − N
Ergebnis des Filterentwurfs ist die Bestimmung der Koeffizienten ak und bk derart, dass die
Systemfunktion (Frequenzgang) das vorgegebene Toleranzschema erfüllt.
Das übliche Verfahren beim Entwurf zeitdiskreter IIR-Filter beruht auf der Transformation eines
zeitkontinuierlichen (analogen) Filters in ein zeitdiskretes Filter. Dieses Verfahren beruht also auf
den bewährten Entwurfsverfahren für Analogfilter und ist sehr effizient. Die Entwurfsverfahren
analoger Filter werden im Laplace Bereich mit Hilfe der Übertragungsfunktion H(s) durchgeführt.
Zwischen dem Laplace Bereich eines zeitkontinuierlichen LTI-Systems und dem z-Bereich eines
zeitdiskreten LTI-Systems besteht der Zusammenhang der Bilinearen Transformation (1.
Näherung):
2 z −1
s=
T z +1
bzw.:
1 + (T / 2) s
z=
1 − (T / 2) s
Seite 117
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Damit können die Übertragungsfunktionen H(s) und H(z) ineinander überführt werden.
Den nichtlinearen Zusammenhang zwischen der Kreisfrequenz (s = j für = 0) des
zeitkontinuierlichen Systems und der normierten Kreisfrequenz des zeitdiskreten Systems
erhält man daraus zu:
2
= tan
T 2
|H()|
D
S
D S
Seite 118
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Für den Entwurf von Analogfiltern, ausgehend vom Amplitudengang als Wunschfunktion, stehen
die folgenden vier bekanntesten Approximationsverfahren (Standard-Entwurfsverfahren) zur
Verfügung:
• Butterworth
• Tschebyscheff I
• Tschebyscheff II (Inverse Tschebyscheff)
• Cauer (Elliptisches Filter)
Diese unterscheiden sich dadurch, wie der tatsächliche Filterverlauf innerhalb des
Toleranzschemas verläuft.
|H()|
D S
Seite 119
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
|H()|
D S
Abb.: Toleranzschema und approximierte Systemfunktion
• Butterworth Charakteristik
Seite 120
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
• Tschebyscheff I Charakteristik
• Tschebyscheff II Charakteristik
Seite 121
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 122
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
• Cauer Charakteristik
Cauer Filter (elliptische Filter) zeichnen sich dadurch aus, das sowohl im Durchlass- als auch
im Sperrbereich ein oszillierendes Verhalten der Filterkurve auftritt. Dadurch erreicht man bei
gleicher Filterspezifikation mit einem Cauer Filter immer ein System niedrigster Ordnung.
Allerdings weist die Phase bei diesem Filter Entwurf die stärksten Änderungen auf, so dass
bei Anforderungen an die Gruppenlaufzeit dem Butterworth- oder Tschebyscheff Filter der
Vorzug gegeben wird.
Seite 123
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Aufgabenstellung:
Mit Hilfe des Filter Design & Analysis Tool fdatool (Anmerkung: mittlerweile veraltet, nun nutzen
wir filterDesigner) von MATLAB sollen Sie ein IIR-Filter für die folgende Filterspezifikation
bestimmen:
Bestimmen Sie die Filterordnung für die vier Standard Filtertypen und vergleichen Sie
Amplitudengang, Phasengang, Gruppenlaufzeit und Pol-Nullstellenverteilung.
Lösung:
In MATLAB wird filterDesigner benutzt, um die Filterspezifikation einzugeben, die Ordnung des
Filters zu bestimmen, und anschließend Synthese und Analyse des Filters durchzuführen. Dazu
gehen Sie wie folgt vor:
• MATLAB starten
• Auf Kommandoebene filterDesigner starten
• Eingabe der Spezifikation
• Auswahl der Filtercharakteristik
Seite 124
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 125
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Das Ergebnis der Bestimmung der Filterordnung für verschiedene IIR Filtercharakteristiken lautet:
Filtercharakteristik Ordnung
Butterworth 12
Tschebyscheff 6
Cauer (Ellipt. Filter) 4
Seite 126
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Die Koeffizienten sind derart formatiert angegeben, dass möglichst viele Koeffizienten sich zu ‚1‘
ergeben. Der dadurch zusätzlich erforderliche Gain Faktor kann in jeder SOS Zelle einzeln oder
für das gesamte Filter zusammen berücksichtigt werden.
Seite 127
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Die durch den Filterentwurf erhaltenen Koeffizienten können mit jeder beliebigen Struktur (z.B.
Direktstruktur I oder Direktstruktur II), wie sie in Kapitel 4 vorgestellt wurden, realisiert werden.
Allerdings gibt es durchaus Unterschiede, was den Implementierungsaufwand und
Quantisierungseinflüsse betrifft.
Im Folgenden werden nur kanonische Strukturen, d.h. Strukturen, die mit einer minimalen Anzahl
von Verzögerungen (Speicher, Register) auskommen, betrachtet:
x[n] b0 y[n]
+
z-1
b1 -a1
+
z-1
b2 -a2
+
z-1
b3 -a3
+
z-1
bN -aN
+
© Buchholz
Seite 128
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
x[n] b0 y[n]
+ +
z-1
-a1 b1
+ +
z-1
-a2 b2
+ +
z-1
-a3 b3
+ +
-aN bN
© Buchholz
Hier besteht das Gesamtsystem aus einer kaskadierten Reihenschaltung von Systemen erster
oder zweiter Ordnung (Second Order Sections - SOS)
b0i + b1i z −1
H i ( z) =
1 + a1i z −1
Seite 129
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
x[n] b0 y[n]
+ +
z-1
-a1 b1
+ +
z-1
-a2 b2
© Buchholz
x[n] b0 y[n]
+
z-1
b1 -a1
+
z-1
b2 -a2
+
© Buchholz
p
H ( z) = H i ( z)
i =1
© Buchholz
Seite 130
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Vorteil dieser Struktur ist das gutmütiger Verhalten auf Quantisierungseffekte und die große
Flexibilität. Die einzelnen SOS Strukturen sind identisch, unterscheiden sich nur durch die
Koeffizienten, so dass auch Filter großer Ordnung rasch realisiert werden können.
• Vierte kanonische Struktur
Die 4. kanonische Struktur erhält man durch eine Partialbruchzerlegung der Gesamtfunktion und
einer anschließenden Parallelschaltung der Teilsysteme.
q
H ( z ) = b0 + H i ( z )
i =1
b0
H1(z) +
H2(z) +
H3(z) +
Hq(z)
© Buchholz
In dieser Vorlesung wird nicht näher auf Spezialfälle rekursiver Filter eingegangen. Der
Vollständigkeit halber seien sie allerdings hier erwähnt:
Bisher wurden nur Filterstrukturen mit reellen Koeffizienten betrachtet. Reelle Zahlenfolgen im
Zeitbereich (und damit eine reelle Impulsantwort) haben einen symmetrischen Betrag des
Frequenzgangs bzgl. = 0 zur Folge (Symmetriebedingungen der Fourier-Transformation).
Bei komplexwertigen Ein- und Ausgangssignalen (x[n] = xre[n] + jxim[n]; y[n] = yre[n] + jyim[n]) kann
auch die Ausführung des Filters komplex sein, d.h. komplexwertige Koeffizienten aufweisen
Seite 131
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
(komplexe Impulsantwort h[n] = hre[n] + jhim[n]) . Die konjugiert gerade Symmetrie des
Frequenzgangs geht dadurch verloren. Dies ergibt neue Möglichkeiten der Signalverarbeitung,
z.B. unsymmetrische Bandpass-Filter, die sich für positive und negative Frequenzen
unterschiedlich verhalten. Hier sei die Anwendung der Spiegelfrequenzunterdrückung bei einer
komplexen Abwärtsmischung erwähnt.
hre[n]
xre[n] yre[n]
him[n]
xim[n] yim[n]
hre[n]
Allpässe sind Filterstrukturen, die einen konstanten Amplitudengang aufweisen, aber eine von
der Frequenz abhängige Gruppenlaufzeit. Solche Filter finden z.B. zur Phasenentzerrung von
Übertragungskanälen Anwendung.
Seite 132
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Nicht-rekursive Filter mit zeitlich beschränkter Impulsantwort (FIR) haben keine Entsprechung im
zeitkontinuierlichen Bereich wie die IIR-Filter. Die transversale Struktur eines FIR-Filters ist durch
b0 b1 b2 b3 b4 bN
+ + + + +
y[n]
© Buchholz
N
y[n] = bk x[n − k ]
k =0
Das Filter hat die Ordnung N; die Anzahl der Koeffizienten beträgt N+1. Die Impulsantwort h[k]
ist identisch mit den Filterkoeffizienten bk.
b für 0 k N
h[k ] = k
0 sonst
H ( z ) = b0 + b1 z −1 + b2 z −2 + ... + bN z − N
N
= bk z −k
k =0
Seite 133
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Eine besondere Rolle kommt den linearphasigen FIR Filtern zu. Es kann leicht gezeigt werden,
dass Filter, deren Impulsantwort eine gerade oder ungerade Symmetrie aufweisen, einen linearen
Phasengang und damit eine konstante Gruppenlaufzeit haben. Dies wird am Beispiel eines Filters
mit N = 8 gezeigt, dessen Impulsantwort symmetrisch zum mittigen Impulskoeffizienten ist,
gezeigt.
h[k]
b0 b1 b2 b3 b4 b5 b6 b7 b8 k
Durch das Verschieben der Impulsantwort um 4 Abtasttakte nach links erhält man eine nicht-
kausale Impulsantwort mit einer geraden Symmetrie:
h[k]
was zu einem rein reellen Frequenzgang (Imaginäranteile heben sich auf Grund der Symmetrie
auf) führt.
Seite 134
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
+ b1 e − j + b2 e − j 2 + b3 e − j 3 + b4 e − j 4
Dies ist demzufolge auch der Amplitudengang; die Phase ist null.
anzuwenden, die besagt dass eine Verschiebung (Zeitverzögerung) nur eine von der Frequenz
abhängige linearen Phase und keine Änderung des Betrags zur Folge hat.
d H ()
gr =
d
= −4
Die konstante Gruppenlaufzeit (in diesem Beispiel -4) besagt, dass das Eingangssignal beliebiger
Frequenz um 4 Abtasttakte verzögert am Ausgang erscheint. Das Signal wird somit nicht in der
Phase verzerrt, was insbesondere für Audioanwendungen von Bedeutung ist.
Die Vorteile von FIR Filtern gegenüber IIR Filtern sind somit:
• Möglichkeit eines linearen Phasengangs bei symmetrischen Koeffizienten
• Keine Stabilitätsuntersuchung notwendig
• Spielen eine große Rolle für adaptive Entzerrer und Impulsformfilter in der modernen
Nachrichtentechnik und Signalverarbeitung
• Gut geeignet für Dezimation und Interpolation (Multiratendesign)
• Toleranter gegenüber Quantisierungseffekten
Seite 135
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
k k
Typ I
Typ III
ungerade h[k h[k]
]
Ordnung
k
k
Typ II
Typ IV
bk = bN − k
Seite 136
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Auf Grund der spektralen Eigenschaften der Filtertypen II und III sind diese nicht für ein
Hochpassfilter geeignet; genauso wenig wie Typ III und IV auf Grund der erzwungenen Nullstelle
bei der Frequenz 0 sich für Tiefpässe eignen. Typ III eignet sich deshalb nur für ein
Bandpassfilter.
In diesem Skript werden von den verschiedenen FIR Filter Entwurfsmethoden die zwei
wichtigsten, die Fenstermethode und die Approximationsmethode, behandelt.
8.3.1 Fenstermethode
Ausgangspunkt der Fenstermethode ist der ideale Frequenzgang Hideal(), z.B. von einem
Tiefpassfilter.
1 für g
H ideal () =
0 für g
|H()|
- -g g
© Buchholz
g sin( g k )
hideal[k ] =
g k
Die Impulsantwort eines idealen Filters ist unendlich lang und demzufolge nicht realisierbar.
Um das Filter realisierbar zu machen, muss die Impulsantwort mit Hilfe eines Fensters
(Windowing) begrenzt werden. Das einfachste Fenster hierfür ist das Rechteckfenster, d.h. ab
einem bestimmten Laufindex k, werden alle darauffolgenden Werte nicht mehr berücksichtigt.
Allerdings bewirkt diese Fensterung durch das abrupte Abschneiden der Impulsantwort meist
Seite 137
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Die Maxima der Überschwinger durch das Gibbsche Phänomen sind dabei von der Ordnung N
des nicht-rekursiven Filters unabhängig. Bei Erhöhung der Filterordnung werden die
Überschwinger zwar um die Filterflanken herum konzentriert, ihre Höhe bleibt jedoch
unbeeinflusst.
Durch das Verwenden eines geeigneteren Fensters können diese Überschwinger abgemildert
werden. Die dafür am meisten verwendeten Fenster sind das Hamming-, das Kaiser- mit
unterschiedlichem Parameter , das Hann-, und das Blackmannfenster.
w[k]
k/N
Abb.: Fensterfunktionen
Die Impulsantwort des FIR-Filters erhält man dann durch die Multiplikation der idealen
Impulsantwort mit der Fensterfunktion w[k]:
Seite 138
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Als Beispiel sei hier nur die Fensterfunktion von Hamming- und Hann-Fenster angegeben:
k
0.54 + 0.46 cos2 N für k N / 2
wham min g =
0 sonst
k
0.5 1 − cos2 für k N / 2
N
whann =
0 sonst
hideal[k]
wl[k]
h[k]
In den folgenden Abbildungen ist der Einfluss der Fensterung auf den Frequenzgang gezeigt.
Seite 139
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Allgemein kann man feststellen, dass umso höher die erzielbare Flankensteilheit ist, umso
geringer ist bei gleicher Filterordnung die erzielbare Dämpfung im Sperrbereich bzw. umso höher
ist die erste Nebenkeule.
8.3.2 Approximationsmethode
Dieses Entwurfsverfahren ist unter den verschiedensten Namen bekannt:
• Remez Verfahren
• Verfahren nach Parks und McClellan
• Optimalmethode
Seite 140
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
• Tschebyscheff Approximation
• Equiripple-Verfahren
Spezialfall: Halbbandfilter
Kann man in der Spezifikation damit leben, dass der Durchlassbereich genauso groß wie der
Sperrbereich ist, d.h. g = /2, dann ist jeder 2. Filterkoeffizient gleich Null. Der
Implementierungsaufwand wird somit um 50% reduziert.
Aufgabenstellung:
Mit Hilfe des Filter & Analysis Tools (filterDesigner) von MATLAB sollen Sie ein FIR-Filter für die
gleiche Filterspezifikation wie in der 6. praktischen Übung berechnen:
Bestimmen Sie die Filterordnung und erzeugen Sie die Koeffizienten, den Amplitudengang und
Phasengang, sowie die Gruppenlaufzeit für einen FIR Filter Entwurf nach der Equiripple Methode.
Betrachten Sie sich zusätzlich die Impulsantwort.
Seite 141
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Anschließend betrachten Sie sich die Amplitudengänge für die gleiche Spezifikation für einen
FIR-Filterentwurf nach der Fenstermethode für die folgenden Fenster: Rechteck, Bartlett,
Blackmann, Hanning, Hamming und Kaiser.
MATLAB schätzt für diese Filterspezifikation eine Filterordnung von 27 ab. Allerdings erkennt
man im Amplitudengang, dass die Sperrdämpfung von 30 dB damit nicht ganz erreicht wird. Eine
Erhöhung der Filterordnung auf 28 ergibt den folgenden Amplitudengang:
Seite 142
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 143
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Abb.: Frequenzgang des FIR Filters mit Rechteck und Bartlett Fensterung
Abb.: Frequenzgang des FIR Filters mit Blackmann und Hanning Fensterung
Seite 144
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Abb.: Frequenzgang des FIR Filters mit Hamming und Kaiser Fensterung ( = 0.5)
Die Spezifikation wird mit einer Filterordnung von 28 von keiner der Fensterfunktionen erreicht.
Um mit der Fenstermethode die Spezifikation im Durchlass- und Sperrbereich zu erfüllen müssten
die folgenden Filterordnungen implementiert werden:
Fensterung Ordnung
Hanning 83
Hamming 83
Blackman 123
Kaiser 33
Die in Kapitel 8.1 dargestellte Struktur (Direktform I) eignet sich nicht optimal für die Hardware-
Implementierung in einem FPGA. Die Serienschaltung von vielen nichtgetakteten
Funktionsblöcken, wie Addierer, Multiplizierer und sonstiger Glue Logik, führt evtl. auf Grund der
unvermeidlichen Gatterlaufzeiten, zu Signal-Laufzeiten, die länger als die Periodendauer des
Abtasttaktes sind. Dies kann dazu führen, dass die Daten bei dem nächsten getakteten
Funktionsblock (Register, Verzögerungsblock, Speicher) nicht stabil anliegen und zu einer
falschen Berechnung führen.
Der Pfad zwischen zwei getakteten Blöcken wird als kritischer Pfad bezeichnet, und die
benötigte Signal-Laufzeit über diesen Pfad darf nicht mehr als der des Abtasttaktes
entsprechenden Periodendauer T = 1/fa betragen.
Seite 145
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
FF1_out
FF2_in
Ungetaktete
z-1 z-1
SYS_CLK Logik SYS_CLK
Takt
t
FF1_out
t
FF2_in
t
© Buchholz
Die längste Signallaufzeit eines kritischen Pfades bestimmt somit den maximalen Abtast-Takt.
1
f a, max =
Um das FPGA ggfs. mit einem höheren Takt betreiben zu können, muss evtl. die Struktur
geändert werden oder zusätzliche Pufferungen durch Register (Delayblock, Flip-Flop) eingefügt
werden.
Das folgende Bild zeigt die gleiche FIR-Funktionalität, allerdings mit einer veränderten Struktur,
nämlich mit jeweils einem getakteten Baustein zwischen maximal einem Addierer und
Multiplizierer. Dadurch ist der kritische Pfad wesentlich geringer und das Filter kann mit einem
höheren Takt arbeiten.
x[n]
bN b3 b2 b1 b0
Seite 146
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Weiterhin kann bei linearphasigen Filtern die Symmetrie der Filterkoeffizienten ausgenutzt
werden:
x[n]
x[n]
Seite 147
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
15. Praktische Übung: Realisierung eines IIR Filters mit SOS Strukturen (Biquad)
Aufgabenstellung:
Für das FPGA Projekt benötigen wir in Kapitel 9 ein Tiefpassfilter, welches aus dem kubisch
verzerrten Sinussignal der Frequenz 1/50fa die Grundwelle wieder herausfiltert, d.h. die
entstandene Oberwelle bei 3/50fa möglichst gut herausfiltert.
Realisieren Sie dazu ein digitales Filter in fixed-point Darstellung, mit einem Durchlassbereich bis
1/50 und einem Sperrbereich ab 3/50 der Abtastfrequenz mit vertretbarem
Implementierungsaufwand und testen Sie das Filter in einer angepassten Testumgebung:
Bestimmen Sie selbst, ob Sie eine IIR oder FIR Filterstruktur wählen.
Seite 148
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Lösung:
a) Filter Auswahl
Da dieses Tiefpassfilter die Aufgabe der Unterdrückung einer einzelnen Frequenz hat, spielt der
Phasengang keinerlei Rolle, so dass aufgrund des Implementierungsaufwandes nur eine IIR
Filter Implementierung in Frage kommt.
Es bietet sich hinsichtlich des Implementierungsaufwandes an, das Filter als elliptisches
Tiefpassfilter 4. Ordnung zu realisieren. Die berechneten Koeffizienten lauten:
Abb.: Filter Koeffizienten für Elliptisches Filter 4. Ordnung (bereits berechnet für zwei
kaskadierte SOS Blöcke)
Seite 149
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
b) Filter Implementierung
Nächster Schritt ist das Konvertieren der Koeffizienten der gewählten Filterstruktur (IIR Filter,
Elliptisches Filter 4. Ordnung) in fixed-point Darstellung (Attribute müssen angepasst an die
Werte der Koeffizienten gewählt werden). Nutzen Sie dazu den Button (Set Quantization
Parameters):
Nacheinander müssen die geeigneten Wortbreiten und Attribute für die Koeffizienten, die
Eingangs- und Ausgangssignale und die interne Filterwortbreiten festgelegt werden.
Beginnend mit der Abschätzung der benötigten Wortbreite der Koeffizienten, wird der
Frequenzgang vergleichend berechnet, und zwar für eine Wortbreite von 8, 10 und 12 Bit:
Seite 150
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 151
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Elliptisches Filter 4. Ordnung mit den folgenden Koeffizienten (bereits mit einer Wortbreite von
12 Bit quantisiert):
Dabei sind die Koeffizienten vom Filter Synthese Programm so berechnet, dass möglichst viele
Koeffizienten den Wert 1 haben, und somit eine minimale Anzahl von Multiplizierern benötigt wird.
Um das Filter später mit einer Gesamt-Verstärkung (auf den Durchlassbereich bezogen) von 1
zu realisieren, ist somit eine zusätzliche Multiplikation mit den angegebenen Verstärkungswerten
(gain) vorzusehen. Es bleibt letztendlich dem Designer überlassen, ob er die einzelnen Stufen
mit einer möglichst geringen Anzahl von Multiplizierern oder mit einer verteilten Verstärkung
implementieren möchte.
Die folgende MATLAB Berechnung zeigt die Übertragungsfunktion H1() und H2() für die beiden
einzelnen SOS-Strukturen und das resultierende Filter für den Fall. Bei der Berechnung der
internen Filterwortbreiten muss berücksichtigt werden, dass der Frequenzgang einer einzelnen
Stufe eine Verstärkung aufweisen kann (siehe 10 dB Überschwinger bei der SOS2 Block Es ist
deshalb auf ausreichend Integer Bits des Signalpfades zu achten, da die Skalierung auf eine
Gesamtverstärkung von 1 im Durchlassbereich erst am Ende jeder SOS Struktur durchgeführt
Seite 152
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
wird. In diesem Beispiel wurde die interne Wortbreite auf 16 Bit bestimmt, wobei 5 Integer Bits
vorgesehen sind (Attribut <1,16,10>.
Ausgehend von den Koeffizienten der beiden SOS Blöcken für dieses Beispiel und den gewählten
internen Wortbreiten wird letztendlich durch den Button (Realize Model) und anschließend der
Auswahl Build model using basic elements.
ergibt das Simulink Blockschaltbild in Fixed Point (hier nur eine SOS Struktur gezeigt).
Notwendig ist ein Kaskadieren von zwei dieser Blöcke, um ein Filter 4. Ordnung zu erhalten.
Seite 153
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
c) Testumgebung
• Geben Sie ein verzerrtes Signal
f 3 fa
s(t ) = 0.5 sin 2 a + 0.5 sin 2
50 50
auf das Filter, und schauen Sie sich an, ob die 2. Oberwelle auch tatsächlich ausgefiltert
wird. Hierbei ist es sinnvoll, sich das Signal sowohl im Zeit- als auch im Frequenzbereich
anzusehen.
Seite 154
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Man erkennt sowohl im Zeit- als auch im Frequenzbereich die gewünschte Funktionalität. Aus
den beiden überlagerten Frequenzen wird die höhere Frequenz ausselektiert. Die Dämpfung bei
dieser Frequenz beträgt, wie spezifiziert, 60 dB.
Seite 155
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Für das FPGA Projekt benötigen wir in Kapitel 9 auch ein Hochpassfilter, welches aus dem
kubisch verzerrten Sinussignal der Frequenz 1/50fa nur die entstandene Oberwelle bei 3/50fa
durchlässt und die Grundwelle herausfiltert (Frequenzverdreifacher).
Realisieren Sie dazu ein digitales Filter in fixed-point Darstellung, mit einem Sperrbereich bis 1/50
und einem Durchlassbereich ab 3/50 der Abtastfrequenz mit vertretbarem
Implementierungsaufwand und testen Sie das Filter in einer angepassten Testumgebung:
Durchlassfrequenz fD: 3/50 fa
Sperrfrequenz fS: 1/50 fa
Durchlass-Welligkeit D: 0.5 dB
Minimale Sperrdämpfung: S = 60 dB
Elliptisches Filter 4. Ordnung mit den folgenden Koeffizienten (bereits mit einer Wortbreite von
12 Bit quantisiert):
Seite 156
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 157
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Auch hier erkennt man, dass das Hochpassfilter funktional ist und die spezifizierte
Sperrdämpfung von 60 dB gewährleistet.
Seite 158
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Ein FPGA (Field Programmable Gate Array) ist ein frei programmierbarer Logikschaltkreis, in den
eine logische Schaltung programmiert werden kann.
FPGAs werden in allen Bereichen der Digitaltechnik eingesetzt, vor allem aber dort, wo es auf
schnelle Signalverarbeitung und flexible Änderung der Schaltung ankommt, um beispielsweise
nachträgliche Verbesserungen an den implementierten Funktionen vornehmen zu können, ohne
dabei direkt die physische Hardware ändern zu müssen.
Mit der Einführung der FPGAs wurden kompakte, anwenderspezifische Schaltungen in geringen
Stückzahlen ermöglicht. Heutzutage gestatten sie die preiswerte und flexible Fertigung komplexer
Systeme wie Mobilfunk-Basisstationen als Alternative zur teureren Auftragsfertigung durch
Halbleiterhersteller.
Ein FPGA besteht aus einer Matrix-Struktur aus konfigurierbaren Logikblöcken (CLB –
configurable logic block), mehreren Metall-Layern zur Verbindung der CLBs
(Verbindungsebene), Ein- und Ausgabeblöcke (I/O-Blöcke) zur Impedanz- und Logikanpassung
der I/O-Pins des Gehäuses (die für die Verbindung zur Außenwelt notwendig sind).
Seite 159
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Jeder CLB (konfigurierbarer Logikblock) besteht aus Logikzellen, die für Operationen wie AND,
OR, NOT, XOR, usw. genutzt werden können, eine Verbindungsmatrix zur Metall-
Verbindungsebene, sowie aus Registern.
Die kombinatorische Logik mit Operationen wie AND, OR, NOT, XOR wird in den LUTs
dargestellt. Diesen sind Register nachgeschaltet.
Das heißt, die Grundstruktur des FPGAs ist ein Feld (engl.: Array) aus Basisblöcken mit jeweils
einer einfachen programmierbaren Lookup-Tabelle (LUT) und einem 1-Bit-Register (Flipflop). Die
LUTs können, je nach Anzahl der verfügbaren Eingänge, jede beliebige n-stellige Binärfunktion
realisieren. Die Programmierung der gewünschten Funktion erfolgt durch die Hinterlegung der
definierenden Wahrheitstabelle in den SRAM Zellen der LUT, die Funktionsberechnung durch
das Auslesen der durch die Eingänge bestimmten Speicheradresse. Lange Zeit waren LUT-
Strukturen mit 4 binären Eingängen üblich. Neuere FPGAs gehen zur Verringerung des
Aufwandes an LUT-zu-LUT-Verbindungen zur Realisierung von Funktionen mit mehr Eingängen
auf LUTs mit bis zu 6 Eingängen über.
Für die gezeigte Struktur mit vier binären Eingängen und einem Ausgang besteht die LUT aus
einem 16x1 Bit-RAM-Speicher, dessen Programmierung alle möglichen Ausgangswerte-
Kombinationen bei vier Eingängen zulässt. Desweiteren werden in den CLBs auch Flipflop-
Register zur Verfügung gestellt, oft in Form von D-Latches. Der LUT-Speicher kann alternativ als
Seite 160
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
synchrones Schieberegister oder alternativ als Speicher eingesetzt werden. Man spricht dann
von sogenanntem Distributed RAM im Gegensatz zum o. a. Block RAM.
Desweiteren existieren SRAM-Blöcke für die Speicherung von Daten. Manche Anbieter stellen
zusätzlich PLLs (Phase Locked Loop), DLLs (Delay Locked Loop), Taktaufbereitungen (DCM:
Digital Clock Manager) zur Verfügung.
Ein FPGA besteht aus sehr vielen Logikzellen. Es sind heute FPGA mit über 10 Mio.
Gatteräquivalenten erhältlich. Die Komplexität der Aufgaben wächst mit den Möglichkeiten der
Entwurfssoftware. Man hat gewisse Grenzen bezüglich der Verbindungsleitungen, sodass
manchmal nicht ausreichend viele solcher Verbindungen zur Verfügung stehen und viele
Schaltungen ohne vorherige Optimierung nicht realisierbar sind. In dieser Hinsicht haben die
FPGA-Hersteller in den letzten FPGAs sehr große Fortschritte gemacht.
Unterschiede zu Prozessoren
FPGAs bieten die Möglichkeit Informationen massiv parallel zu verarbeiten. Dadurch benötigen
sie nicht so hohe Taktfrequenzen wie Digitale Prozessoren, die Informationen sequentiell
verarbeiten. In einem FPGA können viele Additionen und Multiplikationen zur gleichen Zeit
ausgeführt werden. Während selbst moderne Prozessoren nur einige wenige Operatoren parallel
verarbeiten können.
Man versteht darunter eine integrierte Schaltung, die für einen speziellen Anwendungsfall
exklusiv für einen bestimmten Kunden gefertigt wird.
Da die Funktion des FPGAs ausschließlich durch die Konfiguration festgelegt wird, kann der
gleiche Baustein für viele verschiedene Schaltungen und Anwendungen verwendet werden. Er
kann deshalb in großen Stückzahlen produziert werden, was ihn bei Prototypen und Kleinserien
sehr kostengünstig im Vergleich zu einer Anwendungsspezifischen Integrierten Schaltung (ASIC)
macht.
Seite 161
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
FPGA Programmierung
Neben den LUTs ist auf dem FPGA auch die Verschaltung der Komponenten in großen
Freiheitsgraden konfigurierbar.
Die Programmierung der LUTs und der Verbindungsstrukturen erfolgt typischerweise einmal vor
jedem Einsatz, wodurch der FPGA auf eine konkrete Funktion konfiguriert wird. Diese verliert der
FPGA jedoch wieder durch Abschalten der Betriebsspannung. Im Einsatz steht dem FPGA
deshalb meist ein EPROM zur Seite, der die Konfiguration vorhält, dessen Inhalt aber selbst auch
aktualisierbar ist.
Die Programmierung der Logikbausteine kann je nach FPGA unterschiedlich gelöst werden. Man
kann zwischen Methoden unterscheiden, die es ermöglichen den FPGA mehrmals zu
programmieren, und Methoden, die nur eine einmalige Programmierung zu lassen. Bei den
mehrmals programmierbaren FPGAs wird die Konfiguration in Speicherzellen (z.B. SRAM,
EPROM, EEPROM, Flash) gespeichert.
Der Begriff Programmierung ist in diesem Kontext anders zu verstehen als bei der Erstellung von
Software für einen Prozessor: In einem FPGA werden Schaltungsstrukturen mittels
Hardwarebeschreibungssprachen oder in Form von Schaltplänen erstellt und nachfolgend diese
Daten zwecks Konfiguration in den Baustein übertragen. Im FPGA werden dadurch bestimmte
Schalterstellungen aktiviert bzw. deaktiviert, was dann eine konkret implementierte digitale
Schaltung ergibt
Seite 162
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Programmierschnittstelle
Das im Praktikum eingesetzte FPGA Board wird über ein JTAG Interface programmiert, das in
dieser Vorlesung benutzte Red Pitaya Board wird über USB Schnittstelle programmiert.
FPGA Entwicklungsboard
Im Labor sind mehrere FPGA Boards verfügbar:
Xilinx
FPGA
DA-Wandler
Seite 163
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Das in der diesjährigen Vorlesung benutzte FPGA Board ist das Red Pitaya Board.
Red Pitaya ist ein kostengünstiges Open Source Projekt und beinhaltet als SoC (System on Chip)
einen Zync 7010 Baustein der Firma XILINX.
Die Xilinx Zynq-Bausteine bieten eine integrierte Dual-Core ARM Cortex-A9 CPU mit bis zu 1
GHz Taktfrequenz und ein FPGA in einem.
Die universelle, frei programmierbare Open Source Plattform kann somit u.a. als Messgerät
(Oszilloskop, Spektrumanalyzer, Signalgenerator, PID-Controller, Frequenzgang-Analysator
u. a.) oder aber auch als Software Defined Radio zum Empfang und Senden von
Funkffrequenzsignalen eingesetzt werden.
Darüber hinaus vereint das Gerät die FPGA-Technologie (Programmable Logic - PL) mit
digitaler Signal- und CPU-Verarbeitung (Processing System - PS).
Das Board verfügt über jeweils zwei analoge HF-Ein- und Ausgänge mit einer Abtastrate von 125
MS/s und einer Amplitudenauflösung von 14 Bit, eine Bandbreite von 50 MHz sowie 16 digitale
Ein- und Ausgangs-Pins.
Seite 164
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Darüber hinaus ist die Platine mit einer Micro-USB-Buchse für den Konsolenanschluss, einem
Micro-SD-Kartenslot, einer RJ45-Buchse für die Ethernet-Verbindung sowie einem USB-
Anschluss ausgestattet. Zusätzlich stehen dem Anwender vier weitere analoge Hilfseingangs-
und Ausgangskanäle zur Verfügung.
Red Pitaya basiert auf einem GNU/Linux-Betriebssystem und kann mit verschiedenen Software-
Schnittstellen individuell programmiert werden. Die Bedienungsoberfläche für sämtliche
Messvorgänge wird über einen Webdienst auf HTML-Basis realisiert.
Der Anwender ist dadurch sogar in der Lage, das Gerät über ein internetfähiges Endgerät wie ein
Smartphone, ein Tablet oder einen PC beziehungsweise Laptop zu steuern.
Seite 165
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Alle komplexen integrierten Schaltungen werden grob nach folgendem Schema entwickelt:
Eine Spezifikation ist eine formale Beschreibung eines Produktes oder eines Algorithmus.
Kern des modernenEntwurfsprozess ist hier die Beschreibung der Funktion auf einer höheren
Abstraktionsebene, die RTL (Register Transfer Level) genannt wird. Hier können komplexe
Funktionen in einer Hardwarebeschreibungssprache, der Hardware Description Language
(HDL), ähnlich einer Programmiersprache (z. B. Addition, Multiplikation) eingegeben und die
Gesamtfunktion des eingegebenen RTL-Codes am PC simuliert werden. Als
Programmiersprachen kommen VHDL oder Verilog zum Einsatz. Eine direkte Eingabe der
Schaltung in Form von Gattern ist möglich, aber nicht mehr effizient.
Die RTL-Beschreibung wird mit einem Synthesewerkzeug, das ähnlich wie ein Compiler arbeitet
in eine Gatterbeschreibung, die sog. Netzliste umgesetzt. Diese Netzliste kann zur Kontrolle des
Ergebnisses erneut simuliert werden, da sie in der Regel dieselbe VHDL- oder Verilog-Syntax
verwendet.
Seite 166
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Spezifikation
(Funktionale Beschreibung)
Synthese (Erzeugung
einer Gatternetzliste)
Implementierung
(Place & Route)
Timing Analyse
© Buchholz
FPGA Programmierung und Test
Abb.: Entwurfsprozess
VHDL
Very High Speed Integrated Circuit Hardware Description Language (auch VHSIC Hardware
Description Language), kurz VHDL, ist eine Hardwarebeschreibungssprache, vergleichbar mit
einer Programmiersprache, mit der es einfach möglich ist, komplizierte digitale Systeme zu
beschreiben.
Der VHDL-Code ist eine C/C++ ähnliche Programmiersprache. VHDL (Very High Speed
Integrated Circuit Hardware Description Language) arbeitet nicht mit einzelnen elektronischen
Bauelementen, sondern beschreibt das gewünschte Verhalten einer Schaltung auf höherer
Abstraktionsebene. VHDL ermöglicht das schnelle Entwickeln großer und komplexer
Schaltungen. VHDL hat sich als Standard für Simulationsmodelle und Austausch von IP
(Intellectual Property) durchgesetzt. Neben VHDL existiert auch die Beschreibungssprache
Verilog.
Seite 167
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
VHDL-Synthese
Die Synthese ist ein Arbeitsschritt innerhalb des Entwurfs von digitalen Schaltkreisen. In diesem
wird die funktionale Beschreibung der Schaltung (in einer Hardwarebeschreibungssprache HDL)
in eine Gatter-Netzliste umgewandelt. Diese Übersetzung wird vom Synthesetool geleistet.
Spezielle Softwarewerkzeuge berechnen auf Basis der einzelnen Gatterlaufzeiten die Signal-
Laufzeiten aller möglichen Pfade durch das Design. Die maximale Signal-Laufzeit muss dabei
kleiner sein als die in der Spezifikation vorgegebene Zeit.
Kritischer Pfad
Die Gatterlaufzeit durch die ungetaktete Logik (d.h. zwischen zwei getakteten Bauelementen, wie
z.B. ein Flip Flop) darf nicht mehr als die Taktperiode betragen, da sonst das Datenwort beim
Einlesen in das nachfolgende Flip Flop nicht stabil anliegt. Siehe auch Kapitel 8.4.
Seite 168
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Die folgende Abbildung zeigt welche Teile des Entwurfsprozesses mit einem Entwurfswerkzeug
Seite 169
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
9.3 Projekt
16. Praktische Übung: Erzeugung des Toplevel Designs und funktionale Verifikation
Aufgabenstellung
soll das folgende Top-Level Design zusammengebaut werden. Insbesondere ist darauf zu
achten, dass
• die Wortbreiten und Attribute der Ein- und Ausgangssignale, die die einzelnen Blöcke
verbinden, aufeinander angepasst sind. Gegebenenfalls müssen die Anpassungen durch
die Blöcke format oder pass_thru erzielt werden,
• zusätzliche Pufferung am Eingang und Ausgang eines jeden Blocks durch Register (Flip
Flops) vorgesehen wird, um das Timing (kritischen Pfad) zu verbessern,
• Multiplexer zum Umschalten der einzelnen Funktionalitäten eingefügt werden,
• Programmierung von Registern vorgesehen wird, um das Umschalten der Multiplexer und
das Verändern der Frequenz der Generatoren zu gewährleisten,
• Die Signale von und zu dem A/D- bzw. D/A- Wandler umgewandelt werden: Offset Binary
<-> Zweierkomplement. Dies geschieht mit Hilfe des Invertieren des MSBs.
Nachdem Sie das System (Toplevel Detail) zusammengebaut und ein Symbol davon erzeugt
haben, testen Sie mit Hilfe einer Simulink Simulation in der entsprechenden Testumgebung, ob
alle Funktionalitäten korrekt ansteuerbar sind.
Seite 170
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Erzeugen Sie anschließend von dem eigenen Block mit Hilfe des HDL Coders von MATLAB RTL
(VHDL oder Verilog).
- Synthese
Sowohl Synthese und Place&Route sind mit dem frei erhältliche Vivado Design Suite WebPack1
von XILINX durchführbar. Bei der Synthese wird die Zieltechnologie, in diesem Fall das XILINX
ZYNQ 7010 angegeben.
1
WebPack Design Software kann unter: http://www.xilinx.com/products/design-
tools/vivado/vivado-webpack.html für Windows oder Linux runtergeladen werden.
Seite 171
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Abb.: Virtuelle Inputs und Outputs (VIOs) für das Setzen der Register
Seite 172
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Außerdem liegt nach dem Place&Route Prozeß ein detaillierter Timing Report vor, der die
längsten kritischen Pfade ausgibt und somit die maximale Taktfrequenz für das Design definiert.
Seite 173
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Nach Place&Route wird ein Bitfile erzeugt mit Hilfe dessen der Programmiercode über die JTAG
Schnittstelle ins FPGA geschrieben wird.
- Funktionaler Test
Mit Hilfe von virtuellen Inputs/Outputs (VIOS) im FPGA zur Ansteuerung der Register können
die Multiplexer über die JTAG Schnittstelle gemäß nachfolgender Tabelle umgeschaltet und das
Inkrement der Look Up Table verändert werden.
Tabelle: Schaltereinstellungen
Ein weiterer VIO (Inkrement, 8 Bit breit) wird zum Ändern des Inkrements des Zählers
(Sägezahngenerator und Adressgenerator für Look Up) verwendet. Schließlich wird mit einem
weiteren VIO ein Reset Signal angelegt, das den Diracimpuls zum Triggern des Sinusgenerators
(instabiles IIR Filter) liefert.
Seite 174
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 175
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Der Sägezahn ist mit 8 Bit Wortbreite realisiert, so dass bei einem Inkrement von 1 pro Takt die
Periode des Sägezahnsignals 28 = 256 mal die Periode des Taktes ist, also bei 125 MHz ergibt
dies eine Frequenz von 125 MHz / 256 = 488.281 kHz.
Erhöhung des Inkeremtes auf 5 verfünffacht die Frequenz auf 2.44 MHz.
Seite 176
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 177
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 178
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Abb.: Spektrum des quadrat. verzerrten Sinussignals (DC und dopplete Frequenz)
Seite 179
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Abschließend wird das kubisch verzerrte Signal einmal tiefpassgefiltert zur Rückgewinnung der
Originalfrequenz und einmal hochpassgefiltert zur Seperation der dreifachen Frequenz.
Seite 180
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 181
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 182
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Bei der FPGA-Programmierung erzeugt man eine Beschreibung der Hardwarestruktur, die dann
mit Hilfe von Synthese- und Routingwerkzeugen auf den eigentlichen FPGA-Chip übertragen
wird. Diese Hardwarebeschreibung findet typischerweise in speziellen Sprachen wie VHDL oder
Verilog statt. Anstelle von FPGA-Programmierung spricht man deshalb auch von einer FPGA-
Konfiguration.
Im Gegensatz zur Programmierung etwa von Mikroprozessoren richtet sich die FPGA-
Programmierung nicht an einem vorgegebenen Betriebssystem und einer Treiberbasis aus. Sie
zielt stattdessen auf die Definition von Strukturen im Halbleiter ab, die später die beabsichtigten
Funktionen ausführen. Das ermöglicht einen Spezialisierungs- und Parallelitätsgrad, der von
herkömmlichen, vorgefertigten Chips nur schwer zu erreichen ist. Wie leistungsfähig ein
programmierter FPGA ist, hängt vor allem davon ab, wie gelungen sein Design ist und damit
direkt von seiner effizienten Programmierung.
Das manuelle Arbeiten mit Hardwarebeschreibungen erfordert eine große Erfahrung auf Seiten
des Programmierers. Mit zunehmender Komplexität verlangsamt dies die Entwicklungs- und vor
allem die Verifikationsprozesse erheblich. Alternativ zum manuellen Entwurf setzen sich darum
immer mehr Tools zur FPGA-Programmierung durch, die die Generierung und Verifikation von
HDL-Code aus Programmier- und Entwicklungsumgebungen wie MATLAB und Simulink heraus
automatisieren.
Bei der Übertragung von Algorithmen auf Hardware müssen Sie die Algorithmen so ändern, dass
diese Bitströme anstatt von Datenblöcken verarbeiten. Zu den typischen Schritten gehören das
Verwalten von Datenströmen, das Parallelisieren von Operationen, das Verwalten des Timings
von Parallelpfaden und die Vergewisserung, dass die Implementierung die verfügbaren
Ressourcen des Bauteils nicht übersteigt.
HDL Coder ist das zentrale Werkzeug für die FPGA-Programmierung in der MathWorks-
Entwicklungsumgebung. HDL Coder generiert plattformunabhängigen, synthetisierbaren VHDL-
und Verilog-Code aus MATLAB-Funktionen, Simulink-Modellen und Stateflow-Diagrammen.
Außerdem ermöglicht er die Verifikation des generierten Codes beispielsweise für High-Integrity-
Anwendungen nach DO-254 und weiteren Standards durch direkte Rückverfolgbarkeit zwischen
Simulink-Modellen und dem daraus generierten Code.
Seite 183
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Anhang A: Übungen
1. Übung
Ein auf 10 kHz bandbegrenztes Signal wird analog-digital gewandelt, in einem digitalen
Signalverarbeitungssystem weiter verarbeitet und anschließend wieder digital-analog gewandelt.
a. Wir groß muß die Abtastrate mindestens gewählt werden, damit kein Aliasing auftritt?
b. Mit welcher Wortlänge (Anzahl der Bits, Auflösung) muss das analoge Signal mindestens
abgetastet werden, damit ein Signal-Quantisierungabstand von größer 40 dB erreicht
werden kann?
c. Um wieviele Bits kann die Auflösung reduziert werden, wenn eine vierfache
Überabtastung vorgenommen wird und der gleiche Signal-Quantisierungsabstand wie
unter b) erreicht werden soll?
d. Idealerweise wird die Abtastung durch eine Multiplikation des kontinuierlichen Signals mit
einem Impulskamm beschrieben. Erläutern Sie, wie sich im Gegensatz dazu eine
Abtastung mit einem Sample&Hold Glied auswirkt.
e. Geben Sie die Spezifikation für den Rekonstruktionstiefpass an, wenn das Signal mit 30
kHz Abtastrate abgetastet wird.
2. Aufgabe: Kodierung
Ein Analog-Digital Wandler habe einen Aussteuerbereich von 1V und eine Auflösung von 16
Bit. Sein Ausgangsformat sei Zweier-Komplement-Code.
Seite 184
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Gegeben sei folgendes kausale LTI System mit der diskreten Impulsantwort h[n] und der
Eingangsfolge x[n]
x[n] y[n]
h[n]
x[n] h[n]
1 1
1 2 3 4 5 6 7 n 1 2 3 4 5 6 7 n
a. Geben Sie die Operation an, mit deren Hilfe die Ausgangsfolge y[n] allgemein beschrieben
werden kann.
Seite 185
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
2. Übung
Gegeben sei eine Folge eines sinusförmigen diskreten Signals x[n], deren Abtast-Periode T =
1/10 der Periodendauer T1 des Sinussignals sei.
a. Skizzieren Sie das Ausgangssignal y[n] für die folgende nichtrekursive Struktur im
eingeschwungenen Zustand.
x[n] y[n]
D D D D D +
x[n] y[n]
+
Verzögerung um
z-10
10 Abtastwerte
0.5
Seite 186
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
T1 = 10T bzw.
T1 = 20T.
6. Aufgabe: Direktstruktur I
Gegeben sei folgendes System in Direktstruktur I. y[n] sei 0 für n < 0 (kausales System).
D D
+
0.6 -0.5
x[0] = 1
x[1] = -1
x[2]=0.5
0 sonst ?
Seite 187
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
3. Übung
Eine Folge von Abtastwerten x[n] soll geglättet werden, indem jeder Wert mit seinen zwei
nächsten Nachbarn gemittelt wird (gleitender Mittelwert):
y[n] =
1
x[n − 1] + x[n] + x[n + 1]
3
Ein kausales LTI-System habe die Impusantwort h[n], deren z-Transformierte wie folgt lautet:
1 + z −1
H ( z) =
(1 − 0.5 z −1 ) (1 + 0.25z −1 )
a) Stellen Sie die Differenzengleichung auf. Zeichnen Sie das System in der Direktform.
b) Geben Sie die ersten fünf Werte der Impulsantwort h[n] des Systems an.
c) Führen Sie die Rücktransformation der z-Übertragungsfunktion mittels
Partialbruchzerlegung und Korrespondenztabelle durch. Berechnen Sie nun auch die
ersten fünf Werte der Impulsantwort h[n] und vergleichen Sie das Ergebnis mit dem
Ergebnis in Aufgabenteil b.
H ( z ) = 1 − z −1
a) Berechnen Sie den Amplitudengang des Filters und geben Sie ihn graphisch im
Bereich 0 2 an. Benutzen Sie folgende Hilfe:
Seite 188
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
e j = cos() + j sin( )
sin 2 () + cos 2 () = 1
sin 2 () = 0.5 − 0.5 cos(2)
Seite 189
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Ein digitales Tiefpaß-System soll auf der Basis eines vorgegebenen Toleranzschemas für den
Amplitudengang entworfen werden. Die für den Tiefpassentwurf von MATLAB zu Verfügung
stehenden Entwurfsfunktionen, die auf Entwurfsverfahren kontinuierlicher Systeme
zurückgreifen (wie in der Vorlesung besprochen), sind:
- buttord
- cheb1ord
- cheb2ord
- ellipord
- butter
- cheby1
- cheby2
- ellip
- fd = 1 kHz
- fs = 1,4 kHz
- Rp = 0,5 dB
- Rs = 30 dB
- fa = 8 kHz
Bestimmen Sie den Filtertyp, die minimale Filterordnung und entwerfen Sie die Tiefpässe.
Vergleichen Sie Amplitudengang, Phasengang (Gruppenlaufzeit) und Pol-Nullstellenverteilung
der jeweiligen Filtertypen.
Seite 190
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Aus der Pol-Nullstellen Darstellung lassen sich mit Hilfe der MATLAB Funktion zp2sos die
second order sections (SOS) berechnen, die Teilsysteme zweiter Ordnung der dritten
kanonischen Form beschreiben.
Berechnen Sie die Filterkoeffizienten der einzelnen Teilsysteme eines Cauer Tiefpasses 7-ter
Ordnung mit der folgenden Spezifikation:
- 3 dB Grenzfrequenz: 0,4
- Durchlassdämpfung: Rp = 0,1 dB
- Sperrdämpfung: Rs = 40 dB
Zeigen Sie qualitativ die Quantisierungseinflüsse des Filters in Aufgabe 14 bei einer
beschränkten Wortbreite der Filterkoeffizienten. Wie groß muss die Wortbreite sein, damit die
tolerierte Abweichung für die
- Durchlassdämpfung: Rp = 0,15 dB
- Sperrdämpfung: Rs = 38 dB
beträgt?
Seite 191
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Aufgabe 13:
MATLAB Routine
[n,wn] = ellipord(wp,ws,Rp,Rs)
[b,a] = ellip(n,Rp,Rs,wn);
[h,w]=freqz(b,a,512);
figure (1)
plot(w/pi,abs(h));
title 'Cauer Filter'
xlabel 'Omega/pi'
ylabel '|H(exp(j*Omega))|'
% Toleranzschema
xline=[wp wp]; yline =[0 10.^(-Rp/20)]; line (xline,yline,'linestyle','--');
xline=[0 ws]; yline =[1 1]; line (xline,yline,'linestyle','--');
xline=[0 wp]; yline =[10.^(-Rp/20) 10.^(-Rp/20)];line
(xline,yline,'linestyle','--');
xline=[ws ws]; yline =[10.^(-Rs/20) 1];line (xline,yline,'linestyle','--');
xline=[ws 1]; yline =[10.^(-Rs/20) 10.^(-Rs/20)];line
(xline,yline,'linestyle','--');
grid
% Log. Plot
figure (2)
plot(w/pi,20*log10(abs(h)));
axis ([0 1 -100 0]);
%axis ([0 1 -10 0]);
title 'Cauer Filter'
xlabel 'Omega/pi'
ylabel '|H| in [dB]'
grid
% Pol-Nullstellen
figure (3)
zplane(b,a)
title 'Pol Nullstellen Verteilung'
% Phasenverlauf, Gruppenlaufzeit
figure (4)
pd = angle(h);
[gd,w] = grpdelay(b,a,512);
plot(w/pi,pd, w/pi,gd);
title 'Phasenkennlinie, Gruppenlaufzeit'
h=legend('Phase','Gruppenlaufzeit',1);
xlabel 'Omega/pi'
ylabel 'Phase Delay in [rad], Group Delay in [samples]'
grid
Seite 192
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Filterordnung:
Butterworth: 12
Tschebyscheff Typ I: 6
Cauer: 4
Seite 193
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 194
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Zu Aufgabe 14:
% Kanonische Filterstruktur
clear
[b,a] = ellip(7,0.1,40,0.4);
[h,w] = freqz (b,a,512);
[z,p,k]=tf2zp(b,a);
sos =zp2sos(z,p,k)
B_sos = sos(:,1:3);
A_sos = sos(:,4:6);
H1 = freqz(B_sos(1,:),A_sos(1,:),512);
H2 = freqz(B_sos(2,:),A_sos(2,:),512);
H3 = freqz(B_sos(3,:),A_sos(3,:),512);
H4 = freqz(B_sos(4,:),A_sos(4,:),512);
Hges = H1.*H2.*H3.*H4;
figure (1)
plot (w/pi, 20*log10(abs(h)))
Seite 195
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
xlabel ('omega/pi')
ylabel ('|H(w)|')
grid
figure (2)
plot (w/pi, 20*log10(abs(H1)),w/pi, 20*log10(abs(H2)),w/pi,
20*log10(abs(H3)),w/pi, 20*log10(abs(H4)),w/pi, 20*log10(abs(Hges)))
grid
tf(b,a)
tf(B_sos(1,:),A_sos(1,:))
tf(B_sos(2,:),A_sos(2,:))
tf(B_sos(3,:),A_sos(3,:))
tf(B_sos(4,:),A_sos(4,:))
Seite 196
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
.04633 s^7 + 0.04624 s^6 + 0.1252 s^5 + 0.1275 s^4 + 0.1275 s^3+ 0.1252 s^2 + 0.04624 s +0.04633 ---
--------------------------------------------------------------------------------------------------------------
s^7 - 2.281 s^6 + 4.069 s^5 - 4.294 s^4 + 3.505 s^3 - 1.871 s^2 + 0.6856 s - 0.1227
1. SOS:
-----------------------
s^2 - 0.3971 s
2. SOS:
s^2 + 0.6164 s + 1
-----------------------
3. SOS:
s^2 - 0.2046 s + 1
-----------------------
4. SOS:
s^2 - 0.4139 s + 1
----------------------
Seite 197
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Zu Aufgabe 15:
MATLAB Routine:
clear
grid
% Quantisierung
Hq = nb/na*freqz(bq,aq,512);
% Durchlassbereich darstellen
figure(1)
plot (w(1:208)/pi,20*log10(abs(h(1:208))));
axis ([0 0.5 -1.4 0.3]);
grid;
hold on;
% Toleranzgrenzen
plot (w(1:208)/pi,-0.15*ones(size(Hq(1:208))));
plot (w(1:208)/pi,+0.15*ones(size(Hq(1:208))));
plot (w(1:208)/pi,20*log10(abs(Hq(1:208))),'--');
hold off;
title (['Direkte Struktur: Quantisierungseinfluß bei ' num2str(bit) ' bit (--
- quantisiert)'])
xlabel ('omega/pi')
ylabel ('|H(w)|')
figure(2);
% Sperrbereich darstellen
plot (w(215:512)/pi,20*log10(abs(h(215:512))));
hold on;
plot (w(215:512)/pi,20*log10(abs(Hq(215:512))),'--');
plot (w(215:512)/pi,-38*ones(size(Hq(215:512))));
hold off;
grid;
title (['Direkte Struktur: Quantisierungseinfluß bei ' num2str(bit) ' bit (--
- quantisiert)'])
xlabel ('omega/pi')
ylabel ('|H(w)|')
% Function [aq,nfa]=coefrnd(a,w)
Seite 198
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
function [aq,nfa]=loefrnd(a,w)
f=log(max(abs(a)))/log(2); % Normierung
n=2^ceil(f); % Round toward infinity
an=a/n;
aq=lfxquant(an,w);
nfa=n;
% EOF
% Function X=lfxquant(s,bit)
% Funktion quantisiert das Signal 's' auf eine Wortlänge von 'bit' bits auf
das normierte intervall [-1,1]
function X=lfxquant(s,bit)
Plus1 = 2^(bit-1);
X=s*Plus1;
X=round(X);
X=min(Plus1 - 1 ,X); % Clip
X=max(-Plus1,X);
X=X/Plus1;
% EOF
Seite 199
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
MATLAB Routine:
% Kanonische Filterstruktur
clear
[b,a] = ellip(7,0.1,40,0.4);
[h,w] = freqz (b,a,512);
[z,p,k]=tf2zp(b,a);
sos =zp2sos(z,p,k);
B_sos = sos(:,1:3);
A_sos = sos(:,4:6);
H1 = freqz(B_sos(1,:),A_sos(1,:),512);
H2 = freqz(B_sos(2,:),A_sos(2,:),512);
H3 = freqz(B_sos(3,:),A_sos(3,:),512);
H4 = freqz(B_sos(4,:),A_sos(4,:),512);
Hges = H1.*H2.*H3.*H4;
% Quantisieren
bit= input ('Auflösung der Koeffizienten:')
for k = 1:4;
[bq(k,:),nb(k)]=lcoefrnd(B_sos(k,:),bit);
[aq(k,:),na(k)]=lcoefrnd(A_sos(k,:),bit);
end
Hq1 = nb(1)/na(1)*freqz(bq(1,:),aq(1,:),512);
Hq2 = nb(2)/na(2)*freqz(bq(2,:),aq(2,:),512);
Hq3 = nb(3)/na(3)*freqz(bq(3,:),aq(3,:),512);
Hq4 = nb(4)/na(4)*freqz(bq(4,:),aq(4,:),512);
Hqges = Hq1.*Hq2.*Hq3.*Hq4;
figure (1)
% Durchlassbereich darstellen
figure(1)
plot (w(1:208)/pi,20*log10(abs(Hges(1:208))));
axis ([0 0.5 -1.4 0.3]);
grid;
hold on;
% Toleranzgrenzen
plot (w(1:208)/pi,-0.15*ones(size(Hqges(1:208))));
plot (w(1:208)/pi,+0.15*ones(size(Hqges(1:208))));
plot (w(1:208)/pi,20*log10(abs(Hqges(1:208))),'--');
hold off;
title (['3. kanonische Struktur Quantisierungseinfluß bei ' num2str(bit) '
bit (--- quantisiert)'])
xlabel ('omega/pi')
ylabel ('|H(w)|')
figure(2);
% Sperrbereich darstellen
Seite 200
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
plot (w(215:512)/pi,20*log10(abs(Hges(215:512))));
hold on;
plot (w(215:512)/pi,20*log10(abs(Hqges(215:512))),'--');
plot (w(215:512)/pi,-38*ones(size(Hqges(215:512))));
hold off;
grid;
title (['3. kanonische Struktur Quantisierungseinfluß bei ' num2str(bit) '
bit (--- quantisiert)'])
xlabel ('omega/pi')
ylabel ('|H(w)|')
Seite 201
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Entwerfen Sie einen FIR-Tiefpass der Länge M = 50 und der normierten Grenzfrequenz =
0.4.
- fir1
Entwerfen Sie ein Filter der Ordnung M, dessen Spezifikation durch die Vektoren F und G
definiert wird. F ist ein Vektor von Frequenzpaaren (zwischen 0 und 1), die die jeweiligen
Bänder festlegen und G ist der zum Vektor gewünschte Frequenzgang.
F = [0 .3 0.5 1]
G = [1 1 0 0]
- remez
- remezord
Seite 202
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Aufgabe 16:
bR = fir1(50,0.4,boxcar(51));
[hR w] = freqz(bR,1,512);
bH = fir1(50,0.4,hanning(51));
[hH w] = freqz(bH,1,512);
bHm = fir1(50,0.4,hamming(51));
[hHm w] = freqz(bHm,1,512);
bB = fir1(50,0.4,blackman(51));
[hB w] = freqz(bB,1,512);
bK = fir1(50,0.4,kaiser(51,8));
[hK w] = freqz(bK,1,512);
figure (1)
plot (w/pi, 20*log10(abs(hR/max(hR))), w/pi, 20*log10(abs(hH/max(hH))), w/pi,
20*log10(abs(hHm/max(hHm))));
figure (2)
plot (w/pi, 20*log10(abs(hB/max(hB))), w/pi, 20*log10(abs(hK/max(hK))));
pd = angle(hR)
figure (3)
plot (w/pi, pd)
%title ('Nicht-rekursiver TP Entwurf mit Fensterung')
xlabel ('omega/pi')
ylabel ('Phasengang')
grid
figure (4)
gd=grpdelay (bR,1,512);
plot (w/pi, gd)
%title ('Nicht-rekursiver TP Entwurf mit Fensterung')
xlabel ('omega/pi')
ylabel ('Gruppenlaufzeit')
grid
Seite 203
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 204
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 205
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Aufgabe 17:
% Frequenzgang wichten
w=[0.5 2];
b=remez(m,f,g,w);
[h w]=freqz(b,1,512);
figure (2)
plot(f,g,w/pi,abs(h));
grid;
xlabel('omega/pi');
ylabel('|H(w)|');
Seite 206
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 207
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Anhang B: Tabellen
Die in diesem Anhang enthaltenen Tabellen sind als Hilfsmittel in der Klausur erlaubt
Seite 208
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 209
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 210
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 211
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 212
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 213
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
• Nichtlinearität
Seite 214
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
Seite 215
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
• Toplevel
Seite 216
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar
• Toplevel Testbench
Seite 217