Sie sind auf Seite 1von 218

Digitale Signalverarbeitung

Skript zum Wintersemester 2023/2024 (Version 1.5)


Ursprünglich erstellt zum Wintersemester 2010/2011
geändert zum Wintersemester 2011/2012 aufgrund neuer SPW Version
Kapitel 7- 9 geändert zum Wintersemester 2013/2014 (Entwurf der Filter mit MATLAB/Simulink statt
SPW)
geändert zum Wintersemester 2015/2016: Red Pitaya als FPGA Plattform
geändert zum Wintersemester 2018/2019: MATLAB/Simulink als modellbasierter Design Flow

Prof. Dr.-Ing. Martin Buchholz

Hochschule für Technik und Wirtschaft


Saarbrücken
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

INHALT

KAPITEL 1: MOTIVATION ........................................................................................... 5

KAPITEL 2: GRUNDLAGEN DER SIGNALVERARBEITUNG................................. 8

KAPITEL 3: ZEITDISKRETE SIGNALE UND SYSTEME...................................... 56

KAPITEL 4: STRUKTUREN ZEITDISKRETER SYSTEME .................................. 74

KAPITEL 5: DARSTELLUNG ZEITDISKRETER SIGNALE UND SYSTEME IM


FREQUENZBEREICH................................................................................................... 85

KAPITEL 6: DIE Z-TRANSFORMATION ................................................................ 97

KAPITEL 7: ENTWURF REKURSIVER DIGITALER FILTER ........................... 115

KAPITEL 8: ENTWURF NICHT-REKURSIVER DIGITALER FILTER ............ 133

KAPITEL 9: SIMULATION UND IMPLEMENTIERUNG VON ALGORITHMEN


DER DIGITALEN SIGNALVERARBEITUNG IN HARDWARE (FPGA) ........... 159

KAPITEL 10: FPGA PROGRAMMIERUNG MIT MATLAB UND SIMULINK. 183

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

Inhalt und prüfungsrelevanter Stoff der Vorlesung der Digitalen Signalverarbeitung im


5.Semester des Studiengangs Elektrotechnik (E) im Bachelor Studium:

1. Motivation

2. Grundlagen

• Klassifizierung von Signalen (wert- und zeitdiskret, wert- und zeitkontinuierlich)


• -Distribution
• Fourier-Transformation
• Faltung, Faltungssatz
• Aufbau einer digitalen Signalverarbeitungskette
• Abtastung (Multiplikation mir Impulskamm)
• Abtasttheorem
• Aliasing
• Nichtideale Abtastung mit rechteckförmigen Impulsen
• Rekonstruktionstiefpass (Interpolation)
• Signal-Quantisierungsabstand
• Überabtastung (Wortlängenreduktion)
• Codierung
• Nichtlineare Quantisierung

3. Zeitdiskrete Signale und Systeme

• Beispiele zeitdiskreter Systeme


• Klassifizierung von diskreten Systemen (linear, zeitinvariant, kausal)
• Impulsantwort diskreter Systeme
• Beschreibung von diskreten LTI Systemen im Zeitbereich (diskrete Faltung)
• Stabilität
• Rekursive und nicht-rekursive Systeme

4. Strukturen zeitdiskreter Systeme

• Lineare Differenzengleichungen mit konstanten Koeffizienten


• Graphische Darstellung (Blockdiagramm)
• Grundlegende Strukturen von FIR- und IIR-Systemen: Direktform I, Direktform II

5. Darstellung zeitdiskreter Signale und Systeme im Frequenzbereich

• Eigenfunktion diskreter Systeme


• Frequenzgang, Fourier-Transformierte einer Abtastfolge
• Symmetrieeigenschaften der Fourier-Transformation
• Zeitdiskrete Fourier-Transformation

6. Die z-Transformation

• Herleitung der z-Transformation


• Anwendung der z-Transformation
• Stabilitätskriterium im z-Bereich
• z-Übertragungsfunktion
• Rücktransformation mit Partialbruchzerlegung

Seite 2
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

7. Entwurf rekursiver, digitaler Filter

• Toleranzschema
• Standardentwürfe im s-Bereich (kontinuierliches System)
• Entwurf eines rekursiven Filters unter Anwendung der bilinearen Transformation
• MATLAB Übung zum Entwurf rekursiver Filter

8. Entwurf nicht-rekursiver, digitaler 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

9. Simulation und Implementierung von Algorithmen der digitalen


Signalverarbeitung in Hardware (FPGA) 1

• Einarbeitung in Simulink von MATLAB


• Verhaltensmodellierung (funktionale Verifikation) in „floating point“
• Beispiele:
o Nicht-rekursive und rekursive Systeme
• Spektrale Analyse mittels FFT (Fast Fourier Transform)
• Hardware Beschreibung in „fixed point“ von
o Sägezahngenerator
o Sinusgenerator
o Nichtlinearität (quadratische und kubische Kennlinie)
o Filterung
mit besonderer Berücksichtigung von
o Wortbreiten (Bitauflösung)
o Timing (kritische Pfade, Pufferung)
o Überlauf Handling (overflow mode: clip oder wrap)
o Rundungsfehlern (loss of precision: round, truncate, etc.)
• Erstellen eines “Top Level”-Designs mit Testumgebung
• Erzeugung eines VHDL (Hardware Description Language) Codes
• Synthese (‚von Software zur Hardware’)
• Place & Route
• Programmierung eines FPGA’s (Field Programmable Gate Array)
• FPGA Design Flow
• Messtechnische Verifizierung an Hand eines FPGA Prototypen Boards, Oszilloskops
und Spektrumanalysators

Zusätzlich zur Vorlesung: vorlesungsbegleitende Übungen und praktisches Arbeiten mit


MATLAB und unterschiedlichen Toolboxen von Simulink.

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

Literatur (verfügbar an der HTW):

Martin Werner: Digitale Signalverarbeitung mit MATLAB


Intensivkurs mit 16 Versuchen
Vieweg Verlag

Karl-Dirk Kammeyer; Digitale Signalverarbeitung


Kristian Kroschel: Filterung und Spektralanalyse mit MATLAB Übungen
Teubner

Daniel Ch. von Grünigen: Digitale Signalverarbeitung


mit einer Einführung in die kontinuierlichen Signale und Systeme
Fachbuchverl. Leipzig im Carl-Hanser-Verl.

Alan V. Oppenheimer; Zeitdiskrete Signalverarbeitung


Roland W. Schafer; Pearson Studium
John R. Buck:

H. Götz Einführung in die digitale Signalverarbeitung


Teubner Studienskripte

J. Hoffmann; Signalverarbeitung mit MATLAB und Simulink


Franz Quint Anwendungsorientierte Simulationen
Oldenbourg Verlag

E. Oran Brigham FFT Anwendungen


Oldenbourg

Dieses Skript entstand parallel zur Vorlesung im Wintersemester 2018/19.


Das durchgeführte FPGA Projekt und die damit verbundenen praktischen Aufgaben können von
Semester zur Semester variieren.

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:

• Digitale Fernseh Receiver (DVB Set Top Box)


• AV Receiver (DTS, Dolby Digital, MPEG2, MPEG4)
• MP3 Player
• Mobilkommunikation
• Filter mit linearem Phasengang (Audio)
• Sprach- und Bildverarbeitung
• Spektralanalyse
• Übertragungsprotokolle

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.

Vorteile der Digitalen Signalverarbeitung sind:

• Reproduzierbarkeit – alle digitalen Hardwaresysteme ergeben die gleichen Ergebnisse


bei gleichen Voraussetzungen wie Wortbreite, etc.
• Langzeit- und Temperaturstabilität
• Hohe Genauigkeit
• Keine Abgleichmaßnahmen erforderlich
• Hohe Zuverlässigkeit
• Geringe Störempfindlichkeit

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.

Parallel zu diesen theoretischen Grundlagen wird in der Vorlesung die Hardware-Realisierung


von ausgewählten digitalen Algorithmen in einem FPGA praktisch durchgeführt. Dazu werden
heutzutage in der Industrie eingesetzte gängige EDA Tools benutzt.

Abb.: Digitaler Signal Prozessor (DSP)

Abb.: Programmierbare Hardware (FPGA)

Seite 6
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Abb.: FPGA Entwicklungs-Board (ZYBO)

Abb.: Red Pitaya Board mit Zynq FPGA

Seite 7
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Kapitel 2: Grundlagen der Signalverarbeitung

2.1 Klassifizierung von Signalen

Zeitkontinuierliche und zeitdiskrete Signale

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.

Wertkontinuierliche und wertdiskrete Signale

Der Wertebereich des Signals kann ebenfalls kontinuierlich oder diskret sein.

Somit ergeben sich vier Fälle:

Abb.: Klassifizierung von Signalen

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.

Die Analog-Digital Wandlung umfasst die folgenden 3 Schritte:

• 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
−

Auch für einen um t0 verschobenen Dirac-Impuls (t-t0), gilt:

(t-t0)

0 t0 t

Abb.: Verschobener -Impuls


  (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)

-3T -2T -1T 1T 2T 3T 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.

Die Fourier-Transformation lautet mathematisch:


− j 2ft
X (f ) =  x (t )  e dt
−

und wird graphisch durch das Transformationssymbol dargestellt:

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 2ft
  (t )  e dt = e − j 2f 0 = 1
−

(t)
X(f)
1
1

0 t
0 f

Abb.: Korrespondenz eines -Impulses

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.

Umgekehrt führt die Anwendung der Inversen Fourier-Transformation



j 2ft
x (t ) =  X (f )  e df
−

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

Eine Verschiebung des Impulses auf der Frequenzachse um f = f0,

(f-f0)

0 f0 f

führt demzufolge zu der Zeitfunktion

 j 2f 0 t
j 2ft
x (t ) =   ( f − f0 )  e df = e
−

bzw. als Transformationspaar:

exp(j2f0t) (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(jt) ausgedrückt werden können. Es gilt:

1 jt 1 − jt
cos(t ) = e + e
2 2

1 jt 1 − jt
sin(t ) = e − e
2j 2j
sowie

e jt = cos(t ) + j sin( t )

Diese Beziehung verdeutlicht, dass es sich bei der komplexen Exponentialfunktion um einen
komplexen Zeiger handelt, der mit der Frequenz  = 2f 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)

Abb.: Komplexe Exponentialfunktion

Mit der Fourier-Korrespondenz des Dirac-Impulses ergibt sich somit für die Spektren der
trigonometrischen Funktionen:

cos(2f0t) 0.5 (f-f0) + 0.5 (f+f0)

sin(2f0t) 0.5/j (f-f0) - 0.5/j (f+f0)

X(f)

0.5

-f0 0 f0 f
Abb.: Fourier-Korrespondenz der cos-Funktion

jX(f)

0.5

-f0 0 f0 f
- 0.5

Abb.: Fourier-Korrespondenz der sin-Funktion

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 = −

Die Fourier-Transformierte einer Folge äquidistanter Delta-Impulse im Zeitbereich besteht aus


einer Folge äquidistanter Deltafunktionen im Frequenzbereich.
Ein Impulskamm hat also als Fourier-Transformierte wiederum einen Impulskamm zur Folge.
Allerdings ist darauf zu achten, dass je größer der Abstand T der Delta-Impulse im Zeitbereich
ist, umso kleiner wird der Abstand 1/T der Delta-Impulse im Frequenzbereich. Dies wird später
zum Verständnis des Abtast-Theorems wichtig sein.

T(t) X(f)

-3T -2T -1T 1T 2T 3T t -2/T -1/T 1/T 2/T f

Abb.: Fourier-Korrespondenz des Impulskamms

Im Anhang dieses Kapitels finden Sie einige übliche Fourier-Transformations Korrespondenzen.

2.4 Faltung und Faltungssatz

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

(t) h(t) y(t)=h(t)

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.

x(t) h(t) y(t)=x(t)*h(t)

Abb.: Faltung

Oftmals ist allerdings die Berechnung des Ausgangssignals im Frequenzbereich mit Hilfe des
Faltungssatzes einfacher als im Zeitbereich.

Der Faltungssatz besagt: Eine Faltung im Zeitbereich entspricht einer Multiplikation im


Frequenzbereich. Oder genauer: Eine Faltung zweier Zeitsignale im Zeitbereich entspricht im
Frequenzbereich der Multiplikation der entsprechenden Fourier-Transformierten.

y(t)=x(t)*h(t) Y(f) = X(f) H(f)

X(f) H(f) Y(f)=X(f) H(f)

Abb.: System im Frequenzbereich

Seite 16
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Das Ausgangsspektrum Y(f) (Fourier-Transformierte des Ausgangssignals) kann somit einfach


aus der Multiplikation des Eingangsspektrums X(f) (Fourier-Transformierte des Eingangssignals)
mit dem Frequenzgang des Systems H(f) (Fourier-Transformierte der Impulsantwort) ermittelt
werden. Das Ausgangssignal im Zeitbereich erhält man dann wiederum durch eine Inverse
Fourier-Transformierte des Ausgangsspektrums.

Umgekehrt entspricht einer Multiplikation im Zeitbereich eine Faltung im Frequenzbereich


(Multiplikationssatz)

x(t) h(t) X(f) * H(f)

2.5 Aufbau einer Digitalen Signalverarbeitungskette

Der prinzipielle Aufbau einer digitalen Signalverarbeitungskette besteht aus:

• Tiefpassfilter zur Bandbegrenzung des Eingangssignals (Anti-Aliasing Filter)


• Analog-Digital-Wandlung
• der eigentlichen digitalen Verarbeitung
• Digital-Analog-Wandlung
• Tiefpassfilter zur Ausfilterung der Wiederholspektren (Rekonstruktionstiefpass)

fa

x(t) xa(t) A x[n] Digitale y[n] D ya(t) y(t)


TP Signalver- TP
D arbeitung A

Anti-Alias-Filter Abtaster Rekonstruktions-Tiefpass


© Buchholz

Abb.: Aufbau eines DSV-Systems

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)

Abb.: Ideale Abtastung

Seite 17
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar


x a (t ) = x (t )    (t − nT )
n = −

T ist dabei die Abtastperiode, bzw.

1
fa =
T

mit fa = Abtastrate oder Abtasttakt.

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
−

und der Siebeigenschaft der -Distribution folgt:

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

Abb.: Spektren eines analogen Originalsignals ...

Xa(f)

-fa -fmax fmax fa 2fa f


© Buchholz
... und des abgetasteten Signals

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.

Daher muss die Abtast- bzw. Nyquistbedingung

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 den Fall fa  2fmax

spricht man von Unterabtastung,

für fa  2fmax

von Überabtastung und

für fa = 2fmax

von kritischer Abtastung.

Xa(f)

-fa -fmax fmax fa 2fa f


© Buchholz

Abb.: Spektrum bei kritischer Abtastung

Xa(f)

-fa -fmax fmax fa 2fa f


© Buchholz

Abb.: Spektrum bei Unterabtastung

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

Abb.: Abtastung unter Einhaltung des Abtast-Theorems


Quelle: O. Brigham: Fast Fourier Transform

Seite 21
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Abb.: Abtastung unter Verletzung des Abtast-Theorems


Quelle: O. Brigham: Fast Fourier Transform

Seite 22
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

1. Praktische Übung: Diskretes Sinussignal, nicht-rekursives digitales System

eingesetztes Tool: MATLAB/Simulink

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:

I. Erzeugen eines Designs

1. Starten von Simulink aus MATLAB

Abb.: Starten Simulink

2. Aufrufen der Bibliotheken (Library Browser)

Abb.: Library Browser

Man kann die zur Verfügung stehenden Bibliotheken und deren Elemente sehen:

Abb. Simulink Bibliotheken

Seite 24
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

3. Neues Simulink Modell öffnen

Abb.: Neues Simulink Modell erstellen

4. Zusammenstellen des Systems aus


• simulink/Sources/Sine Wave
• simulink/Commonly Used Blocks/Delay
• simulink/Math Operations/Sum
• Simulink/Sinks/Scope

Abb.: System in Simulink Umgebung


5. Parametrisierung aller Blöcke

Abb.: Parametrisierung Delay Block

Seite 25
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Abb.: Parametrisierung des Sinusgenerators

II. Design Simulation

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

Abb.: Einstellen der Simulationsdauer und Starten der Simulation

III. Analyse der Simulationsergebnisse

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.

Abb.: Ein- und Ausgangssignal

Interpretation der Simulation:

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.

2. Praktische Übung: Rekursives digitales System, Stabilität

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

b) Variieren Sie den Koeffizienten in der Rückkopplung.

Seite 28
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Abb.: Rückgekoppeltes (rekursives System) im Aufgabeteil a

Für den Aufgabenteil a) sieht das simulierte Ein- und Ausgangssignal wie folgt aus:

Abb.: Ein- und Ausgangssignal im Aufgabenteil a

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.

Abb.: Rückgekoppeltes (rekursives System) im Aufgabeteil b

Abb.: Ein- und Ausgangssignal im Aufgabenteil b

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.

3. Praktische Übung: Akkumulator, Sägezahngenerator

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.

Abb.: Akkumulator (Zähler) bis 50 und Rücksetzen

Abb.: Erzeugtes Sägezahn-Signal

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

2.7 Nichtideale Abtastung

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

Abb.: Abtastung mit Halteglied


 t − nT 
x a ´(t ) =  x(nT )  rect 
 T 

n = −

Seite 33
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

 
 t − nT  − j 2ft
X a´ (f ) =   x (nT )  rect 
 T  e

dt
−  n = −

 nT +T / 2
− j 2ft
=  x(nT )  e dt
n = − nT −T / 2

nT +T / 2

e − j 2ft
=  x (nT )
n = −
− j 2f
nT −T / 2


e − j 2f ( nT +T / 2) − e − j 2f ( nT −T / 2)
=  x(nT )  − j 2f
n = −

  − j 2fT / 2 − e j 2fT / 2 
− j 2fnT  e
=  x ( nT )  e  
 − j 2f


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

Abb.: si-Verzerrungen durch das Halteglied (hier bei kritischer Abtastung)

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.

2.8 Rekonstruktion (Digital-Analog-Wandlung)

Nach dem Abtast-Theorem sind die Abtastwerte eines zeitkontinuierlichen, bandbegrenzten


Signals ausreichend um das Signal exakt darzustellen, wenn das Abtast-Theorem erfüllt ist. Das
bedeutet im Umkehrschluss, dass das kontinuierliche Signal aus seinen Abtastwerten
rekonstruiert werden kann. Für den Zeitbereich bedeutet dies eine eindeutig exakte Interpolation
der Abtastwerte, für den Frequenzbereich eine Filterung der Wiederholspektren.

In der nachfolgenden Abbildung ist die Wiedergewinnung des Originalspektrums durch eine
ideale Tiefpass-Funktion dargestellt.

Xa(f) Ideales Tiefpassfilter

-fa -fmax fmax fa 2fa f


© Buchholz
-fg fg

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:

HTP (f ) = 1 für f  fg; 0 sonst

sin(2fg t )
hTP (t ) = 2  fg  = 2fg  si (2fg t )
2fg 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( 2fg t ) 
=
t
  x(nT )   (t − nT )
n = −

 (
sin 2fg (t − nT ) )
= 2  fg  x (nT ) 
2fg (t − nT )
n = −


= 2  fg  x(nT )  si (2fg (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)

Abb.: Ideale Interpolation

Abb.: Rekonstruktion im Zeitbereich – Interpolation durch zeitverschobene, gewichtete si-


Funktionen

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

Abb.: Tiefpassfilter mit unterschiedlichen roll-off Faktoren

2.9 Signal-Quantisierungsabstand

Mögliche Störgrößen bei der Digitalisierung sind:

• Aliasing, falls Abtast-Theorem verletzt wird


• Abtasttakt nicht konstant -> Jitter
• Nicht ideale Rekonstruktion
• Quantisierungsfehler

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

Abb.: gefiltertes Quantisierungsrauschen

so wird ein Teil des Quantisierungsrauschens gefiltert, der Signal-Quantisierungsabstand somit


gemäß

  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:

• Anforderungen an den Rekonstruktions-Tiefpass werden reduziert, da die


Wiederholspektren weiter auseinanderliegen.
• si-Verzerrungen durch Halteglied bei realer Abtastung wirken sich weniger auf das
Nutzspektrum aus.
• das Quantisierungsrauschen wird geringer. Es kann mit geringerer Wortbreite gearbeitet
werden.

2.11 Codierung

Die beiden gebräuchlichsten Codierungen des diskreten Signals sind:


• Offset Binary (Unsigned) und
• Zweier-Komplement (2’s Complement oder Two’s Complement)
Darstellung.

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

Abb.: 8-bit Zweierkomplement Integer

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

Abb.: 8-bit Offset Binary Integer

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

Abb.: 3-bit Zweierkomplement Fractional

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

Abb.: 3-bit Offset Binary Fractional

Seite 40
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

2.12 Nichtlineare Quantisierung

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.

Abb.:13 Segment Kennlinie

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.

2.13 Praktische Gesichtspunkte

Analog-Digital Wandler werden nach den folgenden Gesichtspunkten ausgewählt:

• 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

Abb.: Datenblatt (Auszug) eines AD-Wandlers

4. Praktische Übung: Spektrale Analyse, Frequenzbereich, Spektrumanalysator

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

Abb.: Zeit- und Frequenzbereichsdarstellung

Abb.: Zweiseitige Spektraldarstellung

Seite 44
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Abb.: Einseitige Spektraldarstellung

Abb.: Lineare Skalierung der Leistung (in Watt)

Da die Sinusfolge mit einer Abtastrate von 1 MHz, was einer Abtastperiode (Sampling Time) von
1e-6 s = 1s 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.

5. Praktische Übung: Festkomma (fixed point) Design des Sägezahngenerators

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‘.

Abb.: Sägezahngenerator in Fixed Point

Seite 46
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Abb.: Signal Attribute der Festkomma Implementierung

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).

Generell kann man zwischen vorzeichenbehafteter (signed) und nicht vorzeichenbehafteter


Binärdarstellung (unsigned) unterscheiden. Dies entspricht meist den Codierungen Offset Binär
Darstellung und Zweier-Komplement Darstellung.

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

Abb.: 8 Bit Zähler als Fixed point Sägezahngenerator

Abb.: Spektrum des periodischen Sägezahnsignals

Seite 48
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

6. Praktische Übung: Festkomma (fixed point) Design eines Akkumulators

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.

Abb.: Auswahl der Festkomma Attribute


Mit dieser Auswahl, also
SX.XXXXXXXXXXXXXX
kann demzufolge der Zahlenbereich von -2 bis 2-2-14 mit einer Auflösung 2-14 von dargestellt
werden.

Seite 49
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Abb.: Simulationsergebnis

7. Praktische Übung: Quantisierungsrauschen

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.

Abb.: Simulation des Einflusses der Quantisierung

Seite 50
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Abb.: Quantisierung im Zeitbereich

links oben: keine Quantisierung

links unten: 8 Bit Quantisierung

rechts unten: 4 Bit Quantisierung

Abb.: Quantisierung im Frequenzbereich

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

2.14 Anhang zu Kapitel 2 (dürfen in der Klausur benutzt werden)

• Korrespondenzen der Fourier-Transformation

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

Kapitel 3: Zeitdiskrete Signale und Systeme


3.1 Diskrete Signale

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.

3.2 Elementare diskrete Folgen

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

Abb.: Diskrete Impulsfunktion

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.

• Sprungfunktion u[n] (Einheitssprung)

1 𝑓ü𝑟 𝑛 ≥ 0
𝑢[𝑛] = {
0 𝑓ü𝑟 𝑛 < 0

Abb.: Diskrete Sprungfunktion

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

𝛿[𝑛] = 𝑢[𝑛] − 𝑢[𝑛 − 1]


• Exponentialfolge

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.

Abb.: Diskrete reelle Exponentialfolge


• Sinusfunktion

𝑥[𝑛] = sin(2𝜋𝑓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 1/4 1/2 1 f/fa

0 /2  2 

© Buchholz

Abb.: Darstellung normierter Frequenzen

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

Abb.: Diskrete Sinusschwingung mit N=10

• Komplexe Exponentialfunktion

Die Exponentialfunktion
𝑥[𝑛] = 𝐴 ∙ 𝛼 𝑛

Seite 59
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

mit komplexem  besitzt einen Real- und einen Imaginärteil:

𝑛
𝑥[𝑛] = 𝐴 ∙ |𝛼| ∙ 𝑒𝑗𝑛Ω0

= 𝐴 ∙ [cos(nΩ0 ) + j ∙ sin (nΩ0 )]

für  = 1.

• Beliebige diskrete Folgen

Beliebige Folgen können durch eine Summe von skalierten, verzögerten Impulsen dargestellt
werden.

𝑥[𝑛] = ∑ 𝑥[𝑘] ∙ 𝛿[𝑛 − 𝑘]


𝑘=−∞

Beispiel:

𝑥[𝑛] = 𝑎−3 ∙ 𝛿[𝑛 + 3] + 𝑎−1 ∙ 𝛿[𝑛 + 1] + 𝑎2 ∙ 𝛿[𝑛 − 2]

Abb.: Beliebige diskrete Folge

• Periodische und a-periodische Signale

Ein diskretes Signal ist periodisch wenn gilt:

𝑥[𝑛] = 𝑥[𝑛 + 𝑁]

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.

3.3 Diskrete Systeme

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{ }

Abb.: Diskrete Systemoperation


Beispiele:
• Verzögerungsglied
𝑦[𝑛] = 𝑥[𝑛 − 𝑛0 ]

Dies stellt eine Verschiebung um n0 Abtastwerte nach rechts dar.

• 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

Abb.: Summierer (Akkumulator)

Seite 61
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

3.4 Klassifizierung diskreter Systeme

Diskrete Systeme lassen sich unterscheiden nach:

• Systeme mit oder ohne Speicher

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.

Beispiel für ein kausales System: Rückwärts-Differenz-System

𝑦[𝑛] = 𝑥[𝑛] − 𝑥[𝑛 − 1]

Beispiel für ein nicht-kausales System: Vorwärts-Differenz-System

𝑦[𝑛] = 𝑥[𝑛 + 1] − 𝑥[𝑛]

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

𝑥1 [𝑛] ⇒ 𝑦1 [𝑛] 𝑢𝑛𝑑 𝑥2 [𝑛] ⇒ 𝑦2 [𝑛]

so hat jede Linearkombination der beiden Eingangsfolgen am Eingang des linearen Systems die
entsprechende Linearkombination der beiden Ausgangsfolgen zur Folge.

𝑎𝑥1 [𝑛] + 𝑏 𝑥2 [𝑛] ⇒ 𝑎𝑦1 [𝑛] + 𝑏𝑦2 [𝑛]

• Zeitinvarianz

Ein zeitvariantes System ist ein System, welches bei einer Zeitverschiebung oder einer
Verzögerung der Eingangsfolge
𝑥1 [𝑛] = 𝑥[𝑛 − 𝑛0 ]

eine entsprechende Verschiebung bzw. Verzögerung der Ausgangsfolge hervorruft.

⟹ 𝑦1 [𝑛] = 𝑦[𝑛 − 𝑛0 ]

• Lineare zeitinvariante Systeme (LTI Systeme)

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.

3.5 Beschreibung diskreter LTI-Systeme im Zeitbereich

• Diskrete Impulsantwort h[n]

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.

𝛿[𝑛] ⇒ ℎ[𝑛]

Impulsantworten einiger Beispiele:

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:

ℎ[𝑛] = 0 𝑓ü𝑟 𝑛 < 0

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

Beispiel für ein instabiles System: Summierer

• Diskrete Faltung (Faltungssumme)

Das Ausgangssignal eines diskreten Systems auf eine beliebige Eingangssequenz ist durch die
diskrete Faltung der diskreten Impulsantwort mit der Eingangsfolge definiert.

𝑦[𝑛] = 𝑥[𝑛] ∗ ℎ[𝑛] = ∑ 𝑥[𝑘] ∙ ℎ[𝑛 − 𝑘]


𝑘=−∞

Abb.: Ausgangssignal als Faltung des Eingangssignals mit der Impulsantwort

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

h[0] = 1; h[1] = 0.75; h[2] = 0.5; ansonsten h[n] = 0

auf die Eingangsfolge

x[-2] = 2; x[0] = 3; x[3] = -1, ansonsten x[n] = 0.

Seite 65
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Abb.: Durchführung der diskreten Faltung

Seite 66
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

• Eigenschaften von LTI Systemen

- Die Faltung ist kommutativ

𝑥[𝑛] ∗ ℎ[𝑛] = ℎ[𝑛] ∗ 𝑥[𝑛]

Daraus folgt für die Serienschaltung zweier LTI-Systeme:

Abb.: Serienschaltung zweier LTI Systeme

Die Gesamt-Impulsantwort einer Serienschaltung von LTI Systemen ergibt sich aus der Faltung
der Einzel-Impulsantworten.

- Die Faltung ist distributiv

𝑥[𝑛] ∗ (ℎ1 [𝑛] + ℎ2 [𝑛]) = 𝑥[𝑛] ∗ ℎ1 [𝑛] + 𝑥[𝑛] ∗ ℎ2 [𝑛]

Daraus folgt für die Parallelschaltung zweier LTI-Systeme:

x[n] h1[n] y[n] = x[n]*h1[n] + x[n]*h2[n]


+
h2[n]

x[n] y[n] = x[n]*(h1[n]+h2[n] )


h1[n] + h2[n]

Abb.: Parallelschaltung zweier LTI Systeme

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

3.6 Nichtrekursive und rekursive Systeme

Die Impulsantworten des idealen Verzögerungsglieds, des Vorwärtsdifferenzierers, des


Rückwärtsdifferenzieres und des gleitenden Mittelwertes sind alle zeitlich begrenzt. Diese
Systeme werden deshalb finite duration impulse response systems, kurz finite impulse response,
oder FIR Systeme genannt.
Dahingegen ist die Impulsantwort des Summierers von unbegrenzter Dauer. Dies ist ein Beispiel
für ein infinite duration impulse response, kurz infinite impulse response, oder IIR Systeme
genannt.

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.

8. Praktische Übung: Impulsantwort rekursiver und nichtrekursiver Systeme

Aufgabenstellung:
8.1 Gegeben ist das Blockschaltbild des folgenden rekursiven Systems (Akkumulator,
Integrator):

Abb.: Rekursives System

a) Berechnen Sie mit Simulink die Impulsantwort h[n].


b) Gegen welchen Wert strebt die aufintegrierte Impulsantwort? Ist das System demzufolge
stabil?

Abb.: Simulink Design des rekursiven Systems zur Berechnung der Impulsantwort

Seite 68
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Abb.: Impulsantwort h[n]

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:

Abb.: Rekursives System

c) Berechnen Sie nun wiederum mit Simulink die Impulsantwort h[n].


d) Gegen welchen Wert strebt nun die aufintegrierte Impulsantwort? Ist das System demzufolge
stabil?

Abb.: Impulsantwort h[n]

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.: Kombination aus rekursivem und nicht-rekursiven Anteil

e) Ist dieses System stabil?


f) Wie lautet das Ausgangssignal y[n] für ein beliebiges Eingangssignal x[n]?
g) Was ändert sich, wenn die Reihenfolge des rekursiven und nicht-rekursiven Teils vertauscht
wird?

Abb.: Simulink Design

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]

9. Praktische Übung: Implementierung eines Sinusgenerators (Direct Digital Synthesis –


DDS)

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.

Abb.: Digitaler Sinusgenerator (Direct Digital Synthesis – DDS)

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.: Digitaler Sinusgenerator als fixed point in Simulink

Abb.: Testumgebung für Digitalen Sinusgenerator

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

Tsaw = 1/fsaw © Buchholz

Abb.: Berechnung der Frequenz

Sie ist somit veränderbar durch:


• Durch das Ändern des Wertes, der mit jedem Takt inkrementiert wird.
• Durch Ändern der Taktfrequenz.
• Durch Ändern der Wortbreite

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:

fsaw = fsinus = 125 MHz / 256 = 488,28125 kHz

Die Wortbreite der abgelegten Sinuswerte hingegen wird an die Wortbreite und die Codierung
des benutzten Digital-Analog-Wandler des Red Pitaya Boardes angepasst:

14 Bit, offset binär codiert

Seite 73
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Kapitel 4: Strukturen zeitdiskreter Systeme


4.1 Lineare Differenzengleichungen mit konstanten Koeffizienten

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.

Herleitung: Übergang von analogen (Differentialgleichung) zu diskreten (Differenzengleichung)


Systembeschreibung am Beispiel eines Tiefpasses 1. Ordnung:

R I(t)

x(t) = U1(t) C y(t) = U2(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]
𝑇 𝑇

Auflösen nach y[n] ergibt:


𝑅𝐶
𝑥[𝑛] 𝑦[𝑛 − 1]
𝑦[𝑛] = + 𝑇
𝑅𝐶 𝑅𝐶
{ 𝑇 + 1} { 𝑇 + 1}

bzw. mit

1 𝑅𝐶⁄
𝑏0 = 𝑢𝑛𝑑 𝑎1 = 𝑇
𝑅𝐶⁄ + 1 𝑅𝐶⁄ + 1
𝑇 𝑇

𝑦[𝑛] = 𝑏0 𝑥[𝑛] + 𝑎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

Abb.: Rekursives digitales Filter 1. Ordnung

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.

10. Praktische Übung: Realisierung eines Digitalen Tiefpassfilters 1. Ordnung

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

b) Berechnen Sie die Koeffizienten b0 und a1.


c) Welche Wortbreiten schlagen Sie für die Koeffizienten a1 und b0 und für die
Signalverarbeitung vor, falls das Eingangssignal m Bereich zwischen 1 und -1 Volt liegt.
d) Beschreiben Sie eine Testumgebung (testbench) um die korrekte Funktionalität des
Filters zu prüfen.

zu a) und b) und c)

Abb.: Realisiertes Filter mit Koeffizienten und Wortbreiten


zu c)

Abb.: Testumgebung

Seite 76
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Abb: Sprungantwort

Abb: Gefiltertes weißes Rauschen und somit der Frequenzgang

Allgemein kann jede Differentialgleichung durch eine Differenzengleichung approximiert werden:

𝑎0 𝑦[𝑛] + 𝑎1 𝑦[𝑛 − 1] + 𝑎2 𝑦[𝑛 − 2] + 𝑎3 𝑦[𝑛 − 3] + … + 𝑎𝑁 𝑦[𝑛 − 𝑁]


= 𝑏0 𝑥[𝑛] + 𝑏1 𝑥[𝑛 − 1] + 𝑏2 𝑥[𝑛 − 2] + 𝑏3 𝑥[𝑛 − 3] + … + 𝑏𝑀 𝑥[𝑛 − 𝑀]

bzw. kürzer:
𝑁 𝑀

∑ 𝑎𝑘 𝑦[𝑛 − 𝑘] = ∑ 𝑏𝑚 𝑥[𝑛 − 𝑚]
𝑘=0 𝑚=0

Seite 77
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

4.2 Grundlegende Strukturen von FIR- und IIR-Systemen

Ausgehend von
𝑎0 𝑦[𝑛] + 𝑎1 𝑦[𝑛 − 1] + 𝑎2 𝑦[𝑛 − 2] + 𝑎3 𝑦[𝑛 − 3] + … + 𝑎𝑁 𝑦[𝑛 − 𝑁]
= 𝑏0 𝑥[𝑛] + 𝑏1 𝑥[𝑛 − 1] + 𝑏2 𝑥[𝑛 − 2] + 𝑏3 𝑥[𝑛 − 3] + … + 𝑏𝑀 𝑥[𝑛 − 𝑀]

ergibt sich das Ausgangssignal y[n] somit zu:

𝑎0 𝑦[𝑛] = 𝑏0 𝑥[𝑛] + 𝑏1 𝑥[𝑛 − 1] + 𝑏2 𝑥[𝑛 − 2] + 𝑏3 𝑥[𝑛 − 3] + … + 𝑏𝑀 𝑥[𝑛 − 𝑀] − 𝑎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.:
𝑀 𝑁

𝑦[𝑛] = ∑ 𝑏𝑚 𝑥[𝑛 − 𝑚] − ∑ 𝑎𝑘 𝑦[𝑛 − 𝑘]


𝑚=0 𝑘=1

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

Allgemein besteht ein Differenzengleichungssystem aus der Hintereinanderschaltung eines


nichtrekursiven Anteils (Koeffizienten b0 bis bM) und eines rekursiven Anteils (Koeffizienten a1 bis
aN).

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

Abb.: Vertauschen von rekursivem und nicht-rekursivem Anteil

Bei dieser Struktur können allerdings jeweils zwei Verzögerungsglieder zusammengefasst


werden. Dies resultiert dann in der Direktform II, die sich durch ein Einsparen von
Verzögerungsgliedern (Register) und damit eine effizientere Hardware-Realisierung auszeichnet.

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 𝑥[𝑛] + 𝑏1 𝑥[𝑛 − 1] + 𝑏2 𝑥[𝑛 − 2] + 𝑏3 𝑥[𝑛 − 3] + … + 𝑏𝑀 𝑥[𝑛 − 𝑀]

𝑦[𝑛] = ∑ 𝑏𝑚 𝑥[𝑛 − 𝑚]
𝑚=0

bzw. beispielhaft für vier Koeffizienten (M=3):

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

kann somit das Ausgangssignal auch durch

𝑦[𝑛] = ∑ ℎ[𝑚] ∙ 𝑥[𝑛 − 𝑚]


𝑚=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

11. Praktische Übung: Verzerrung durch nichtlineare Kennlinie

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.

Abb.: Erzeugung der x2 und x3 Kennlinie

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

Abb.: Ausgangsignal der quadratischen und kubischen Kennlinie bei monochromatischer


Ansteuerung im Zeitbereich

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.

Abb.: Ergebnis im Frequenzbereich

grün: Originalsignal bei der Frequenz von 488 kHz


rot: quadr. verzerrtes Signal (f = 0 Hz und f = 976 kHz)
blau: kubisch verzerrtes Signal (f = 488 kHz und f = 1,465 MHz)

Seite 84
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Kapitel 5: Darstellung zeitdiskreter Signale und Systeme im


Frequenzbereich

5.1 Herleitung der zeitdiskreten Fourier-Transformation

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.

Sei die Eingangsfolge x[n]


x[n] = e jn

d.h. eine komplexe Exponentialfunktion mit der normierten Kreisfrequenz .


Die entsprechende Ausgangsfolge ergibt sich aus der Faltung eines linearen zeitinvarianten
Systems mit dessen Impulsantwort h[n]

y[n] = x[n] * h[n]

= 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 )

oder mit Amplitude (Betrag) und Phase ausdrücken.

j
H (e j ) = H (e j ) e j arg(H (e ))

Amplitude und Phase des Frequenzgangs werden auch als Amplitudengang,


Amplitudenspektrum oder Betragsspektrum bzw. Phasengang oder Phasenspektrum
bezeichnet.

Als einfache Beispiele für die Berechnung des Frequenzgangs eines linearen Systems sollen das
ideale Verzögerungsglied und der ideale Mittelwertbildner dienen:

Beispiel 1: Berechnung des Frequenzgangs des idealen Verzögerungsglieds

• 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

Demzufolge ergibt sich der Frequenzgang des idealen Verzögerungsgliedes zu:

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 Im () = − sin( n0)

bzw. Betrag und Phase sind:

H () = 1

arg( H ()) = −n0

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

Beispiel 2: Frequenzgang des Systems zur gleitenden Mittelwertbildung

Ausgehend von der Impulsantwort des Systems zur gleitenden Mittelwertbildung

 1
 M + M + 1 ; für − M 1  n  M 2


1 2
h[n] = 
0; sonst


bekommt man für den Frequenzgang

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

1 e jM 1 − e − j( M 2 +1)


= 
M1 + M 2 + 1 1 − e − j

Nach einiger Umformung erhält man:

− 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:


jt
H ( ) =  h(t )  e dt
t = −

Während es sich bei der Fourier-Transformation eines zeitkontinuierlichen Signals um ein


kontinuierliches Zeitsignal h(t) und ein kontinuierliches Spektrum (Fourier-Transformierte) H()
handelt, ist bei der Fourier-Transformierten einer zeitdiskreten Folge, nur das Zeitsignal
zeitdiskret, das Spektrum H(W) ist weiterhin kontinuierlich. Deshalb sprechen wir auch von der
zeitdiskreten Fourier-Transformation, Discrete Time Fourier Transform oder kurz DTFT.
Sie ist nicht zu verwechseln mit der diskreten Fourier-Transformation (oder Fast Fourier
Transformation), bei der sowohl Zeit- als auch Frequenzbereich diskretisiert sind.

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 ()

Die inverse zeitdiskrete Fourier-Transformation


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

5.2 Eigenschaften der zeitdiskreten Fourier-Transformation

• Linearität
• Zeitverschiebung
• Frequenzverschiebung
• Zeitumkehr
• Differentiation im Frequenzbereich
• Faltung im Zeitbereich (Faltungstheorem)
• Multiplikation im Zeitbereich (Modulationstheorem)

Siehe Tabelle im Anhang

5.3 Symmetrieeigenschaften der Fourier-Transformation

Bei der Anwendung der Fourier-Transformation ist es wertvoll die Symmetrieeigenschaften der
Fourier-Transformation zu kennen, um die Lösung von Aufgaben zu vereinfachen.

So hat jede reelle Funktion als Fourier-Transformierte ein konjugiert-symmetrisches Spektrum,


d.h. der Realteil des Frequenzgangs ist eine gerade und der Imaginärteil eine ungerade Funktion.
Oder anders ausgedrückt: die Amplitude des Frequenzgangs ist gerade und die Phase ungerade.

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.

Diese Symmetrieeigenschaften können zur Vereinfachung von Berechnungen beitragen;


insbesondere wird uns bei der Berechnung des Frequenzgangs eines digitalen FIR Filters die
Betrachtung der Impulsantwort als symmetrische, nichtkausale Folge nützlich sein.

Siehe Tabelle der Symmetrieeigenschaften im Anhang

Seite 91
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

5.4 Beispiel zur Berechnung des Frequenzgangs und der Impulsantwort

Gegeben sei das folg. System

x[n] 1 y[n]
+

-1/4 1/2
D + D
© Buchholz

Abb.: Digitales System

- Stellen Sie die das System beschreibende Differenzengleichung auf.


- Wie lautet der Frequenzgang?
- Wie lautet die Impulsantwort?

Die Differenzengleichung lautet:

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

Die Anwendung der Fourier-Transformation unter Berücksichtigung des Verschiebungs-


Theorems liefert

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

Durch eine Fourier-Rücktransformation kann die Impulsantwort gewonnen werden. Dazu


schreiben wir den Frequenzgang als

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

und können mit den Fourier-Transformationspaaren die Impulsantwort schreiben als:

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

Die folgenden Korrespondenztabellen und Theoreme der Fourier-Transformierten diskreter


Signale dürfen in der Klausur benutzt werden.

Abb.: Fourier-Transformationspaare

Seite 94
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Abb.: Theoreme der Fourier-Transformation

Seite 95
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Abb.: Symmetrieeigenschaften der Fourier-Transformierten

Seite 96
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Kapitel 6: Die z-Transformation

6.1 Herleitung der z-Transformation

Während man in der Systemtheorie zeitkontinuierlicher Signale die Fourier-Transformation zur


Transformation im eingeschwungenen Zustand des Systems in den Frequenzbereich verwendet,
so wird die Laplace-Transformation mit dem Laplace Operator s =  + j zur Berechnung von
Einschwingvorgängen (z.B. Sprungantwort) bei Konvergenzproblemen und zur Stabilitäts-
untersuchung verwendet. Dabei ist die Fourier-Transformation aus der Laplace-Transformation
für  = 0 abzuleiten.
Dasselbe gilt für zeitdiskrete Signale. Die zeitdiskrete Fourier-Transformation wird zur
Transformation stabiler, eingeschwungener Systeme in den Frequenzbereich verwendet. Der
Laplace Transformation hingegen entspricht die z-Transformation.

Wendet man auf ein abgetastetes Signal (kausales Signal, n >= 0)


xa (t ) = x(t )    (t − nT )
n=0


=  x(t )   (t − nT )
n=0

die zweiseitige Laplace-Transformation an,


− 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) =  xnT   e −snT
n =0


=  xn  e −snT
n =0

Ersetzt man esT durch die Variable z,

z := e sT
so erhält man:


X ( z) =  x[n]  z −n
n =0

die einseitige z-Transformation.

Die komplexe s-Ebene wird durch die Beziehung

z := esT = e( + j )T = e(T + j)

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

Zusammenhang zw. Laplace – und z-Transformation

Seite 98
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

s z
j Im{z}
1.5 a
 a 
0.5 a =0.5a
=0

−0.5 a  1 =a Re{z}


− a
© Buchholz

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.

Es ergibt sich auch sofort daraus das Verschiebungstheorem:

x[n-m] z-m X(z)

6.2 Anwendung der z-Transformation

- Folge von diskreten Werten im z-Bereich

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

Abb.: nicht-kausale Folge

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

Abb.: kausale Folge

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.

- z-Transformierte eines rekursiven Systems 2. Ordnung

y[n] = x[n] + x[n − 1] + y[n − 1] − 0.5  y[n − 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.

6.3 Die z-Übertragungsfunktion


Wie bei der Fourier-Transformierten gilt auch für die z-Transformation der Faltungssatz. Eine
Faltung zweier diskreter Zeitfolgen hat als Korrespondenz die Multiplikation der entsprechenden
z-Transformierten.

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)

Die Anwendung der z-Transformation auf die Differenzengleichung eines LTI-Systems

N M
 ak y[n − k ] =  bk x[n − k ]
k =0 k =0

führt zu einer algebraischen Funktion

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

und demzufolge zu einer gebrochen rationalen z-Übertragungsfunktion:

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.

6.4 Berechnung des Frequenzgangs


Formales Ersetzen der Variablen s durch j ( = 0), d.h. der Variablen z durch ej, zeigt, dass die
zeitdiskrete Fourier-Transformation eben diesen Spezialfall der z-Transformation darstellt.

 
X () =  x[n]  e − jnT =  x[n]  e − jn
n=0 n=0

Ausgehend von der z-Übertragungsfunktion H(z)


M
 bk  z − k
H ( z) = k = 0
N
 ak  z − k
k =0

ergibt das Ersetzen von z durch ej den Frequenzgang

M
 bk  e − jk
H () = k = 0
N
 ak  e − jk
k =0

Seite 102
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

6.5 Stabilitätskriterium im z-Bereich

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

Liegen sämtliche Pole einer Systemfunktion (Übertragungsfunktion) innerhalb des


Einheitskreises, so liegt ein stabiles kausales System vor.

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[n] = x[n] + x[n − 1] + y[n − 1] − 0.5  y[n − 2]

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

Auffinden der Pole:


z 2 − z + 0.5 = 0

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.

6.6 Rücktransformation mittels Partialbruchzerlegung

Am Beispiel der Differenzengleichung

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 

Mit der Korrespondenz

1
 n  u[n]
1 −   z −1

folgt für die Impulsantwort h[n]

 1
n
1 
n
h[n] = − 2    + 4    u[n]
 4  2  

6.7 Klausur Beispiel

Gegeben sei ein System welches den gleitenden Mittelwert über drei aufeinanderfolgende
Abtastwerte bildet.

Seite 106
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

x[n] z-1 z-1

1/3 1/3 1/3

+ + y[n]
© Buchholz

Abb.: gleitender Mittelwertbildner

a) Wie lautet die das System beschreibende Differenzengleichung?


b) Wie lautet die Impulsantwort h[n]?
c) Verändern Sie das System derart, dass das System durch eine nicht-kausale,
symmetrische Impulsantwort beschreibbar ist.
d) Berechnen Sie die Übertragungsfunktion H(z) des nicht-kausalen Systems.
e) Ist das System stabil?
f) Berechnen Sie den Frequenzgang H() des Systems?
g) Welche Filtercharakteristik weißt das System auf?

Antwort: siehe Vorlesungen

Seite 107
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

6.8 Anhang zur Kapitel 6


Die nachfolgenden Tabellen dürfen zur Klausur benutzt werden.

Abb.: z-Korrespondenzen

Seite 108
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Abb.: Theoreme der z-Transformation

Seite 109
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

12. Praktische Übung: Sinusgenerator mit instabiler IIR Struktur

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

Abb.: Blockdiagramm des instabilen IIR-Filters

Dabei handelt es sich um eine IIR-Struktur mit der Übertragungsfunktion H(z):

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

Abb.: konjugiert komplexes Polpaar auf dem Einheitskreis

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

h[n] = sin  0 n +   u[n]

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

Abb.: Sinussignal (Impulsantwort des instabilen IIR-Filters)

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)

Abb.: Spektrum des erzeugten Sinussignals

Seite 113
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Die Festkomma Implementierung kann beispielsweise bei diesen Koeffizienten folgendermaßen


gewählt werden:

Abb.: Fixed Point Realisierung des Sinusgenerators

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

Kapitel 7: Entwurf rekursiver digitaler Filter


7.1 Einführung Digitalfilter

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).

Abb.: Tiefpass- und Hochpassfilter

Abb.: Bandpass- und Bandsperre

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

Abb.: Multiband Filter

7.2 Entwurf zeitdiskreter IIR Filter aus zeitkontinuierlichen Filtern

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.

Vorschriften im Frequenzbereich können den Amplitudengang, den Phasengang bzw. die


Gruppenlaufzeit betreffen.

Im Folgenden wird das Entwurfsschema an Hand eines Amplitudengangs-Toleranzschemas


erläutert.

|H(f)|

D

S

fD fS f

Abb.: Toleranzschema für Tiefpass

D: Welligkeit (ripple) im Durchlassbereich


S: Welligkeit im Sperrbereich (Mindest-Sperrdämpfung)
fD: Durchlassfrequenz (passband edge)
fS: Sperrfrequenz (stopband edge)

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

Der IIR-Filter Entwurf lässt sich folgendermaßen zusammenfassen:

• Vorgabe des Toleranzschemas (Spezifikation des Filters)


• Bestimmung der normierten Kreisfrequenzen des gewünschten Digitalfilters (D, S) und
Transformation gemäß dem Zusammenhang zwischen  und  in die Kreisfrequenzen
des Analogfilters (D, S)
• Ermittlung der Übertragungsfunktion H(s) des Analogfilters mit den bekannten klassischen
Approximationsmethoden der Analogfilter (Butterworth, Tschebyscheff I, Tschebyscheff
II, Cauer, etc.)
• Berechnung der Übertragungsfunktion H(z) mittels Bilinearer Transformation.

|H()|

D

S

D S 

Seite 118
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Abb.: Zusammenhang zwischen H() und H()

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

Die Butterworth Approximation (Potenzfilter) hat einen maximal flachen Verlauf im


Durchlassbereich und im Sperrbereich eine monoton ansteigende Dämpfung. Die Dämpfung bei
der Durchlass-Eckfrequenz (typ. 3 dB) kann variabel gestaltet werden. Den flachen Verlauf und
die monoton ansteigende Dämpfung erkauft man sich durch eine hohe Filterordnung.

Abb.: Amplitudengang Butterworth-Filter

Seite 120
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

• Tschebyscheff I Charakteristik

Diese Approximation geschieht derart, dass im Durchlassbereich ein oszillierendes Verhalten


innerhalb des vorgegebenen Toleranzschemas stattfindet, im Sperrbereich eine monoton
steigende Dämpfung. Gegenüber dem Butterworth Filter wird bei gleicher Filteranforderung
deshalb eine geringere Filterordnung erreicht.

Abb.: Amplitudengang Tschebyscheff-Filter

• Tschebyscheff II Charakteristik

Die Tschebyscheff II oder auch Inverse Tschebyscheff Approximation unterscheidet sich


dadurch, dass hier Filtercharakteristik im Durchlassbereich maximal flach ist und keine Welligkeit
aufweist, wohingegen im Sperrbereich die Dämpfung nicht monoton wächst, sondern im Rahmen
des Toleranzschemas oszilliert. Zur besseren Verdeutlichung ist im Folgenden der Amplituden-
Plot eines Tschebyscheff Filters sowohl im linearen, als auch im logarithmischen Maßstab
gezeigt. Der Filteraufwand von Tschebyscheff und Inversem Tschebyscheff Filter sind identisch.

Seite 121
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Abb.: Amplitudengang Inverse Tschebyscheff-Filter

Abb.: Amplitudengang im logarithmischen Maßstab

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.

Abb.: Amplitudengang Cauer-Filter

Filter-Charakteristik Ordnung Amplitudengang Amplitudengang


Im Durchlassbereich im Sperrbereich

Butterworth gross monoton monoton


Tschebyscheff I mittel wellig monoton
Tschebyscheff II mittel monoton wellig
Cauer gering wellig wellig

Tabelle: Übersicht der Standard-Entwurfsfilter

Seite 123
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

13. Praktische Übung: Entwurf eines Digitalen IIR Filters

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:

Durchlassfrequenz fD: 1 MHz


Sperrfrequenz fS: 1,4 MHz
Durchlass-Welligkeit D: 0,5 dB
Minimale Sperrdämpfung: S = 30 dB
Abtastrate: 8 MHz

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

Abb.: Filter Spezifikation Eingabe Maske in filterDesigner

Seite 124
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Um die Filterordnung unterschiedlicher Filtermethoden abzuschätzen variieren Sie die


Filtercharakteristik.

Abb.: Ergebnis für Butterworth Filter

Seite 125
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Abb.: Ergebnis für Inverse Tschebyscheff Filter

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

Berechnung der Impulsantwort und Filterkoeffizienten:

Abb.: Ergebnis des Filterdesigns für Cauer Filter


Impulsantwort

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.

Abb.: Ergebnis des Filterdesigns für Cauer Filter


Koeffizienten (2 SOS Blöcke)

Seite 127
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

7.3 Filterstrukturen für rekursive Digitalfilter

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:

• Erste kanonische Struktur (transponierte Direktform II)

x[n] b0 y[n]
+

z-1
b1 -a1
+

z-1
b2 -a2
+

z-1
b3 -a3
+

z-1

bN -aN
+
© Buchholz

Abb.: 1. kanonische Struktur

Seite 128
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

• Zweite kanonische Struktur (Direktform II)

x[n] b0 y[n]
+ +

z-1
-a1 b1
+ +

z-1
-a2 b2
+ +

z-1
-a3 b3
+ +

-aN bN

© Buchholz

Abb.: 2. kanonische Struktur

• Dritte kanonische Struktur

Hier besteht das Gesamtsystem aus einer kaskadierten Reihenschaltung von Systemen erster
oder zweiter Ordnung (Second Order Sections - SOS)

Dabei sind die Teilsysteme erster Ordnung von der Form:

b0i + b1i  z −1
H i ( z) =
1 + a1i  z −1

Die Übertragungsfunktion der Teilfilter zweiter Ordnung (SOS Struktur) lautet:

b0i + b1i  z −1 + b2i  z −2


H i ( z) =
1 + a1i  z −1 + a 2i  z −2

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

Abb.: SOS Struktur in Direktform II

x[n] b0 y[n]
+

z-1
b1 -a1
+

z-1
b2 -a2
+
© Buchholz

Abb.: SOS Struktur in transponierter Direktform II

Das Gesamtsystem wird dann durch die Systemfunktion

p
H ( z) =  H i ( z)
i =1

beschrieben und besitzt die folgende Struktur.

H1(z) H2(z) H3(z) Hp(z)

© Buchholz

Abb.: 3. kanonische Struktur

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

Abb.: 4. kanonische Struktur

7.4 Spezielle Formen rekursiver Filter

In dieser Vorlesung wird nicht näher auf Spezialfälle rekursiver Filter eingegangen. Der
Vollständigkeit halber seien sie allerdings hier erwähnt:

• Komplexwertige rekursive Filter

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]

Abb.: komplexes rekursives System erster Ordnung


• Allpässe

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

Kapitel 8: Entwurf nicht-rekursiver digitaler Filter


8.1 Einleitung

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

x[n] z-1 z-1 z-1 z-1 z-1

b0 b1 b2 b3 b4 bN

+ + + + +
y[n]
© Buchholz

Abb.: Transversal (FIR) Filter

gegeben und führt zur Differenzengleichung

N
y[n] =  bk  x[n − k ]
k =0

= b0  x[n] + b1  x[n − 1] + b2  x[n − 2] + ... + bN  x[n − N ]

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

Die z-Übertragungsfunktion H(z) kann ebenfalls sofort angegeben werden:

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

8.2 Linearphasige FIR-Filter

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

Abb.: symmetrische Impulsantwort h[k] eines FIR Filters der Ordnung N = 8

Durch das Verschieben der Impulsantwort um 4 Abtasttakte nach links erhält man eine nicht-
kausale Impulsantwort mit einer geraden Symmetrie:

h[k]

b-4 b-3 b-2 b-1 b0 b1 b2 b3 b4 k

Abb.: nicht-kausale Impulsantwort h[k] eines FIR Filters der Ordnung N = 8

Die Übertragungsfunktion H(z) lautet folglich

H ( z) = b−4  z 4 + b−3  z 3 + b−2  z 2 + b−1  z1 + b0 + b1  z −1 + b2  z −2 + b3  z −3 + b4  z −4

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

H () = b− 4  e j 4 + b−3  e j 3 + b− 2  e j 2 + b−1  e j + b0

+ b1  e − j + b2  e − j 2 + b3  e − j 3 + b4  e − j 4

= 2  b4  cos(4) + 2  b3  cos(3) + 2  b2  cos(2) + 2  b1  cos() + b0

Dies ist demzufolge auch der Amplitudengang; die Phase ist null.

Um den Frequenzgang des ursprünglichen Filters mit kausaler Impulsantwort zu bestimmen,


braucht man nur die Transformation
x[n − m] X(z)  e -jm

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.

H () = 2  b4  cos(4) + 2  b3  cos(3) + 2  b2  cos(2) + 2  b1  cos() + b0

H () = −4

Ein linearer Phasengang bedeutet eine konstante Gruppenlaufzeit

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

Nachteil von FIR Filtern:


• Höhere Filterordnung bei gleicher Filterspezifikation gegenüber IIR Filtern und
demzufolge größerer Realisierungsaufwand
Je nach Symmetrie (gerade/ungerade) und Ordnung (gerade/ungerade) unterscheidet man 4
Typen linearphasiger Filter.
gerade Symmetrie ungerade Symmetrie
gerade h[k h[k]
]
Ordnung

k k

Typ I
Typ III
ungerade h[k h[k]
]
Ordnung

k
k

Typ II
Typ IV

Übersicht: FIR Filter (mit nicht-kausaler Impulsantwort)

Dabei spricht man von gerader Symmetrie falls

bk = bN − k

und von ungerader Symmetrie falls


bk = −bN − k

Typ Symmetrie Ordnung H(f = 0) H(f = fa/2)


I gerade gerade beliebig beliebig
II gerade ungerade beliebig Nullstelle
III ungerade gerade Nullstelle Nullstelle
IV ungerade ungerade Nullstelle beliebig

Tabelle: FIR Filter Eigenschaften

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.

8.3 FIR Filter Entwurf

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

Abb.: Idealer Tiefpass (Betragsspektrum)

Die Inverse Fouriertransformierte des Frequenzgangs ist die Impulsantwort h[k]:

 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

untolerierbare Schwingungen im Frequenzgang, die als Gibbsches Phänomen bezeichnet


werden.

Abb.: Gibbs’sches Phänomen im linearen und logarithmischen Maßstab


für FIR Filter unterschiedlicher Ordnung mit Rechteckfilterung
blau: N = 10, grün: N = 50, rot: N = 200

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

h[k ] = hideal[k ]  w[k ]

Als Beispiel sei hier nur die Fensterfunktion von Hamming- und Hann-Fenster angegeben:

  k
0.54 + 0.46  cos2 N  für k  N / 2
wham min g =  

 0 sonst

   k
0.5  1 − cos2   für k  N / 2
   N 
whann = 

 0 sonst

hideal[k]

wl[k]

h[k]

Abb.: Illustration der Filtermethode

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.

Abb.: FIR Tiefpass Entwürfe

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

Dabei soll ein vorgegebener Wunsch-Frequenzgang durch die nicht-rekursive Filterfunktion im


Sinne des minimalen Fehlerquadrats approximiert werden. Oftmals wird eine Tschebyscheff
Approximation verwendet, d.h. man lässt ein oszillierendes Verhalten (Welligkeit) in Durchlass-
und Sperrbereich zu. Effiziente Algorithmen zur Lösung dieses Problems stehen mit dem Remez
Algorithmus von Parks und McClellan zur Verfügung. Verteilt man die Welligkeit gleichmäßig im
Durchlass- und Sperrbereich, spricht man von Equiripple-Filter.
Dieses Verfahren ist das Standardverfahren zum Entwurf digitaler FIR-Filter, weil es Filter
minimaler Ordnung liefert.
Mit Hilfe des Remez Algorithmus können auch kompliziertere Filter mit mehreren Durchlass- und
Sperrbereichen entworfen werden. Außerdem können die Durchlass- und Sperrbereiche mit
Gewichtsfaktoren vorgegeben werden, mit denen das Verhältnis der Toleranzparameter
untereinander beeinflusst wird.

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.

14. Praktische Übung: Entwurf eines Digitalen FIR Filters

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:

Durchlassfrequenz fD: 1 MHz


Sperrfrequenz fS: 1,4 MHz
Durchlass-Welligkeit D: 0,5 dB
Minimale Sperrdämpfung: S = 30 dB
Abtastrate fa: 8 MHz

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.

Abb.: Eingabe-Maske des Filterentwurfs

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:

Abb.: Amplitudengang des FIR Filters mit Equiripple-Verhalten

Seite 142
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Abb.: Linearer Phasengang des FIR Filters

Abb.: Konstante Gruppenlaufzeit des FIR-Filters 28. Ordnung

Seite 143
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Abb.: Symmetrische Impulsantwort des FIR-Filters

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

8.4 FIR Filter Implementierung

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 (clock) Takt (clock)


T

Takt
t
FF1_out
t
FF2_in
t

© Buchholz

Abb.: kritischer Pfad

Die längste Signallaufzeit eines kritischen Pfades bestimmt somit den maximalen Abtast-Takt.

1
f a, max =


Falls diese Bedingung nicht erfüllt ist, kommt es zu Timing Violations.

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

+ z-1 + z-1 + z-1 + z-1 +


y[n]
© Buchholz

Abb.: Implementierung eines FIR Filters

Seite 146
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Weiterhin kann bei linearphasigen Filtern die Symmetrie der Filterkoeffizienten ausgenutzt
werden:

x[n]

b9=b0 b8=b1 b7=b2 b6=b3 b5=b4

+ z-1 + z-1 + z-1 + z-1 +

+ z-1 + z-1 + z-1 + z-1 + z-1


y[n] © Buchholz

Abb.: Implementierung eines linearphasigen FIR Filters ungerader Ordnung

x[n]

b10=b0 b9=b1 b8=b2 b7=b3 b6=b4 b5

+ z-1 + z-1 + z-1 + z-1 + z-1 +

+ z-1 + z-1 + z-1 + z-1 + z-1


y[n] © Buchholz

Abb.: Implementierung eines linearphasigen FIR Filters gerader Ordnung

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:

Durchlassfrequenz fD: 1/50 fa


Sperrfrequenz fS: 3/50 fa
Durchlass-Welligkeit D: 0.5 dB
Minimale Sperrdämpfung: S = 60 dB

Bestimmen Sie selbst, ob Sie eine IIR oder FIR Filterstruktur wählen.

Abb.: Eingabemaske für Filterspezifikation

Seite 148
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Lösung:
a) Filter Auswahl

IIR Filter Ordnung


Butterworth 8
Tschebyscheff 5
Inv. Tschebyscheff 5
Cauer 4

FIR Filter Ordnung


Equiripple 55

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

Der dazugehörende Frequenzgang ist in der folgenden Abbildung gezeigt:

Abb.: Elliptisches FIR Filter (floating point)

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

Abb.: Amplitudengang für 8 Bit Wortbreite (sogar instabil !)

Abb.: Frequenzgang für 10 Bit Wortbreite

Abb.: Frequenzgang für 12 Bit Wortbreite

Seite 151
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Demzufolge erscheinen 12 Bit Wortbreite für die Koeffizienten ausreichend. Da es Koeffizienten


gibt, die größer als 1 sind, ist auch ein Integer Bit vorzusehen, so dass sich das Attribut <1,12,10>
für die Koeffizienten ergibt. Nachfolgend die quantifizierten (fixed-point) Koeffizienten.

Elliptisches Filter 4. Ordnung mit den folgenden Koeffizienten (bereits mit einer Wortbreite von
12 Bit quantisiert):

SOS Sektion 1: SOS Sektion 2:


b0 = 1.0 b0 = 1.0
b1 = -1.3818359375 b1 = -1.8720703125
b2 = 1.0 b2 = 1.0
a0 = 1.0 a0 = 1.0
a1 = -1.890625 a1 = -1.943359375
a2 = 0.896484375 a2 = 0.9599609375
gain = 0.1346435546875 gain = 0.0084228515625

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

Abb.: Frequenzgang der einzelnen SOS-Sektionen und des Gesamtfilters

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.

Abb.: SOS Struktur


Zu erwähnen ist noch die anschließend vorgenommene Modifikation, dass zum Verkleinern des
kritischen Pfades (und damit einer späteren höheren größeren Taktrate ohne Timing Violations)
jeweils am Ein- und Ausgang ein zusätzliches Flip Flop zum Puffern hinzugefügt ist.

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.

Abb.: Testumgebung für IIR-Filter

Abb.: Ein- und Ausgangssignal im Zeitbereich

Seite 154
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Abb.: Tiefpass-Filtereingang- und –ausgang im Spektralbereich

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

16. Praktische Übung: Realisierung eines IIR Filters als Hochpassfilters

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):

SOS Sektion 1: SOS Sektion 2:


b0 = 1.0 b0 = 1.0
b1 = -1.9970703125 b1 = -1.982421875
b2 = 1.0 b2 = 1.0
a0 = 1.0 a0 = 1.0
a1 = -1.1865234375 a1 = -1.7685546875
a2 = 0.435546875 a2 = 0.8935546875
gain = 0.94921875 gain = 0.625

Abb.: Amplitudengang des Hochpassfilters


(floating point / fixed point)

Seite 156
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Abb.: Frequenzgang der einzelnen SOS-Sektionen und des Gesamtfilters

Abb.: Filtereingang- und –ausgang im Zeitbereich

Seite 157
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Abb.: Hochpass-Filterausgang im Spektralbereich

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

Kapitel 9: Simulation und Implementierung von Algorithmen der


digitalen Signalverarbeitung in Hardware (FPGA)

9.1 Field Programmable Gate Array (FPGA)

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.

Abb.: FPGA Hersteller

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:

1. LUTs (Lookup Table)


2. Registern (Flip Flop)
3. Multiplexern
4. einer IO-Matrix

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.

Abb.: Konfigurierbarer Logikblock eines FPGAs

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.

Kundenspezifische Integrierte Schaltung oder Application Specific Integrated Circuit


(ASIC), auch Custom-Chip.

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.

Vorteile des FPGAs gegenüber ASIC


• geringe Entwicklungskosten
• sehr kurze Implementierungszeiten

Seite 161
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

• einfach korrigier- und erweiterbar (rekonfigurierbar)


• geprüftes Silizium
• Fast Prototyping

Nachteile gegenüber ASIC


• ab mittleren Stückzahlen höherer Stückpreis
• geringere Taktraten (max. ca. 500 MHz)
• geringere Logikdichte (ca. 10facher Flächenbedarf gegenüber ASIC gleicher
Technologie)
• höherer Energiebedarf

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

Abb.: ZYBO FPGA Entwicklungsboard

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.

Abb.: Red Pitaya

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.

Abb.: Zynq Baustein (FPGA) der Firma Xilinx

Seite 165
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

9.2 Entwurfsprozess (Design Flow)

Alle komplexen integrierten Schaltungen werden grob nach folgendem Schema entwickelt:

1. Spezifikation (Festlegung der Funktion in Worten und Bildern)


2. RTL Design oder Eingabe als Schaltplan ("schematic entry")
3. Validierung des Designs (Simulation)
4. Synthese (Erzeugung von Gattern aus der RTL-Beschreibung)
5. Implementierung (Place & Route)
6. Simulation auf Gatterebene mit Timing
7. Programmieren des FPGA’s, Test und evtl. Debugging

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)

RTL Design (RTL Code


oder schematic entry)

Validierung des Design


(Simulation)

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.

Gattersimulation mit Validierung des Zeitverhaltens

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

wie MATLAB/Simulink durchgeführt werden.

Abb.: System Design

Abb.: Simulink FPGA Flow

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

Mit den in den vergangenen Kapiteln in fixed-point realisierten Funktionsblöcken:

• Sägezahngenerator und Look Up Table (Sinus)


• Sinusgenerator (instabiles IIR Filter)
• Digitale IIR Filter (Tiefpass, Hochpass)
• Nichtlinearität (quadratische und kubische Kennlinie)

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

Abb.: FPGA Projekt

- Generierung von RTL Code

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.: VIVADO Entwicklungsumgebung

Abb.: Virtuelle Inputs und Outputs (VIOs) für das Setzen der Register

Seite 172
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Der Design Report zeigt die benutzten Gatter des FPGAs:

Abb.: Utilization Report Summary

- Place & Route


Place&Route führt die endgültige Plazierung der Gatter im FPGA und die Verdrahtung dieser
Gatter durch. Dazu muss in einem sogenannten ucf File (user constraint file) auch die
physikalische Zuordnung der logischen Signale zu den physikalischen Pins des FPGAs, die auf
dem Evaluierungsboard mit den AD-Wandler, DA-Wandler, Quarzoszillator und Register
Schnittstelle verbunden sind, definiert werden.

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

- Programmieren des FPGAs

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.

SW_1 SW_2 SW_3 SW_4


00 Look Up Table quadrat. Kennlinie Sägezahnsignal Tiefpassfilterung
01 Sinusgenerator kubische Kennlinie Sinussignal Hochpassfilterung
10 Eingangssignal Verzerrtes Signal
11 Gefiltertes Signal

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

Abb.: Messaufbau mit FPGA Board, Generator, Oszilloskop und Spektrumanalysator

Seite 175
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

• Test des Sägezahngenerators

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.

Abb.: Sägezahnsignalmit Inkerement von 1

Erhöhung des Inkeremtes auf 5 verfünffacht die Frequenz auf 2.44 MHz.

Abb.: Sägezahnsignalmit Inkerement von 5

Seite 176
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

• Test des Sinusgenerators (Look Up Table)


Anschliessend wurde mit dem Sägezahn eine Look Up Table ausgelesen, in der sich eine
abgespeicherte Sinuskennlinie befindet.

Abb.: gemessenes Sinussignal (Inkrement = 1)

Abb.: gemessenes Spektrum des Sinussignals (Look Up Table)


Das Spektrum zeigt eine hervorragende spektrale Reinheit; die Oberwellen sind mit ca.
60 dB gegenüber der Grundwelle unterdrückt.

Seite 177
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

• Test des zweiten Sinusgenerators (Instabiles IIR Filter))


Der Sinusgenerator wurde so spezifiziert, dass er eine Frequenz von 1/50 des Taktes
aufweist. Bei einem Takt von 125 MHz entspricht dies einer Frequenz von 2.5 MHz.

Abb.: gemessenes Sinussignal

Abb.: Spektrum des Sinussignals

• Test der Nichtlinearität

Seite 178
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Abb.: quadratisch verzerrtes Sinussignal

Abb.: Spektrum des quadrat. verzerrten Sinussignals (DC und dopplete Frequenz)

Seite 179
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Abb.: Kubisch verzerrtes Sinussignal

Abb.: Spektrum des kubisch verzerrten Sinussignals (Grundwelle und 2. Oberwelle)

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

Abb.: Ausgang des Tiefpassfilters

Abb.: Spektrum des Tiefpassfilter-Ausgangs

Seite 181
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Abb.: Ausgang des Hochpassfilters

Abb.: Spektrum des Hochpassfilter-Ausgangs

Seite 182
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Kapitel 10: FPGA Design Flow mit HDL Coder

10.1 FPGA Programmierung mit MATLAB und Simulink

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

1. Aufgabe: Abtastung und Rekonstruktion

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.

a. Wie groß ist der Dynamikbereich des AD-Wandlers?


b. Geben Sie den digitalen Ausgangwert für -0.375V an.
c. Welche Datenmenge (Mbyte) entsteht innerhalb einer Minute bei einer Abtastrate
von 44.1 kHz ?

Seite 184
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

3. Aufgabe: Beschreibung zeitdiskreter Systeme im Zeitbereich

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

x[n] = 1 für n = 0, 1 h[n] = 1 für n = 1, 2


x[n] = 0 sonst h[n] = 0 sonst

a. Geben Sie die Operation an, mit deren Hilfe die Ausgangsfolge y[n] allgemein beschrieben
werden kann.

b. Berechnen Sie die Ausgangsfolge für die oben genannten Zahlenwerte.

Seite 185
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

2. Übung

4. Aufgabe: Nichtrekursives System

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 +

b. Wie lautet die das System beschreibende Differenzengleichung?

c. Skizzieren Sie das Ausgangssignal im eingeschwungenen Zustand falls T1 = 5T.

d. Wie lautet die Impulsantwort des Systems?

5. Aufgabe: Rekursives System

x[n] y[n]
+
Verzögerung um
z-10
10 Abtastwerte

0.5

a. Wie lautet die Differenzengleichung dieses rekursiven Systems?


b. Skizzieren Sie das Ausgangssignal y[n] im eingeschwungenen Zustand für das
Eingangssignal x[n] der 4. Aufgabe für

Seite 186
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

T1 = 10T bzw.
T1 = 20T.

c. Skizzieren Sie die Impulsantwort.

6. Aufgabe: Direktstruktur I

Gegeben sei folgendes System in Direktstruktur I. y[n] sei 0 für n < 0 (kausales System).

x[n] -0.4 y[n]


+

D D

+
0.6 -0.5

a. Wie lautet die Differenzengleichung?


b. Wie lautet die Impulsantwort?
c. Wie lautet das Ausgangssignal y[n] für ein Eingangssignal

x[0] = 1
x[1] = -1
x[2]=0.5
0 sonst ?

7. Aufgabe: Diskretes System 2. Ordnung

Gegeben sei die Differenzengleichung eines Systems 2. Ordnung:

yn = 1.5  xn − 1 + xn − 2 − yn − 1 − 0.5  yn − 2

a) Zeichnen Sie das System in Direktform I und kanonischer Direktform II.

b) Bestimmen Sie die Impulsantwort für die ersten 10 Werte.

c) Berechnen Sie die Sprungantwort.

Seite 187
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

3. Übung

Aufgabe 8: Zeitdiskrete Fourier-Transformation (DTFT)

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

a) Wie lautet die Impulsantwort?


b) Ermitteln Sie mit der Korrespondenz von [n-n0] aus der Korrespondenztabelle der
zeitdiskreten Fourier-Transformation die Übertragungsfunktion H(j ) und skizzieren
Sie sie.

Aufgabe 9: z-Transformation, Übertragungsfunktion, Impulsantwort

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.

Aufgabe 10: Frequenzgang, Impulsantwort

Gegeben sei ein einfaches FIR-System mit der folgenden Übertragungsfunktion:

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)

b) Handelt es sich um ein Tiefpass- oder ein Hochpass-Filter?


c) Wie sieht der Verlauf der Phase aus?
d) Wie lautet die Impulsantwort h[n]?

Aufgabe 11: z-Transformation, Pol-Nullstellenverteilung

Gegeben sei die folgende Differenzengleichung:

y[n] = x[n − 1] + 0.8x[n − 2] − 0.6 y[n − 1] − 0.25 y[n − 2]

a) Wie lautet die z-Übertragungsfunktion?


b) Überprüfen Sie das System auf Stabilität.

Aufgabe 12: Sprungantwort

Gegeben sei die Differenzengleichung:

y[n] = x[n] + 0.5 y[n − 1]

a) Ermitteln Sie die z-Übertragungsfunktion.


b) Wie lautet die Impulsantwort? Skizzieren Sie sie.
c) Wie lautet die Antwort des Systems auf ein Eingangssignal x[n] = u[n]
(Hilfe: Multiplikation im z-Bereich und Rücktransformation mittels
Partialbruchzerlegung). Skizzieren Sie die erhaltene Sprungantwort
d) Skizzieren Sie den Amplitudengang des Systems. Benutzten Sie dazu die
Hilfen von Aufgabe 10. Um welches Filter handelt es sich?

Seite 189
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

4. Übung (MATLAB Übung)

Entwurf rekursiver Filter

Übung wird gemeinsam in der Vorlesung gelöst !

Aufgabe 13: Entwurf eines rekursiven Filters

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:

- für die Bestimmung der notwendigen Filterordnung und normierte Grenzfrequenz:

- buttord
- cheb1ord
- cheb2ord
- ellipord

- sowie den eigentlichen Entwurfsfunktionen:

- butter
- cheby1
- cheby2
- ellip

Gegeben sei folgendes Toleranzschema:

- 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

Aufgabe 14: Realisierung eines rekursiven Filters in 3. kanonischer Form

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

Aufgabe 15: Einflüsse der Quantisierung

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

4. Übung –MATLAB Lösungen

Aufgabe 13:

MATLAB Routine

% Entwurf rekursiver Filter


clear
fd = 1000;
fs = 1400;
Rp = 0.5;
Rs = 30;
fa = 8000;
wp = 2*fd/fa;
ws = 2*fs/fa;

[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

Tschebyscheff Typ II: 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

% Entwurf eines Cauer Filters 7. Ordnung

[b,a] = ellip(7,0.1,40,0.4);
[h,w] = freqz (b,a,512);

% Umwandlung von Polynomdarstellung in Pol-Nullstellenform

[z,p,k]=tf2zp(b,a);

% Umwandlung in SOS (Second Order Section) Struktur (3. kanonische Struktur)

sos =zp2sos(z,p,k)

B_sos = sos(:,1:3);
A_sos = sos(:,4:6);

% Ubertragungsfunktion der Teilsysteme

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)))

title ('Cauer Filter 7. Ordnung - Gesamtsystem')

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)))

title ('Cauer Filter 7. Ordnung - Teilsysteme (3. kanonische Struktur)')


xlabel ('omega/pi')
ylabel ('|H(w)|')
h=legend('SOS1','SOS2','SOS3','SOS4','Hgesamt',3);

grid

% Übertragungsfunktion der direkten Struktur

tf(b,a)

% Übertragungsfunktion der 3. kanonischen Struktur

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

Transfer Funktion für direktes System:

.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

Transfer Funktionen der 3. kanonischen Struktur:

1. SOS:

0.04633 s^2 + 0.04633 s

-----------------------

s^2 - 0.3971 s

2. SOS:

s^2 + 0.6164 s + 1

-----------------------

s^2 - 0.7113 s + 0.4221

3. SOS:

s^2 - 0.2046 s + 1

-----------------------

s^2 - 0.6049 s + 0.7733

4. SOS:

s^2 - 0.4139 s + 1

----------------------

s^2 - 0.5682 s + 0.947

Seite 197
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

Zu Aufgabe 15:

Fehler durch die endliche Bitauflösung (Quantisierungsfehler) soll im Durchlass-Bereich


nicht größer als  0.15 dB sein. Im Sperrberecih soll mit Quantisierung noch eine
Sperrdämpfung von 38 dB garantiert sein.

Untersuchung des Quantisierungseinflusses bei direkter Struktur:

MATLAB Routine:

clear

% Entwurf eines Cauer Filters 7. Ordnung


bit= input ('Auflösung der Koeffizienten:')
[b,a] = ellip(7,0.1,40,0.4);
[h,w] = freqz (b,a,512);

grid
% Quantisierung

[bq nb]=lcoefrnd (b,bit);


[aq na]=lcoefrnd (a,bit);

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

% Quantisierung eines Koeffizientenvektors 'a' auf eine gewünschte Wortlänge


'w'

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

Untersuchung des Quantisierungseinflusses der 3. kanonischen Struktur:

MATLAB Routine:

% Kanonische Filterstruktur
clear

% Entwurf eines Cauer Filters 7. Ordnung

[b,a] = ellip(7,0.1,40,0.4);
[h,w] = freqz (b,a,512);

% Umwandlung von Polynomdarstellung in Pol-Nullstellenform

[z,p,k]=tf2zp(b,a);

% Umwandlung in SOS (Second Order Section) Struktur (3. kanonische Struktur)

sos =zp2sos(z,p,k);

B_sos = sos(:,1:3);
A_sos = sos(:,4:6);

% Ubertragungsfunktion der Teilsysteme

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)|')

Fazit: Bei direkter Struktur 16 Bit Auflösung notwendig um gegebene


Toleranzbedingungen zu erfüllen. Bei 3. kanonischer Struktur nur 12 Bit notwendig.

Seite 201
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

5. Übung (MATLAB Übung)

Entwurf nicht-rekursiver Filter

Übung wird gemeinsam in der Vorlesung gelöst !

Aufgabe 16: Entwurf eines nicht-rekursiven Filters mittels Fensterung

Entwerfen Sie einen FIR-Tiefpass der Länge M = 50 und der normierten Grenzfrequenz  =
0.4.

i. Vergleichen Sie den Amplitudengang des Tiefpasses für verschiedene


Fensterfunktionen.
ii. Bestimmen Sie die Gruppenlaufzeit.

Für den Filterentwurf benutze man die MATLAB Funktion:

- fir1

Aufgabe 17: Remez-Entwurf (Tschebysheff-Approximation)

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.

Der gewünschte Frequenzgang sei:

F = [0 .3 0.5 1]

G = [1 1 0 0]

Benutzen Sie die MATLAB Funktionen

- remez
- remezord

Experimentieren Sie mit verschiedenen Filterordnungen und verschiedenen Gewichtungen der


einzelnen Frequenzbänder.

Seite 202
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

5. Übung –MATLAB Lösungen

Aufgabe 16:

% Entwurf nichtrekursiver Filterung mittels Fensterung


clear

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))));

title ('Nicht-rekursiver TP Entwurf mit Fensterung')


xlabel ('omega/pi')
ylabel ('|H(w)|')
h=legend('Rechteck','Hann','Hamming',1);
grid

figure (2)
plot (w/pi, 20*log10(abs(hB/max(hB))), w/pi, 20*log10(abs(hK/max(hK))));

title ('Nicht-rekursiver TP Entwurf mit Fensterung')


xlabel ('omega/pi')
ylabel ('|H(w)|')
h=legend('Blackman','Kaiser',1);
grid

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:

% Entwurf nicht-rekursiver Filter mittels Remez


f =[0 0.3 0.5 1.0];
g=[1 1 0 0];
m = input ('Ordnung des Filters: ')
b=remez(m,f,g);
[h w]=freqz(b,1,512);
figure (1)
plot(f,g,w/pi,abs(h));
grid;
xlabel('omega/pi');
ylabel('|H(w)|');
title (['Nichtrekursiver Filter Entwurf mit Filterordnung: ' num2str(m) ''])

% 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)|');

title (['Nichtrekursiver Filter Entwurf mit unterschiedlicher Wichtung der Bänder'])

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

Anhang C: Schematics der implementierten Blöcke


(neu ab WS 2018/19 als Simulink Blöcke)
• Sägezahn Generator und Sinusgenerator (Look Up Table)

Seite 212
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

• Sinusgenerator als nichtstabiles IIR Filter

Seite 213
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

• Nichtlinearität

Seite 214
Prof. Dr.-Ing. Martin Buchholz Digitale Signalverarbeitung htw saar

• IIR Filter 4. Ordnung (hier nur eine SOS Struktur gezeigt)

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

Das könnte Ihnen auch gefallen