2014 Book DigitaleFilter
2014 Book DigitaleFilter
Manfred Schwabl-Schmidt
Digitale Filter
Theorie und Praxis mit AVR-Mikrocontrollern
Digitale Filter
Herrad Schmidt ⋅ Manfred Schwabl-Schmidt
Digitale Filter
Theorie und Praxis mit
AVR-Mikrocontrollern
Herrad Schmidt Manfred Schwabl-Schmidt
Institut für Wirtschaftsinformatik Böllenborn, Deutschland
Universität Siegen
Siegen, Deutschland
Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; de-
taillierte bibliografische Daten sind im Internet über [Link] abrufbar.
Springer Vieweg
© Springer Fachmedien Wiesbaden 2014
Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung, die nicht aus-
drücklich vom Urheberrechtsgesetz zugelassen ist, bedarf der vorherigen Zustimmung des Verlags. Das gilt
insbesondere für Vervielfältigungen, Bearbeitungen, Übersetzungen, Mikroverfilmungen und die Einspei-
cherung und Verarbeitung in elektronischen Systemen.
Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk be-
rechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der
Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann
benutzt werden dürften.
Springer Vieweg ist eine Marke von Springer DE. Springer DE ist Teil der Fachverlagsgruppe Springer
Science+Business Media
[Link]
Vorwort
Die Keimzelle des vorliegenden Buches diente einem eher einfachen Zweck. Ein digitales
Filter sollte als ein Programmierungsbeispiel für ein Buch über die Softwareentwicklung
mit AVR-Mikrocontrollern dienen. Vom Namen her (digital!) war mit ziemlicher Sicher-
heit zu erwarten, dass dieses Unterfangen problemlos über die Bühne gehen würde. Doch
weit gefehlt!
Zwar gab es einige Anwendungsbeispiele mit digitalen Filtern des Herstellers der Mikro-
controller, die auch etwas „Theorie“ enthielten, doch waren diese größtenteils unverständ-
lich. Selbst der Zweck solcher Filter, der vom Namen her eigentlich auf der Hand liegt,
wurde eher etwas verdunkelt statt erhellt. Es musste also ein genaueres Studium digitaler
Filter absolviert werden, um nicht der Gefahr zu erliegen, dem Leser Unfug zu präsentieren.
Es stellte sich schnell heraus, dass Veröffentlichungen, die dazu gedacht sind, dem Leser
einen schnellen Zugang zur Welt der digitalen Filter zu ermöglichen, nicht dazu geeig-
net waren, wesentliche Erhellungen in das Dunkel zu bringen, das die Theorie der digi-
talen Filter immer noch darstellte. Welche Bedeutung könnte wohl den starken Sprüngen
(Unstetigkeiten) zukommen, die so viele Phasenantworten zeigten. Und weshalb ist die
Gruppenlaufzeit eines digitalen Filters, im Wesentlichen definiert als die Ableitung der
Phasenantwort, mit der Anzahl der Abtastintervalle als Einheit versehen, ganz abgesehen
davon, dass natürlich nicht alle digitalen Filter durch Abtasten eines analogen Signals ge-
wonnen werden, diese Einheit also mindestens nicht universell verwendbar ist. Fragen über
Fragen!
Nach längerer Diskussion wurde daher beschlossen, den Stier direkt bei den Hörnern zu
packen und das Problem von der anderen Seite her anzugehen. Es sollte versucht werden,
durch den Einsatz der den digitalen Filtern übergeordneten Theorie der digitalen Signalver-
arbeitung (DSP) die offenen Fragen zu klären und die theoretischen Defizite zu beseitigen.
Das ist mit einigen kleineren Abstrichen auch gelungen.
Die digitale Signalverarbeitung ist jedoch ein Feld, auf dem sich Rosse vielerlei Proveni-
enz tummeln. Es ist ein Grenzgebiet von Nachrichtentechnik, Elektrotechnik, etwas Physik
und natürlich Mathematik. Unglücklicherweise ist es eine altmodische, rechen- und for-
melorientierte Mathematik, welche die beiden zentralen Objekte der DSP, die Mengen der
Signale und Systeme, mit großer Naivität behandelt. Die Welt der modernen Mathematik
hat hier noch keinen Einzug gehalten.
V
VI Vorwort
Eigentlich müssten hier die Techniken und Methoden der Funktionalanalysis zur An-
wendung kommen, denn es wird mit unendlichen Reihen von Signalen gearbeitet, es wer-
den Grenzprozesse durchgeführt, die Stetigkeit verlangen, usw. Es wird jedoch nicht einmal
eine präzise Definition eines Systems gegeben, weshalb beispielsweise das (möglicherwei-
se gar nicht existierende) inverse System dann auch nur auf graphischem Wege eingeführt
werden kann. Es kommt noch hinzu, dass Signale und Systeme komplexe Zahlen als Werte
haben und auf diese Weise die DSP sogar mit der Funktionentheorie in Berührung kommt.
Leider werden die sich hier ergebenden Möglichkeiten wenig genutzt. Warum wird die all-
wichtige Frequenzantwort eines Systems nicht als das eigenständige Objekt studiert, das
sie ist, nämlich eine glatte Kurve in der komplexen Ebene? Der sofortige Übergang zu Am-
plitude und Phase, d. h. vom Zweidimensionalen zum Eindimensionalen, ist mit einem
bedauerlichen Informationsverlust verbunden (in der Einleitung wird das am Beispiel der
Projektion des vierdimensionalen Würfels anschaulich gemacht).
Allerdings geriet so das ursprüngliche Ziel, ein Programmierbeispiel eines digitalen Fil-
ters zu entwickeln, total aus dem Blick. Weil im Laufe der Beschäftigung mit DSP und
speziell digitalen Filtern eine ziemliche Menge an Material zusammengetragen werden
konnte, wurde der Beschluss gefasst, dieses Material in ein Buch über digitale Filter zu
überführen.
Ob die Intention der Autoren, ein Buch über digitale Filter zu schreiben, das theoreti-
sche und praktische Aspekte in einer lesbaren Gestalt darstellt, gelungen ist, kann natürlich
nur der Leser entscheiden. Jedenfalls wurde darauf gesehen, dass selbst noch wichtige Klei-
nigkeiten ausführlich erläutert werden, wenn es erforderlich schien auch mit einer Skizze
oder Graphik. Die Verständlichkeit war eines der Hauptanliegen bei der Erstellung des Ma-
nuskripts, das nachfolgende Zitat gilt daher hier nicht!
Zur Frage der Verständlichkeit – Man will nicht nur verstanden werden, wenn man schreibt,
sondern ebenso gewiß auch nicht verstanden werden. Es ist noch ganz und gar kein Einwand
gegen ein Buch, wenn irgend jemand es unverständlich findet: vielleicht gehörte eben dies
zur Absicht seines Schreibers – er wollte nicht von „irgend jemand“ verstanden werden. Jeder
vornehmere Geist und Geschmack wählt sich, wenn er sich mitteilen will, auch seine Zuhörer;
indem er sie wählt, zieht er zugleich gegen „die anderen“ seine Schranken.
Friedrich Nietzsche
Die Fröhliche Wissenschaft (381)
Auf den Einsatz eines Programmes wie Matlab wurde bewusst verzichtet, die Autoren
gingen den eher umgekehrten Weg, auch einige numerische Methoden und Algorithmen
vorzustellen, die zur Analyse und Synthese eines digitalen Filters eingesetzt werden kön-
nen.
Hoffentlich bereitet dem Leser die Lektüre des Buches einiges Vergnügen. Schon dafür
wäre die in das Buch investierte Arbeit nicht vergebens gewesen.
1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Zum Inhalt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Zur Methodik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Besonderheiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
VII
VIII Inhaltsverzeichnis
Anhang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
A.1 Entwicklungskoeffizienten und Tabellen . . . . . . . . . . . . . . . . . . . . . . . 367
n
A.1.1 Die Koeffizienten der Entwicklung von ∏ν= Φ r ν ,ϕ ν . . . . . . . . . . 367
A.1.2 Die Berechnung der Fourier-Entwicklung des Wellenzuges w . . . 368
A.1.3 Tabelle der Sigma-Faktoren in Fixkommaformaten . . . . . . . . . . 371
A.2 Formelsammlung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
A.3 Bezeichnungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
Literatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Sachverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
Einleitung
1
Der erste Abschnitt beginnt mit einer ausführlichen Vorstellung der Polarkoordinaten in
der komplexen Ebene. Besonders eingegangen wird auf ihre Anwendung auf die Punkte
von Kurven der komplexen Ebene. Es folgt dann ein großes Kapitel mit einer Einführung in
die digitale Signalverarbeitung. Ausgangspunkt ist das digitale Signal. Es wird gezeigt, wie
Signale auf mannigfaltige Weise verknüpft werden können und wie sich aus Signalen durch
Argumenttransformationen neue Signale erzeugen lassen. Spezielle Beachtung findet die
Berechnung von Faltungsoperationen.
Nach den Signalen werden die Systeme behandelt, die als Operatoren auf Signale ein-
wirken (Filter sind spezielle Systeme). Wegen der ihr zukommenden Bedeutung ist der
Einheitsimpulsantwort eines Systems ein eigener Abschnitt gewidmet. Das gilt auch für
die Frequenzantwort eines Systems. Es wird gezeigt, dass sich die Eigenschaften der Fre-
quenzantwort besonders einfach und plausibel ableiten lassen, wenn die Frequenzantwort
als eine geschlossene Kurve in der komplexen Ebene betrachtet wird. Der Verlauf der Kur-
ve in der Ebene und spezielle Ereignisse wie das Einmünden in den Koordinatenursprung
oder das Überqueren der positiven reellen Achse bestimmen den Verlauf und das Aussehen
der Koordinatenprojektionen der Frequenzantwort, also von Amplituden- und Phasen-
gang (Absolutbetrag und Polarwinkel). Diese Aspekte werden sehr ausführlich am Beispiel
des Filters der gleitenden Durchschnitte erläutert. Anschließend wird die für die Konstruk-
tion digitaler Filter sehr nützliche diskrete Fouriertransformation mit ihren wichtigsten
Eigenschaften und ihrem Zusammenhang mit der Frequenzantwort vorgestellt.
Es folgt ein Abschnitt über Fenster (windows). Sie werden als spezielle Signale einge-
führt, die mit anderen Signalen verknüpft werden, um ein neues Signal mit speziellen
Eigenschaften zu bekommen. Jedem Fenster wird seine Fensterfunktion zugeordnet. Ein
System und ein Fenster können ebenfalls zu einem neuen System mit speziellen Eigen-
schaften verknüpft werden. Die Frequenzantwort des neuen Systems ist gerade die Faltung
der Frequenzantwort des alten Systems mit eben der Fensterfunktion des Fensters. Zwei
H. Schmidt, M. Schwabl-Schmidt, Digitale Filter, DOI 10.1007/978-3-658-03523-5_1, 1
© Springer Fachmedien Wiesbaden 2014
2 1 Einleitung
Fenster werden näher vorgestellt, nämlich das Rechteckfenster mit einer graphischen Ab-
leitung des Gibbsschen Phänomens und mit dem Einsatz von Sigma-Faktoren, und das von
Hann-Fenster mit einer genauen Analyse seiner Fensterfunktion.
Als Nächstes wird untersucht, welchen Einfluss der Polarwinkel (d. h. der Phasengang)
der Frequenzantwort eines Systems auf die Gestalt von Eingangssignalen des Systems hat.
Es stellt sich heraus, dass der Polarwinkel nicht nur die Gestalt des Eingangssystems än-
dert sondern auch für eine Verschiebung des Signals verantwortlich ist. Ein ausführlich
durchgerechnetes Beispiel illustriert diese Verhältnisse.
Sodann wird erläutert, wie durch Abtasten eines realen Signals echte Frequenzen in
das abstrakte Filtermodell eingeführt werden können. Es wird kurz auf das kontinuierli-
che Spektrum eingegangen, um damit die Nyquist-Frequenz plausibel machen zu können.
Zur Demonstration, dass digitale Filter auf vielerlei Weisen konstruiert werden können,
folgt ein Abschnitt zum Aufbau digitaler Filter mit Hilfe bekannter Fourier-Entwicklungen.
Die zur Synthese und Analyse von digitalen Filtern grundlegende z-Transformation
wird im nächsten Abschnitt ausführlich und mit sorgfältig durchgerechneten Beispie-
len vorgestellt. Die Darstellung beginnt mit der Erläuterung des Zusammenhanges der
z-Transformation mit der Laurent-Entwicklung komplexer Funktionen und endet damit,
zu zeigen, wie die Umkehrung einer z-Transformierten über ein lineares Gleichungssystem
numerisch bestimmt werden kann.
Der nächste Abschnitt ist dem zentralen Objekt beim Umgang mit digitalen Filtern ge-
widmet, nämlich der Systemfunktion eines Filters.
Die Pole der Systemfunktion eines digitalen Filters haben einen starken Einfluss auf die
Eigenschaften des Filters. Deshalb werden die Pole einer komplexen Funktion in einem
eigenen Abschnitt etwas näher betrachtet.
Für den wichtigen Spezialfall einer rationalen Systemfunktion werden Formeln zur Be-
rechnung des Amplituden- und Phasengangs eines digitalen Filters abgeleitet.
Der nächste Abschnitt ist den kausalen Systemen gewidment. Nach kurzer Diskussion
wird eine präzise Definition gegeben. Anschließend werden Kriterien entwickelt, mit wel-
chen die Kausalität eines Systems festgestellt oder abgelehnt werden kann.
Das Thema des nächsten Abschnittes sind die stabilen Systeme. Es wird gezeigt, wie über
die Stabilität eines Systems anhand seiner Systemfunktion entschieden werden kann. Die
Auswirkungen von Instabilität werden am Beispiel des α-Filters vorgestellt.
Es folgt nun ein Abschnitt über die Verknüpfung von digitalen Systemen. Das Hinter-
einanderschalten von Systemen wird sehr ausführlich dargestellt, mit besonderer Betonung
der Invertierung eines Systems. Als praktisches Beispiel für die Inversion eines Systems
wird ein Filter aufgebaut, das ein mit einem Echo verseuchtes Signal von diesem Echo be-
freit. Parallel verknüpfte Systeme werden nur kurz gestreift, verknüpfte Systeme mit Rück-
kopplung werden dann wieder ausführlich vorgestellt, mit einem voll durchgerechneten
Beispiel zur Stabilisierung eines instabilen Systems.
Das Kapitel über die Konstruktion digitaler Filter beginnt mit dem Zusammenhang
von Systemfunktion und Differenzengleichungen sowie Überlegungen, wie die Pole und
Nullstellen der Systemfunktion platziert werden können. Anschließend werden zwei Anlei-
1.2 Zur Methodik 3
hen aus der analogen Welt gemacht: Es werden ein Butterworth-Tiefpass und eine Bessel-
Bandsperre konstruiert und analysiert. Daraufhin wird gezeigt, wie die Nullstellen und Pole
der Systemfunktion zu legen sind, um ein Kerbfilter für zwei Frequenzen zu bekommen.
Das Kerbfilter wird sehr ausführlich analysiert, dazu gehört die Berechnung der Auswir-
kungen des Filters auf ein Testsignal. Der nächste Abschnitt demonstriert, wie die Null-
stellen und Pole der Systemfunktion gewählt werden können, um Hochpässe zu erhalten.
Auch die so erhaltenen Filter werden sorgfältig analysiert.
Es schließt sich ein Abschnitt über die Gruppenlaufzeit und die Verschiebungsfunktion
eines Filters an.
Filter mit stückweise linearem Phasengang werden im nächsten Abschnitt untersucht.
Es werden alle Symmetrieeigenschaften von Filtern vorgestellt, die einen stückweise linea-
ren Phasengang zur Folge haben.
Anschließend wird an drei Beispielen gezeigt, wie Filter mit Wunschfrequenzgängen
aufgebaut werden können. Die Beispiele sind ein idealer Tiefpass, ein Filter mit einem loga-
rithmischen Frequenzgang und ein Filter mit der RIAA-Entzerrerkurve als Frequenzgang.
Die Konstruktion eines Filters aus seiner Einheitsimpulsantwort mit Hilfe der Padé-
Methode ist das Thema des nächsten Abschnittes.
Das folgende Kapitel behandelt die Realisierung digitaler Filter mit AVR-Mikrocon-
trollern. Nach einer Einführung in die numerische Berechnung des gefilterten Signals wer-
den einige konkrete Filter implementiert.
Das Buch schließt mit einem Anhang, in dem u. A. numerische Verfahren zur Filter-
konstruktion und die Partialbruchzerlegung der Systemfunktion vorgestellt werden.
Man kann auch mit geringen Kenntnissen der digitalen Signalverarbeitung digitale Filter
konstruieren und implementieren. Man muss sich dann allerdings mit mehr oder weniger
standardisierten Lösungen zufrieden geben. In Abschn. 4.3 gibt es dazu zwei Beispiele. Hat
man jedoch höhere Ansprüche an Güte und Funktionalität des Filters als Standardlösun-
gen besitzen, dann ist es unumgänglich, sich näher mit der digitalen Signalverarbeitung zu
befassen.
Nun ist das Gebiet der digitalen Signalverarbeitung (Digital Signal Processing oder DSP)
ein Grenzgebiet, auf dem sich Elektrotechnik, Nachrichtentechnik und Mathematik über-
lappen. In solchen Grenzgebieten geht es nicht immer so streng zu wie in den beteiligten
Gebieten selbst. So sind manche Erläuterungen oder Ableitungen missverständlich oder
vage, und manche Tatsachen werden auch gar nicht erklärt. Das Gebiet der digitalen Si-
gnalverarbeitung gilt deshalb als schwierig.
Der Aufbau des Buches ist daher nicht so, dass auf eine kurze Einführung in die not-
wendigsten Grundlagen eine epische Ausbreitung des Filterzoos folgt. Tatsächlich ist es
eher umgekehrt, einer ausführlichen Einführung in die Grundlagen stehen die Konstruk-
tion und Analyse einiger ausgewählter digitaler Filter gegenüber. Der Leser soll so in
4 1 Einleitung
die Lage versetzt werden, Filter nach eigenen Spezifikationen aufzubauen und zu unter-
suchen.
Damit hängt auch zusammen, dass zur Berechnung und zur Präsentation der Skizzen
und Diagramme kein Programm wie z. B. Matlab verwendet wird. Wie Amplituden- und
Phasengänge und weitere Funktionen berechnet werden wird genau beschrieben und der
Leser sollte diese Rechnungen selbst durchführen, um ein tieferes Verständnis zu erlangen.
Für die numerischen Rechnungen genügt bei den ersten Versuchen ein Tabellenkalkula-
tionsprogramm, mit dem auch Diagramme gezeichnet werden können. Als ein Beispiel
dazu: Nur wer die Funktionswerte zu Abb. 5.5 selbst bestimmt hat, weiß, dass dort keine
Geradenstücke, sondern Abschnitte von Hyperbelästen zu sehen sind!
Auch in dem der Programmierung gewidmeten Teil des Buches sind alle Vorgänge, Ver-
fahrensschritte usw. so durchsichtig wie möglich gehalten. Der Hauptzweck ist wieder, dem
Leser so viel Einsicht zu vermitteln, dass dieser eigene Programme schreiben kann, idea-
lerweise auch in einem ganz anderen Kontext.1 Dazu dienen ganz besonders die üppigen
Kommentare und Programmerläuterungen.
Leser, die sich an der Konstruktion und Analyse digitaler Filter selbst versuchen möch-
ten, seien besonders auf Kap. 6 verwiesen, in dem einige dafür nützliche Verfahren und
Methoden präsentiert werden, die sonst nur an ganz verschiedenen Orten gefunden wer-
den können.
1.3 Besonderheiten
Bei der Berechnung und Deutung des Phasengangs eines digitalen Filters spielen die Polar-
koordinaten eine besondere Rolle. Um die Ausführungen über digitale Filter nicht durch
Erklärungen der Eigenschaften von Polarkoordinaten und Hinweise auf Besonderheiten
unterbrechen zu müssen, wird im Anfangskapitel ausführlich auf diese eingegangen.
Es wird besonderer Wert darauf gelegt, die Frequenzantwort eines LSI-Systems selbst als
eine Kurve in der komplexen Ebene darzustellen, zu kommentieren und Schlüsse auf das
Verhalten des Systems daraus zu ziehen, statt nur den Amplituden- und den Phasengang zu
verwenden. Die beiden Gänge sind im Wesentlichen Projektionen, die nicht nur mit einem
Informationsverlust einhergehen, sondern die auch Artefakte eigener Art erzeugen, die in
der Kurve selbst nicht präsent sind. Es ist etwa so wie bei dem in Abb. 1.1 in der zweidi-
mensionalen Ebene dargestellten vierdimensionalen Quader. Die Artefakte sind hier sich
durchdringende Seiten und Kanten, die im ursprünglichen Quader nicht vorhanden sind,
und der Informationsverlust wäre für ein im vierdimensionalen Raum lebendes Wesen of-
fensichtlich. Der Vergleich ist daher nicht ganz passend, als die Kurve der Frequenzantwort
in der zweidimensionalen Ebene von einem Menschen direkt beobachtet werden kann. Je-
denfalls können viele Eigenschaften eines digitalen Filters aus der Geometrie der Kurve
seiner Frequenzantwort erklärt werden.
1
Die Programmierung von AVR-Mikrocontrollern wird ausführlich in [Mss3] bis [Mss5] dargestellt.
1.3 Besonderheiten 5
Alle Berechnungen für dieses Buch wurden mit einer von den Autoren entwickelten
hochgenauen Fließkommaarithmetik durchgeführt (ca. 64 Dezimalziffern). Diese steht
auch den Lesern als C++-Klassenbibliothek zur Verfügung.
Polarkoordinaten in der komplexen Ebene
2
Verbindet man eine komplexe Zahl z mit den cartesischen Koordinaten x und y, also
z = x + i y, mit dem Nullpunkt der komplexen Ebene durch eine gerade Linie, dann ist
die Länge r dieser Linie der Betrag der komplexen Zahl: r = ∣z∣. Denn an Abb. 2.1 kann
direkt r = x + y abgelesen werden. Bestimmt man nun noch den Winkel φ, um den die
positive reelle Achse gegen den Uhrzeigersinn gedreht werden muss, um mit der Verbin-
dungslinie von z zum Nullpunkt zur Deckung zu kommen, dann kann man offenbar bei
gegebenem Paar (r, φ) auf eindeutige Weise zur Zahl z gelangen: Man hat nur die positive
reelle Achse um den Winkel φ gegen den Uhrzeigersinn zu drehen und auf ihr vom Null-
punkt aus die Strecke r abzutragen. Die Eindeutigkeit verlangt allerdings, dass höchstens
eine volle Drehung der Achse zugelassen ist, etwa mit der Einschränkung ≤ φ < π. Jedes
Paar reeller Zahlen (r, φ) mit r ≥ und ≤ φ < π beschreibt daher genau eine komplexe
Zahl z. Diese Polarkoordinaten bestehen aus dem Betrag r der Zahl und dem Polarwinkel
(oder kurz Polwinkel).
Die Polarkoordinaten einer komplexen Zahl haben zwar eine handfeste anschauliche
Bedeutung, doch ist noch zu klären, wie man bei gegebenen x und y zu den Polarkoordi-
naten (r, φ) gelangt, und natürlich umgekehrt, wie bei gegebenen r und φ die cartesischen
Koordinaten (x, y) berechnet werden können.
Zunächst der etwas einfachere Fall, dass die Polarkoordinaten (r, φ) gegeben sind, und
zwar soll ≤ φ < π gelten. Dann liegt z im ersten Quadranten, das entspricht genau der
Darstellung in Abb. 2.2 oben links. Dort liest man die folgenden Beziehungen ab:
y x
sin(φ) = cos(φ) =
r r
Hier ist natürlich r > anzunehmen (zum Sonderfall r = siehe unten). Damit sind die car-
tesischen Koordinaten der durch (r, φ) bestimmten komplexen Zahl auch schon bestimmt
und ihr Wert ist gegeben durch
−1 1
y r
x
z = x + iy −i
Als nächstes wird die Situation behandelt, dass z im zweiten Quadranten gelegen ist, und
zwar soll π ≤ φ < π gelten (Abb. 2.2 rechts oben). Die Situation kann auf die im ersten
Quadranten zurückgeführt werden, indem man den Ergänzungswinkel ϑ von φ bezüglich
π betrachtet, also den durch φ + ϑ = π gegebenen Winkel. Dieser nimmt im ersten Qua-
dranten die Stelle von φ ein, mit dem kleinen aber wichtigen Unterschied, dass nun ∣x∣ die
Gegenkathete ist:
y ∣x∣
sin(ϑ) = cos(ϑ) =
r r
Die gesuchten cartesischen Koordinaten gewinnt man daraus wie folgt:
y − ∣x∣ x
sin(φ) = sin(π − ϑ) = sin(ϑ) = cos(φ) = cos(π − ϑ) = − cos(ϑ) = =
r r r
Die Situationen im dritten und vierten Quadranten werden ganz ähnlich behandelt. Im
dritten Quadranten (links unten in Abb. 2.2) bei π ≤ φ < π verwendet man den Winkel
ϑ = φ − π und benutzt sin(π + ϑ) = − sin(ϑ) und cos(π + ϑ) = − cos(ϑ), im vierten
Quadranten ist der Winkel ϑ = π − φ mit sin(π − ϑ) = sin(−ϑ) = − sin(ϑ) und cos(π −
ϑ) = cos(−ϑ) = cos(ϑ).
Oben war der Fall r = ausgelassen worden. Nun gibt es zwar nur eine einzige kom-
plexe Zahl z mit ∣z∣ = , nämlich z = , d. h. r = führt direkt auf z = , das Problem
ist jedoch, dass diese Zuordnung unabhängig von φ ist, jedes Koordinatenpaar (, φ) be-
stimmt z = . Eine solche Eindeutigkeitsverletzung kann bei einem Koordinatensystem
selbstverständlich nicht zugelassen werden. Es treten damit in der Praxis allerdings über-
haupt keine Probleme auf, man kann den Fall daher auf sich beruhen lassen.
Es sind nun noch zu gegebenen x und y die Polarkoordinaten r und φ zu bestimmen.
Das ist bei r kein Problem, denn r ist der Betrag der komplexen Zahl x + i y:
√
r= x + y
2 Polarkoordinaten in der komplexen Ebene 9
x z z x |x|
ϕ
i i
r y y r y
ϕ
ϑ ϑ
−1 1 −1 1
−i −i
|x| x
ϕ i ϕ i
|y| |y|
−1 ϑ ϑ
ϑ 1 −1 ϑ 1
y r r y
−i −i
z x x z
Zur Berechnung von φ wird noch einmal Abb. 2.2 herangezogen. Um Fehler zu vermeiden
sind sorgfältig sechs Fälle zu unterscheiden:
y = : z liegt auf der reellen Zahlengeraden. Ist x > , dann ist keine Drehung
der positiven reellen Achse nötig, um z zu erreichen, d. h. es ist φ = . Ist
andererseits x < , dann ist eine Drehung um π (d. h. ○ ) erforderlich:
φ = π.
x = : z liegt auf der imaginären Achse. Ist y > , dann ist eine Drehung der po-
sitiven reellen Achse um π (d. h. ○ ) nötig, um zu z zu gelangen: φ = π .
Bei y < muss um ○ gegen den Uhrzeigersinn gedreht werden, folglich
φ = π.
x > ∧ y > : z liegt im Inneren des ersten Quadranten (Abb. 2.2 oben links), es ist daher
< φ < π . Der gesuchte Winkel erfüllt natürlich
y
tan(φ) = ,
x
und wegen < φ < π kann der Hauptzweig der Umkehrfunktion von tan
benutzt werden, um φ zu bestimmen:
y
φ = arctan( )
x
10 2 Polarkoordinaten in der komplexen Ebene
x < ∧ y > : z liegt im Inneren des zweiten Quadranten (Abb. 2.2 oben rechts), es ist
daher π < φ < π. Für den Gegenwinkel ϑ = π − φ gilt deshalb < ϑ < π ,
d. h. er kann mit dem Hauptwert von arctan berechnet werden. Es ist dann
y
φ = π − ϑ = π − arctan( )
∣x∣
x < ∧ y < : z liegt im Inneren des dritten Quadranten (Abb. 2.2 unten links), es ist da-
her π < φ < π. Für den Winkel ϑ = φ − π gilt deshalb < ϑ < π und es
ist
∣y∣
φ = π + ϑ = π + arctan( )
∣x∣
x > ∧ y < : z liegt im Inneren des vierten Quadranten (Abb. 2.2 unten rechts), es ist
< φ < π. Für den Winkel ϑ = π − φ gilt < ϑ < π und φ errechnet sich
zu
∣y∣
φ = π − ϑ = π − arctan( )
x
Der auf die soeben beschriebene Weise berechnete Polarwinkel φ einer komplexen Zahl z
wird im Buch mit Φ(z) bezeichnet. Ihr Betrag r ist zwar ∣z∣, sollte aber auch als Polarkoor-
dinate eine eigene Bezeichnung besitzen und wird hier als ρ(z) geschrieben.
Dazu ein Beispiel. Zu bestimmen ist die √ Polarkoordinatenschreibweise
√ re iφ von z =
− i. Als Betrag findet man ρ( + i) = + = . Wegen x = > und y = − <
errechnet man ϑ als
∣−∣ π
ϑ = arctan( ) = arctan() =
√
und daraus Φ( − i) = π − π = π. Es ist daher − i = e i π .
In folgenden Kapiteln werden oft komplexwertige Funktionen mit einem reellen Argu-
ment betrachtet. Ein Beispiel ist die Frequenzantwort ΘS eines Systems S. Allgemein sei
F ∶ [p, q] → C eine auf einem reellen Intervall [p, q] definierte komplexwertige Funkti-
on. Die Werte F(λ) der Funktion durchlaufen dann eine Kurve in der komplexen Ebene,
beginnend mit F(p) und endend mit F(q). Beispielsweise durchlaufen die Funktionswerte
von
F(λ) = a cos(λ) + b sin(λ)i p ≤ λ ≤ q
einen Ellipsenbogen wie in Abb. 2.3. Jeder Funktionswert F(λ) besitzt als komplexe Zahl
die Polarkoordinaten r(λ) und φ(λ), oder mit den Funktionen ρ und Φ geschrieben,
ρ(F(λ)) und Φ(F(λ)), die also Funktionen des Argumentes λ sind. In Abb. 2.3 ist das
verdeutlicht: Die Verbindungslinie vom Nullpunkt zum Kurvenpunkt F(λ) hat die Län-
ge r(λ) und diese Linie ist durch eine Drehung um φ(λ) aus der positiven reellen Achse
hervorgegangen. Führt man noch die Koordinatenfunktionen
i F (p)
ϕ(λ)
−1 1
r(λ)
F (λ) −i
F (q)
ein, dann lässt sich die von F erzeugte Kurve in der komplexen Ebene vollständig mit Po-
larkoordinatenfunktionen darstellen:
λ ↦ ρ F (λ)e iΦ F (λ)
Die Polarkoordinatenfunktionen sind aussagekräftiger als die cartesischen Koordinaten x
und y, welche nur die Projektionen der Kurvenpunkte auf die reelle und imaginäre Achse
liefern. Sie sind auch als reellwertige Funktionen viel einfacher graphisch darzustellen als
die Kurve in der komplexen Ebene selbst. Für den Ellipsenbogen aus Abb. 2.3 ist ρ F (λ) in
Abb. 2.4 und Φ F (λ) in Abb. 2.5 graphisch dargestellt. Mit etwas Übung kann man aus den
Eigenschaften der beiden Koordinatenfunktionen (etwa: wo sind ihre Nullstellen, wo ihre
Extremwerte, wo ihr Ort größter Steigung? usw.) auf Eigenschaften der Kurve selbst schlie-
ßen. Beispielsweise sind in beiden Graphen die Parameter gekennzeichnet, bei welchen die
Kurve die imaginäre Achse (λ = π ) und die reelle Achse kreuzt (λ = π): Beim Betrag sind
so die Extremwerte, beim Polarwinkel die Wendepunkte gekennzeichnet.
2.6
Abb. 2.4 ρ F (λ) 2.5
2.4
2.3
2.2
2.1
r 2.0
1.9
1.8
1.7
1.6
1.5
1.4
1.3
p 1 2
λ 3 q
12 2 Polarkoordinaten in der komplexen Ebene
π
Abb. 2.5 Φ F (λ)
ϕ
π
p 1 2 3 q
λ
− − − −
Die Darstellungen von Betrag und Polarwinkel der Punkte einer Kurve in der komple-
xen Ebene spielen bei der Konstruktion und Beurteilung von digitalen Filtern eine große
Rolle. Die Darstellung des Polarwinkels stimmt jedoch meist nicht mit der hier gezeigten
überein. Der Grund ist eine etwas andere Definition der Polarkoordinaten, für die es zwar
auch Gründe gibt, die aber zur Folge hat, dass an sich stetige Funktionen Unstetigkeitsstel-
len (d. h. Sprünge) aufweisen.
Diese andere Definition der Polarkoordinaten kann etwa wie folgt plausibel gemacht
werden. Man betrachtet die diskrete periodische Funktion in Abb. 2.6. Die beiden ver-
tikalen Striche markieren die Breite einer ganzen Einzelwelle der Periode P = . Die
spezielle Einzelwelle, die zum Zeitpunkt n = − beginnt, ist durch Hervorheben ihres
Funktionswertes bei n = − gekennzeichnet. Nun wird der gesamte Wellenzug um 38 Po-
sitionen nach rechts verschoben, mit dem in Abb. 2.7 gezeigten Ergebnis. Man beachte,
dass ohne die Kennzeichnung einer speziellen Einzelwelle nur eine Rechtsverschiebung
um 6 Positionen feststellbar ist. Das ist ein Charakteristikum periodischer Funktionen
mit der Periode P, dass nur Verschiebungen modulo P effektiv bemerkt werden können
(hier mod = ).
2 Polarkoordinaten in der komplexen Ebene 13
− − − −
− − − −
Die Richtung der Verschiebung hat sich nicht verändert. Jetzt wird aber der ursprüngli-
che Wellenzug aus Abb. 2.6 um 26 Positionen nach rechts verschoben, mit dem Ergebnis in
Abb. 2.8. Ohne die Markierung kann man hier nur eine Bewegung des ganzen Wellenzuges
um sechs Positionen nach links feststellen. Hier geschieht doch offensichtlich folgendes:
Eine Verschiebung nach rechts um m > Positionen ergibt eine sichtbare Verschiebung
um k = m mod P Positionen, und zwar eine Verschiebung nach rechts, falls k in die linke
Hälfte der Periode fällt, und eine Verschiebung nach links, falls k in die rechte Hälfte der
Periode fällt. Da erscheint es ganz natürlich, eine negative halbe Periode einzuführen und
diese mit der Linksverschiebung zu assoziieren. Beachtet man nun noch, dass z. B. in der
Elektrotechnik die Sinusfunktion gern mit einer Zeigerrotation erklärt wird, dann ist auf
harmonische Weise noch dazu eine Verbindung zu den Polarkoordinaten geschaffen. In
Abb. 2.9 ist der Zusammenhang von Sinusfunktion, Zeigerrotation und Polarwinkel dar-
gestellt. Der positive Sinusbogen wird mit einer Rotation gegen den Uhrzeiger erzeugt, mit
positivem Winkel, der negative Sinusbogen durch Rotation mit dem Uhrzeiger, mit nega-
tivem Winkel. Aus dem Intervall ≤ φ < π des Polarwinkels wird also nicht einfach das
Intervall −π ≤ φ < π, der Polarwinkel startet für den positiven und den negativen Teil bei
φ = . Das bedeutet natürlich, dass der Polarwinkel nicht mehr mit Abb. 2.2 berechnet
werden kann, man muss vielmehr Abb. 2.10 heranziehen. Der auf diese Weise berechnete
14 2 Polarkoordinaten in der komplexen Ebene
ϕ
−π −ϕ
ϕ π
−ϕ
x z z x |x|
ϕ
i i
r y y r y
ϕ
ϑ ϑ
−1 1 −1 1
−i −i
|x| x
i i
|y| |y|
−1 ϑ ϕ
−ϑ 1 −1 −ϕ 1
y r −ϕ r y
−i −i
z x x z
̂
Polarwinkel einer komplexen Zahl z wird mit Φ(z) bezeichnet. Offensichtlich gilt
d. h. im ersten und zweiten Quadranten ändert sich nichts. Die in vielen Programmier-
sprachen vorhandene Funktion ATAN2 zur Berechnung des Polarwinkels einer komplexen
̂
Zahl z implementiert Φ.
Welche Auswirkungen die Anwendung von Φ̂ hat kann an Abb. 2.3 studiert werden. Ver-
folgt man den Verlauf der Kurve, so stellt man fest, dass φ(λ) plötzlich von π auf −π springt,
wenn die Kurve die negative reelle Achse kreuzt. Das ergibt sich aus einem Vergleich von
2 Polarkoordinaten in der komplexen Ebene 15
̂ π
Abb. 2.11 Φ(λ)
p 1 2 3 q
Abb. 2.3 oben rechts mit unten links. Es wird also ein Sprung, eine Unstetigkeitstelle der
Koordinatenfunktion erzeugt. Diese Unstetigkeitsstelle ist ein Artefakt der Berechnung des
Polarwinkels mit Φ, ̂ der „echte“ Winkel, um den die positive reelle Achse gedreht wird,
führt natürlich keinen Sprung von π nach −π aus, wenn die negative reelle Achse erreicht
wird, er verändert sich stetig.
Eine solche künstlich erzeugte Unstetigkeit einer Koordinatenfunktion kann uner-
wünschte Folgen haben, besonders wenn das Verhalten von ATAN2 nicht bekannt ist und
nur das mit der Funktion berechnete Endergebnis vorliegt. Ein Beispiel gibt Abb. 2.11,
das zeigt, wie sich die Koordinatenfunktion aus Abb. 2.5 ändert wenn Φ ̂ statt Φ eingesetzt
wird.
Es folgt nun noch ein der Praxis der digitalen Filter entnommenes Beispiel. Die Fre-
quenzantwort eines digitalen Filters ist eine komplexwertige Funktion eines reellen Pa-
ramters. Die Frequenzantwort eines bestimmten Filters ist die Funktion
e iω − e iω + e −iω −
A(ω) = ≤ ω < π
− e iω − e −iω
Die von der Funktion in der komplexen Ebene erzeugte Kurve ist in Abb. 2.12 dargestellt.
Die Kurvenpunkte, die bei den Parameterwerten ω = π , ω = π , π, ω = π und ω = π
erreicht werden, sind markiert. Es ist auch noch einmal angedeutet, dass der Betrag r und
der Polarwinkel φ Funktionen des Parameters ω sind. Diese Koordinatenfunktionen, also
ρ A und Φ A , lassen sich leicht berechnen, wenn A in cartesischen Koordinaten ausgedrückt
wird:
cos(ω) −
A(ω) = + sin(ω)i
− cos(ω)
Der sich ergebende Betrag ist in Abb. 2.13, der Polarwinkel in Abb. 2.14 gezeichnet. Die
Funktionsverläufe lassen sich beim Durchgang durch die von A erzeugte Kurve gut nach-
vollziehen. Der Frequenzantwort wird meistens das Argumentintervall −π ≤ ω < π zu-
grunde gelegt, doch sind Frequenzantworten periodisch mit der Periode π, das hier ge-
wählte Intervall ist daher zulässig. Es ist aber auch empfehlenswert, denn man vermeidet
damit eine artifizielle Sprungstelle im Definitionsbereich von Φ A . Wird nämlich die Kurve
16 2 Polarkoordinaten in der komplexen Ebene
π
Abb. 2.12 A(ω) ω= 2
i
π
ω= 4
ϕ(ω)
ω=π ω=0
−1 1
r(ω)
ω = 74 π
−i
ω = 32 π
r 1
π 2π
0, 5
ω
in Abb. 2.12 von −π hin zu π durchlaufen, dann beginnt der Polarwinkel bei φ = π, steigt
auf zu φ = π und macht dann einen Sprung nach φ = , um wieder zu φ = π aufzusteigen.
Weil der Polarwinkel einer komplexen Zahl z = x + i y im Wesentlichen als Funktion
des Quotienten der Koordinaten berechnet werden kann,
y
arctan( )
x
kann man (falsch) schließen, dass die Multiplikation von z mit einer reellen Zahl a ≠
keinen Einfluss auf den Polarwinkel von z hat, denn beide Koordinaten werden mit a mul-
tipliziert, weshalb a bei der Division weggekürzt wird. Wie oben aber ausführlich dargelegt
wird, ist der Polarwinkel nicht nur eine Funktion des Koordinatenquotienten, sondern
auch abhängig von dem Quadranten, in dem sich z befindet. Tatsächlich erfährt z bei der
Multiplikation mit einer negativen reellen Zahl eine Rotation um ○ . Wegen e iπ = − ist
nämlich für z = re iφ in Polarkoordinaten
Der Polarwinkel von z ist also φ + π, falls φ + π < π und φ + π − π falls φ + π ≥ π.
2 Polarkoordinaten in der komplexen Ebene 17
ϕ π
π 2π
ω
Die Frequenzantwort ω ↦ A(ω) eines Filters ist eine periodische komplexe Funkti-
on mit der Periode π. Die Aussage, dass die von der Funktion erzeugte Kurve in der
komplexen Ebene deshalb geschlossen sei, ist allerdings nur eingeschränkt wahr, denn sie
gilt nur, wenn die Kurve beschränkt ist, d. h. wenn es einen Kreis um den Nullpunkt gibt,
der die Kurve ganz enthält. Ein Beispiel dafür ist die Kurve der folgenden Funktion (siehe
Abb. 2.15):
− e −iω
U(ω) = −π <ω<π
+ e −iω + e −iω
Diese Funktion ist an den Grenzen des Parameterintervalls gar nicht definiert, sondern hat
dort die unbestimmte Form . Man überzeugt sich aber leicht davon, dass
gilt, also U(ω) → ∞ für ω → −π und ω → π. Allerdings strebt die Funktion an den
Intervallgrenzen auf verschiedene Weise gegen ∞:
Anschaulich kann man daher sagen, dass die Funktion aus dem Unendlichen kommt und
wieder dorthin verschwindet, also in diesem Sinn doch eine geschlossene Kurve ist! Beim
Übergang zur stereographischen Projektion C∗ = C ∪ {∞} (oder zum kompakten Ab-
schluss1 ) wird diese Aussage auch formal wahr:
U(−π) = ∞ = U(π)
Nicht beschränkte Frequenzantworten spielen in der Praxis natürlich keine Rolle, auch
wenn sie große Steilheiten bei geringem rechnerischen Einsatz versprechen. Sie können
1
Siehe dazu etwa [Dett].
18 2 Polarkoordinaten in der komplexen Ebene
∞
ai
ω→π
√
a=1+ 2
−a a
ω → −π
−ai
∞
sich aber beim Design von Filtern ungewollt einstellen. So ergibt sich die Funktion U aus
der folgenden Systemfunktion zur Konstruktion eines Hochpasses:
− z −
( + z − )
Diese Funktion besitzt einen Pol bei z = −, der für die Unbeschränktheit der Frequenzant-
wort verantwortlich ist.
Grundlagen der digitalen Signalverarbeitung
3
Signale
S
x x ∗y S(x)
F
δ y
S
Δ S
F(x): R−→C Z
Z(x): C−→C Δ
ΘS : R−→C
Θ
T
T◦ S
S
Ψ
ΨS: C−→C
Systeme
3.1 Signale
In der digitalen Signalverarbeitung ist ein Signal x eine zweifach unendliche Folge kom-
plexer Zahlen x(n), der Index n durchläuft also die Menge Z der ganzen Zahlen:
Ist ein Signal reell (oder auch rein imaginär), dann lässt es sich auf verschiedene Weisen
graphisch darstellen, wenigstens in den interessierenden Teilen. Um die digitale Beschaf-
fenheit der Signale zu betonen, bedient man sich gerne der Darstellung der Folgenglieder
als „Lutscher“:
1 2 3
−3 −2 −1 0 4 5
wird die Menge der Signale zu einem C-Vektorraum, der mit S bezeichnet werden soll.
Wird noch die Multiplikation von Signalen
hinzugenommen, erhält man eine C-Algebra, die ebenfalls mit S bezeichnet wird. Weitaus
wichtiger als die einfache Multiplikation von Signalen ist jedoch die Faltung zweier
Signale:
∞
(x ∗ y)(n) = ∑ x(n)y(n − ν) (3.4)
ν=−∞
Diese auf den ersten Blick etwas undurchschaubare Definition kann mit den leichter zu-
gänglichen Polynomen plausibel gemacht werden. Es seien also zwei Polynome
P = p + p X + p X + ⋯ + p n X n Q = q + q X + q X + ⋯ + q n X n
3.1 Signale 21
mit komplexen Koeffizienten gegeben, für die p ν = für ν < und n < ν gelten soll, ent-
sprechend für die q ν . Ein Produktpolynom U = PQ kann nun wie in (3.3) erklärt werden,
also durch einfache Multiplikation der Koeffizienten der beiden Polynome:
PQ = U = u + u X + u X + ⋯ + u n Xn = p q + p q X + p q X + ⋯ + p n q n Xn
Andererseits können die beiden Polynome aber auch ausmultipliziert werden, ganz so, als
sei die Unbestimmte X eine Zahl. Die Koeffizienten von
P ∗ Q = V = v + v X + v X + ⋯ + v n Xn
werden also durch Ausmultiplizieren und Zusammenfassen nach Potenzen von X gewon-
nen. Für den Fall n = erhält man so
(p + p X)(q + q X) = p q +(p q + p q ) + p q
v q v
Nun können die so erhaltenen Produktsummen auch etwas anders geschrieben werden,
etwa v = p q − + p q − , oder in Summenschreibweise
v ν = ∑ p μ q ν−μ
μ=
Dabei ist die Vereinbarung p ν = für ν < und n < ν und entsprechend für die q ν zu
beachten. Für allgemeines n folgt natürlich
n
v ν = ∑ p μ q ν−μ
μ=
Wenn aber alle bei Faltungsoperationen mit Signalen vorkommende Reihen konvergie-
ren, dann ist die Faltung kommutativ, assoziativ und distributiv bezüglich der Addition:
Dass das Faltungsprodukt nicht für alle Signale existiert bedeutet, dass der Vektorraum
S mit der Operation ∗ nicht zu einer Algebra gemacht werden kann. Beim Untervektor-
raum der Signale mit finitem Träger ist das natürlich möglich.
Sind die beiden Signale numerisch gegeben, kann zur Berechnung ihrer Faltung nach
folgendem Schema verfahren werden. Man schreibt die Signale untereinander, und zwar y
in der Zeitumkehr, d. h. als das Signal y◇ (n) = y(−n), wie in Abb. 3.1 angegeben.
Die übereinander stehenden Zahlen werden multipliziert und die Produkte addiert. das
ergibt (x ∗ y)(). Zur Berechnung von (x ∗ y)() wird das untere Signal eine Position
nach rechts geschoben, dann werden wieder die Produkte addiert (Abb. 3.2). Zur Berech-
nung von (x ∗ y)(n) für n > wird aus der Position von Abb. 3.1 das untere Signal um n
Positionen nach rechts verschoben.
Zur Berechnung von (x ∗ y)(n) für n < wird aus der Position von Abb. 3.1 das
untere Signal um n Positionen nach links verschoben verschoben, dann werden die Pro-
dukte übereinander stehender Zahlen addiert. Diese Konstellation ist für n = − in Abb. 3.3
gezeigt. Wie eine Faltung durch Auswertung der Reihe (3.4) zu berechnen ist wird in Ab-
schn. 3.1.3 vorgeführt. Obiges Schema dient mehr dazu, (x ∗ y)(n) für eine kleine Anzahl
n zu bestimmen, z. B. falls wenigstens eines der beiden Signale einen endlichen Träger von
geringer Länge besitzt.
3.1 Signale 23
5 4 3 2 1 0 1 2 3 4 5
5 4 3 2 1 0 1 2 3 4 5
Eines der einfachsten Signale ist der Einheitsimpuls (siehe Abb. 3.4). Dieser ist bei konti-
nuierlichen (analogen) Signalen nur unter Schwierigkeiten als Distribution darstellbar, als
diskretes Signal jedoch sehr leicht durch folgende Definition zu erhalten:
⎧
⎪
⎪ für n = m
δ m (n) = ⎨ (3.8)
⎪
⎩ für n ≠ m
⎪
Statt δ wird auch einfach δ geschrieben. Sieht man die Menge Z als eine Art von diskreter
Zeitachse an, dann hat ein Einheitsimpuls also an einem bestimmten (diskreten) Zeitpunkt
den Wert Eins und verschwindet zu allen anderen (diskreten) Zeitpunkten. Offensichtlich
lassen sich alle endlichen Signale als Linearkombinationen von Einheitsimpulsen darstel-
len.
Eine weitere wichtige Signalart sind die Einheitsstufen (unit step) oder Einheitssprünge
(vgl. Abb. 3.5), die schon nicht mehr endlich sind:
⎧
⎪
⎪ für n ≥ m
u m (n) = ⎨ (3.9)
⎪
⎩ für n < m
⎪
Statt u wird auch einfach u geschrieben. Die Einheitsstufen werden in der digitalen Da-
tenverarbeitung vielseitig eingesetzt. Beispielsweise kann man mit ihnen ein zweiseitiges
Signal, d. h. ein Signal x mit x(n) ≠ für fast alle n < und n ≥ , durch Multiplikation in
ein einseitiges Signal überführen, für das z. B. x(n) = für alle n < gilt.
24 3 Grundlagen der digitalen Signalverarbeitung
Wie man sich leicht überlegt, stehen die Einheitsimpulse und die Einheitsstufen in dem
folgenden einfachen aber für viele Rechnungen nützlichen Zusammenhang:
δ m = u m − u m+ (3.10)
n
um = ∑ δν (3.11)
ν=−∞
Etwas allgemeiner lassen sich mit Differenzen bestimmter Einheitsstufen die Einheitsrecht-
ecksignale ρ p,q bilden:
ρ p,q ∶= u p − u q−p+ (3.12)
Sie besitzen tatsächlich Rechteckgestalt, denn man rechnet leicht aus, dass folgendes gilt:
⎧
⎪
⎪ für p ≤ n ≤ q
ρ p,q (n) = ⎨ (3.13)
⎪
⎩ für n < p ∧ q < n
⎪
Hierhin gehört auch das „unendlich lange“ Rechtecksignal, nämlich das konstante Signal
: n ↦ . Komplementär dazu könnte man vom „unendlich kurzen“ Rechtecksignal, näm-
lich dem konstanten Signal : n ↦ , sprechen.
Das Signal und die Einheitssprünge sind zwar keine Signale mit endlichem Träger,
also Signale x, für die es ein m ∈ Z gibt mit x(n) = für n < m und m < n, aber sie
sind immerhin beschränkt, d. h. es sind Signale x, für die es eine positive reelle Zahl M
gibt mit ∣x(n)∣ ≤ M für alle n ∈ Z. Das lässt sich von den folgenden elementaren Signalen
nicht mehr behaupten, die Potenzsignale besitzen im Allgemeinen weder einen endlichen
Träger noch sind sie beschränkt:
Sie enthalten als Spezialfall die exponentiellen Signale є ω , die traditionell mit einer reellen
Konstanten (Frequenz genannt) ω geschrieben werden:
Die Potenzsignale werden meist mit einer Einheitsstufe kombiniert, um sie einseitig zu
machen, weil man entweder nur positive oder nur negative Potenzen benötigt, etwa wie
folgt:
⎧
⎪c n für n ≥
⎪
q(n) = c n u(n) d. h. q(n) = ⎨ (3.16)
⎪ für n <
⎪
⎩
Abbildung 3.6 zeigt das Signal q für die Konstante c = . Offensichtlich ist q für c ≤
ein beschränktes Signal und für c > unbeschränkt. Unbeschränkte Signale gibt es in der
3.1 Signale 25
5 4 3 2 1 0 1 2 3 4 5
n
Abb. 3.6 Das Signal q(n) = ( ) u(n)
Wirklichkeit allerdings nicht, jedes reale Signal kann nicht beliebig wachsen und kommt ir-
gendwann in die Sättigung. Rechenergebnisse, die mit Hilfe von unbeschränkten Signalen
gewonnen wurden, sind deshalb auf die Wirklichkeit nur mit großer Vorsicht anzuwenden.
Die digitale Signalverarbeitung auf beschränkte Signale aufzubauen ist allerdings keine Al-
ternative. Zwar hätte das den Vorteil, dass die Faltung, die diskrete Fourier-Transformation
usw. für alle Signale definiert wären, doch müssten beispielsweise die einfach nutzbaren Po-
tenzsignale durch „abgeschnittene“ Potenzsignale ersetzt werden, die weitaus schwieriger
zu handhaben sind.
Die exponentiellen Signale є ω sind mit den trigonometrischen Signalen c ω und s ω zu
einer festen Frequenz ω verwandt (Abb. 3.7 zeigt ein Kosinussignal):
Für Berechnungen und Ableitungen verwendet man vorzugsweise die exponentiellen Si-
gnale, die trigonometrischen Signale eignen sich mehr für praktische Beispiele, Skizzen
und Plausibilitätsbetrachtungen. Die Umrechnung erfolgt mit є ω = c ω + is ω .
Für jedes Signal x gilt x(ν)δ n (ν) = für n = ν und x(ν)δ n (ν) = für n ≠ ν, die formal
unendliche Reihe
∞
x(n) = ∑ x(ν)δ n (ν) (3.18)
ν=−∞
− − − −
ist daher eine endliche Summe, die aus genau einem von Null verschiedenen Summanden
besteht. Diese Entwicklung ist gelegentlich bei Berechnungen nützlich. Wegen δ n (ν) =
δ(n − ν) ist die Reihe eine Faltung:
∞
x(n) = ∑ x(ν)δ(n − ν) (3.19)
ν=−∞
Aus einem gegebenen Signal lassen sich neue Signale formen, indem man die Signalwerte
anders anordnet oder die Menge der Signalwerte vergrößert oder verkleinert. Man kann
das so erreichen, dass dem Signal (der Abbildung) x eine Abbildung τ seines Definitions-
bereiches Z in sich selbst vorgeschaltet wird, um ein neues Signal y zu erzeugen:
x
Z C
τ y
Es ist also y = x ○τ oder argumentweise y(n) = x(τ(n)). Im Prinzip ist jede Abbildung von
Z in sich einsetzbar, sinnvoll sind jedoch nur wenige. Wählt man als τ eine Shiftfunktion
σm , die eine Verschiebung um ein festes m ∈ Z bewirkt
σm (n) = n − m (3.20)
5 4 3 2 1 0 1 2 3 4 5 6 7 8
3.1 Signale 27
5 4 3 2 1 0 1 2 3 4 5 6 7 8
Für positives m wird x um m Positionen nach rechts (vorwärts) verschoben, das Signal
wird um m Zeiteinheiten verzögert. Für negatives m wird x um m Positionen nach links
(rückwärts) verschoben, das Signal wird um m Zeiteinheiten vorgezogen.
Ebenfalls ein einfacher Funktionstyp zur Manipulation von Signalen über deren Argu-
mente ist die Multiplikation der Argumente mit einer Konstanten:
Es wird dann bei m > für das neue Signal y nur jeder m-te Signalwert von x benutzt, d. h.
es werden m − Signalwerte übersprungen. Ist m < so kommt noch die Zeitumkehr des
Signals y dazu, d. h. der Übergang von y zu y◇ . Im Falle m = ist y natürlich das konstante
Signal mit der Konstanten x(). Ist x noch einmal das Signal
5 4 3 2 1 0 1 2 3 4 5 6 7 8
dann wird mit der angegebenen Funktion τ bei m = das folgende Signal y erhalten:
5 4 3 2 1 0 1 2 3 4 5 6 7 8
Diese Methode, ein neues Signal zu erzeugen, wird down-sampling genannt. Das Gegen-
stück, up-sampling, erhält man natürlich, wenn die Multiplikation durch eine Division
ersetzt wird:
⎧
⎪
⎪
n
für n ∈ {km ∣ k ∈ Z} m >
τ(n) = ⎨ m (3.23)
⎪
⎪ ∞ für alle übrigen n
⎩
Allerdings ist dafür die Definition der Signale auf Z ∪ {∞} zu erweitern, und zwar durch
x(∞) = . Als Beispiel sei hier das folgende Signal x gewählt:
28 3 Grundlagen der digitalen Signalverarbeitung
5 4 3 2 1 0 1 2 3 4 5 6 7 8 9
5 4 3 2 1 0 1 2 3 4 5 6 7 8 9
μm (n) = r (3.24)
Es ist also r der Teilerrest, der auftritt, wenn n durch m dividiert wird. Weil n und n + km
wegen n + km = qm + km + r = (k + q)m + r denselben Teilerrest haben, ist die Funktion
μm periodisch mit der Periode m: μm (n + m) = μm (n). Folglich entsteht das Signal x ○ μm
aus dem Signal x so, dass der Block der Signalwerte x() bis x(m − ) gleichmäßig über
den ganzen Argumentbereich verteilt wird.
n
In Abb. 3.8 ist das Signal x(n) = ( ) u(n + ) dargestellt, das sich daraus ergeben-
de Signal x ○ μ in Abb. 3.9. Man hat dabei zu beachten, dass nach obiger Definition des
Teilerrestes
≤ μm (n) ≤ m −
gilt, d. h. es ist − = − ⋅ + und nicht − = − ⋅ − . Das wird gerne übersehen, weil
der Teilerrestoperator vieler Programmiersprachen negative Reste erzeugt!
Es ist auch möglich, für eine Argumenttransformation einen Zufallszahlengenerator zu
benutzen. Ein solcher ist beispielsweise durch g n = (.⋅g n− +) mod gegeben, etwa
mit dem Anfangswert g = ... Wird die Generatorfunktion G durch G(n) = g∣n∣
definiert, so entsteht x ○ μ ○ G, indem die Signalwerte x() bis x() mehr oder weniger
zufällig über den Argumentbereich verteilt werden, siehe Abb. 3.10.
3.1 Signale 29
7
8
7
8
7
8
7
8
Von den vier hier vorgestellten Operationen ist sicherlich das Shiften von Signalen die
wichtigste. Die Shift-Invarianz von Systemen wird noch eine bedeutende Rolle spielen.
Es soll die Faltung des Signals p c , ∣c∣ < , (siehe (3.16) und Abb. 3.11) mit einem Rampen-
signal r (in Abb. 3.12 dargestellt) berechnet werden:
⎧
⎪
⎪ für n <
r(n) = nu(n) = ⎨ (3.25)
⎪
⎪ für n ≥
⎩n
30 3 Grundlagen der digitalen Signalverarbeitung
47
Die dazu nötigen Berechnungen sind typisch für viele Berechnungen in der digitalen Si-
gnalverarbeitung. Man setzt zunächst die gegebenen Größen in die Faltungssumme ein:
∞
(p c ∗ r)(n) = ∑ q(ν)r(n − ν) (3.26)
ν=−∞
∞
= ∑ c ν u(ν)(n − ν)u(n − ν) (3.27)
ν=−∞
n
= ∑ (n − ν)c ν n≥ (3.28)
ν=
n n
= n ∑ c ν − ∑ νc ν (3.29)
ν= ν=
Bei (3.27) ist u(ν) = für ν < , die Summierung beginnt daher erst bei ν = . Weiter gilt
u(n − ν) = für n − ν < oder n < ν, weshalb die Summierung schon bei ν = n endet. Das
erklärt den Übergang zur endlichen Summe in (3.28). Zu beachten ist aber, dass für n <
die Summe in (3.28) leer ist, es ist daher
Die beiden Summen in (3.29) sind zwar wohlbekannt, ihre geschlossenen Ausdrücke lassen
sich jedoch nur für c ≠ auswerten. Bei c = kann aber direkt ausgewertet werden:
n n n n
n ∑ c ν − ∑ νc ν = n ∑ − ∑ ν
ν= ν= ν= ν=
= n(n + ) − n(n + )
= n(n + )
(q ∗ r)(n) = n(n + )u(n)
3.1 Signale 31
3201, 053335
Der Fall c ≠ erfordert etwas mehr Rechnung. Die direkte Auswertung der Summen
in (3.29) ergibt
n n
− c n+ nc n+ − (n + )c n+ + c
n ∑ c ν − ∑ νc ν = n −
ν= ν= −c ( − c)
n − (n + )c + c n+
=
( − c)
n − (n + )c + c n+
(p c ∗ r)(n) = u(n)
( − c)
⎧
⎪
⎪ n(n + )u(n) für c =
(p c ∗ r)(n) = ⎨ n−(n+)c+c n+
⎪
⎪ u(n) für c ≠
⎩ (−c)
es ist in Abb. 3.13 skizziert.
Unter einem finiten Signal soll ein Signal mit endlichem Träger verstanden werden, das
also außerhalb eines endlichen Teilintervalles von Z verschwindet. Ist x finit, dann gibt es
n L , n R ∈ Z mit n L ≤ n R und x(n) = für n < n L und n R < n. Abbildung 3.14 zeigt ein
finites Signal x mit n L = − und n R = . Finite Signale sind nicht periodisch. Durch die
Faltung mit einem speziellen Signal lässt sich ein finites Signal jedoch zu einem periodi-
schen Signal machen, das aus lauter Repliken des nicht-verschwindenden Teils des finiten
Signals besteht. Diese Methode, ein periodisches Signal aus Repliken eines finiten Signals
aufzubauen, spielt eine Rolle bei der Abtastung von Signalen und macht das berühmte Ab-
tasttheorem unmittelbar einsichtig.
Die Signale, mit denen das Replizieren zu einem periodischen Signal der Periode p ge-
lingt, sind selbst periodische Signale mit der Periode p, sie setzen sich aus Einheitsimpulsen
32 3 Grundlagen der digitalen Signalverarbeitung
12 11 10 9 8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
12 11 10 9 8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
zusammen, die im Abstand p angeordnet sind. In Abb. 3.15 ist ein solches Signal mit der
Periode p = zu sehen. Ihre genaue Definition ist wie folgt:
⎧
⎪
⎪ für n ∈ Z p
r p (n) = ⎨ (3.31)
⎪
⎪ für n /∈ Z p
⎩
Darin ist p ∈ N, aber p > , und Z p = {kp ∣ k ∈ Z}. Das Signal r p ist das einfachste
periodische Signal mit der Periode p.
Es sei nun x ein finites Signal, mit n L und n R wie oben beschrieben. Dann ist y = x ∗ r p
ein periodisches Signal mit der Periode p. Denn weil x finit ist, kann die Faltung mit r p wie
folgt berechnet werden:
∞ nR
y(n) = ∑ x(ν)r p (n − ν) = ∑ x(ν)r p (n − ν)
ν=−∞ ν=n L
Daraus folgt für Argumente, die ein Vielfaches von p voneinander liegen:
nR
y(n + qp) − y(n) = ∑ x(ν)[r p (n + qp − ν) − r p (n − ν)] (3.32)
ν=n L
n L ≤ n + (q − k)p ≤ n R (3.33)
Weiter ist r p (n −ν) = genau dann, wenn es ein k ′ ∈ Z gibt mit n −ν = k ′ p oder ν = n − k ′ p.
Andererseits ist ν der laufende Index der Summe (3.32) und muss daher n L ≤ ν ≤ n R
3.1 Signale 33
12 11 10 9 8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
12 11 10 9 8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Wie schon weiter oben gilt r p (n L + m + qp − ν) = genau dann, wenn es ein k ∈ Z gibt mit
ν = n L + m + (q − k)p. Andererseits gilt für den laufenden Index ν der Summe natürlich
34 3 Grundlagen der digitalen Signalverarbeitung
n L ≤ ν ≤ n R und damit
≤ (q − k)p + m ≤ n R − n L (3.37)
• Aus k < q oder q−k > folgt wegen der Ganzzahligkeit aller beteiligten Größen q−k ≥ ,
daher gilt (q−k)p ≥ p und also erst recht (q−k)p+m ≥ p. Das ist aber wegen p > n R −n L
ein Widerspruch zu rechten Seite von (3.37).
• Aus k > q oder q − k < folgt wegen der Ganzzahligkeit q − k ≤ −, also ist (q − k)p ≤ −p
und m + (q − k)p ≤ m − p < , denn nach Voraussetzung ist m ≤ n R − n L < p. Das
widerspricht aber der linken Seite von (3.37)!
• Es bleibt folglich nur der Fall q = k, in welchem die Ungleichungen (3.37) natürlich
erfüllt sind.
In Abschn. 3.5 wird der Vorgang untersucht, durch Abtasten eines realen (kontinuierlichen)
Signals x ein digitales Signal x zu erzeugen. Es geht insbesondere darum, das diskrete Spek-
trum von x aus dem kontinuierlichen Spektrum von x zu gewinnen. Man erreicht das, indem
die Abtastung formal als eine Reihe von Einheitsimpulsen dargestellt und das kontinuierliche
Signal x damit gefaltet wird. Diese Faltung ist allerdings kontinuierlich, d. h. es wird ein Inte-
gral statt einer Reihe verwendet, aber der Vorgang ist im Wesentlichen analog zu dem, was in
diesem Abschnitt vorgeht: Ein kontinuierliches Spektrum, hier ein finites Signal (Abb. 3.14),
wird mit einer Reihe von Einheitsimpulsen, hier digital wie in Abb. 3.15, gefaltet. Das Ergeb-
nis ist im Kontinuierlichen eine Replikation des Spektrum, analog zur Replikation des finiten
Signals in den Abb. 3.16 und 3.17. Sind die Abstände zwischen den Einheitsimpulsen zu klein,
dann Überlappen sich die Repliken des kontinuierlichen Spektrums wie hier die Repliken des
finiten Signals und das kontinuierliche Signal x ist aus dem digitalisierten Signal nicht mehr
zurückzugewinnen.
Die bisher graphisch dargestellten Signale waren sämtlich reell. Die gewählte Darstellungs-
form ist natürlich auch nur für reelle oder rein imaginäre Signale möglich. Echte komplexe
Signale, etwa die Exponentialsignale n ↦ e inω , sind als als Figuren diskreter Punkte in
der komplexen Ebene darzustellen. Wünscht man das zu vermeiden, können wie im Fall
der Frequenzantwort von Systemen der Polarwinkel und der Absolutbetrag der Signalwerte
x(n) graphisch dargestellt werden. In Abb. 3.18 ist z. B. der Polarwinkel des exponentiellen
Signals є√ gezeichnet (der Absolutbetrag ist natürlich die Konstante n ↦ ). Die Werte
3.1 Signale 35
2π
− − − −
√
Abb. 3.18 n ↦ Φ( e in
)
−1 1
−i
des Signals liegen alle auf dem Kreis um den Nullpunkt mit Radius , und zwar wird der
Kreis im Gegenuhrzeigersinn durchlaufen. Liegen zwei aufeinanderfolgende Punkte auf
verschiedenen Seiten der positiven reellen Achse, dann hat zwischen diesen beiden Signal-
werten der Polarwinkel einen Sprung der Höhe π durchgeführt, allerdings nur virtuell,
denn die reelle Achse selbst wird nur für n = berührt. Diese Sprünge sind im Bild leicht
zu erkennen, z. B. zwischen n = − und n = −.
Wird das Signal als Punkteaggregat in der komplexen Ebene dargestellt, hat man das
Problem, dass die Reihenfolge der Punkte (d. h. ihr Folgencharakter) nur selten direkt zu
erkennen ist. Beispielsweise sind in Abb. 3.19
√ 201 Punkte des obigen Exponentialsignals
gezeichnet. Das Signal ist nicht periodisch ( ist irrational) und füllt daher mit den Dar-
stellungspunkten bei genügend großer Punktezahl die Kreislinie voll aus (siehe Abb. 3.20.
Das gilt natürlich nur in der graphischen Darstellung, denn für jedes Signal x ist ran(x)
abzählbar, die x(n), n ∈ Z, können daher eine Kreislinie (überhaupt jedes Stück einer ste-
tigen Kurve) nicht überdecken.
Diese Art der Darstellung ist nur dann aussagekräftig, wenn jedem gezeigten Punkt
x(n) seine Herkunft, d. h. sein Index n, beigegeben ist. In Abb. 3.21 ist das für einige Punkte
des Exponentialsignals durchgeführt, man kann so den Verlauf des Signals in einem klei-
nen Indexbereich verfolgen.
Echte komplexe Signale treten allerdings in der Praxis der digitalen Filter wenig in Er-
scheinung, das Problem ihrer Darstellbarkeit kann daher weitgehend ignoriert werden. Ein
Ausnahmefall könnte etwa sein, dass man sehen möchte, wie ein Filter ein Exponentialsi-
gnal deformiert, weil das Filter nur numerisch gegeben ist.
36 3 Grundlagen der digitalen Signalverarbeitung
−1 1
−i
2
11 9
0
−1 1
7 13
4
−i
3 8
12
Das Rechnen mit unendlichen Folgen und Reihen von Signalen lässt sich nicht ganz ver-
meiden. Einige wesentliche Grundlagen werden deshalb in diesem Abschnitt zusammen-
gefasst, um spätere Überlegungen nicht mit der Darstellung dieser Grundlagen unterbre-
chen zu müssen.
Der Vektorraum S kann leider nicht auf einfache Weise zu einem normierten Vektor-
raum gemacht werden, was wahrhaft schrecklichen Signalen wie
nn
n ↦ en
geschuldet ist. Es gibt zwar eine Metrik für diesen Raum, nämlich
∞
∣x(ν) − y(ν)∣
m(x, y) = ∑ ∣ν∣ + ∣x(ν) − y(ν)∣
ν=−∞
3.1 Signale 37
Auf den ersten Blick scheint diese Metrik auch in eine Norm verwandelbar zu sein, früher
oder später bemerkt man jedoch, dass es c ∈ C und Signale x und y gibt mit m(cx, c y) ≠
∣c∣ m(x, y). Weil die Konvergenz bezüglich dieser Metrik nun nichts weiter ist als die kom-
ponentenweise Konvergenz, ist es einfacher, nicht die Metrik, sondern die Konvergenz
direkt zu benutzen.
Es sei (x μ ) μ∈N = (x , x , x , . . .) eine Folge von Signalen aus dem ganzen Signalraum S. Die
Folge heißt konvergent gegen das Signal x ∈ S, wenn
erfüllt ist. Jede n-te Komponentenfolge (x μ (n)) μ∈N soll also gegen die n-te Komponente x(n)
von x konvergieren.
Als Beispiel soll die durch x μ (n) = c n u μ definierte Folge dienen, darin ist c eine beliebige
komplexe Zahl. Sie besteht im Wesentlichen aus der Folge c n , von der mit wachsendem μ
ein immer größer werdender Anfangsteil ausgeblendet wird. Um den Grenzwert zu be-
stimmen, schreibt man einige Folgenelemente zeilenweise untereinander, beginnend bei
μ = :
⋯ c c c c ⋯
⋯ c c c c ⋯
⋯ c c c ⋯
⋯ c c ⋯
⋯ c ⋯
⋯ ⋯
Die Spalten der Matrix bestehen aus den Komponentenfolgen, deren Grenzwert zu bestim-
men ist. Dazu bedarf es hier allerdings keiner Grenzwertbetrachtung, denn bei festem n
enthält jede Spalte nur noch Nullen, wird μ nur groß genug gewählt. Der gesuchte Grenz-
wert ist daher
lim x μ =
μ→∞
Dabei ist natürlich das Nullsignal n ↦ . Dem Leser wird es sicher nicht schwer fallen,
einige weitere Signalfolgen nach diesem Schema auf ihre Konvergenz zu untersuchen.
Der Begriff der unendlichen Reihe und ihrer Konvergenz wird wie in der Analysis auf
die Konvergenz der Folge von Partialsummen zurückgeführt. Es ist also für eine Signalfolge
(x μ ) μ∈N
∞ m
∑ x μ = lim ∑ x μ (3.39)
μ=−∞ m→∞ μ=−m
∞ m
∑ x μ (n) = lim ∑ x μ (n) (3.40)
μ=−∞ m→∞ μ=−m
38 3 Grundlagen der digitalen Signalverarbeitung
Als Beispiel soll der Wert der zur folgenden Signalfolge gehörigen unendlichen Signalreihe
berechnet werden:
x μ (n) = u (n)
( + (μ − )n)( + μn)
Bei der Berechnung wird von (A.15) Gebrauch gemacht, mit u = und v = n. Die Berech-
nung zur n-ten Komponente verläuft dann für n ≥ wie folgt:
m m m
∑ x μ (n) = ∑ u (n) = ∑ =
μ=−m μ=−m ( + (μ − )n)( + μn) μ= ( + (μ − )n)( + μn)
m
+n
Der Grenzübergang m → ∞ ist jetzt leicht auszuführen. Das Ergebnis für alle n ist
⎧
⎪
=
für n ≥
⎛ ∞ ⎞ ⎪limm→∞ m +n
∑ x μ (n) = ⎨
n
⎝ μ=−∞ ⎠ ⎪
⎪ für n <
⎩
Der C-Vektorraum S aller Signale ist nicht immer die geeignete Wahl, denn es wird sich
später zeigen, dass zu ihm zu wenig lineare Systeme gehören. Eine alternative Wahl ist der
Vektorunterraum A der absolut summierbaren Signale.
Ein Signal x heißt absolut summierbar, wenn die mit ihm assoziierte unendliche Reihe
∞
∑ ∣x(n)∣ (3.41)
n=−∞
konvergiert. Die Menge A der absolut summierbaren Signale ist ein Untervektorraum des
Vektorraums S aller Signale.
Die Aussage, dass die absolut summierbaren Signale einen Teilvektorraum bilden folgt aus
den Eigenschaften von (reellen) unendlichen Reihen.1 Offensichtlich gehören alle Signale
mit endlichem Träger zu A (siehe Abschn. 3.2.4 und 3.3.2), denn die unendliche Rei-
he (3.41) geht bei solchen Signalen in eine endliche Summe über. Weiter ist zu erkennen,
dass alle zu A gehörigen Signale x beschränkt sind, d. h. es gibt eine positive reelle Zahl
M mit ∣x(n)∣ < M für alle n ∈ Z. Das folgt sofort aus der Tatsache, dass die Glieder einer
konvergenten unendlichen Reihe eine Nullfolge bilden. Und weil die Glieder einer absolut
konvergenten Reihe beliebig umgeordnet werden können, ohne das Konvergenzverhalten
der Reihe zu ändern, ist ein geshiftetes absolut summierbares Signal wieder absolut sum-
mierbar:
x ∈ A /⇒ x ○ σm ∈ A (3.42)
Absolut summierbare Signale lassen sich oft mit den folgenden einfachen Vergleichs-
kriterien erkennen:
1
[Knop] ist trotz seines Alters immer noch ein sehr zu empfehlendes Buch über die Theorie der
unendlichen Reihen.
3.1 Signale 39
Es sei x ein Signal und (λ n )n∈Z eine Folge positiver reeller Zahlen mit konvergierender un-
endlicher Reihe
∞
∑ λn .
n=−∞
Gibt es eine natürliche Zahl k so, dass für alle n ∈ Z mit ∣n∣ > k
x(n + ) λ n+
∣x(n)∣ ≤ λ n oder ∣ ∣≤ (3.43)
x(n) λn
Die Nützlichkeit dieser Kriterien ist von der Anzahl der bekannten Vergleichsreihen ab-
hängig. Eine Quelle für solche Reihen ist beispielsweise [Grad]. Ein Beispiel dazu ist das
für ein ω ∈ R durch
sin(nω)
x(n) = für n ≠ x() =
n
definierte Signal. Als Vergleichsreihe kann hier die von der Folge
λn = für n ≠ λ =
n
sin(nω)
∣x(n)∣ = ∣ ∣≤
n n
∞ −∞ ∞
n n
∑ ∣p c (n)∣ = ∑ ∣c∣ + + ∑ ∣c∣
n=−∞ n=− n=
Im Falle ∣c∣ < ist die linke unendliche Reihe divergent, bei ∣c∣ ≥ konvergiert die rech-
te Reihe nicht. Allgemein ist ein Signal x, bei dem die Folge der ∣x(n)∣ für n → ∞ und
n → −∞ keine Nullfolgen bildet, aus oben schon genannten Gründen nicht absolut sum-
mierbar. Die Negierung beider Aussagen ergibt jedoch keinen wahren Schluss, d. h. ein
Signal x, bei dem die Folge der ∣x(n)∣ für n → ∞ und n → −∞ Nullfolgen bildet, ist nicht
notwendigerweise absolut summierbar.
Der Vektorraum A kann auf verschiedene sich selbst anbietende Weisen normiert wer-
den. Weil ein absolut summierbares Signal notwendigerweise beschränkt ist (siehe oben),
bietet sich
∥x∥ = sup ∣x(n)∣ (3.44)
n∈Z
40 3 Grundlagen der digitalen Signalverarbeitung
als einfachste Norm an. Hier wird jedoch aus Gründen, die sich später noch ergeben wer-
den, die folgende Summennorm für absolut summierbare Signale gewählt:
∞
∥x∥ = ∑ ∣x(n)∣ (3.45)
n=−∞
Dass damit eine Norm gegeben ist folgt wieder aus den Eigenschaften absolut konvergenter
reeller unendlicher Reihen. Als ein Beispiel soll die Norm des durch
(−)n
x(n) =
+ n
gegebenen Signals berechnet werden. Das Signal ist absolut summierbar, weil wieder mit
n
nach oben abgeschätzt werden kann. Die Norm des Signals ist nach [Grad] 1.421 4.
∞ ∞
π
∥x∥ = ∑ = + ∑ = coth(π)
n=−∞ + n n= + n
Es sei N ein normierter Teilvektorraum von S mit der Norm ∥⋅∥N . Eine Folge (b n )n∈Z von
Signalen aus N heißt eine Basis für N wenn zwei Bedingungen erfüllt sind.
(i) Die Eindeutigkeit: Für jede Folge (c n )n∈Z komplexer Zahlen gilt
∞
∑ c n b n = ⇒ c n = für alle n ∈ Z (3.46)
n=−∞
(ii) Die Abgeschlossenheit: Zu jedem x ∈ N gibt es eine Folge (x n )n∈Z komplexer Zahlen mit
∞
x = ∑ xn bn (3.47)
n=−∞
Aus der Bedingung der Eindeutigkeit folgt die Eindeutigkeit der Darstellung (3.47), jedes
Element von N kann auf genau eine Weise als eine unendliche Reihe (3.47) dargestellt
werden. Um das zu sehen, genügt es, zwei Reihen, die dasselbe Signal darstellen, zu sub-
trahieren. Die eindeutige Existenz einer Darstellung durch eine unendliche Reihe ist eine
stärkere Forderung als in der linearen Algebra für eine unendliche Basis gestellt wird, dass
nämlich jeder Vektor als Linearkombination einer endlichen Teilmenge der Basis darge-
stellt werden kann.
Es kommt sicher nicht als Überraschung, dass die spezielle Folge der Einheitsimpulse
(δ n )n∈Z
3.1 Signale 41
eine Basis des normierten Raumes A bildet. Das folgt jedoch nicht schon aus (3.18), denn
die dortige unendliche Reihe ist lediglich eine endliche Summe in Verkleidung einer un-
endlichen Reihe, es ist keine unendliche Reihe (3.47) im Sinne der Normkonvergenz. Die
Eindeutigkeit und Abgeschlossenheit sind daher zu beweisen.
Zunächst zur Eindeutigkeit. Es sei (c n )n∈Z eine Folge komplexer Zahlen mit
∞ 3
3
3 m 3
3
3
3
3 ∑ cμ δμ3
3
∑ c n δ n = oder lim 3
3 3
3 =
m→∞ 33 3
3
n=−∞ 3
3 μ=−m 3
3
Nun ist in leicht verständlicher Komponentenschreibweise
m
∑ c n δ n = (. . . , , c−m , c−m+ , . . . , c , . . . , c m− , c m , , . . .)
μ=−m
Gäbe es ein k ∈ Z mit c k ≠ , dann wäre C m ≥ ∣c k ∣ > für m ≥ ∣k∣. Weil die Partialsummen
nur aus nichtnegativen Gliedern bestehen, folgte daraus lim m→∞ C m > , im Widerspruch
zur Voraussetzung.
Zum Beweis der Abgeschlossenheit sei x ein absolut summierbares Signal. Zur Abkür-
zung sei x n = x(n) gesetzt. Es ist dann in der selben Schreibweise wie oben
m
x − ∑ x n δ n = (. . . , x−m− , x−m− , , . . . , , x m+ , x m+ , . . .)
μ=−m
Auf der rechten Seite stehen die Reihenreste konvergenter Reihen und sind deshalb Null-
folgen, denn x ist als absolut summierbar vorausgesetzt. Das ergibt
3
3 3
3 ∞ ∞
3
3
m 3
3
lim 3
3
3
3 x − ∑ x δ 3
n n3
3
3 = lim ∑ ∣x−μ ∣ + lim ∑ ∣x μ ∣ =
m→∞ 3 3
3
3 μ=−m 3
3
m→∞ μ=m m→∞ μ=m
Tatsächlich bilden die δ n auch eine Basis für ganz S, natürlich bezogen auf die kom-
ponentenweise Konvergenz. Zunächst zur Eindeutigkeit. Es sei (c n )n∈Z solch eine Folge
komplexer Zahlen, dass für jedes n ∈ Z gilt
m m
lim ( ∑ c μ δ μ )(n) = lim ∑ c μ δ μ (n) =
m→∞ μ=−m m→∞ μ=−m
42 3 Grundlagen der digitalen Signalverarbeitung
Wird bei festem aber beliebigem n nun m groß genug gewählt, nämlich m ≥ ∣n∣, dann ergibt
sich
m
∑ c μ δ μ (n) = c n δ n (n) = c n =
μ=−m
Zum Beweis der Abgeschlossenheit sei x ein beliebiges Signal. Zu zeigen ist dann
m
lim (x − ∑ x(μ)δ μ )(n) =
m→∞ μ=−m
m m
(x − ∑ x(μ)δ μ )(n) = x(n) − ∑ x(μ)δ μ (n) = x(n) − x(n) =
μ=−m μ=−m
Die Folge (δ n )n∈Z der Einheitsimpulse ist jedoch nicht für alle Unterräume von S eine
Basis. Das ist z. B. der Fall für den Unterraum B der beschränkten Signale versehen mit
der sup-Norm. Hier müsste wegen der Eindeutigkeit
∞
u = ∑ δn
n=
findet eine Konvergenz nicht statt, denn für die Norm folgt daraus
3
3
3 m 3
3
3
3
3 3
3
3u − ∑ δμ3
3
3 =
3
3
3 3
3
3
3 μ= 3
Absolut summierbare Signale und beschränkte Signale stehen in einem besonderen Ver-
hältnis zueinander. Und zwar ist das komponentenweise Produkt
eines absolut summmierbaren Signals x mit einem beschränkten y Signal wieder ein ab-
solut summierbares Signal:
x ∈ A ∧ y ∈ B /⇒ x ⊙ y ∈ A (3.49)
Ein Signal y ist beschränkt, wenn es eine reelle Zahl M ≥ gibt mit ∣x(n)∣ ≤ M für alle
n ∈ Z.
3.2 Systeme 43
Die Menge aller Signale S kann nicht in einer Folge angeordnet werden, d. h. S ist
nicht abzählbar oder ∥S∥ > ℵ (zu Kardinalzahlen siehe Abschn. 3.2). Ausgangspunkt zum
Beweis dieser Behauptung ist die Tatsache, dass jedes x ∈ R wie folgt dargestellt werden
kann:
∞
xn
x = ⌊x⌋ + ∑ n x n ∈ {, }
n=
Es wird also x in den ganzzahligen und den gebrochenen Teil zerlegt, und letzterer wird
als Binärzahl entwickelt. Diese Darstellung ist eindeutig, wenn die Folge der x n terminiert,
d. h. wenn nicht für fast alle n x n = gilt. Statt ,⋯ ist also ,⋯ zu wählen.
Darauf aufbauend wird nun eine Teilmenge D von S konstruiert:
Diese Signalmenge wird nun in die Menge R der reellen Zahlen abgebildet:
∞
x(n)
D: D → R D(x) = x() + ∑ (3.50)
n= n
Auf der rechten Seite von (3.50) steht gerade die obige Darstellung eines x ∈ R im Dualsys-
tem, dabei ist x() = ⌊x⌋ der ganzzahlige Anteil von x und die Reihe stellt den gebrochenen
Anteil von x dar. Aus der Eindeutigkeit dieser Darstellung folgt, dass die Abbildung eine
Bijektion ist, und das bedeutet
∥D∥ = ℵ
Daraus folgt schließlich wegen D ⊂ S (siehe z. B. [Monk] Theorem 18.7) dass auch S
nicht abzählbar ist:
∥S∥ ≥ ℵ > ℵ
3.2 Systeme
so wird offensichtlich, dass ein System nur als eine mathematische Abbildung (oder Funk-
tion) angesehen werden kann. Die folgenden Kapitel werden zeigen, dass dieses Vorge-
hen ausgesprochen praktisch ist, denn auf diese Weise steht der ganze mit Abbildungen
verbundene mathematische Apparat zur Verfügung, der präzise Aussagen erlaubt und tat-
sächlich auch Lösungswege vorzeichnet. Insbesondere wird das Ausgangssignal y nun auch
in Funktionsschreibweise als
y = S(x)
geschrieben. Das Ausgangssignal S(x) besteht dann aus der komplexen Zahlenfolge
S(x)(n) n∈Z
Es gibt viele Möglichkeiten, eine Abbildung vorzugeben. Die einfachste ist, eine direkte
Zuordnungsvorschrift anzugeben. Beispielsweise kann das System Q als
Q(x)(n) = x(n)
gegeben sein. Hier ist an der Festlegung von S(x)(n) nur x(n) beteiligt, beim nächsten
System D werden mehrere Signalwerte zur Definition verwendet:
Auch spricht (jedenfalls in der Theorie) nichts dagegen, sogar unendlich viele Signalwerte
des Eingangssignals zu verwenden, sofern das sinnvoll ist:
∞ −∞
R(x)(n) = ∑ x(ν) und L(x)(n) = ∑ x(ν)
ν=n ν=n
Es ist aber auch eine indirekte Festlegung der Systemwerte möglich. Besitzt etwa die Diffe-
renzengleichung
y n = y n− + x(n) (3.51)
eine Lösung, dann kann man diese als Systemwert verwenden:
Y(x)(n) = y n
Nun sind diese Systemdefinitionen aber unter einem bestimmten Aspekt nicht gleichwer-
tig. Denn das System Q besitzt für jedes Eingangssignal ein Ausgangssignal, denn bei jedem
Signal x kann jedes x(n) quadriert werden. Auch das System D ist für jedes Signal definiert.
Bei dem System R ist das jedoch nicht der Fall, beispielsweise gibt es für das Signal kein
Ausgangssignal R(), wobei natürlich durch (n) = gegeben ist. Und bei Y muss die
Differenzengleichung für das Signal x untersucht werden, ehe gesagt werden kann, ob der
Systemwert Y(x) existiert und sie muss gegebenenfalls gelöst werden, um den Systemwert
3.2 Systeme 45
auch zu bestimmen. Man kann im Prinzip also nicht einfach von dem System R sprechen,
sondern muss angeben, für welche Signale x der Systemwert S(x) existiert, um die Ab-
bildung S vollständig zu bestimmen. In der Nomenklatur der Abbildungen heißt das, den
Definitionsbereich dom(S) anzugeben, der eine Teilmenge M der Menge S aller Signale
ist, etwa wie folgt:
S: M → S
Der Definitionsbereich von R ist leicht anzugeben, er besteht aus der Menge Rk aller
rechtsseitig summierbaren Signale. Dabei ist ein Signal x rechtsseitig summierbar, wenn
die unendliche Reihe
∞
∑ x(ν)
ν=
konvergiert. Denn der mit dem linken Teil des Signals gebildete endliche Abschnitt der
definierenden Reihe von R spielt für Konvergenzfragen keine Rolle.
Die Bestimmung der Lösung der Differenzengleichung für das System Y bereitet bei
einer solch einfachen Gleichung keine Probleme. Man hat nur zu beachten, dass die Diffe-
renzengleichung rekursiv2 ist (auf sich selbst rückbezüglich): Um y n zu kennen, muss y n−
bereits bekannt sein, um y n− zu kennen, muss y n− bekannt sein, usw. Diese Kette von
Abhängigkeiten muss einmal durchbrochen werden. Das kann durch Vorgabe von Start-
werten geschehen, etwa wie folgt:
n ≤ ⇒ Y(x)(n) = ,
und so weiter. Die rekursive Definition ist daher äquivalent zu der simplen expliziten De-
finition
⎧
⎪
⎪ für n ≤
Y(x)(n) = ⎨ n−
⎪
⎩∑ν= x(ν) für n >
⎪
Das „und so weiter“ kann sehr leicht mit vollständiger Induktion verifiziert werden. Der
Definitionsbereich des Systems Y ist jetzt leicht als dom(Y) = S zu identifizieren, d. h.
Y(x) existiert für jedes Signal x.
2
Die rekursive Definition einer Abbildung darf nicht mit dem rekursiven Aufruf einer Funktion (z. B.
in einer Programmiersprache) verwechselt werden. Die Frage ist, ob tatsächlich eine (und nur eine)
Abbildung existiert, die ein Definitionsschema wie (3.51) erfüllt. Tatsächlich hat es sehr lange gedau-
ert, bis die Notwendigkeit eines Beweises erkannt wurde (Dedekinds Rekursionstheorem). Siehe z. B.
[Monk] Theorem 13.1 oder (viel besser!) [Sch] §20.
46 3 Grundlagen der digitalen Signalverarbeitung
Das System D ist auf den ersten Blick erkennbar auf ganz S definiert, es ist jedoch
einer anderen Eigenschaft wegen bemerkenswert. Betrachtet man nämlich den Fortlauf
des Signalindexes (d. h. des n in x(n)) als ein Fortlaufen in der Zeit, was schon durch die
Bezeichnung Signal nahegelegt wird, dann wird zur Berechnung des neuen laufenden Si-
gnalwertes D(x)(n) die Kenntnis des zukünftigen Signalwerts3 x(n + ) benötigt. Das hat
einen leichten Anflug von Unmöglichkeit, der jedoch gänzlich verschwindet, ersetzt man
zukünftig durch nächst. Bei einem auf irgendeinem Speichermedium abgelegten digitalen
Signal ist es natürlich möglich, auf den nächsten Signalwert zuzugreifen. Auch bei einem
live verarbeiteten digitalen Signal ist das durch einfaches Warten möglich, führt allerdings
zu einer Verzögerung des Signals.
Die bisher vorgebrachten Beispiele für Systeme geben nur ein sehr unvollständiges Bild
der Wirklichkeit ab. Die nächsten Beispiele sollen diese Wirklichkeit etwas stärker in das
Licht rücken. Zu diesem Zweck wird zunächst der auch an sich sehr nützliche Begriff der
charakteristischen Funktion einer Teilmenge eingeführt.
Sei X eine Menge. Dann ist die charakteristische Funktion χ M : X → {, } einer Teilmenge
M ⊂ X definiert als
⎧
⎪
⎪ falls x ∈ M
χ M (x) = ⎨ (3.52)
⎪ falls x ∈ X ∖ M
⎪
⎩
Die Funktion χ M zeigt also bei jedem x ∈ X an, ob das Element zur Teilmenge M gehört oder
nicht.
In dem Spezialfall X = Z sind die χ M für Teilmengen von Z offenbar Signale. Durch die
Zuweisung
H(x) = χ Tx
wird daher ein System H : S → B definiert. Es ist H(x)(n) = falls x(n) ≠ und
H(x)(n) = falls x(n) = . Dieses System bewirkt eine Klasseneinteilung aller Signale,
indem es die individuellen Signalwerte ignoriert: Zwei Signale gehören zu derselben Klasse,
gelten in diesem Sinne als „gleich“, wenn sie dieselbe Teilmenge von Z als Träger haben.
Umgekehrt gehört zu jeder Teilmenge M ⊂ Z die Klasse aller Signale x mit H(x) = χ M , d. h.
die χ M können als Klassenrepräsentanten aufgefasst werden. Kommt es daher einmal auf
die individuellen Signalwerte nicht an, sondern nur darauf, an welchen Stellen ein Signal
nicht verschwindet, kann man sich auf die Signalmenge
H = {χ M ∣ M ⊂ Z}
3
Diesem Themenkreis ist der Abschn. 3.11 gewidmet.
3.2 Systeme 47
sind. Um einfacher formulieren zu können wird die Kardinalzahl einer Menge M mit ∥M∥
bezeichnet. Wie üblich sei ℵ = ∥N∥ (Aleph null) die Kardinalzahl der Menge der natürli-
chen Zahlen. Es ist auch ℵ = ∥Z∥ = ∥Q∥, aber ∥R∥ = ℵ > ℵ . Damit ist eine Teilmenge
M ⊂ Z eine endliche Teilmenge falls ∥M∥ < ℵ , und sie ist eine unendliche Teilmenge von
Z falls ∥M∥ ≥ ℵ .
Ein System Z, das die eben beschriebene gröbere Einteilung der Signalmenge S be-
wirkt, kann mit diesen Bezeichnungen wie folgt definiert werden:
⎧
⎪
⎪
⎪ δ∥Tx ∥ falls ∥T x ∥ < ℵ
⎪
⎪
Z(x) = ⎨δ−∥Z∖Tx ∥ falls ∥Z ∖ T x ∥ < ℵ
⎪
⎪
⎪
⎪
⎪ falls ∥T x ∥ ≥ ℵ ∧ ∥Z ∖ T x ∥ ≥ ℵ
⎩
Es sind nun einmal als Systeme alle Abbildungen zugelassen, die auf einer Teilmenge von S
definiert sind und deren Wertevorrat ebenfalls eine Teilmenge von S ist, man muss sich
daher auch auf einige Exemplare extremer Natur gefasst machen. Allerdings ist Z noch
nicht wirklich bizarr (siehe unten), denn es erzeugt eine Klasseneinteilung von S, die ge-
legentlich durchaus von Nutzen sein kann:
• Ist der Träger T x von x endlich, dann wird x der Einheitsimpuls an der Stelle ∥T x ∥
zugeordnet. Jedes Signal x mit ∥T x ∥ = m ∈ N gehört also zu der Klasse
Z− [{δ m }]
• Ist das relative Komplement Z ∖ T x des Trägers endlich (ist der Träger cofinite), wird x
der Einheitsimpuls an der Stelle − ∥Z ∖ T x ∥ zugeordnet. Jedes Signal x mit ∥Z ∖ T x ∥ =
m ∈ N gehört also zu der Klasse
Z− [{δ−m }]
• Sind weder der Träger noch sein relatives Komplement endlich, dann erhält x als Wert
das konstante Signal .
Die Einheitsstufe u ist ein Beispiel für ein Signal, das zur von erzeugten Klasse gehört. Ein
Beispiel eines Signales mit kofinitem Träger ist Z( − δ) = δ− .
Die Abbildung D : D → R aus (3.50) (Abschn. 3.1.6) kann dazu verwendet werden,
bizarre Systeme zu erzeugen. Ist nämlich f : R → R irgendeine Funktion, dann kann ein
System D f : D → D durch
definiert werden. Die Wahl von f ist vollkommen frei. Einige Beispiele:
In nahezu allen Disziplinen spielen lineare Gleichungen, Abbildungen etc. eine Sonder-
rolle. Das gilt auch für die digitale Signalverarbeitung. Bei Systemen gibt allerdings die
Linearität nicht allein den Ausschlag, es kommt noch eine weiter unten vorgestellte Eigen-
schaft hinzu. Hier ist aber zunächst die Definition eines linearen Systems:
Es sei U ein Untervektorraum des C-Vektorraumes S aller Signale. Dann heißt ein System
S : U → S linear (genauer C-linear) wenn für alle x ∈ U, y ∈ U und jedes c ∈ C die beiden
folgenden Eigenschaften erfüllt sind:
S soll also ein Vektorraumendomorphismus sein. Wichtig ist, dass hier die C-Linearität
und nicht die R-Linearität gefordert wird. So ist beispielsweise das durch S(x)(n) =
I(x(n)) auf S definierte System zwar R-linear, aber nicht linear:
Das System Q ist wegen (a+b) ≠ a +b in C ebenfalls nicht linear. Das System D ist dage-
gen linear, wie eine einfache Rechnung ergibt. Tatsächlich ist D ein Spezialfall einer ganzen
Klasse von Systemen. Es sei nämlich I das identische System, gegeben durch x ↦ x. Das
identische System ist natürlich linear mit S als Definitionsbereich. Die Systeme Im seien
definiert durch I m (x) = x ○ σm . Sie alle sind lineare Systeme mit S als Definitionsbereich.
Wie man sofort nachrechnet, sind auch alle Systeme
m
∑ c l Il cl ∈ C (3.55)
l =k
linear mit S als Definitionsbereich. Das System D erhält man daraus für k = −, m = und
c− = c = c = . Wie sich sogleich ergeben wird, ist durch (3.55) nur ein Teil aller linearen
Systeme auf ganz S gegeben.
Die Eigenschaft (3.53) kann natürlich auf mehr Summanden ausgeweitet werden, mit
vollständiger Induktion auf beliebig viele Summanden. Nun sind beliebig viele Summanden
immer noch endlich viele Summanden, d. h. die Additivität (3.53) kann nicht auf unendli-
che Reihen von Signalen ausgedehnt werden. Kommen unendliche Reihen von Signalen in
das Spiel ist die Linearität nutzlos, die folgende Gleichung gilt im Allgemeinen für lineare
Systeme S nicht:
∞ ∞
S( ∑ x m ) = ∑ S(x m ) (3.56)
m=−∞ m=−∞
3.2 Systeme 49
Darin ist (x m )m∈Z eine Folge von Signalen, für welche die unendliche Reihe konvergiert,
wobei die Natur dieser Konvergenz noch offen ist. Festgelegt ist jedoch, dass immer die
Konvergenz der Folge der Partialsummen der Reihe gemeint ist. Im Wesentlichen wird
mit (3.56) gefordert, dass das System konvergente Folgen von Signalen respektiert: Das ist
eine Stetigkeitsforderung.
Ein System S heißt stetig bei dem Signal x, wenn für jede gegen x konvergierende Folge
(x m )m∈N
S( lim x m ) = lim S(x m ) (3.57)
m→∞ m→∞
gilt. Ist S auf ganz S erklärt, dann ist die Konvergenz die komponentenweise Konvergenz.
Ist S dagegen auf einem normierten Teilvektorraum von S definiert, dann ist die Konvergenz
die Konvergenz unter der Norm.
Stetige Systeme sind leicht zu finden, beispielsweise wird durch x ↦ x ein solches gege-
ben. Stetige Systeme an sich werden hier jedoch nicht benötigt und auch nicht benutzt,
es werden immer nur Systeme betrachtet, die zugleich stetig und linear sind. Linea-
re Systeme auf normierten Räumen haben bezüglich der Stetigkeit besondere Eigen-
schaften.
S: N → S sei ein lineares System auf einem normierten Vektorunterraum von S. Ist S in
einem x ∈ N stetig, dann ist S auf ganz N stetig.
Lineare Systeme auf normierten Räumen sind daher entweder nirgendwo stetig oder auf
dem ganzen Raum stetig.
Ein System S: N → N von einem normierten Raum N mit der Norm ∥⋅∥ in einen nor-
mierten Raum N mit der Norm ∥⋅∥ heißt beschränkt, wenn es eine positive reelle Zahl M
gibt mit
∥S(x)∥ ≤ M ∥x∥ für alle x ∈ N (3.58)
Beschränkte Systeme dürfen nicht mit den stabilen Systemen von Abschn. 3.12 verwechselt
werden. Ein stabiles System bildet beschränkte Signale auf ebensolche ab, doch ist nicht
vorgeschrieben, wohin nicht beschränkte Signale abgebildet werden. Dagegen ist (3.58)
für alle Signale des Definitionsbereiches gültig.
Es sei S: N → N ein lineares System von einem normierten Raum N in einen normierten
Raum N . Dann sind äquivalent:
In normierten Räumen sind also Stetigkeit und Beschränktheit bei linearen Systemen ein
und dasselbe. Dagegen muss z. B. ein lineares und stetiges System S: S → S nicht be-
schränkt sein, denn S ist nicht genormt.
50 3 Grundlagen der digitalen Signalverarbeitung
Es werden nun alle Systeme S: S → S bestimmt, die zugleich linear und stetig sind.
Sei dazu S ein solches System, und es sei x ein beliebiges Signal. Das Signal kann mit der
Basis der δ m dargestellt werden (siehe Abschn. 3.1.6), d. h. es gibt eine Folge (c m )m∈Z kom-
plexer Zahlen mit (bezüglich der komponentenweisen Konvergenz in S)
∞
x = ∑ cm δm
m=−∞
∞ ∞ ∞
S( ∑ c m δ m ) = ∑ S(c m δ m ) = ∑ c m S(δ m ) (3.59)
m=−∞ m=−∞ m=−∞
Die rechte unendliche Signalreihe von (3.59) muss nun konvergieren, und zwar für jede
mögliche Folge (c m )m∈Z . Das ist aber nur dann möglich, wenn diese unendliche Reihe in
Bezug auf die Konvergenz eine endliche Summe ist! Das gilt daher nicht für die Reihe selbst,
diese kann durchaus unendlich viele Glieder haben, sondern für die Komponentenreihen
∞
∑ c m S(δ m )(n) n ∈ Z, (3.60)
m=−∞
denn zur Bildung der unendlichen Reihe wird die komponentenweise Konvergenz verwen-
det. Jede Komponentenreihe kann also nur endlich viele von Null verschiedene Glieder
besitzen. Das kann wie folgt präzise formuliert werden:
Das ist jetzt allerdings zu beweisen. Ausgangspunkt ist dabei, dass (3.60) für alle möglichen
Folgen (c m )m∈Z konvergiert. Zum Beweis sei angenommen, dass die Behauptung falsch ist.
Dann kann ein n ∈ Z so gewählt werden, dass S(δ m )(n) ≠ gilt für unendlich viele m ∈ Z.
Mit der durch
⎧
⎪ ∣m∣
⎪ S(δ m )(n) falls S(δ m )(n) ≠
cm = ⎨
⎪
⎪
⎩ andernfalls
definierten Folge erhält man jedoch eine unendliche Reihe (3.60), die nicht konvergiert,
weil unendlich viele ihrer Glieder den Wert ∣m∣ haben!
Um es noch einmal unmissverständlich darzustellen: Auf der rechten Seite von (3.59)
steht eine unendliche Reihe von Signalen, dagegen ist (3.60) eine ganz gewöhnliche un-
endliche Reihe komplexer Zahlen, wie sie aus der Analysis oder Funktionentheorie her
3.2 Systeme 51
bekannt ist. Hier sind eine unendliche Signalreihe und die ihr assoziierten unendlichen
Reihen komplexer Zahlen gegenübergestellt:
∞ ∞
∑ vm = v ⇐⇒ ∑ v m (n) = v(n) für alle n ∈ Z
m=−∞ m=−∞
Die linke Reihe ist nur eine Kurzschreibweise für die unendlichen Reihen auf der rech-
ten Seite. Ein einfaches Beispiel dafür, dass die Reihe auf der linken Seite unendlich viele
Glieder besitzt, die Reihen auf der rechten Seite jedoch nur endlich viele, ist
∞ ∞
∑ δm = ⇐⇒ ∑ δ m (n) = δ n (n) = für alle n ∈ Z
m=−∞ m=−∞
Bezüglich der Abbildungen des Signalvektorraumes S in sich, die linear und stetig sind,
ist bisher gezeigt worden, dass sie die Bedingung (3.61) erfüllen müssen, d. h. diese Be-
dingung ist notwendig. Umgekehrt lässt sich nun auch zeigen, dass auf der Basis dieser
Bedingung stetige lineare Systemen erhalten werden, d. h. die Bedingung ist auch hinrei-
chend:
Es sei (t m )m∈Z eine Signalfolge und (T⟨n⟩ )n∈Z eine Folge von endlichen Teilmengen T⟨n⟩ ⊂ Z.
Dann ist das wie folgt definierte System T linear und stetig:
In jeder Komponente n werden also nur endlich viele t m an der Summenbildung betei-
ligt. Die Folge der t m selbst muss nicht endlich sein. Wenn sie es jedoch ist, dann sind die
Teilmengen der Teilmengenfolge für alle Komponenten gleich und ganz natürlich durch
T⟨n⟩ = {m ∈ Z ∣ t m ≠ }
Die Linearität des Systems T ist sehr leicht zu zeigen. So ist für jede komplexe Zahl c
= T(x)(n) + T(y)(n)
Der Beweis der Stetigkeit ist allerdings verwickelter. Wie weiter oben (Abschn. 3.2.1) schon
bemerkt, genügt es, die Stetigkeit an einer Stelle zu beweisen. Hier wird dazu das Nullsignal
gewählt. Es sei also (x k ) k∈Z eine beliebige Nullsignalfolge, d. h. es gelte
Für diese Folge ist dann nachzuweisen, dass sie von T in eine Nullfolge abgebildet wird:
Das hat wieder komponentenweise zu geschehen. Sei also n ∈ Z fest gewählt. Zu zeigen ist
Die Menge T⟨n⟩ ist endlich, die Anzahl ihrer Elemente sei q n . Wegen der Endlichkeit von
T⟨n⟩ existiert auch
θ n = max ∣t m (n)∣
m∈T⟨n⟩
Sei nun є > . Weil für jedes i ∈ T⟨n⟩ k ↦ x k (i) eine Nullfolge ist, gibt es zu jedem m ∈ T⟨n⟩
eine natürliche Zahl k m mit
є
∣x k (m)∣ < für k ≥ k m
qn θ n
l = max k m
m∈T⟨n⟩
Die Zahlen wurden so gewählt, dass für jedes m ∈ T⟨n⟩ die folgende Ungleichung gültig ist:
є
∣x k (m)∣ < für k ≥ l
qn θ n
3.2 Systeme 53
Der Beweis von (3.65) ergibt sich jetzt aus der folgenden Abschätzung: Für k ≥ l gilt
EE EE
EE E
EEE ∑ x (m)t (n)EEEE ≤ ∑ ∣x (m)∣ ∣t (n)∣
EE k m EE k m
EEEm∈T⟨n⟩ EEE m∈T⟨n⟩
є
< ∑ θn
m∈T⟨n⟩ n θ n
q
є
= qn θ n = є
qn θ n
Ein einfaches Beispiel ist durch t m = m δ m und T⟨n⟩ = {n} gegeben. Durch (3.62)
wird ein lineares und stetiges System erzeugt. Das System ist nicht beschränkt (der Vektor-
raum S ist eben nicht normiert):
Bei der Wahl t m (n) = δ n−k (m) und T⟨n⟩ = {n − k} ergibt (3.62) gerade T = I k :
Die t m müssen keinen endlichen Träger besitzen. Die Endlichkeit der Summen wird durch
die Summierung über die T⟨n⟩ sicher gestellt. Es kann beispielsweise t m = m u und T⟨n⟩ =
{n − p} mit p ∈ N+ gewählt werden:
⎧
⎪
n
⎪∑
n
mx(n) falls n ≥
T(x)(n) = ∑ x(m)mu(n) = ⎨ m= (3.66)
⎪
⎪ falls n <
m= ⎩
Speziell liest man bei diesem System T(δ k ) = für k < und T(δ k ) = kδ k für k ≥ ab:
⎧
⎪
⎪
⎪ falls n > k
n ⎪
⎪
T(δ k )(n) = ∑ mδ k (m) = ⎨ kδ k (k) falls n = k (3.67)
⎪
⎪
m= ⎪
⎪ falls n < k
⎪
⎩
54 3 Grundlagen der digitalen Signalverarbeitung
Legt man also den Vektorraum S aller Signale als Definitionsbereich für stetige lineare
Systeme fest, dann stehen im Wesentlichen nur Systeme zur Verfügung, die aus endlichen
Linearkombinationen von Signalen bestehen. Das ist jedoch nicht genug, in der Praxis der
digitalen Filter treten Systeme auf, welche die Struktur einer unendlichen Linearkombina-
tion von Signalen besitzen. Beispielsweise wird in Abschn. 4.8.1 das System
∞ sin(νω γ )
T(x)(n) = ∑ x(n − ν) (3.68)
π ν=−∞ ν
konstruiert, das mit den Mitteln dieses Abschnittes auch so geschrieben werden kann:
∞ sin(mω γ )
T(x) = ∑ Im (x) (3.69)
π m=−∞ m
Um nun aber mehr stetige lineare Systeme zu erhalten, muss der Definitionsbereich ver-
kleinert werden, d. h. es muss von S zu einem Teilvektorraum übergegangen werden. Die
offensichtliche Wahl ist der Teilvektorraum aller beschränkten Signale B mit der Supre-
mumsnorm, allerdings bildet die Familie (δ m )m∈Z keine Basis für den Raum (S, ∥⋅∥sup ).
Überhaupt lohnt es sich nicht, diesen genauer zu betrachten, weil auch die weitere Ver-
kleinerung auf den Teilvektorraum der konvergenten Signale noch keine befriedigende
Lösung bringt. Und zwar heißt ein Signal x konvergent, wenn die beiden Grenzwerte
existieren. Weil ein konvergentes Signal automatisch beschränkt ist, kann der Vektorraum
der konvergenten Signale mit der Supremumsnorm versehen werden:
Die Konvergenz einer Signalfolge bezüglich dieser Norm bedeutet die gleichmäßige Kon-
vergenz über alle Komponenten:
Der rechte Ausdruck bedeutet: Zu gegebenem reellem є > gibt es eine natürliche Zahl k
so, dass für alle m ≥ k und alle n die Abschätzung ∣x m (n) − x(n)∣ < є gilt. Das є kann also
unabhängig von n gewählt werden.
Um alle stetigen linearen Systeme auf dem Untervektorraum der konvergenten Signale
zu finden, kann so vorgegangen werden wie bei der Bestimmung aller stetigen linearen
Systeme auf S, man erhält dieselbe notwendige Bedingung.
∞ ∞
S( ∑ x(m)δ m ) = ∑ x(m)S(δ m ) (3.72)
m=−∞ m=−∞
3.2 Systeme 55
Allerdings hat die Reihe hier bezüglich der sup-Norm zu konvergieren, und zwar für alle
konvergenten Signale x. Leider ist diese Konvergenz auch schon für recht einfach aufge-
baute S(δ m ) nicht gegeben, beispielsweise nicht für die Wahl
S(δ m ) = (−)m−
⎧
⎪ (−) m−
⎪ m falls m ≥
xm = ⎨
⎪
⎪ falls m <
⎩
• Ist ∑ c n eine absolut konvergente Reihe und bilden die t n eine beschränkte Zahlenfolge,
dann ist auch die unendliche Reihe ∑ c n t n eine absolut konvergente Reihe.
• Ist ∑ c n eine konvergente Reihe und bilden die t n eine monoton steigende oder monoton
fallende und eine beschränkte Folge, dann konvergiert auch ∑ c n t n .
Das sind allerdings Aussagen über reelle Reihen und nur die erste ist ohne weiteres auf Rei-
hen komplexer Zahlen übertragbar. In komplexer Gestalt deutet sie auch auf eine Lösung
hin, nämlich zum Untervektorraum A der absolut summierbaren Signale überzugehen. In
Abschn. 3.1.6 wurde der Vektorraum mit der Summennorm
∞
∥x∥ = ∑ ∣x(n)∣
n=−∞
versehen, auf die sich alle Konvergenzaussagen beziehen sollen. Es gilt natürlich die Bezie-
hung ∣x(n)∣ ≤ ∥x∥. Die Reihe der Absolutbeträge der Werte eines Signals aus A ist eine
absolut konvergente unendliche Reihe.
Für diesen normierten Vektorraum sollen nun alle stetigen linearen Systeme S bestimmt
werden. Notwendige Bedingung ist wieder, dass (3.72) für alle Signale des Vektorraums A
56 3 Grundlagen der digitalen Signalverarbeitung
konvergieren muss. Aus der Stetigkeit ergibt sich aber noch eine weitere notwendige Be-
dingung: Weil eine stetige lineare Abbildung eines normierten Raumes in sich beschränkt
ist, muss die Folge (S(δ m ))m∈Z beschränkt sein. Denn die Beschränktheit von S bedeu-
tet die Existenz einer positiven reellen Zahl λ mit der Eigenschaft ∥S(x)∥ ≤ λ ∥x∥ für alle
x ∈ A, woraus wegen ∥δ m ∥ =
∥S(δ m )∥ ≤ λ ∥δ m ∥ = λ
folgt. Wegen ∣S(δ m )(n)∣ ≤ λ ist S(δ m ) auch als Signal beschränkt. Andererseits ist die
Beschränktheit der Folge aber auch hinreichend zur Konvergenz von (3.72). Die zugleich
linearen und stetigen Systeme auf dem normierten Vektorraum aller absolut summierbaren
Signale sind daher wie folgt gegeben:
Jedes stetige lineare System T : A → A des normierten C-Vektorraumes A in sich selbst ist
von der Gestalt
∞
T(x) = ∑ x(m)t m (3.73)
m=−∞
Es ist leicht zu sehen, dass mit (3.73) ein lineares System gegeben ist. Die Stetigkeit ist fast
ebenso leicht zu sehen. Es genügt, zu zeigen, dass Nullfolgen wieder in Nullfolgen abgebil-
det werden. Es sei also (x k ) k∈Z eine Nullfolge in A, d. h. es gelte
lim ∥x k ∥ =
k→∞
lim ∥T(x k )∥ =
k→∞
Sei dazu λ eine nicht negative Schranke für die ∥t m ∥. Damit erhält man die folgende Ab-
schätzung, aus der die Behauptung unmittelbar folgt:
∞ ∞
∥T(x k )∥ = ∑ ∣x k (n)∣ ∣t m (n)∣ ≤ λ ∑ ∣x k (n)∣ = λ ∥x k ∥
n=−∞ n=−∞
Der Vektorraum A enthält insbesondere alle Signale mit endlichem Träger (siehe Ab-
schn. 3.2.4), denn deren Norm wird durch eine endliche Summe bestimmt. Damit ent-
hält A alle Signale, die numerischer Rechnung zugänglich sind. Auch sind alle Signale in A
beschränkt:
∞
∣x m ∣ ≤ ∑ ∣x n ∣ = ∥x∥
n=−∞
3.2 Systeme 57
Alle stetigen linearen Systeme von A in sich sind daher trivialerweise stabil (siehe Ab-
schn. 3.12). Bei der Wahl n ↦ t m (n) = δ n−k (m) erhält man gerade I k :
∞ ∞
T(x)(n) = ∑ x(m)t m (n) = ∑ x(m)δ n−k (m) = x(n − k) = I k (x)(n)
m=−∞ m=−∞
In der Praxis werden viele Systeme in der Gestalt (3.68) erhalten, d. h. sie sind von geshif-
teten Signalen abhängig, und es stellt sich die Frage, ob solch ein System ein stetiges lineares
System ist. Statt nun eine Darstellung (3.73) zu suchen kann auch indirekt vorgegangen
werden.
Es sei V ein vollständiger normierter Teilvektorraum von S. Es sei (U k ) k∈N eine Folge von
stetigen linearen Systemen von V in sich selbst. Dann ist das durch
In diesem Zusammenhang sagt man, dass U durch die starke Konvergenz definiert wird.
Die Linearität von U ist leicht zu sehen, die Stetigkeit (d. h. die Beschränktheit) folgt aus
dem Satz von Banach-Steinhaus,4 für welchen die Vollständigkeit von V gegeben sein muss
(d. h. V muss ein Banachraum sein). Der normierte Vektorraum A ist vollständig.
Die Im bilden eine Folge von stetigen linearen Systemen von A in sich selbst. Jedes
System, das durch starke Konvergenz mit den Im entsteht, ist daher selbst ein stetiges li-
neares System. Als ein Beispiel für diese Technik kann das in Abschn. 4.8.1 entwickelte
System (3.68) dienen, dessen Umformung in einen Grenzwert starker Konvergenz schon
in (3.69) gezeigt wurde:
∞ sin(mω γ )
T(x) = ∑ Im (x) (3.75)
π m=−∞ m
Eine weitere bedeutende Eigenschaft von Systemen ist die Shift-Invarianz, auch weniger
präzise Zeit-Invarianz genannt.
4
Siehe [BaNa] 15.2.
58 3 Grundlagen der digitalen Signalverarbeitung
Ob man also zuerst das Signal x shiftet und dann das System S darauf anwendet, oder ob man
zuerst das System auf das Signal anwendet und das so erzeugte Signal dann shiftet: Es soll
Dasselbe herauskommen.
Mit Hilfe der Systeme Im erkennt man noch besser, dass eine Vertauschungsbedingung
vorliegt: Für alle m ∈ Z muss das folgende Diagramm kommutativ sein:
S
M M
Im Im Im ◦ S = S ◦ Im
M M
S
Dieses Diagramm, das noch die speziellen Systeme Im enthält wird in Abschn. 3.13.5 noch
allgemeiner gefasst werden (Abschn. 3.13.5).
Ein Beispiel für ein shift-invariantes System ist das quadrierende System Q, das also
durch die Formel Q(x)(n) = x(n) gegeben ist. Denn setzt man y = x ○ σm und damit
dann ist
Q(y)(n) = y(n) = x(n − m) ,
woraus folgt:
Q(x ○ σm )(n) = Q(y)(n) = y(n) = x(n − m)
Also ist (3.76) für Q erfüllt. Ein Beispiel für ein shift-variantes System ist das durch die
Formel T(x)(n) = x(n ) definierte System T, bei dem nicht wie bei Q der Signalwert,
sondern das Signalargument quadriert wird. Um zu zeigen, dass T nicht shift-invariant ist,
genügt es, ein m ∈ Z und ein x ∈ S zu finden, für welche (3.76) nicht erfüllt ist. Ein erster
Versuch mit m = und x = δ führt schon zum Erfolg. Setzt man nämlich ähnlich wie oben
y = δ ○ σ , dann ist
y(k) = (δ ○ σ )(k) = δ(k − )
und es folgt
T(δ ○ σ )(n) = T(y)(n) = y(n ) = δ(n − )
Andererseits rechnet man für die andere Seite von (3.76) folgendes aus:
Die beiden Seiten sind verschieden, das System ist daher nicht shift-invariant. Weitere Bei-
spiele für shift-invariante Systeme sind die Im :
Bei der linearen Verknüpfung von shift-invarianten Systemen bleibt die Shift-Invarianz er-
halten:
Für die Homogenität gibt es eigentlich nichts zu rechnen, hier ist aber doch die Ableitung
mit voller Klammerung (○ bindet stärker als ⋅):
Es ist wirklich nur eine Frage der Interpretation der gegenseitigen Stellung der Faktoren.
Das Ergebnis kann natürlich auf endliche Linearkombinationen von shift-invarianten Sys-
temen erweitert werden:
Sind Sκ : M → S shift-invariante System und c κ ∈ C, κ ∈ {, . . . , k}, dann ist auch deren
Linearkombination
k
∑ c κ Sκ (3.77)
κ=
Beispielsweise ist das System D vom Anfang des Abschnittes shift-invariant, denn es lässt
sich als Linearkombination von einigen Im darstellen:
D(x) = I + I + I
Tatsächlich ist noch eine viel stärkere Aussage wahr, dass nämlich die Shift-Invarianz von
der starken Konvergenz respektiert wird:
60 3 Grundlagen der digitalen Signalverarbeitung
Es sei (S k ) k∈N eine Folge stetig linearer Systeme S k : N → S auf einem Teilvektorraum N,
die stark gegen ein System S : N → S konvergiert, d. h. es gelte
Diese Aussage gilt insbesondere auch für mit solchen Systemen gebildete unendliche Rei-
hen, die als Grenzwerte von Partialsummenfolgen definiert werden. Der Nachweis von
I m ○ S = S ○ Im ist sehr einfach zu erbringen:
I m (S(x)) = Im ( lim Sk (x)) = lim Im (S k (x)) = lim S k (Im (x)) = S(I m (x))
k→∞ k→∞ k→∞
Damit sind die oft vorkommenden mit den Im gebildeten unendlichen Reihen (mit starker
Konvergenz)
∞ ∞
∑ c m I m (x) oder ∑ c m x(n − m) für alle n ∈ Z
m=−∞ m=−∞
stets shift-invariant. Ein Beispiel ist das durch (3.75) gegebene System, allerdings ist dieses
System shift-invariant, weil es als solches konstruiert wurde.
Faktoren wie n − m sind fast immer auf eine Faltungsoperation zurückzuführen. Tat-
sächlich kann die Faltung selbst als eine mit den Im gebildete unendliche Reihe dargestellt
werden:
∞ ∞
(x ∗ y)(n) = ∑ x(m)y(n − m) = ∑ x(m)Im (y)(n) (3.78)
m=−∞ m=−∞
Bei festem x ist die Faltung daher eine stetige lineare Funktion y ↦ x ∗ y. Das bedeutet na-
türlich, dass durch F(y) = x ∗ y ein stetiges lineares System definiert wird. Dabei können x
und y wegen der Kommutativität der Faltung vertauscht werden. Ein Zusammenhang der
Faltungsoperation mit shift-invarianten Systemen ergibt sich daraus wie folgt:
Die Ableitung dieser Gleichungen verwendet (3.78) und verläuft wie folgt:
∞ ∞
S(x ∗ y) = ∑ x(m)S(Im (y)) = ∑ x(m)Im (S(y)) = x ∗ S(y)
m=−∞ m=−∞
Der zweite Teil der Behauptung, d. h. S(x ∗ y) = S(x) ∗ y, ergibt sich aus der Kommuta-
tivität des Faltungsoperators.
3.2 Systeme 61
Weiter vorne (in Abschn. 3.2.1) wurden alle auf ganz S definierten zugleich stetigen
und linearen Systeme bestimmt. Welche dieser Systeme sind auch shift-invariant? Aus-
gangspunkt ist wieder die Darstellung eines linearen, stetigen Systems T durch die Basis
der δ m . Für jedes Signal x hat man die Entwicklung
∞
x = ∑ x(m)δ m
m=−∞
Wird ein stetiges lineares System T auf beide Seiten dieser Entwicklung angewandt, erhält
man daraus (siehe dazu Abschn. 3.2.1)
Wird in der Darstellung (3.80) einerseits der Signalwert T(x) von x geshiftet, erhält man
das folgende Ergebnis:
Wird in (3.80) andererseits nicht der Signalwert, sondern das Signal, also x, vor der An-
wendung des Systems geshiftet, führt das auf
Weil T ein shift-invariantes System ist, müssen die rechten Seiten von (3.81) und (3.82)
für beliebige k ∈ Z übereinstimmen. Aber das ist nur möglich, wenn die Mengen T⟨ν⟩ die
folgende Bedingung erfüllen:
Denn setzt man q = m + k, dann ist q − k ∈ T⟨ν−k⟩ ⇐⇒ q ∈ T⟨ν⟩ , was nach der Beseitigung
von q zu m ∈ T⟨ν−k⟩ ⇐⇒ m + k ∈ T⟨ν⟩ führt, und man erhält
= ∑ x(q − k)T(δ)(n − q)
q∈T⟨n⟩
= T(x ○ σ k )(n)
Es sei (t m )m∈Z eine Signalfolge und (T⟨n⟩ )n∈Z eine Folge von endlichen Teilmengen T⟨n⟩ ⊂ Z.
Diese Teilmengen mögen die folgende Bedingung erfüllen:
Dann ist das durch die folgenden Summen komponentenweise definierte System T nicht nur
linear und stetig, sondern auch shift-invariant:
Das System besitzt eine nur noch von T(δ) abhängige Summendarstellung mit den Summa-
tionsindexmengen T⟨n⟩ :
Die speziellen Signale T(δ k ) hängen von den t m wie folgt ab:
⎧
⎪
⎪ t k (n) falls k ∈ T⟨n⟩
T(δ k )(n) = ∑ δ k (m)t m (n) = ⎨ (3.87)
⎪
⎪ falls k ∉ T⟨n⟩
m∈T⟨n⟩ ⎩
Alle linearen, stetigen und shift-invarianten Systeme auf S haben die durch (3.84) und (3.86)
vorgegebene Gestalt.
Der Unterschied zwischen Systemen, die nur linear und stetig sind, und solchen, die noch
dazu shift-invariant sind, liegt also darin, dass die Mengen T⟨n⟩ nicht mehr beliebig gewählt
werden können, sondern von (3.84) strukturiert werden.
Es bleibt noch, die von der Bedingung (3.84) erzwungene Struktur der Mengen T⟨n⟩ zu
bestimmen. Man geht dazu von irgendeiner endlichen Teilmenge T⟨⟩ von Z aus. Damit
steht die Größe der T⟨n⟩ , d. h. die Anzahl ihrer Elemente, schon fest. Die Bedingung (3.84)
ergibt speziell für k = die Aussage
q − ∈ T⟨−⟩ ⇐⇒ q ∈ T⟨⟩
T⟨−⟩ = {q − ∣ q ∈ T⟨⟩ }
q + ∈ T⟨⟩ ⇐⇒ q ∈ T⟨⟩
T⟨⟩ = {q + ∣ q ∈ T⟨⟩ }
3.2 Systeme 63
q + n ∈ T⟨n⟩ ⇐⇒ q ∈ T⟨⟩
Die Struktur und die Größe der Mengen T⟨n⟩ werden also durch die Wahl der Elemente
des Spezialfalles T⟨⟩ festgelegt.
Beispielsweise erhält man für die einfachste Möglichkeit T⟨⟩ = {} die Mengen T⟨n⟩ =
{n}, und für T⟨⟩ = {p, q} kommt man auf
T⟨n⟩ = {p + n, q + n}
und dieses Mengensystem legt ein System T nach (3.86) wie folgt fest:
Die Systeme I m sind linear, stetig und shift-invariant, es muss deshalb einen Weg gegen,
sie mit (3.86) darzustellen. Das gelingt auch mit der Wahl T⟨⟩ = {−m}, also mit T⟨n⟩ =
{n − m}, und mit T(δ) = δ m :
Mit T⟨⟩ = {, −, . . . , −m} und T(δ) = c δ + c δ + . . . + c m δ m erhält man schließlich
Ein Beispiel für ein System, das zwar stetig linear, aber nicht shift-invariant ist, gibt das
durch (3.66) gegebene System (Abschn. 3.2.1). Es gilt nämlich einerseits
und andererseits
und die beiden Ergebnisse stimmen nicht überein. Diese Berechnungen sind allerdings
ganz und gar überflüssig, denn aus der Beziehung (3.88) folgt unmittelbar
Ist ein stetiges lineares System T: S → S auch shift-invariant, dann haben alle Indexmen-
gen T⟨n⟩ dieselbe Anzahl von Elementen.
64 3 Grundlagen der digitalen Signalverarbeitung
Die Indexmengen des mit (3.66) definierten Systems sind nämlich die Mengen T⟨n⟩ =
{, , ⋯, n} mit der Elementeanzahl ∥T⟨n⟩ ∥ = n + , die damit diese notwendige Bedin-
gung nicht erfüllen.
Bei den normierten Signalvektorräumen ist die Sachlage weniger kompliziert. Stellver-
tretend für viele andere Räume wird hier nur die Menge aller stetig linearen und zusätzlich
shift-invarianten Systeme T : A → A auf dem Raum aller absolut konvergenten Signale
bestimmt. Die Signale δ m bilden eine Basis für diesen Vektorraum, mit (siehe die Diskus-
sion ab Abschn. 3.1.6)
∞
x = ∑ x(m)δ m
m=−∞
Es sei T ein stetig lineares und zusätzlich shift-invariantes System auf A. Aus der Shift-
Invarianz folgt dann
T(δ m ) = T(δ ○ δ m ) = T(δ) ○ δ m
mit der weiteren Folgerung dass jedes solche System die nachfolgende Entwicklung besit-
zen muss:
∞ ∞ ∞
T(x) = T( ∑ x(m)δ m ) = ∑ x(m)T(δ m ) = ∑ x(m)(T(δ) ○ δ m ) (3.89)
m=−∞ m=−∞ m=−∞
Auch hier darf T(x) nur noch von T(δ) abhängen. Tatsächlich ist diese notwendige Be-
dingung auch hinreichend:
ein lineares, stetiges und shift-invariantes System T : A → A gegeben, und zwar hat jedes
lineare, stetige und shift-invariante System auf A diese Darstellung.
Als Erstes ist zu zeigen, dass die angegebene Reihe tatsächlich konvergiert. Dazu genügt es,
zu zeigen, dass die Reihenreste eine Nullfolge bilden. Es seien also k, m ∈ N mit m < k.
Dann gilt
3
3 3
3
3
3
3 3
3
3
3
3 k 3
3 k k k
3
3
3 ∑ x(μ)(t ○ σ )3
3
3 ≤ ∑ ∣x(μ)∣ ⋅ ∥t ○ σ ∥ = ∑ ∣x(μ)∣ ⋅ ∥t∥ = ∥t∥ ∑ ∣x(μ)∣ (3.91)
3
3 μ 3
3 μ
3
3 3
3
3
3
3
μ=−k
3
3
3
μ=−k μ=−k μ=−k
3∣μ∣≥m 3 ∣μ∣≥m ∣μ∣≥m ∣μ∣≥m
Wegen der absoluten Summierbarkeit von x steht ganz rechts ein eine Nullfolge bildender
Reihenrest. Bei dieser Ableitung wurde von der Eigenschaft
∥x ○ σ k ∥ = ∥x∥ (3.92)
3.2 Systeme 65
der Norm Gebrauch gemacht. Aus der absoluten Summierbarkeit von x folgt nämlich, dass
es keine Rolle spielt, auf welche Weise der Wert der Normreihe berechnet wird:
∞ ∞
∥x ○ σ k ∥ = ∑ ∣x(n − k)∣ = ∑ ∣x(m)∣ = ∥x∥
n=−∞ m=−∞
Die Linearität der durch (3.90) definierten Abbildung kann mit einfacher Standardrech-
nung bestätigt werden. Die Stetigkeit folgt aus der Beschränktheit:
∞
∥T(x)∥ ≤ ∥t∥ ∑ ∣x(n)∣ = ∥t∥ ∥x∥
n=−∞
Es bleibt noch die Shift-Invarianz zu zeigen. Dabei wird von der folgenden Aussage Ge-
brauch gemacht:
Es sei (c m )m∈Z eine Folge komplexer Zahlen und (x m )m∈Z eine Folge von Signalen aus A. Die
Reihe
∞
∑ cm x m
m=−∞
Der einfache Beweis dieser Aussage kann mit (3.92) geführt werden:
3
3 3
3 3
3 3
3 3
3 3
3
3
3
m 3
3 3
3
m 3
3 3
3
m 3
3
3
3
3 ∑ c (x ○ σ )3
3
3 = 3
3
3( ∑ c x ) ○ σ 3
3
3 = 3
3
3 ∑ c x 3
3
3
3
3
m m k 3
3 3
3
m m k 3
3 3
3
m m 3
3
3
3 μ=−m 3
3 3
3 μ=−m 3
3 3
3 μ=−m 3
3
Die beiden Reihen konvergieren, und die Aussage über die Reihenwerte erhält man durch
Übergang zum Grenzwert.
Jetzt kann die Shift-Invarianz des Systems (3.90) abgeleitet werden. Man erhält einerseits
durch Shiften des Eingangssignals
∞
T(x ○ σ k ) = ∑ x(m − k)(t ○ σm )
m=−∞
Beide Shifts führen zu demselben Ergebnis, das System ist daher shift-invariant. Damit lässt
sich jetzt die wahre Natur von t bestimmen:
∞
T(δ) = ∑ δ(m)(t ○ σm ) = δ()(t ○ σ ) = t (3.94)
m=−∞
Ein einfaches Beispiel erhält man mit T(δ) = δ q . Hier ist T(δ) ○ σ k = δ q ○ σ k = δ q+k
und daher
∞ ∞ ∞
T(x) = ∑ x(m)δ q+m = ∑ x(p − q)δ p = ∑ (x ○ σq )(p)δ p
m=−∞ p=−∞ p=−∞
Die letzte Reihe ist die Entwicklung von x ○ σq mit der Basis (δ p ) p∈Z , d. h. es gilt
T(x) = x ○ σq = I q (x)
Theorie und Praxis der digitalen Filter werden von Systemen dominiert, die stetig, li-
near und shift-invariant sind. Es ist daher nicht verwunderlich, dass für sie ein Akronym
geschaffen wurde:
In LSI (linear shift-invariant) kommt die Stetigkeit nicht vor, sie darf aber nicht ignoriert
werden, weil sie (in normierten Räumen) mit der Beschränktheit gleichwertig ist, gegen
die man recht leicht unwissentlich oder versehentlich verstoßen kann. In diesem Buch soll
also LSI für stetig, linear und shift-invariant stehen.
Ganz von der reinen Anwendung der digitalen Filter her gesehen kann es den Anschein
haben, dass Linearität und Shift-Invarianz nur dazu dienen, die Theorie zu vereinfachen.
Denn sind zwei Signale x und y gegeben, deren Summe mit F gefiltert werden soll, dann
wird man mit F(x + y) und nicht mit F(x)+ F(y) filtern, denn eine Filterung eines Signals
dauert gewöhnlich sehr viel länger als eine Addition von Signalen. Und rechentechnisch
gesehen ist es gleichgültig, ob ein Signal, das geshiftet werden soll, vor oder nach der Fil-
terung geshiftet wird. Es kommt noch hinzu, dass die Zahl der zur Verfügung stehenden
Filter durch die LSI-Forderung stark eingeschränkt ist und daher der eine oder der andere
Filter mit phantastischen Eigenschaften im Verborgenen bleibt. Man betrachte jedoch die
Wirkung des Quadraturfiltes Q(x) = x auf das Sinussignal n ↦ s(n) = sin(nω):
Q(s)(n) = sin(nω) = ( − cos(nω))
Das nicht lineare System hat die Frequenz ω des Eingangssignals in die Frequenz ω
des Ausgangssignals umgewandelt. Das shift-variante (d. h. nicht shift-invariante) Filter
P(x)(n) = x(n) hat den selben Effekt:
P(s)(n) = sin(nω)
3.2 Systeme 67
Mit einem LSI-System ist ein solcher Effekt nicht zu erreichen, d. h. ein LSI-System fügt
einem Signal keine Frequenzen hinzu. Dieses Verhalten lässt sich mit Hilfe der diskreten
Fourier-Transformation ableiten, die in Abschn. 3.2.6 relativ kurz behandelt wird, und zwar
über die Beziehung (3.135).
Lineare Systeme L werden nicht immer mit einem spezifizierten Definitionsbereich de-
finiert, sondern ausschließlich durch die Eigenschaften L(x + y) = L(x) + L(y) und
L(cx) = c L(x).5 Aus dem Kontext geht dann allerdings hervor, dass Systeme gemeint sind,
die auf irgendwelchen Teilmengen M von S definiert sind, weil Systeme vorkommen, die
nur durch eine Formel spezifiziert werden und die nicht für alle Signale einen System-
wert besitzen. Unter diesen Umständen sind solche Definitionen allerdings nicht sinnvoll,
denn selbst wenn L(x) und L(y) existieren, ist durch nichts garantiert, dass auch L(x + y)
existiert. Man kann natürlich eine korrekte Definition für beliebige Teilmengen von S
geben:
Es sei M eine beliebige Teilmenge von S. Eine Abbildung L : M → S heißt partiell linear,
wenn sie die folgenden Bedingungen erfüllt:
Diese Definition ist zwar korrekt, aber nicht immer sinnvoll. Sie gilt auch für recht merk-
würdige Kombinationen von Teilmenge und Abbildung. Es sei z. B.
M = {δ m ∣ m ∈ Z}
Für diese Teilmenge ist jede Abbildung L : M → S partiell linear. Denn weil es kein
x ∈ M und kein y ∈ M gibt mit x + y ∈ M, ist es unmöglich, dass die Bedingung (i) nicht
erfüllt ist. Und die Voraussetzung cx ∈ M ist nur für c = wahr, weshalb die Bedingung (ii)
ebenfalls erfüllt ist, weil für jede solche Abbildung L(x) = L(x) = L(x) gilt.
Dieses Beispiel zeigt auch, dass aus der Existenz einer partiell linearen Abbildung L für
eine Teilmenge M von S nicht gefolgert werden kann, dass es einen Vektorunterraum U
von S mit U ⊂ M so gibt, dass die Einschränkung L/U von L auf U eine lineare Abbildung
ist.
Ein für die Praxis wichtiges System, das shift-invariant aber nicht linear ist, ist der Median-
Filter. Es sei m eine ungerade natürliche Zahl und a bis a m reelle Zahlen. Es sei l = ⌈ m ⌉,
5
Man kann auch eckige Klammern wie in L[cx] = c L[x] oder sogar geschweifte Klammern wie
in L{cx} = c L{x} sehen, was darauf hindeutet, dass Systeme nicht als mathematische Funktionen
gesehen werden.
68 3 Grundlagen der digitalen Signalverarbeitung
Die einfachste Art, den Median zu berechnen, ist, die a μ in die Folge (b , . . . , b m ) zu sor-
tieren, der Median ist dann offensichtlich die Zahl, welche die Mitte der geordneten Folge
einnimmt, also b l . Für kleinere m, etwa bis m = , ist das eine brauchbare Methode, für
größere m wird ein Verfahren in [Aho] 3.6 beschrieben. Ein einfaches Beispiel für den
Median mit m = und daher l = ist m(, , , , ) = m(, , , , ) = . Mit Hilfe des
Medians wird nun das System M m : S → S wie folgt definiert:
Der Ausgangssignalwert besteht für jedes n aus dem Median der Realteile von x(n) und
seinen m − Vorgängern x(n − ) bis x(n − m + ). Die Signalwerte selbst können für den
Filter nicht benutzt werden, weil sie als komplexe Zahlen nicht angeordnet werden können.
Das mögliche Sortieren nach dem Absolutbetrag bringt nicht den gewünschten Median.
Der Median-Filter ist selbstverständlich nicht linear, denn die Summe der l-ten kleins-
ten Zahl von a bis a m und der l-kleinsten Zahl von b bis b m stimmt nicht allgemein
mit der l-kleinsten Zahl der a + b bis a m + b m überein, ganz abgesehen davon, dass der
Realteil nicht C-linear ist. Das System ist jedoch shift-invariant. Es sei nämlich einerseits
r = Mm (x), dann ist
Die Ableitung lässt den Sachverhalt schwieriger erscheinen als er wirklich ist, eine einfache
Skizze dürfte schon zur Verdeutlichung genügen.
Das System Mm wird für kleine m in der Praxis eingesetzt, um Einzelimpulse aus ei-
nem Signal herauszufiltern, die diesem Signal überlagert wurden. Sie entsprechen etwa
einem scharfen Knack beim Abspielen einer Schallplatte oder einer Schmutzpartikel auf
einer Photographie, sie wurden also durch eine Störung hervorgerufen, deren Einfluss be-
seitigt werden muss. Das System hat nämlich die folgende Eigenschaft:
Mm (δ k ) = (3.96)
In der Sprache des Abschn. 3.2.4 bedeutet das: Die Einheitsimpulsantwort des Systems Mm
ist das Nullsignal. Denn von
0, 9957
− − − −
−0, 9957
0, 9618
− − − −
−0, 9618
Abb. 3.23 M (s ω )
liest man ab, dass Mm (δ k )(n) = gilt für n ∉ {k, k + , . . . , k + m − }. Für die übrigen n,
also für n ∈ {k, k + , . . . , k + m − }, hat man
Mm (δ k )(k) = m(, , , . . . , , ) =
M m (δ k )(k + ) = m(, , , . . . , , ) =
Mm (δ k )(k + ) = m(, , , . . . , , ) =
⋮ ⋮
Mm (δ k )(k + m − ) = m(, , , . . . , , ) =
Für die n ∈ {k, k+, . . . , k+m−} ist nach dem Sortieren der Median von m(, , , . . . , , ),
d. h. 0, der gesuchte Funktionswert. Ebenso zeigt man
Mm (u) = u ○ σ (3.97)
Die Einheitsstufe wird also um eine Indexposition verzögert, passiert das Filter sonst aber
unbeeinflusst. Wie der Filter auf die reine Sinusschwingung mit der Frequenz ω = π in
Abb. 3.22 einwirkt kann in Abb. 3.23 studiert werden.
70 3 Grundlagen der digitalen Signalverarbeitung
2, 865
∣M (s ω )∣
Abb. 3.24 Das Verhältnis ϑ(ω) = ∣s ω ∣ , ω= π
∣M (s ω )(n+)∣
Abb. 3.25 Das Verhältnis ϑ(ω)(n) = ∣s ω (n)∣ , ω= π
Die Schwingung wird um zwei Indexpositionen verzögert. Zusätzlich wird die Schwin-
gung an den Bergen und Tälern noch etwas gestaucht, was bedeutet, dass der nicht lineare
Filter neue Frequenzen erzeugt hat.
Das nicht-lineare System Mm ist noch relativ einfach aufgebaut, es ist aber schon müh-
sam, seine Wirkung auf ein Signal mit Papier und Bleistift zu berechnen. Die meisten
nicht-LSI Systeme werden mit numerischen Methoden untersucht werden müssen. Wie
das geschehen kann, muss von Fall zu Fall, d. h. von System zu System, entschieden wer-
den. Ein Beispiel dazu ist in Abb. 3.24 zu sehen. Es zeigt das Verhältnis
∣M (s ω )(n)∣
ϑ(ω)(n) =
∣s ω (n)∣
bei der Frequenz ω = π . Es stellt selbst ein Signal dar und gibt die Verstärkung (oder Dämp-
fung) des Systems an jeder Indexposition an. An den Stellen, an welchen das Verhältnis
wegen s ω (n) = nicht existiert ist es zu Null gesetzt worden. Der nach einem visuellen Ver-
gleich von Abb. 3.22 und Abb. 3.23 unerwartete Verlauf des Verhältnisses kommt durch die
vom Filter verursachte Signalverschiebung zustande. Wird die Verschiebung herausgerech-
net, ergibt sich das erwartete Verhältnis von Ausgang zu Eingang (Abb. 3.25). Allerdings
müsste in der Praxis solch eine Untersuchung für viele Frequenzen ω durchgeführt werden.
In diesem Abschnitt wird sich zeigen, weshalb der Bereich der digitalen Filter von LSI-
Systemen dominiert wird. Das Verhalten solcher Filter, ihre Effektivität, ihre Schwachpunk-
3.2 Systeme 71
te etc. lässt sich nämlich anhand eines einzigen Signals bestimmen und beurteilen. Auch
lässt sich mit Hilfe dieses Signals jeder Signalwert des Systems berechnen. Systeme, die
nicht stetig linear oder nicht shift-invariant sind, besitzen diese Eigenschaften im Allge-
meinen nicht, wie an zwei Beispielen demonstriert werden wird.
In Abschn. 3.2.2 wurden alle auf dem ganzen C-Vektorraum S aller Signale definierten
LSI-Systeme T : S → S bestimmt. Und zwar wurde dort festgestellt, dass ein solches
System T wie folgt mit endlichen Summen darstellbar ist (siehe (3.86) in Abschn. 3.2.2):
In beiden Fällen wird das System T vollständig von seinem Wert T(δ) des Einheitsimpul-
ses δ bestimmt. Dieses wichtige einem LSI-System zugeordnete Signal heißt die Einheits-
impulsantwort des Systems und wird in diesem Buch mit ΔT bezeichnet.
Für LSI-Systeme T : S → S ist allerdings ΔT nicht mit T(δ) identisch, denn die
Einheitsimpulsantwort ist von den Indexmengen T⟨n⟩ abhängig. Nach (3.87) gilt nämlich
⎧
⎪
⎪T(δ)(n) falls ∈ T⟨n⟩
ΔT (n) = ⎨ (3.100)
⎪
⎪ falls ∉ T⟨n⟩
⎩
⎧
⎪
⎪T(δ)(n − m) falls ∈ T⟨n−m⟩
ΔT (n − m) = ⎨
⎪
⎪ falls ∉ T⟨n−m⟩
⎩
Nun gilt aber nach (3.84) ∈ T⟨n−m⟩ ⇐⇒ m ∈ T⟨n−m+m⟩ = T⟨n⟩ . Für die Einheitsimpuls-
antwort bedeutet das
⎧
⎪
⎪T(δ)(n − m) falls m ∈ T⟨n⟩
ΔT (n − m) = ⎨
⎪
⎪ falls m ∉ T⟨n⟩
⎩
Nun wird aber in (3.98) nur über Indizes aus den Indexmengen T⟨n⟩ summiert, folglich
gilt
Diese auf den ersten Blick eher theoretische Eigenschaft erweist sich allerdings als auch von
erheblich praktischer Bedeutung, es ist nämlich
∞
(x ∗ ΔT )(n) = ∑ x(m)ΔT (n − m) = ∑ x(m)ΔT (n − m)
m=−∞ m∈T⟨n⟩
T(x) = x ∗ ΔT (3.102)
Es sei noch einmal darauf hingewiesen, dass ΔT ≠ T(δ) möglich ist. Ein Beispiel geben die
beiden LSI-Systeme (auf ganz S definiert) P und Q mit P(δ) = u und Q(δ) = δ, wenn
P⟨n⟩ = Q⟨n⟩ = {n} gewählt wird. Es gilt nämlich ∈ {n} ⇐⇒ n = , nach (3.100) ist
deshalb
⎧
⎪ ⎧
⎪
⎪u(n) falls n = ⎪δ(n) falls n =
ΔP (n) = ⎨ ΔQ (n) = ⎨
⎪
⎪ falls n ≠ ⎪
⎪ falls n ≠
⎩ ⎩
Das bedeutet natürlich ΔP = δ = ΔQ , und man hat als Folgerung aus (3.102)
P(x) = x ∗ ΔP = x ∗ δ = x = x ∗ ΔP = Q(x)
Hier führen also u und δ auf ein und dasselbe System. Man kann auch gut erkennen, dass
ΔP von den Indexmengen T⟨n⟩ abhängt. Wählt man nämlich P⟨n⟩ = {n − }, dann be-
kommt man ΔP = δ . Die Wahl von P⟨⟩ = {−, }, also P⟨n⟩ = {n − , n}, ergibt die
Einheitsimpulsantwort ΔP = δ + δ , was zu P(x)(n) = x(n) + x(n − ) führt.
Bei LSI-Systemen T : A → A auf dem normierten Raum der absolut summierbaren
Signale folgt die Gl. (3.102) unmittelbar aus der Entwicklung (3.99):
∞ ∞
(x ∗ ΔT )(n) = ∑ x(m)T(δ)(n − m) = ∑ x(m)(T(δ) ○ σm )(n) = T(x)(n)
m=−∞ m=−∞
ΔT (n) = u(n − )
n
3.2 Systeme 73
x(n) = u(n)
n−
Das Signal x ist sicherlich absolut summierbar. Es geht also nun darum, eine bestimmte
Faltung auszurechnen. Dazu werden die gegebenen Größen in (3.4) eingesetzt:
∞
T(x)(n) = ∑ u(ν) u(n − ν − ) nach (3.4)
ν=−∞ ν− n−ν
∞
=∑ ⋅ u(n − ν − ) u(ν) = für ν <
ν= ν− n−ν
n−
=∑ ⋅ u(n − ν − ) = für ν > n −
ν= ν− n−ν
Weil sich für n < die leere Summe ergibt erhält man schon folgendes Resultat:
n−
n− n−
T(x)(n) = ∑ ⋅ = ∑ ⋅ = ⋅ ∑
ν= ν− n−ν n ν= ν− −ν − n ν= ν
− n−
= ⋅ ⋅ = n− ( − n− )
− n −
T(x)(n) = ( − ) u(n + )
n− n−
T x = { n ∈ Z ∣ x(n) ≠ }
• Ein LSI-System heißt FIR-System (finite-length respons) wenn der Träger seiner Ein-
heitsimpulsantwort endlich ist.
• Ein LSI-System heißt IIR-System (infinite-length respons) wenn der Träger seiner Ein-
heitsimpulsantwort unendlich ist.
74 3 Grundlagen der digitalen Signalverarbeitung
Ist die Menge T x endlich, dann hat sie ein kleinstes Element nK und ein größtes Element
nG . Die Länge des Trägers ist dann nG − nK + . Schreibt man einem unendlichen Träger
die Länge ∞ zu, dann ist ein Träger genau dann endlich, wenn seine Länge endlich ist.
Man kann daher in obiger Klassifikation wie im Amerikanischen mit finite-length und
infinite-length auch die Länge des Trägers statt seiner Kardinalität verwenden. Die Län-
ge des Trägers heißt oft auch die Länge des Signals, doch ist das etwas missverständlich,
weil kein digitales Signal, weil auf ganz Z definiert, eine endliche Länge besitzt.
Die Entscheidung, ob ein auf ganz S definiertes LSI-System ein FIR- oder ein IIR-
System ist, fällt sehr leicht, denn kein solches System kann die IIR-Eigenschaft besitzen:
Zum Beweis dieser Behauptung ist zu zeigen, dass die Kardinalzahl des Trägers der Ein-
heitsimpulsantwort von T endlich ist. Nun gilt nach (3.100)
TΔT = {n ∈ Z ∣ ∈ T⟨n⟩ }
Die Bedingung (3.84) speziell für k = n gibt die Äquivalenz ∈ T⟨n⟩ ⇐⇒ −n ∈ T⟨⟩ ,
woraus die Behauptung schon folgt, denn die Menge T⟨⟩ ist endlich.
Beispiele zu IIR-Systemen können nur bei Systemen gefunden werden, die auf einem
normierten Teilraum von S definiert sind, z. B. auf A. In den nachfolgenden Beispielen
wird auch A angenommen.
In Abb. 3.26 ist die Einheitsimpulsantwort eines FIR-Systems P zu sehen. Dem Bild
entnimmt man den Träger {−, −, . . . , −}. Das System selbst ist gegeben durch
Das System P ist linksseitig, es hängt daher nur von zukünftigen Werten des Signals ab.
3.2 Systeme 75
Abb. 3.27 ΔQ = δ + δ + ⋯ + δ
Abb. 3.28 ΔU = u
Ein rechtsseitiges System Q wird in Abb. 3.27 präsentiert, mit dem Träger {, , . . . , },
das nur von vergangenen Werten des Signals abhängt:
Das ist eines der einfachsten Systeme der Klasse von LSI-Systemen, die aus einer Line-
arkombination von vergangenen Signalwerten bestehen. Sie ergeben sich beispielsweise
immer dann, wenn ihrer Konstruktion eine polynomiale Systemfunktion zugrunde liegt
(zur Systemfunktion eines LSI-Systems siehe Abschn. 3.8). Wird von einer rationalen Sys-
temfunktion, d. h. einem Quotienten zweier Polynome, ausgegangen, dann kommt zur
Linearkombination vergangener Signalwerte noch eine Linearkombination von vergange-
nen Systemwerten wie etwa S(x)(n − ), S(x)(n − ) usw. hinzu.
Als ein Beispiel für ein IIR-System kann das System U mit der Einheitsimpulsantwort u
dienen (siehe Abb. 3.28). Die Systemwerte sind
∞ ∞ n ∞
U(x)(n) = ∑ u(ν)x(n − ν) = ∑ x(n − ν) = ∑ x(n − ν) + ∑ x(n − ν) (3.103)
ν=−∞ ν= ν= ν=n+
Die aufgespaltene Summe rechts lässt leichter erkennen, welche Eigenschaften x besitzen
muss, damit U(x) definiert ist: Offenbar müssen die x(n) auf der linken Seite des Si-
gnals (d. h. n < ) die Glieder einer konvergieren Reihe sein. Das ist insbesondere dann
der Fall, wenn das Signal rechtsseitig ist oder wenn der Durchschnitt des Trägers mit der
Menge der negativen ganzen Zahlen endlich ist. Ein mögliches System ist beispielsweise
76 3 Grundlagen der digitalen Signalverarbeitung
Man stellt zunächst fest, dass y(n) = y(n − ) gilt für n < . Mit c = y(−) ist daher
y(n) = c für n < . Für n ≥ gilt y(n) = c + . Das ist für n = sicher richtig wegen
y() = y(−) + δ() = c + . Ist es für ein n ≥ gültig, dann auch für n + wegen
ΔU = u
ergibt ein System S mit der einen endlichen Träger besitzenden Einheitsimpulsantwort
ΔS = δ + δ
in die obige Differenzengleichung ein, dann erhält man eine rekursive Differenzenglei-
chung für S:
y(n) = y(n − ) + x(n) − x(n − )
3.2 Systeme 77
Dass die LSI-Eigenschaft zur Gültigkeit der Gl. (3.102) vorausgesetzt werden muss, zei-
gen schon sehr einfache Beispiele. So ist das Median-System Mm (siehe Abschn. 3.2.3) zwar
shift-invariant, jedoch nicht linear und daher nicht LSI. Und tatsächlich gilt für dieses Sys-
tem
Mm (δ k ) =
Es ist daher (3.102) nicht erfüllt, denn M m ist nicht das Nullsystem.
Es folgt nun zum Schluss des Abschnittes noch ein Beispiel mit einem linearen aber
nicht shift-invarianten System V, für das V(x) = x ∗ ΔV nicht für jedes Signal aus seinem
Definitonsbereich gilt. Es sei dazu v ein (fest gewähltes) Signal. Dann wird durch
ein lineares System auf ganz S definiert. Für dieses System gilt
Das Signal v sei nicht konstant. Dann gibt es n a , n b ∈ Z mit v(n a ) ≠ v(n b ). Mit einem
so gewählten Signal v ist das System V nicht shift-invariant. Mit k = n a − n b erhält man
nämlich
und V ist wegen v(n a ) ≠ v(n b ) nicht shift-invariant. Die Einheitsimpulsantwort dieses
Systems ist gegeben durch
∞ ∞
(ΔV ∗ x)(n) = ∑ ΔV (ν)x(n − ν) = v() ∑ x(n − ν)
ν=−∞ ν=−∞
Mit den Signalen x(n) = −n u(n) und v(n) = n u(n) erhält man daraus
dabei ist die positive reelle Zahl A die Abtastrate. Die Funktion X sei periodisch mit der
Periode T und besitze die Fourier-Entwicklung
∞
X(t) = ∑ x k e iπ k f t f =
k=−∞ T
T
xk = f ∫ X(t)e −iπ k f t dt
Dann ist diese Entwicklung auch für die x(n) = X(nA) gültig:
∞
x(n) = X(nA) = ∑ x k e iπ k f An
k=−∞
∞
x(n) = ∑ x k є Ω k (n) Ω k = πk f A (3.105)
k=−∞
Es ist also durchaus sinnvoll, in der digitalen Welt die analoge so nachzuahmen, dass ein
System durch sein Verhalten gegenüber den Elementarsignalen є ω beurteilt wird. Es ist
3.2 Systeme 79
jedoch nur eine von einer anderen Welt auferlegte Interpretation, im Reich der digitalen
Signale gibt die (gleich zu definierende) Frequenzantwort nur an, wie ein System auf ge-
wisse Elementarsignale wirkt. Das ω von є ω ist keine „Frequenz“ im Sinne der analogen
Welt.
Es wäre nun ideal, wenn zu jedem Parameter ω ein ϑ(ω) ∈ C gefunden werden könnte
mit der Eigenschaft
S(є ω ) = ϑ(ω)єω , (3.106)
und ∣ϑ(ω)∣ gäbe an, welchen Einfluss S auf den Absolutbetrag von є ω (n) nimmt: Keinen
bei ∣ϑ(ω)∣ = , Verstärkung bei ∣ϑ(ω)∣ > und Dämpfung bei ∣ϑ(ω)∣ < . Die Multiplikation
von є ω (n) mit ϑ(ω) verändert aber auch den Polarwinkel Φ(є ω (n)). Weil sich bei einem
Produkt komplexer Zahlen die Polarwinkel addieren, gibt Φ(ϑ(ω)) also an, um welchen
Betrag das System S den Polarwinkel von є ω (n) ändert.
Leider gibt es für beliebige Systeme keine komplexe Zahl ϑ(ω), die (3.106) für alle n ∈ Z
erfüllt. Nun ist in (3.106) aber є ω ein Eigenvektor zum Eigenwert ϑ(ω), es könnte daher
sein, dass (3.106) für lineare Systeme wahr ist. Ein Beispiel dazu ist das System (3.104), also
V(x) = xv mit einem nicht-konstanten Signal v, das linear aber nicht shift-invariant ist.
Man erhält
V(є ω )(n) = є ω (n)v(n)
Weil es n a , n b ∈ Z gibt mit v(n a ) ≠ v(n b ) gilt hier (3.106) nicht. Die Linearität eines
Systems reicht für die Gültigkeit von (3.106) also nicht aus.
Für LSI-Systeme S ist є ω aber tatsächlich ein Eigenvektor zu einem Eigenwert ϑ(ω).
Falls S auf einem normierten Teilraum von S definiert ist und ΔS ∗ є ω für jedes ω ∈ R
existiert, erhält man nämlich
∞
S(є ω )(n) = (ΔS ∗ є ω )(n) = ∑ ΔS (ν)є ω (n − ν)
ν=−∞
∞ ∞ ∞
= ∑ ΔS (ν)e i(n−ν)ω = e inω ∑ ΔS (ν)e −iνω = є ω (n) ∑ ΔS (ν)e −iνω
ν=−∞ ν=−∞ ν=−∞
Ist S ein LSI-System auf ganz S dann sind zwar alle ΔS ∗ є ω definiert, man hat aber über
die S⟨n⟩ zu summieren (zur Einführung dieser Mengen siehe die Umgebung von (3.84) in
Abschn. 3.2.2).
Definiert man daher die komplexwertige Funktion Θ S ∶ R → C des reellen Parameters ω
durch die unendliche Reihe (im gewöhnlichen Sinn)
∞
ΘS (ω) = ∑ ΔS (ν)e −iνω (3.107)
ν=−∞
80 3 Grundlagen der digitalen Signalverarbeitung
Die Funktion ΘS heißt aus den oben dargelegten Gründen die Frequenzantwort6 des
Systems S. Sie ist nach (3.107) eine periodische Funktion mit der Periode π. Es genügt
deshalb, die Frequenzantwort in irgendeinem reellen Intervall der Länge π zu kennen
oder zu berechnen, beispielsweise im Intervall −π ≤ ω < π, das sich aus Symmetriegrün-
den anbietet.
Die Frequenzantwort ω ↦ ΘS (ω) erzeugt eine Kurve in der komplexen Ebene.7 Der
Periodizität wegen ist diese Kurve geschlossen: Die Kurve beginnt im Punkt ΘS (−π) und
endet im Kurvenpunkt ΘS (π) = ΘS (−π). Zumindest dann, wenn die definierende un-
endliche Reihe (3.107) tatsächlich eine endliche Summe ist, ist die Frequenzantwort als
Linearkombination von Exponentialfunktionen differenzierbar, die von ihr erzeugte Kur-
ve ist also eine stetige Kurve ohne Spitzen.
Eine Kurve in der komplexen Ebene wird informationsreicher mit Polarkoordinaten als
mit cartesischen Koordinaten beschrieben. Allerdings tragen die Polarkoordinaten eigene
Namen. Da ist einmal der Amplitudengang8 des Systems S:
Der Amplitudengang bei der Frequenz ω ist also der Betrag des Kurvenpunktes ΘS (ω),
d. h. der Abstand des Kurvenpunktes vom Nullpunkt + i der komplexen Ebene.
Die Entsprechung der zweiten Koordinatenfunktion, des Polarwinkels φ als Funktion
von ω, heißt der Phasengang des Systems S:9
Die Frequenzantwort, der Amplitudengang und der Phasengang eines Systems hängen also
auf die folgende Art und Weise zusammen:
Der Amplitudengang kann auf zwei Wegen berechnet werden. Der erste Weg verwendet
den Konjugationsoperator:
∣ΘS (ω)∣ = ΘS (ω)ΘS (ω) (3.112)
6
Sie wird aber auch Frequenzgang genannt.
7
Siehe Kap. 2.
8
Auch gain im Amerikanischen.
9
Zur Definition der Polarwinkelfunktion siehe Kap. 2.
3.2 Systeme 81
Die andere Methode wertet die Definition des Absolutbetrages als die Quadratwurzel aus
den Quadraten der cartesischen Koordinaten direkt aus:
∣ΘS (ω)∣ = R(ΘS (ω)) + I(ΘS (ω)) (3.113)
Manchmal ist der eine manchmal der andere Weg günstiger. Ist beispielsweise ΘS eine
Funktion einer komplexen Exponentialfunktion, dann ist oft der Weg über die Konjugation
günstiger, denn es gilt
e i ϑ = e −i ϑ = i ϑ (3.114)
e
Im praktisch wichtigen Fall, dass die Einheitsimpulsantwort ΔS eine reelle Funktion
ist, dass S also reelle Signale aus reellen Signalen erzeugt (aus x(n) ∈ R für alle n folgt
S(x)(n) ∈ R für alle n), ist die Frequenzantwort hermitesch:
Das System erzeugt als Antwort auf den Einheitsimpuls δ zwei Impulse, nämlich den Ein-
heitsimpuls δ selbst und einen negativen Einheitsimpuls, der um eine Zeiteinheit verzögert
wird. Die Einheitsimpulsantwort kann natürlich auch wie folgt erfasst werden:
⎧
⎪
⎪
⎪ für n =
⎪
⎪
ΔS (n) = ⎨− für n = (3.117)
⎪
⎪
⎪
⎪
⎪ für n /∈ {, }
⎩
Damit wird die Berechnung der Frequenzantwort mit Gl. (3.107) sehr einfach, man erhält
∞
ΘS (ω) = ∑ ΔS (ν)e −iνω = ∑ ΔS (ν)e −iνω = − e −iω = −cos(ω)+ i sin(ω) (3.118)
ν=−∞ ν∈{,}
π
Abb. 3.29 Die Kurve ω= 2
ω ↦ − cos(ω) + i sin(ω), i
ΘS (ω1 )
−π ≤ ω < π
r(ω1 )
ϕ(ω1 )
ω=0 ω = −π
1 2
ϕ(ω2 )
r(ω2 )
ΘS (ω2 )
−i π
ω= 2
Der mit seinem Betrag r(ω ) und Polarwinkel φ(ω ) eingezeichnete Kurvenpunkt Θ S (ω )
wird also vor dem zweiten eingezeichneten Kurvenpunkt ΘS (ω ) erreicht. Betrachtet man
den Polarwinkel φ(ω) während eines solchen Umlaufs, werden einige Probleme erkenn-
bar. Es beginnt schon beim Kurvenanfang. Im Kreispunkt + i ist eigentlich φ(−π) = .
Weil aber nun offensichtlich
lim = π
ω→−π
−π<ω
gilt, erhält man einen bei ω = −π stetigen Verlauf des Polarwinkels wenn φ(−π) = π ge-
setzt wird. Das ist zwar nicht der Wert, den die Funktion Φ dem Punkt +i als Polarwinkel
zuordnet, doch kennt Φ natürlich nicht die Bedeutung des Punktes, dessen Polarwinkel be-
stimmt wird und kann in Spezialfällen nur fest vorgegebene Werte verwenden. Allgemein
kann gesagt werden: Produziert Φ eine hebbare Unstetigkeit, dann sollte diese auch beho-
ben werden.
Ein weiteres Problem ist beim Parameterwert ω = erkennbar. Wenn die positive reelle
Achse ganz in die negative imaginäre Achse hineingedreht wurde, wenn also der Polwinkel
den Wert π (entspricht ○ ) erreicht hat, kann die Drehung der Achse (im Uhrzeiger-
sinn) nicht fortgesetzt werden: Die Achse muss zur Fortsetzung der Drehung in die positive
imaginäre Achse hochgeklappt werden, um dort mit dem Polarwinkel π (entspricht ○ )
die Drehung im Uhrzeigersinn weiterzuführen. Es entsteht eine Unstetigkeitsstelle, ein
Sprung der Weite π, der nicht von der Parametrisierung herrührt oder eine andere arti-
fizielle Ursache hat, sondern aus der Lage des Kreises selbst herstammt. Man erkennt es
daran, dass die Sprungstelle verschwindet, wenn der Kreis ein wenig nach links verscho-
ben wird und damit der Nullpunkt + i in das Innere des Kreises gelangt. Der Sprung ist
also eine Eigenschaft der Frequenzantwort ΘS und damit auch eine Eigenschaft des Systems
S, man kann ihn nicht beheben. Allerdings empfiehlt es sich, dem Parameter ω = doch
einen Wert zuzuweisen, um eine auf dem gesamten Parameterintervall definierte Funktion
zu bekommen, z. B. den Mittelwert φ() = π.
3.2 Systeme 83
1.0
0.5
0.0
π π π
0 π
Der Amplitudengang wird hier am einfachsten über die Konjugation bestimmt, d. h. mit
der Beziehung (3.114):
er ist in Abb. 3.30 nur für die zweite Hälfte des Parameterintervalls gezeichnet.
Nun zur Berechnung des Phasengangs. Die Polwinkel für ω = −π und ω = liegen mit
Φ(−π) = π und Φ() = π schon fest, es bleiben daher die beiden Parameterbereiche −π <
ω < und < ω < π. Es wird nach Abb. 2.2 vorgegangen. Die cartesischen Koordinaten
von ΘS (ω) sind gegeben durch x(ω) = − cos(ω) und y(ω) = sin(ω). In den beiden
Parameterintervallen gilt x(ω) > , der Quadrant zur Berechnung des Polarwinkels hängt
daher nur von y(ω) ab. Zentral zur Berechnung des Polarwinkels ist die Auswertung der
Funktion
y(ω) sin(ω)
A(ω) = arctan ( ) = arctan ( )
x(ω) − cos(ω)
Nach Abb. 3.29 kann eine einfache Funktion für den Polarwinkel vermutet werden, mög-
licherweise ein linearer Zusammenhang. Eine einfache aber nicht ganz kurze Berechnung
(die kombinierte Anwendung von Ketten- und Quotientenregel der Differentialrechnung)
ergibt tatsächlich das erhoffte Resultat:
A′ (ω) = − deshalb A(ω) = − ω + a
π 0 π
Ist aber y(ω) = sin(ω) < , dann gilt sin(−ω) = − sin(ω) > , also ∣sin(ω)∣ = sin(−ω).
Das ergibt endlich den gewünschten Polarwinkel:
sin(−ω) π
Φ(ΘS (ω)) = π − arctan ( ) = π − (− (−ω) + ) = − ω + π
− cos(−ω)
Im Parameterbereich < ω < π ist y(ω) > , die Berechnung wird nach dem ersten
Quadranten in Abb. 2.2 abgewickelt:
sin(ω) π
Φ(ΘS (ω)) = arctan ( )=− ω+
− cos(ω)
N
G N (x)(n) = ∑ x(n − ν) (3.119)
N + ν=
Jeder Indexposition n wird der Mittelwert ihres Signalwertes und der Signalwerte an den N
vorangehenden Positionen zugeordnet. Wie das Filter auf Signale wirkt macht eine Plau-
sibilitätsbetrachtung deutlich: Bei Signalen x, die nur niedrige Frequenzen enthalten (also
ω ≈ ), unterscheiden sich x(n), x(n − ) bis x(n − N) nur wenig, folglich gilt G N (x) ≈ x,
d. h. niederfrequente Signale werden nur wenig geändert. Das System ist daher ein Tiefpass.
Ausgangspunkt zur Berechnung des Frequenzgangs ΘGN ist natürlich (3.107):
∞
ΘGN (ω) = ∑ ΔGN (ν)e −iνω (3.120)
ν=−∞
Die Bestimmung der Einheitsimpulsantwort von G N , die zur Auswertung der Reihe er-
forderlich ist, ist problemlos, man hat die Bezeichnung nur wörtlich zu nehmen: ΔGN =
3.2 Systeme 85
− 12 1
− 21 i
N
ΔGN (n) = ∑ δ(n − ν)
N + ν=
⎧
⎪
⎪
für ≤ n ≤ N
= ⎨ N+
⎪
⎪ für n < ∨ N < n
⎩
Mit dieser simplen Einheitsimpulsantwort ist der Frequenzgang einfach zu berechnen, es
ist lediglich eine Potenzsumme auszuwerten:
N
−iνω
ΘGN (ω) = ∑e
N + ν=
− e −i(N+)ω
=
N + − e −iω
sin ((N + ) ω )
= e −i ω VN (ω) mit
N
VN (ω) =
(N + ) sin ( ω )
N N
= (cos ( ω) − sin ( ω) i) VN (ω)
Der Übergang von der zweiten zur dritten Zeile gelingt mit elementarer jedoch etwas län-
gerer Rechnung. Wichtig ist, dass der multiplikative Faktor VN (ω) des Ergebnisses reell
ist. Einen ersten Eindruck von der Gestalt der Funktion VN im Basisintervall −π ≤ ω < π
kann man sich mit Abb. 3.36 verschaffen.
Abbildung 3.32 zeigt den Graph der Kurve, welche von ΘG (ω) durchlaufen wird, wenn
ω das Parameterintervall −π ≤ ω < π durchläuft. Das Bild soll nur einen Eindruck der
Gestalt der Gesamtkurve geben und ist deshalb einfach gehalten. Es illustriert auch den
einfacheren Fall eines geraden N. Genauer betrachtet wird aber der Fall eines ungeraden
86 3 Grundlagen der digitalen Signalverarbeitung
ϕ5 (ω)
1
ω=0
π
ω= 8
π
ω= 4
π
ω= 2
ω = 34 π
ω = 78 π |V5 (ω)|
− 12i
ΘG (ω)
N = M + . Die Einzelheiten für den Fall eines geraden N = M auszuführen sei dem
Leser als einfache Übungsaufgabe empfohlen.
In Abb. 3.33 ist der Teil der Kurve für N = ausführlicher gezeichnet, der erzeugt wird,
wenn die zweite Hälfte ≤ ω < π des Parameterintervalles durchlaufen wird. Für einen
Punkt ΘG (ω) der Kurve sind der Betrag r (ω) = ∣VN (ω)∣ und sein Polarwinkel φ (ω)
eingetragen. Einige Punkte der Kurve mit speziellen Parametern sind gekennzeichnet, man
kann so die Orientierung der Kurve erkennen, d. h. in welcher Reihenfolge die Punkte der
Kurve durchlaufen werden.
Ausgangspunkt einer Analyse der Frequenzantwort ΘG ist die einfache Beobachtung,
dass die Multiplikation einer komplexen Zahl z mit einer reellen Zahl v den Polarwinkel
der komplexen Zahl auf eine sehr einfache Art ändert. Man muss nur z in Polarkoordinaten
ausdrücken:
Eben diese Situation ist aber mit der Frequenzantwort gegeben, die komplexe Zahl e −i ω
N
Folglich genügt es, zur Bestimmung des Polarwinkels von ΘG den Polarwinkel der Funk-
tion ω ↦ e −i ω zu berechnen, also den Polarwinkel der Funktion
N
N N
K(ω) = e −i ω = cos (
N
ω) − sin ( ω) i − π ≤ ω < π.
3.2 Systeme 87
Der gesuchte Polarwinkel entsteht daraus durch eine einfache Modifikation. Durchläuft ω
das Intervall −π ≤ ω < π, dann durchläuft cos(ω) − sin(ω)i einen ganzen Kreisbogen,
folglich durchläuft cos ( N ω)−sin ( N ω)i wegen N = M+ genau M ganze Kreisbögen und
einen Halbkreis. Das ist anschaulich klar, aber um den Polarwinkel während des Umlaufes
zu bestimmen muss noch bekannt sein, in welchem Punkt der Umlauf beginnt und mit
welcher Orientierung er fortschreitet, ob gegen oder mit dem Uhrzeigersinn. Dazu muss
die Aussage, dass M + Kreise durchlaufen werden, etwas präziser gefasst werden. Es sei
dazu Q = N = M + und Ω = Qω. Setzt man p = π Q
, dann ist damit eine Einteilung des
Intervalles −π ≤ ω < π gegeben, und zwar in die M Intervalle I m gegeben durch
−π + mp ≤ ω < −π + (m + )p m = , . . . , M −
Durchläuft nun ω eines der Intervalle I m , dann durchläuft Ω das Intervall J m , definiert
durch
−πQ + mpQ ≤ Ω < −πQ + (m + )pQ m = , . . . , M −
Wegen
−πQ + (m + )pQ − (−πQ + mpQ) = pQ = π
hat das Intervall J m die Länge π. Ebenso sieht man, dass das entsprechende Intervall J M
die Länge π hat. Durchläuft daher ω die Intervalle I m , m = , . . . , M, dann durchläuft Ω
nacheinander die Intervalle J m und die Funktion
̂
K(Ω) = cos(Ω) − sin(Ω)i
daher M Vollkreise und einen Halbkreis. Es bleibt noch zu bestimmen, wo die Kreisläufe
beginnen und ob sie gegen den Uhrzeigersinn gerichtet sind oder nicht. Dazu genügt es
natürlich, den Anfang und die Richtung des ersten Kreisdurchlaufes zu ermitteln, denn
alle Durchläufe haben denselben Anfang und dieselbe Richtung. Der Anfangspunkt des
ersten Durchlaufes ist K(−π), und die Bewegungsrichtung kennt man, wenn man den Ort
der Kurve nach einer Drehung um π (d. h. ○ ) kennt. Man erhält zunächst
cos(Qω) − sin(Qω)i = cos (Mω + ω) − sin (Mω + ω) i (3.121)
die gewünschten Kurvenpunkte ergeben sich daraus durch Einsetzen von ω = −π und
p
ω = −π + . Zur Durchführung der Rechnungen macht man Gebrauch von den Glei-
chungen
π π
sin (x + ) = cos(x) cos (x + ) = − sin(x) (3.122)
88 3 Grundlagen der digitalen Signalverarbeitung
die sich direkt aus den Additionstheoremen herleiten lassen. Einsetzen von ω = −π in
(3.121) ergibt
π π
cos (−Mπ − ) − sin (−Mπ − ω) i = − sin(Mπ) + i cos(Mπ) = i(−) M
wegen cos(Mπ) ∈ {, −}. Für gerade M beginnt daher der Kreisdurchlauf bei i, für un-
p
gerade M bei −i. Zur Richtungsbestimmung bemerkt man zunächst, dass ω = −π + im
Intervall I der Wert Ω = −πQ + im Intervall J entspricht. Bei diesem Wert von Ω ist al-
π
so genau ein Viertelkreis durchlaufen worden. Zweimalige Anwendung von (3.122) ergibt
damit
π
cos (−πQ + ) = cos(Mπ) = (−) M
π
sin (−πQ + ) = sin(Mπ) =
Für gerades M ist die Kurve nach einer Drehung um ○ von i aus bei = + i angekom-
men, es ist daher eine Drehung im Uhrzeigersinn. Für ungerades M ist die Kurve nach
einer Drehung um ○ von −i aus bei − = − + i angekommen, es ist daher ebenfalls eine
Drehung im Uhrzeigersinn.
An dieser Stelle ist genug Information vorhanden, um den Polarwinkel φ N (ω) zu be-
stimmen. Es sind die beiden Fälle gerades M und ungerades M zu unterscheiden. Die Kurve
startet bei geradem M an der Stelle i mit dem Polarwinkel φ = π , der in der folgenden
Viertelkreisdrehung im Uhrzeigersinn linear absinkt und bei Erreichen der positiven re-
ellen Achse einen Sprung von φ = auf φ = π ausführt. Der Polarwinkel sinkt dann
wieder linear ab bis auf φ = π bei Erreichen des Startpunktes i. Insgesamt hat die Polar-
winkelfunktion Φ(ΘGN (ω)) für gerades M also die in Abb. 3.34 gezeigte sägezahnförmige
Gestalt. Die Anfänge der Intervalle I m sind mit einem Punkt markiert (es ist p = , bei
N = ).
Bei ungeradem M startet die Kreisbewegung bei −i mit dem Polarwinkel φ = π, sinkt
mit einer Drehung um ○ ( π) linear ab bis zum Erreichen der positiven reellen Achse
und führt dort einen Sprung von φ = zu φ = π aus, um dann mit einer letzten Viertel-
kreisdrehung bis zu −i auf φ = π abzusinken. Der Polarwinkel hat also die in Abb. 3.35
gezeigte Gestalt, Die Anfänge der Intervalle I m sind ebenfalls mit einem Punkt markiert
(es ist p = , bei N = ).
Der Polarwinkel lässt sich natürlich auch formelmäßig darstellen. Mit etwas längerer
aber elementarer Rechnung findet man für gerades M und ≤ m < M
⎧
⎪ p
⎪ + (mp − π − ω) für − π + mp < ω < −π + mp +
π π
φ N (ω) = ⎨ π p
(3.123)
⎪ p
⎩ +
⎪ ((m + )p − π − ω) für − π + mp + < ω < −π + (m + )p
π
p
3.2 Systeme 89
2π
ϕ π
−π − π −π −π 0 π π
π π
ω
2π
ϕ π
−π − π −π −π 0 π π
π π
ω
⎧
⎪ p
⎪ + (mp − π − ω) für − π + M p < ω < −π + M p +
π π
φ N (ω) = ⎨ π p
(3.124)
⎪ p
⎩ +
⎪ ((m + )p − π − ω) für − π + mp + <ω<π
π
p
⎧
⎪
⎪ π+ (mp − π − ω) für − π + mp < ω < −π + mp + p
π
φ N (ω) = ⎨ p
⎪
⎩π +
⎪ ((m + )p − π
− ω) für − π + mp + p < ω < −π + (m + )p
π
p
(3.125)
Im letzten Teilintervall (m = M) ergibt sich der Polarwinkel
π
φ N (ω) = π + ((m + )p − π − ω) für − π + M p < ω < π (3.126)
p
90 3 Grundlagen der digitalen Signalverarbeitung
p
Die Unstetigkeitsstellen −π + mp + für gerades M und −π + mp + p für ungerades M
sind in den Formeln nicht berücksichtigt. Man kann dort einen Mittelwert einsetzen oder
die Funktionen einseitig stetig ergänzen.
Es ist jetzt noch der Faktor VN zu berücksichtigen, und zwar sind die Bereiche zu be-
stimmen, in welchen VN negativ ist, d. h. es sind die Nullstellen von VN zu berechnen.
Abbildung 3.36 gibt einen Eindruck der Lage der Nullstellen von V . Allgemein gilt
N + N +
sin ( ω) = ⇐⇒ ω = nπ, n∈Z
Das führt auf die Nullstellen
n
ω n = π , n∈Z
N+
Hier werden allerdings nur die Nullstellen −π ≤ ω n < π benötigt, und diese werden be-
stimmt durch
N + N +
− ≤n<
Für N = bedeutet das − ≤ n ≤ , im Einklang mit Abb. 3.36, und die Nullstellen selbst
sind
π π
ω− = − π ω− = − ω = ω = π
Allerdings sind bisher noch nicht die Nullstellen des Nenners von VN berücksichtigt, also
die Nullstellen von sin( ω ). Die einzige Nullstelle im Parameterintervall −π ≤ ω < π ist
ω = . An dieser Nullstelle hat VN den unbestimmten Wert , die Funktion kann aber dort
stetig ergänzt werden, denn mit der Regel von de l’Hospital errechnet man folgenden
Grenzwert:
sin ((N + ) ω ) N+
cos ((N + ) ω )
lim = lim
=
ω→ (N + ) sin ( ω ) ω→ N+
cos ( ω )
Es ist daher VN () = > und man kann die Bereiche des Parameterintervalls, in welchen
VN negativ wird, mit Hilfe der bekannten Nullstellen direkt angeben. Wegen VN () > ist
die Funktion bis zur ersten Nullstelle ω− im negativen und ω im positiven Bereich des
Parameterintervalls natürlich positiv und die ersten Teilintervalle mit negativen Funkti-
onswerten reichen von ω bis zu ω bzw. von ω− bis zu ω− . Die nächsten Teilintervalle
mit negativen Funktionswerten reichen dann von ω bis ω bzw. von ω− bis ω− , usw.
Allgemein ist VN (ω) < für ω k+ < ω < ω k+ und für ω−k− < ω < ω−k− , mit k ≥
aber k + < N+
. Für N = erhält man die Bereiche − π < ω < − π und π < ω < π.
Der Polarwinkel ψ N von ΘGN kann jetzt als Modifikation von φ N erhalten werden. Ge-
hört ω einem der Bereiche an, in welchen VN (ω) negativ ist, dann wird e −i ω VN (ω) durch
N
eine Rotation von e −i ω ∣VN (ω)∣ um ○ gegen den Uhrzeigersinn erhalten. Man kann
N
1.0
0.8
0.6
0.4
0.2
−π − π −π −π π π
π π
−0.2
0.4
2π
ψ π
−π − π −π 0 π
π π
ω
Abb. 3.37 Der Polarwinkel ψ (ω) von ΘG (ω)
Weil die Bereiche mit VN (ω) < oben genau spezifiert wurden (zur Erinnerung: für un-
gerades N), kann die Definition konkretisiert werden. Mit
als der Menge der Parameter ω mit VN (ω) < erhält man für den Polarwinkel
⎧
⎪
⎪φ N (ω) falls ω ∉ N N
ψ N (ω) = ⎨
⎪
⎩(φ N (ω) + π) mod π
⎪ falls ω ∈ N N
92 3 Grundlagen der digitalen Signalverarbeitung
− 12 1
− 12 i
Er ist in Abb. 3.37 für N = skizziert. Die Anfänge der Intervalle I m , d. h. die Anfänge der
Rotationen, sind wieder mit einem Punkt gekennzeichnet. Die Bereiche mit negativem VN
sind zwar nicht besonders bezeichnet, sind aber dennoch leicht zu erkennen und wurden
oben auch schon als − π < ω < − π und π < ω < π angegeben.
Damit ist die Analyse der Frequenzantwort von G N (für ungerades N) abgeschlossen.
Sie hat sich als komplizierter herausgestellt als bei einem solch einfachen System wie G N zu
vermuten war. Abbildung 3.32 zeigt allerdings schon unmissverständlich an, dass mehr als
eine simple Anwendung der Umkehrfunktion des Tangens einzusetzen ist. Es kann daher
nur dringend empfohlen werden, sich den Verlauf der Frequenzantwort in der komple-
xen Ebene direkt anzusehen und nicht nur den Amplituden- und den Phasengang. Ab-
bildung 3.38 zeigt den jetzt voll verstandenen Verlauf der Frequenzantwort von G N noch
einmal. Die drei Rotationen sind besonders gekennzeichnet. Die ausgezogene Kurve gehört
zur ersten (vollen) Rotation. Sie beginnt weder in i noch in −i, sondern wegen VN (−π) =
im Nullpunkt des Koordinatensystems. Die beiden folgenden Durchgänge durch den Null-
punkt sind die von VN bei der ersten Rotation erzwungenen Phasensprünge, in Abb. 3.37
bei − π und − π. Der zweimal durchlaufene Schnittpunkt mit der reellen Achse ist für
die beiden anderen Phasensprünge während der ersten Rotation verantwortlich. Die zweite
Rotation ist gestrichelt gezeichnet, sie beginnt nahe bei i. Ihre Kurve durchläuft den Null-
punkt nur einmal, d. h. es gibt nur einen von VN erzwungenen Phasensprung, in Abb. 3.37
bei π. Die beiden Überquerungen der reellen Achse liefern die beiden übrigen Phasen-
sprünge der zweiten Rotation. Die dritte (halbe) Rotation ist gepunktet, sie beginnt auf der
negativen imaginären Achse. Es gibt einen Nulldurchgang mit dem Phasensprung beim
Austritt des Paramters aus Intervall I , in Abb. 3.37 bei π, und eine Überquerung der reel-
p
len Achse nach einer Viertelrotation (Durchlauf einer Parameterstrecke der Länge ) mit
dem entsprechenden Phasensprung.
3.2 Systeme 93
1.0
0.8
0.6
0.4
0.2
π π
π π 0 π π
1.0
0.8
0.6
0.4
0.2
0.0
π π
π π π π π 2π
−0.2
−0.4
−0.6
−0.8
1.0
Und um es abschließend noch einmal zu erwähnen, der Amplitudengang des Filters ist
∣VN ∣. Man erhält ihn aus Abb. 3.36, indem die negativen Teile der Funktion um die reelle
Achse nach oben geklappt werden, was zu Abb. 3.39 führt. Die einfache Symmetrie von
VN im Intervall −π ≤ ω ≤ π hat die Analyse des Systems etwas erleichtert. Zwar lässt sich
im Prinzip auch jedes andere Parameterintervall der Länge π einsetzen, doch kann das
durchaus Einfluss auf die Gestalt und die Eigenschaften der Funktionen haben, die unter-
sucht werden müssen. Legt man z. B. das Parameterintervall ≤ ω < π zugrunde, dann
hat V die in Abb. 3.40 gezeigte Gestalt. Die Bereiche, in welchen V negativ ist, besitzen
keine Symmetrie mehr, und es gibt nun drei solcher Bereiche.
Ein LSI-System S ist so aufgebaut, dass eine bestimmte Filterwirkung entsteht. Die Ein-
heitsimpulsantwort ΔS und die Frequenzantwort ΘS sind bekannt. Die Gestalt der Ein-
heitsimpulsantwort lässt nun erwarten, dass man eine bessere Filterwirkung erhält, wenn
nur die Signalwerte gerader Indizes der Einheitsimpulsantwort berücksichtigt werden. Die
Einheitsimpulsantwort wird also durch die Argumenttransformation τ: ν ↦ ν in ein neues
Signal überführt (siehe dazu Abschn. 3.1.2). Das so erhaltene Signal kann als die Einheits-
impulsantwort eines LSI-Systems T aufgefasst werden:
ΔT (ν) = ΔS (ν)
Es soll nun bestimmt werden, in welcher Weise die Frequenzantwort ΘT des Systems T
von der Frequenzantwort ΘS des Systems S abhängt. Ausgangspunkt der Überlegung ist
natürlich
∞ ∞
ΘT (ω) = ∑ ΔT (ν)e −iνω = ∑ ΔS (ν)e −iνω
ν=−∞ ν=−∞
Um dieses Ziel zu erreichen ist (etwas grob gesagt) in der letzten Summe die Abhängigkeit
von ν ↦ ΔS (ν) in die Abhängigkeit von ν ↦ ΔS (ν) zu überführen. Auf rein formalem
Wege gelingt das mühelos:
∞ ∞
−iνω
= ∑ ΔS (ν)e −i ω
ν
∑ ΔS (ν)e
ν=−∞ ν=−∞
ν≡ ()
Allerdings wird in der Reihe auf der rechten Seite nur über die geraden Indizes summiert
und es ist ein Weg zur Standardsummation über alle ν ∈ Z zu finden. Hier gibt es nun
einen kleinen Kunstgriff, der recht oft bei der Berechnung von Summen oder unendlichen
Reihen weiterhilft. Ganz allgemein kommt man zu einer Standardsummation, wenn eine
Funktion ψ: Z → C angegeben werden kann mit folgender Eigenschaft:
⎧
⎪
⎪ falls ν ≡ ()
ψ(ν) = ⎨
⎪
⎪ falls ν ≡ ()
⎩
Die Funktion soll also für gerade ν den Wert 1 und für ungerade ν den Wert 0 annehmen.
Denn mit einer solchen Funktion erhält man
∞ ∞
−i ω ν
−i ω ν
∑ ΔS (ν)e = ∑ ψ(ν)ΔS (ν)e
ν=−∞ ν=−∞
ν≡ ()
Es ist nun nicht schwierig, eine Funktion mit dieser Eigenschaft zu finden:
+ (−)ν
ψ(ν) =
3.2 Systeme 95
2i
1
− 21 1
− 12 i
∞
−i ω ν ∞ −iν ω ∞ −i ν ω
∑ ΔS (ν)e = ∑ ΔS (ν)e + ∑ (−) ΔS (ν)e
ν
ν=−∞ ν=−∞ ν=−∞
ν≡ ()
Das ist ein schon recht befriedigendes Zwischenergebnis, denn der erste Term der Summe
ist gerade die Funktion ω ↦ ΘS ( ω ). Im zweiten Term stört allerdings noch der Faktor
(−)ν . Er kann jedoch auf einfache Weise beseitigt werden, wenn man sich der wohlbe-
kannten elementaren Relation − = cos(π)+ i sin(π) = e iπ erinnert. Daraus folgt natürlich
(−)ν = e iνπ , und dieser Funktionswert der Exponentialfunktion führt auf eine bereits be-
kannte Reihe:
∞ ∞ ∞
−i ω ν
iνπ −i ω −iν
ν ω−π
∑ (−) ΔS (ν)e = ∑ ΔS (ν)e e = ∑ ΔS (ν)e
ν
Die gesuchte Abhängigkeit der Frequenzantwort ΘT von der Frequenzantwort ΘS ist also
wie folgt gegeben:
ΘS ( ω ) + ΘS ( ω − π)
ΘT (ω) =
Das Ergebnis ist im Wesentlichen eine Mittelwertbildung, von der man ein beruhigtes
Verhalten der Funktionskurve erwarten kann. Wird das Verfahren auf das System G ange-
wandt (siehe (3.119)), mit der in Abb. 3.38 gezeigten Frequenzantwort, erhält man ein Sys-
tem Gh mit der Frequenzantwort von Abb. 3.41. Tatsächlich besitzt die Kurve in Abb. 3.41
einen viel „ruhigeren“ Verlauf als die in Abb. 3.38 gezeigte Kurve, statt der vier kleinen
Schleifen gibt es nur noch eine.
96 3 Grundlagen der digitalen Signalverarbeitung
Ein LSI-System S ist durch eine lineare Differenzengleichung mit konstanten komplexen
Koeffizienten u κ und v μ rekursiv vorgegeben:
Das System S selbst ist also nicht bekannt. Eine Methode, mit der es gelänge, direkt aus
der Differenzengleichung die Frequenzantwort ΘS des Systems zu bestimmen, wäre sicher
von großem praktischen Wert. In der Umkehrung kann ΘS bekannt sein und man möch-
te direkt auf die Differenzengleichung schließen, z. B. zur Implementierung eines Filters.
Beides gelingt mit dem Einsatz der diskreten Fourier-Transformation (DFT).
Die DFT wird im Buch als ein rein formales Werkzeug zur Lösung bestimmter Rechen-
probleme angesehen, auf eine längere Motivation wird daher verzichtet. Die DFT ist ein
Operator F auf der Menge der Signale, der geeigneten Signalen x eine Funktion F(x) ∶
H → C zuordnet, mit H ⊂ R, die wie folgt definiert ist:
∞
F(x)(ω) = ∑ x(n)e −i nω (3.128)
n=−∞
Nun ist niemand, der sich mit digitalen Filtern beschäftigt, dazu gezwungen, sich in die
Schwierigkeiten der Theorie der Fourier-Reihen zu vertiefen, denn es kommt recht sel-
ten vor, dass die Reihe direkt ausgewertet werden muss, weil die Eigenschaften von F
es erlauben, die Berechnung der DFT eines Signals auf die Berechnung der DFT einiger
einfacher Grundsignale zurückzuführen. Ein Beispiel einer direkten Berechnung dürft al-
lerdings willkommen sein. Das Signal x sei gegeben durch
x(n) = u(n + ).
n
Die direkte Berechnung durch Auswertung der Reihe (3.128) läuft dann wie folgt ab:
∞ ∞ ∞
−inω −iω n
F (x)(ω) = ∑ x(n)e −inω = ∑ e = ∑ ( e )
n=−∞ n=− n n=−
− ∞ n
= ( e −iω ) + ∑ ( e −iω )
n=
= e iω +
− e −iω
e iω
=
− e −iω
3.2 Systeme 97
In diesem Fall ist die Funktion F (x) auf ganz R definiert, denn die Funktion ω ↦ − e −iω
besitzt keine Nullstelle. Im nächsten Beispiel ist F(x) nicht mehr auf ganz R definiert, die
Funktion hat wesentliche Singularitäten in den Punkten ω = nπ, n ∈ Z. Sie ist auch ein Bei-
spiel einer wesentlich schwieriger zu berechnenden Fourier-Transformation als die soeben
berechnete. Die Ableitung wird deshalb unterlassen und nur das Ergebnis vorgeführt. Das
Argument der Transformation ist das Signal
⎧
⎪ (−) n−
⎪ n falls n ≥
x(n) = ⎨
⎪
⎪ falls n <
⎩
Die Ergebnisfunktion der Transformation ist für den Bereich −π < ω < π angegeben und
ist periodisch auf ganz R fortzusetzen, die Singularitäten natürlich ausgenommen:
∞
(−)n− −inω ∞ (−)n− ω ω
F(x)(ω) = ∑ e =∑ (cos(nω) − i sin(nω)) = ln ( cos ( )) − i
n= n n= n
Die Singularität der Transformierten ist die Singularität des Logarithmus im Nullpunkt.
Wie eben schon angedeutet ist die Funktion F(x) periodisch mit der Periode π. Sie
erzeugt wie die Frequenzantwort eines Systems eine Kurve in der komplexen Ebene C. Für
die Präsentation der weiteren Eigenschaften der diskreten Fourier-Transformation wird
angenommen, dass alle Transformierten F(x), F(y) usw. einen gemeinsamen Definiti-
onsbereich haben. Falls erforderlich muss allen Beteiligten der kleinste Definitionsbereich
(im Sinne der Teilmengenrelation) zugrunde gelegt werden. Weitere Eigenschaften der
DFT sind:
(i) Der Operator F ist linear, d. h. sind Signale x und y und komplexe Zahlen u und v
gegeben, dann gilt
(ii) Der Operator F bildet Faltungen von Signalen in Produkte ab, d. h. sind Signale x und
y gegeben, dann gilt
(iii) Die Verschiebung eines Signals bewirkt die Multiplikation der DFT des Signals mit
einem Phasenfaktor:
F(x ○ σ k )(ω) = e −i kω F(x)(ω) (3.131)
(iv) Die Modulation eines Signals x mit einer Kreisfrequenz Ω bewirkt eine Verschiebung
der DFT um Ω:
̂
x (n) = nx(n) /⇒ x )(ω) = iF (x)′ (ω)
F (̂ (3.133)
Der Zusammenhang zwischen der Frequenzantwort eines LSI-Systems S und der DFT ist
mit (3.128) schnell hergestellt:
∞
ΘS (ω) = ∑ ΔS (ν)e −iνω = F(ΔS )(ω) (3.134)
ν=−∞
Die Frequenzantwort eines LSI-Systems ist nichts anderes als die DFT der Einheitsimpuls-
antwort des Systems. Weiter ergibt sich mit S(x) = x ∗ ΔS
F(S(x))
= ΘS (3.136)
F (x)
Kennt man eine Differenzengleichung des Systems, wie sie oben angegeben wurde, aber für
Rechnungen bequemer in Kurzform ausgedrückt,
m k
∑ v μ S(x) ○ σ μ = ∑ u κ x ○ σκ (3.137)
μ= κ=
dann erhält man daraus durch Anwendung der DFT auf die linke Seite der Differenzen-
gleichung unter Beachtung von (i) und (iii)
m m m
F( ∑ v μ S(x) ○ σ μ )(ω) = ∑ v μ F(S(x) ○ σ μ )(ω) = ∑ v μ e −i μω F (S(x))(ω)
μ= μ= μ=
m
= F(S(x)(ω)) ∑ v μ e −i μω
μ=
Ein entsprechendes Resultat ergibt sich bei Anwendung der DFT auf die rechte Seite der
Differenzengleichung (3.137). Fasst man beide Ergebnisse zusammen, dann kommt man
zusammen mit (3.136) auf die folgende Darstellung der Frequenzantwort:
F(S(x))(ω) ∑κ=
k
u κ e −iκω
ΘS (ω) = = m (3.138)
F(x)(ω) ∑ μ= v μ e −i μω
Diese Gleichung kann sowohl von links nach rechts als auch von rechts nach links ge-
lesen werden. Dazu einige Beispiele, welche die Nützlichkeit von (3.138) demonstrieren.
3.2 Systeme 99
Zunächst die Lesart von links nach rechts. In diesem Fall ist die Frequenzantwort eines
LSI-Systems direkt gegeben, in diesem Beispiel als
e iω
ΘS (ω) = ,
+ cos(ω)
und zu bestimmen ist das System S dargestellt als eine Differenzengleichung. Dazu wird
die Formel für die Frequenzantwort so umgeformt, dass ein Quotient von Summen von
Exponentialfunktionen wie in (3.138) rechts entsteht:
e iω e iω e iω ⋅ e −iω
ΘS (ω) = = =
+ cos(ω) + e iω + e −iω ( + e iω + e −iω )e −iω
F (S(x))
= =
+ e −iω + e −iω F(x)
In der Richtung von rechts nach links in (3.138) ist eine Differenzengleichung für das LSI-
System S gegeben und es ist die Frequenzantwort des Systems zu berechnen. Ist z. B. die
Differenzengleichung gegeben als
F(S(x)) + e −i + e −iω
ΘS (ω) = =
F(x) − e −iω
Offenbar ist es leichter, in (3.138) von rechts nach links als von links nach rechts zu gelan-
gen, deshalb noch ein etwas komplizierteres Beispiel für den Weg von links nach rechts.
Es ist aber nicht die Frequenzantwort direkt, sondern nur die Einheitsimpulsantwort eines
LSI-Systems gegeben:
n
ΔS (n) = n cos ( ω) u(n)
Die Frequenzantwort des Systems ist also noch zu berechnen. Das kann wegen (3.134) mit
Hilfe der DFT geschehen, die Frequenzantwort des Systems ist die DFT seiner Einheitsim-
pulsantwort. Dazu wird ΔS so umgeformt, dass es ganz aus Grundbausteinen für die DFT
zusammengesetzt ist (siehe Tab. 3.1):
i n ω
+ e −i ω )u(n)
n
ΔS (n) = n
(e
ω n n
= ( e i ) u(n) + ( e −i ) u(n)
ω
100 3 Grundlagen der digitalen Signalverarbeitung
Anwendung der DFT auf beide Seiten der Gleichung, Erweitern, Ausmultiplizieren und
Zusammenfassen ergibt
ΘS (ω) = F(ΔS )(ω) = +
− e −i e −i ω
ω ω
− e i e −iω
− e −i e −iω + − e i e −iω
ω ω
=
( − e i e −iω )( − e −i e −i ω )
ω ω
− cos ( ω )e −iω
=
− cos ( ω )e −iω + e −iω
ω ω
S(x)(n) − cos ( ) S(x)(n − ) + S(x)(n − ) = x(n) − cos ( ) x(n − )
Zum Schluss noch ein Beispiel dafür, dass sich nicht immer reelle Differenzengleichungen
ergeben. Die Frequenzantwort
ΘS (ω) = tan(ω)
führt nämlich auf die komplexe Differenzengleichung
wovon sich der Leser durch Entwickeln der Tangensfunktion in einen Quotienten von
Summen von Exponentialfunktionen selbst überzeugen kann.
3.3 Fenster
Auf die Faltungsoperation für komplexwertige Funktionen mit reellem Argument und der
Periode π kommt man bei der Beantwortung der folgenden Frage: Gegeben seien zwei
3.3 Fenster 101
∞ ∞
U(ϑ) = ∑ u ν e iνϑ V (ϑ) = ∑ v ν e iνϑ (3.139)
ν=−∞ ν=−∞
Welche Funktion stellt dann die Reihe mit den Koeffizienten u ν v ν dar (falls konvergent)?
Gesucht ist also eine Funktion
∞
ϑ ↦ ∑ u ν v ν e iνϑ
ν=−∞
Es stellt sich heraus, dass die Funktion durch ein Integral gegeben ist, das mit U ∗ V be-
zeichnet wird und die Faltung der Funktionen U , V ∶ R → C genannt wird:
∞ π
∑ u ν v ν e = (U ∗ V )(ϑ) = ∫ U(λ)V(ϑ − λ)dλ
iνϑ
(3.140)
ν=−∞ π −π
∞
(U ∗ V)(ϑ) = ∑ f ν e iνϑ
ν=−∞
π
−iνλ
fν = ∫ (U ∗ V )(λ)e dλ
π −π
Das Ergebnis ist eben f ν = u ν v ν , womit die gesuchte Funktion tatsächlich gefunden ist. Dass
U ∗ V als das Integral (3.140) darstellbar ist sagt allerdings noch nichts darüber aus, was
diese Funktion eigentlich bedeutet. Für beliebige U und V ist die Bedeutung auch schwer
zu fassen, doch für den Spezialfall einer reellen Rechteckfunktion als V – und nur dieser
Fall wird hier benötigt – kann die Bedeutung der Faltung anschaulich gemacht werden. Es
sei also
⎧
⎪
⎪ für α ≤ λ ≤ β
V (λ) = ⎨
⎪
⎩ für − π ≤ λ < α ∨ β < λ ≤ π
⎪
Das Rechteck V ist natürlich periodisch auf ganz R fortgesetzt zu denken. Die beiden Funk-
tionen sind in Abb. 3.42a in ihrer Ausgangslage skizziert, wobei angenommen ist, dass
auch U eine reelle Funktion ist. Um π(U ∗ V )(ϑ) über (3.140) zu erhalten, wird V zu-
nächst an der imaginären Achse gespiegelt, d. h. es wird zu V (−λ) übergegangen. Das ist
in Abb. 3.42b dargestellt. Dann wird V um ϑ verschoben, und zwar nach links für ϑ <
wie in Abb. 3.42c oder nach rechts für ϑ > wie in Abb. 3.42d. Nun bedeutet das Produkt
U(λ)V(ϑ − λ) wegen der speziellen Rechtecksgestalt von V aber nichts anderes als eine
Beschränkung der Integration, und zwar kann man aus Abb. 3.42 unten ablesen, dass ei-
gentlich die Funktion λ ↦ U(λ) über das Intervall von −β + ϑ bis −α + ϑ integriert wird.
102 3 Grundlagen der digitalen Signalverarbeitung
a b
V (λ) V (−λ)
U (λ) U (λ)
−π 0 π −π 0 π
α β −β −α
c d
V (ϑ − λ)
V (ϑ − λ)
U (λ) U (λ)
−π 0 π −π 0 π
←
− |ϑ| −
→ ←−−− ϑ −−−→
Die Faltung der beiden Funktionen wird also auf das Integral
−α+ϑ
(U ∗ V )(ϑ) = ∫ U(λ)dλ (3.141)
π −β+ϑ
reduziert. Anders ausgedrückt: (U ∗ V )(ϑ) entspricht der Fläche, welche die Kurve der
Funktion U zusammen mit der reellen Achse im Bereich von −β+ϑ bis −α+ϑ (d. h. im vom
Rechteck überdeckten Bereich) einschließt. Dabei werden Flächen unterhalb der reellen
Achse negativ gewertet! Besitzt daher U wie im Bild angedeutet eine Wellenstruktur, dann
überträgt sich diese auf die Faltung U ∗ V . Natürlich ist U ∗ V kein direktes Abbild von U,
sondern eher so, dass, während das Rechteck über die Funktion U hingleitet, ein hoher
Wellenberg oder ein tiefes Wellental eine größere Fläche unter dem Rechteck besitzen als
ein flacher Berg oder ein flaches Tal.
Fenster (windows) sind spezielle Signale, die dazu dienen, Werte anderer Signale auszu-
blenden, d. h. auf Null zu setzen. Für multiplikative Fenster wird zu diesem Zweck die
Fensteroperation ⊡ eingeführt:
Die Fensterwirkung, d. h. die ausblendende Wirkung, erhält man durch die Auswahl spe-
zieller Signale für y. Will man z. B. alle Werte von x bis auf x(m) ausblenden, dann fenstert
3.3 Fenster 103
Sollen alle Werte zu Argumenten unterhalb von m ausgeblendet werden, dann wird mit
der Einheitsstufe u m gefenstert:
⎧
⎪
⎪x(n) für m ≤ n
(x ⊡ u m )(n) = x(n)u m (n) = ⎨ (3.144)
⎪
⎪ für n < m
⎩
Und sollen schließlich alle Werte bis auf den Argumentebereich p ≤ n ≤ q ausgeblendet
werden, dann verwendet man dazu die Einheitsrechtecksignale ρ p,q :
⎧
⎪
⎪x(n) für p ≤ n ≤ q
(x ⊡ ρ p,q )(n) = x(n)ρ p,q (n) = ⎨ (3.145)
⎪
⎪ für n < p oder q < n
⎩
∞
F f (ω) = ∑ f (n)e inω (3.146)
n=−∞
Die Fourier-Entwicklung konvergiert nicht für jedes Fenster, aber für finite Fenster ist das
natürlich der Fall, weil die Fourier-Entwicklung aus einer endlichen Summe besteht.
Allgemein heißt ein Signal x finit (oder auch mit endlichem Träger), wenn es ein m ∈ N gibt
mit x(n) = für ∣n∣ > m. Anders gesagt: Die Menge Tx = {n ∈ Z ∣ x(n) ≠ } (eben der
Träger) ist endlich. In der Umkehrung ist ein Signal x nicht-finit, wenn es zu jedem m ∈ Z
ein n ∈ Z gibt mit ∣n∣ ≥ ∣m∣ und x(n) ≠ .Der Träger ist also keine endliche Menge.
q
F ρ p, q (ω) = ∑ e inω (3.148)
n=p
Eine Sonderrolle wegen seiner Symmetrie spielt das Fenster ρ−k,k , in diesem Fall ergibt sich
nämlich eine reelle Fensterfunktion:
Es sei nun S ein LSI-System und f ein Fenster. Dann ist ΔS ⊡ f die Einheitsimpulsantwort
eines Systems S ⊡ f mit der Frequenzantwort ΘS⊡ f :
∞
ΘS⊡ f (ω) = ∑ (ΔS ⊡ f )(n)e −inω (3.150)
n=−∞
∞ ∞
Θ◇S (ω) = ∑ ΔS (n)e inω Θ◇S⊡ f (ω) = ∑ (ΔS ⊡ f )(n)e inω (3.151)
n=−∞ n=−∞
Damit lässt sich mit (3.140) die gespiegelte Frequenzantwort von S ⊡ f als die Faltung der
gespiegelten Frequenzantwort von S mit der Fensterfunktion von f darstellen:
Sind die Impulsantwort ΔS und das Fenster f symmetrisch, dann sind die Frequenzant-
worten ebenfalls symmetrisch, also Θ◇S = ΘS und Θ◇S⊡ f = ΘS⊡ f , und man erhält einfach
Θ S⊡ f = Θ S ∗ F f (3.153)
Wird also auf die Einheitsimpulsantwort des Systems S das Fenster f angewandt, dann er-
hält man die Frequenzantwort des Systems mit der so entstandenen Einheitsimpulsantwort
als die Faltung der ursprünglichen Frequenzantwort mit der Fensterfunktion von f .
Als einfacher Test wird ΘS⊡δ direkt und über die Faltung mit F δ berechnet. Auf direktem
Wege ergibt sich wegen ΔS ⊡ δ = ΔS ()δ sofort
∞
ΘS⊡δ (ω) = ∑ (ΔS ⊡ δ)(n)e inω = ΔS ()
n=−∞
Über die Faltung gelangt man wegen Fδ = wie folgt zum Ergebnis:
π ∞ π
(ΘS ∗ Fδ )(ω) = ∫ ΘS (λ)dλ = ∑ ΔS (n) ∫ e dλ
inλ
π −π n=−∞ π −π
Die Integrale in der Summe verschwinden für n ≠ und für n = hat das Integral natürlich
den Wert π. Folglich ergibt sich auch auf dem Weg über (3.153) das Ergebnis ΘS⊡δ (ω) =
ΔS ().
3.3 Fenster 105
Das „Abschneiden der Schwänze“ x(n), n < −k und k < n, eines Signals x wird durch
das Fenster ρ−k,k bewirkt. Allerdings ist es üblich, Fenster zu normieren, und zwar so, dass
die Summe der Werte des Trägers gerade 1 ergibt. Das führt auf das folgende normierte
Fenster:
⎧
⎪
⎪
für −k ≤ n ≤ k
w k (n) = ρ−k,k (n) = ⎨ k+ (3.154)
k + ⎪
⎪ für n < k oder k < n
⎩
Dessen Fensterfunktion ist wegen (3.149) natürlich gegeben durch
Diese Fensterfunktion ist für k = in Abb. 3.43 skizziert. Sie besteht aus einem dominie-
renden Wellenberg bei ω = und aus allmählich immer kleiner werdenden Nebenbergen
und Nebentälern. Die Nebenberge und -täler sind halb so breit wie der Hauptberg. Die
Höhe des Hauptberges erhält man durch Anwendung der Regel von de l’Hospital:
Das gilt unabhängig von der Abschneidestelle k: Der dominierende Wellenberg aller Fens-
terfunktionen Fw k hat die Höhe 1. Der Effekt, den die Normierung auf die Einheitsim-
pulsantwort und damit auch auf die Frequenzantwort und den Amplitudengang hat, ist
allerdings, dass alle diese Funktionen mit dem Normalisierungsfaktor k+ multipliziert
werden und deshalb noch einmal mit dem Faktor k + multipliziert werden müssen, um
im Durchlassbereich eine Verstärkung von 1 zu erhalten! Hinzu kommt, wie sich gleich
herausstellen wird, dass es nicht auf die für alle k konstante Höhe des Hauptberges an-
kommt, sondern seine für alle k konstante Fläche. Die Fensterfunktion F ρ −k , k besitzt diese
Eigenschaft: Die Höhe ihres Hauptberges wächst mit dem Faktor k + , aber seine Brei-
te schrumpft mit dem Faktor k+ , weil die den Hauptberg begrenzenden Nullstellen bei
± k+ liegen. Die Fensternormierung ist also eine zwecklose Übung und wird nicht weiter
π
beachtet, es wird mit dem Fenster ρ−k,k fortgefahren, dessen Fensterfunktion in Abb. 3.44
gezeigt ist.
Das Fenster ρ−k,k wird jetzt auf die Einheitsimpulsantwort des idealen Tiefpasses T in
Abschn. 4.8.1 angewandt, und zwar mit der Grenzfrequenz ω γ = γπ, < γ < π (um ein
schmaleres Rechteck zu bekommen ist hier konkret γ = ). Die Einheitsimpulsantwort von
T ist
sin(γnπ)
ΔT (n) = n∈Z (3.157)
nπ
106 3 Grundlagen der digitalen Signalverarbeitung
1.0
0.8
0.6
0.4
0.2
0.0
−π 0 π
−0.2
2k + 1 ↑
|
|
|
|
|
|
|
k
|
|
|
|
|
|
1 |
↓
0
−π 0 π
π
←
− k −
→
Die Anwendung des Fensters ρ−k,k ergibt die Einheitsimpulsantwort ΔT ⊡ ρ−k,k des Sys-
tems T ⊡ ρ−k,k mit der Frequenzantwort ΘT⊡ρ −k , k :
∞ k
sin(γκπ) −inω
ΘT⊡ρ −k , k (ω) = ∑ (ΔT ⊡ ρ−k,k )(n)e −inω = ∑ e
n=−∞ κ=−k κπ
k
sin(γκπ)
= γ +∑ cos(κω)
κ= κπ
Sie ist für k = und k = in Abb. 3.45 skizziert. Der erste Eindruck beim Vergleich der
oberen mit der unteren Bildhälfte ist, dass die Restwelligkeit der Approximation zwar mit
wachsendem k abnimmt, dass die Abnahme jedoch recht langsam erfolgt. Bei näherem
Hinsehen stellt man jedoch fest, dass die Welligkeit in zwei Bereichen nicht abgenom-
men hat: Die Höhe des Wellenberges, der direkt oben an die Rechteckflanke anschließt,
und die Tiefe des Wellentals, das direkt unten an die Flanke des Rechtecks anschließt,
3.3 Fenster 107
0
0 γπ π
0
0 γπ π
haben sich nicht verändert. Die Über- und die Unterschwingung an der Rechteckflan-
ke erscheinen mit konstanter Größe unabhängig von der Breite des gewählten Fensters
ρ−k,k , und sie sind groß genug, um in manchen Fällen den Einsatz des Filters unmöglich
zu machen. Dass diese in der Höhe von k unabhängigen Überschwingungen nur an der
Rechteckflanke auftreten deutet darauf hin, dass das Abschneiden als Fensteroperation zu
drastisch ist, mit zu abruptem Übergang an der Rändern des Fensters. Tatsächlich bringen
Fenster mit mehr fließendem Übergang an den Fensterrändern bessere Ergebnisse (siehe
Abschn. 3.3.4).
Wie kommen aber nun diese Überschwingungen zustande? Können sie (ohne kompli-
zierte mathematische Analyse) plausibel gemacht werden? Das ist mit den in Abschn. 3.3.1
vorgestellten Hilfsmitteln tatsächlich möglich (siehe insbesondere Abb. 3.42), und zwar
können, falls mit einer Rechteckfunktion gefaltet wird, die Werte der Faltung als eine Fläche
108 3 Grundlagen der digitalen Signalverarbeitung
2k + 1
F −8,8
(ω − λ)
Θ T (λ)
1
0
−π −γπ 0 γπ π
2k + 1
Θ T (λ) F (ω − λ)
1 −8,8
0
−π −γπ 0 γπ π
interpretiert werden. In Abschn. 3.3.1 wurde bei der Faltungsoperation mit einem Recht-
eck das Rechteck selbst verschoben. Weil aber die Faltungsoperation kommutativ ist, d. h.
weil U ∗ V = V ∗ U gilt ( wurde nicht gezeigt, ist aber leicht abzuleiten), können die bei-
den Funktionen im Integral die Plätze tauschen, kann also auch das Rechteck an seinem
Platz belassen und die andere Funktion, mit der gefaltet wird, für die Faltung verschoben
werden. Das gibt feste Integrationsgrenzen. Diese andere Funktion ist hier natürlich die
Fensterfunktion F ρ −k , k , und das (3.141) entsprechende Integral, allerdings mit vertausch-
ten Integranden, ist wie folgt gegeben:
π γπ
ΘT ∗ Fρ −k , k (ω) = ∫ ΘT (λ)Fρ −k , k (ω − λ)dλ = ∫ F ρ (ω − λ)dλ (3.158)
π −π π −γπ −k , k
Zur Berechnung des Faltungswertes ΘT ∗ F ρ−k , k (ω) wird die Fensterfunktion Fρ −k , k zu-
erst an der imaginären Achse gespiegelt (was hier allerdings keinen Effekt zeigt, denn die
Fensterfunktion ist symmetrisch) und dann um den Betrag ω verschoben. In Abb. 3.46 ist
gezeigt, wie mit laufendem ω die verschobene Fensterfunktion durch das Rechteck wan-
dert. Das Integral (3.158) bedeutet nun (von dem Faktor π abgesehen), dass der Faltungs-
wert ΘT ∗ F ρ−k , k (ω) gerade der Fläche entspricht, welche der Teil der Fensterfunktion im
Rechteck mit der reellen Achse bildet. Flächen unterhalb der reellen Achse werden negativ
gewertet.
Im oberen Teil des Bildes ist der Hauptberg der Fensterfunktion noch weit vom Rechteck
entfernt. Die von der Funktion gebildete Fläche ist daher klein, aber beim Durchlauf der
3.3 Fenster 109
L R
Nebenberge und Nebentäler durch das Rechteck schwankt die Fläche und damit auch die
Faltung im Takt der Wellen. Die Faltung ist also selbst eine Welle, und zwar mit kleinen
Amplituden.
Im unteren Teil von Abb. 3.46 hat der Hauptberg das Rechteck von ΘT erreicht. Um
besser zu verstehen, was bei der Wanderung des Hauptberges durch das Rechteck geschieht,
werden nur der Hauptberg der Fensterfunktion mit seinen beiden Seitentälern betrachtet
(Abb. 3.47). Die Fläche, die der Hauptberg mit der reellen Achse bildet, sei H, die Fläche
des linken Seitentales sei L, die des linken Seitentales R. Es gilt natürlich L = R, und die
beiden Seitenflächen sind negativ. Auch soll k so groß gewählt werden, dass das Rechteck
von ΘT breiter ist als der Hauptberg mit den Seitentälern (andernfalls wäre ΘT⊡ρ −k , k eine
sehr schlechte Approximation an ΘT ). Der Teil der Flächen L, H und R, der vom Rechteck
nicht ausgeblendet wird, also der gesuchte Wert der Faltung, sei F.
Der Hauptberg gleitet also von rechts her auf das Rechteck von ΘT zu und berührt es
zuerst mit dem linken Seitental. Weil L negativen Wert hat, ist F eine Weile negativ, und
zwar so lange, bis ein genügend großer Teil von H in das Rechteck eingedrungen ist, um L
zu kompensieren. Genau diese Situation ist in Abb. 3.48 rechts gezeigt. Mit dem weiteren
Vordringen des Hauptberges nimmt F nun zu, bis das Maximum erreicht ist. Dieser Teil
des Vorgangs erzeugt natürlich die ansteigende rechte Flanke des Rechtecks von ΘT⊡ρ −k , k .
Das Maximum von F ist genau dann erreicht, wenn der Hauptberg ganz im Inneren des
Rechtecks liegt, das rechte Seitental aber noch ganz außerhalb. Diese spezielle Situation
ist im mittleren Teil von Abb. 3.48 skizziert. Das weitere Vordringen der Fensterfunktion
reduziert nun F wieder, und zwar so lange, bis auch das rechte Seitental ganz in das Rechteck
hineingewandert ist. Das ist im linken Teil von Abb. 3.48 dargestellt. F bleibt während der
weiteren Fortbewegung konstant, bis das linke Seitental beginnt, das Rechteck zu verlassen.
110 3 Grundlagen der digitalen Signalverarbeitung
Dieser Teil der Bewegung mit konstantem F erzeugt offenbar das Dach des Rechtecks von
ΘT⊡ρ −k , k .
Das Erzeugen der rechten Flanke des Rechtecks von ΘT⊡ρ −k , k schießt also über das Dach
des Rechtecks hinaus! Der dabei erreichte maximale Wert ist H − L und damit unabhängig
von k, denn die Flächen H, L und R sind unabhängig von k (siehe Tab. 3.2). Das mit der Be-
wegung erzeugte Rechteckdach hat etwa die Höhe H − L − R, die natürlich auch unabhängig
von k ist.
Beim Verlassen des Rechtecks wird in spiegelbildlicher Weise die linke Flanke des Recht-
ecks von ΘT⊡ρ −k , k erzeugt. Auch lässt sich das Unterschwingen an den Flankenfüßen dieses
Rechtecks auf dieselbe Weise wie das Überschwingen erklären.
Der Einsatz des Fensters ρ−k,k ist mit einer Restwelligkeit verbunden, die bei manchen
Anwendungen nicht akzeptabel ist. Das gilt insbesondere für das Überschwingen, das mit
zunehmendem k, d. h. mit zunehmender Fensterbreite, nicht gedämpft werden kann. Eine
Dämpfung der Restwelligkeit gelingt jedoch mit lokaler Mittelwertbildung. Die Methode
besteht darin, die abgeschnittene Fourier-Entwicklung
k
φ(ω) = ∑ u κ e −iκω (3.159)
κ=−k
3.3 Fenster 111
σ
Abb. 3.49 Das Fenster ρ−k ,k , k =
Die Bestimmung des Integrals ist nur eine elementare Übung in komplexer Arithmetik:
−e −iκ(ω+ k ) + e −iκ(ω− k )
π π π
k k ω+ k
−iκϑ k k
ψ(ω) = ∑ uκ ∫ π e dϑ = ∑ uκ
π κ=−k ω− k π κ=−k iκ
sin (π k ) −iκω
κ
κ κ
k
e iπ k − e iπ k −iκω k
= ∑ uκ κ e = ∑ uκ e
κ=−k πk i κ=−k π κk
Das Ergebnis ist also, dass die Koeffizienten der Fourier-Entwicklung mit den Sigma-
Faktoren
sin (π κk )
σκ,k = (3.161)
π κk
multipliziert werden. Das bedeutet in der Anwendung auf Fenster, dass von ρ−k,k zu fol-
gendem Fenster übergegangen wird (siehe Abb. 3.49):
⎧
⎪
⎪σn,k für −k ≤ n ≤ k
σ
ρ−k,k =⎨ (3.162)
⎪
⎪ für n < k oder k < n
⎩
Die Sigma-Faktoren dämpfen Restwelligkeit so weit, dass die immer noch verbleibende
Welligkeit nur noch selten stören dürfte. Das kann mit der Gegenüberstellung von ΘT⊡ρ −k
σ
,k
in Abb. 3.50 und ΘT⊡ρ−k , k in Abb. 3.45 demonstriert werden. Die Größe der Verbesserung
wird so verdeutlicht, dass die gepunkteten Hilfslinien zur Messung von Über- und Unter-
schwingen von ΘT⊡ρ −k , k in Abb. 3.45 in Abb. 3.50 übernommen wurden. Die Restwelligkeit
im Durchlass- und im Sperrbereich ist in größerem Maßstab dargestellt. Sie wird im Durch-
lassbereich natürlich durch Subtraktion vom Idealwert 1 erhalten.
Mit der Methode der Sigma-Faktoren können die Eigenschaften eines Fensters signifi-
kant verbessert werden. Die eingesetzte Mittelwertbildung zur Glättung erscheint jedoch
112 3 Grundlagen der digitalen Signalverarbeitung
1 0, 01
ΘT σ
− ,
−1
0, 005
0
0 π
−0, 005
0
0 γπ π
0, 004
0, 002
0, 001
0
π π
π π
−0, 002
−0, 004
−0, 006
−0, 008
−0, 01
−0, 012
artifiziell. Vorzuziehen wäre ein Fenster, das an sich schon gute Eigenschaften besitzt und
keiner Verbesserungen mehr durch artifizielle Faktoren bedarf. In Abschn. 3.3.5 wird solch
ein Fenster vorgestellt.
3.3 Fenster 113
In diesem Abschnitt wird ein Fenster vorgestellt, das nicht als Modifikation des Rechteck-
fensters ρ−k,k entstanden ist, nämlich das von Hann-Fenster10 h k :
⎧
⎪
⎪ ( + cos (π k )) für ∣n∣ ≤ k
n
h k (n) = ⎨ k ∈ N+ (3.163)
⎪
⎪ für ∣n∣ > k
⎩
Es ist eigentlich kein Fenster der Breite k + , sondern wegen h k (−k) = h k (k) = von
der Breite k − . Es ist in Abb. 3.51 dargestellt. Es hat an den Ecken sehr glatte Übergänge:
Ersetzt man in (3.163) n durch eine reelle Variable, dann verschwinden die Ableitungen
der so entstehenden Funktion h ∶ x ↦ h k (x) in −k und k: h ′(−k) = h ′ (k) = . Die reelle
Achse ist in den Fenstereckpunkten daher die Tangente an die Funktion h.
Die Fensterfunktion F h k ist wegen der Symmetrie von h k eine reelle Funktion. Sie ergibt
sich nach Definition (3.146) wie folgt:
∞
F h k (ω) = ∑ h k (n)e inω
n=−∞
k
= ∑ h k (κ)e iκω
κ=−k
k κ
= ∑ ( + cos (π )) e
iκω
κ=−k k
k iπ κ −iπ κ
= ∑ ( + (e k + e k )) e
iκω
κ=−k
k iκω k iκ(ω+ πk ) k iκ(ω− πk )
= ∑ e + ∑ e + ∑ e
κ=−k κ=−k κ=−k
= HM (ω) + HL(ω) + HR (ω)
Die Fensterfunktion ist additiv aus drei Funktionen zusammengesetzt, die so gewählt sind,
dass sich deren Wellen durch die Addition in einigen Bereichen nahezu auslöschen. Die
Welligkeit der Fensterfunktion ist daher sehr gering. Die drei Funktionen sind in Abb. 3.52
dargestellt, die Auslöschung in den Außenbereichen ist gut nachzuvollziehen: Die Summe
der beiden Funktionen HL und HR hebt sich gegen die Funktion HM auf, d. h. HL (ω) +
HR (ω) ≈ HM (ω). Im Bereich um den Nullpunkt herum addieren sich die drei Funktionen
dagegen zum Hauptberg der Fensterfunktion. Mit Hilfe von Formel (A.11) zur Bestim-
mung der geometrischen Summen, aus welchen die drei Funktionen bestehen, und durch
10
Manchmal auch Hanning-Fenster genannt.
114 3 Grundlagen der digitalen Signalverarbeitung
7 HM
3 HL HR
0
−π 0 π
−1
− πk π
k
Erweitern mit + e iω erhält man die drei Funktionen in einer ihrer reellen Gestalten:11
11
Direkte Summierung gibt eine reelle Summe von Ausdrücken cos(κωλ).
3.3 Fenster 115
Tab. 3.3 Besondere Werte der ω HL (ω) HM (ω) HR (ω) Fhk (ω)
Teilfunktionen der Fenster- − 2π − 41 1
− 41 0
k 2
funktion F h k − πk 1
− 12 1 k
4 (2k + 1) 4 2
0 − 41 1
2 (2k + 1) − 41 k
π k
k
1
4 − 12 1
4 (2k + 1) 2
2π
k − 41 1
2 − 41 0
0
π π
π k 0 k π
F h k () = HL () + HM () + HR () = − − + (k + ) = k (3.167)
Soll jedoch eine Aussage über die vom Hauptberg eingenommene Fläche gemacht werden,
dann muss auch dessen Breite bekannt sein, die man als die Entfernung zwischen der größ-
ten negativen und der kleinsten positiven Nullstelle der Fensterfunktion festlegen kann.
Leider lassen sich diese Nullstellen an den Darstellungen (3.164) bis (3.166) nicht direkt
ablesen. Sie ließen sich zwar ohne große Probleme numerisch bestimmen, und die Ergeb-
nisse würden auch die Vermutung, dass die Breite proportional zu k − ist, untermauern,
aber Stichproben für einige, selbst für viele k können die Vermutung eben nicht bestätigen.
Man sollte deshalb versuchen, die drei Darstellungen so zusammenzufassen und umzufor-
men, dass ein Ausdruck entsteht, der es gestattet, für die Nullstellen eine Formel zu finden.
116 3 Grundlagen der digitalen Signalverarbeitung
Das gelingt auch tatsächlich durch Einsatz verschiedener trigonometrischer Formeln (die
in der Formelsammlung angeführt sind). Nach längerer Rechnung erhält man folgendes:
Darin ist Fk eine reelle Funktion, deren (recht komplizierter) Aufbau hier nicht weiter inter-
essiert, denn die relevanten Nullstellen lassen sich ohne diese Kenntnis ermitteln. Offenbar
ist jede Nullstelle von ω → sin(kω) eine Nullstelle der Fensterfunktion. Die kleinste Null-
stelle dieser Funktion ist πk . Wie ein Blick auf Tab. 3.3 lehrt ist das jedoch keine Nullstelle
der Fensterfunktion! Die nächste Nullstelle der Sinusfunktion ist ω = π k
, und das ist tat-
sächlich eine Nullstelle der Fensterfunktion, wie Tab. 3.3 zeigt. Andere Nullstellen in dem
Bereich −ω < ω < ω gibt es nach Abb. 3.53 nicht, folglich ist die Breite des Hauptber-
ges gegeben durch π k
. Die Breite ist also tatsächlich wie vermutet proportional zu k − . In
Abb. 3.53 ist auch das Dreieck eingezeichnet, das aus den beiden Nullstellen und der Spitze
des Hauptberges gebildet wird, seine Fläche D ist offenbar eine gute Annäherung an die
vom Hauptberg überdeckte Fläche:
π
D= k = π
k
Die Konstanz der Fläche des Hauptberges bedeutet, dass auch die Fensterfunktion F h k dem
Phänomen des Überschwingens ausgesetzt ist, es ist aber sehr viel schwächer ausgeprägt als
das Überschwingen von F ρ−k , k .
Die Welligkeit der Fensterfunktion F h k des von Hann-Fensters (Abb. 3.53) ist viel ge-
ringer als die der Fensterfunktion F ρ −k , k (Abb. 3.44 in Abschn. 3.3.3), man kann daher bei
der Frequenzantwort eine geringe Restwelligkeit und geringes Überschwingen erwarten.
Wie Abb. 3.54 zeigt, wird diese Erwartung nicht enttäuscht. Das Überschwingen und die
Restwelligkeit werden noch stärker reduziert als bei der Anwendung von Sigma-Faktoren.
Wenn daher ein Fenster eingesetzt werden muss, ist das von Hann-Fenster vorzuziehen.
Eine ausführliche Analyse der Frequenzantwort des idealen Hochpasses bei Einsatz des
Rechteckfensters (d. h. bei Abschneiden) wird in Abschn. 4.8.1 vorgestellt.
In diesem Abschnitt wird allerdings auch eine kausale Version des Hochpassfilters be-
handelt, also eines Filters, dessen Einheitsimpulsantwort auf dem negativen Indexbereich
verschwindet. Das von Hann-Fenster muss für diesen Fall etwas modifiziert werden:
⎧
⎪
⎪ ( + cos (π k )) für ≤ n ≤ k
n
h̃ k (n) = ⎨ k ∈ N+ (3.169)
⎪
⎪ für n < und n > k
⎩
Allerdings ist das Fenster nicht mehr nullsymmetrisch, weshalb die Fensterfunktion auch
keine reelle Funktion mehr ist. Die mit i multiplizierte (d. h. um ○ gedrehte) Fenster-
funktion Fh̃ ist zum Teil in Abb. 3.55 skizziert. Die von ihr durchlaufene Kurve in der
komplexen Ebene ist geschlossen, wenn ∞ hinzugenommen wird (siehe auch Kap. 2). Hier
stellt sich natürlich die Frage, welche Auswirkungen die Singularitäten der Fensterfunktion
haben. Die Beantwortung dieser Frage bleibt allerdings dem interessierten Leser überlas-
sen.
3.3 Fenster 117
0, 002
1.0
0.8 0
π π
π
0.4
−0, 004
0.2
−0, 006
0.0
π π
0 γπ π π
−1 1
−i
Ein Allpass ist ein Filter F, dessen Amplitudengang die Konstante Eins ist: Für jede Fre-
quenz ω des Parameterintervalls gilt ∣ΘF (ω)∣ = . Man kann auch sagen, dass die vom
Frequenzgang durchlaufene Kurve der komplexen Ebene ω ↦ ΘF (ω) ganz im Einheits-
kreis verläuft. Das LSI-Filter A mit der Frequenzantwort
− + e −iω
ΘA (ω) = (3.170)
− e −iω
ist ein Allpass, wie eine einfache Berechnung der Absolutwerte von Zähler und Nenner be-
stätigt. Zeichnet man die Kurve, die von der Frequenzantwort durchlaufen wird, erhält man
einen vollen Kreis, d. h. der Kreis wird mindestens einmal ganz durchlaufen. Das ist soweit
unabhängig vom benutzten Parameterintervall der Breite π. Auf welche Art und Weise der
Kreis durchlaufen wird ist allerdings vom Parameterintervall abhängig. Zunächst wird das
durch −π ≤ ω < π definierte Intervall I benutzt. Die Frage, wie oft der Einheitskreis um-
laufen wird, wenn das Intervall durchlaufen wird, kann auf graphischem Wege beantwortet
werden, man hat nur die Frequenzantwort mit der durch
ω
S(ω) = −
π
definierten Schrumpfungsfunktion zu multiplizieren, die aus der Bewegung im Kreis eine
auf den Nullpunkt gerichtete Spirale macht, an der die Anzahl der Rotationen abzulesen
ist. Abbildung 3.56 zeigt diese Spirale, man erkennt, dass der Kreis genau einmal umlaufen
wird. Mit (3.170) ist daher eine der unendlich vielen Parametrisierungen des Einheitskrei-
ses gegeben. Der Kreis wird allerdings im Uhrzeigersinn, nicht gegen ihn, durchlaufen.
Der Anfang ΘA (−π) der Rotation ist der Punkt − auf der negativen reellen Achse (durch
einen Punkt gekennzeichnet). Die positive reelle Achse wird von der Kurve im Inneren des
Parameterintervalls einmal überschritten.
Es wird nun das durch ≤ ω < π definierte Parameterintervall I für die von (3.170)
erzeugte Kurve verwendet. Ein Wechsel der Durchlaufrichtung ist nicht zu erwarten,
wohl aber ein Wechsel des Kurvenanfangs. Die Frequenzantwort wird auch hier mit einer
Schrumpfungsfunktion multipliziert, die natürlich an das geänderte Intervall angepasst
ist, nämlich S(ω) = − π ω
. Die sich ergebende Spirale zeigt Abb. 3.57. Sie beginnt hier im
Kurvenpunkt + i auf der positiven reellen Achse, und der Verlauf ist so, dass im Inneren
des Intervalls I die positive reelle Achse nicht überschritten wird, die Bewegung verläuft
vom vierten Quadranten durch den dritten und zweiten in den ersten Quadranten. Der
Polarwinkel macht daher nirgendwo im Inneren des Intervalles einen Sprung der Höhe π.
Der Filter A ist also ein Allpass, der die Amplitude aller Frequenzen nicht verändert.
Das bedeutet allerdings nicht, dass der Filter auch Signale nicht verändert, wie am Beispiel
des Signals, das in Abb. 3.58 skizziert ist,
x(n) = u(n)
n
3.4 Die Bedeutung der Phase von LSI-Systemen 119
−1 1
−1 1
demonstriert werden kann. Der Filter ist zwar nicht direkt gegeben, aber A(x) kann mit
Hilfe der DFT berechnet werden:
F (A(x)) = ΘA F(x)
− − − −
Das ergibt
− + e −iω e −iω
F (A(x)) = = − +
− e −iω − e −iω ( − e −iω ) ( − e −iω )
−
Ein Signal y, dessen DFT durch ω ↦ ( − e −iω ) gegeben ist, ist in Tab. 3.1 zu finden,
nämlich
n+
y(n) = n u(n)
Die Multiplikation der DFT von y mit e −iω bedeutet eine Verzögerung von y um genau
eine Position, das gesuchte Signal ist daher (siehe Abb. 3.59)
n+ n
A(x)(n) = − u(n) + n− u(n − )
n
Die beiden Signale x und A(x) sind offensichtlich nicht identisch. Vergleicht man die Si-
gnale mit Hilfe der beiden Bilder, so vermerkt man sogar eine recht starke Veränderung
des Eingangssignals. Diese Veränderung kann nicht auf Veränderungen der Amplitude der
Frequenzen des Eingangssignals zurückgehen, weil der Filter ein Allpass ist, sie müssen
folglich ein Effekt des Polarwinkels (der Phase) sein. Wie dieser Effekt zustande kommt,
wird im Rest des Abschnitts untersucht werden. In den Beispielen wird auch die Polar-
winkelfunktion Φ(ΘA (ω)) von A benutzt, und zwar mit verschiedenen Parametrisierun-
gen. Abbildung 3.60 zeigt den Polarwinkel bei Parametrisierung mit dem Intervall I und
Abb. 3.61 zeigt den Polarwinkel bei Parametrisierung mit dem Intervall I . Der in Abb. 3.60
sichtbare Sprung bei ω = geht wie oben schon erwähnt auf die Überquerung der positiven
reellen Achse durch die Frequenzantwortskurve zurück.
Für diesen Abschnitt sei S ein LSI-System. Aus der Tatsache, dass die Signale є Ω Ei-
genfunktionen des Systems sind (siehe (3.108)), erhält man eine einfache Darstellung von
S(є Ω ) mittels Amplituden- und Phasengang:
S(є Ω )(n) = ΘS (Ω)є Ω (n) = γS (Ω)e iϕ S (Ω) e inΩ = γS (Ω)e i(nΩ+ϕ S (Ω)) (3.171)
3.4 Die Bedeutung der Phase von LSI-Systemen 121
2π
π π π π
π π 0 π π
2π
π
π
0 π π π 2π
Diese einfache Darstellung gilt natürlich auch für die Signale c Ω und s Ω . Denn wegen
c Ω (n) = cos(nΩ) = e inΩ + e −inΩ = є Ω (n) + є−Ω (n)
folgt aus der Linearität des Operators S
S(c Ω )(n) = S(є Ω )(n) + S(є−Ω )(n)
= γS (Ω)e i(nΩ+ϕ S (Ω)) + γS (Ω)e −i(nΩ+ϕ S (Ω))
= γS (Ω) cos(nΩ + ϕS (Ω))
Eine ganz entsprechende Darstellung mit Amplitude und Phase existiert auch für das
andere trigonometrische Signal. Es stehen also die folgenden Darstellungen zur Ver-
122 3 Grundlagen der digitalen Signalverarbeitung
fügung:
Es sei nun x ein Signal, das von einer reellen Funktion t ↦ x(t) abgetastet wurde, und zwar
mit der Abtastrate oder dem Abtastintervall A:
Die Funktion x sei periodisch mit der Periode T und der Frequenz f = /T, und sie besitze
die Fourier-Entwicklung
∞
x(t) = ∑ x k e iπ k f t (3.174)
k=−∞
Die Entwicklung (3.174) ist natürlich auch für die x(n) gültig:
∞
x(n) = x(nA) = ∑ x k e iπ k f An
k=−∞
Die Fourier-Entwicklung der reellen Funktion x führt also direkt zu einer Fourier-
Entwicklung des Signals x:
∞ ∞
x(n) = ∑ x k є Ω k (n) = ∑ x k e iΩ k n Ω k = πk f A (3.176)
k=−∞ k=−∞
Wird weiterhin berücksichtigt, dass das System (der Operator) S stetig ist, dass also insbe-
sondere die Grenzwertbildung mit der Funktionswertbildung vertauschbar ist, dann ergibt
sich aus der Entwicklung von x und aus (3.171) auch eine Reihenentwicklung von S(x):
∞
S(x)(n) = ∑ x k γ S (Ω k )e i(Ω k n+ϕ S (Ω k )) (3.177)
k=−∞
Mit dieser Entwicklung lässt sich der Einfluss der Phase γ S auf den Systemwert S(x) direkt
bestimmen und berechnen. Weil es in diesem Abschnitt nur auf die Phase ankommt, wird
für den Rest des Abschnittes vereinfacht angenommen, dass das System ein Allpass ist, dass
also γS (ω) = gilt für jede Frequenz ω. Das ergibt die einfachere Entwicklung
∞
S(x)(n) = ∑ x k e i(Ω k n+ϕ S (Ω k )) (3.178)
k=−∞
3.4 Die Bedeutung der Phase von LSI-Systemen 123
Eine einfache Umformung lässt nun ganz klar erkennen, welche Rolle die Phase ϕS bei der
Anwendung von LSI-Systemen auf Signale spielt:
∞ ϕS (Ω k )
S(x)(n) = ∑ x k exp (iΩ k (n + )) (3.179)
k=−∞ Ωk
ϕS (Ω k )
= l ∈ Z,
Ωk
dann erhält man aus (3.179) eine einfache Beziehung für das Signal x:
∞
S(x)(n) = ∑ x k e iΩ k (n+l ) = S(x)(n + l) (3.180)
k=−∞
Das Signal wird verzögert bei l < oder beschleunigt bei l > . Die Phase bewirkt also
in diesem Fall eine Verschiebung des Signals um l Positionen. Ist andererseits ϕS (Ω k )/Ω k
zwar konstant, aber nicht mehr ganzzahlig,
ϕS (Ω k )
= λ ∈ R ∖ Z,
Ωk
dann kann sich natürlich keine echte Verschiebung des Signals selbst ergeben, aber weil das
Signal x durch Abtastung entsteht, weil also x(n) = x(nA) gilt, kann der Faktor λ dann
so interpretiert werden, dass S(x)(n) durch Interpolation entsteht. Setzt man nämlich λ =
m + ϑ, mit m ∈ Z und < ϑ < , dann erhält man die Interpolationsformel
∞
S(x)(n) = ∑ x k e iΩ k (n+λ) = x((n + λ)A) = x((n + m + ϑ)A) (3.181)
k=−∞
Auch hier liegt eine Verschiebung vor, aber es wird nicht das Signal x verschoben, sondern
die verschobene Funktion x wird abgetastet, und zwar zwischen x(n +m) und x(n +m +).
Es entsteht der Eindruck einer kontinuierlichen Verschiebung von x um ungefähr m Posi-
tionen. Falls x nicht durch Abtasten entsteht, sondern anderweitig gegeben ist, kann man
sich die Bildung von S(x)(n) als eine Extrapolation von x(n + m) vorstellen.
Die Einführung der folgenden mit einem LSI-System S assoziierten Verschiebungs-
funktion ΛS kommt nun sicher nicht als Überraschung:
ϕS (ω)
ΛS (ω) = − für ω ≠ (3.182)
ω
124 3 Grundlagen der digitalen Signalverarbeitung
−2.0 −1.5 −1.0 −0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0
Wegen des negativen Vorzeichens misst die Funktion die Verzögerung eines Signals. Für
ω = kann die Funktion durch einen Grenzprozess definiert werden, falls der Grenzwert
dort existiert:
ϕ (ω)
ΛS () = − lim S (3.183)
ω→ ω
Andernfalls bleibt ΛS () undefiniert.
Die bisherigen Überlegungen waren noch rein formal, es empfiehlt sich jedoch, die
Auswirkungen verschiedener Phasenantworten auf das Eingangssystem eines LSI-Systems
auch mit Beispielen zu demonstrieren. Dazu wird zunächst ein Signal w eingeführt, das
durch Abtasten des „Wellenzuges“
⎧
⎪
⎪ t − k − für k ≤ t < k +
w(t) = ⎨ k∈Z
⎪
⎩−t − k +
⎪ für k − ≤ t < k
erhalten wird. Abbildung 3.62 enthält einen kleinen Ausschnitt. Die Periode der Funktion
ist offenbar T = , die Basisfrequenz ist daher fw = .
Die nachfolgenden Berechnungen stützen sich auf die Gl. (3.178), es ist daher die
Fourier-Entwicklung von w zu bestimmen. Die Berechnungen werden zwar im Anhang
durchgeführt (siehe Abschn. A.1.2), doch sollten Leser, die mit komplexer Arithmetik
noch wenig vertraut sind, versuchen, die Entwicklung selbst zu berechnen. Das Ergebnis
der Berechnungen ist jedenfalls die Entwicklung
∞
w(t) = − ∑ cos((m − )πt) (3.184)
π m= (m − )
Durch Abtasten der Funktion w gelangt man zum assoziierten Signal w. Als Abtastrate
wird A = gewählt, das bedeutet 32 Abtastungen im Periodenintervall.
n
w(n) = w(nA) = w ( ) n∈Z
3.4 Die Bedeutung der Phase von LSI-Systemen 125
0, 4968
− − − −
0, 4968
̂
Abb. 3.63 Das approximative Signal w
∞ (m − )nπ
w(n) = − ∑ cos ( )
π m= (m − )
(3.185)
∞
=− ∑ cos(Ω m n)
π m= (m − )
Die Genauigkeit von ŵ kann auch mit der Lage der Nullstellen gemessen werden. Das
originale Signal w hat exakte Nullstellen bei n = ±(k − ), k = , , , . . .. Die nähere
Umgebung der Nullstelle n = − für ŵ ist
w̃(−) = ,
w̃(−) = −,−
w̃(−) = −,
w̃() = −,
w̃() = −,−
w̃() = ,
Die Nullstellen liegen nicht ganz genau auf einer Signalposition, was aber mit der Nähe-
rungsreihe auch gar nicht erreicht werden kann.
Aus der Reihenentwicklung für w(n) gewinnt man nun wie oben beschrieben eine Rei-
henentwicklung für S(w)(n):
∞
S(w)(n) = − ∑ γ (Ω m ) cos(Ω m n + ϕS (Ω m )) (3.186)
π m= (m − ) S
Tatsächlich ist damit eine Methode gegeben, ein LSI-System S über seinen Amplitudengang
und seinen Phasengang vorzugeben. Allerdings ist die Methode sehr unpraktisch, weil zur
Anwendung von S auf ein Signal x die Fourier-Entwicklung von x gegeben sein muss. Zur
Analyse von Systemen ist sie andererseits recht gut geeignet.
Es sei daran erinnert, dass γ S = angenommen wird. Die weiteren Untersuchungen
basieren daher auf der Reihenentwicklung
∞
S(w)(n) = − ∑ cos(Ω m n + ϕS (Ω m )) (3.187)
π m= (m − )
Zur Verschiebungsfunktion sei noch angemerkt, dass man bei kleinen Frequenzen ω ≈
sehr große Verschiebungen bekommen kann (wegen der Division durch eine kleine Zahl).
Bei periodischen Signalen ist die Verschiebung allerdings durch die Periode begrenzt. Hat
das Signal x nämlich die Periode Px , und ist l eine ganzzahlige Verschiebung, dann wird
nicht l selbst, sondern l ′ = l mod Px als Verschiebung wirksam. Denn aus l = kPx + r, mit
k ∈ Z und < r < Pw , folgt
Als erstes Beispiel zum Einfluss der Phase auf das Verhalten eines Systems wird der All-
pass A vom Anfang des Abschnittes auf das Testsignal w angewandt. Das Parameterinter-
vall ist zunächst I = {ω ∣ − π ≤ ω < π}. Die Reihenentwicklung (3.187) ergibt das Signal
3.4 Die Bedeutung der Phase von LSI-Systemen 127
0, 4675
− − − −
0, 4675
10
9 −Λ A (Ω1 ) = 29
8
1 Ω Ω Ω Ω Ω Ω
0
−π − π −π −π 0 π π
π π
−1
−2
A(w) in Abb. 3.64. Das Signal ist ein wenig verzerrt und um einige Positionen verschoben.
Eine gute Abschätzung der Größe der Verschiebung kann man so gewinnen, dass man ab-
schätzt, wie weit eine bestimmte Nullstelle verschoben wurde, beispielsweise die Nullstelle
w(). Diese Nullstelle liegt jetzt zwischen n = und n = , ein extrapolierter Wert ist
n = ,. Das Signal ist also ziemlich genau um 3 Positionen vorwärts verschoben wor-
den, d. h. um drei Positionen verzögert worden: Die Nullstelle, die w bei n = besitzt,
manifestiert sich für a = A(w) erst bei n = .
Genauere Informationen können an der Verschiebungsfunktion ΛA aus Abb. 3.65 ab-
gelesen werden. In das Bild sind auch die ersten fünf Frequenzen des Spektrums von w
eingezeichnet. Wegen ΛA (Ω ) = − ist die Grundfunktion von w um − mod Pw =
verschoben, d. h. um 3 Takte verzögert. Weil die Amplitude der zweiten Harmonischen
(mit der Frequenz Ω ) nur / der Amplitude der Grundfrequenz beträgt, also nur noch
wenig Einfluss auf das Gesamtsignal hat, kann man erwarten, dass das gesamte Signal w
128 3 Grundlagen der digitalen Signalverarbeitung
10
2
Ω Ω Ω Ω Ω
1
π π
π π π π π 2π
1
2
− − − −
− 21
̃
Abb. 3.67 Das Signal w
um etwa 3 Positionen (entspricht drei Abtastintervallen) verzögert ist. Das entspricht ganz
genau dem Ergebnis der direkten Berechnung von a mit (3.187).
Es wird jetzt das Parameterintervall I = {ω ∣ ≤ ω < π} zugrunde gelegt. Der Pha-
sengang ist dann wie in Abb. 3.61 gezeigt, er führt zur Verschiebungsfunktion in Abb. 3.66.
In der rechten Intervallhälfte sind die Verschiebungen klein, weshalb es sich empfiehlt, das
Spektrum von w in die rechte Hälfte von I zu transformieren, d. h. es wird zu den Fre-
quenzen Ω ̃ m = Ω m + π übergegangen. Die ersten fünf Frequenzen des Spektrums sind in
Abb. 3.66 mit ihren Verschiebungswerten eingetragen. Natürlich bedeutet der Übergang
von den Frequenzen Ω m zu den Frequenzen Ω ̃ m auch, dass von dem Signal w zu einem
verschobenen Signal w ̃ überzugehen ist: Der Addition von π zu den Frequenzen entspricht
eine Verschiebung des Signals um eine halbe Periode. Abb. 3.67 zeigt das transformierte
̃ ) = −,, aber eine Verschiebung dieser Größe ist hier nicht zu
̃ . Es ist ΛA (Ω
Signal w
erwarten, denn die Verschiebungen bei den nächsten Frequenzen des Spektrums haben
auch noch diese Größenordnung (z. B. ΛA (Ω ̃ ) = −,). Die Verschiebung bei Ω
̃ als
Schätzwert für die Verschiebung des ganzen Signals zu nehmen ist nur sinnvoll, wenn die-
3.4 Die Bedeutung der Phase von LSI-Systemen 129
0, 4776
− − − −
−0, 4776
se Verschiebung gegenüber den Verschiebungen des übrigen Spektrums dominant ist. Das
ist hier nicht der Fall, die genaue Gesamtverschiebung muss am Signal ̃ a = A(w̃ ) selbst
abgelesen werden, beispielsweise wieder durch eine Abschätzung, wie weit die Nullstel-
le w̃ () in ̃a verschoben ist. Wie Abb. 3.68 zeigt, liegt diese Nullstelle zwischen ̃
a() =
, und ̃ a() = −,, eine einfache Extrapolation erbringt den Schätzwert
n ≈ ,, also eine Verzögerung um 0,33 Positionen. Der Übergang vom Parameterintervall
I zum Intervall I und die Verschiebung des Spektrums haben also eine beträchtlich klei-
nere Gesamtverschiebung erbracht. Wie bei einem Vergleich von Abb. 3.64 mit Abb. 3.68
festgestellt werden kann, sind auch die Verzerrungen der Signalgestalt geringer. Sie sind
allerdings noch vorhanden, selbst bei einem solch glatten Verlauf des Polarwinkels wie in
Abb. 3.61.
Es bleibt noch zu überlegen, in welcher Einheit die Verschiebung ΛS (ω) zu messen ist.
Zwar heißt die Funktion ΘS (ω) die Antwort auf die „Frequenz“ ω, doch ist ω keine echte
Frequenz, sondern ein dimensionsloser Parameter, mit dem die speziellen Basissignale
durchlaufen werden. Auch ϕS (ω) ist, als Winkel, dimensionslos. Folglich besitzt auch die
Verschiebung keine Einheit, es ist eine reine Zahl. Andererseits hat diese Zahl nach (3.179)
eine Bedeutung: Es ist die Zahl der Indexpositionen, um die der Signalwert x(n) durch das
System verschoben wird. Man kann das als eine dimensionslose Einheit ähnlich wie die
Einheit rad ansehen, d. h. ΛS (ω) kann in der „Einheit“ Indexposition gemessen werden.
Wird das Signal durch Abtasten eines kontinuierlichen Signals gewonnen, dann entspricht
eine Verschiebung um eine Indexposition genau einem Abtastintervall, weshalb in diesem
Fall die Verschiebung in Anzahlen von Abtastintervallen (samples) gemessen wird. Digitale
Filter sind an sich unabhängig davon, wie das Signal entstanden ist, das sie beeinflussen. Es
ist also nicht sehr sinnvoll, bei einem allgemeinen abstrakten digitalen Filter der Verschie-
bung in einem Diagramm die Einheit samples zu geben.
130 3 Grundlagen der digitalen Signalverarbeitung
Die Bezeichnung Frequenzantwort für die Funktion ω ↦ ΘS (ω) ist noch vollkommen un-
motiviert. Nichts in dem bisherigen Aufbau aus Signalen und Systemen ist dazu geeignet,
in dem Parameter ω eine Frequenz zu erkennen. Denn ein periodischer Vorgang (eine
Welle, ein Signal) hat die Frequenz f , wenn er sich in einem festen Bezugsintervall f -mal
wiederholt. Weil das Bezugsintervall f Perioden des Vorgangs enthält, hat die Periode die
Länge f , gemessen mit der Einheit, mit welcher die Länge des Bezugsintervalls gemessen
wird.
Wird beispielsweise ≤ x ≤ π als Bezugsintervall mit der Einheit π gewählt, dann
wiederholt sich die Funktion x ↦ sin(x) in dem Intervall dreimal, die Frequenz ist daher
f = . Die Periode in der Einheit π ist π = π.
Der Parameter ω kann also im Rahmen des bisher Dargestellten mit keinem periodi-
schen Vorgang in Verbindung gebracht werden, dessen Frequenz er sein könnte. Die Fre-
quenzantwort ist zwar periodisch und hat, bezogen auf das Parameterintervall, die Fre-
quenz f = , aber diese Frequenz steht natürlich in keiner Relation zu den Elementen ω
des Parameterintervalles. Auch ist das Signal n ↦ cos(nΩ) keineswegs periodisch mit der
Periode Ω. Abbildung 3.69 zeigt beispielsweise einen Teil des Signals n ↦ cos (n π), das
offenbar die Periode p = besitzt. Legt man daher ≤ n ≤ als Bezugsintervall fest, dann
ist die Frequenz f = . Das Signal n ↦ cos(nΩ) ist nicht einmal für alle Ω periodisch.
Denn für eine ganzzahlige p Periode muss12
= e i pΩ = cos(pΩ) + i sin(pΩ)
Daraus folgt cos(pΩ) = und sin(pΩ) = . Das ist nur möglich für pΩ = kπ und pΩ = kπ
mit ganzem k, d. h. es muss pΩ = kπ gelten. Mit Ω = aπ ergibt das p = ka . Es gibt nur
für rationales a ein ganzes k, mit dem p eine ganze Zahl wird, d. h. nur für rationales a ist
n ↦ e inΩ überhaupt periodisch. Ist a allerdings eine rationale Zahl, dann kann leicht eine
Periode gefunden werden. Im Beispiel ist a = und daher wie schon vom Bild abgelesen
p = .
Die Bedeutung eines Parameters ω als Frequenz eines periodischen Vorgangs muss al-
so außerhalb der abstrakten Signale und Systeme gesucht werden. Sie ergibt sich aus der
Art und Weise, wie die meisten (wenn auch nicht alle) Signale entstehen, nämlich durch
das Abtasten eines kontinuierlichen Signals der realen (physikalischen) Welt. In diesem
Zusammenhang ist der Begriff des Spektrums sehr wichtig und wird deshalb zunächst vor-
gestellt, aber natürlich nicht auf mathematisch-rigorose Weise (Distributionen z. B. liegen
außerhalb der Reichweite des Buches).
12
Wie üblich wird für Rechnungen zu den Exponentialfunktionen übergegangen.
3.5 Frequenzen und Abtasten 131
− − − −
Der Bedeutung dieser Transformation kann man sich über den Spezialfall einer periodi-
schen Funktion x nähern. Eine solche Funktion besitzt unter gewissen Bedingungen (die
hier beiseite gelassen werden können) eine Reihenentwicklung in trigonometrische Funk-
tionen, die Fourier-Entwicklung, oder äquivalent dazu in komplexe Exponentiale:
∞
˜
x(t) = ∑ xn e iπn f t (3.189)
n=−∞
Darin ist f˜ die Grund- oder Basisfrequenz, die sich aus der Periode T ̃ als f˜ = ableitet. Der
̃
T
Funktionswert x(t) ist also eine Summe von komplexen Exponentialen (und damit implizit
von trigonometrischen Funktionen) mit den Frequenzen f n = n f˜, und die komplexen Rei-
henkoeffizienten xn geben an, wie stark der Anteil der Frequenz f n an der Gesamtsumme
ist. Die Folge der xn heißt das Spektrum der Funktion x.
Die komplexe Gestalt des Spektrums ist in der Anwendung weitaus praktischer als die
trigonometrische. Sie hat nichts mysteriöses an sich, es werden nur die beiden Grundfunk-
tionen ϑ ↦ sin(ϑ) und ϑ ↦ cos(ϑ) gegen die beiden Grundfunktionen ϑ ↦ e iϑ und ϑ ↦
e −i ϑ ausgetauscht. Die Paare hängen bekanntermaßen wie folgt zusammen: i sin(ϑ) =
e i ϑ − e −i ϑ und cos(ϑ) = e i ϑ + e −i ϑ . Eine Folge ist allerdings, dass in der komplexen Sicht-
weise statt mit der einen nicht negativen reellen Frequenz f mit dem Frequenzenpaar f
und − f gearbeitet wird.
Der Zusammenhang zwischen der Fourier-Transformierten und der Fourier-Entwick-
lung ist nun sehr einfach:
xn = F(x)( f n )
̃
T
132 3 Grundlagen der digitalen Signalverarbeitung
f ↦ F(x)( f ) (3.190)
Amplitude genannt, ist der Anteil der Frequenz f am Spektrum von x. Die Begriffsbil-
dung ähnelt also derjenigen bei der Frequenzantwort oder der DFT. Üblicherweise geht
man zur Darstellung des Spektrums zu Polarkoordinaten über. Es ist jedoch zu beachten,
dass es beim Spektrum keine Periodizität gibt, die Kurve des Spektrums nähert sich für
große ∣ f ∣ dem Nullpunkt der komplexen Ebene. Für symmetrische x, d. h. x(−t) = x(t), ist
F(x) eine reelle und für schiefsymmetrische x, d. h. x(−t) = −x(t), eine rein imaginäre
Funktion.
Als erstes Beispiel wird das Spektrum der (verallgemeinerten) reellen Exponentialfunk-
tion vorgestellt, und zwar sei die Funktion u mit positiven reellen Konstanten p und q wie
folgt definiert:
⎧
⎪
⎪ pe −qt für t ≥
u(t) = ⎨
⎪
⎪ für <
⎩
Die Funktion (siehe Abb. 3.70) ist vollkommen unsymmetrisch und ihre Fourier-Transfor-
mierte daher eine echt komplexe Funktion. Die Berechnung des Integrals (3.188) ist für die
Funktion u wirklich sehr einfach (trotz der Integration über die gesamte reelle Achse) und
kann dem Leser als kleine Fingerübung überlassen werden. Diese Fingerübung ergibt die
folgende Funktion:
pq π f p
F(u)( f ) = −i = xu ( f ) + i y u ( f ) (3.192)
q + (π f ) q + (π f )
Sie ist in ihren reellen Teil xu und imaginären Teil yu zerlegt, so kann man sich schnell einen
p
Überblick über ihren Verlauf machen. Das Maximum q des Realteils wird offensichtlich
für f = angenommen. Ein bisschen Rechnung zeigt, dass der Imaginärteil ein Minumum
p q p q
− q bei f = − π und ein Maximum q bei f = π einnimmt. Es gilt auch noch
d. h. die Kurve liegt ganz in einem Rechteck der komplexen Ebene. Man kann sich auch die
Mühe machen und in (3.192) die Frequenz f eliminieren, um auf die folgende Gleichung
in cartesischen Koordinaten zu kommen:
qy − px + qx =
3.5 Frequenzen und Abtasten 133
2.0
1.8
1.6
1.4
1.2
1.0
0.8
0.6
0.4
0.2
2.0 1.6 1.2 0.8 0.4 0.0 0.4 0.8 1.2 1.6 2.0
Das ist die Scheitelgleichung einer Ellipse, d. h. einer Ellipse, deren Mittelpunkt auf der
reellen Achse liegt, und welche die imaginäre Achse als Tangente hat. Der Teil der Kurve,
welcher mit dem Frequenzbereich − ≤ f ≤ durchlaufen wird, ist in Abb. 3.71 gezeigt.
Weil nicht der gesamte Frequenzbereich durchlaufen wird, ist natürlich nicht die ganze
Ellipse zu sehen.
Bei dieser einfachen Fourier-Transformierten fällt es nicht schwer, sich ein Bild von der
Amplitude ∣F(u)∣ zu machen. Es ist die Länge des Vektors, der jeden Kurvenpunkt mit
dem Mittelpunkt des Koordinatensystems (d. h. mit dem Nullpunkt der komplexen Ebe-
ne) verbindet. Die Amplitude ist in Abb. 3.72 gezeigt. Es erfordert allerdings auch keine
besonderen Rechentechniken, um eine direkte Formel für die Amplitude abzuleiten:
√
p
∣F (u)( f )∣ =
q + (π f )
−1 1
f >0
i
134 3 Grundlagen der digitalen Signalverarbeitung
0.7
0.6
0.5
0.4
0.3
0.2
0.1
2.0 1.6 1.2 0.8 0.4 0.0 0.4 0.8 1.2 1.6 2.0
eckfunktion r:
⎧
⎪
⎪
⎪ a für ∣t∣ < T
⎪
⎪a
r(t) = ⎨ für t ∈ {−T, T}
⎪
⎪
⎪
⎪
⎪ für ∣t∣ > T
⎩
Darin ist a eine beliebige und T eine positive reelle Konstante. Der seltsame Funktionswert
an den Ecken des Rechtecks sorgt für einfache Formeln. Die Rechteckfunktion r und ihre
Fourier-Transformierte sind in Abb. 3.73 gegenübergestellt. Bemerkenswert daran ist, dass
die Vielfachen der zur Rechteckbreite T gehörigen Frequenz fˆ = T keinen Anteil am
Spektrum haben. Man beachte, dass im Bild das Spektrum und nicht die Amplitude zu
sehen ist. Man gewinnt die Amplitude aus dem Spektrum natürlich durch Umklappen der
negativen Teile nach oben.
Die Formel für die Fourier-Transformierte des Rechtecks enthält die Funktion sin(z) z
,
die Teil vieler Formeln ist, die Spektren darstellen, und die überhaupt in DSP oft zu sehen
ist:
sin(π f T)
F(r)( f ) = aT (3.193)
π f T
Das letzte Beispiel für eine Fourier-Transformation ist das symmetrische Dreieck d. Sei-
ne Fourier-Transformierte hängt auf kuriose Weise mit der des Rechtecks zusammen. Aber
zunächst die Definition des Dreiecks:
⎧
⎪ a
⎪
⎪ t + a für − T ≤ t ≤
⎪ T
⎪ a
d(t) = ⎨− T t + a für < t ≤ T
⎪
⎪
⎪
⎪
⎪ für ∣t∣ > T
⎩
Die Dreiecksfunktion ist links in Abb. 3.74 zu sehen, das rechts die Fourier-Transformierte
des Dreiecks enthält. Die Fourier-Transformierte des Dreiecks und die des Rechtecks haben
eine gewisse Ähnlichkeit, wie ein Vergleich von Abb. 3.74 und Abb. 3.73 zeigt. Das ist kein
Zufall:
sin(π f T)
F(d)( f ) = (aT ) = F(r)( f ) (3.194)
π f T
3.5 Frequenzen und Abtasten 135
2aT
−T T
6 5 4 3 2 1 1 2 3 4 5 6
2T 2T 2T 2T 2T 2T 2T 2T 2T 2T 2T 2T
(2aT )2
a2
−2T 2T 4 3 2 1 1 2 3 4
2T 2T 2T 2T 2T 2T 2T 2T
Die Fourier-Transformierte des Dreiecks ist also das Quadrat der Fourier-Transformierten
des Rechtecks.13 Offenbar ist hier F (d) als nichtnegative Funktion auch die Amplitude des
Rechtecks. Die scharfe Spitze des Dreiecks findet ihr Abbild im Spektrum, in dem die Fre-
quenzen zwischen − fˆ und fˆ sehr viel stärker dominieren als beim Spektrum des Rechtecks,
das Spektrum ist praktisch bandbegrenzt.
Der etwas weiter oben gemachte Versuch, das Spektrum einer Funktion x mit dem Spek-
trum einer periodischen Funktion x zu motivieren überzeugt nicht recht. Eine weit bessere
Motivation gelingt mit Hilfe der Umkehrung der Fourier-Transformation, die es gestattet,
eine Funktion aus ihrem Spektrum zurückzugewinnen:
13
Die Parameter der Funktionen sind natürlich so gewählt worden, dass sich diese einfache Relation
einstellt.
136 3 Grundlagen der digitalen Signalverarbeitung
x x̂ x x
100
011
010
001
t 0 1T 2T 3T 0 1 2 3 0 1 2 3
Die Analogie zum Spektrum der klassischen Physik ist hier offensichtlich. Wie ein Prisma
aus geschliffenem Glas einen Lichtstrahl in seine Farbkomponenten zerlegt, so zerlegt die
umgekehrte Fourier-Transformation F − eine Funktion x in ihre Frequenzkomponenten,
wobei die „Intensität“ der Komponente mit der Frequenz f durch F(x)( f ) gegeben ist.
So viel zum Spektrum einer reellen Funktion x. Im Rest des Abschnittes geht es nun
darum, aus solch einer Funktion ein Signal x zu formen. Der technische Aspekt dieser
Umformung wird hier allerdings nicht behandelt, das geschieht erst in Kap. 5, in welchem
digitale Filter in AVR-Code umgesetzt werden.
Der erste Schritt ist eine Diskretisierung, er besteht darin, nur noch Funktionswerte
von x von Argumenten t zu betrachten, die einen festen Abstand T ̂ voneinander haben,
̂
man erhält so die Funktion x:
⎧
⎪ ̂ n∈Z
⎪x(t) falls t = n T,
̂
x(t) = ⎨ (3.196)
⎪
⎪
⎩ andernfalls
rechnen. Der Verfahrenstrick besteht im Wesentlichen darin, die Abtastung formal als eine
Reihe von Einheitsimpulsen darzustellen und das kontinuierliche Signal x damit zu falten.
Das Problem ist jedoch, dass im Kontinuierlichen die Einheitsimpulse von Distributionen
„verkörpert“ werden und das korrekte Operieren mit Distributionen einen beträchtlichen
mathematischen Apparat voraussetzt.14 Welchen Effekt die Faltung eines diskreten Signals
mit einer Reihe von Einheitsimpulsen hat, kann der Leser in Abschn. 3.1.4 studieren.15 Es
kann daher nur das Ergebnis angegeben werden:
∞ ω π ∞
F(x)(ω) = ∑ F (x)( − ν ) = ∑ F(x)( f − ν fˆ) (3.198)
̂ ν=−∞
T ̂
T T̂ ̂ ν=−∞
T
Darin sind also die kontinuierliche Frequenz f und die Abtastfrequenz fˆ gegeben durch
−
f = ωT̂ und fˆ = π
T̂ jeweils mit der Einheit [rad × sec ]. Die Gleichung ist nicht schwer zu
lesen: Das kontinuierliche Spektrum wird um fˆ, fˆ, fˆ usw. verschoben und das Spektrum
selbst und die durch die Verschiebungen entstandenen Spektren werden aufsummiert.
Das diskrete Spektrum muss eine periodische Funktion sein mit der Periode π. Das zu
bestätigen ist ein einfacher Test der Korrektheit der Gl. (3.198):
∞ ω + π π
F(x)(ω + π) = ∑ F (x)( −ν )
̂
T ν=−∞ ̂
T T̂
∞ ω π
= ∑ F (x)( − (ν − ) ) = F(x)(ω)
̂ ν=−∞
T ̂
T T̂
Die Frage, ob das kontinuierliche Signal aus dem abgetasteten diskreten Signal zurück-
gewonnen werden kann, lässt sich nun so beantworten: Enthält das diskrete Spektrum das
kontinuierliche als Teilspektrum, dann kann das kontinuierliche Signal mit der inversen
Fourier-Transformation (3.195) zurückgewonnen werden.
Daraus folgt sofort, dass Signale mit Spektren wie in Abb. 3.73 oder in Abb. 3.74 nicht
zurückgewonnen werden können. Diese Spektren haben keinen endlichen Träger, die
verschobenen Spektren in (3.198) überlappen sich daher und nach den Additionen ist
das kontinuierliche Spektrum im diskreten sicherlich nicht als Teilspektrum enthalten.
Eine notwendige Bedingung ist also, dass das kontinuierliche Spektrum einen endlichen
Träger besitzt. Das ist der Fall, wenn das Spektrum außerhalb eines endlichen Interval-
les verschwindet, was sich wegen der Symmetrie des Spektrums wie folgt ausdrücken
lässt:
F(x)( f ) = für ∣ f ∣ > f B (3.199)
Das kontinuierliche Signal x muss also bandbegrenzt sein. Abbildung 3.76 zeigt ein ein-
faches bandbegrenztes Spektrum F(x). Es gibt keine Bedingungen für das Verhalten des
14
Distributionen sind Funktionale auf einem geeignet gewählten Funktionsraum.
15
Der Überlappung von Spektren hier entspricht die Überlappung von Signalen dort.
138 3 Grundlagen der digitalen Signalverarbeitung
fB 0 fB
erfüllt ist. Ganz entsprechend kann für negatives ν argumentiert werden. Das Signal x kann
also aus dem Signal x rekonstruiert werden, wenn die Abtastfrequenz fˆ mindestens dop-
pelt so groß ist wie die Grenzfrequenz f B des Frequenzbandes von x. Mathematisch kann
in (3.195) über das Frequenzband integriert werden, technisch-praktisch können die Teil-
spektren von x mit einem Bandpass herausgefiltert und das gefilterte Signal in einen DAC
gegeben werden.
Welches Ergebnis der Fall fˆ ≤ f B bringt ist in Abb. 3.78 gezeigt. Die Teilspektren
überlagern sich und in der Reihe (3.198) wird echt summiert.16 Das führt dazu, dass das
ursprüngliche kontinuierliche Spektrum als solches nicht mehr im diskreten Spektrum
enthalten ist und das kontinuierliche Signal nicht mehr mit (3.195) oder technisch mit
Filterung und DAC rekonstruiert werden kann.
Allerdings ist die Bedingung fˆ > f B zwar hinreichend, sie ist aber nicht notwendig, d. h.
es gibt kontinuierliche Spektren, die es gestatten, ein kontinuierliches Signal auch dann
aus dem diskreten Signal zurückzugewinnen, wenn tatsächlich die Bedingung fˆ > f B
nicht erfüllt ist. Dazu betrachte man das kontinuierliche Spektrum in Abb. 3.79 oben. Das
Spektrum ist bandbegrenzt mit f B = Hz. Es soll F (x)( f B ) = gelten. Wird das Spektrum
um Vielfache von fˆ = Hz verschoben, so überlappen sich die Teilspektren nur dort, wo
sie verschwinden, d. h. bei der Bildung der Reihe (3.198) verschwindet das ursprüngliche
16
Der Sonderfall F (x)( f B ) = bei fˆ = f B natürlich ausgenommen.
3.5 Frequenzen und Abtasten 139
1
T
−fˆ −f 0 f fˆ 2fˆ
fˆ f fˆ + f
1
T
kontinuierliche Spektrum nicht, obwohl fˆ = f B gilt, die Bedingung fˆ > f B also nicht erfüllt
ist. Ein einfacher Bandpass ist zum Herausfiltern des ursprünglichen Spektrums allerdings
nicht mehr geeignet.
In den Abb. 3.77 und 3.78 werden zwar kontinuierliche Frequenzen benutzt, es sind
jedoch diskrete Spektren, folglich sind die Frequenzen in Wirklichkeit natürlich Kreisfre-
quenzen:
ω ˆ π f
f = f = /⇒ ω = π (3.200)
̂
T T̂ fˆ
Wählt man die Abtastfrequenz fˆ so, dass die Rekonstruktion des kontinuierlichen Signals
möglich ist, also fˆ > f B , dann wird das Frequenzband − f B ≤ f ≤ f B wegen (3.200) auf das
Parameterintervall −π < ω < π der Frequenzantwort abgebildet.
Ist beispielsweise f B = Hz und fˆ = Hz, wo erscheint dann im Parameterintervall
das Frequenzband Hz ≤ f ≤ Hz? Die Antwort:
π π
≤ f ≤ /⇒ ≤ω≤ /⇒ π≤ω≤ π
ˆf fˆ
Manchmal ist es günstiger, ein anderes Parameterintervall zu verwenden, dann muss eine
passende Parametertransformation durchgeführt werden. Für das Parameterintervall ≤
Ω < π ist das die Transformation Ω = ω + π. Das Frequenzband Hz ≤ f ≤ Hz geht
140 3 Grundlagen der digitalen Signalverarbeitung
ν=0
ν=1
ν=2
ν=3
−2 −1 0 1 2 3 4 5 6 7 8
Hz
damit über in
π≤Ω≤ π
Das folgende Beispiel verdeutlicht den Zusammenhang zwischen den Frequenzen f des
kontinuierlichen Spektrums eines kontinuierlichen Signals x und den Kreisfrequenzen ω
des diskreten Spektrums des abgetasteten Signals x. Und zwar sei das Spektrum von x
bandbegrenzt mit f B = kHz und die Abtastfrequenz sei fˆ = kHz. Die Abtastung
beginnt bei x(), d. h. es ist x(n) = für n < . Eine Approximation der diskreten Fourier-
Transformierten von x kann dann mit N Signalwerten berechnet werden als
N−
ν
F (x)(ω ν ) ≈ ∑ x(n)e −i nω ν ω ν = π
n= N
Die Frage ist nun: Welche kontinuierliche Frequenz f ν im Spektrum von x wird von der
Kreisfrequenz ω ν repräsentiert?
Der Zusammenhang zwischen beiden Frequenzen ist durch ω ν = f ν T ̂ gegeben. Die
̂
Abtastrate T kann über die bekannte Abtastfrequenz berechnet werden:
̂ = π = π
T
fˆ .
ων .
fν = =ν
̂
T N
Für N = ergibt das f ν = ν. Damit steht ω für die Frequenz f = Hz, ω für
die Frequenz f = Hz, usw. Allerdings erhält man mit dem „usw“ für ν ≥ eine Fre-
quenz f ν ≥ ., und diese Frequenzen sind im Spektrum von x gar nicht enthalten. Hier
ist zu berücksichtigen, dass die DFT periodisch ist mit der Periode π, und das gilt offen-
sichtlich auch für die hier berechnete Approximation. Beispielsweise erhält man dieselbe
3.6 Die Konstruktion von LSI-Systemen über Fourier-Entwicklungen 141
Jedes Signal d kann zum Aufbau eines Systems Sd herangezogen werden, indem d als die
Einheitsimpulsantwort des Systems verwendet wird. Das System ist dann mit Hilfe des Fal-
tungsoperators berechenbar:
∞
Sd (x)(n) = (d ∗ x) (n) = ∑ d(ν)x(n − ν)
ν=−∞
= C(ω) − iS(ω)
Ist d ein reelles Signal, dann sind C und S reelle Funktionen. Der Amplitudengang ergibt
sich mit den beiden Funktionen wie folgt:
√
γ Sd (ω) = C(ω) + S(ω)
17
Zur Definition und Bedeutung von Φ siehe Kap. 2.
142 3 Grundlagen der digitalen Signalverarbeitung
Kann man also die Funktionen, gegen die ein Paar trigonometrischer Reihen konvergiert,
formelmäßig darstellen, dann ist damit ein LSI-System gegeben, dessen Eigenschaften re-
lativ leicht ermittelt werden können.18 Dazu nun einige Beispiele.
Beispiel 1: Die einfache Summe Die trigonometrischen Reihen sind einfache endliche
Summen:
m sin ((m + ) ω ) cos (m ω )
C (ω) = ∑ cos(νω) =
ν= sin ( ω )
m sin ((m + ) ω ) sin (m ω )
S (ω) = ∑ sin(νω) =
ν= sin ( ω )
Wie so oft sind diese auf den ersten Blick etwas kompliziert erscheinenden trigonometri-
schen Ausdrücke leicht zu behandeln. Die Frequenzantwort ist
sin ((m + ) ω ) ω ω
ΘS (ω) = (cos ( ) − i sin ( )) ,
sin ( ω )
woran sich wegen cos + sin = der Amplitudengang direkt ablesen lässt:
EE sin ((m + ) ω ) EE
EE EEE
γ S (ω) = EEEE EEE
EE sin ( )
ω
EE
E E
Er ist in Abb. 3.80 dargestellt. Wie das Bild zeigt, handelt es sich um einen einfachen
Tiefpass. Wie der Amplitudengang, so lässt sich auch der Phasengang direkt von der
Frequenzantwort ablesen. Sein Verlauf ist keine Überraschung, er wird für Einheitsim-
pulsantworten dieses Typs in Abschn. 4.7 allgemein abgeleitet:
⎛ sin ( m ω) ⎞ m m
ϕS (ω) = arctan − = arctan (− tan ( ω)) = − ω
⎝ cos ( m ω) ⎠
Der Phasengang ist zwar eine lineare Funktion, aber ihre Steigung m ist für ungerade m
nicht ganzzahlig. Solche Phasengänge werden in Abschn. 3.4 näher betrachtet.
18
Solche formelmäßigen Darstellungen von trigonometrischen Reihen findet man z. B. in [Grad].
3.6 Die Konstruktion von LSI-Systemen über Fourier-Entwicklungen 143
0
π π π π π π π π
π
⎧
⎪
⎪
falls ≤ n
ΔS (n) = ⎨ n
⎪
⎪ falls n <
⎩
∞
S (x)(n) = ∑ x(n − ν)
ν= ν
ΘS (ω) = (ln(( − cos(ω))) − i(π − ω))
√
γS (ω) = ln(( − cos(ω))) + (π − ω)
Nach Abb. 3.81 ist auch das zweite System ein Tiefpass, allerdings mit für kleine Frequenzen
ins Unendliche wachsender Verstärkung. Das System ist deshalb natürlich völlig praxisun-
tauglich. Was passiert aber, wenn zur Systembildung zu den nahe verwandten folgenden
144 3 Grundlagen der digitalen Signalverarbeitung
0
π π π π π π π π
π
trigonometrischen Reihen übergegangen wird, bei welchen die Koeffizienten mit wechseln-
den Vorzeichen versehen werden?
∞
ω
C ′ (ω) = ∑(−)ν cos(νω) =
ν= ν
∞
ω
S ′ (ω) = ∑(−)ν sin(νω) = ln ( cos ( ))
ν= ν
Diese Frage lässt sich ganz allgemein beantworten. Es sei ΔA die Einheitsimpulsantwort
eines LSI-Systems A. Die Einheitsimpulsantwort des Systems A′ sei gegeben durch
Wie hängen die Frequenzantworten der beiden Systeme zusammen? Die Antwort gibt fol-
gende Rechnung:
∞
ΘA′ (ω) = ∑ ΔA′ (ν)e −iνω
ν=−∞
∞
= ∑ (−)ν ΔA (ν)e −iνω
ν=−∞
∞
= ∑ ΔA (ν)e −iνω e iνπ wegen (−)ν = cos(νπ) = e iνπ
ν=−∞
∞
= ∑ ΔA (ν)e −iν(ω−π)
ν=−∞
= ΘA (ω − π)
= ΘA (π − ω) ΘA reell angenommen
3.6 Die Konstruktion von LSI-Systemen über Fourier-Entwicklungen 145
0
π π π π π π π π
π
Das lässt sich am Beispiel natürlich auch direkt verifizieren, es ist nämlich
C ′ (π − ω) = C (ω) S ′ (π − ω) = S (ω)
Die Aussage über S ′ und S ist allerdings nicht unmittelbar einsichtig. Man kommt aber
durch den Einsatz der Formel für den doppelten Cosinuswinkel
x
cos(x) = cos ( ) −
ω
ln ( cos ( )) = ln(( + cos(ω)))
Beispiel 3: Die Entwicklungskoeffizienten als geometrische Folge Lässt man die Koeffi-
zienten der trigonometrischen Reihen eine geometrische Folge bilden, besteht etwas Grund
146 3 Grundlagen der digitalen Signalverarbeitung
zur Hoffnung, ein brauchbares System zu erhalten. Man erhält auch einen nützlichen Pa-
rameter p, − < p < , für Zwecke der Justierung:
∞
− p cos(ω)
C (ω) = ∑ pν cos(νω) = (3.202)
ν= − p cos(ω) + p
∞
p sin(ω)
S (ω) = ∑ pν sin(νω) = (3.203)
ν= − p cos(ω) + p
⎧
⎪ ∞
⎪ pn falls ≤ n
ΔS (n) = ⎨ oder ΔS (n) = p n u(n) S (x)(n) = ∑ pν x(n − ν)
⎪
⎪ falls n <
⎩ ν=
− p cos(ω) − i p sin(ω)
ΘS (ω) =
− p cos(ω) + p
Für einige spezielle Frequenzen sind die Funktionswerte schnell berechnet. Z. B. gilt an den
Ecken des Frequenzbereiches
γ S () = und γS (π) = ,
− p + p
weshalb ein Tiefpass vorzuliegen scheint, denn es ist limp→ γ S()=∞ und lim p→ γS(π)=
. Das ist auch tatsächlich der Fall, denn eine etwas längere aber ganz elementare Rechnung
zeigt, dass γ S eine monoton absteigende Funktion ist. Abbildung 3.83 zeigt die Funktion
für zwei Werte des Parameters p. Der Parameter bestimmt die Steilheit des Filters bei klei-
nen Frequenzen: Je näher p der Eins ist, desto steiler das Filter.
Das System S kann natürlich nicht als unendliche Reihe eingesetzt werden, die Reihe
muss an geeigneter Stelle abgebrochen werden. Damit ändern sich auch die Frequenzant-
wort und die Gänge. Glücklicherweise enthält [Grad] arithmetische Ausdrücke für die
Werte der abgebrochenen Reihen:
m−
− p cos(ω) − p m cos(mω) + p m+ cos((m − )ω)
C m (ω) = ∑ pν cos(νω) = (3.204)
ν= − p cos(ω) + p
m−
p sin(ω) − p m sin(mω) + p m+ sin((m − )ω)
S m (ω) = ∑ pν sin(νω) = (3.205)
ν= − p cos(ω) + p
3.6 Die Konstruktion von LSI-Systemen über Fourier-Entwicklungen 147
11
10
9
8
7
6
5
4
3
2
1
0
π π π π π π π π
π
⎧
⎪
⎪ pn falls ≤ n ≤ m − m−
ΔSm (n) = ⎨ Sm (x)(n) = ∑ pν x(n − ν)
⎪
⎪ falls n <
⎩ ν=
Die Frequenzantwort, der Amplitudengang und der Phasengang können wie am Anfang
des Abschnitts angegeben mit C m und S m berechnet werden. Die Kurve, welche die Fre-
quenzantwort als Ergebnis der Rechnung durchläuft, ist in Abb. 3.84 gezeigt. Die Kurve
beginnt in der positiven reellen Achse (bei etwa x = ,), bildet eine halbe Schleife
im vierten Quadranten und vervollständigt die Schleife im ersten Quadranten. Danach
werden einige immer größer werdende Schleifen im vierten Quadranten durchlaufen, bis
schließlich bei ω = der Übergang vom vierten in den ersten Quadranten erfolgt. Die zwei-
te Hälfte der Kurve ist klappsymmetrisch zur ersten Hälfte, was natürlich die graphische
Entsprechung von ΘS (−ω) = ΘS (ω) ist: der Übergang von i zu −i bedeutet eine Drehung
um ○ . An der Kurve lässt sich auch der Verlauf des Polarwinkels ablesen. Die Punkte der
kleinen halben Schleife im vierten Quadranten am Anfang der Kurve besitzen einen Polar-
winkel nahe bei π, und die folgende Vervollständigung der Schleife im ersten Quadranten
bedeutet einen Polarwinkel nahe bei Null mit je einem Sprung der Höhe π bei der Über-
querung der positiven reellen Achse. Nach dem Ausflug in den ersten Quadranten steigt
der Polarwinkel bis zum Erreichen von π bei ω = wellenartig an. Die Überquerung der
positiven reellen Achse bei ω = ergibt wieder einen Sprung des Winkels von π auf Null.
Offensichtlich gilt φ(ω) = π − φ(−ω) für ≤ ω < π (siehe z. B. Abb. 2.2 rechts unten). Ab-
bildung 3.85 zeigt den berechneten Polarwinkel für die zweite Hälfte der Kurve, der genau
dem an Abb. 3.84 abgelesenen Verlauf entspricht.
148 3 Grundlagen der digitalen Signalverarbeitung
3i 0≤ω<π
2i
−1 1 2 3 4 5 6 7
−i
−2i
−3i −π ≤ ω < 0
−4i
2π
π π π π π π π π π
π
Die Betrachtung der von der Frequenzantwort durchlaufenen Kurve selbst statt nur der
von Amplituden- und Phasengang geht mit einigen Vorzügen einher. Besonders einfach zu
erkennen und zu deuten sind die Überquerungen der positiven reellen Achse, man erhält
so einen guten Test, ob die Berechnung des Phasenganges das korrekte Ergebnis gebracht
hat. Unstetigkeitsstellen sind besonders anfällig für Fehlrechnungen, hier kann ein durch
Auslöschung oder Rundung hervorgerufener numerischer Fehler beispielsweise zu einem
3.6 Die Konstruktion von LSI-Systemen über Fourier-Entwicklungen 149
0
π π π π π π π π
π
verfrühten oder verspäteten Sprung führen. Mögliche Stellen der Auslöschung sind bei den
zur Rechnung zu verwendenden Formeln durch bloße Inspektion meist nicht mehr zu er-
kennen.
Der Amplitudengang ist in Abb. 3.86 zu sehen. Die Welligkeit ist klar ersichtlich, auch
hat die Steilheit des Filters gelitten. Die Welligkeit kann allerdings mit einem größeren
Abbruchindex m vermindert werden, und die Steilheit lässt sich mit einem größeren Pa-
rameter p verbessern. Übrigens kann man den Verlauf der Amplitude, also den Betrag der
komplexen Zahlen der von der Frequenzantwort erzeugten Kurve ganz so an Abb. 3.84
ablesen wie den Verlauf des Polarwinkels, z. B. mit der Hilfe eines Lineals, das man beim
ersten Teilstrich am Nullpunkt der komplexen Ebene fixiert und mit dem man den Polar-
vektor imitierend dem Verlauf der Kurve folgt.
m−
sin(mω) m cos ((m − ) ω )
S m (ω) = ∑ μ cos(μω) = −
μ= sin ( ω )
sin ( ω )
⎧
⎪
⎪n falls ≤ n ≤ m − m−
Δ (n) = ⎨
Sm Sm (x)(n) = ∑ μx(n − μ)
⎪
⎪ falls n < oder m − < n
⎩ μ=
Es wird nur über vergangene Signalwerte summiert, d. h. x(n) ist an der Bildung von
Sm (x)(n) gar nicht beteiligt, und je weiter ein Signalwert zurückliegt, desto stärker ist
sein Anteil an Sm (x)(n). Nach Abb. 3.87 ist dabei ein Tiefpass herausgekommen.
150 3 Grundlagen der digitalen Signalverarbeitung
45
40
35
30
25
20
15
10
π π π π π π π π π
π
3.7.1 Vorbereitungen
Es sei eine Folge c ∶ Z → C, ν ↦ c ν von komplexen Zahlen gegeben, die man sich wie folgt
veranschaulichen kann:
. . . , c− , c− , c− , c , c , c , c , . . .
Wie schon seit langer Zeit bekannt, konvergiert die Potenzreihe, die wie folgt aus den Fol-
geelementen mit nicht positiven Indizes gebildet wird,
∞
−ν
∑ c ν z = ∑ c−ν z = c + c− z + c− z + c− z + ⋯
ν
ν=−∞ ν=
im Inneren eines Kreises {z ∈ C ∣ ∣z∣ < R}. Darin ist R eine nicht negative reelle Zahl
oder R = ∞. Die Reihe kann auf dem ganzen Rand des Kreises konvergieren oder nur auf
einer seiner Teilmengen, ∅ eingeschlossen. Die Extreme sind R = , dann konvergiert die
Reihe möglicherweise nur im Nullpunkt, und R = ∞, dann konvergiert die Reihe für jede
komplexe Zahl z.
Bildet man die analoge Reihe aus den Folgeelementen mit positiven Indizes, so erhält
man ebenfalls eine Potenzreihe, allerdings nicht in z, sondern in z :
∞ ∞
−ν
∑ cν z = ∑ cν
ν= ν= zν
Diese Reihe konvergiert also im Äußeren eines Kreises {z ∈ C ∣ ∣z∣ > r}. Die Extremwerte
sind hier r = , dann konvergiert die Reihe für jede komplexe Zahl z ≠ , und r = ∞, dann
konvergiert die Reihe nirgendwo, der Konvergenzbereich ist ∅.
3.7 Die z-Transformation 151
r R
Beide Reihen können nun additiv kombiniert werden, dazu fasst man die Reihen in
einem Symbol zusammen:
∞ ∞
−ν −ν −ν
∑ cν z = ∑ cν z + ∑ cν z (3.206)
ν=−∞ ν=−∞ ν=
Die so gebildete Reihe konvergiert natürlich genau dann, wenn beide Teilreihen konver-
gieren. Die Reihe konvergiert deshalb im Inneren eines Kreisringes {z ∈ C ∣ r < ∣z∣ < R},
der in Abb. 3.88 skizziert ist. Die Reihe kann auf dem gesamten Rand des Ringes, nur auf
einem seiner Teile oder nirgendwo auf ihm konvergieren. Die Extremfälle sind hier r =
und R = ∞ mit den offensichtlichen Bedeutungen.
Im Konvergenzkreisring stellt (3.206) als Summe zweier Potenzreihen eine holomorphe
Funktion dar, d. h. eine im ganzen Ring komplex differenzierbare Funktion f ∶ {z ∈ C ∣ r <
∣z∣ < R} → C:
∞
f (z) = ∑ c ν z −ν (3.207)
ν=−∞
Geht man zur Funktion
∞
f ∗(z) = f ( ) = ∑ c ν z ν < ∣z∣ < (3.208)
z ν=−∞ R r
über, dann hat man die Laurent-Entwicklung der Funktion f ∗ erhalten. Sie entsteht
aus (3.207) durch Vertauschen der positiven und negativen Exponenten von z. Dieser
Zusammenhang erlaubt es nun, in (3.207) bei gegebenem f auf die Existenz und Eindeu-
tigkeit der Folge c zu schließen, und man erhält eine Möglichkeit zur Berechnung der c ν .
in der Funktionentheorie wird nämlich der folgende Satz von Laurent bewiesen:
Es sei g eine in einem Kreisring {z ∈ C ∣ u < ∣z∣ < U} holomorphe Funktion. Dann kann f auf
genau eine Weise in eine Laurent-Reihe
∞
g(z) = ∑ g ν z ν
ν=−∞
gegeben sind. Γ ist ein ganz im Konvergenzkreisring verlaufender Weg, der den Nullpunkt
genau einmal umläuft.
Die Funktion f ∗ in (3.208) ist im angegebenen Kreisring holomorph, es folgt also aus dem
Satz, dass die Laurent-Entwicklung der Funktion existiert, eindeutig ist und mit (3.209)
berechnet werden kann:
f ∗ (ζ)
cν = ∮ dζ (3.210)
πi Γ ζ ν+
Auf das Integral kann die Substitutionsregel, die auch für Linienintegrale gilt, mit der Sub-
stitutionsfunktion z ↦ φ(z) = z angewandt werden:
f ∗ (ζ) ν−
∮ dζ = ∮ f ( ) ( ) dz = − ∮ f (z)z ν− dz (3.211)
Γ ζ ν+ Γ z z z φ[Γ]
Γ ist eine geschlossene Kurve, die ganz im Kreisring von (3.208) verläuft. Sie wird (stan-
dardmäßig) so durchlaufen, dass das Innere der Kurve stets zur Linken liegt. Γ umschlingt
den Nullpunkt und wird daher im Gegenuhrzeigersinn durchlaufen. Nun bildet aber die
Funktion z ↦ z Kurven um den Nullpunkt in Kurven um ∞ ab, und das bedeutet, dass die
Kurve φ[Γ] im Uhrzeigersinn durchlaufen wird. Das ist natürlich nicht erwünscht, die Kur-
ve soll standardmäßig durchlaufen werden, um das Integral standardmäßig berechnen zu
können, d. h. um zur Berechnung keinen nicht standardmäßigen Umlaufsinn zu fordern.
Die Lösung ist einfach: Um den Durchlauf im Gegenuhrzeigersinn zu erreichen muss nur
das Vorzeichen des Integrals geändert werden.
Zusammengefasst ergibt sich als Resultat, dass die Koeffizienten c ν von (3.207) mit dem
folgenden Integral berechnet werden können:
cν = ∮ f (ζ)ζ dζ
ν−
(3.212)
πi Γ
Darin ist Γ ein geschlossener Weg, der ganz im Kreisring {z ∈ C ∣ r < ∣z∣ < R} liegt und
einmal durchlaufen wird.
Hat eine holomorphe Funktion g Pole, die im Inneren einer geschlossenen Kurve Γ
liegen, dann kann das Integral
πi ∮Γ
g(z)dz (3.213)
über die Residuen berechnet werden. Man definiert dazu für einen Pol p der Ordnung k
(k−)
((z − p) k g(z))
R(p) = lim (3.214)
z→p (k − )!
Darin bedeutet ein Exponent (i) die i-te Ableitung der Funktion in der Klammer. Liegen
nun m Pole p bis p m von g im Inneren der Kurve Γ, dann ergibt sich das Integral als
3.7 Die z-Transformation 153
Die Berechnung des Integrals ist in der Regel ein schwieriges Unterfangen. Es kann sich
lohnen, wenn nur wenige Koeffizienten zu berechnen sind, etwa c− , c und c . Dazu ein
einfaches Beispiel. Zu berechnen sind die Koeffizienten von
z
f (z) = < ∣z∣
z−
z ν− zν
∮ z dz = ∮ dz
Γ z− Γ z−
Als Kurve kann z. B. der Kreis um den Nullpunkt mit Radius 2, d. h. {z ∈ C ∣ ∣z∣ = } gewählt
werden. Dann hat der Integrand für ν ≥ genau einen Pol der Ordnung 1 im Inneren des
Kreises, nämlich p = . Man erhält c ν = R(p) = limz→ z ν = .
Für ν < besitzt der Integrand zwei Pole im Kreis, nämlich p = und dazu q = von
der Ordnung ∣ν∣. Allerdings verläuft die Berechnung von R(q) nicht ganz so einfach wie
die von R(p), denn es ist der folgende Grenzwert zu berechnen:
z ν (∣ν∣) (∣ν∣)
R(q) = lim (z ∣ν∣ ) = lim ( )
z→ ∣ν∣! z− z→ ∣ν∣! z −
(k)
( ) = (−k)!(z − ) k also lim(−k)!(z − ) k = (−k)!(−) k = −k!
z− z→
−(∣k∣!)
R(q) = = −
∣k∣!
Daraus folgt direkt c ν = R(p) + R(q) = − = für ν < . Zusammen mit c ν = für ν ≥
wird die gesuchte Reihendarstellung zu
∞ ∞
z
= ∑ c ν z −ν = ∑ z −ν < ∣z∣
z − ν=−∞ ν=
154 3 Grundlagen der digitalen Signalverarbeitung
3.7.2 Definition
Die Folge in (3.207) ist natürlich nichts anderes als ein Signal. Man kann daher (3.207) so
interpretieren, dass einem Signal x eine komplexe Funktion f x zugeordnet wird:
∞
f x (z) = ∑ x(ν)z −ν (3.216)
ν=−∞
Das ist auch schon die Grundidee der z-Transformation. Diese Transformation hat sehr
gute Eigenschaften, die sie zu einem ausgezeichneten Instrument zur Analyse und zur
Konstruktion von digitalen Filtern machen. Nachteilig ist jedoch, dass man bei ihrer An-
wendung stets mitdenken muss, um nicht zu falschen Ergebnissen zu kommen. Es beginnt
schon bei (3.216), denn dort wird nicht wirklich einem Signal eine komplexe Funktion
zugeordnet, weil es viele komplexe Funktionen gibt, welche die Gleichung erfüllen. Was
fehlt ist die Angabe des Definitionsbereiches der Funktion, erst dann liegt wirklich eine
Abbildung vor. Als ganz natürlicher Definitionsbereich bietet sich der maximale Konver-
genzbereich der Reihe an:
∞
D⟨x⟩ = {z ∈ C ∣ ∑ x(ν)z −ν konvergiert} (3.217)
ν=−∞
Zu beachten ist, dass D⟨x⟩ = ∅ möglich ist. Beispielsweise erhält man für das Signal , das
natürlich durch (n) = definiert ist, die Reihe
⋯ + z + z + z + + + + +⋯
z z z
bei welcher für ∣z∣ ≥ der linke und für ∣z∣ < der rechte Teil nicht konvergiert. Gilt jedoch
D⟨x⟩ ≠ ∅, dann besteht D⟨x⟩ aus dem Inneren und möglicherweise noch aus einem Teil
des Randes eines Kreisringes.
Es sei nun x ein beliebiges Signal. Die z-Transformierte von x ist die wie folgt definierte
komplexe Funktion:
∞
Z(x): D⟨x⟩ → C Z(x)(z) = ∑ x(n)z −n (3.218)
n=−∞
Bei D⟨x⟩ = ∅ sei Z(x) = ∅. Die leere Menge ist eine komplexe Funktion ∅: ∅ → C, weil
sie kein Element hat, das nicht nach C abgebildet werden könnte. Damit hat jedes Signal
eine z-Transformierte. Die Abbildung Z selbst heißt die z-Transformation.
Zwei Beispiele für z-Transformierte sind schon bekannt. Es ist Z() = ∅, und die Ein-
heitsstufe u hat nach dem vorigen Abschnitt die z-Transformierte
∞
z
Z(u): { z ∈ C ∣ < ∣z∣ } → C Z(u)(z) = ∑ z −n = (3.219)
n= z−
3.7 Die z-Transformation 155
Allerdings wurde dort das Pferd vom Schwanz her aufgezäumt, d. h. es wurde das zur ge-
gebenen Funktion passende Signal berechnet. Bei gegebenem Signal, also hier u, verläuft
die Rechnung wie folgt:
∞
u(n) ∞ n z
Z(u)(z) = ∑ = ∑( ) = =
n=−∞ z
n
n= z −
z
z−
Die Reihe konvergiert nur für ∣ z ∣ < oder ∣z∣ > , d. h. D⟨u⟩ = { z ∈ C ∣ ∣z∣ > }.
Ein weiteres einfaches aber lehrreiches Beispiel gibt das Signal v, das durch v(n) =
u(−n − ) definiert ist. Es hat die Eigenschaft v(n) = für −n − < oder − < n, weshalb
sich die Reihe der z-Transformierten wie folgt berechnet:
∞ − ∞ ∞
−n z
∑ v(n)z = ∑ z = ∑ z = − + ∑ z = − =
n n n
n=−∞ n=−∞ n= n= −z −z
Diese Reihe konvergiert für ∣z∣ < , die z-Transformierte ist daher
∞
z
Z(v): { z ∈ C ∣ ∣z∣ < } → C Z(v)(z) = ∑ z n = (3.220)
n= −z
Die Beispiele (3.219) und (3.220) zeigen, dass die z-Transformierten verschiedener Signale
mit derselben Formel gebildet werden können, nämlich u und −v. Das widerspricht aber
nicht der Eindeutigkeit, denn die Funktionen Z(u) und Z(v) haben verschiedene Defini-
tionsbereiche.
Ein Signal x heißt linksseitig, wenn x(n) = gilt für n ≥ und es ein m < gibt mit
x(m) ≠ . Entsprechend heißt ein Signal x rechtsseitig, wenn x(n) = gilt für n < und es
ein m ≥ gibt mit x(m) ≠ . Die Einheitsstufe u ist ein Beispiel für ein rechtsseitiges Signal,
und ihr Definitionsbereich ist das Äußere eines Kreises um den Nullpunkt. Das Signal v ist
linksseitig, und sein Definitionsbereich ist das Innere eines Kreises um den Nullpunkt.
Das ist ganz allgemein gültig. Es sei x ein Signal mit D⟨x⟩ ≠ ∅. Ist x rechtsseitig, dann
ist die Reihe eine Potenzreihe in z , die natürlich außerhalb eines Kreises um den Null-
punkt konvergiert. Ist x dagegen linksseitig, dann ist die Reihe eine Potenzreihe in z und
deshalb innerhalb eines Kreises um den Nullpunkt konvergent. In beiden Fällen kann auch
Konvergenz auf dem Kreis stattfinden.
3.7.3 Eigenschaften
Für zwei Signale x und y ist D⟨x , y⟩ = D⟨x⟩ ∩ D⟨y⟩ ein gemeinsamer wenn auch i. A. ein-
geschränkter Definitionsbereich für die Funktionen Z(x) und Z(y). Schränkt man beide
Funktionen auf D⟨x, y⟩ ein, geht man also zu den Funktionen
über, dann können diese Funktionen auf ihrem gemeinsamen Definitionsbereich addiert
und multipliziert werden, oder ganz allgemein mit einer binären Operation verknüpft wer-
den. Im Prinzip müssten diese eingeschränkten Funktionen als solche bezeichnet werden,
gewöhnlich mit
Z(x)/D⟨x,y⟩ ,
es ist aber weitaus praktischer, die Einschränkung nicht extra zu bezeichnen, sondern sie
mitzudenken. Also:
Das gilt natürlich auch für alle anderen binären Verknüpfungen. Es gilt entsprechend auch
für binäre Relationen. Es ist immer der kleinste gemeinsame Definitionsbereich aller teil-
nehmenden Funktionen zu verwenden. Ein Beispiel:
Es ist noch der Fall zu berücksichtigen, dass der gemeinsame Definitionsbereich leer ist,
z. B. D⟨x, y⟩ = ∅. Dann soll die Verknüpfung der Funktionen die leere Menge sein, z. B.
Z(x) + Z(y) = ∅ falls D⟨x, y⟩ = ∅. Dann sind bei leerem Definitionsbereich Vergleiche
(wie der obige) stets wahr!
Für den Rest des Abschnittes seien x und y beliebige Signale und a und b irgendwelche
komplexe Zahlen.
Fakt [Link] Die z-Transformation verwandelt das Faltungsprodukt von Signalen in das ge-
wöhnliche Produkt von Funktionen:
Diese Eigenschaft ist besonders wichtig für den praktischen Einsatz der z-Transforma-
tion. Das gilt auch für die nächste Eigenschaft.
Fakt [Link] Die z-Transformation überführt eine Verschiebung des Signals in eine Multipli-
kation mit dem Faktor z − im z-Bereich:
Der Übergang von einem Signal x zu seiner Zeitumkehr x ◇ bedeutet ein Vertauschen
der positiven und negativen Indizes und damit einen Übergang von z zu z :
3.7 Die z-Transformation 157
Fakt [Link] Die Modulation eines Signals bedeutet eine Skalierung im z-Bereich:
z
Z(x ∼c )(z) = Z(x) ( ) (3.225)
c
Die Abbildung x ↦ Z(x ∼c ) ist additiv:
Ist nämlich D⟨x⟩ = { z ∈ C ∣ u < ∣z∣ < U }, dann ist D⟨x ∼c ⟩ = { z ∈ C ∣ ∣c∣ u < ∣z∣ < ∣c∣ U }.
Ist insbesondere c = e i ϑ , dann bewirkt e −i ϑ z eine Drehung von z in der komplexen Ebene
um den Winkel ϑ.
Die mit einem Signal x gebildete Rampe x ∠ ist definiert durch x ∠ (n) = nx(n).
Fakt [Link] Die z-Transformierte einer Rampe x ∠ wird mit der Ableitung der z-Transfor-
mierten von x gebildet:
Z(x ∠ )(z) = −zZ(x)′ (z) (3.227)
Die folgende Regularitätseigenschaft hat insbesondere Konsequenzen für reelle Signale,
beispielsweise für die Lage von Nullstellen und Polen der z-Transformierten.
Fakt [Link] Die z-Transformierte eines konjugierten Signals x erhält man durch Konjugie-
ren von Argument und Funktionswert der z-Transformierten von x:
Für ein reelles Signal x, falls also x(n) = x(n) gilt, folgt daraus sofort
oder die Tatsache ausnutzend, dass die Konjugation eine Involution ist:
Fakt [Link] Die z-Transformierte der Einheitsimpulsantwort eines LSI-Systems stellt auf
dem Einheitskreis K die Frequenzantwort des Systems dar:
∞
Z(ΔS )(e iω ) = ∑ ΔS (ν)e −iνω = ΘS (ω) (3.231)
ν=−∞
Genauer gesagt wird der Einheitskreis mit der Kreisfrequenz ω parametrisiert, beispiels-
weise im Intervall −π ≤ ω < π, und Z(ΔS ) eingeschränkt auf den Einheitskreis als Funk-
tion der Kreisfrequenz ergibt die Frequenzantwort des Systems.
3.7.4 Beispiele
z
Z(u): { z ∈ C ∣ < ∣z∣ } → C Z(u)(z) =
−z
z
Z(u ○ σm ): { z ∈ C ∣ ∣z∣ > } → C Z(u ○ σm )(z) = z −m
−z
z z zm −
Z(u − u ○ σm )/{ ζ∈C ∣ <∣ζ∣ } (z) = − z −m = m−
−z − z z (z − )
Man beachte, dass Z(u − u ○ σm ) selbst damit noch nicht bekannt ist, sondern nur sei-
ne Einschränkung auf den Kreisring { z ∈ C ∣ ∣z∣ > }. Die Frage ist also: Gibt es einen
größeren Kreisring, auf dem Z(u − u ○ σm ) definiert ist? Denn die z-Transformierte hat
(nach Vereinbarung) den größten Konvergenzbereich D⟨u −u ○σm ⟩ als Definitionsbereich.
Nun wird der Kreisring nach unten durch den von z − erzeugten Pol beschränkt. Kann
dieser Pol beseitigt werden, dann kann der Kreisring vergrößert werden. Hier zahlt sich
3.7 Die z-Transformation 159
die Kenntnis von Summenformeln aus. Nach (A.12) ist nämlich z m − ohne Rest durch
z − teilbar. Das bedeutet, dass sich der den Pol erzeugende Faktor z − des Nenners ge-
gen einen eine Nullstelle erzeugenden Faktoren z − des Zählers herauskürzt. Die dadurch
entstehende Funktion z −m ( + z + z + ⋯ + z m− ) ist tatsächlich auf dem größeren Kreis-
ring { z ∈ C ∣ < ∣z∣ } definiert. Damit ist die eigentliche z-Transformierte von u − u ○ σm
gefunden:
+ z + z + ⋯ + z m−
Z(u−u○σm ): { z ∈ C ∣ ∣z∣ > } → C Z(u−u○σm )(z) = (3.235)
z m−
Das einseitige Signal qc ∶ n ↦ c n u(n) für eine beliebige komplexe Zahl c ≠ kommt recht
häufig vor. Mit (3.225) erhält man
z
z z
Z(qc )(z) = Z(u c ) ( ) = c
=
c z
c
− z−c
Das Signal q c ist rechtsseitig, als Definitionsbereich kommt also nur das Äußere eines
Kreisringes in Betracht. Der kleinstmögliche Kreisring wird durch den Pol z = c bestimmt,
die vollständige z-Transformierte ist
z
Z(q c ): { z ∈ C ∣ ∣z∣ > ∣c∣ } → C Z(q c )(z) = (3.236)
z−c
Das nächste Beispiel demonstriert, dass der Definitionsbereich einer Faltung sehr viel grö-
ßer sein kann als die Definitionsbereiche der Faltungsoperanden. Die z-Transformierte des
simplen Signals d c = δ − cδ ○ σ kann direkt abgelesen werden:
z−c
Z(d c ): { z ∈ C ∣ ∣z∣ > } → C Z(d c )(z) = − c =
z z
Die z-Transformierte der Faltung q c ∗ d c errechnet sich mit (3.222) wie folgt:
z z−c
Z(q c ∗ d c )(z) = Z(q c )(z)Z(d c )(z) = =
z−c z
Die z-Transformierte der Faltung von qc und d c ist daher in der gesamten komplexen Ebe-
ne definiert:
Z(q c ∗ d c ): C → C Z(q c ∗ d c )(z) =
Ist ein System S gegeben, dann kann man fragen, wie die z-Transformierte Z(S(x)) von
der z-Transformierten Z(x) abhängt. Dazu ein Beispiel.
Der Summierer oder auch Integrator J ist definiert durch
n
J(x)(n) = ∑ x(ν)
ν=−∞
160 3 Grundlagen der digitalen Signalverarbeitung
Die Konvergenz der Reihe ist dabei vorausgesetzt. Der Schlüssel zur Bestimmung der z-
Transformierten ist die folgende Zerlegung:
n n−
J(x)(n) = ∑ x(ν) = ∑ x(ν) + x(n) = J(x)(n − ) + x(n)
ν=−∞ ν=−∞
Um die z-Transformation anwenden zu können, ist von der Gleichung zwischen Signalwer-
ten zur entsprechenden Gleichung zwischen Signalen überzugehen. Die Signalgleichung ist
natürlich
J(x) = J(x) ○ σ + x
Die Anwendung der z-Transformation auf beide Seiten der Gleichung liefert
Z(J(x))(z) = Z(J(x) ○ σ )(z) + Z(x)(z) = Z(J(x))(z) + Z(x)(z)
z
Die Auflösung der Gleichung nach Z(J(x))(z) bringt jetzt die gewünschte Abhängigkeit:
Z(x)(z) z
Z(J(x))(z) = −
= Z(x)(z)
−z z−
Über den Definitionsbereich D⟨J(x)⟩ kann nicht viel mehr gesagt werden, als dass er na-
türlich vom Definitionsbereich von x und dem Pol bei z = abhängt. Im Fall ∉ D⟨x⟩ gilt
jedoch D⟨J(x)⟩ = D⟨x⟩.
Ähnlich wie beim Integrator kann auch die z-Transformierte des Rampenintegrators R
bestimmt werden. Dieser ist definiert durch
n
R(x)(n) = ∑ νx(ν)
ν=−∞
Die Durchführung der Rechnung sei dem Leser als einfache Übungsaufgabe überlassen (es
kommt natürlich (3.227) ins Spiel). Das Ergebnis ist
z
Z(R(x))(z) = − Z(x)′ (z)
z−
Ist x ein reelles Signal, und ist x symmetrisch, d. h. gilt x(−n) = x(n) oder x ◇ = x, dann
folgt aus (3.224) direkt Z(x)(z) = Z(x)(z − ). Hat daher Z(x) einen Pol in p, dann ist
auch p ein Pol, und Analoges gilt auch für Nullstellen. Diese Tatsache vereinfacht gele-
gentlich das Auffinden von Nullstellen und Polen.
Nach Abschn. 3.7.1 ist jede auf einem Kreisring und auf einem Teil seines Randes holo-
morphe Funktion f die z-Transformierte eines Signals f . Eine Möglichkeit, f aus f zu
3.7 Die z-Transformation 161
berechnen, ist (3.212), die Auswertung der Linienintegrale ist jedoch in den meisten Fällen
mit Schwierigkeiten verbunden.
Am schnellsten kommt man zum Ziel, wenn die Potenzreihenentwicklung von f um
z = bekannt ist:
∞ ⎧
⎪
⎪ für n >
f (z) = ∑ f ν z ν /⇒ f (n) = ⎨ (3.237)
⎪
⎪ für n ≤
ν= ⎩ f−n
Das lässt sich auch mit der Einheitsstufe ausdrücken: f (n) = f n u(−n), setzt man f n =
für n > . Diese Methode kann oft eingesetzt werden, weil die Potenzreihenentwicklung
vieler Funktionen bekannt ist (d. h. nachgeschlagen werden kann) oder relativ leicht zu
bestimmen ist. Man hat aber den Definitionsbereich der Funktion zu beachten. Dazu ein
Beispiel. Die Funktion
f : { z ∈ C ∣ ∣z∣ < ∣c∣ } → C f (z) =
z−c
kann so umgeformt werden, dass man eine geometrische Reihe als Reihenentwicklung be-
kommt:
∞ z ν ∞
=− = − ∑ ( ) = − ∑ ν+ z ν = − ( + z + z + z + ⋯)
z−c c − z
c
c ν= c ν= c c c c c
⎧
⎪
⎪ für n >
f (n) = ⎨
⎪
⎩− c −n+
⎪ für n ≤
f (n) = − u(−n) = c n− u(−n)
c −n+
Diese Entwicklung gilt nur für den angegebenen Definitionsbereich. Bei der Funktion
g: { z ∈ C ∣ ∣z∣ > ∣c∣ } → C g(z) =
z−c
die sich vom obigen f nur durch den Definitionsbereich unterscheidet, muss man etwas
anders vorgehen (d. h. die Laurent-Reihe berechnen):
∞ c ν ∞ ν c c
= = ∑ ( ) = ∑ c = ( + + + ⋯)
z − c z(z − zc ) z ν= z ν= z ν+ z z z
162 3 Grundlagen der digitalen Signalverarbeitung
⎧
⎪
⎪ für n ≤
g(n) = ⎨ n−
⎪
⎪ für n >
⎩c
Hier genügt die Einheitsstufe zur Darstellung nicht mehr, man benötigt zusätzlich den Ein-
heitsimpuls, um in der Darstellung g() = zu erzwingen:
g(n) = c n− u(n) − δ(n)
c
Als ein einfacher Test kann dienen, dass bei einem Äußeren eines Kreises um den Null-
punkt als Definitionsbereich die Rechnung tatsächlich ein rechtsseitiges Signal liefert.
Steht keine Reihenentwicklung zur Verfügung, dann kann man versuchen, die Funktion
in Summen oder Differenzen einfacherer Funktionen zu zerlegen, deren Umkehrung der
z-Transformierten bekannt ist. Einige solcher Funktionsbausteine stehen bereits zur Ver-
fügung, diese und einige weitere Bausteine sind in Tab. 3.4 aufgeführt. Die Tabelle lässt sich
natürlich in beiden Richtungen lesen: Von rechts nach links, um von der z-Transformierten
auf das Signal, und von links nach rechts, um vom Signal auf die z-Transformierte zu schlie-
ßen.
Die weiter unten noch besprochene Partialbruchzerlegung einer rationalen Funktion
führt auf Funktionen des in den ersten drei Zeilen der Tabelle aufgeführten Typs (z − c)−k .
Leider werden die zugehörigen Signale rasch kompliziert.
Als ein Beispiel dafür, wie die Umkehrung der z-Transformation durch eine Kombi-
nation elementarer Summierung und Ausnützen der Eigenschaften der z-Transformation
berechnet werden kann, wird der dritte Tabelleneintrag bestimmt, also die Bestimmung des
Signals x mit der z-Transformierten (z − c)− mit dem angegebenen Definitionsbereich.
Man bemerkt zunächst, dass die gegebene Funktion ein Produkt ist: (z−c)− (z−c)− . Kennt
man daher das Signal y, dessen z-Transformierte (z − c)− ist, dann ist x schon gefunden,
3.7 Die z-Transformation 163
=−
z−c c − z
c
d. h. die Umkehrung der z-Transformierten auf der rechten Seite der Gleichung kann der
Tab. 3.4 entnommen werden (deren sechster Eintrag als gegeben vorausgesetzt werden
soll):
g: { z ∈ C ∣ ∣z∣ < ∣c∣ } → C g(z) = /⇒ Z − (g) = g c ∗ g c
( − zc )
mit dem Signal g c (n) = c n u(−n). Diese Faltung gilt es nun zu berechnen:
∞
g c ∗ g c (n) = ∑ g c (ν)g c (n − ν)
ν=−∞
Die Eigenschaften des Signals g c machen aus der unendlichen Reihe eine endliche Summe.
Man bemerkt zunächst g c (n) = für −n < oder n > . Das vereinfacht die Reihe zu
∞ −
∑ g c (ν)g c (n − ν) = ∑ g c (ν)g c (n − ν)
ν=−∞ ν=−∞
Man bemerkt weiter g c (n − ν) = für −(n − ν) < oder ν < n. Es werden jetzt die beiden
Fälle n ≥ und n < unterschieden. Es sei n ≥ . Dann gilt bei ν ≤ − erst recht ν < n, d. h.
für ν ≤ − ist g c (n − ν) = , woraus folgt
−
∑ g c (ν)g c (n − ν) =
ν=−∞
Es sei nun n < . Wegen g c (n − ν) = für ν < n wird die Reihe hier zur endlichen Summe:
− − −
∑ g c (ν)g c (n − ν) = ∑ g c (ν)g c (n − ν) = ∑ c c
ν n−ν
ν=−∞ ν=n ν=n
− ∣n∣
= c n ∑ = −c n ∑ = − c n ∣n∣ (∣n∣ + )
ν=n ν=
⎧
⎪
⎪ für n ≥
g c ∗ g c (n) = ⎨ n
⎪
⎩− c ∣n∣ (∣n∣ + ) für n <
⎪
164 3 Grundlagen der digitalen Signalverarbeitung
Nun kommt es für n ≥ auf den Wert von ∣n∣ nicht an, und für n < ist ∣n∣ = −n, es gilt
daher − c n ∣n∣ (∣n∣ + ) = c n n( − n). Außerdem muss g c ∗ g c noch mit c − multipliziert
werden, um auf das gesuchte Signal x zu kommen. Das ergibt
⎧
⎪
⎪ für n ≥
x(n) = ⎨ n−
⎪
⎩ c n( − n) für n <
⎪
= n( − n)c n− u(−n)
Das Signal ist linksseitig, der für die z-Transformierte angegebene Definitionsbereich ∣z∣ <
∣c∣ ist daher korrekt.
Es muss allerdings noch die Frage beantwortet werden, wie zur Bestimmung der umge-
kehrten z-Transformierten einer komplexen Funktion die Funktion in einfachere Bausteine
zerlegt werden kann, deren umgekehrte z-Transformationen bekannt ist. Ist die Funktion
eine rationale Funktion, d. h. ein Quotient aus Polynomen, dann ist die Methode der Parti-
albruchzerlegung anwendbar, wie sie in Abschn. 6.4 vorgestellt wird. Diese Methode ist gut
anwendbar (auch numerisch), wenn das Nennerpolynom in lauter verschiedene Linear-
faktoren zerfällt. Systemfunktionen von Filtern besitzen allerdings nicht selten mehrfache
Pole, d. h. mehrfache Nullstellen des Nennerpolynoms. Die Bestimmung des Gleichungs-
systems zur Partialbruchzerlegung kann in solchen Fällen recht mühsam sein. Bei höheren
Polynomgraden und numerisch bestimmten Nullstellen des Nennerpolynoms wird man
gar keine andere Wahl haben als das lineare Gleichungssystem ebenfalls numerisch zu lö-
sen.19
Dazu ein Beispiel. Sind Signale f und g gegeben, deren z-Transformierte bekannt sind,
dann kann die Faltung f ∗ g der Signale über die umgekehrte z-Transformierte des Pro-
duktes der beiden z-Transformierten bestimmt werden. Konkret seien die beiden Signale
f (n) = u(n) g(n) = n u(−n)
n
gegeben. Deren z-Transformierte f = Z( f ) und g = Z(g) sind aus Tab. 3.4 bekannt:
z
f : { z ∈ C ∣ ∣z∣ > } →C f (z) =
z−
g: { z ∈ C ∣ ∣z∣ < } → C g(z) = −
z−
−z
h: { z ∈ C ∣ < ∣z∣ < } → C h(z) =
(z −
)(z − )
19
Ausgefeilte Programme zum Lösen linearer Gleichungssysteme findet man in [Wlk2].
3.7 Die z-Transformation 165
Es gilt nun, Z − (h) = h zu berechnen. Es ist dann h = f ∗ g. Dazu wird die rationale Funk-
tion h wie in Abschn. 6.4 beschrieben in eine Summe von Partialbrüchen zerlegt, in der
Hoffnung, dass die inverse z-Transformation dieser Partialbrüche bekannt oder doch einfa-
cher zu bestimmen ist. Es ist der einfachste Fall gegeben, dass nämlich das Nennerpolynom
vollständig in verschiedene Linearfaktoren zerfällt. Die Gleichung für die Koeffizienten der
Zerlegung könnte zwar von Abschn. 6.4 übernommen werden (angepasst an k = ), es ist
aber nicht schwierig, die Rechnung direkt auszuführen. Der Zerlegungsansatz ist
−z c c
= +
(z −
)(z − ) z− z−
Geeignete Erweiterungen der Brüche der rechten Seite und Herauskürzen des dann ge-
meinsamen Nenners beider Seiten gibt die Gleichung
−z = (z − )c + (z − ) c = (c + c )z − c − c
und daraus erhält man durch Vergleich der Koeffizienten von z und z auf beiden Seiten
das lineare Gleichungssystem
c + c = −
c + c =
mit der Lösung c = − und c = . Die Partialbruchzerlegung ist daher
−z
=− +
(z −
)(z − ) z−
z−
Die Koeffizienten c und c haben sich hier als reelle Zahlen ergeben, können abhängig von
den Nullstellen des Nennerpolynoms allerdings auch komplexe Zahlen sein.
Unter Ausnutzen der Linearität der z-Transformation lässt sich das gesuchte Signal di-
rekt von Tab. 3.4 ablesen, man erhält
n−
Z − (h)(n) = h(n) = − (( ) u(n) − δ(n)) − n− u(−n)
n+
= − n− u(n) + u(−n) + δ(n)
Ist die z-Transformierte f als eine rationale Funktion in z − gegeben, dann kann für
die inverse z-Transformierte f eine Rekursionsformel abgeleitet werden. Diese macht es
möglich, f oder wenigstens eine Anzahl Werte f (n) von f numerisch zu bestimmen. Es
sei f also gegeben als
∑κ= s κ z −κ
k
f (z) = Z( f )(z) = m (3.238)
∑ μ= t μ z −μ
166 3 Grundlagen der digitalen Signalverarbeitung
Definiert man Signale s und t mit Hilfe der Koeffizienten der Polynome als
⎧
⎪ ⎧
⎪
⎪s n für n ∈ {, . . . , k} ⎪t n für n ∈ {, . . . , m}
s(n) = ⎨ t(n) = ⎨ (3.239)
⎪
⎪ für n < oder k < n ⎪
⎪ für n < oder m < n
⎩ ⎩
dann geht (3.238) über in
Z(s)(z)
Z( f )(z) = (3.240)
Z(t)(z)
oder in ein Produkt umgeformt
s(n) m
f (n) = − ∑ t μ f (n − μ) (3.243)
t μ=
Um die Rekursion starten zu können müssen m Startwerte bekannt sein. Ist z. B. f rechts-
seitig, etwa weil der Definitionsbereich von f das Äußere eines Kreisringes ist, gilt also
f (n) = für n < , dann können f (−) bis f (−m) als Startwerte herangezogen werden.
Jedenfalls erhält man als genaue Rekursionsformel
⎧
⎪ m
⎪ n − ∑ t μ f (n − μ) für ≤ n ≤ k
s
f (n) = ⎨ t m μ= (3.244)
⎪
⎩− ∑ μ= t μ f (n − μ)
⎪ für n < oder n > k
0, 7973
− − − −
−0, 7973
Im Vorgriff auf den Abschn. 3.8 sei die Funktion f in (3.238) die Systemfunktion eines
LSI-Systems S:
f (z) = Ψ S (z) = Z(ΔS )(z) (3.245)
Dann ist die umgekehrte z-Transformierte f der Funktion f gerade die Einheitsimpulsant-
wort des Systems S:
f = Z − ( f ) = Z − (Ψ S ) = Z − (Z(ΔS )) = ΔS (3.246)
Mit den Rekursionsformeln (3.244) werden daher die Werte der Einheitsimpulsantwort
von S berechnet. An der Systemfunktion (3.238) kann direkt die Differenzengleichung des
Systems zur Berechnung von S(x)(n) für ein Signal x abgelesen werden (siehe (3.253)
und (3.255)):
Zur Berechnung von S(x)(n) werden nur S(x)(ν) und x(ν) mit ν ≤ n verwendet, d. h.
das System ist kausal. Nach Abschn. 3.11 folgt daraus, dass die Einheitsimpulsantwort ΔS
rechtsseitig ist: ΔS (n) = für n < . Zur Berechnung von ΔS (n) für n ≥ mit den Rekursi-
onsformeln stehen daher die benötigten m Startwerte ΔS (−) bis ΔS (−m) zur Verfügung.
Als Beispiel wird die Bessel-Bandsperre vierten Grades B aus Abschn. 4.3.2 herange-
zogen. Die Koeffizienten der Systemfunktion wurden numerisch durch Auswertung von
Formeln in [All] gewonnen (siehe Abschn. 4.3.2). Das Ergebnis der Rekursionsrechnung
ist numerisch in Tab. 3.5 und graphisch in Abb. 3.89 wiedergegeben.
Die Auswertung der Rekursionsformeln ist eine schnell durchführbare Methode, sich
einen Überblick über den Verlauf der Einheitsimpulsantwort eines numerisch gegebenen
Systems zu verschaffen. Die Formeln sind so einfach aufgebaut, dass schon ein Tabellen-
kalkulationsprogramm zur Auswertung genügt.
168 3 Grundlagen der digitalen Signalverarbeitung
Die Verträglichkeit der z-Transformation mit der Faltungsoperation von Signalen erlaubt
es nun, die Systemfunktion eines LSI-Systems S zu definieren. Für ein solches System gilt
S(x) = ΔS ∗ x (3.247)
Definiert man nun die Systemfunktion Ψ S von S als die z-Transformierte der Einheitsim-
pulsantwort von S,
Ψ S = Z(ΔS ) (3.249)
dann geht die Gl. (3.247) über in die Gleichung
Daraus folgt, dass die Systemfunktion eines LSI-Systems S der Quotient aus der z-
Transformierten von S(x) und der z-Transformierten von x ist:
Z(S(x))
ΨS = (3.251)
Z(x)
3.8 Die Systemfunktion 169
Z(S(x))(z)
Ψ S (z) = (3.252)
Z(x)(z)
m k
∑ v μ S(x) ○ σ μ = ∑ u κ x ○ σκ (3.254)
μ= κ=
Wird auf beiden Seiten die z-Transformation angewendet, erhält man als Resultat
m k
−μ −κ
∑ v μ z Z(S(x))(z) = ∑ u κ z Z(x)(z),
μ= κ=
Z(S(x))(z) ∑κ=
k
u κ z −κ
Ψ S (z) = = m (3.255)
Z(x)(z) ∑ μ= v μ z −μ
Wegen der Eindeutigkeit der z-Transformation kann man auch umgekehrt schließen: Kann
die Systemfunktion eines LSI-Systems S in die Gestalt (3.255) gebracht werden oder wird
sie direkt wie (3.255) vorgegeben, dann hat das System selbst die Gestalt (3.253).
In der Differenzengleichung (3.253) hängt S(x)(n) nur von S(x)(ν) und x(ν) mit
ν < n ab, das so definierte System ist daher kausal.21 Daraus folgt, dass die Einheitsim-
pulsantwort des Systems rechtsseitig ist, d. h. der Definitionsbereich der Systemfunktion als
z-Transformierte der Einheitsimpulsantwort ist das Äußere eines Kreisringes. Es ist natür-
lich das Äußere des kleinsten Kreises um den Nullpunkt, der alle Pole der Systemfunktion
enthält.
20
Man kann natürlich so normieren, dass v = gilt, doch ist es sehr unbequem, stets diesen Spezi-
alfall zu berücksichtigen.
21
Zur Kausalität siehe Abschn. 3.11.
170 3 Grundlagen der digitalen Signalverarbeitung
Dazu ein einfaches Beispiel. Das LSI-System S sei durch die folgende Differenzenglei-
chung definiert:
+ z − + z − z + z +
=
+ z − + z − z +z−
Die Pole der rationalen Funktion (die Nullstellen des Nennerpolynoms) sind schnell ge-
funden, es ist z + z − = (z − )(z + ). Der Pol mit dem größten Betrag ist z = −, damit
ist die Systemfunktion erkannt:
z + z +
Ψ S : { z ∈ C ∣ ∣z∣ > } → C Ψ S (z) =
z + z −
Allerdings muss auch das Zählerpolynom in Betracht gezogen werden! Es ist nämlich z +
z + = (z + )(z + ), d. h. der Nenner und der Zähler haben den Linearfaktor x +
gemeinsam, der herausgekürzt werden kann. Dann bleibt nur noch der Pol z = übrig und
die Systemfunktion ist tatsächlich
z + z + z +
Ψ S : { z ∈ C ∣ ∣z∣ > } → C Ψ S (z) = =
z + z − z−
Die Systemfunktion Ψ S eines LSI-Systems S trüge ihren Namen sicher nicht zurecht,
wenn es nicht gelänge, mit ihrer Hilfe S(x) für ein vorgegebenes Signal x zu bestimmen.
Der Schlüssel ist natürlich (3.250). Als Beispiel sei die Systemfunktion
+ z − z +
Ψ S : { z ∈ C ∣ ∣z∣ > } → C Ψ S (z) = =
− z − z −
gewählt. Das Signal x, für das S(x) zu bestimmen ist, sei
x(n) = −a(n) + b(n) mit a(n) = u(n) und b(n) = n u(−n)
n
Zunächst gilt es, die z-Transformierte von x zu bestimmen. Dazu können die z-Transfor-
mierten von a und b der Tab. 3.4 entnommen werden. Das Signal a ist rechtsseitig, der
Definitionsbereich der z-Transformierten also das Äußere eines Kreises. Das Signal b ist
linksseitig, der Definitionsbereich der z-Transformierten daher das Innere eines Kreises.
Das ergibt
z
Z(a): { z ∈ C ∣ ∣z∣ > } →C Z(a)(z) =
z −
Z(b): { z ∈ C ∣ ∣z∣ < } → C Z(b)(z) =
− z
3.8 Die Systemfunktion 171
Daraus folgt für die z-Transformierte von S(x) noch ohne Berücksichtigung ihres eigent-
lichen Definitionsbereiches
Z(S(x))(z) = Ψ S (z)Z(x)(z)
z+ z
= ( − )
z− − z
z −
(z + )(z − )
=−
(z − )(z − )(z − )
Es scheint noch der Pol z = hinzugekommen zu sein, tatsächlich enthalten aber das
Zähler- und das Nennerpolynom wegen z − = (z − )(z + ) den gemeinsamen Line-
arfaktor z − . Die Frage nach dem Definitionsbereich erledigt sich daher von selbst, und
man erhält
(z + )
Z(S(x)): { z ∈ C ∣ < ∣z∣ < } → C Z(S(x))(z) = −
(z − )(z − )
Zur Ermittlung von S(x) ist nun die inverse z-Transformierte Z − (Z(S(x))) zu bestim-
men. Leider kann Z(S(x)) nicht direkt in Partialbrüche zerlegt werden, weil das Zählerpo-
lynom U(z) = (z + ) denselben Grad hat wie das Nennerpolynom V(z) = (z − )(z − ).
Es sind daher ein Polynom Q und ein Polynom R mit grad(R) < grad(V) zu bestimmen
mit
U R
U = QV + R oder =Q+
V V
Nun bedeutet grad(R) < grad(U) natürlich grad(R) ≤ , aber dann muss grad(Q) =
gelten. Das Polynom Q entspricht also einer komplexen Zahl q und das Restpolynom ist
höchstens linear (kann daher ebenfalls einer komplexen Zahl entsprechen):
R(z) = r + r z
Durch Koeffizientenvergleich der Monome z , z und z auf beiden Seiten der Gleichung
erhält man die Lösungen q = , r = und r = . Das führt auf
(z + ) z
=+
(z − )(z − ) (z − )(z − )
172 3 Grundlagen der digitalen Signalverarbeitung
Die rationale Funktion auf der rechten Seite der Gleichung kann jetzt in Partialbrüche zer-
legt werden, und zwar mit dem Ansatz
z a b
= +
(z −
)(z − ) z−
z−
Sie ist eine Linearkombination der konstanten Funktion z ↦ und der beiden Funktionen
f : { z ∈ C ∣ ∣z∣ > } →C f (z) =
z −
g: { z ∈ C ∣ ∣z∣ < } → C g(z) =
z−
Ihre Definitionsbereiche sind vom Definitionsbereich der z-Transformierten Z(S(x)) ab-
geleitet. Der Tab. 3.4 in Abschn. 3.7.5 können die inversen z-Transformierten f von f und
g von g wie folgt entnommen werden:
f (n) = u(n) − δ(n)
n−
g(n) = n− u(−n)
Und natürlich ist δ die umgekehrte z-Transformierte der konstanten Funktion z ↦ . Das
gesuchte Signal ist damit bestimmt:
S(x)(n) = −δ(n) + f (n) − g(n)
= u(n) − ⋅ n− u(−n) − δ(n)
n+
Ist die Impulsantwort des Systems reell, d. h. ΔS (n) ∈ R, dann gilt für die Systemfunk-
tion nach der Eigenschaft (3.230) der z-Transformation
Die Systemfunktion ist dann also hermitesch (Siehe dazu Abschn. 3.9). Daraus folgt un-
mittelbar, dass die Nullstellen der Systemfunktion eines Systems mit reeller Impulsantwort
immer in konjugierten Paaren auftreten, d. h. mit z ist auch z eine Nullstelle:
Ist die Systemfunktion eine rationale Funktion, dann gilt das auch für deren Pole, denn
diese Pole sind gerade die Nullstellen des Nennerpolynoms. Tatsächlich gilt das für die
Pole aller Funktionen mit der Eigenschaft (3.256) (siehe Abschn. 3.9).
Die Bedeutung der Systemfunktion von LSI-Systemen für die Konstruktion und Analyse
digitaler Filter gründet darin, dass gemäß (3.231) die Systemfunktion des LSI-Systems S
eingeschränkt auf den Einheitskreis die Frequenzantwort des Systems ist:
Ψ S (e iω ) = ΘS (ω) (3.257)
Dazu muss die Systemfunktion natürlich auf dem Einheitskreis überhaupt definiert sein.
Ist das der Fall, dann übertragen sich alle Eigenschaften der Systemfunktion als einer z-
Transformierten direkt auf die Frequenzantwort.
3.9 Pole
Viele komplexe Funktionen sind nur auf einer echten Teilmenge von C definiert. Die kom-
plexen Zahlen, für die kein Funktionswert existiert, können einen ganz verschiedenen Cha-
rakter annehmen, was ihren Einfluss auf die existierenden Funktionswerte betrifft. Bei-
spielsweise ist die Funktion
√
h: { z ∈ C ∣ R(z) ≥ } → C f (z) = z+z
auf der Halbebene links der imaginären Achse nicht definiert. Ist u eine komplexe Zahl,
für die h(z) nicht existiert, gilt also R(u) < , dann existiert der Grenzwert
lim h(z)
z→u
R(z)≥
nicht, wie nahe auch u bei der imaginären Achse gelegen ist. Denn um jedes solche u kann
eine Kreisscheibe gelegt werden, die ganz links von der imaginären Achse gelegen ist. Das
ist bei der folgenden Funktion anders:
g: C ∖ {} → C g(z) =
(z − )
Hier hat die Zahl 1 ohne existierenden Funktionswert g() einen großen Einfluss auf die
sie umgebenden Zahlen z mit existierendem Funktionswert. Ist nämlich eine positive reelle
Zahl λ gegeben, dann lässt sich eine positive reelle Zahl δ finden mit
Zu jedem positiven λ, und sei es noch so groß, lässt sich also eine Kreisscheibe um 1 so
finden, dass für jedes von 1 verschiedene z aus dieser Kreisscheibe g(z) einen Betrag größer
174 3 Grundlagen der digitalen Signalverarbeitung
√
als λ besitzt. Man hat dazu nur δ = λ− zu wählen:
√
∣z − ∣ < /⇒ ∣(z − ) ∣ = ∣z − ∣ <
λ λ
Mit anderen Worten: Der Betrag von g kann in der Nähe von 1 beliebig groß gemacht
werden. Geht man zur erweiterten komplexen Ebene C∗ = C ∪ {∞} über, dann bedeu-
tet (3.258) folgendes:
lim g(z) = ∞ (3.259)
z→
Es ist in der erweiterten komplexen Ebenen C∗ daher möglich, die Funktion g in z = auf
sinnvolle Weise zu ergänzen, nämlich durch
g() = ∞
Es sei f eine rationale Funktion.22 Weil in der stereographischen Projektion23 von C∗ dem
Element ∞ ein Pol der RIEMANNschen Zahlenkugel entspricht (der Nordpol), heißt ei-
ne Zahl z, deren Funktionswert f (z) nicht existiert, aber (sinnvoll, d. h. bei Gültigkeit
von (3.259)) durch f (z) = ∞ ergänzt werden kann, ein Pol der Funktion f . Die Pole einer
rationalen Funktion f = UV sind gerade die Nullstellen des Nennerpolynoms, und zwar nur
dann, wenn diese Nullstellen nicht auch Nullstellen des Zählerpolynoms U sind, andern-
falls man die Linearfaktoren für diese Nullstellen herauskürzen könnte. Es gibt daher zu
einem Pol p von f eine positive natürliche Zahl k so, dass der folgende Grenzwert existiert
und einen von Null verschiedenen Wert c besitzt:
U(z)
lim (z − p) k =c≠ (3.260)
z→p V (z)
Denn wenn p eine k-fache Nullstelle von V ist, dann enthält V den Faktor (z − p) k , der
für z ≠ p in (3.260) herausgekürzt werden kann, und der Grenzwert ist der Wert der nach
dem Kürzen verbliebenen rationalen Funktion an der Stelle p. Weil p keine Nullstelle von
U ist, ist der Grenzwert von Null verschieden.
Es sei nun umgekehrt (3.260) gegeben. Dann enthält V den Faktor (z − p) k und p ist
deshalb ein Pol von f . Denn andernfalls ließe sich eine (kleine) Kreisscheibe um p legen, in
der V (z) von Null verschieden und f daher beschränkt ist. Dann wäre aber c = in (3.260)!
Eine beliebige auf einer echten Teilmenge D von C definierte komplexe Funktion soll an
der Stelle p ∉ D einen Pol besitzen, wenn sie sich dort wie eine rationale Funktion (z − p)−k
verhält!
Sei D eine echte Teilmenge von C und f eine auf D definierte komplexe Funktion. Dann heißt
q ∉ D ein Pol der Ordnung k, wenn es eine natürlichen Zahl k > gibt, für die der folgende
22
D.h. der Quotient zweier Polynome.
23
Siehe z. B. [Dett].
3.9 Pole 175
Existiert der Grenzwert (3.261), dann gibt es eine Kreisscheibe K um p so, dass g(z) =
(z − p) k f (z) auf K ∖ {p} definiert und beschränkt ist. Daraus folgt
g(z)
lim f (z) = lim =∞
z→p z→p (z − p) k
z∈K∖{p} z∈K∖{p}
Auch im allgemeinen Fall kann also f in einem Pol p durch f (p) = ∞ ergänzt werden.
Dazu ein Beispiel. Die Funktion
f : { z ∈ C ∣ cos(iz) ≠ } → C f (z) =
cos(iz)
ist in den Nullstellen der Funktion z ↦ cos(iz) nicht definiert. Diese Nullstellen sind ge-
geben durch iz = (n + ) π , n ∈ Z:
π
z n = −i(n + )
Es sind tatsächlich Pole der Ordnung 1 von f :
z − zn i
lim = lim = = ±i ≠
z→z n cos(iz) z→z n − sin(iz)i sin ((n + ) π )
Dabei ist natürlich die Regel von de l’Hospital verwendet worden. Die Funktion f verhält
sich also in der Nähe der z n wie die Funktion z ↦ (z − z n )− . Man kann hier vermuten,
dass die z n Pole der Ordnung 2 der Funktion
f : C ∖ { zn ∣ n ∈ Z } → C f (z) =
cos(iz)
(z − z n ) z
lim = lim = lim
z→z n cos(iz) z→z n −i cos(iz) sin(iz) z→z n cos(iz) − sin(iz)
= = − ≠
− sin(iz n )
Eine auf einer Teilmenge D von C definierte Funktion f : D → C heiße hermitesch, wenn
für alle z ∈ C
z ∈ D ∧ z ∈ D ⇒ f (z) = f (z) (3.262)
erfüllt ist: Der Funktionswert einer Konjugierten ist die Konjugierte des Funktionswertes.
Dank der Eigenschaften der Konjugation (z ↦ z ist ein Automorphismus von C) sind sehr
viele praktisch bedeutsame Funktionen hermitesch. Ganz offensichtlich sind Polynome mit
reellen Koeffizienten hermitesch. Die Exponentialfunktion ist dann als Grenzwert einer
Folge von Polynomen mit reellen Koeffizienten ebenfalls hermitesch. Folglich sind auch
alle Funktionen, die mit Hilfe der Grundrechenarten mit der Exponentialfunktion gebildet
werden können, hermitesch. Dazu zählen beispielsweise
Dass mit p auch p ein Pol ist gilt nun nicht nur für rationale Funktionen, sondern ganz
allgemein für jede hermitesche Funktion:
Es sei f : D → C eine hermitesche Funktion. Ist p ∈ D ein Pol und ist p ∈ D, dann ist auch p
ein Pol.
Sei p ein Pol der Ordnung k von f . Dann gilt (3.261). Es gibt daher zu jedem reellen ε >
ein reelles δ > mit
Eben das muss auch für p statt p gezeigt werden. Es sei also ε > vorgegeben. Ein δ > sei
so gewählt, dass (3.263) erfüllt ist. Es sei z ein Element von D in der δ-Umgebung von p,
d. h. es ist z ∈ D und ∣z − p∣ < δ. Wegen
∣z − p∣ = ∣z − p∣ = ∣z − p∣
Die Frequenzantwort eines LSI-Systems S ist seine auf den Einheitskreis eingeschränkte
Systemfunktion und der Amplitudengang ist der Betrag der Frequenzantwort:
Ist die Systemfunktion eine rationale Funktion von z − , d. h. ist die Systemfunktion durch
k
P(z) ∑κ= u κ z −κ
Ψ S (z) = = m (3.265)
Q(z) ∑ μ= v μ z −μ
γS (ω) = ∣Ψ S (e iω )∣
P(e iω )
=∣ ∣ (3.266)
Q(e iω )
∣P(e iω )∣
= (3.267)
∣Q(e iω )∣
Ist nur der Amplitudengang zu berechnen, dann kann (3.267) benutzt werden, d. h. es ist
der Betrag eines Polynoms in e −iω zu berechnen. Es sei dazu
n
R n (z) = ∑ a ν z −ν (3.268)
ν=
Der Fall n = zeigt schon, wie die Rechnung im allgemeinen Fall abläuft:
∣R (e iω )∣ = R (e iω )R (e −iω )
= a + a + a + (a a + a a )e −iω + a a e −i ω + (a a + a a )e iω
+ a a e −i ω
= a + a + a + (a a + a a )(e iω + e −iω ) + a a (e i ω + e −iω )
= a + a + a + (a a + a a ) cos(ω) + a a cos(ω)
Jeder Term von R (e −i ω ) wird mit jedem Term von R (e iω ) multipliziert und die Pro-
dukte werden nach Potenzen von e iω zusammengefasst. Dabei wird natürlich wieder vom
178 3 Grundlagen der digitalen Signalverarbeitung
n
r n, = ∑ a μ (3.270a)
μ=
n−ν
r n,ν = ∑ a μ a ν+μ (3.270b)
μ=
n
∣R n (e iω )∣ = ∣ ∑ r n,ν cos(νω)∣ (3.271)
ν=
Werden nun für P und Q Koeffizienten p k,κ und q m,μ gemäß (3.270a) und (3.270b) defi-
niert, dann erhält man für den gesuchten Amplitudengang
f
g ∣∑ k p cos(κω)∣
g κ= k,κ
γS (ω) = g
h m (3.272)
∣∑ μ= q m,μ cos(μω)∣
Bei dieser Methode zur Berechnung des Amplitudengangs werden der Real- und Ima-
ginärteil von Ψ S (e iω ) nicht erhalten, sie kann also nicht dazu verwendet werden, den
Phasengang
ϕS (ω) = Φ(Ψ S (e iω )) (3.273)
zu ermitteln. Die Berechnung des Real- und des Imaginärteils ist jedoch einfach genug:
n
R n (e iω ) = ∑ a ν e −iω
ν=
n
= ∑ a ν (cos(−νω) + i sin(−νω))
ν=
n n
= ∑ a ν cos(νω) − i ∑ a ν sin(νω)
ν= ν=
n
R(R n (e iω )) = ∑ a ν cos(νω) (3.274a)
ν=
n
I(R n (e iω )) = − ∑ a ν sin(νω) (3.274b)
ν=
3.11 Kausale Systeme 179
Damit sind die Realteile Px (ω) und Q x (ω) und die Imaginärteile Py (ω) und Q y (ω) von
P(e iω ) und Q(e iω ) bestimmt. Die Zerlegung von Ψ S (e iω ) in Real- und Imaginärteil er-
folgt dann über die bekannte Formel für den Quotienten zweier komplexer Zahlen:
Px (ω) + iPy (ω) Px (ω)Q x (ω) + Py (ω)Q y (ω) Py (ω)Q x (ω) − Px (ω)Q y (ω)
= +i
Q x (ω) + iQ y (ω) Q x (ω) + Q y (ω)
Q x (ω) + Q y (ω)
Man vergleiche dazu auch die Ausführungen im Abschn. 2 (Definition von ϕS in Kap. 2).
Insbesondere gilt i. A. nicht
Als noch nicht Alles und Jedes digitalisiert war, spielten kausale Systeme eine große Rolle.
Noch 1993 heißt es (siehe [Hes] S. 18) Alle in der Praxis realisierten Systeme sind kausal.
Dabei ist Kausalität in [Hes] wie folgt definiert:
Ein System ist kausal, wenn jeder Abtastwert des Ausgangssignals y(n) nur von zeitlich zu-
rückliegenden, höchstens aber gleichzeitigen Abtastwerten des Eingangssignals x(n) abhängt:
Andere Autoren definieren kausale Systeme ähnlich vage. So heißt es z. B. in [Ham] page 7
Filters that use only past and current values of the data are called causal, for if time is the inde-
pendent variable, they do not react to future events but only past ones (causes).
180 3 Grundlagen der digitalen Signalverarbeitung
Abhängen und use sind unscharfe Begriffe, die zur Untersuchung konkreter Systeme nicht
taugen. Es gibt jedoch eine präzise und operative Definition eines kausalen Systems, die in
Worten wie folgt lautet:
Ein System S heißt kausal, wenn für alle Signale x und y und jedes m ∈ Z aus x(n) = y(n)
für n ≤ m auch S(x)(n) = S(y)(n) für n ≤ m folgt.
Weil nun die Verneinung dieser Aussage ebenso wichtig ist wie die Aussage selbst, empfiehlt
es sich, die Definition auch rein formal aufzuschreiben:
⋁ ⋁ ⋁ ( ⋀ n ≤ m /⇒ x (n) = y (n))
x ∈S y ∈S m ∈Z n∈Z
Es sei S ein nichtkausales System, mit x , y und m wie in der negierten Aussage ange-
geben. Es sei m ≥ . Dann kann S z. B. nicht von der Gestalt
m
S(x)(n) = ∑ a μ x(n − μ)
μ=
sein, also S(x)(n) nicht nur von gegenwärtigen und vergangenen Signalwerten x(n) bis
x(n − m ) abhängen. Denn dann erhielte man für jedes n ≤ m
m m
S(x )(n) = ∑ a μ x(n − μ) = ∑ a μ y(n − μ) = S(y )(n),
μ= μ=
im Widerspruch zur negierten Aussage, dass es ein n ≤ m geben muss, auf dem S(x )
und S(y ) nicht übereinstimmen.
Die Bedingung (3.278) kann direkt für den Beweis der Kausalität, ihre Verneinung für
den Beweis der Antikausalität eines Systems herangezogen werden. So ist Beispielsweise
das durch
S(x)(n) = log( + x(n) )
definierte System (weder linear noch shift-invariant) kausal, denn aus x(n) = y(n) für
n ≤ m folgt natürlich für solche n
gegebene System nicht kausal, denn für x = δ und y = δ gilt x(n) = y(n) für n ≤ −, es
ist aber S(x)(−) ≠ S(y)(−), denn
Die Antikausalität hat ihren Grund offenbar darin, dass zur Berechnung von S(x)(n) ein
„zukünftiger“ Signalwert x(n + ) verwendet wird.
Die Bedingung (3.278) ist allerdings nicht immer so leicht zu testen. Für LSI-System
gibt es aber ein einfach nachzuprüfendes Kriterium:
Es sei S ein LSI-System. Dann sind die folgenden beiden Aussagen äquivalent:
LSI-Systeme sind also genau dann kausal, wenn ihre Einheitsimpulsantwort für negative
Argumente verschwindet. Das ist leicht einzusehen.
Es gelte ΔS (n) = für n < .
Es seien x und y Signale mit x(n) = y(n) für n ≤ m. Bei einem LSI-System erhält man
für die Differenz von S(x) und S(y) folgendes:
∞ ∞
S(x)(n) − S(y)(n) = ∑ ΔS (n − ν)x ν − ∑ ΔS (n − ν)y ν
ν=−∞ ν=−∞
∞
= ∑ ΔS (n − ν)(x ν − y ν )
ν=−∞
∞
= ∑ ΔS (n − ν)(x ν − y ν )
ν=m+
Es gelte n − ν < , d. h. n < ν. Für solche ν innerhalb der Summationsgrenzen folgt daraus
wegen der Annahme n ≤ m
ν ≥ m + ≥ n + > n,
ν ≥ m + /⇒ ΔS (n − ν) =
= ΔS (n − )( − )
= ΔS (n − )
Wegen x(n) = y(n) für n ≤ und wegen der Kausalität von S folgt daraus
n ≤ /⇒ = x n − y n = ΔS (n − )
Solch eine Reihe konvergiert im ganzen Äußeren einer Kreisscheibe, d. h. es gibt eine po-
sitive reelle Zahl R so, dass die Menge
zum Definitionsbereich der Systemfunktion gehört. Notwendig für die Kausalität eines
LSI-Systems ist daher, dass seine Systemfunktion außerhalb einer Kreisscheibe definiert
ist.
Daraus folgt beispielsweise, dass die Gammafunktion Γ nicht die Systemfunktion eines
kausalen LSI-Systems sein kann, denn die Funktion Γ hat bekanntlich einfache Pole bei
z = −n, n ∈ N, es gibt also keine Kreisscheibe, außerhalb welcher die Gammafunktion
überall definiert wäre.
Für die Systemfunktion eines kausalen LSI-Systems ist z = ∞ keine Singularität, d. h.
weder ein Pol noch eine wesentliche Singularität. Dabei hat eine komplexe Funktion f eine
Singularität bei z = ∞, wenn die Funktion
z↦ f( )
z
eine solche Singularität bei z = besitzt. Es ist nämlich
∞
Ψ S ( ) = ΔS () + ∑ ΔS (ν)z ν ,
z ν=
3.11 Kausale Systeme 183
woraus sich sofort ergibt, dass ∞ eine hebbare (d. h. keine) Singularität ist:
lim Ψ S ( ) = ΔS ()
z→ z
Es ist daher festzuhalten: Die Singularitäten der Systemfunktion eines kausalen LSI-
Systems liegen alle innerhalb einer Kreisscheibe ∣z∣ ≤ r.
Zu beachten ist aber, dass die beiden Bedingungen
wirklich nur notwendige Bedingungen sind. Aus der Tatsache, dass beide Bedingungen
erfüllt sind, kann also nicht geschlossen werden, dass S kausal ist. Ein Gegenbeispiel ist die
Systemfunktion
Ψ S (z) = e −z + .
z
Der Definitionsbereich ist ∣z∣ > , das Äußere einer Kreisscheibe, und wegen
limz←∞ Ψ S (z) = ist ∞ eine hebbare Singularität. Es ist jedoch
∞
(−)n n −∞
(−)∣n∣ −n
Ψ S (z) = ∑ z + z − = ∑ z + + z −
n= n! n=− ∣n∣!
Die Koeffizienten dieser Entwicklung sind die Werte der Einheitsimpulsantwort von S,
wegen
(−)n
ΔS (−n) = ≠ für n ∈ N
n!
ist das System nicht kausal.
Ist die Systemfunktion eine rationale Funktion, dann sind die beiden Bedingungen al-
lerdings hinreichend. Gibt es also komplexe Polynome P und Q mit
P(z)
Ψ S (z) =
Q(z)
und sind für diese Systemfunktion die beiden Bedingungen
24
Falls mehrfache Wurzeln des Polynoms Q existieren muss eine kompliziertere Partialbruchzerle-
gung durchgeführt werden.
184 3 Grundlagen der digitalen Signalverarbeitung
=
z − a i z − azi
a i a i a i
= ( + + + + ⋯)
z z z z
a i a i a i
= + + + +⋯
z z z z
Weil jeder Summand in (3.281) eine solche Entwicklung hat, gilt das natürlich auch für die
Summe:
∞
cν c c c
=∑ ν = + + +⋯
Q(z) ν= z z z z
Daraus folgt sofort eine Entwicklung für die speziellen Zählerpolynome P(z) = z m :
Dann erhält man für ein allgemeines Zählerpolynom P eine ebensolche Entwicklung (mit
einer geeigneteren Indizierung):
P(z) d d d
= d−k z k + d−k+ z k− + ⋯ + d + + + + ⋯
Q(z) z z z
ΔS () ΔS ()
Ψ S (z) = ΔS (−k)z k + ΔS (−k + )z k− + ⋯ + ΔS () + + +⋯
z z
Nach Voraussetzung konvergiert die Reihe außerhalb einer Kreisscheibe, und der Grenz-
wert der Funktion für z → ∞ existiert und ist eine komplexe Zahl. Dann kann aber die
Reihe keine Glieder mit z j , j > , enthalten, denn dann gelte bereits limz→∞ z k = ∞ und
damit erst recht limz→∞ Ψ S (z) = ∞. Also gilt ΔS ( j) = für j < : Das System S ist kausal.
Als Beispiel kann die Systemfunktion
z− z − (z − ) z − − z −
Ψ S (z) = = − = ∣z∣ > (3.282)
z(z − ) z z(z − ) − z −
3.11 Kausale Systeme 185
dienen. Aus der Darstellung mit z − folgt sofort limz→∞ Ψ S (z) = , das System ist da-
her kausal. Die Berechnung der Reihenentwicklung der Systemfunktion bestätigt diesen
Schluss:
∞
Ψ S (z) = (z − − z − ) −
= (z − − z − ) ∑ z −ν
−z ν=
= (z − − z − )( + z − + z − + ⋯)
= z − − z − − z − − z − − ⋯
Der finite Fall Im ersten Fall ist die Einheitsimpulsantwort ΔS finit, d. h. es gibt eine po-
sitive natürliche Zahl m mit ΔS (m) ≠ und ΔS (n) = für n > m. Für die Systemfunktion
ergibt sich daraus
m
Ψ S (z) = ∑ ΔS (μ)z −μ
μ=
m
= ∑ ΔS (μ)z
m−μ
z m μ=
m
= ∑ ΔS (m − μ)z
μ
z m μ=
m
= ∑ aμz
μ
z m μ=
Eine solche Systemfunktion Ψ S ist demnach eine rationale Funktion, die genau einen Pol
der Ordnung m im Nullpunkt und bei komplexen Koeffizienten a μ m Nullstellen besitzt.
Durch den im Nullpunkt festliegenden Pol sind sie allerdings recht unflexibel. Ein Pol z P
einer komplexen Funktion f hat nämlich die Eigenschaft
Will man also erreichen, dass ein Filter F eine bestimmte Frequenz ω nicht dämpft, dann
kann man einen Pol der Systemfunktion in die Nähe von e iω legen und so für einen großen
Wert der Frequenzantwort sorgen (die Systemfunktion ist auf dem Einheitskreis die Fre-
quenzantwort des Systems, siehe Abschn. 3.8). Das ist also bei finiten Systemfunktionen
von LSI-Systemen nicht möglich.
186 3 Grundlagen der digitalen Signalverarbeitung
Der nicht-finite Fall Im zweiten Fall ist die Einheitsimpulsantwort ΔS nicht finit. Ein
Beispiel einer Systemfunktion, die keine rationale Funktion ist, ist die Systemfunktion
Ψ S (z) = (z − ) sin ( ) ∣z∣ >
z
Um definitiv festzustellen, ob das LSI-System S kausal ist, bestimmt man die Reihen-
entwicklung der Systemfunktion, um an deren Koeffizienten, also den Werten der Ein-
heitsimpulsantwort ΔS , die Kausalität oder Antikausalität abzulesen. Falls die Berechnung
der Reihenentwicklung sehr aufwendig ist, hat man die Möglichkeit, erst die notwendi-
ge Bedingung, dass ∞ keine Singularität ist, zu testen. Das ist hier kein Problem. Es ist
nämlich
lim sin(z − ) =
z→∞
sin(z − ) −z − cos(z − )
lim z sin(z − ) = lim = lim lim cos(z − ) =
z→∞ z→∞ z − z→∞ −z − z→∞
Die notwendige Bedingung ist damit erfüllt, die Kausalität des Systems ist nicht ausge-
schlossen und man kann daran gehen, die (angenommenerweise schwierig zu erlangende)
Reihenentwicklung der Systemfunktion zu berechnen:
Ψ S (z) = (z − ) sin ( )
z
= (z − ) ( − + − . . .)
z !z !z
=− − + + − − + +...
z !z !z !z !z !z !z
Die Koeffizienten der Reihe geben die Werte der Einheitsimpulsantwort ΔS des Systems:
⎧
⎪ falls n <
⎪
⎪
⎪
⎪
⎪ (−) n
ΔS (n) = ⎨ (n+)!z n falls n ≥ gerade
⎪
⎪
⎪
⎪
⎪
(n+)
(−)
⎪
⎩ n!z n falls n ≥ ungerade
Die Einheitsimpulsantwort verschwindet für negative n, das System ist daher tatsächlich
kausal.
Digitale antikausale Systeme sind mit Mikroprozessoren oder DSP-Prozessoren auf ein-
fache Weise zu realisieren, aber immer mit einer Verzögerung des Eingangssignals verbun-
den. Wenn also, besonders beim Einsatz von Mikroprozessoren oder Mikrocontrollern,
diese Verzögerung nicht toleriert werden kann oder darf, dann wird man ein kausales Sys-
tem einsetzen. Kausale Systeme verdienen deshalb durchaus einen eigenen Abschnitt!
3.12 Stabile Systeme 187
Signale der realen (physikalischen) Welt können nicht beliebig große Werte annehmen,
irgendwann setzt immer eine Begrenzung ein. In der Welt der digitalen Signalverabeitung
sind Signale allerdings Funktionen mit komplexen Werten, die beliebige Werte annehmen
können. Die folgende Definition ist daher sinnvoll:
Ein Signal x heißt beschränkt, wenn es eine reelle Zahl M ≥ gibt mit ∣x(n)∣ ≤ M für alle
n ∈ Z.
Insbesondere Eingangssignale x für ein System S sind, weil aus der realen Welt stammend,
beschränkt. Weil nun die Ausgangssignale S(x) wieder für die reale Welt bestimmt sind,
müssen diese notwendigerweise ebenfalls beschränkt sein. Ein System, das aus (gewissen)
beschränkten Eingangssignalen unbeschränkte Ausgangssignale erzeugt, ist daher für die
Praxis untauglich. Die tauglichen Systeme werden also wie folgt charakterisiert:
Ein System S heißt stabil, wenn für jedes beschränkte Signal x auch das Signal S(x) be-
schränkt ist.
Ist die Einheitsimpulsantwort ΔS eines Systems S bekannt, dann kann die Stabilitätseigen-
schaft mit Hilfe der Darstellung S(x) = ΔS ∗ x überprüft werden. Es sei beispielsweise ein
LSI-System S durch seine Systemfunktion
z
Ψ S (z) = für ∣z∣ >
z−
⎧
⎪
⎪ für n <
ΔS (n) = ⎨
⎪
⎪ für n ≥
⎩ n
Es sei nun x ein beschränktes Signal, es gelte etwa ∣x(n)∣ ≤ M für alle n. Dann kann wie
folgt abgeschätzt werden:
n n
∣ ∑ x(m − ν)ΔS (ν)∣ ≤ ∑ ∣x(m − ν)∣ ∣ΔS (ν)∣
ν=−n ν=−n
n n ∞
M
≤ M ∑ ∣ΔS (ν)∣ = M ∑ −ν ≤ M ∑ −ν = = M
ν=−n ν= ν= −
188 3 Grundlagen der digitalen Signalverarbeitung
Aus dieser Abschätzung folgt unmittelbar die Beschränktheit von S(x) und damit die Sta-
bilität von S:
n
∣S(x)(m)∣ = ∣ΔS ∗ x(m)∣ = lim ∣ ∑ x(m − ν)ΔS (ν)∣ ≤ M
n→∞ ν=−n
z
Ψ T (z) = für ∣z∣ >
z−
stellt sich dagegen als nicht stabil heraus. Hier ist zunächst die Reihenentwicklung der Sys-
temfunktion zur Bestimmung der Einheitsimpulsantwort:
∞
z
Ψ T (z) = = = ∑ z −ν
z − − z − ν=
Das Ergebnis ist offenbar gerade die Einheitsstufe: ΔT = u, d. h. ΔT (n) = für n ≥ und
ΔT (n) = für n < . Um nun zu zeigen, dass T nicht stabil ist, muss solch ein beschränktes
Signal x angegeben werden, dass T(x) nicht beschränkt ist. Das gelingt mit x = u. Für n ≥
gilt nämlich wegen u(n − ν) = für n < ν
∞ ∞ n
T(u)(n) = ∑ u(n − ν)ΔT (ν) = ∑ u(n − ν), = ∑ = n +
ν=−∞ ν= ν=
d. h. T(u)(n) kann beliebig groß gemacht werden: Zu jeder reellen Zahl M > gibt es ein
n mit T(u)(n) > M.
Die Systemfunktion des stabilen Systems S besitzt einen Pol im Inneren des Einheits-
kreises. Der Pol der Systemfunktion des instabilen Systems T liegt genau auf dem Rand des
Einheitskreises. Hier ist noch ein Beispiel für ein System R, dessen Systemfunktion einem
Pol außerhalb des Einheitskreises hat:
z
Ψ R (z) = für ∣z∣ >
z−
Die Reihenentwicklung lässt sich wie bei den vorangehenden Beispielen berechnen. Man
erhält
ΔR (n) = n u(n)
oder ΔR (n) = n für n ≥ und ΔR (n) = für n < . Das sieht ganz offensichtlich nicht
nach einem stabilen System aus, und tatsächlich ist das Signal
Man ist versucht, daraus eine Regel abzuleiten: Ein System mit einer rationalen System-
funktion ist stabil, wenn alle Pole der Systemfunktion im Innern des Einheitskreises liegen.
Das ist nun tatsächlich eine gültige Regel, die aus einem hinreichenden Kriterium für die
Stabilität von LSI-Systemen folgt. Es ist auch eine praktische Regel, denn einerseits sind
die Pole einer rationalen Funktion recht einfach zu bestimmen, und andererseits gibt man
in vielen Fällen die Pole selbst vor, um zu Filtern mit vorgeschriebenen Eigenschaften zu
gelangen (Darauf wird weiter unten noch ausführlich mit vielen Beispielen eingegangen).
Das angekündigte hinreichende Kriterium für Stabilität lautet nun wie folgt:
Das Kriterium ergibt sich leicht aus einer offensichtlichen Abschätzung von S(x) = ΔS ∗ x.
Nun ist natürlich
∞ ∞
−ν
∑ ∣ΔT (ν)∣ = ∑ ∣ΔT (ν)∣ ∣z ∣ für ∣z∣ =
ν=−∞ ν=−∞
woraus sofort folgt, dass (3.284) damit äquivalent ist, dass die Systemfunktion Ψ S auf dem
Einheitskreis und außerhalb desselben konvergiert. Das ergibt ein neues hinreichendes Kri-
terium für die Stabilität:
Konvergiert die Systemfunktion Ψ S eines LSI-Systems S für ∣z∣ ≥ , dann ist das System stabil.
Ist nun Ψ S eine rationale Funktion, dann konvergiert sie genau dann für ∣z∣ ≥ , d. h.
auf dem Einheitskreis und außerhalb desselben, wenn alle Pole der Funktion im Inne-
ren des Einheitskreises liegen. Das liefert eine weitere Variante des hinreichenden Krite-
riums:
Ist die Systemfunktion Ψ S eines LSI-Systems S eine rationale Funktion, deren Pole alle inner-
halb des Einheitskreises liegen, dann ist das System stabil.
Ein gutes Beispiel ist durch das α-Filter Aα gegeben. Es ist durch eine einfache Differen-
zengleichung definiert:
Darin ist α eine reelle Zahl. Aα (x)(n) ist eine gewichtete Summe von x(n) und Aα (x)(n−
). Wird die Differenzengleichung in der Gestalt
Die Funktion hat einen Pol z α = − α, und dieser Pol liegt im Inneren des Einheitskreises
falls ∣z α ∣ = ∣ − α∣ < gilt, d. h. der Filter ist für < α < stabil. Um ein gewisses Gefühl
dafür zu bekommen, was Stabilität für ein Filter bedeutet, kann man dessen Wirkung auf
die Einheitsstufe u, d. h. Aα (u), untersuchen. Wie verhält sich also der Filter, wenn er mit
einem Strom von Einsen „gefüttert“ wird? Nun kann Aα (u) leicht über die Faltung u ∗
ΔAα berechnet werden, die dazu benötigte Einheitsimpulsantwort erhält man durch die
Reihenentwicklung der Systemfunktion, die sehr leicht zu bekommen ist, weil Ψ Aα eine
simple rationale Funktion in z − ist, die durch eine geometrische Reihe ausgedrückt werden
kann:
∞ ∞
α −α ν
Ψ Aα (z) = = α ∑ ( ) = α ∑ ( − α)ν z −ν
− ( − α)z − ν= z ν=
Die gesuchte Wirkung des Filters auf die Einheitsstufe ist damit
⎧
⎪
⎪ für n <
Aα (u)(n) = ⎨
⎪
⎩ − ( − α)
⎪ für n ≥
n+
Im Zentrum des Stabilitätsbereiches, bei α = , mit dem Pol im Zentrum des Einheitskrei-
ses, ist A (u) = u. Im übrigen Stabilitätsbereich ist wegen limn→∞ ( − ( − α)n+ ) = noch
3.13 Die Verknüpfung von Systemen 191
Aα (u) ≈ u, diese Ähnlichkeit schwindet jedoch je mehr, desto stärker sich der Pol dem
Rand des Einheitskreises nähert, also bei α → und α → . Auf dem Rand des Einheits-
kreises, d. h. für α = oder α = setzt dann Oszillation ein, doch sind A (u) und A (u)
noch beschränkt. Außerhalb des Einheitskreises setzt sich die Oszillation fort, ist jedoch
nicht mehr beschränkt, die Ausschläge der Schwingung werden mit wachsendem n größer
und größer. Diese wilde Schwingung ist natürlich genau das, was man sich unter Instabilität
vorstellt. Eine solche Instabilität kann allerdings dazu verwendet werden, einen Oszillator
aufzubauen!
In der realen Welt können komplexe Systeme aus einfachen Systemen mit genau definier-
ter Schnittstelle zusammengesetzt werden. Mit der Ausnahme des gleichzeitigen parallelen
Ablaufs von Systemen kann das mit digitalen Systemen nachgeahmt werden. Sehr hilfreich
ist dafür, dass digitale Systeme als Abbildungen implementiert werden. Das Hinterein-
anderschalten von Systemen kann so zwanglos durch das Hintereinanderausführen von
Abbildungen realisiert werden.
Die rigorose Anwendung des Abbildungskalküls der Mengenlehre hat den großen Vor-
teil, dass zwangsläufig Fehler vermieden werden, die entstehen, wenn die Verknüpfung
von Systemen auf graphischem Wege geschieht, indem Systeme darstellende Rechtecke
mit Pfeilen verbunden werden, die den Signalfluss zwischen den Systemen anzeigen sollen.
Systeme können nicht nach Belieben verbunden werden, Ausgänge und Eingänge müssen
zueinander passen (siehe dazu die Ausführungen in Abschn. 3.13.1).
Besonders gewichtig ist der mit der Verwendung des Abbildungskalküls verbundene
Vorteil bei der Bestimmung des inversen Systems, so es denn überhaupt existiert. Die ge-
legentlich gemachte Annahme, ein System könne zwei Inverse haben, kann hier gar nicht
erst aufkommen.
Selbstverständlich gibt es auch Nachteile. So ist der Abbildungskalkül nicht für Jeden
problemlos zu meistern. Beispielsweise ist die Abbildung selbst von ihren Werten streng
zu unterscheiden, was in der digitalen Signalverarbeitung nur selten geschieht: Nur zu oft
heißt es die Funktion h(z) oder sogar die Funktion H(e iω ). Besonders nachteilig ist diese
Schreibweise bei der Behandlung der Shift-Invarianz (vergleiche dazu die präzise Definiti-
on in Abschn. 3.2.2).
Die Tatsache, dass das Hintereinanderausführen von Systemen der Multiplikation ihrer
Systemfunktionen entspricht, befreit zwar von der zumeist schwierigen Aufgabe, mit den
Systemen selbst umzugehen, die nicht immer bekannt sind. Das gilt ganz besonders für die
Umkehrung eines Systems. Ganz problemlos ist dieses Vorgehen allerdings nicht. Denn
ob zwei Systemfunktionen überhaupt multipliziert werden dürfen, hängt nicht nur von
ihren Definitionsbereichen ab, sondern auch davon, ob die zugehörigen Systeme hinter-
einandergeschaltet werden können, was man eben nur bei Kenntnis der Systeme feststellen
kann.
192 3 Grundlagen der digitalen Signalverarbeitung
Dieser Abschnitt enthält deshalb einige akribisch durchgerechnete Beispiele zur Illus-
tration der eben erwähnten und noch vieler weiterer Probleme. Es mag sein, dass an einigen
Stellen die Akribie an Pedanterie grenzt, doch ist es sicherlich besser, bei Problemlösungen
zuviel als zuwenig Ableitungsschritte zu durchlaufen.
Systeme bilden Signale auf Signale ab, folglich kann der Ausgang eines Systems der Eingang
eines weiteren (aber auch desselben) Systems sein. Sind S und T zwei Systeme, dann ist die
Hintereinanderschaltung definiert durch25
und in Abb. 3.90 skizziert: Beispielsweise erhält man durch Hintereinanderschalten eines
Hochpasses und eines Tiefpasses eine Bandsperre. Man kann daher komplexe Filter in mo-
dularer Bauweise aus einfacheren Systemen zusammensetzen. Allerdings muss man bei
wenig potenten Prozessoren oft aus Effizienzgründen auf einen modularen Aufbau ver-
zichten.
Für ein einfaches Beispiel seien die Systeme S und T definiert durch
Mit dem Hilfssignal y = S(x) erhält man die Hintereinanderschaltung wie folgt:
k l
S(x)(n) = ∑ s κ x(n − κ) T(x)(n) = ∑ t λ x(n − λ),
κ= λ=
l
(T ○ S)(x)(n) = ∑ t λ S(x)(n − λ)
λ=
25
Zu lesen als T nach S von x.
3.13 Die Verknüpfung von Systemen 193
Fakt [Link] Sind S und T LSI-Systeme, dann ist auch T ○ S ein LSI-System
Dass mit S und T auch T ○ S linear (d. h. additiv und homogen) ist, kann durch eine
ganz einfache Rechnung bestätigt werden, die dem Leser als kleine Fingerübung überlassen
wird. Zur Shift-Invarianz (siehe (3.76) in Abschn. 3.2.2):
(T ○ S)(x) ○ σm = T(S(x)) ○ σm
= T(S(x) ○ σm ) weil T shift-invariant ist
= T(S(x ○ σm )) weil S shift-invariant ist
= (T ○ S)(x ○ σm )
Fakt [Link] Sind S und T LSI-Systeme, dann ist die Einheitsimpulsantwort von T ○ S die
Faltung der Einheitsimpulsantworten von T und S:
ΔT○S = ΔT ∗ ΔS (3.286)
= (ΔT ∗ ΔS )(n)
Ψ T○S = Ψ T Ψ S (3.287)
Mit der Definition der Systemfunktion und weil der Operator Z Faltungen von Signalen
in Produkte abbildet erhält man
Θ T ○S = Θ T Θ S (3.288)
− − − −
Abb. 3.91 ΔS
Fakt [Link] Sind S und T kausale Systeme, dann ist auch T ○ S ein kausales System
Denn seien x und y Signale mit x(n) = y(n) für n ≤ m. Weil S kausal ist, folgt daraus
S(x)(n) = S(y)(n) für n ≤ m. Daraus folgt wiederum wegen der Kausalität von T dass
T(S(x))(n) = T(S(y))(n) gilt für n ≤ m.
Fakt [Link] Sind S und T stabile Systeme, dann ist auch T ○ S ein stabiles System
Denn ein beschränktes Signal geht mit S in ein beschränktes Signal über, das dann mit
T in ein beschränktes Signal übergeht.
Als ein Beispiel soll für das LSI-System S mit der Einheitsimpulsantwort ΔS (n) =
c n u(n) für eine komplexe Zahl ∣c∣ < (die in Abb. 3.91 skizziert ist) die Einheitsimpuls-
antwort von S ○ S bestimmt werden. Mit (3.286) erhält man zunächst
∞ ∞
ΔS○S (n) = ΔS ∗ ΔS (n) = ∑ ΔS (ν)ΔS (n − ν) = ∑ c ν u(ν)c n−ν u(n − ν)
ν=−∞ ν=−∞
∞
= c n ∑ u(ν)u(n − ν)
ν=−∞
Es sei n < . Dann ist u(n − ν) = für ν ≥ und u(ν) = für ν < , d. h. für n < ist
u(n − ν) = oder u(ν) = . Das bedeutet ΔS○S (n) = für n < .
Es sei n ≥ . Dann ist natürlich wieder u(ν) = für ν < , aber auch u(n − ν) = für
n < ν. Das ergibt
n n
ΔS○S (n) = ∑ c ν c n−ν = ∑ c n = (n + )c n
ν= ν=
Die gesuchte Einheitsimpulsantwort ist also ΔS○S (n) = (n+)c n u(n) (sie wird in Abb. 3.92
dargestellt).
Einer der vielen Gründe, zwei Systeme zu verknüpfen, ist die Absicht, mit dem zwei-
ten System die Wirkung des ersten zurückzunehmen. Es sei beispielsweise ein Signal u
gegeben, das allerdings nicht selbst vorliegt, sondern in einer mit zwei Echos verzerrten
Gestalt v:
v(n) = u(n) + u(n − ) + u(n − )
3.13 Die Verknüpfung von Systemen 195
3, 87420489
− − − −
Die Aufgabe besteht natürlich darin, das ursprüngliche „saubere“ Signal s aus dem verzerr-
ten Signal v mit Hilfe eines geeigneten Filters zurückzugewinnen. Um sich solch ein Filter
zu verschaffen betrachtet man das verzerrte Signal v als von einen LSI-System V erzeugt:
V(x)(n) = x(n) + x(n − ) + x(n − )
Was nun noch gebraucht wird ist ein System G mit G(V(x)) = x., denn dann lässt sich s
mit G(v) = G(V(s)) = s. zurückgewinnen. Das motiviert also die folgende Definition.
Ein System T heißt zum System S invers, oder seine Umkehrung, wenn für irgendein Signal x
• die Anwendung von T auf S(x) die Anwendung von S auf x aufhebt,
• die Anwendung von S auf T(x) die Anwendung von T auf x aufhebt.
Damit ein System T zum System S invers ist (und umgekehrt), müssen also die folgenden
Bedingungen erfüllt sein:
T(S(x)) = x = S(T(x)) (3.289)
Diese Bedingung kann mit dem identischen System I(x) = x auch wie folgt geschrieben
werden:
T○S =I=S○T (3.290)
Wenn man beachtet, dass I natürlich ein LSI-System ist und dass die Einheitsimpulsantwort
von I selbstverständlich der Einheitsimpuls ist, dass also ΔI = δ gilt, dann folgt aus (3.290)
mit (3.287)
= Ψ I (z) = Ψ T○S (z) = Ψ T (z)Ψ S (z) (3.291)
Die wesentlichen Fakten wurden soweit vorgestellt. Das nächste Beispiel zeigt jedoch,
dass im Interesse einer einfachen und leicht nachvollziehbaren Darstellung diese Fakten
beträchtlich vereinfacht wurden. Zwei Systeme, welche die Bedingungen (3.289) for-
mal erfüllen, sind der Differenzbildner D und der Addierer A, die wie folgt definiert
196 3 Grundlagen der digitalen Signalverarbeitung
sind:
n
D(x)(n) = x(n) − x(n − ) A(x)(n) = ∑ x(ν)
ν=−∞
Es ist leicht zu sehen, dass die Systeme D und A die beiden Bedingungen erfüllen:
n n−
D(A(x))(n) = A(x)(n) − A(x)(n − ) = ∑ x(ν) − ∑ x(ν) = x(n)
ν=−∞ ν=−∞
n n n n−
A(D(x))(n) = ∑ D(x)(ν) = ∑ (x(ν) − x(ν − )) = ∑ x(ν) − ∑ x(ν) = x(n)
ν=−∞ ν=−∞ ν=−∞ ν=−∞
Es ist andererseits aber leicht zu sehen, dass D keine Umkehrung besitzen kann. Wird näm-
lich das Signal n ↦ mit und das Signal n ↦ mit bezeichnet, dann gilt offenbar
D() = = S(). Gilt also D(x) = , dann kann die Anwendung von D auf x nicht rück-
gängig gemacht werden, weil es mindestens zwei Signale gibt, die auf abgebildet werden.
Die Abbildung D ist nicht injektiv und daher nicht invertierbar.
Liegt also ein Widerspruch vor? Es ist nur ein scheinbarer Widerspruch, der davon aus-
gelöst wird, dass (3.289) für D und A gar nicht gilt. Diese Bedingungen müssen nämlich
für jedes Signal x erfüllt sein, und das können sie nicht, weil A gar nicht für alle Signa-
le definiert ist. Beispielsweise existiert A() nicht, weil die resultierende unendliche Reihe
divergiert.
Das Problem ist daher, dass Signale keine Abbildungen der Signalmenge S in sich sind,
sondern von Teilmengen von S in S. Der Definitionsbereich dom(U) eines Systems U
kann eine echte Teilmenge der Menge aller Signale sein. Das hat Konsequenzen.
i) Die Hintereinanderschaltung T ○ S zweier Systeme S und T ist nur dann definiert, wenn
die Bedingung
ran(S) ⊂ dom(T) (3.292)
erfüllt ist, d. h. der Bildbereich des Systems S muss eine Teilmenge des Definitionsbe-
reiches von T sein.
ii) Die Summe T + S zweier Systeme S und T hat den Definitionsbereich
Das bedeutet nun nicht, dass stets der Definitions- und Bildbereich aller betrachteten Sys-
teme bestimmt werden müssten. Eine solche Bestimmung ist in vielen Fällen auch gar nicht
möglich. Was ist z. B. dom(A)? Die Formulierung
n
dom(A) = { x ∈ S ∣ ∑ ∣x(ν)∣ < ∞ }
ν=−∞
3.13 Die Verknüpfung von Systemen 197
ist wenig hilfreich, denn sie besagt im Wesentlichen, dass der Definitionsbereich von A aus
solchen x besteht, für die A(x) definiert ist. Gehört z. B. das durch
α
r(n) = (−)−n ( ) α∈R
−n
definierte Signal zu dom(A)?26 Für alle praktischen Zwecke ist der genaue Inhalt von
dom(A) unbekannt. Wesentlich ist, dass Kriterien wie (3.290) nicht blindlings benutzt
werden dürfen, um nicht zu falschen Schlüssen zu kommen. Im Falle von D und A bedeutet
das, zu bemerken, dass die uneingeschränkte Aussage, D und A seien zueinander invers,
falsch ist, und diese Aussage nicht in weiteren Rechnungen und Schlüssen einzusetzen.
Man kann natürlich versuchen, eine Teilmenge X von S zu finden, auf der die Einschrän-
kungen von D und A zueinander invers sind. Auf den ersten Blick ist X = dom(A) ein
Kandidat, denn es gilt offensichtlich
jedoch nicht, d. h. D ○ A ist nicht auf ganz dom(A) definiert. Um das zu zeigen, muss ein
summierbares Signal x so angegeben werden, dass A(x) nicht summierbar ist. Dazu kann
das Signal
⎧
⎪
⎪
für n <
x(n) = ⎨ (∣n∣−)(∣n∣+)
⎪
⎪ für n ≥
⎩
dienen. Eine elementare Rechnung ergibt nämlich
A(x)(n) = für n <
∣n∣ −
26
Ja für α ≥ , nein für α < (Nach dem RAABEschen Kriterium).
198 3 Grundlagen der digitalen Signalverarbeitung
Die Gl. (3.287) (und dann auch die Folgerung (3.291)) ist im Hinblick auf Abschn. 3.8
ebenfalls zu schön, um wahr zu sein. Die tatsächlichen Verhältnisse können selbst bei recht
einfachen Systemen (d. h. Systemen mit einfacher Systemfunktion) von verwickelter Art
sein. Dazu ein Beispiel. Ausgangspunkt ist das LSI-System S, definiert durch die Differen-
zengleichung
S(x)(n) = S(x)(n − ) + x(n) − x(n − )
Die der Differenzengleichung abzulesende Formel für die Systemfunktion ist
− z − z−
=
− z − z−
Die Differenzengleichung definiert ein kausales System S, der Definitionsbereich der Sys-
temfunktion ist deshalb ein Kreisring um den Nullpunkt, und zwar der größte solcher
Kreisringe. Das ergibt die folgende Systemfunktion:
z−
− z −
Ψ S : { z ∈ C ∣ ∣z∣ > } →C Ψ S (z) =
=
z−
− z −
Nach (3.291) ist die Systemfunktion des inversen Systems T des Systems S formelmäßig,
d. h. rein formal ohne Berücksichtigung des Definitionsbereiches, gegeben durch
z−
− z −
Ψ T (z) = =
=
Ψ S (z) z −
− z −
Es gibt zwei Funktionen, die als Systemfunktion für T in Frage kommen, nämlich
f : { z ∈ C ∣ ∣z∣ < } → C und g: { z ∈ C ∣ ∣z∣ > } →C
Wenn T ○ S auf einer Teilmenge von S definiert ist, was bei LSI-Systemen der Fall ist,,
wenn also neben Ψ S und Ψ T auch Ψ T○S auf einem Kreisring um den Nullpunkt existiert,
dann gibt es nach (3.291) eine nicht leere Teilmenge D ⊂ C mit der Eigenschaft
Diese Bedingung ist für die Funktion f sicher für keine Teilmenge von C erfüllt, denn es
gilt offensichtlich
dom(Ψ S ) ∩ dom( f ) = ∅
Die Funktion g erfüllt diese Bedingung jedoch. Setzt man
z−
− z −
Ψ T : { z ∈ C ∣ ∣z∣ > } →C Ψ T (z) =
=
z−
− z −
3.13 Die Verknüpfung von Systemen 199
An der Systemfunktion lässt sich nun wieder eine Differenzengleichung für das System
ablesen:
T(x)(n) = T(x)(n − ) + x(n) − x(n − )
Wenn die bisherigen Überlegungen stimmen, dann müsste die Bedingung (3.289) auch
mit Hilfe der Differenzengleichungen ableitbar sein. Um zu zeigen, dass das tatsächlich der
Fall ist, werden die beiden Differenzengleichungen noch einmal in einer für das Rechnen
bequemen Gestalt (ohne Argumente) angeführt:
S(x) = S(x) ○ σ + x − x ○ σ (3.294)
T(x) = T(x) ○ σ + x − x ○ σ (3.295)
Die Rechnung zur Verifikation von T(S(x)) = x verläuft dann wie folgt:
T(S(x)) = T(S(x)) ○ σ + T(x) − T(x) ○ σ T ist LSI
= T(S(x)) ○ σ + T(x) ○ σ + x − x ○ σ − T(x) ○ σ (3.295) eingesetzt
= T(S(x)) ○ σ + x − x ○ σ
= (T(S(x)) − S(x) + S(x) ○ σ ) + x − x ○ σ wieder (3.295)
= (T(S(x)) − x + x ○ σ ) + x − x ○ σ (3.294) eingesetzt
= T(S(x)) − x
Daraus folgt nach einfacher Umstellung die gewünschte Beziehung. Die Verifikation der
Inversen Beziehung S(T(x)) = x verläuft ganz ähnlich und bleibe dem Leser als einfache
Übungsaufgabe überlassen.
Diese Ableitung ist jedoch rein formal und zeigt nur folgendes: Falls es ein Signal x
gibt, für das T(S(x)) definiert ist, d. h. S(x) existiert und es gilt S(x) ∈ dom(T), dann
ist T(S(x)) = x. Solche Signale sind allerdings leicht zu finden. Weil die Pole der beiden
Systemfunktionen innerhalb des Einheitskreises liegen, sind die Systeme S und T stabil,
d. h. sie bilden beschränkte Signale auf beschränkte Signale ab. Anders ausgedrückt: S und
T bilden den Untervektorraum B der beschränkten Signale in S in sich ab (B ⊂ dom(S)
und B ⊂ dom(T) vorausgesetzt).
S und T sind also zueinander invers zumindest eingeschränkt auf den Unterraum B, der
insbesondere alle in der realen Welt vorkommenenden Signale enthält.
Es ist zwar richtig, dass man zur Anwendung eines Systems U nur eine Differenzenglei-
chung benötigt und dass zur Beurteilung der Güte von U die Kenntnis der Systemfunktion
ausreicht, die völlige Anonymität des Systems U selbst erzeugt jedoch ein ungutes Gefühl.
Es sollte schon versucht werden, wenigstens U(δ) = ΔU und möglichst noch U(u) zu
bestimmen.27 Aus dem Aufbau von ΔU lassen sich oft Erkenntnisse über den Definitions-
bereich dom(U) und den Bildbereich ran(U) von U gewinnen.
Hier soll beispielhaft die Einheitsimpulsantwort ΔS von S bestimmt werden. Wie das
geschehen kann wurde bereits in Abschn. 3.7.5 gezeigt:
ΔS = Z − (Ψ S )
Leider gibt es für Ψ S keinen Eintrag in Tab. 3.4 (in Abschn. 3.7.5), was bedeutet, dass die
Partialbruchzerlegung von Ψ S zu bestimmen ist. Der Ansatz ist
z− = Q(z) (z − ) + R(z) (3.296)
mit Polynomen Q und R, mit grad(R) < grad(z − ) = . Sind Q und R gefunden, dann
ist die Partialbruchzerlegung gegeben durch
z−
R(z)
= Q(z) +
z−
z −
Man sieht sofort, dass auch grad(Q) = gelten muss, d. h. es Q und R sind konstante
Polynome: Q(z) = q und R(z) = r. Die beiden Koeffizienten werden durch einen schnell
durchgeführten Koeffizientenvergleich der rechten und linken Seite von (3.296) als q =
und r = ermittelt, was auf die folgende Partialbruchzerlegung führt:
z−
=+
z−
z−
Unter Beachtung von ∣z∣ > liefert jetzt der zweite Eintrag in Tab. 3.4 zusammen mit der
Linearität der z-Transformation
n−
ΔS (n) = δ(n) + (( ) u(n) − δ(n))
n−
= δ(n) + ( ) u(n)
Das Signal ΔS ist als Einheitsimpulsantwort eines kausalen Systems natürlich rechtsseitig,
es ist in Abb. 3.93 skizziert.
27
In Abschn. 3.7.5 wurde gezeigt, wie man die Einheitsimpulsantwort bei numerisch gegebener Sys-
temfunktion numerisch bestimmen kann.
3.13 Die Verknüpfung von Systemen 201
Für ein beliebiges Signal x wird nun S(x) als Faltung von x mit ΔS berechnet. Das
Ergebnis ist eine unendliche Differenzengleichung für S(x):
∞
S(x)(n) = ∑ ΔS (ν)x(n − ν)
ν=−∞
∞
ν−
= ∑ ( δ(ν) + ( ) u(ν)) x(n − ν)
ν=−∞
∞ ν−
= x(n) + ∑ ( ) u(ν)x(n − ν)
ν=−∞
∞ ν
= x(n) + ∑ ( ) x(n − ν)
ν=
∞ ν
= x(n) + ∑ ( ) x(n − ν)
ν=
Etwas weiter oben war B ⊂ dom(S) angenommen worden. Das kann jetzt leicht verifi-
ziert werden. Es sei x ein beschränktes Signal, etwa ∣x(n)∣ ≤ ξ für alle n. Aus der soeben
gewonnenen Darstellung für S(x) folgt dann28
∞ ν ∞ ν
∣S(x)(n)∣ ≤ ∣x(n)∣ + ∑ ∣ ∣ ∣x(n − ν)∣ ≤ ξ + ξ ∑ ∣ ∣ = ξ + ξ = ξ
ν= ν=
Es ist auch zu erkennen, dass S(x) für rechtsseitige Signale x existiert (d. h. für Signale x
mit x(n) = für n < ), und dass rechtsseitige Signale auf rechtsseitige Signale abgebildet
werden. Denn für n < gilt x(n − ν) = für alle ν ≥ und für n ≥ ist x(n − ν) = für
ν > n:
∞ ⎧
⎪
ν ⎪ für n <
∑ ( ) x(n − ν) = ⎨ n
⎪ ν
⎩∑ν= ( ) x(n − ν) für n ≥
⎪
ν=
Der Untervektorraum R der rechtsseitigen Signale wird also von S in sich selbst abgebildet:
S[R] ⊂ R
28
Ist ∑ a ν eine absolut konvergente Reihe und bilden die α ν eine beschränkte Folge, dann ist auch
die Reihe ∑ α ν a ν absolut konvergent.
202 3 Grundlagen der digitalen Signalverarbeitung
Weil die Unterräume B und R in sich abgebildet werden, gilt das auch für ihre Summe:
S[B + R] ⊂ B + R
Für das spezielle rechtsseitige Signal u, die Einheitsstufe, erhält man für n ≥
n+
n ν − ()
n
S(u)(n) = + ∑ ( ) = + =−( )
ν= −
n
oder mit u dargestellt als S(u)(n) = u(n) − ( ) u(n) (siehe Abb. 3.94).
Die eben für S durchgeführten Berechnungen können vollkommen analog auch für das
System T durchgeführt werden. Die tatsächliche Ausführung sei dem Leser als Übungs-
aufgabe überlassen, es werden nur die Ergebnisse präsentiert:
n+
ΔT (n) = δ(n) − ( ) u(n)
∞ ν
T(x)(n) = x(n) − ∑ ( ) x(n − ν)
ν=
n+
T(u)(n) = u(n) + ( ) u(n)
Wie S bildet auch das System T die Unterräume B und R in sich selbst ab. Das bedeutet,
dass S und T auch eingeschränkt auf B + R zueinander invers sind.
In dem eben präsentierten Beispiel war es sehr einfach, zu der gegebenen Systemfunk-
tion Ψ S die Systemfunktion Ψ T des zu S inversen Systems T zu finden. Es ist jedoch nicht
immer so einfach, wie das nachfolgende Beispiel zeigt. Das LSI-System P habe die System-
funktion
z−
− z −
Ψ P : { z ∈ C ∣ ∣z∣ > } → C Ψ P (z) = = −
z− − z
Die zugehörige Differenzengleichung ist
P(x)(n) − P(x)(n − ) = x(n) − x(n − )
3.13 Die Verknüpfung von Systemen 203
Es ist wieder über (3.291) die Systemfunktion Ψ Q des inversen Systems Q des Systems P
zu finden. Auch hier gibt es zwei Kandidaten für die gesuchte Systemfunktion, die sich nur
durch ihren Definitionsbereich unterscheiden:
− z − z −
r: { z ∈ C ∣ ∣z∣ < } → C r(z) = =
− z − z−
− z − z −
s: { z ∈ C ∣ ∣z∣ > } → C s(z) = =
− z − z−
Die Definitionsbereiche können aber nicht zur Auswahl der richtigen Funktion herange-
zogen werden, weil beide Bereiche Anteil am Definitonsbereich von Ψ P haben:
Es muss eine anderer Weg gefunden werden, zwischen r und s zu unterscheiden. Unabhän-
gig von dieser Wahl ist die Differenzengleichung des Systems Q natürlich gegeben durch
Q(x)(n) − Q(x)(n − ) = x(n) − x(n − )
Der Leser möge sich davon überzeugen, dass das Einsetzen der Differenzengleichungen
ineinander Q(P(x)) = P(Q(x)) = x ergibt.
Um zwischen r und s zu unterscheiden, findet man die zugeordneten Systeme Qr und
Qs und prüft, welches der beiden Systeme das inverse System zu P ist. Gilt z. B.
dann ist Qr nicht invers zu P, folglich29 ist Qs das gesuchte inverse System. Um nun Qr
und Qs zu bestimmen, berechnet man
Zunächst aber wird ΔP = Z − (Ψ P ) berechnet. Die Tab. 3.4 (in Abschn. 3.7.5) enthält kei-
nen passenden Eintrag, folglich ist die Partialbruchzerlegung der Systemfunktion von P zu
berechnen:
z−
= +
z − z −
29
Wenn bezüglich irgendeiner binären Operation ein Element ein Inverses besitzt, dann ist dieses
eindeutig bestimmt.
204 3 Grundlagen der digitalen Signalverarbeitung
n−
ΔP (n) = δ(n) − (( ) u(n) − δ(n))
n−
= δ(n) − ( ) u(n)
Um zu einem Signal x aus dem Definitionsbereich von P den Funktionswert P(x) zu be-
stimmen, ist das Faltungsprodukt ΔP ∗ x zu berechnen:
∞
P(x)(n) = ∑ ΔP (ν)x(n − ν)
ν=−∞
∞
ν−
= ∑ ( δ(ν) − ( ) u(ν)) x(n − ν)
ν=−∞
∞ ν−
= x(n) − ∑ ( ) u(ν)x(n − ν)
ν=−∞
∞ ν
= x(n) − ∑ ( ) x(n − ν)
ν=
∞ ν
= x(n) − x(n) − ∑ ( ) x(n − ν)
ν=
∞ ν
= x(n) − ∑ ( ) x(n − ν)
ν=
Zur Berechnung von ΔQr und ΔQs wird die Partialbruchzerlegung der rationalen Funktion
von r (oder s) gebraucht:
z −
=+
z− z−
Für ΔQr gilt die Bedingung ∣z∣ < , folglich ist der erste Eintrag von Tab. 3.4 zu verwenden:
ΔQr (n) = δ(n) + (n− u(−n)) = δ(n) + ⋅ n− u(−n)
∞ ν
P(ΔQr )(n) = δ(n) + ⋅ n− u(−n) − ∑ ( ) (δ(n − ν) + ⋅
n−ν−
u(−n + ν))
ν=
Der erste Versuch, eine Entscheidung zwischen ΔQr und ΔQ s herbeizuführen, schlägt fehl,
es ist nämlich
∞ ν −ν
P(Qr (δ))() = P(ΔQr )() = + − ∑ ( ) = + − = = δ()
ν=
3.13 Die Verknüpfung von Systemen 205
351843720888319 12
− − − −
Das ist leider korrekt. Es sei daher n > . Dann ist δ(n) = = u(−n) und u(−n + ν) =
für ν < n. Für die Rechnung wird noch folgendes benötigt:
n+
∞
ν −ν ∞ ν n ν − ( ) n+
∑ ( ) = ∑( ) −∑( ) = − = ( )
ν=n+ ν= ν= −
−
Die Hoffnung ist also, dass sich P(ΔQr )(n) ≠ herausstellt für n > , denn das bedeutet
P(Qr (δ)) ≠ δ und Qr kann dann keine Inverse von P sein. Diese Hoffnung bewahrheitet
sich hier wie folgt:
∞
n ν n n
P(ΔQr )(n) = − ( ) − ⋅ ⋅ n− ∑ ( ) −ν = − ( ) ⋅ = − ( ) ≠
ν=n+
Damit ist Qs als das zu P inverse System gefunden. Ähnlich wie bei P wird auch für Qs eine
explizite Darstellung von Qs (x) angegeben, damit insbesondere Qs (u) (siehe Abb. 3.95)
berechnet werden kann, und um etwas über den Definitionsbereich aussagen zu können.
Zunächst wird wieder über die Partialbruchzerlegung von Ψ Qs mit Tab. 3.4 die Einheits-
impulsantwort ΔQs bestimmt. Wegen ∣z∣ > erhält man
n−
ΔQs (n) = δ(n) + ( u(n) − δ(n)) = δ(n) + ⋅ n− u(n)
∞
Qs (x)(n) = ∑ ( δ(ν) + ⋅ ν− u(ν)) x(n − ν)
ν=−∞
∞
= x(n) + x(n) + ∑ ν x(n − ν)
ν=
∞ ν
= x(n) + ∑ x(n − ν)
ν=
Ganz so wie oben bei S gilt offenbar auch hier, dass P die Unterräume B und R in sich
selbst abbildet. Ψ Qs hat jedoch den Pol z = , der außerhalb des Einheitskreises liegt, d. h.
206 3 Grundlagen der digitalen Signalverarbeitung
Qs ist nicht stabil. Dass Qs nicht alle beschränkten Signale auf beschränkte Signale abbilden
kann ist allerdings schon bei δ beobachtet werden, denn Qr (δ) = ΔQ s ist offensichtlich
nicht beschränkt. Qs ist nicht einmal für alle beschränkten Signale definiert, z. B. existiert
Qs () nicht.
Qs ist aber für alle rechtsseitigen Signale definiert. Denn ein solches Signal x erfüllt
x(n − ν) = für n < ν, weshalb die unendliche Reihe in der Darstellung von Qs (x) zu
einer endlichen Summe wird:
n ν
Qs (x)(n) = x(n) + ∑ x(n − ν)
ν=
Wegen x(n) = für n < gilt x(n − ν) = für ν > , d. h. Qs bildet ein rechtsseitiges Signal
in ein rechtsseitigs ab, d. h. es ist Qs [R] ⊂ R. Das bedeutet, dass P und Qs zumindest auf
R eingeschränkt zueinander invers sind.
Weiter oben wurde das Inverse eines Systems damit motiviert, dass ein Signal von vor-
handenen Echos befreit werden sollte. Das ursprüngliche (d. h. gereinigte) Signal ohne
Echos konnte durch das zum Verzerrungssignal V inverse Signal G zurückgewonnen wer-
den. Die Differenzengleichung
V(x)(n) = x(n) + x(n − ) + x(n − )
z + z +
Ψ V (z) = + z − + z − =
z
z
Ψ G (z) = = − =
Ψ V (z) + z + z
−
z + z +
mit unspezifizierten Definitionsbereichen, auf die es aber nicht ankommt, weil die Systeme
selbst hier nicht interessieren. Die Differenzengleichung des säubernden Systems G ist
G(x)(n) = x(n) − G(x)(n − ) − G(x)(n − )
Es bleibt allerdings noch die Frage zu klären, ob das System G stabil ist. Dazu sind die Pole
der Systemfunktion zu bestimmen. Liegen diese alle im Inneren des Einheitskreises, dann
ist das System stabil. Setzt man w = z , dann kann w mit der quadratischen Gleichung
w + w + bestimmt werden. Die beiden Lösungen sind
√ √
w = − + i w = − − i
3.13 Die Verknüpfung von Systemen 207
Die acht Lösungen sind dann die vierten Wurzeln aus w und w . Ist allgemein z = x + i y
eine komplexe Zahl, dann sind die n-ten Wurzeln gegeben durch
√
zν = n
r (cos ( (ϑ + νπ)) + i sin ( (ϑ + νπ))) ν ∈ {, . . . , n − }
n n
Darin ist (die Polarkoordinaten werden ausführlich in Kap. 2 besprochen)
√ y
r= x + y sin(ϑ) =
r
√
Die Pole liegen also alle auf dem Kreis mit Radius n r um den Nullpunkt, und daraus folgt:
√
Gilt n r < , dann ist das System stabil. Die Nullstellen selbst müssen also gar nicht bekannt
√
sein. r ist schnell berechnet:
√
r = ,
ΘV = (ΘT ΘS + ΘU )ΘR
208 3 Grundlagen der digitalen Signalverarbeitung
Auch hier ist zu prüfen, ob die Hintereinanderschaltungen und die Addition überhaupt
definiert sind (siehe dazu Abschn. 3.13.1).
Gegeben seien zwei LSI-Systeme S und T, die so zu einem System R verknüpft werden
sollen wie es in Abb. 3.98 dargestellt ist: Ein von T bestimmter Teil des Ausgangssignals
R(x) wird vom Eingangssignal x subtrahiert. Es ist die Systemfunktion Ψ R zu berechnen.
Die Bestimmung der Systemfunktion Ψ R des rückgekoppelten Systems gelingt auf recht
einfache Weise mit Hilfe der z-Transformation. Wesentlich für die Ableitung ist allerdings
die LSI-Eigenschaft der beiden Systeme S und T, und zwar die aus dieser Eigenschaft fol-
genden Beziehungen S(x) = ΔS ∗ x und T(x) = ΔT ∗ x. Um die Berechnungen etwas
übersichtlicher zu gestalten werden zwei Hilfssignale v und w eingeführt (siehe Abb. 3.99):
v = x − T(w) = x − ΔT ∗ w
w = S(v) = ΔS ∗ v
Der Übergang zur Systemfunktion ist nun mit (3.251) möglich. Mit entsprechender Um-
formung der Gleichung (d. h. Auflösung nach Z(w)) und unter Beachtung von w = R(x)
erhält man die folgende Beziehung der verschiedenen z-Transformierten:
Z(R(x)) Z(ΔS )
=
Z(x) + Z(ΔS )Z(ΔT )
ΨS
ΨR = (3.297)
+ ΨSΨT
Weil die Frequenzantwort von R die Einschränkung der Systemfunktion auf den Einheits-
kreis ist, gilt die abgeleitete Beziehung auch für die Frequenzantworten:
ΘS
ΘR = (3.298)
+ ΘS ΘT
Wenn ein System S rückgekoppelt werden soll, geht man allerdings nicht vom Rückkopp-
lungssignal T aus, sondern von seiner Systemfunktion Ψ T . Die einfachste nützliche Rück-
kopplungssystemfunktion ist eine konstante Funktion
Das zugehörige LSI-System T ist mit (4.1) und (4.3) leicht zu bestimmen. Offenbar ist k =
mit v = und m = mit u = r, daher
Es wird bei dieser Rückkopplung also ein durch r bestimmter Teil des Ausgangssignals vom
Eingangssignal subtrahiert. Soll diese Subtraktion verzögert ausgeführt werden, kann man
ausnutzen, dass eine Verzögerung im Signalbereich um eine Position einer Multiplikati-
on im z-Bereich mit z − entspricht. Eine Verzögerung um d Positionen wird als mit der
folgenden Systemfunktion erreicht:
Rückkopplung kann für vielerlei Effekte eingesetzt werden. Ein solcher Effekt, nämlich die
Stabilisierung eines instabilen Systems, wird im Rest des Abschnitts an einem Beispiel aus-
führlich erläutert. Das Beispiel-LSI-System S hat die Systemfunktion
Ψ S (z) =
+ z − + z −
Der Definitionsbereich ist das Äußere des kleinsten Kreises um die beiden Pole (die Null-
stellen des Nenners) der Funktion. Eine Differenzengleichung des Systems ist mit dem
Zusammenhang von (4.1) und (4.3) rasch gefunden:
Das System ist offenbar kausal, folglich gilt ΔS (x)(n) = für n < . Die ΔS (x)(n) für
n ≥ können wegen ΔS = S(δ) mit der Differenzengleichung numerisch bestimmt wer-
den, denn die Startwerte sind bekannt: S(δ)(−) = S(δ)(−) = . Das Ergebnis ist in
Abb. 3.100 dargestellt. Man beachte die Signalwerte! Es ist ΔS () = −.., mit
zunehmender Tendenz, das System kann nicht stabil sein. Welchen Effekt hat S auf die
Einheitsstufe u? Um S(u) mit der Differenzengleichung berechnen zu können müssen die
Startwerte S(u)(−) und S(u)(−) bekannt sein. Diese sind leicht zu bekommen. Es sei
allgemein x ein Signal mit x(n) = für n < . Dann gilt
∞
S(x)(n) = (ΔS ∗ x)(n) = ∑ x(ν)ΔS (n − ν)
ν=−∞
Es ist ΔS (n − ν) = für n − ν < oder n < ν. Es sei n < . Dann ist n − ν < für ν ≥ ,
folglich
−
S(x)(n) = ∑ x(ν)ΔS (n − ν) =
ν=−∞
wegen x(ν) = für ν < . S(u) kann daher wie folgt rekursiv berechnet werden:
Auch das Ausgangssignal S(u) wächst sehr schnell, ein kleiner Ausschnitt ist in Abb. 3.101
wiedergegeben. Das Problem ist allerdings, dass diese numerischen Berechnungen keinen
Beweis für die Instabilität liefern, nur eine Plausibilität. Um für ein gewisses beschränktes
Eingangssignal zu zeigen, dass das Ausgangssignal nicht beschränkt ist, muss man von der
3.13 Die Verknüpfung von Systemen 211
− − − −
12654045
Abb. 3.100 ΔS
− − − −
114
Rekursionsformel zu einer echten Formel zur Darstellung des Systems übergehen. Man hat
also eine Lösung für das Differenzengleichungssystem zu finden. Dazu gibt es Methoden,
die den Methoden zur Lösung von gewöhnlichen Differentialgleichungen ähnlich sind (Lö-
sen des homogenen Systems und Auffinden einer partikulären Lösung). Alternativ können
jedoch auch die Pole der Systemfunktion bestimmt werden. Liegt einer der Pole nicht im
Inneren des Einheitskreises, dann ist das System sicher instabil, wie im Abschn. 3.12 über
stabile Systeme abgeleitet wird. Die Bestimmung der Pole kann allerdings schwierig sein,
besonders für Systemfunktionen mit einem Nennerpolynom von hohem Grad.30 Bei ei-
nem quadratischen Nennerpolynom mit zwei Polen kann die Lage der Pole relativ zum
Einheitskreis jedoch bestimmt werden, ohne die Pole selbst zu berechnen. Man gibt dazu
die Systemfunktion nicht als Funktion von z − sondern von z an:
z
Ψ S (z) = =
+ z − + z − z + z +
Für die beiden Nullstellen v und w des Polynoms z + z + gilt nach dem Wurzelsatz von
Vieta, und zwar nach (A.14), vw = . Aus ∣vw∣ = folgt aber, dass mindestens einer der
30
Die Bestimmung von Polynomnullstellen mit dem QD-Algorithmus wird in Abschn. 6.2 vorge-
stellt. Dort wird auch ein Beispiel für schlecht zu lokalisierende Nullstellen gegeben.
212 3 Grundlagen der digitalen Signalverarbeitung
56
100
− − − −
Pole außerhalb des Einheitskreises liegen muss, denn mit ∣v∣ < und ∣w∣ < gelte auch
∣vw∣ < .31
Zur Rückkoppelung wird die Systemfunktion (3.299) gewählt. Der Parameter r ist so zu
wählen, dass das rückgekoppelte System R stabil ist.
z z
Ψ S (z)
= z +z+
Ψ R (z) = = +r
+ Ψ S (z)Ψ T (z) + r z +z+
z z + z
+r
+ +r
Die beiden Nullstellen v und w des Nennerpolynoms sind komplex konjugiert und haben
daher denselben Absolutbetrag: ∣v∣ = ∣w∣. Aus ∣vw∣ < folgt daher ∣v∣ < und ∣w∣ < . Das
rückgekoppelte System R ist daher nach dem Wurzelsatz von Vieta stabil, wenn
<
+r
gilt. Wegen < ∣ + r∣ ≤ + ∣r∣ ist das der Fall für < ∣r∣. Wählt man daher r so, dass ∣r∣ >
gilt, dann ist das rückgekoppelte System R stabil.
Zur Bestimmung der Differenzengleichung des Systems R wird die Systemfunktion als
Funktion von z − dargestellt:
z
z
Ψ R (z) = +r
= =
z + z
+r
+ +r
( + r)z + z + + r + z − + z −
Daran liest man folgendes ab: Es ist k = mit u = und m = mit v = + r, v = und
v = . Die Differenzengleichung von R ist daher
R(x)(n) = (x(n) − R(x)(n − ) − R(x)(n − ))
+r
Die dämpfende Wirkung des rückgekoppelten Systems R auf den Einheitssprung u ist für
den Fall r = in Abb. 3.102 dargestellt.
31
Aber Achtung: Umgekehrt kann von ∣vw∣ < nicht auf ∣v∣ < und ∣w∣ < geschlossen werden.
3.13 Die Verknüpfung von Systemen 213
Um die Ausführungen dieses Abschnittes nicht zu sehr zu befrachten wurden keine Prü-
fungen der Definitionsbereiche der Systeme vorgenommen. In der Realität sollten solche
Prüfungen jedoch nicht unterlassen werden!
Ein System A mit der Eigenschaft, dass der Betrag seiner Frequenzantwort (d. h. seine Am-
plitude) überall den Wert Eins annimmt, heißt aus offensichtlichen Gründen Allpass. Für
ihn gilt also
∣ΘA ∣ = (3.303)
Wird solch ein Allpass A hinter ein System S geschaltet, wird also A ○ S gebildet, so ist der
Betrag der Frequenzantwort des zusammengesetzten Systems der Betrag der Frequenzant-
wort von S:
∣ΘA○S ∣ = ∣ΘA ∣ ∣ΘS ∣ = ∣ΘS ∣ (3.304)
Die Amplitude wird durch das Nachschalten von A nicht verändert. Wohl aber können
andere Eigenschaften geändert werden, etwa die Phase oder die Stabilität. So ergeben sich
Korrekturmöglichkeiten unerwünschter Eigenschaften, beispielsweise kann versucht wer-
den, ein instabiles System zu stabilisieren.
Zuerst stellt sich allerdings die Frage, wie man sich einen Allpass verschaffen kann. Zu
diesem Zweck sei A ein komplexes Polynom in z − mit reellen Koeffizienten wie folgt:
n
A(z) = + ∑ a ν z −ν = + a z − + a z − + ⋯ + a n z −n aν ∈ R
ν=
n n n
A(e iω ) = ∑ a ν e −iω = ∑ a ν e −iω = ∑ a ν e iω = A(e −i ω )
ν= ν= ν=
Daraus folgt
∣A(e iω )∣ = A(e iω )A(e iω ) = A(e iω )A(e −iω )
∣A(e −iω )∣ = A(e −i ω )A(e −iω ) = A(e −iω )A(e iω )
A(z − ) z −n + a z −n+ + ⋯ + a n
Ψ A (z) = z −n = (3.305)
A(z) + a z − + ⋯ + a n z −n
214 3 Grundlagen der digitalen Signalverarbeitung
0
1 2
ω = −π
−i
ω = − 11
74 π
Weil die Frequenzantwort von A die Einschränkung der Systemfunktion von A auf den
Einheitskreis ist (siehe dazu (3.257) in Abschn. 3.8), erhält man für das Quadrat des Betra-
ges der Frequenzantwort von A
−inω
∣A(e −iω )∣
∣ΘA (ω)∣ = ∣e ∣ =
∣A(e iω )∣
Durch (3.305) wird also ein Allpass definiert. Die Systemfunktion ist eine rationale Funk-
tion, deren spezielle Eigenschaft leicht zu merken ist. Im Zähler- und im Nennerpolynom
treten dieselben reellen Koeffizienten auf, doch ist ihre Reihenfolge vertauscht. Im Zähler
gehören die Koeffizienten zu den absteigenden, im Nenner zu den aufsteigenden Potenzen
von z − .
Die Systemfunktion des Allpasses A hat die wichtige Eigenschaft, dass ein reziprokes
Argument in einen reziproken Wert übergeht:
A(z)
Ψ A (z − ) = z n −
= (3.306)
A(z ) Ψ A (z)
Ist daher w eine Nullstelle von Ψ A , d. h. eine Nullstelle des Zählerpolynoms, dann ist w −
eine Nullstelle des Nennerpolynoms, d. h. ein Pol von Ψ A , und umgekehrt ist w ein Pol von
Ψ A , so ist w − eine Nullstelle von Ψ A .
Es sei nun ein LSI-System S durch folgende Systemfunktion definiert:
+ z −
Ψ S (z) =
− z − + z −
Die Pole der Systemfunktion sind die Nullstellen des Polynoms z − z + , nämlich w =
und w = . Beide Pole liegen nicht im Inneren des Einheitskreises, das System ist daher
nicht stabil. Wie oben schon angemerkt kann man versuchen, durch Nachschalten eines
3.13 Die Verknüpfung von Systemen 215
−1 1 2
ω = −π
−i
Allpasses A ein stabiles System herzustellen, das denselben Amplitudengang besitzt wie
das ursprüngliche System S. Man macht dazu mit reellen Zahlen a und b den folgenden
Ansatz:
+ az − + bz − + z −
Ψ A○S (z) = Ψ A (z)Ψ S (z) =
b + az + z − z − + z −
− −
Wählt man nun a = − und b = , dann kann der Zähler von Ψ A gegen den Nenner von
Ψ S gekürzt werden:
+ z −
Ψ A○S (z) =
− z − + z −
Wegen (3.306) sind nun aber die Pole der Systemfunktion Ψ A○S durch
z = w − = und z = w − =
gegeben, die beide im Inneren des Einheitskreises liegen, das neue System ist daher stabil.
Es ist jedoch zu beachten, dass sich zwar nicht die Amplitude, wohl aber andere Eigen-
schaften von S, etwa die Phase, geändert haben können.
Tatsächlich wird der Polarwinkel beträchtlich verändert, wie ein Vergleich der Kurven
der beiden Frequenzantworten zeigt. Geändert hat sich auch der Durchlaufsinn der Kurve,
und zwar von gegen den Uhrzeiger zu mit dem Uhrzeiger (siehe dazu die beiden Abb. 3.103
und 3.104).
216 3 Grundlagen der digitalen Signalverarbeitung
Ein System, das die LSI-Eigenschaft besitzt, d. h. eine lineare und Shift-invariante Abbil-
dung des C-Vektorraumes S in sich, ist strukturell von den Signalen, auf die es angewandt
wird, nicht zu unterscheiden. Diese auf den ersten Blick etwas merkwürdige Aussage wird
in diesem Abschnitt präzisiert und demonstriert. Dazu muss allerdings von einigen Grund-
kenntnissen aus der Algebra und Funktionalanalysis Gebrauch gemacht werden. Leser,
welche diese Kenntnisse nicht besitzen oder kein Interesse an solchen Fragen haben, wer-
den gebeten, den Abschnitt zu überschlagen.
Ausgangspunkt ist die Menge T der Signale mit endlichem Träger. Der Träger eines Si-
gnals x ist definiert als die Menge der Elemente aus Z, für die das Signal nicht verschwindet,
also die Menge
T x = { n ∈ Z ∣ x(n) ≠ }
Dieser Träger ist für die Signale aus T also endlich. Die Summe zweier Signale mit end-
lichem Träger besitzt selbstverständlich ebenfalls einen endlichen Träger, und auch die
Multiplikation mit einem Skalar kann an der Endlichkeit eines Trägers nichts ändern. Die
Menge T ist folglich ein Untervektorraum von S.
Um auch die allwichtige Faltung von Signalen einzubinden kann man vom C-Vektor-
raum T zur C-Algebra T übergehen. Eine Algebra ist ein Vektorraum, in dem noch eine
dritte assoziative Verknüpfung existiert, die mit der Addition und Skalarmultiplikation
verträglich ist. Diese Verknüpfung wird meist multiplikativ geschrieben, die Verträglich-
keitsbedingungen sind dann
Darin sind x, y und z Vektoren und λ ist ein Skalar. Diese Bedingungen sind für Signale aus
T mit der Faltung ∗ als dritter Verknüpfung erfüllt (siehe Abschn. 3.1). Wegen x ∗ y = y ∗ x
liegt sogar eine kommutative Algebra vor. Man beachte, dass die Faltung zweier Signale mit
endlichem Träger stets existiert, weil die unendliche Reihe (3.4) zu einer endlichen Summe
wird. Im Kontrast dazu kann der Vektorraum S aller Signale mit ∗ nicht zu einer Algebra
gemacht werden, weil die Faltung nicht für alle Signale definiert ist.
Eine weitere Algebra mit ∗ als dritter Verknüpfung ist die Algebra A der absolut kon-
vergenten Signale. Ein Signal x ist absolut konvergent, wenn die Reihe
∞
∑ ∣x(n)∣ (3.308)
n=−∞
gegen eine reelle Zahl konvergiert. Es ist sehr leicht zu sehen, dass die Summe zweier abso-
lut konvergenter Signale wieder absolut konvergent ist, von der Skalarmultiplikation ganz
zu schweigen: A ist ein C-Vektorraum. Um aber auch mit ∗ eine Algebra bilden zu können
3.13 Die Verknüpfung von Systemen 217
muss die Faltung für alle Signale x und y aus A existieren. Nun ist aber wegen der abso-
luten Konvergenz von y die Folge n ↦ ∣y(n)∣ beschränkt, etwa durch die positive reelle
Zahl M. Es gilt dann
k k
∑ ∣x(n)∣ ∣y(n)∣ ≤ M ∑ ∣x(n)∣
n=−k n=−k
Die die Faltungsoperation definierende unendliche Reihe (3.4) konvergiert daher absolut
und ist damit erst recht auch ganz gewöhnlich konvergent.
Beide Algebren T und A enthalten bezüglich des Faltungsoperators ∗ das Einselement
δ, denn es ist (δ ∗ x)(n) = δ()x(n) = x(n), also δ ∗ x = x.
Auf der Seite der Systeme ist der Ausgangspunkt der C-Vektorraum LS der Endomor-
phismen von S, d. h. der linearen Abbildungen von S in sich selbst. Er ist mit der Hin-
tereinanderschaltung ○ von Endomorphismen eine natürliche Algebra. Es ist aber keine
kommutative Algebra, weil S ○ T von T ○ S verschieden sein kann, Beispiele dafür sind
leicht zu finden.
Es kommt nun der letzte Schritt, der Übergang zu LSI-Systemen, d. h. zu Systemen
aus LS , die zusätzlich shift-invariant sind. Nach Abschn. 3.13.1 führen die Addition und
das Hintereinanderschalten zweier LSI-Systeme sowie die Multiplikation eines LSI-Systems
mit einer komplexen Zahl wieder auf ein LSI-System. Die Menge S S der LSI-Systeme bildet
folglich eine Algebra, eine Unteralgebra von LS .
Es sei nun d ∈ T ein Signal mit endlichem Träger. Dann existiert für jedes Signal x ∈ S
die Faltung d ∗ x, denn die Faltungssumme degeneriert zu einer endlichen Summe:
∞
(d ∗ x)(n) = ∑ d(ν)x(n − ν) = ∑ d(ν)x(n − ν)
ν=−∞ ν∈Td
Fd (x) = d ∗ x (3.309)
Aus den Eigenschaften der Faltung folgt wieder sofort, dass Fd ein C-lineares System ist.
Das so gewonnene System ist aber auch shift-invariant:
Fd (x ○ σm )(n) = (d ∗ (x ○ σm ))(n)
∞
= ∑ d(ν)x(n − m − ν)
ν=−∞
= (d ∗ x)(n − m)
= ((d ∗ x) ○ σm )(n)
= (Fd (x) ○ σm )(n)
218 3 Grundlagen der digitalen Signalverarbeitung
Die Fd sind also LSI-Systeme. Man erhält so eine Abbildung E von der Algebra T der
Signale mit endlichem Träger in die Algebra SS der LSI-Systeme über S:
Dass diese Abbildung C-linear ist ergibt sich wieder direkt aus den Eigenschaften der Fal-
tung. Die Abbildung ist aber auch ein Algebrenhomomorphismus:
Es ist also E(a ∗ b) = E(a) ○ E(b) herausgekommen, die Abbildung respektiert die multi-
plikativen Verknüpfungen der beiden Algebren und ist damit ein Homomorphismus zwi-
schen Algebren. Es ist sogar ein injektiver Homomorphismus. Dazu ist bei einer linearen
Abbildung nur zu zeigen, dass der Kern der Abbildung nur aus dem Nullsignal besteht.
Das ist natürlich der Fall. Denn ist x ∈ Kern(E), dann gilt für alle Signale y mit endlichem
Träger
E(x)(y) = F x (y) = x ∗ y =
Darin ist das Nullsignal. Daraus folgt insbesondere x ∗ δ = x = , der Kern von E besteht
daher nur aus dem Nullsignal. Dann ist die Abbildung E aber eine Einbettung, d. h. die
Algebra T und ihr Bild E[T] unter der Abbildung E sind isomorph, beide Algebren sind
strukturell nicht zu unterscheiden.
Allerdings ist E nicht surjektiv, d. h. die Algebra T ist nicht isomorph zur Algebra SS .
Das Bild E[T] ist nämlich leicht anzugeben. Es ist ganz leicht zu zeigen, dass die LSI-
Systeme S über S, deren Einheitsimpulsantwort ΔS einen endlichen Träger besitzt, eine
Unteralgebra TS von SS bilden. Offensichtlich ist E[T] ⊂ TS wegen ΔE(x) = x. Ist an-
dererseits S ∈ TS , dann gilt E(ΔS ) = S und daher S ∈ E[T]. Offensichtlich ist TS eine
echte Unteralgebra von SS , weil letztere auch Systeme enthält, deren Einheitsimpulsant-
wort einen unendlichen Träger besitzt, z. B. das System U mit dem Einheitssprung u als
Einheitsimpulsantwort.
T ≅ TS (3.311)
Die Signale mit endlichem Träger können von den LSI-Systemen, deren Einheitsimpuls-
antwort einen endlichen Träger besitzt, bezüglich ihrer Algebreneigenschaften nicht un-
terschieden werden.
3.13 Die Verknüpfung von Systemen 219
Als eine kleine Anwendung dieser Isomorphie erhält man die Aussage, dass TS eine
kommutative Algebra ist, für S und T aus TS erhält man nämlich mit S = E(s) und
T = E(t)
Statt des kommutativen Diagramms in Abschn. 3.2.2, das noch die speziellen Systeme Im
enthält, ergibt sich also an dieser Stelle das folgende kommutative Diagramm, dessen Kom-
mutativität für alle Systeme aus TS gilt:
S
TS TS
T T T◦S= S◦T
TS TS
S
Man kann von der Signalseite her auch von einer größeren Klasse von Signalen ausge-
hen. Wählt man die Algebra A der absolut konvergenten Signale, dann ist, für ein a ∈ A,
die Faltung a ∗ x nicht mehr für jedes beliebige Signal definiert. Man muss auf der Seite
der Systeme also zu einer kleineren Klasse von Signalen übergehen. Wählt man dazu a ∈ A
selbst, dann ist die Algebra der Systeme AA , also die Algebra der LSI-Systeme definiert auf
der Algebra derjenigen absolut konvergenten Signale, deren Einheitsimpulsantwort abso-
lut konvergent ist. Das Ergebnis wäre dann
A ≅ AA
Die Isomorphie (3.311) gilt nicht nur im algebraischen sondern auch im topologischen
Sinne, und zwar wird die Abbildung E bei geeigneter Normierung der Algebren stetig und
sogar isometrisch (d. h. längentreu). Dazu werden die C-Vektorräume T und A wie folgt
mit der Summennorm versehen:
∞
∥x∥ = ∑ x(n) (3.312)
n=−∞
Im Fall des Unterraumes T von A von wird die Reihe natürlich zu einer endlichen Summe
über den Träger von x.
Eine Algebra, die schon ein normierter Vektorraum mit einer Norm ∥ ⋅ ∥ ist, ist auch
eine normierte Algebra, wenn die Norm mit der Algebrenmultiplikation verträglich ist,
d. h. wenn für alle Algebrenelemente x und y die Ungleichung
∥x y∥ ≤ ∥x∥∥y∥ (3.313)
erfüllt ist. Speziell für die Algebra A (und damit auch für T) lautet diese Bedingung wie
folgt:
∥x ∗ y∥ ≤ ∥x∥∥y∥ (3.314)
220 3 Grundlagen der digitalen Signalverarbeitung
Die Ableitung ist nicht ganz einfach, sie beruht auf dem großen Umordnungssatz für ab-
solut konvergente Reihen:
∞
∥x ∗ y∥ = ∑ ∣(x ∗ y)(n)∣
n=−∞
∞ ∞
= ∑ ∣ ∑ x(ν)y(n − ν)∣
n=−∞ ν=−∞
∞ ∞
≤ ∑ ∑ ∣x(ν)∣ ∣y(n − ν)∣
n=−∞ ν=−∞
∞ ∞
= ∑ ∑ ∣x(ν)∣ ∣y(n − ν)∣ (∗)
ν=−∞ n=−∞
∞ ∞
= ∑ ∣x(ν)∣ ∑ ∣y(n − ν)∣
ν=−∞ n=−∞
∞ ∞
= ∑ ∣x(ν)∣ ∑ ∣y(n)∣ (∗∗)
ν=−∞ n=−∞
∞ ∞
= ( ∑ ∣y(n)∣)( ∑ ∣x(ν)∣)
n=−∞ ν=−∞
= ∥x∥∥y∥
Der Übergang zur Zeile (∗) erfolgt durch Vertauschen der Summationsreihenfolge einer
Doppelreihe nach dem großen Umordnungssatz. Und die Zeile (∗∗) wird aus folgendem
Grund erreicht: wenn n die ganzen Zahlen in natürlicher Reihenfolge durchläuft, dann gilt
das auch für die n − ν bei konstantem ν.
Die Algebra TS soll nun so mit einer Norm versehen werden, dass die Abbildung E
stetig ist. Das kann so geschehen, dass die gesuchte Norm direkt von E induziert wird:
Die Eigenschaften des Isomorphismus E garantieren, dass auf diese Weise eine Norm auf
TS induziert wird. So ist z. B.
Dass E bezüglich beider Normen stetig ist ergibt sich aus der Konstruktion der Norm auf
TS . Der direkte Beweis ist allerdings sehr einfach: Eine lineare Abbildung ist genau dann
stetig, wenn sie beschränkt ist, und das ist bei einer linearen Abbildung genau dann der
Fall, wenn sie auf dem Einheitskreis beschränkt ist. Dazu muss es eine positive reelle Zahl
M geben mit der Eigenschaft
∥E(x)∥ ≤ M∥x∥
Das trifft auf E natürlich zu, und zwar sogar für M = :
Der Isomorphismus E ist also nicht nur stetig, er erhält auch die Norm von Vektoren, d. h.
er respektiert Abstände, d. h. er ist sogar eine Isometrie.
In diesen Zusammenhang gehört noch die DFT (siehe Abschn. 3.2.6). Beachtet man
nämlich, dass der Körper C eine Algebra ist, und zwar mit der komplexen Multiplikation
als Algebrenmultiplikation, dann ist die DFT ihren Eigenschaften nach ein Algebrenho-
momorphismus, z. B. von A nach C. Die Faltung von Signalen geht dabei in ein Produkt
komplexer Zahlen über:
Man kann den Isomorphismus E dazu verwenden, eine DFT auch für LSI-Systeme zu de-
finieren:
F(S) = F (E − (S)) = F(ΔS )
Die Konstruktion digitaler Filter
4
behandelt. Die Berechnung von Amplituden- und Phasengang kann daher nach Ab-
schn. 3.10 erfolgen. Einige Werte lassen sich aber direkt ablesen. Z. B. ist wegen e =
k
P() ∑κ= uκ
γ F () = Ψ F () = = m (4.2)
Q() ∑ μ= v μ
Besteht die Systemfunktion nur aus einem Polynom in z − , dann fügt man das konstante
Nennerpolynom Q(z − ) = hinzu,
∑κ= u κ z −κ
k k
Ψ F (z) = P(z) = ∑ u κ z −κ = (4.4)
κ=
Wird die Systemfunktion mit einer (komplexen) Konstanten multipliziert, ändern sich La-
ge und Art der Nullstellen und Pole nicht, es ist daher möglich, einen der Koeffizienten zu
H. Schmidt, M. Schwabl-Schmidt, Digitale Filter, DOI 10.1007/978-3-658-03523-5_4, 223
© Springer Fachmedien Wiesbaden 2014
224 4 Die Konstruktion digitaler Filter
Diese volle Allgemeinheit wird allerdings nur selten benötigt, meistens ist m = m′ und
k = k ′ . Das reduziert den Aufwand zur Berechnung der Koeffizienten nahezu um die Hälf-
te, falls auch noch die Symmetrie u−n = u n und v−n = v n für n ≠ gegeben ist. Ist das der
Fall, dann ist wegen e i ϑ + e −i ϑ = cos(ϑ) die Frequenzantwort von F reell:
k
u + ∑κ= u κ cos(κω)
ΘF (ω) = (4.8)
v + ∑ μ= v μ cos(μω)
m
Auch im schiefsymmetrischen Fall u−n = −u n und v−n = −v n für n ≠ kann die Fre-
quenzantwort wegen −e i ϑ + e −i ϑ = −i sin(ϑ) direkt angegeben werden, sie ist jedoch
nicht mehr reell:
u − i ∑κ=
k
u κ sin(κω) u − iU u v + U V u V − v U
ΘF (ω) = m = = +i (4.9)
v − i ∑ μ= v μ sin(μω) v − iV v + V
v + V
Das Verhalten eines LSI-Filters F bei einer Frequenz ω wird durch den Wert Θ F (ω) der Fre-
quenzantwort des Filters bestimmt. Soll die Frequenz unterdrückt werden, dann muss ω
eine Nullstelle der Frequenzantwort sein: ΘS (ω) = . Wie weiter oben schon festgestellt
wurde, stimmt die Frequenzantwort auf dem Einheitskreis mit der Systemfunktion des Fil-
ters überein, d. h. e iω muss eine Nullstelle der Systemfunktion sein: Ψ F (e iω ) = . Geht es
4.2 Nullstellen und Pole 225
um die Unterdrückung einer Frequenz, um eine Nullstelle, dann kann also mit der Fre-
quenzantwort oder mit der Systemfunktion gearbeitet werden. Natürlich wird man die
Systemfunktion vorziehen, weil sie als komplexe Funktion mehr Möglichkeiten und Frei-
heiten bietet.
Tatsächlich kann aber das Verhalten der Frequenzantwort mit den Nullstellen der Sys-
temfunktion gesteuert werden. Ist nämlich die Systemfunktion in der (kleinen) Umgebung
Uw einer Nullstelle w stetig, dann kann ∣Ψ F (z)∣ für z ∈ Uw nur kleine Werte annehmen.
Je kleiner die Umgebung ist, desto mehr sind auch die Werte der Systemfunktion in dieser
Umgebung beschränkt. Wählt man daher die Systemfunktion so, dass sie eine Nullstelle
w in der Nähe des Punktes e iω auf dem Einheitskreis hat, dann kann der Betrag der Sys-
temfunktion in e iω , also ∣ΘF (ω)∣, nur kleine Werte annehmen. Das sind natürlich noch
recht vage Formulierungen, die aber bei einer rationalen Funktion als Systemfunktion auf
einfache Art und Weise konkretisiert werden können.
Es genügt allerdings nicht, die Werte der Frequenzantwort mit Nullstellen der System-
funktion nur verkleinern zu können, es muss auch die gegenpolige Kraft vorhanden sein.
Beispielsweise soll bei einem Kerbfilter, das die Frequenz ω unterdrückt, die Frequenzant-
wort schon bei Frequenzen in nächster Nähe von ω wieder große Werte annehmen, um den
übrigen Frequenzverlauf möglichst wenig zu beeinträchtigen. Solch einen Gegenpol gegen
die Nullstellen bilden eben die Pole der Systemfunktion. Eine komplexe Zahl w ist ein Pol
der Funktion f , wenn w eine Nullstelle von / f ist, wenn also / f (w) = gilt. Dann hat
ein Pol aber die Eigenschaft limz→w ∣ f (z)∣ = ∞, d. h. die Funktion ∣ f ∣ ist in einer (kleinen)
Umgebung von w nach unten beschränkt. Legt man daher einen Pol w der Systemfunktion
in die Nähe des Punktes e iω auf dem Einheitskreis, dann treibt man damit den Betrag der
Frequenzantwort in der Nähe von ω oder auch in ω selbst nach oben. Eine Nullstelle bleibt
natürlich auch in der Nähe eines Poles eine Nullstelle.
Nullstellen und Pole der Systemfunktion eines Filters F können also dazu verwendet
werden, die Eigenschaften des Filters festzulegen. Das ist natürlich nur von Vorteil, wenn
der Umgang mit Nullstellen und Polen leicht zu bewerkstelligen ist, und das ist gerade bei
rationalen komplexen Funktionen der Fall:
p
A(z) ∑i= a κ z i
Ψ F (z) = = (4.10)
B(z) ∑qj= b j z j
Die Nullstellen von Ψ F sind natürlich die Nullstellen von A, und die Pole von Ψ F sind die
Nullstellen von B. Weil komplexe Polynome vollständig in Linearfaktoren zerfallen, ist es
daher leicht, die Systemfunktion durch ihre Nullstellen und Pole zu definieren. A kann z. B.
mit seinen Nullstellen w bis w p wie folgt geschrieben werden:
p
A(z) = a ∏(z − w i ) = a(z − w )⋯(z − w p ) (4.11)
i=
Nun ist die Systemfunktion in (4.1) allerdings als rationale Funktion in z − gegeben, doch
ist eine Zerfällung in Linearfaktoren (mit z − ) auch in dieser Darstellung möglich. Es ist
226 4 Die Konstruktion digitaler Filter
−1 1
ϑ̂
r
reiϑ
hat die Nullstellen w bis w n . In welcher Beziehung stehen aber die Nullstellen zu den Ko-
effizienten in der Darstellung
n
R(z) = ∑ r i z −i ?
i=
Diese Frage wird für einen wichtigen Spezialfall unten beantwortet werden. Dieser Spezial-
fall ergibt sich daraus, dass bei Filtern die Frequenzen ω der dominierende Faktor sind und
deshalb die komplexen Zahlen e iω auf dem Einheitskreis eine besondere Bedeutung haben.
Es empfiehlt sich daher, alle komplexen Zahlen relativ zum Einheitskreis darzustellen, d. h.
polare Koordinaten zu verwenden. Jede komplexe Zahl ist dann ein reelles Vielfaches einer
komplexen Zahl auf dem Einheitskreis:
z = re iϑ r, ϑ ∈ R mit r ≥ und ≤ ϑ < π (4.13)
In Abb. 4.1 ist solch ein Punkt eingezeichnet. Die Größe ϑ kann natürlich in einen Winkel
umgerechnet werden, der ϑ zugehörige Winkel ϑ̂ ist gegeben durch
ϑ
ϑ̂ =
(4.14)
π
In dieser Darstellung ist es leicht, eine komplexe Zahl (z. B. einen Pol) in die Nähe einer
Zahl e iω auf dem Einheitskreis zu bringen, man kann re iω mit r ≈ wählen. Je näher r
der 1 kommt, desto näher ist re iω an e iω . Man besitzt damit einen einfach zu variieren-
den Parameter anschaulicher Bedeutung, denn re iω liegt auf dem Strahl vom Nullpunkt
zum Punkt e iω auf dem Einheitskreis, und r ist die Länge des Strahles, vom Nullpunkt an
gemessen.
Die Nullstellen sind in dieser Darstellung gegeben durch w i = r i e i ϑ i , und (4.12) geht
damit über in die Produktentwicklung
n
R(z) = ∏( − r i e i ϑ i z − ) = ( − r e iϑ z − )⋯( − r n e i ϑ n z − ) (4.15)
i=
4.3 Anleihen aus der analogen Welt 227
Wenn der Filter F aus einem reellen Eingangssignal ein reelles Ausgangssignal produ-
zieren soll, müssen nach Abschn. 3.8 die Nullstellen und Pole in konjugiert komplexen
Paaren vorliegen, man wird daher die Systemfunktion aus den folgenden Funktionen auf-
bauen:
Das konjugierte Nullstellenpaar besteht aus re iϕπ und re −iϕπ , denn e ix = e −ix . Die System-
funktion (4.1) wird damit zu
p
P(z) ∏ν= Φ r ν ,ϕ ν (z)
Ψ F (z) = = (4.17)
Q(z) ∏qμ= Φ s μ ,ψ μ (z)
mit den Nullstellen r ν e iϕ ν π und r ν e −iϕ ν π und den Polen s μ e iψ μ π und s μ e −iψ μ π . Wie man
durch Ausklammern von z − erkennt, kommen im Fall p ≠ q noch entweder Pole oder
Nullstellen hinzu. Im Zähler kann z − p und im Nenner z −q ausgeklammert werden, d. h.
für p < q hat die Systemfunktion in Nullpunkt eine Nullstelle der Ordnung q − p und bei
p > q im Nullpunkt einen Pol der Ordnung p − q.
Mit (4.17) lässt sich die Systemfunktion frequenzabhängig aus ihren Nullstellen und
Polen aufbauen. Um aber den Filter selbst zu bekommen muss zur Darstellung (4.1) über-
gegangen werden, d. h. es werden die Koeffizienten u κ gesucht mit
n n
−κ
∏ Φ r ν ,ϕ ν (z) = ∑ u κ z (4.18)
ν= κ=
Man erhält zunächst durch Ausmultiplizieren und zusammenfassen nach Potenzen von z −
mit c ϕ = cos(ϕπ). Es ist also u = , u = rc ϕ und u = r . Damit sind natürlich auch die
Koeffizienten von Φ r,ϕ als rationale Funktion in z gegeben:
z Φ r,ϕ (z) = r − rc ϕ z + z
Die Theorie der analogen Filter wird seit vielen Jahrzehnten entwickelt, sie ist ausgereift
und ausgefeilt. Es liegt daher nahe, Filter von der analogen in die digitale Welt zu über-
tragen. Dazu sind auch einige Verfahren entwickelt worden, wie das wohl am häufigsten
228 4 Die Konstruktion digitaler Filter
Zur Eckfrequenz ω e = επ, < ε < , werden die Koeffizienten u κ und v μ mit der Hilfsgröße
γ = tan(ω e ) wie folgt berechnet:
γ
u = √ v =
γ + γ +
γ (γ − )
u = √ v = √
γ + γ + γ + γ +
√
γ γ − γ +
u = √ v = √
γ + γ + γ + γ +
u = , v =
u = , v = −,
u = , v = ,
Damit kann die Frequenzantwort von B mit den Mitteln von Abschn. 3.10 berechnet
werden. Man erhält die in Abb. 4.2 gezeigte Kurve. Bei einer Durchquerung des Parame-
4.3 Anleihen aus der analogen Welt 229
−1 1
−i
ω = 14 π
terintervalles −π ≤ ω < π wird die Kurve einmal durchlaufen. Der Durchlauf beginnt mit
ω = −π im Nullpunkt und verläuft weiter im Uhrzeigersinn. Weil die Kurve bei ω = die
positive reelle Achse schneidet, macht der Polarwinkel dort einen Sprung der Höhe π.
Eine Unstetigkeit des Polarwinkels gibt es auch im Nullpunkt bei ω = −π, wie eine ge-
nauere Betrachtung der Skizze zeigt. Denn durchläuft man vom Punkt ΘB ( − π) aus die
Kurve rückwärts, strebt der Polarwinkel bei Annäherung des Nullpunktes gegen π. Eine
Unstetigkeit ergibt sich allerdings nur, falls Φ( + i) = gilt, was in vielen Programmen
angenommen wird. Notwendig ist das jedoch nicht, man kann auch Φ( + i) = π anneh-
men, die Unstetigkeit verschwindet dann.
Abbildung 4.3 zeigt den aus der Kurve abgeleiteten Amplitudengang, Abb. 4.4 den Pha-
sengang, in den die soeben erwähnte Unstetigkeitsstelle als kleine Warnung eingezeichnet
ist. Die Lage der Eckfrequenz ω e ist gestrichelt angedeutet. Über den Amplitudengang
lässt sich nicht viel sagen, es ist der normale Gang eines einfachen Tiefpasses. Er zeigt
allerdings, dass das Filter die Amplitude der Signale verdoppelt, darauf wird etwas weiter
unten noch eingegangen. Der Phasengang hat genau die oben an der Kurve der Fre-
quenzantwort abgelesenen Eigenschaften. Der prominente Sprung ist typisch für Filter,
deren Frequenzgangskurve nicht mit einem Start auf der positiven reellen Achse durch-
laufen wird, diese daher im Inneren der Kurve mindestens einmal überqueren muss.
Denn der Frequenzgang als periodische Funktion erzeugt eine geschlossene Kurve (sie-
he dazu Kap. 2). Eine Voraussetzung dafür, dass die Verschiebungsfunktion (Abb. 4.5)
bei ω = keinen Pol besitzt, d. h. überhaupt beschränkt ist, ist, dass der Phasengang
im Nullpunkt verschwindet: ϕ() = . Nur dann besteht die Möglichkeit, dass der
Grenzwert
ϕ(ω)
lim
ω→ ω
230 4 Die Konstruktion digitaler Filter
2.0
1.8
1.6
1.4
1.2
1.0
0.8
0.6
0.4
0.2
π π π π
π π 0 π π
2π
π π π π
π π 0 π π
endlich ist und als Funktionswert für Λ im Nullpunkt genommen werden kann. Das ist bei
dem Filter B leider nur einseitig (linksseitig) der Fall, die Verschiebungsfunktion kann
daher für kleine Kreisfrequenzen ω große Werte annehmen.
Das Ausgangssignal B (x) kann nach Abschn. 4.1 an den Koeffizienten der System-
funktion abgelesen werden:
Um von einem AVR-Prozessor verarbeitet werden zu können, sind die Koeffizienten in ein
geeignetes Format umzuformen. Das erfolgt ausführlich in Kap. 5.
Zum Abschluss der Analyse des Filters sind noch die Nullstellen und Pole der Sys-
temfunktion, d. h. das Pole-Nullstellendiagramm, zu bestimmen. Die Nullstellen können
erraten werden: Wegen u = u und u = u sind die gesuchten Nullstellen die der Funkti-
on −z − +z − , also offensichtlich z = z = −. Die Pole sind nicht so leicht zu bekommen,
man muss einen Nullstellenfinder auf das Nennerpolynom der Systemfunktion ansetzen,
4.3 Anleihen aus der analogen Welt 231
10
0
−π − π −π −π 0 π π
π π
−1
das man nach Ausklammern von z − erhält. Der in diesem Buch benutzte Finder (der mit
etwa 64 Dezimalstellen rechnet) liefert (auf 30 Dezimalziffern gerundet)
w = , + ,i
w = , − ,i
Die beiden Pole liegen tief im Inneren des Einheitskreises, das Filter ist daher sehr stabil
und wird die Stabilität auch durch die Digitalisierung bei der Implementierung nicht ver-
lieren. Das Pole-Nullstellendiagramm ist in Abb. 4.6 gezeigt, mit der doppelten Nullstelle
als Doppelkreis.
Die Variabilität des Filters bezüglich der Eckfrequenz ω e wird ausschließlich durch die
Pole erzeugt. Mit größer werdender Eckfrequenz bewegen sich die Pole immer mehr zur
Doppelnullstelle hin. Beispielsweise enthält Abb. 4.7 das Nullstellen-Pole-Diagramm für
ω e = ,π (siehe aber auch Abb. 4.8). Die Pole sind
w = −, + ,i
w = −, − ,i
Auch dieses Filter ist noch genügend stabil. Mit ε → oder ε → bleibt das Filter zwar
theoretisch stabil, die Pole liegen jedoch so nahe am Rand des Einheitskreises, dass die
Gefahr besteht, dass das Filter bei der Digitalisierung, die bei der Implementierung vorge-
nommen werden muss und einen beträchtlichen Genauigkeitsverlust bedeuten kann, seine
Stabilität verliert (Näheres dazu in Kap. 5). Beispielsweise erhält man für ε = , folgende
Pole:
w = , + ,i
w = , − ,i
232 4 Die Konstruktion digitaler Filter
−1 1
−1 1
−1 1
Der Absolutwert der Pole ist ∣w i ∣ = ,. Die Pole liegen nicht nur sehr nahe am Rand
des Einheitskreises, sie liegen auch so nahe zusammen, dass sie in einer Skizze nicht mehr
unterschieden werden können.
Für ε = ist das Filter wegen tan(π/) = ∞ nicht definiert. Für ε > ist das Filter zwar
wieder definiert, doch liegen die Pole außerhalb des Einheitskreises und sorgen so für ein
nicht stabiles Filter.
Das Ausgangssignal des Filters mit der Einheitsstufe als Eingangssignal ist in Abb. 4.9 zu
sehen. Der Tiefpasscharakter des Filters ist daran zu erkennen, denn die scharfe Kante des
Eingangssignals wird wegen des Herausfiltern der hohen Frequenzen etwas verschliffen.
Von dem geringfügigen Überschwingen direkt nach der Kante abgesehen wird die nach-
folgende „Gleichspannung“ erwartungsgemäß mit γB () = , multipliziert.
4.3 Anleihen aus der analogen Welt 233
2, 103
u = , v = ,
u = −, v = −,
u = , v = ,
u = −, v = −,
u = , v =
Der Amplitudengang des Filters kann nach Abschn. 3.10 bestimmt werden. Leser, die so et-
was wie einen „Potentialtopf “ der Quantenphysik erwartet haben, werden von Abb. 4.10 al-
lerdings enttäuscht sein. Die Bandbreite B schreibt nämlich die Breite des Amplitudengangs
√
an den Stellen vor, an welchen der Amplitudengang die horizontale Linie f → γB ()
schneidet. Offensichtlich liegt die tatsächliche Bandbreite näher an Hz als an den ge-
forderten Hz.
Um sich vom allgemeinen Wohlverhalten des Filters zu überzeugen empfiehlt es sich,
den Amplitudengang für Frequenzen an den Grenzen des Frequenzbereiches zu bestim-
men, also für eine Mittenfrequenz nahe f = und eine Mittenfrequenz nach der halben
Abtastfrequenz f = . Außer einer etwas stärkeren Asymmetrie des in Abb. 4.11 darge-
stellten Amplitudengangs lässt sich für die Mittenfrequenz f M = Hz nichts nachteiliges
feststellen. Bei der Mittenfrequenz f M = Hz besitzt der Amplitudengang allerdings
einen schmaleren Sperrbereich (Abb. 4.12). Allgemein verringert sich der Sperrbereich mit
zunehmender Frequenz. Für größere Frequenzen (relativ zur halben Abtastfrequenz) soll-
te daher die geforderte Bandbreite erhöht werden, um eine tatsächliche Bandbreite B zu
erhalten.
Zur genauen Bestimmung der Bandbreite und des Q-Faktors ist in Abb. 4.13 der
Sperrbereich √ des Amplitudengangs vergrößert gezeichnet. Für die linke Frequenz f L mit
γB ( f L ) = / liest man etwa Hz ab, für die entsprechende rechte Frequenz findet
234 4 Die Konstruktion digitaler Filter
1.0
0.8 √
γ B (0)
0.6
0.4
0.2
0.0
100 200 300 400 500 600 700 800 900 1000 1100 1200
1.0
0.8
0.6
0.4
0.2
0.0
100 200 300 400 500 600 700 800 900 1000 1100 1200
man f R = Hz. Im Zuge der Berechnung des Amplitudengangs lassen sich natürlich
genauere Zahlen ermitteln, diese sind f L = , Hz und f R = , Hz. Die echte
Bandbreite B̃ und der Q-Faktor errechnen sich daraus als
fM
B̃ = f R − f L = , Hz Q= = ,
B̃
Mit den beiden Frequenzen lässt sich auch die Steigung des Amplitudengangs im Sperr-
bereich abschätzen. Man findet für den linken Teil des Sperrbereiches als Abschätzung für
1.0
0.9
√
0.8 γ B (0)
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0.0
950 960 970 980 990 1000 1010 1020 1030 1040 1050
1.0
0.9
√
0.8 γ B (0)
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0.0
100 200 300 400 500
die Ableitung γ ′B (ω) ≈ −, und im rechten Bereich γ′B (ω) ≈ ,. Bei der Berechnung
ist zu beachten, dass der Amplitudengang nicht wirklich als eine Funktion der Frequenz
berechnet wird, sondern als Funktion der Kreisfrequenz ω. Die den Eckfrequenzen ent-
sprechenden Kreisfrequenzen sind ω L = , und ω R = ,.
Vor der Berechnung des Phasenganges empfiehlt es sich, die von der Frequenzantwort
durchlaufene Kurve zu betrachten (Abb. 4.14). Die Kurve wird zweimal durchlaufen, der
zweite Durchlauf beginnt mit ω = . Jeder Durchlauf beginnt im Punkt 1 auf der reellen
Achse. Der Nullpunkt der komplexen Ebene wird mit ω = − π und ω = π erreicht. Die
Kurve wird im Uhrzeigersinn durchlaufen. Die Anzahl der Umläufe lässt sich wieder bes-
ser erkennen, wenn die Frequenzantwort mit der „Spiralisierungsfunktion“ S(ω) = − π ω
multipliziert wird (Abb. 4.14 rechts, siehe auch Abschn. 3.4). Der zweite Durchgang startet
im Punkt der reellen Achse. Mit diesen Informationen kann man schon erkennen, dass es
einen Phasensprung der Höhe π beim Übergang vom ersten zum zweiten Durchlauf gibt
und dass bei jedem Durchlauf die Phase bei π beginnt und stetig bis zum Wert 0 abnimmt.
Der genaue Phasengang ist in Abb. 4.15 gezeichnet, mit in Frequenzen f des kontinuierli-
chen Frequenzbandes umgerechnete Kreisfrequenzen ω.1 Offenbar sind große durch das
Filter verursachte Signalverschiebungen für kleine positive Frequenzen zu erwarten, die
−1 1 −1 1
i i
1
Zur Berechnung des Phasenganges siehe Abschn. 3.10.
236 4 Die Konstruktion digitaler Filter
2π
π
π
1200 1000 800 600 400 200 0 200 400 600 800 1000 1200
10
0
−1000 −800 −600 −400 −200 0 200 400 600 800 1000 1200
−1
−2
−3
−4
Größe der Verschiebungen für negative Frequenzen ist dagegen beschränkt. Die genaue
Berechnung der Verschiebungsfunktion ΛB (Abb. 4.16) bestätigt das. Das sehr viel bessere
Verhalten von ΛB im negativen Frequenzbereich könnte durch eine andere Transforma-
tion des Frequenzbandes ausgenutzt werden.
Es bleibt noch, das Nullstellen-Pole-Diagramm zu bestimmen, d. h. die Nullstellen und
Pole der Systemfunktion zu berechnen. Das Zähler- und das Nennerpolynom der System-
funktion haben beide den Grad 4, die Systemfunktion besitzt daher vier Nullstellen und
vier Pole. Die Berechnung der Pole wird ausführlich in Abschn. 6.2 durchgeführt, dort
4.3 Anleihen aus der analogen Welt 237
−1 1
Die Systemfunktion besitzt also zwei Doppelpole. Die Berechnung der Nullstellen ergibt
zwei Doppelnullstellen:
Wer öfter numerische Rechnungen für DSP durchführt sieht sofort, dass die Nullstellen
Approximationen bekannter Zahlen auf dem Einheitskreis sind:
√ √
π π
z = z = ( + i) = e i z = z = ( − i) = e i
Die beiden Pole haben den Betrag ∣w ∣ = ∣w ∣ ≈ ,, sie liegen damit gut im Inneren des
Einheitskreises: Das Filter ist stabil (siehe Abb. 4.17). In der Praxis können sich am Anfang
eines gefilterten Signals allerdings Störungen einstellen. Eine Möglichkeit, eine Vorstellung
von der Größenordnung der Störungen zu erhalten, besteht darin, das Filter auf ein be-
kanntes Signal anzuwenden, beispielsweise auf die Einheitsstufe u. Wie Tab. 4.1 erkennen
lässt, wird der Einheitsstufe ein allerdings sehr kleines periodisches Signal überlagert. Das
Filter erzeugt also ein schwaches Rauschen, das mit zunehmendem n geringer wird und
schließlich verebbt. Natürlich lässt die bekannte Wirkung auf ein Signal keine allgemeinen
Schlüsse zu. Will man mehr wissen, muss mit weiteren Signalen experimentiert werden,
denn weil das Filter nur numerisch gegeben ist, muss die Wirkung auf jedes Signal nume-
risch bestimmt werden.
238 4 Die Konstruktion digitaler Filter
4.4 Kerbfilter
Ein ideales Kerbfilter entfernt eine bestimmte Frequenz ωk aus dem Spektrum eines Si-
gnals. Das kann mit einem digitalen Filter K annähernd so realisiert werden, dass des-
sen Systemfunktion mit der Nullstelle e iωk ausgestattet wird. Dann ist ωk eine Nullstelle
der Frequenzantwort und wird vom Filter unterdrückt. Auf diese Weise lassen sich auch
Mehrfachkerbfilter aufbauen, d. h. Filter, die zwei oder mehr einzelne Frequenzen eines Si-
gnalspektrums unterdrücken, man hat nur entsprechende Nullstellen der Systemfunktion
auf dem Einheitskreis einzuführen.
Um die Ausführungen etwas konkreter zu gestalten wird ein praktisches Beispiel durch-
gerechnet. Ein Signal wird mit einer Frequenz von f A = Hz abgetastet. Es enthält
Frequenzanteile bei f = Hz und f = Hz, die mit einem Filter K entfernt werden
sollen. Die Nullstellen der Systemfunktion von K sind w = e iω und w = e iω , mit2
ω = π = π ω = ω = π.
In einem ersten Versuch soll die Systemfunktion nur über die Nullstellen definiert wer-
den. Deren Lage im Nullstellen-Pole-Diagramm kann Abb. 4.18 entnommen werden. Das
Ergebnis der weiteren Rechnungen zur Bestimmung der Systemfunktion und des Amplitu-
dengangs ist jedoch enttäuschend, weshalb nur der Amplitudengang in Abb. 4.19 skizziert
wird. Die Frequenzen f und f werden zwar eliminiert, aber große Bereiche des übrigen
Spektralbereiches nahezu ebenfalls, und von scharfen Übergängen kann natürlich gar keine
Rede sein. Auf den Einsatz von Polen kann demnach nicht verzichtet werden. Es wird des-
2
Mehr dazu in Abschn. 3.5
4.4 Kerbfilter 239
−1 1
w1
i
w2
0
0 50 100 150 200 250 300 350 400 450 500
halb nun jeder Nullstelle w i ein Pol zp i zugeordnet. Er liegt auf dem Strahl vom Nullpunkt
zur Nullstelle w i in der Nähe der Nullstelle:
zp i = re iω i ,
mit einem Wert von r in der Nähe von 1. Das Filter wird für r = , berechnet, der Am-
plitudengang für r = , ist zu Vergleichszwecken mit angeführt. Das Nullstellen-Polen-
Diagramm ist in Abb. 4.20 dargestellt. Wie oben ausgeführt, sollen die Pole den Betrag der
Systemfunktion in der Nähe der Nullstellen in die Höhe treiben, um Frequenzen in der
Nähe der Nullstellen möglichst wenig zu dämpfen.
Jede Nullstelle w i wird mit der konjugierten Nullstelle w i ergänzt. Das ist notwendig,
weil das Filter reelle Signale erzeugen soll. Nullstellen und Pole müssen in diesem Fall ent-
weder als konjugierte Paare oder einzeln reell auftreten. Es müssen hier Paare sein, denn
die einzigen reellen Nullstellen auf dem Einheitskreis sind 1 und −. Die zwei Nullstel-
lenpaare w i , w i ergänzt durch die zwei Polpaare zp i , zp i führen zur folgenden System-
funktion:
−1 1
w1
i
w2
Die Koeffizienten u ν und v μ lassen sich mit den Koeffizientenformeln aus Anhang A.1.1
direkt berechnen, sie ergeben sich auf zwanzig Nachkommastellen gerundet zu
u = v =
u = −, v = −,
u = , v = ,
u = −, v = −,
u = v = ,
Der zugehörige Filter K ist daher mit auf drei Nachkommastellen gerundeten Koeffizienten
−1 1
−i
mit zunehmender Größe von r. Zur genaueren Beurteilung ist in Abb. 4.23 eine „Kerbe“
mit gestrecktem Frequenzbereich gezeichnet. Man kann z. B. direkt den Q-Faktor ablesen.
Dieser ist definiert als der Quotient
ωK
Q= .
ωR − ωL
Darin ist ωK die herauszufilternde Kerbfrequenz (also hier ωK = π/), ωL ist die größte
Frequenz ω < ωK mit
√
γ () = γK (ω),
K
und ωR ist die kleinste Frequenz ωK < ω mit
√
dieser Eigenschaft. Es sind die Frequenzen,
bei welchen sich die waagrechte Linie γ = γK () und der Amplitudengang schneiden.
√
≈ , entspricht einer Dämpfung von 3 dB. Die beiden Frequenzen lassen sich mit
Hilft der gepunkteten Linien im Bild leicht finden. Man erhält Q ≈ ,.
Allerdings darf r der Peripherie des Einheitskreises nicht beliebig nahe kommen, wenn
das Filter nach der für die Implementierung erforderlichen Digitalisierung stabil bleiben
soll (Mehr dazu in Kap. 5). Bei r = , sind allerdings noch keine Schwierigkeiten zu er-
warten.
Dass das Filter die Amplitude von Frequenzanteilen außerhalb der Dämpfungsbereiche
vergrößert kann ebenfalls bei der Implementierung berücksichtigt werden. Genau genom-
men darf hier von Frequenzen oder Frequenzanteilen gar nicht gesprochen werden, denn
der Amplitudengang bei der Kreisfrequenz ω gibt an, wie stark die Amplitude der speziel-
len exponentiellen Signale n ↦ єω (n) verstärkt wird.
242 4 Die Konstruktion digitaler Filter
1.6
1.4
1.2
1.0
0.8
0.6
0.4
0.2
0.0
0 50 100 150 200 250 300 350 400 450 500
f
Bei der Betrachtung der Frequenzantwort weiter oben wurde schon kurz auf die Gestalt
des Phasenganges eingegangen, von der angenommen wurde, dass sie von den drei Rota-
tionswinkelsprüngen bei der Überquerung der positiven reellen Achse geprägt wird. Wie
Abb. 4.24 zeigt ist das auch tatsächlich der Fall. Die Steilheit der Kurve nahe den Kerbfre-
quenzen ± Hz und ± Hz, die nahezu einem Rotationswinkelsprung gleichen, ist der
Frequenzantwort allerdings nicht so einfach abzulesen, denn der Kurve allein ist nicht an-
zusehen, mit welcher Geschwindigkeit sie durchlaufen wird. Diese Steilheit bedeutet, dass
die Ableitung des Phasenganges (auch Gruppenlaufzeit genannt) in der Nähe der Kerbfre-
quenzen numerisch schwierig zu berechnen ist.
1.2
1.1
1.0
0.9 √
γ K (0)
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0.0
0.45 0.50 0.55 0.60 0.65 0.70 0.75 0.80 0.85 0.90 0.95 1.00 ω
2π
−500 −400 −300 −200 −100 0 100 200 300 400 500
f
Darin sind N und die Frequenz f noch zu bestimmen, und über die Parameter a ν kann
beliebig verfügt werden. Aus diesem Signal wird das digitale Signal durch Abtasten ge-
wonnen:
N
x(n) = ∑ a ν cos(Ω ν n) ̂
Ω ν = ν f Tπ (4.19)
ν=
Das Abtastintervall T̂ muss zusammen mit der Frequenz f noch festgelegt werden. Das
̂ = . Folglich müssen f
geschieht so, dass Ω = ω verlangt wird. Das ergibt sofort f T
244 4 Die Konstruktion digitaler Filter
10
0
−500 −400 −300 −200 −100 0 100 200 300 400 500
−1
Ω Ω Ω Ω Ω Ω Ω
−2
−3
−4
−5
−6
und T̂ nicht gesondert festgelegt werden, es genügt, ihr Produkt zu kennen. Nach dem Ab-
schnitt über das Abtasten (Abschn. 3.5) sollte das Spektrum des kontinuierlichen Signals x
bandbegrenzt sein, das wird hier so berücksichtigt, dass nur Frequenzen Ω ν mit Ω ν < π zu-
gelassen werden, also Frequenzen, die noch in das abstrakte Frequenzintervall fallen. Das
sind offenbar Frequenzen Ω ν mit der Eigenschaft ν ≤ , d. h. es ist N = . Das digitale
Signal ist daher
x(n) = ∑ a ν cos(Ω ν n) = ∑ a ν cos ( πνn) (4.20)
ν= ν=
4.4 Kerbfilter 245
π 0 π
x (n) = a cos(Ω n)
Es liegt nahe, das Kerbfilter auf dieses Signal anzuwenden, um zu testen, wie gut die Fre-
quenz ω tatsächlich unterdrückt wird. Mit a = erhält man das in Abb. 4.28 gezeigte
Ergebnis
n ↦ K(x )(n).
Danach arbeitet das Filter einwandfrei, schon nach zwei Perioden (P = ) von x ist das
Signal fast vollständig unterdrückt. Das anfängliche Einschwingen ist natürlich darauf zu-
rückzuführen, dass dem Filter nicht das echte, unendlich lange Signal x übergeben werden
kann, sondern nur eine Annäherung mit endlicher Geschichte, hier x ′ = x u − , oder aus-
führlich
⎧
⎪
⎪ falls n < −
x ′ (n) = ⎨
⎪x (n) falls n ≥ −
⎪
⎩
Die x(−) bis x(−) werden daher mit Null initialisiert, was einen Sprung am Beginn
der Filterung bedeutet. Dass die K(x)(−) bis K(x)(−) ebenfalls mit Null initialisiert
werden, trägt auch dazu bei. Die Ausschläge am Anfang lassen sich dämpfen, indem die
Anfangswerte mit einer Rampe, d. h. einem langsam von Null bis zu x(−) ansteigen-
den Signalstück, belegt werden. Allerdings werden solche Anfangsbewegungen wohl nur
in seltenen Fällen Schaden anrichten.
Einen Eindruck davon, wie sich das Filter bei anderen Frequenzen verhält, gibt Abb. 4.30.
Dort ist die Wirkung des Filters auf das Signal x u − (siehe Abb. 4.29) zur Nachbarfre-
quenz Ω gezeigt (x sieht aus wie x , siehe Abb. 4.27). Das Einschwingen ist auch hier zu
erkennen, nach seinem Abklingen wird das Eingangssignal nur noch geringfügig verän-
dert, mit dem bloßen Auge zu erkennen ist nur eine geringe Dämpfung. Man kann sicher
annehmen, dass von den beiden Kerbfrequenzen weiter entfernte Frequenzen vom Filter
etwas verstärkt werden, sonst aber nur wenig Änderung erfahren.
Das Filter K verhält sich also gegenüber den speziellen „elementaren“ Signalen x ν so,
wie es zu erwarten war. Das Verhalten des Filters gegenüber beliebigen anderen Signalen
246 4 Die Konstruktion digitaler Filter
0, 5
− − − −
−0, 5
0, 4381
− − − −
−0, 4382
1
2
− − − −
− 12
lässt sich daraus jedoch nicht ableiten. Das gilt auch für den Amplitudengang: Die Tat-
sache, dass die Amplituden der exponentiellen Signale n ↦ є ω (n) = e inω außerhalb der
Kerben verdoppelt werden, lässt sich nicht auf allgemeine Signale übertragen. Ein Beispiel
dafür ist das Signal (4.20). Dazu müssen die Frequenz f und die Koeffizienten a ν kon-
kretisiert werden. Als Frequenz wird einfach f = gewählt, und die Werte der a ν , die
man als das Spektrum von x interpretieren kann, werden in Abb. 4.31 angegeben. Die bei-
4.4 Kerbfilter 247
0, 5871
− − − −
−0, 5871
den Kerbfrequenzen ω und ω sind „Ausreißer“ in diesem Spektrum und werden vom
Filter eliminiert.3 Ein Abschnitt des sich so ergebenden Signals x ist in Abb. 4.33 zu se-
hen. Eine gewisse Ähnlichkeit mit dem kontinuierlichen Signal aus Abb. 4.26 ist noch zu
erkennen.
Auch das abgetastete Signal ist periodisch, was keinesfalls allgemeingültig ist.4 Ein Ge-
genbeispiel lässt sich schon mit elementaren Signalen konstruieren, z. B. mit einem Recht-
ecksignal. Zu diesem Zweck sei a eine positive reelle Zahl, über deren Wert später noch
verfügt wird. Dann ist die reelle Funktion y wie folgt definiert:
⎧
⎪
⎪ für ≤ t < a
y(t) = ⎨ und y(t + a) = y(t)
⎪
⎩ für a ≤ t < a
⎪
Die im Basisintervall ≤ t < a definierte Funktion wird also mit der Periode P = a auf
ganz R fortgesetzt. Abgetastet wird mit dem Abtastintervall T = , d. h. es ist y(n) = y(n).
3
Das Spektrum legt allerdings ein Filter nahe, das die Spektralanteile von ω und ω nur auf das
Niveau der Nachbarfrequenzen dämpft.
4
Siehe auch Abschn. 3.5. Dort wird untersucht, für welche Ω das Signal n ↦ cos(Ωn) periodisch ist.
248 4 Die Konstruktion digitaler Filter
1
2
− − − −
− 12
y(n) kann auch direkt berechnet werden. Ist nämlich n = m n a + ϑ, mit m n ∈ N und
≤ ϑ n < a, dann gilt offenbar m n a ≤ n < m n a + a = (m n + )a, d. h.
⎧
⎪
⎪ falls m n = k n
y(n) = ⎨
⎪
⎩ falls m n = k n +
⎪
Als a wird nun eine irrationale Zahl ausgewählt, d. h. a ∈/ Q, etwa a = π. Die Werte von
y() bis y() sind dann
Eine Periodizität findet man in dieser Folge von Signalwerten nicht. Eine Suche per Pro-
gramm für n ≤ und p ≤ wurde ebenfalls nicht fündig.
Nach diesem kleinen Abstecher wieder zurück zum Signal x (eine Komponente ist in
Abb. 4.32 gezeigt). Seine Periodizität lässt sich nach Abb. 4.33 vermuten, die Vermutung
kann aber leicht verifiziert werden. Denn x ist eine Linearkombination der Signale
n ↦ x ν (n) = cos ( πνn)
Besitzen alle x ν die ganzzahlige Periode p ν , dann hat auch x als Linearkombination sol-
cher periodischen Signale eine ganzzahlige Periode p, nämlich das kleinste gemeinsame
Vielfache der Perioden p ν . Nun gilt aber x ν (n + p ν ) = x ν (n) wegen der Periodizität der
Cosinusfunktion genau dann, wenn es eine natürliche Zahl k gibt mit
k
πνn + πk = πνn + πνp ν oder p ν =
ν
4.4 Kerbfilter 249
4.5
− − − −
−0.9417
− − − −
−1, 3441
4.5
−0.9417
Falls ν kein Teiler von 25 ist wählt man k = ν, für ν = wählt man k = und für ν =
wählt man k = , um die Perioden p ν = für ν ∈ {, , , , , , , , , } und p ν = für
ν ∈ {, } zu bekommen. Der Fall ν = lässt sich mit Abb. 4.27 überprüfen und ν = mit
Abb. 4.32, die Perioden sind leicht zu erkennen.
Das Signal x ist also tatsächlich periodisch mit einer (ganzzahligen) Periode p, und zwar
ist, wie oben schon erwähnt, p das kleinste gemeinsame Vielfache (kgV) der Perioden der
x ν , also das kgV von 5 und 25, d. h. p = (siehe Abb. 4.33).
Nach all diesen Abschweifungen aber nun endlich zum gefilterten Signal x, und zwar,
wieder genau genommen, zum Signal K (xu − ). Beim Betrachen von Abb. 4.34 fällt als ers-
tes auf, dass das Signal ein wenig gedämpft wird (Eine Amplitudenspanne von , gegen
eine Amplitudenspanne von .). Das bestätigt die oben gemachte Bemerkung, dass von
der Wirkung eines Filters auf die Elementarsignale nicht auf die Wirkung auf ein allgemei-
nes Signal geschlossen werden kann. Als zweites bemerkt man, dass das Ausgangssignal
250 4 Die Konstruktion digitaler Filter
nicht mehr periodisch ist, es sei denn, die Periode ist so groß, dass sie in Abb. 4.34 nicht
mehr bemerkt werden kann, was allerdings sehr unwahrscheinlich ist. Und die Überein-
stimmung der Anfänge von Eingangs- und Ausgangssignal ist eine Täuschung, was anhand
von Tab. 4.2 nachgeprüft werden kann. Die Tabelle untermauert auch die Vermutung, dass
das Ausgangssignal nicht mehr periodisch ist.
Die ersten sieben „Spektralfrequenzen“ Ω ν sind bei der Verschiebungsfunktion
(Abb. 4.25) ebenfalls eingezeichnet, beziehen sich aber auf das Intervall −π ≤ ω < π
statt auf − ≤ f < . Die Verschiebungen bei diesen Frequenzen sind jedoch nur
für die Elementarsignale є Ω , c Ω und s Ω , und die Signale x ν u − sind weit davon entfernt,
Elementarsignale zu sein.
Abbildung 4.35 zeigt das Signal x im eingeschwungenen Zustand in einem Abschnitt
ab n = , und Abb. 4.36 zeigt das Ausgangssignal K(xu − ) in demselben Abschnitt.
Hier ist aller Einfluss von u verschwunden, d. h. man sieht eigentlich das Ausgangssignal
K(x). Man erkennt auch, dass K(x) wie x die Periode p = besitzt. Das Filter verstärkt
4.5 Hochpässe 251
3.706
−1.344
die Amplitudendifferenz ein wenig, von , zu ,. Es findet auch keine Verschiebung
des Ausgangssignals statt, denn der Faktor u erzwingt eine Synchronisation beider Signale.
Es ist nämlich
K(x)() = x() K(x)() = x() − u x() + v K(x)() = x() − u x() + v x() ≈ x()
Das heißt aber, dass der Verschiebungsfunktion ΛS eines Systems S nicht die große Bedeu-
tung zukommt, die man ihr zuweisen möchte, bevor man einige praktische Beispiele näher
untersucht hat.
4.5 Hochpässe
Auch Hochpässe können durch Vorgabe der Nullstellen und Pole der Systemfunktion kon-
struiert werden. Versteht man unter einem Hochpass ein System, das nur die allerhöchsten
Frequenzen (ω ≈ π) hindurchlässt oder komplementär nur die allerniedrigsten Frequenzen
(ω ≈ ) herausfiltert, dann kann dieses Ziel mit geeigneten Lagen von Nullstellen und Polen
der Systemfunktion realisiert werden. Versteht man darunter aber ein System, das alle Fre-
quenzen unterhalb einer Grenzfrequenz ωG herausfiltert und alle Frequenzen oberhalb der
Grenzfrequenz unangetastet hindurchlässt, dann lässt sich dieses Ziel mit einigen wenigen
Nullstellen und Polen nicht auf befriedigende Weise erreichen.
Ein Filter, das nur die allerhöchsten Frequenzen hindurchlässt, kann so erhalten werden,
dass ein Pol auf die reelle Achse in die Nähe von − gelegt wird, um den Absolutwert der
Systemfunktion dort in die Höhe zu treiben, und dass eine Nullstelle auf die reelle Achse in
die Nähe von 1 gelegt wird. Wenn immer möglich sollten Symmetrien bevorzugt werden,
der Pol und die Nullstelle werden daher wie in Abb. 4.37 in eine zum Nullpunkt symme-
trische Lage gebracht. Der Abstand δ von Pol oder Nullstelle zum Nullpunkt der Ebenen
dient dann als Systemparameter. Man kann vermuten, dass die Eigenschaften des Filters
desto besser werden, je mehr sich δ dem Wert 1 annähert, der Stabilität wegen aber nicht
zu nahe.
Die Systemfunktion dieses einfachen Filters H ist einfach zu erhalten, es ist eine ratio-
nale Funktion aus zwei Polynomen vom Grad 1, wobei das Zählerpolynom die Nullstelle
252 4 Die Konstruktion digitaler Filter
−1 1
←− δ −→←− δ −→
π
i ω= 2
ω = −π
−1 1
−i ω = − π2
z − δ − δz −
Ψ H (z) = = (4.21)
z + δ + δz −
Die Koeffizienten der Systemfunktion sind daher (siehe Abschn. 4.1) u = , u = −δ,
v = und v = δ. Als Erstes wird damit die Kurve berechnet, welche der Frequenzgang
in der komplexen Ebene durchläuft, sie ist in Abb. 4.38 gezeigt. Der Kurvenanfang auf der
reellen Achse (ω = −π) ist durch einen Punkt gekennzeichnet, die Kurve wird genau einmal
im Uhrzeigersinn durchlaufen. Weil dabei die reelle Achse bei ω = einmal überquert
wird, macht der Phasenwinkel bei dieser Frequenz einen Sprung der Höhe π. Und weil
die Kurve einen positiven Abstand zur imaginären Achse hat, wird vom Filter noch ein
Anteil der Frequenz ω = (d. h. „Gleichstrom“) durchgelassen, der Abstand ist eben dessen
Größe.
Beim Durchlauf der Kurve bestimmt der Abstand des laufenden Punktes zum Nullpunkt
den Amplitudengang. Simuliert man einen Durchlauf mit einem Lineal oder einem Blei-
stift, stellt man fest, dass der Amplitudengang die Gestalt einer mehr oder weniger flachen
Schüssel hat, und Abb. 4.39 bestätigt das auch (es ist nur die rechte Hälfte skizziert). Wie
oben bereits vermutet, wächst die Steilheit der Kurve zu hohen Frequenzen hin mit δ → .
Wie groß δ gewählt werden kann, zeigt sich bei der Implementierung: Bei der Digitalisie-
rung muss die Stabilität erhalten bleiben (siehe Abschn. 3.12).
4.5 Hochpässe 253
1.0
0.9
0.8
0.7
1
0.6 δ= 2
0.5
7
0.4 δ= 10
0.3
9
0.2 δ= 10
99
0.1 δ= 100
0.0
π
0 π
2π
π 0 π
Abgesehen von hohen und niedrigen Frequenzen zeigt der Phasenwinkel einen fast
konstanten Verlauf, wie er bisher noch nicht vorgekommen ist (siehe Abb. 4.40). Wegen
ϕH (ω) ≈ π für kleine negative Frequenzen werden die elementaren Exponentialsignale
dort stark verschoben, was aber vernachlässigt werden kann, denn eben solche Frequenzen
werden herausgefiltert.
Die Differenzengleichung des Filters kann direkt an den Koeffizienten u κ und v μ abge-
lesen werden (siehe z. B. Abschn. 4.1):
Die Filterwirkung von H (x) ist insbesondere für niedrige Frequenzen nicht besonders
gut, allerdings kann von einem solch einfachen System nicht mehr erwartet werden. Eine
einfache Methode, die Wirkung des Filters zu verbessern, besteht darin, die Nullstellen und
Pole zu verdoppeln. Das entsprechende Pole-Nullstellen-Diagramm (Abb. 4.41) führt auf
die folgende Systemfunktion eines Filters H :
(z − δ) − δz − + δ z −
Ψ H (z) = =
(z + δ) + δz − + δ z −
254 4 Die Konstruktion digitaler Filter
−1 1
←− δ −→←− δ −→
Der zweite Pol soll für einen schnelleren Anstieg des Amplitudengangs bei hohen Frequen-
zen und eine stärkere Unterdrückung der niedrigen Frequenzen sorgen. Es ist eine gewisse
„Familienähnlichkeit“ mit dem Filter H zu vermuten. Allerdings spricht der Verlauf der
vom Frequenzgang durchlaufenen Kurve (Abb. 4.42) noch nicht sehr für eine solche Ähn-
lichkeit, auf den Amplitudengang (Abb. 4.43) und den Phasengang (Abb. 4.44) trifft das
jedoch zu. Gegenüber der Kurve von H ist der von ω = − π bis ω = π durchlaufene
Teil der Kurve noch stärker verkürzt. Man kann das so ausdrücken, dass der Kurventeil
um den Nullpunkt der komplexen Ebene herum mit sehr viel größerer Geschwindigkeit
durchlaufen wird als die übrigen Teile der Kurve (eine schöne Übungsaufgabe für den Le-
ser, die Durchlaufgeschwindigkeit tatsächlich zu berechnen). Das ist eigentlich kein gutes
Zeichen, weil es auf eine sehr ungleiche Behandlung der niedrigen Frequenzen gegenüber
den Frequenzen des übrigen Frequenzbandes hindeutet. Andererseits werden die niedrigen
Frequenzen aber gerade herausgefiltert und haben keinen oder doch wenig Einfluss auf das
Ausgangssignal. Tatsächlich werden niedrige Frequenzen mit dem System H besser unter-
drückt als mit H , wie ein Vergleich der Abb. 4.39 und 4.43 zeigt. Auch ist der Anstieg des
Amplitudenganges wie erhofft bei hohen Frequenzen stärker geworden. Der Phasengang
von H zeigt wie erwartet eine starke Ähnlichkeit mit dem von H . Und tatsächlich sind
sich auch die Frequenzgänge beider Systeme ähnlicher als die Skizzen vermuten lassen.
Denn die Kurve von H geht nicht durch den Nullpunkt der Ebene (wie auch schon der
Amplitudengang zeigt), der Übergang über die reelle Achse verläuft im positiven Bereich
der Achse und ist daher der Überquerung der reellen Achse der Kurve von H vergleichbar.
Ein Passieren des Nullpunktes der Ebene hätte einen gänzlich anderen Verlauf des Phasen-
ganges zur Folge.
An den Koeffizienten der Systemfunktion kann wieder die Differenzengleichung des
(nicht kausalen) Filters abgelesen werden:
Es wird nun ein Hochpass realisiert, der nur sehr niedrige Frequenzen herausfiltert und alle
übrigen „hohen“ Frequenzen möglichst unverändert passieren lässt. Wie man eine Nullstel-
le und einen Pol im Einheitskreis so verteilen kann, dass der gewünschte Effekt entsteht,
4.5 Hochpässe 255
ω=0
−1 1
ω = − π2
−i
1.0
0.9
0.8
0.7
0.6
0.5
1
0.4 δ= 2
7
0.3 δ= 10
0.2
9
0.1 δ= 10
0.0
π
0 π
2π
π 0 π
zeigt das Nullstellen-Pole-Diagramm in Abb. 4.45. Die Nullstelle wird auf den Punkt 1 der
reelle Achse gelegt, um niedrige Frequenzen zu unterdrücken. Der in direkter Nachbar-
schaft zur Nullstelle auf die reelle Achse gelegte Pol sorgt dafür, dass sich die Wirkung der
256 4 Die Konstruktion digitaler Filter
−1 1
←− δ −→
Nullstelle nur in einer kleinen Umgebung der Nullstelle entfalten kann. Je näher sich Null-
stelle und Pol sind, desto kleiner ist der Einflussbereich der Nullstelle. Der Abstand δ des
Pols vom Nullpunkt der Ebene ist ein Maß für diesen Effekt. Allerdings werden eine dop-
pelte Nullstelle und ein doppelter Pol eingesetzt, um das nächste Filter H zu realisieren.
Man kommt so zu der folgenden Systemfunktion:
(z − ) − z − + z −
Ψ H (z) = =
(z − δ) − δz − + δ z −
ψ ϕ
ω = −π
−1 1
ω = − π2
ω=0
−i
99
δ= 100
1.0
0.9
9
0.8 δ= 10
0.7
7
0.6 δ= 10
0.5
0.4
0.3
0.2
0.1
0.0
π
0 π
Wie schon an der Frequenzantwort in Abb. 4.46 festgestellt wurde, beginnt die Phase
bei ω = −π mit dem Wert π, sinkt stetig ab bis zum Wert π im Nullpunkt, um dann
weiter abzusinken bis zum Wert 0 bei ω → π. Der genaue Verlauf des Phasengangs ist in
Abb. 4.48 gezeichnet. Offenbar werden Teile der Kurve der Frequenzantwort mit stark un-
terschiedlichen Geschwindigkeiten durchlaufen, und zwar mit großer Geschwindigkeit um
den Nullpunkt herum und mit geringer Geschwindigkeit in den übrigen Teilen der Kurve.
Wenn angenommen wird, dass ein System sich desto besser verhält, je mehr die Kurve sei-
ner Frequenzantwort einem mit konstanter Geschwindigkeit durchlaufenem Kreis gleicht,
dann ist das Verhalten dieses Filters nicht besonders gut. Allerdings lässt sich das Phasen-
verhalten eines Systems, das mit Hilfe des Nullstellen-Pole-Diagramm konstruiert wird,
nur sehr schwer vorausbestimmen, man ist praktisch auf trial and error angewiesen, was
auch für das Amplitudenverhalten gilt (und sehr frustrierend sein kann). Die Methode der
Filterkonstruktion über das NP-Diagramm ist doch recht grob.
Weil der Phasenwinkel in der Umgebung von ω = weit von Null entfernt ist, hat die
Verschiebungsfunktion bei ω = einen Pol (siehe Abb. 4.49), d. h. Basissignale mit niedri-
258 4 Die Konstruktion digitaler Filter
2π
π 0 π
11
10
9
8
7
6
5
4
3
2
1
0
−1 −π 0 π
−2
−3
−4
−5
−6
−7
−8
−9
−10
11
gen Frequenzen werden stark verschoben. Das hat allerdings nur geringe Konsequenzen,
weil eben die niedrigen Frequenzen von H herausgefiltert werden.
Die Zahl der Möglichkeiten, Filter mit Nullstellen und Polen von Systemfunktionen zu
definieren, ist endlos, aber die Kontrolle der Eigenschaften der so konstruierten Filter ist
mehr qualitativ als quantitativ. Man kann zwar oft voraussagen, welche Eigenschaften sich
einstellen, wenn ein Pol hierhin und eine Nullstelle dorthin gelegt werden (man kann aber
auch oft genug Überraschungen erleben), aber Voraussagen über beispielsweise den nume-
4.5 Hochpässe 259
i i i
−1 1 −1 1 −1 1
i i i
Abb. 4.50 Der Ring aus Nullstellen und der zentrale vielfache Pol
rischen Wert der Steilheit einer Kurve lassen sich durch das Verschieben von Nullstellen
und Polen nicht gewinnen. Dazu noch ein etwas komplizierteres Beispiel.
Es ist ein Filter H zu konstruieren, das nur wirklich hohe Frequenzen um π und −π
herum hindurchlässt und die übrigen Frequenzen möglichst gut unterdrückt. Die offen-
sichtliche Lösung, nämlich einen Pol in die Nähe von − zu legen, wurde weiter oben schon
umgesetzt. Eine andere Lösung arbeitet mit gleichmäßig auf dem Einheitskreis verteilten
Nullstellen (im linken Teil von Abb. 4.50 gezeigt). Dieser Ring aus Nullstellen enthält bei −
eine Lücke (der mittlere Teil des Bildes). Der Einfluss eines vielfachen Pols im Mittelpunkt
des Einheitskreises wird von den Nullstellen des Rings zwar neutralisiert, kann aber seine
verstärkende Wirkung bei der Lücke im Nullstellenring, d. h. bei den höchsten Frequen-
zen, entfalten (rechts in Abb. 4.50). Allerdings kann der Einfluss des zentralen Pols durch
die Nullstellen des Ringes sicherlich nur in der näheren Umgebung der Nullstellen selbst
ganz aufgehoben werden, denn die kleinen Lücken zwischen den Nullstellen des Ringes
erlauben es dem Pol ebenso wie die größere Lücke bei − seine verstärkende Wirkung aus-
zuüben. Mit einfacheren Worten: Man hat einen welligen Verlauf des Amplitudenganges
zu erwarten, mit den Wellentiefen bei Frequenzen, die den Lagen der Nullstellen auf dem
Einheitskreis entsprechen, und den Wellenhöhen bei solchen Frequenzen, die zu den Mit-
tenlagen zwischen den Nullstellen gehören. Mit zunehmender Anzahl von Nullstellen auf
dem Kreisrand wird der Einfluss des Pols immer mehr auf eine immer kleiner werdende
Umgebung von − beschränkt, d. h. die Welligkeit des Amplitudenganges nimmt mit zu-
nehmender Nullstellenzahl ab und der Anstieg bei hohen Frequenzen wird steiler. Diese
am Nullstellen-Pole-Diagramm abgelesenen Vermutungen werden sich als zutreffend er-
weisen.
Zur gleichmäßigen Verteilung von Nullstellen auf dem Einheitskreis liefern die Kom-
plexen Zahlen eine sehr einfache Lösung, nämlich die m-ten Einheitswurzeln. Diese sind
definiert als die Nullstellen e bis em− der simplen Gleichung z m = :
ν
z m = /⇒ z ∈ {e , . . . , em− } eν = e iπ m (4.22)
Weil − zu diesen Einheitswurzeln gehören soll, muss m eine gerade Zahl sein, m = k,
denn dann ist e k = e iπ = −. Ist aber z m − das Zählerpolynom der gesuchten System-
260 4 Die Konstruktion digitaler Filter
funktion, dann muss der Nenner der Systemfunktion dafür sorgen, dass die Nullstelle e k
vom Einheitskreis verschwindet. Das ist aber kein Problem, denn die Nullstelle − wird in
z m − = von dem linearen Faktor z + repräsentiert, man hat diesen Faktor also nur in
den Nenner aufzunehmen, damit der Pol − gegen die Nullstelle − herausgekürzt wird.
Das führt bislang auf die Funktion
z m − m−
= ∑ (−)ν+ z ν = z m− − z m− + −⋯ + z − .
z+ ν=
Damit ist die Stellung in der Mitte von Abb. 4.50 erreicht. Die Situation des rechten Teils
des Bildes mit dem (m −)-fachen Pol in der Mitte des Einheitskreises erhält man natürlich
durch Multiplikation der Funktion mit z −(m−) = z −m+ :
zm − z m− − z m− + ⋯ + z −
= (4.23)
z m− (z + ) z m−
− z −m
Ψ H (z) = = − z − + z − − +⋯ + z m− − z m− (4.24)
+ z −
ω = 67 π
11
ω= 18
π
4
ω= π x= 25 π
1
7 ω= π
ω = −π
−1 ω = − 23 π 1
68
ω = − 47 π
ω = − 11
18
π
ω = − 76 π
−i 9
ω= 10
π
1.0
0.8
0.6
0.4
0.2
0.0
π π π π
π π 0 π π
werden, dass die Bögenstruktur der Kurve zu einer Berg- und Talbahn der Ortsvektorlänge
führt.
Eine Skizze des Amplitudenganges ist in Abb. 4.52 gezeigt. Trotz des schon recht hohen
Aufwandes (das Zählerpolynom der Systemfunktion hat den Grad 8) ist die Unterdrückung
der nichthohen Frequenzen nicht sehr ausgeprägt.
Der Phasengang ist in Abb. 4.53 skizziert. Vergleicht man den Phasengang mit dem
Amplitudengang im oberen Bild, dann ist der Zusammenhang der Nullstellen des Am-
plitudenganges mit den Phasensprüngen der Höhe π beim Phasengang gut zu erkennen.
Die Überschreitungen der positiven reellen Achse spiegeln sich allerdings nur in der Phase
wider (als Sprünge der Höhe π).
262 4 Die Konstruktion digitaler Filter
2π
π 0 π
Die Unterdrückung der nichthohen Frequenzen von H ist nur ungenügend. Man kann
das Verhalten verbessern, indem man die Systemfunktion quadriert:
( − z −m ) − z −m + z −m
Ψ H (z) = = (4.25)
( + z − ) + z − + z −
Die Zahl der Nullstellen und Pole verdoppelt sich auf diese Weise, aber es kommen keine
neuen Nullstellen oder Pole hinzu, alle Nullstellen sind doppelte Nullstellen und alle Pole
sind doppelte Pole. Natürlich wird von den Polen dennoch ein stärkerer Einfluss ausgeübt,
der in einem weniger gewellten „Talboden“ des Amplitudenganges resultiert (Abb. 4.54).
Einen breiteren „Talboden“ erreicht man allerdings nur durch Hinzufügen echter neuer
Nullstellen, d. h. durch Erhöhung des Grades m des Zählerpolynoms der Systemfunktion
(Abb. 4.55). Die Überlegenheit der Einführung echt neuer Nullstellen ist offensichtlich.
Die Welligkeit im Dämpfungsbereich wird durch die Vergrößerung der Nullstellenanzahl
allerdings nicht wesentlich geringer.
Für das Filter H stehen zwei Darstellungen zur Verfügung, die für den Fall m =
vorgestellt werden. Die eine ergibt sich aus der Systemfunktion als Polynom
Ψ H (z) = − z − + z − − z − + z − − z − + z − − z −
zu
1.0
0.8
0.6
0.4
0.2
0.0
π π π π
π π 0 π π
1.0
0.8
0.6
0.4
0.2
0.0
π π π π
π π 0 π π
− z −
Ψ H (z) =
+ z −
und wird zu
H (x)(n) + H (x)(n − ) = x(n) − x(n − )
Aus programmorganisatorischen Gründen ist der letzteren Differenzengleichung der Vor-
zug zu geben. Kommt es jedoch alleine darauf an, möglichst wenig Speicherplatz zu ver-
brauchen, dann ist der ersteren Differenzengleichung der Vorzug zu geben. Wie solche
Differenzengleichungen in effizienten Programmcode umgesetzt werden können wird in
den Abschn. 5.2 und 5.3 vorgestellt.
264 4 Die Konstruktion digitaler Filter
Die Verschiebung, die das Ausgangssignal eines LSI-Systems S gegen ein Eingangssignal
є ω erfährt, wird mit der Funktion ΛS gemessen (siehe Abschn. 3.4):
ϕS (ω)
ΛS (ω) = − für ω ≠ (4.26)
ω
Nach (3.179) wird sie auf natürliche Weise in Signalwertpositionen gemessen: ΛS (ω) = m
gibt eine Verschiebung des Ausgangssignals um m Positionen. Entsteht ein Signal durch
Abtastung, dann entsprechen m Signalwertpositionen natürlich m Abtastungen. Wie
die mit Fourier-Entwicklungen von Signalen durchgeführten Modellrechnungen in Ab-
schn. 3.4 zeigen, kann man mit der Funktion ΛS auch Aussagen über die Verschiebung
von allgemeinen Signalen machen.
Nun gibt es aber noch die Gruppenlaufzeit eines Systems S, die definiert ist durch
also durch die negative Ableitung des Phasenganges. Das soll natürlich nur dort gelten, wo
die Ableitung oder doch wenigstens eine einseitige Ableitung existiert, andernfalls bleibt
die Gruppenlaufzeit undefiniert. In Abb. 4.56 ist als Beispiel die Gruppenlaufzeit des Filters
K aus Abschn. 4.4 (des Kerbfilters) zu sehen.
Der Name der Funktion ist etwas irreführend. In der Physik ist die Gruppengeschwindig-
keit eine Eigenschaft eines ganzen Wellenpaketes, also eine globale Eigenschaft, die nicht
von den Orten und Zeitpunkten der einzelnen Wellen abhängt. Die Gruppenlaufzeit ist
aber als Ableitung eine lokale Funktion der Frequenz, kann daher nichts über ein ganzes
Signal x, aufgefasst als Gruppe seiner Signalwerte x(n), aussagen. Sie soll daher wohl auch
die Verschiebung angeben, die das System S einem Eingangssignal є ω aufzwingt, zumal
auch in Zeichnungen den Werten der Gruppenlaufzeit die Abtastung als Einheit zugeord-
net wird. Allerdings wird das in keinem der Texte über analoge und digitale Filter, die
der Autor kennt, so explizit angegeben, es heißt immer nur, die negative Ableitung des
Phasenganges ist die Gruppenlaufzeit. Weshalb die Werte der Ableitung einer Funktion,
deren Werte selbst in Winkeln oder Grad gemessen werden, dimensionslose Anzahlen sind
(die Anzahl von Abtastungen), wird auch nicht erklärt. Bei der Funktion ΛS ist das of-
fensichtlich: ϕS (ω) ist ein Winkel und ω ist ebenfalls ein Winkel, folglich ist ΛS (ω) eine
dimensionslose Zahl, die nach Abschn. 3.4 einem Signalindex n aufaddiert wird und daher
tatsächlich eine Verschiebung bedeutet. An der Definition (4.27) lässt sich derartiges nicht
ablesen. Man kommt der Sache aber näher, wenn man die Definition so formuliert, wie es
z. B. bei Physikern und Elektrotechnikern beliebt ist:
dϕS
GS (ω) = − (4.28)
dω
4.6 Gruppenlaufzeit und Verschiebungsfunktion 265
10
500 400 300 200 100 0 100 200 300 400 500
Darin sind dϕS und dω Differentiale,5 also Größen (um es mit Humor zu nehmen), die
so klein sind, dass man ihren Wert vernachlässigen kann, die aber andererseits doch nicht
so klein sind, dass man mit ihnen nicht rechnen könnte.6 D. h. in (4.28) liegt wirklich ein
Quotient von (allerdings unendlich kleinen) Winkeln vor, der deshalb dimensionslos ist.
Bei der Verschiebungsfunktion wird der Quotient aus ϕS und ω gebildet, bei der Gruppen-
laufzeit aus den Differentialen dieser Größen. Warum der Quotient der Gruppenlaufzeit
in Anzahlen von Abtastraten gemessen wird, kann man (4.28) nicht entnehmen.
Jedenfalls sind GS und ΛS Funktionen, die bis auf einen seltenen Spezialfall verschieden
sind. Man vergleiche dazu die Verschiebungsfunktion ΛK des Kerbfilters K in Abb. 4.25 mit
seiner Gruppenlaufzeit in Abb. 4.56. Die drei Sprünge des Phasenganges ϕK erscheinen
in der Gruppenlaufzeit nicht mehr, weil in den Sprungstellen die einseitigen Ableitungen
existieren und dieselben Werte besitzen.
Nur in einem Fall stimmen GS und ΛS überein, nämlich in dem Fall, dass der Phasen-
gang eine (echte) lineare Funktion ist:
ϕS (ω) = aω a∈R
Schon bei einer affinen Funktion, die in DSP-Kreisen verallgemeinert linear oder auch ein-
fach linear genannt wird, also bei
ϕS (ω) = aω + b a, b ∈ R,
Unabhängig davon, was die Gruppenlaufzeit nun wirklich ist, kann ihre Berechnung ge-
fordert sein. Was kann man in dem Fall tun, dass der Phasengang nur numerisch gegeben
ist? Die Antwort ist natürlich, dass man den „Differentialquotienten“ durch einen Diffe-
renzenquotienten approximiert:
ϕS (ω − h) − ϕS (ω + h)
GS (ω) ≈ (4.29)
h
Darin ist h eine passend gewählte kleine positive reelle Zahl. Die Genauigkeit der Appro-
ximation wird mit kleiner werdendem h größer, von einem bestimmten h ab (abhängig
natürlich von der zu differenzierenden Funktion) nimmt die Genauigkeit jedoch wieder
ab. Auch kann die Genauigkeit stark von den Fehlern abhängen, mit welchen ω behaftet
ist, die z. B. durch Runden oder Übertragung in ein Fließkommazahlenformat entstanden
sind. Flache Funktionspassagen wie etwa bei der Funktion ϕK bergen die Gefahr der Aus-
löschung im Zähler von (4.29) mit einem großen Fehler bei der Ableitung als Konsequenz.
Man sollte deshalb Programmen, welche die Gruppenlaufzeit berechnen, mit etwas Skepsis
entgegentreten. Ganz besonders zu berücksichtigen sind natürlich die Stellen, an welchen
der Phasengang nicht differenzierbar ist. Mit etwas Glück (wie bei ϕK ) kommen an solchen
Stellen doch vorhandenen einseitigen Ableitungen von selbst heraus, aber verlassen kann
man sich darauf nicht!
Am Anfang und am Ende des Parameterintervalls kann die symmetrische Approxima-
tion (4.29) nicht immer benutzt werden, dort weist der Phasengang oft Sprünge auf. Man
kann dann einseitige Approximationen einsetzen:
ϕS (ω) − ϕS (ω + h) ϕS (ω − h) − ϕS (ω)
GS (ω) ≈ GS (ω) ≈ (4.30)
h h
Die linke Formel kommt am linken, die rechte Formel am rechten Parameterrand zum
Einsatz.
Man kann auch versuchen, die Genauigkeit der Ableitung mit einem Extrapolationsver-
fahren zu erhöhen. Näheres dazu ist beispielsweise in [Stoe] Abschn. 3.5 zu finden.
Diese Approximationsformeln können auch dazu verwendet werden, um die Steilheit
von Flanken eines numerisch gegebenen Amplitudenganges zu berechnen. In vielen Fäl-
len wird aber wohl eine einfache Abschätzung genügen, die mit Hilfe einer graphischen
Darstellung oder mit einigen wenigen Funktionswerten des Amplitudenganges gewonnen
wird. Die Möglichkeit einer genauen Bestimmung ist jedoch vorhanden.
2π
π π π π
π π 0 π π
unter einer stückweise linearen Funktion zu verstehen ist. Es sei ein Parameterintervall I
gegeben. Eine Funktion ψ auf I ist stückweise linear, wenn es disjunkte Intervalle I κ und
reelle Zahlen a κ , b κ , κ ∈ {, . . . , k}, gibt mit der Eigenschaft
Das Parameterintervall setzt sich also aus Teilintervallen zusammen (die auch zu einem
Punkt entarten können), und in jedem dieser Intervalle ist die Funktion eine lineare (ge-
nauer: affine) Funktion. Bei stückweise konstanten Funktionen auf I ist b κ = , d. h. ψ ist
auf den Teilintervallen eine konstante Funktion. Ein Beispiel für eine schon recht komple-
xe stückweise lineare Funktion ist in Abb. 3.37 in Abschn. [Link] zu sehen. Ein weiteres
Beispiel ist die einfache Funktion ω ↦ (ω) mod π (in Abb. 4.57 dargestellt).
Der Phasengang eines LSI-Filters F besitzt eine Eigenschaft, welche die folgenden Über-
legungen sehr vereinfacht. Dazu sei q ∈ Z und Fq das Filter mit der Einheitsimpulsantwort
ΔFq = ΔF ○ σq . Dann gilt
Das bedeutet also ϕFq (ω) = φ, wobei φ aus folgender Zerlegung stammt:
woraus man durch Übergang auf den Einheitskreis eine entsprechende Gleichung für die
Frequenzantwort erhält:
ΘFq (ω) = e −iqω ΘF (ω)
268 4 Die Konstruktion digitaler Filter
ΘFq (ω) = e −iqω ΘF (ω) = e −iqω γF (ω)e iϕ F (ω) = γ Fq (ω)e i((ϕF (ω)−qω) mod π)
Nun zur ersten der angekündigten Symmetrieeigenschaften. Ein Signal x heiße finit-
nullsymmetrisch, wenn es die folgenden Eigenschaften besitzt:
(i) x ist finit, d. h. es gibt ein m ∈ N mit x(n) = für n < −m und m < n
(ii) Für ≤ μ ≤ m gilt x(−μ) = x(μ)
Ein solches Signal hat also nur endlich viele von Null verschiedene Werte, und die Signal-
werte für Positionen mit gleichem Absolutwert sind identisch. Ein Signal x heiße finit-
symmetrisch um q ∈ Z, wenn x ○ σ−q finit-nullsymmetrisch ist.
Abbildung 4.58 bringt ein Beispiel eines finit-nullsymmetrischen Signals und eines finit-
symmetrischen Signals um q = . Zu beachten ist, dass das Symmetriezentrum des Signals
in einer Signalposition eingenommen wird, also bei x() oder bei x(q) liegt.
m
ΘF (ω) = Z(ΔF (e iω )) = ΔF () + ∑ ΔF (μ)(e i μω + e −i μω )
μ=
m m
= ΔF () + ∑ ΔF (μ) (e i μω + e −i μω ) = ΔF () + ∑ ΔF (μ) cos(μω)
μ= μ=
Die Frequenzantwort ist also eine reelle Funktion. Deshalb gilt Φ(ΘF (ω)) = bei ΘF (ω) ≥
und Φ(ΘF (ω)) = π bei ΘF (ω) < . Als endliche Summe von Cosinusfunktionen besitzt
ΘF im Parameterintervall nur endlich viele Nullstellen, die Funktion ω ↦ Φ Θ F (ω) ist da-
her stückweise konstant mit den angegebenen Werten.
Ein Beispiel ist das mit (4.34) definierte Filter T, siehe hierzu die Abbildungen in Ab-
schn. 4.8.1. Seine Einheitsimpulsantwort ist offensichtlich finit-nullsymmetrisch, folglich
4.7 Filter mit stückweise linearem Phasengang 269
− − − −
ist sein Phasengang stückweise konstant wie oben beschrieben. Ein Spezialfall ist eine nicht
negative Frequenzantwort: ΘF (ω) ≥ für alle ω aus dem Parameterintervall. Ein solches
System hat den Nullphasengang Φ Θ F (ω) = .
Das Filter F−q ist finit-nullsymmetrisch, also ist ϕF−q stückweise konstant. Mit (4.32) folgt
daraus wegen F = (F−q )q
ϕF (ω) = (ϕF−q (ω) − qω) mod π
Ist I κ eines der Teilintervalle des Parameterintervalls auf welchen ϕF−q konstant ist, etwa
mit der Konstanten c, dann ist I κ ∶ ω ↦ c−qω eine lineare Funktion, die durch Anwendung
von mod π zu einer stückweise linearen Funktion werden kann. Auf jeden Fall ist F eine
stückweise lineare Funktion.
Als ein Beispiel ist in Abb. 4.59 der stückweise lineare Phasengang eines finit-symmetri-
schen Filters F um q = gezeichnet. Der Phasengang des finit-nullsymmetrischen Filters
F−q ist gestrichelt angedeutet, aus ihm wurde mit (4.32) der Phasengang von F konstruiert.
Das Gegenstück zu den finit-symmetrischen Filtern sind die finit-schiefsymmetrischen
Filter. Ein Signal x heiße finit-nullschiefsymmetrisch, wenn es die folgenden Eigenschaften
besitzt:
(i) x ist finit, d. h. es gibt ein m ∈ N mit x(n) = für n < −m und m < n
(ii) Für ≤ μ ≤ m gilt x(−μ) = −x(μ)
Ein solches Signal hat also nur endlich viele von Null verschiedene Werte, und die Signal-
werte für Positionen mit gleichem Absolutwert haben denselben Betrag, aber verschiedene
Vorzeichen. Ein Signal x heiße finit-schiefsymmetrisch um q ∈ Z, wenn x ○ σ−q finit-
nullschiefsymmetrisch ist (solche Signale sind in Abb. 4.60 skizziert).
Auch hier ist x() oder x(q) das Zentrum der Symmetrie. Die schiefe Symmetrie hat
aber einen starken Einfluss auf das Symmetriezentrum, aus x(−) = −x() folgt nämlich
x() = oder x(q) = .
270 4 Die Konstruktion digitaler Filter
2π
ω
−π − π −π −π 0 π π
π π
− − − −
Das kann ganz so wie bei der Nullsymmetrie abgeleitet werden, eine völlig analoge Rech-
nung liefert die folgende Frequenzantwort:
m
ΘF (ω) = −i( ∑ ΔF (μ) sin(μω))
μ=
Die Frequenzantwort ist eine rein imaginäre Funktion, woraus sich die behaupteten Kon-
stantwerte direkt ergeben. Natürlich ist auch die folgende Aussage richtig:
Es gibt noch eine weitere Form der Symmetrie von Signalen, bei welcher das Symme-
triezentrum nicht bei einer Signalposition liegt. Ein Signal x heiße finit-halbsymmetrisch,
wenn es die folgenden Eigenschaften besitzt:
4.7 Filter mit stückweise linearem Phasengang 271
− − − −
μ + μ +
x (m + − ) = x (m + + )
Die so definierte Symmetrie ist eine Klappsymmetrie, deren Drehachse genau zwischen
x(m) und x(m + ) verläuft. Sie ist tatsächlich einfach zu verstehen (siehe Abb. 4.61),
aber nicht ganz so einfach als formale Definition zu fassen. Man kann wie hier die nicht
existierende Signalposition M = m + als Zentrum der Symmetrie einsetzen. Viele
Rechnungen vereinfachen sich, wenn der Träger7 des Signals gerade aus der Menge
{, . . . , m + } besteht. Wie bei der Nullsymmetrie lässt sich der Begriff wegen (4.32)
leicht durch Verschieben verallgemeinern: Es sei x ein Signal mit endlichem Träger und
q = min{n ∈ Z ∣ x(n) ≠ }. Dann heißt x halbsymmetrisch, wenn x ○ σ(−q) halb-
symmetrisch ist.
Die Tatsache, dass das Symmetriezentrum eines halbsymmetrischen Signals nicht zum
Signal gehört, lässt vermuten, dass die Frequenzantwort eines LSI-Filters F mit halbsymme-
trischer Einheitsimpulsantwort ΔF eine komplexere Struktur besitzt als die Frequenzant-
wort von Filtern mit symmetrischer Einheitsimpulsantwort. Die Rechnung bestätigt diese
Vermutung. Die Anwendung der z-Transformation liefert
m+
Z(ΔF (z) = ∑ ΔF (μ)z −μ
μ=
m
μ + μ+ m
μ + − μ+
= ∑ ΔF (M − ) z −M + ∑ ΔF (M + ) z −M
μ= μ=
m
μ + μ+ μ+
= ∑ ΔF (M + ) (z −M + z − −M )
μ=
m
= z −M ∑ ΔF (m − μ)(z μ+ + z −μ− )
μ=
7
Der Träger eines Signals x ist die Menge max(Tx ) = {n ∈ Z ∣ x(n) ≠ }
272 4 Die Konstruktion digitaler Filter
μ+
Dabei wurde von der Halbsymmetrie und von M + = m − μ Gebrauch gemacht. Der
Übergang zum Einheitskreis ergibt wieder die Frequenzantwort:
m
ΘF (ω) = e −i Mω ∑ ΔF (m − μ)(e i(μ+ ) + e −i(μ+ ) )
μ=
m
= e −i Mω ∑ ΔF (m − μ) cos ((μ + ) ω)
μ=
= e −i Mω V(ω)
Die Funktion V ist reell und ∣V∣ ist natürlich der Amplitudengang des Filters. Eine Fre-
quenzantwort dieser Struktur ist schon bei der Untersuchung des Filters (3.119) sehr genau
analysiert worden (in Abschn. [Link]). Die Funktion K ∶ ω ↦ e −i Mω durchläuft als Kurve
in der komplexen Ebene m Vollkreise und einen Halbkreis, deren Radien von V (ω) va-
riiert werden. Der Polarwinkel von K selbst ist stückweise linear, die Funktion V fügt an
ihren Nullstellen Sprünge hinzu. Der Polarwinkel ist also eine stückweise lineare Funktion:
Eine schiefe Symmetrie lässt sich hier natürlich auch einführen und sie hat auch die zu er-
warteten Resultate. Hier ist zunächst die Definition: Ein Signal x heiße finit-halbschiefsym-
metrisch, wenn es die folgenden Eigenschaften besitzt:
μ + μ +
x (m + − ) = −x (m + + )
m
ΘF (ω) = −ie −i Mω ∑ ΔF (m − μ) sin ((μ + ) ω) = ie −i Mω U(ω)
μ=
Die Funktion U ist rein reell, für ω ↦ e −i Mω U(ω) gilt daher alles, was oben über ω ↦
e −i Mω V (ω) gesagt wurde. Der Faktor i bewirkt nur eine Drehung der von ΘF in der kom-
plexen Ebene erzeugten Kurve um π (○ ).
4.7 Filter mit stückweise linearem Phasengang 273
− − − −
m
Ψ F (z − ) = ∑ ΔF (μ)(z μ − z −μ ) = −Ψ F (z)
μ=
Speziell für z = − kann eine Bedingung für die Systemfunktion abgeleitet werden:
Wegen Ψ Fq (z) = z −q Ψ F (z) ist die Bedingung auch bei der finiten Schiefsymmetrie um
ein q ∈ Z gegeben, denn es gilt Ψ F (−) = (−)q Ψ Fq (−) = .
Diese Bedingung muss auch ein Filter mit halbsymmetrischer Einheitsimpulsantwort
erfüllen. Denn ersetzt man in
m
Ψ F (z) = z −M ∑ ΔF (m − μ)(z μ+ + z −μ− )
μ=
m
Ψ F (z − ) = z M ∑ ΔF (m − μ)(−z μ− + z μ+ ) = z M Ψ F (z)
μ=
274 4 Die Konstruktion digitaler Filter
C + Bz + Az + Bz + Cz
Ψ D (z) = A + B (z + ) + B (z + ) =
z z z
Die Bedingung ΘD ( π) = bedeutet, dass die Systemfunktion auf dem Einheitskreis die
Nullstelle e i π und die dazu konjugiert komplexe Nullstelle e −i π besitzt, dass sie also den
(z − e i π )(z − e −i π ) = z − z(e i π + e −i π ) + = z − z cos ( π) = z − z +
Das Zählerpolynom der Systemfunktion hat den Grad vier, das über die beiden Nullstellen
gefundene Polynom muss also mit einem drei Parameter a, b und c liefernden quadrati-
schen Polynom az + bz + c ergänzt (d. h. multipliziert) werden:
Die Bedingung Ψ D () = liefert = a + b + c und aus der Bedingung Ψ D (−) = ergibt
sich = a − b + c. Daraus folgt sofort b = . Koeffizientenvergleich führt nun zu a = C
und c = C, also insbesondere a = c, und zu b − a = B und b − c = B, mit dem Ergebnis
C = , B = und A = . Die Systemfunktion und die Frequenzantwort sind daher
+ z + z + e iω + e iω
Ψ D (z) = ΘD (ω) =
z e iω
Die direkt aus der Systemfunktion abgeleitete Frequenzantwort ist für numerische Rech-
nung nicht geeignet, kann aber leicht in eine einfacher zu berechnende Form gebracht
werden:
+ e iω + e iω
ΘD (ω) = = e −iω + + e −iω = + cos(ω)
e iω
4.7 Filter mit stückweise linearem Phasengang 275
π 1.0
0.8
0.6
0.4
0.2
0 ω
−π − π −π −π π π
π π
−0.2
−0.4
Abbildung 4.63 zeigt die Frequenzantwort, den Amplituden- und den Phasengang. Der
Amplitudengang ist gestrichelt, der Phasengang ist dort, wo er nicht mit der Frequenzant-
wort zusammenfällt, gepunktet. Das Filter verläuft nicht sehr steil, was bei einem so einfach
aufgebauten Filter auch nicht zu erwarten war, leider hat sich aber noch eine weitere Null-
stelle eingestellt: Die Frequenz π wird ebenfalls unterdrückt. Als praktikables Instrument
ist dieser Filter natürlich nicht brauchbar, aber es ist auch nur ein Beispiel.8
Die obige Berechnung der Frequenzantwort macht es wieder einmal deutlich, dass bei
Berechnungen so lange wie möglich mit der komplexen Exponentialfunktion gearbeitet
werden sollte. Die direkt aus der Systemfunktion abgeleitete Formel für die Frequenzant-
wort kann auch durch Übergang zu cartesischen Koordinaten berechnet werden. Man er-
setzt e i ϑ überall durch cos(ϑ)+i sin(ϑ) und formt die erhaltene Formel, einen Quotienten,
durch passende Erweiterungen so um, dass i nicht mehr im Nenner erscheint. Man hat
dann reelle Funktionen P(ω), den Realteil, und Q(ω), den Imaginärteil, mit ΘD (ω) =
P(ω) + iQ(ω). Führt man das durch, erhält man allerdings die folgenden Funktionen P
und Q:
Man kann damit numerisch weiterrechnen, es ist aber sehr fraglich, ob tatsächlich im Rah-
men der verwendeten Genauigkeit Q = herauskommt, denn es kann massive Auslö-
schung auftreten. Man kann es am Beispiel ω = π erkennen. Man bekommt für die Terme
der Summe für −Q folgendes:
sin ( π) ≈ ,
sin ( π) cos ( π) ≈ −,
cos ( π) sin ( π) ≈ ,
8
Es ist schwierig, Beispiele zu finden, die zugleich einfach, aussagefähig und praxisrelevant sind!
276 4 Die Konstruktion digitaler Filter
2π
ψ1 ϕ2 ψ2
π
ϕ1
ω
π π π π
π π 0 π π
Berechnet man die Summe durch Addition der Terme in der aufgeführten Reihenfolge, so
erhält man den sehr guten Wert
−Q ( π) ≈ −,−
Die große Genauigkeit nützt jedoch gar nichts, wenn die Summe durch Addition in der
umgekehrten Reihenfolge bestimmt wird:
−Q ( π) ≈/ −,
Hier hat sich der GAU für numerische Rechnungen eingestellt: Die Auslöschung fast al-
ler Ziffern während einer Subtraktion. Man kann diese Auslöschung natürlich nicht so
vermeiden, dass die Summe stets in einer Richtung bestimmt wird, es sind Beispiele zur
Auslöschung bei allen möglichen Summenbildungen zu finden.
Bemerkungen zur linearen Phase Es gibt keine auf dem ganzen Intervall −π ≤ ω < π
definierte Funktion φ mit Funktionswerten im Intervall ≤ φ(ω) ≤ π, welche die Gestalt
φ(ω) = aω besitzt, mit einer reellen Zahl a, d. h. es gibt keine auf dem ganzen Intervall de-
finierte lineare Funktion. Denn wegen φ() = kann solch ein φ entweder nur für gewisse
ω ≤ oder gewisse ω ≥ definiert sein (von der Nullphase φ(ω) = einmal abgesehen).
Das ist in Abb. 4.64, das zwei solcher Funktionen zeigt, deutlich zu sehen. Andererseits gibt
es natürlich affine Funktionen ψ : [−π, π) → [, π), also ψ(ω) = a i ω + b i mit reellen
Zahlen a i und b i . In Abb. 4.64 sind auch zwei affine Funktionen ψ und ψ eingezeich-
net. Affine Funktionen werden manchmal als „allgemein linear“ oder ähnlich bezeichnet.
Mehr als ein stückweise linearer Phasengang, wie er in diesem Abschnitt beschrieben wur-
de, kann also nicht erreicht werden. Dabei sind die Geradenstücke eigentlich Teile affiner
Abbildungen und nur dann echt linear, wenn sie von ω = ausgehen oder dort enden.
Eine Folgerung daraus ist, dass es kein System geben kann, das eine über alle Frequenzen
konstante Signalverzögerung ausübt. Eine im ganzen Parameterintervall konstante Signal-
4.8 Filter mit Wunschfrequenzgängen 277
2π
ω
0 π 2π
Abb. 4.65 Einige echt lineare Phasengänge mit dem Parameterintervall ≤ ω < π
verzögerung ist an einen linearen Polarwinkel gebunden (Näheres dazu in Abschn. 3.4
mit der Definition der Verzögerungsfunktion). Ist der Polarwinkel in einer Umgebung von
ω = eine echte affine Funktion, dann kann die Verzögerung sogar beliebig groß werden.
Es ist natürlich möglich, dass der Polarwinkel gerade im Durchlassbereich eines Filters echt
linear ist, in diesem Fall ist die Signalverzögerung im Durchlassbereich konstant.
Dass es keinen echten linearen Phasengang gibt ist allerdings nur dann richtig, wenn
für den Parameter ω ein Intervall (der Länge π) gewählt wird, das in seinem Inneren den
Parameter ω = enthält oder ω = gar nicht enthält. Geht man dagegen zum Parame-
terintervall ≤ ω < π über, dann sind echte lineare Phasengänge φ(ω) = aω sehr wohl
möglich. Die Steigung a dieser Phasengänge ist jedoch beschränkt, es muss ≤ a <
gelten, wenn φ auf dem ganzen Intervall ≤ ω < π definiert sein soll. Ein unzulässiger
Phasengang ist in Abb. 4.65 gestrichelt eingezeichnet.
Hierzu ist zu bedenken, dass ein digitales Signal eine Folge komplexer Zahlen ist und dass
die Anwendung eines Filters auf ein solches Signal wieder eine Folge komplexer Zahlen er-
zeugt. Der Übergang zu einem anderen Parameterintervall erzeugt daher keine Änderung
eines realen physikalischen Zustandes, andernfalls es auf diesem Wege möglich wäre, ein
perpetuum mobile zu schaffen!
Es gibt viele Anwendungen, die verlangen, dass die Frequenzantwort eines Filters einen
präzise vorgegebenen Verlauf nimmt. Dazu zählen Entzerrerfilter, die eine einmal vorge-
nommene Verzerrung rückgängig machen (z. B. RIAA), oder Filter, die eine menschliche
Stimme in eine blecherne Roboterstimme verwandeln und dazu das Spektrum des Signals
278 4 Die Konstruktion digitaler Filter
auf ganz bestimmte Weise verändern müssen. Das wesentliche Instrument, aus der Fre-
quenzantwort eines Systems S dessen Einheitsimpulsantwort zu gewinnen, ist das folgende
Integral:
π
ΔS (n) = ∫ ΘS (ω)e dω
inω
π −π (4.33)
π π
= ∫ ΘS (ω) cos(nω)dω + i ∫ ΘS (ω) sin(nω)dω
π −π π −π
Bei vielen einfach strukturierten Frequenzantworten lässt sich das Integral direkt auswer-
ten. Die elementaren Verfahren (partielle Integration, Substitutionsregel) dürften vielen
Lesern geläufig sein.9 Manche Integranden sind jedoch zu kompliziert aufgebaut, um di-
rekt ausgewertet zu werden, und viele Integrale sind gar nicht mit elementaren Funktionen
darstellbar. In solchen Fällen muss das Integral numerisch berechnet werden. Ein dazu gut
geeignetes Verfahren wird in Kap. 6 vorgestellt.
Es spricht natürlich nichts dagegen, auch Filter ganz gewöhnlicher Art, also Hochpässe,
Tiefpässe, Bandfilter usw., mit dieser Methode zu konstruieren. Ein ausführliches Beispiel
dazu enthält der Abschn. 4.8.1. Das Problem mit der Methode ist jedoch, dass steile Flanken
für solche Pässe nur erzielt werden können, wenn viele Signalwerte in den Filterausgang
eingehen. Wird ein Filter dagegen mit einer rationalen Systemfunktion aufgebaut, können
bei geschickter Wahl der Pole der Systemfunktion steile Flanken mit wenig Aufwand erzielt
werden.
Ein idealer Tiefpass T mit der Grenzfrequenz ω γ = π hat als Frequenzantwort eine der
einfachsten denkbaren Wunschfunktionen:
⎧
⎪
⎪ für ∣ω∣ ≤ ω γ
ΘT (ω) = ⎨ (4.34)
⎪
⎪ für − π ≤ ω < −ω γ ∨ ω γ < ω ≤ π
⎩
Das Filter ist ideal, weil keinerlei Konzessionen an die Wirklichkeit gemacht werden (Die
Flankensteilheit ist ∞ usw.). Abbildung 4.66 zeigt eine Skizze der Frequenzantwort (mit
angedeuteter Periodizität). Eine rechteckige Wunschfunktion ist natürlich sehr leicht zu
integrieren, und zwar wird (4.33) zu
Der Fall n = ist allerdings gesondert zu behandeln (siehe Abschn. 4.9), es ist ΔT () = .
Ein Teil des Signals ΔT ist in Abb. 4.67 gezeigt. Mit bekanntem ΔT kann nun die Wirkung
9
Eine umfangreiche Formelsammlung zur Integralberechnung ist in [Grad] enthalten.
4.8 Filter mit Wunschfrequenzgängen 279
∞ sin(νω γ )
T(x)(n) = (ΔT ∗ x)(n) = ∑ x(n − ν) (4.35)
π ν=−∞ ν
Wegen ΔT (n) ≠ für n < ist das Filter T nicht kausal (siehe Abschn. 3.11). Wirklich
unbrauchbar macht es jedoch seine Eigenschaft, nicht finit zu sein. Nun konvergiert aber
ΔT (n) recht schnell gegen Null für ∣n∣ → ∞, wie man an Abb. 4.67 erkennen kann. Man
kann daher hoffen, eine brauchbare Approximation zu erhalten, wenn die Reihe (4.35) nach
einigen Gliedern abgebrochen wird. Diese Hoffnung geht in Erfüllung, allerdings muss
doch eine recht hohe Anzahl von Reihengliedern berücksichtigt werden, wenn die Appro-
ximation praktischen Wert haben soll. Ein neues Filter T k wird also so gewonnen, dass ΔT
auf ein endliches Intervall −k ≤ n ≤ k beschränkt wird:
⎧
⎪
⎪ΔT (n) für − k ≤ n ≤ k
ΔTk (n) = ⎨ (4.36)
⎪
⎪ für n < −k ∨ k < n
⎩
Für ω γ = π
erhält man durch Faltung von ΔT mit x das folgende Filter:
Weil die Einheitsimpulsantwort ΔT reell und symmetrisch ist, ist die Frequenzantwort
ΘT ebenfalls reell, sie ist gegeben durch
∞
ΘT (ω) = ∑ ΔT (n)e −inω
n=−∞
1
3
− − − −
sin(nω γ )
Abb. 4.67 ΔT (n) = nπ , ωγ = π
2π 1.2
1.0
0.8
π 0.6
0.4
0.2
π π π π
π π 0 π π
Abb. 4.68 Der Frequenzgang ω ↦ ΘT (ω) und sein Polarwinkel ω ↦ ΦT (ω)
Tatsache, dass eine positive reelle Zahl den Polarwinkel φ = und eine negative reelle Zahl
den Polarwinkel φ = π besitzt. Offensichtlich ist T noch sehr weit davon entfernt, eine
brauchbare Approximation an T zu sein. Für beliebig großes k sind das Filter Tk und seine
Frequenzantwort gegeben durch
k
T k (x)(n) = (ΔTk ∗ x)(n) = ∑ ΔT (κ)x(n − κ) (4.37)
κ=−k
k
ΘTk (ω) = ΔT () + ∑ ΔT (κ) cos(κω) (4.38)
κ=
Der Amplitudengang ist für k = in Abb. 4.69 gezeigt. Die Welligkeit kann durch Er-
höhen von k beliebig weit unterdrückt werden, nicht beliebig unterdrückt werden kann
jedoch das „Aufbäumen vor dem Abgrund“ (bekannt als das Gibbssche Phänomen, siehe
Abschn. 3.3.3).
Dass die Filter Tk nicht kausal sind, ist zwar für die Implementierung kein echtes Hin-
dernis, es stellt sich allerdings die Frage, ob nicht ein kausales Filter mit einer Frequenzant-
wort zu finden ist, deren Betrag mit der Wunschfunktion identisch ist. Man werfe zur
Beantwortung der Frage einen Blick auf die Einheitsimpulsantwort von T in Abb. 4.67.
Z. B. wird T aus T so erhalten, dass alle Werte an den Positionen n < und n > auf Null
gesetzt werden. Verschiebt man nun aber T um vier Positionen nach rechts, d. h. verzögert
man ΔT um vier Positionen (Indizes), wie in Abb. 4.70 gezeigt, und setzt dann alle Werte
an den Positionen n < und n > auf Null, dann erhält man die Impulsantwort eines
kausalen Filters, und zwar mit derselben Gestalt wie ΔT . Die neue Frage ist also jetzt, wie
4.8 Filter mit Wunschfrequenzgängen 281
1.2
1.0
0.8
0.6
γ T20
0.4
0.2
0.0
π π π π
0 π
1.2
1.0
0.8
0.6
γ T40
0.4
0.2
0.0
π π π π
0 π
1
3
− − − −
ein Filter d T zu finden ist, dessen Amplitude der von T und damit der Wunschfunktion
gleicht, für das also γT = γ d T gilt, und deren Einheitsimpulsantwort die um d Positionen
verzögerte Einheitsimpulsantwort von T ist, dass also Δ d T (n) = ΔT (n − d) gilt. Die Frage
ist leicht zu beantworten, wenn man sich an die Eigenschaften der Fourier-Transformation
erinnert (Abschn. 3.2.6):
Eine Verzögerung um d im Zeitbereich ist äquivalent mit einer Multiplikation mit e −id ω im
Frequenzbereich
282 4 Die Konstruktion digitaler Filter
Diese direkte Entsprechung von Verzögerung und Modulation legt es nahe, die Wunsch-
funktion für ein Filter d T wie folgt festzulegen:
⎧
⎪
⎪ e −id ω für ∣ω∣ ≤ ω γ
Θ d T (ω) = ⎨ (4.39)
⎪
⎪ für − π ≤ ω < −ω γ ∨ ω γ < ω ≤ π
⎩
Die Forderung γT = γ d T ist dafür ganz offensichtlich erfüllt. Die Berechnung der Einheits-
impulsantwort von d T ist mit (4.33) ebenso einfach zu bestimmen wie die von T, man
erhält
sin((n − d)ω γ )
Δ d T (n) = , (4.40)
(n − d)π
also genau die geforderte Verzögerung von ΔT um d Positionen (Abb. 4.70). Prinzipiell
kann d eine beliebige reelle Zahl sein, doch soll hier um ganze Positionen verschoben wer-
den, d. h. d ist eine ganze Zahl, und zwar eine positive, weil verzögert, d. h. in den positiven
Positionsbereich (Argumentbereich des Signals) verschoben werden soll. Das finite Signal
wird dann auch für ein k > durch „Abschneiden“ aller Signalwerte von Positionen n <
und k < n erhalten: ⎧
⎪
⎪Δ T (n) für ≤ n ≤ k
Δ d Tk (n) = ⎨ d (4.41)
⎪
⎪ für n < ∨ k < n
⎩
Speziell für den Wert k = d ist Δ d Td eine finit-symmetrische Einheitsimpulsantwort um d
und hat damit nach Abschn. 4.7 einen stückweise linearen Phasengang. Die Frequenzant-
wort von Θ d Tk ist gegeben durch
k
Θ d Tk (ω) = ∑ Δ d Tk (κ)e −iκω (4.42)
κ=
Die Kurve der Frequenzantwort von d T ist für ∣ω∣ ≤ ω γ ein partiell oder mehrfach plus
partiell durchlaufener Einheitskreis, die von Θ d Tk durchlaufene Kurve ist dagegen ein kom-
plizierter aufgebautes Gebilde mit stark variierenden Größen der Teilkurven. Auf welche
Weise der Durchlauf erfolgt ist in Abb. 4.71 für die großen und in Abb. 4.72 mit ande-
rem Maßstab für die kleinen Bögen angezeigt. Anfang und Ende der Kurve können nur
in Abb. 4.72 verfolgt werden. Unmittelbar nach dem Start bei ω = −π wird der mit 1 be-
zeichnete Bogen durchlaufen, gefolgt von den Bögen 2 bis 5, und bei der Markierung 6
hat die Wanderung durch den großen Bogen in Abb. 4.71 begonnen. Bei Erreichen der
Marke − in Abb. 4.72 steht das Verlassen des großen Bogens kurz bevor. Der erste klei-
ne Bogen ist mit − markiert, es folgen die Bögen mit den Markierungen − bis −, bis
nach Bogen − der Durchlauf bei ω = π beendet ist. In Abb. 4.71 ist auch die Passage der
Grenzfrequenz ω γ bezeichnet. Die großen Bögen gehören zu tiefen Frequenzen, die klei-
nen zu hohen Frequenzen, mit der Grenzfrequenz am Übergang zwischen beiden. Damit
lässt sich schon (qualitativ) eine Voraussage machen, welche Gestalt der Amplitudengang
besitzt. Zur Größenordnung kann gesagt werden, dass der Betrag im Bereich von − π bis
π nahezu konstant ist und um den Wert 1 herum schwankt. Der Betrag der kleinen Bö-
gen, die offenbar für eine Restwelligkeit im Sperrbereich verantwortlich sind, überschreitet
nur wenig.
4.8 Filter mit Wunschfrequenzgängen 283
ω = 18 π
i
ω = − 31 π = −ωγ
ω = − 83 π
ω = ±π
ω = ± 14 π
ω=0
−1 1
ω = 38 π
ω = 13 π = ωγ
−i
ω= 8π
1
Es ist schon etwas erstaunlich, dass die Aufgabe der Nullsymmetrie der Einheitsfre-
quenzantwort solch eine starke Wirkung auf die Dynamik der Frequenzantwort hat. Auch
liegt hier ein schönes Beispiel dafür vor, dass der Übergang von der Frequenzantwort selbst
auf ihren Absolutbetrag (d. h. den Amplitudengang) einen beträchtlichen Informationsver-
lust bedeuten kann. Der Übergang von Abb. 4.71 und Abb. 4.72 auf Abb. 4.73 ist ein Abstieg
vom Zweidimensionalen zum Eindimensionalen, vergleichbar der Schattenprojektion ei-
nes dreidimensionalen Würfels auf eine zweidimensionale Ebene. Das ruhige und statische
Abb. 4.73 lässt nichts von der turbulenten Szenerie auf der komplexen Ebene erahnen, die
auch eine gewisse ästhetische Qualität besitzt.
Zum Vergleich mit dem Amplitudengang von T (in Abb. 4.69) ist der Amplitudengang
von d Td für d = in Abb. 4.74 gezeigt. Offensichtlich ist der Versuch gelungen, T k durch
ein äquivalentes kausales Filter zu ersetzen.
Wie sich die Verschiebung der Einheitsimpulsantwort um d Positionen auswirkt, zei-
gen der Phasengang (Abb. 4.75) und die Verschiebungsfunktion (Abb. 4.76). Tatsächlich
284 4 Die Konstruktion digitaler Filter
4
10 i
1
2
6
−6
−4
ω = ±π −2
5
− 10
1 1
10
3
−5 −1
−3
− 10
1
i
1.0
0.5
0.0
π π π
0 π π
ist die Phase im positiven Frequenzbereich im Durchlassbereich des Filters und noch ein
Stück darüber hinaus (echt) linear, was dort auf eine konstante Verschiebung um d Posi-
tionen führt. Die Verschiebung der Einheitsimpulsantwort lässt sich daher leicht kompen-
sieren.
Es bleibt noch, die Ursache der Phasensprünge zu erkunden. Die Kurve durchläuft einen
Phasensprung von π bei ω = , d. h. bei der Überquerung der reellen Achse (Abb. 4.71
ganz rechts). Abbildung 4.75 zeigt sechs weitere Phasensprünge, jedoch von der Höhe π.
Diese sind allerdings nicht so leicht zu lokalisieren. Man vermutet auch hier Überque-
rungen der reellen Achse. Es ist jedoch ganz offensichtlich, dass eine Überquerung der
negativen reellen Achse keinen Phasensprung erzeugt, eine einfache Skizze zeigt das. Es
bleiben also nur die Nulldurchgänge der Kurve. Was bei einem solchen Nulldurchgang ge-
4.8 Filter mit Wunschfrequenzgängen 285
1.0
0.5
0.0
π π π
0 π π
2π
π π
π π π π 0 π π π π
schieht ist im linken Teil von Abb. 4.77 skizziert. Es soll sich um eine sehr kleine Umgebung
des Nullpunktes handeln, in der die (glatte) Kurve durch ein Gradenstück approximiert
werden darf. Der Phasenwinkel des Punktes P ist ψ, und daran ändert sich nichts, wenn
der Punkt sich auf den Nullpunkt zubewegt. Nach dem Passieren des Nullpunktes in der
Position P ′ beträgt der Phasenwinkel plötzlich φ, und beide Winkel stehen in der Relati-
on ψ = φ + π zueinander: Der Winkel macht bei der Durchquerung des Nullpunktes der
komplexen Ebene tatsächlich einen Sprung der Höhe π. Die Überquerung der positiven
reellen Achse ist in Abb. 4.77 rechts gezeigt. Bewegt sich der Punkt P der Kurve auf die
Achse zu, dann geht sein Phasenwinkel ψ dem Wert π entgegen. Der Phasenwinkel be-
ginnt bei der Überquerung der Achse jedoch wieder bei 0, d. h. er macht einen Sprung der
Höhe π.
286 4 Die Konstruktion digitaler Filter
0
−π −π 0 π
π
−1
−2
−3
−4
−5
−6
−7
Die anhand von Abb. 4.77 durchgeführten Überlegungen sind für den Phasengang je-
des Systems gültig, unabhängig davon, mit welcher Methode es konstruiert wurde. Passiert
die Frequenzantwort eines Systems den Koordinatenursprung der komplexen Ebene, dann
wird im Phasengang ein Sprung der Höhe π erzeugt, und ein Überqueren der positiven
reellen Achse des Koordinatensystems hat einen Sprung der Höhe π im Phasengang zur
Folge. Ohne die Kenntnis der geometrischen Gestalt der von der Frequenzantwort durch-
laufenen Kurve in der komplexen Ebene sind die Sprünge im Phasengang nicht zu erklären.
Zum Schluss des Abschnittes sei noch einmal darauf hingewiesen, dass dem Gibbsschen
Phänomen der ganze Abschn. 3.3.3 gewidmet ist. Die Entstehung dieses Phänomens wird
dort mit geometrischen Mitteln erläutert. Man muss mit ihm immer dann rechnen (wie
auch hier), wenn die Darstellung einer Funktion, die in ihrem Verlauf Sprünge aufweist,
durch ihre Fourier-Reihe nach endlich vielen Gliedern abgebrochen werden muss. Wie
dieser Effekt gemildert werden kann wird in Abschn. 3.3.3 ebenfalls diskutiert.
(z) (z)
P
ϕ P
ϕ
(z)
ψ ψ
P
P
Abb. 4.77 Phasensprünge bei Nulldurchgang und Schneiden der positiven reellen Achse
4.8 Filter mit Wunschfrequenzgängen 287
Die zweite Wunschfunktion ist der Frequenzgang eines Hochpasses L mit partiellem loga-
rithmischen Verlauf, und zwar steigt der reelle und symmetrische Frequenzgang beginnend
mit der Eckfrequenz π logarithmisch an (siehe Abb. 4.78). Der von Null verschiedene Teil
des Frequenzganges ist also ein Abschnitt einer logarithmischen Kurve und ist wie folgt
definiert:
⎧
⎪
⎪L(−ω) für − π ≤ ω ≤ −
π
⎪
⎪
⎪
ΘL (ω) = ⎨ für π < ω < π (4.43)
⎪
⎪
⎪
⎪L(ω)
⎪ für ≤ ω < π
π
⎩
Darin ist L die Hilfsfunktion
ln( − π + ω) π
L(ω) = ≤ω≤π (4.44)
ln( + π)
Der Faktor ln( + π) dient natürlich zur Normierung ΘL (π) = . Weil ein System mit
einer reellen symmetrischen Frequenzantwort eine reelle und symmetrische Einheitsim-
pulsantwort besitzt, verschwindet der imaginäre Anteil des Integrals (4.33). Ferner folgt
aus der Definition der Frequenzantwort, dass die Flächen unter den beiden logarithmi-
schen Kurvenstücken gleich sind. Zu berechnen ist daher das Integral
π
ΔL (n) = ∫ π ln( − π + ω) cos(nω)dω (4.45)
π ln( + π)
Man kann versuchen, mit den üblichen Verfahren (partielle Integration, Substitution usw.)
das Integral auf ein bekanntes oder elementares Integral zurückzuführen. Im Falle des
Gelingens wäre die Wahrscheinlichkeit allerdings groß, dass dieses Integral dann noch nu-
merisch ausgewertet werden muss, etwa weil das erhaltene Integral nur unzureichend in
Tabellenform vorliegt. Es liegt daher nahe, das Integral (4.45) direkt numerisch auszuwer-
ten, beispielsweise mit dem Romberg-Verfahren (siehe dazu Kap. 6). Die mit einer solchen
Rechnung erhaltene Einheitsimpulsantwort ist in Abb. 4.79 ausschnittweise skizziert und
numerisch in Tab. 4.3 präsentiert. Was nicht an der Skizze, wohl aber an der Tabelle abgele-
sen werden kann, ist, dass ΔL (n) mit wachsendem n nur sehr langsam gegen Null geht, dass
also viele Signalwerte ΔL (n) verwendet werden müssen, um ein Filter zu erhalten, dessen
Frequenzantwort der Wunschfunktion genügend nahe kommt. Denn die Faltungsreihe
∞
L(x)(n) = (ΔL ∗ x)(n) = ∑ ΔL (ν)x(n − ν), (4.46)
ν=−∞
die es ermöglicht, die Filterwerte L(x) direkt zu berechnen, muss für den praktischen Ein-
satz natürlich an einer passenden Stelle abgebrochen werden. Dieser Abbruch ist allerdings
288 4 Die Konstruktion digitaler Filter
1.0
0.8
0.6
0.4
0.2
0.0
π π π π
π π 0 π π
0, 5647
− − − −
−0, 2551
eine sehr grobe Maßnahme mit unerwünschten Reaktionen des Filters, die mit gewissen
Techniken abgemildert werden können (beispielsweise durch die Verwendung von Fens-
tern, siehe dazu [Ham] Kap. 5). Jedenfalls bedeutet dieser Abbruch, dass mit einem k ≥
zu einem Filter L k mit der folgenden Einheitsimpulsantwort übergegangen wird:
⎧
⎪
⎪ΔL (n) für − k ≤ n ≤ k
ΔLk (n) = ⎨ (4.47)
⎪
⎪ für n < −k ∨ k < n
⎩
Die Frequenzantwort von L k kann über die Darstellung der Frequenzantwort als Exponen-
tialsumme erhalten werden:
∞ k k
ΘLk (ω) = ∑ ΔLk (n)e −inω = ∑ ΔL (κ)e iκω = ΔL () + ∑ ΔL (κ) cos(κω) (4.48)
n=−∞ κ=−k κ=
Der Amplitudengang ist einfach ∣ΘLk ∣, und weil ΔL offenbar finit-nullsymmetrisch10 ist,
besitzt L k einen stückweise linearen Phasengang. Daraus, dass der Frequenzgang von L k
reell ist, folgt aber schon unmittelbar, dass der Phasengang stückweise konstant ist, nämlich
ϕLk (ω) = für ΘLk (ω) ≥ und ϕLk (ω) = π für ΘLk (ω) < .11
10
Siehe dazu Abschn. 4.7.
11
Zum Polarwinkel siehe Kap. 2.
4.8 Filter mit Wunschfrequenzgängen 289
1.0 1.0
0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
0.0 0.0
π π π π
0 π π 0 π π
In Abb. 4.80 sind die Frequenzgänge von L und L skizziert. Wie oben schon vermu-
tet ist die Approximation mit k = noch nicht akzeptabel, und auch die Approximation
mit k = ist noch recht wellig und daher nicht in jedem Fall praktikabel. Der Übergang
zu k = schafft aber befriedigende Verhältnisse. Der Verlauf von ΘL ist im linken Teil
von Abb. 4.81 skizziert. Im rechten Teil des Bildes ist der Verlauf der Frequenzantwort über
den zu unterdrückenden Frequenzen im größeren Maßstab dargestellt. Das zu erkennende
„Überschwingen“ am Beginn des steil aufsteigenden Funktionsteiles ist charakteristisch für
Frequenzantworten, die als Summe oder Reihe von Cosinusfunktionen dargestellt werden.
Der steile Anstieg wirkt sich schon auf den ankommenden Wellenzug aus, dessen Ampli-
tuden vergrößernd, und der Anstieg beginnt natürlich in einem Wellental.
290 4 Die Konstruktion digitaler Filter
1.0
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0.0 0
π π π π
0 π π 0
k
L k (x)(n) = (ΔLk ∗ x)(n) = ∑ ΔL (κ)x(n − κ) (4.49)
κ=−k
Die Koeffizienten ΔL (κ) der Differenzengleichung können Tab. 4.3 entnommen werden
(es gilt ΔL (−κ) = ΔL (κ)).
Beim Schneiden der Rillen einer Schallplatte werden aus mechanischen Gründen tiefe Töne
gedämpft und hohe Töne verstärkt. Beim Abspielen einer Schallplatte müssen die so er-
zeugten Verzerrungen beseitigt werden. Erfolgten die Verzerrungen nach der RIAA-Norm,
dann muss eine Schaltung, welche das leistet, den folgenden Frequenzgang besitzen:
+ iΩTM
R(Ω) = (4.50)
( + iΩTL )( + iΩTH )
Das ist der Frequenzgang einer realen Schaltung, er ist deshalb nicht periodisch mit der
Periode π, zum Durchlauf der von R in der komplexen Ebene gebildeten Kurve muss die
Frequenz die gesamte reelle Achse durchlaufen.
4.8 Filter mit Wunschfrequenzgängen 291
2i
1
Ω = −4
Ω=0
−1 1
Ω=4
H L
M
− 21 i
+ Ω (TM TL + TM TH − TL TH ) TM − TL − TM − Ω TL TM TH
R(Ω) = + iΩ (4.51)
( + Ω TL )( + Ω TH )
( + Ω TL )( + Ω TH )
Mit den nun bekannten Cartesischen Koordinaten kann die Kurve skizziert werden
(Abb. 4.82), natürlich nur für einen endlichen Teil des unendlichen Frequenzbandes.
Gewählt wurde der Bereich − ≤ Ω ≤ [kHz], weil sich in ihm alles Wesentliche des Fre-
quenzganges abspielt. Der Start und der Endpunkt sind mit einem Punkt gekennzeichnet,
der Durchlauf beginnt also im ersten Quadranten und endet im vierten. Die gleichmäßige
Form täuscht, für Ω → ∞ und Ω → −∞ schlängelt sich die Kurve an den Nullpunkt heran
(siehe Abb. 4.86), d. h. die Kurve hat keine zur imaginären Achse parallele Asymptote,
wie man nach dem gezeigten Kurvenstück vermuten könnte, sie sieht aus wie eine Kugel,
die an der linken Seite eine Blase durch den Nullpunkt entwickelt. Es ist sehr einfach zu
zeigen, dass lim Ω→∞ R(Ω) = + i gilt und Entsprechendes für −∞. Die drei zu den
Zeitkonstanten gehörigen Frequenzen sind ebenfalls durch einen Punkt gekennzeichnet:
ΩL = ΩM = ΩH =
πTL πTM πTH
Weil die Kurve die reelle Achse einmal überquert (bei Ω = ), macht der Phasengang
des Frequenzganges bei Ω = einen Sprung der Höhe π. Weil die Kurve im gezeigten
Teil einem Kreis nicht ganz unähnlich ist, kann man auch vorhersagen, dass der Phasen-
gang in diesem Teil ziemlich konstant ist, von einer Umgebung von Ω = natürlich ab-
gesehen.
An der Darstellung (4.51) kann abgelesen werden, dass der Betrag ∣R∣ eine symmetrische
Funktion ist, es genügt daher, ihn für positive Frequenzen zu skizzieren. Der Amplituden-
292 4 Die Konstruktion digitaler Filter
−3
−6
−10
−12
dB
−15
−20
ΩL ΩM ΩH
−25
10− 2 3 4 5 10− 2 3 4 5 10 2 3 4 5 10 2
Ω [kHz]
gang wird eigentlich immer mit einer logarithmischen Skala für die Frequenzen gezeichnet
(siehe Abb. 4.83), weil nur so seine Feinheiten hervortreten, insbesondere die sanfte Del-
le um 2kHz herum. Diese ist allerdings in der Skizze des Betrages mit linearer Skala für
die Frequenzen (Abb. 4.84) nicht mehr zu sehen, und es ist zu befürchten, dass das noch
zu konstruierende Filter solche Feinheiten nicht berücksichtigen kann, wenn man die An-
passung seines Frequenzganges an die Wunschfunktion nicht allzuweit treiben kann oder
will.
Der Polarwinkel des Frequenzganges ist in Abb. 4.85 gezeigt. Er hat die weiter oben
vermuteten Eigenschaften und wird eigentlich nur der Vollständigkeit halber angegeben,
er hat für das Folgende keine Bedeutung.
Zur Konstruktion des digitalen Filters ist nun der Frequenzgang R vom kontinuierli-
chen Frequenzbereich −∞ < Ω < ∞ auf den digitalen Kreisfrequenzbereich −π ≤ ω <
π zu übertragen. Das sollte möglichst ohne Verzerrungen geschehen. Nun gibt es keine
verzerrungsfreie (d. h. proportionale) Abbildung eines unendlichen Bereiches auf einen
endlichen, was dazu zwingt, von dem unendlichen Bereich −∞ < Ω < ∞ auf einen end-
lichen Teilbereich −ΩG ≤ Ω ≤ ΩG überzugehen. Damit wird zwar auch eine Art von
1.0
0.8
0.6
0.4
0.2
0.0
0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0
Ω [kHz]
2π
π
π
π
π
π
π
−4.0 −3.5 −3.0 −2.5 −2.0 −1.5 −1.0 −0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0
Ω [kHz]
Verzerrung eingeführt, aber jetzt kann proportional übertragen werden, die Kreisfrequenz
ω soll sich zur Frequenz Ω so verhalten wie π zu ΩG :
π
ω=Ω (4.52)
ΩG
Die Zeitkonstanten TL , TM und TH beziehen sich auf Ω und sind als geänderte Zeitkon-
stanten τL , τM und τH auf ω zu beziehen. Damit ist der Übergang von der Funktion R zur
Funktion r möglich:
+ iωτM
r(ω) = −π≤ω<π (4.53)
( + iωτL )( + iωτH )
Die Übertragung der Zeitkonstanten TL verläuft so, dass zunächst zu ihrer Frequenz ΩL
übergegangen wird. Diese wird bei der Transformation der Frequenzbereiche zu
π ΩG
ωL = ΩL also τL = = TL .
ΩG πωL π
Die übrigen Zeitkonstanten werden ebenso übertragen. Es bleibt noch, die Bereichsgrenze
ΩG zu wählen. Sie sollte einerseits nicht so hoch ausfallen, dass der Teilbereich mit den drei
Frequenzen ωL , ωM und ωG im gesamten Kreisfrequenzbereich marginalisiert wird, ande-
rerseits sollte natürlich ein praktikabler Frequenzbereich zur Verfügung gestellt werden.
Als Kompromiss wurde hier ΩG = kHz gewählt. Die mit diesen Größen erhaltene von
r durchlaufene Kurve ist in Abb. 4.86 skizziert. Ein Vergleich mit Abb. 4.82 zeigt, dass die
beiden von R und r durchlaufenen Kurven sehr gut übereinstimmen. Dass in Abb. 4.82 die
beiden Schlenker auf der linken Seite nicht vorhanden sind hat natürlich seinen Grund dar-
in, dass die R-Kurve nur für den Bereich von − kHz bis kHz gezeichnet ist. Tatsächlich
formen sich diese beiden Schlenker in der Gesamtkurve zu einer geschlossenen durch den
Nullpunkt gehenden Blase, wie man mit Abb. 4.87 erkennen kann, in dem diese Schlenker
294 4 Die Konstruktion digitaler Filter
2i
1
−π
−1 π 1
H L
2i
1 M
−50kHz
− 10
1 1
10
50kHz
10 i
1 4kHz
vergrößert dargestellt werden. Die Gesamtkurve ist demnach aus zwei sehr verschiede-
nen Teilen zusammengesetzt: Der größere kugelförmige Teil gehört zum Frequenzintervall
− ≤ Ω ≤ [kHz], das restliche unendliche Frequenzband gehört zu dem kleinen blasen-
förmigen Fortsatz, der den kugelförmigen Teil mit dem Nullpunkt verbindet. Das steht
natürlich im Einklang damit (oder ist die Erklärung dafür), dass der Amplitudengang mit
logarithmischer Skala gezeichnet werden muss, wenn wichtige Eigenschaften der Kurve
erkennbar sein sollen (Abb. 4.83).
In die r-Kurve sind auch die drei Frequenzen ωL , ωM und ωH eingezeichnet. Im visuellen
Vergleich nehmen sie die gleichen Stellen ein wie ihre Gegenstücke ΩL , ΩM und ΩH in der
R-Kurve. Wie Tab. 4.4 beweist beruht dieser Eindruck nicht auf einer Täuschung. Lediglich
die Koordinaten von ΩL und ωL stimmen nicht auf vier Nachkommastellen überein, aber
an irgendeiner Stelle muss sich der Übergang von der gesamten Zahlengeraden zu einem
endlichen Intervall schließlich bemerkbar machen. Jedenfalls lassen sich die Koordinaten-
werte nicht mehr wesentlich verbessern, wie Experimente ergeben liegt ΩG = kHz nahe
am optimalen Wert.
4.8 Filter mit Wunschfrequenzgängen 295
Tab. 4.4 Koordinaten der drei Frequenzen in der R- und der r-Kurve
Ω/ω x y
ΩL 0,05005 0,9768 −0,2892
ωL 0,00786 0,9772 −0,2867
ΩM 0,50050 0,3390 −0,8363
ωM 0,07862 0,3390 −0,8363
ΩH 2,12200 0,9614 −0,2916
ωH 0,33332 0,9614 −0,2916
Die Funktion r ∶ [−π, π) → C kann durch Replikation zwar auf ganz R fortgesetzt
werden, ist dann jedoch keine periodische Funktion mit der Periode π und daher auch
nicht der Frequenzgang eines digitalen Filters. Folglich ist die in Abb. 4.88 skizzierte Be-
tragsfunktion ∣r∣ von r auch nicht der Amplitudengang eines digitalen Filters. Nun ist aber
ein reeller und positiver Frequenzgang eines digitalen Filters sein eigener Amplituden-
gang, d. h. im Falle eines reellen und positiven Frequenzganges stimmen Frequenzgang
und Amplitudengang überein. Die Funktion ∣r∣, d. h. die RIAA-Entzerrerkurve, kann da-
her als Wunschfunktion für den Frequenzgang eines digitalen Filters R dienen, und zwar
zur Bestimmung der Einheitsimpulsantwort von R über das Integral (4.33):
π
ΔR (n) = ∫ ∣r(ω)∣ cos(nω)dω (4.54)
π −π
Der imaginäre Teil von (4.33) verschwindet natürlich auch hier. Die numerische Berech-
nung der Integrale für n = bis n = erfolgte wieder mit dem Romberg-Verfahren (siehe
dazu Kap. 6), die Ergebnisse sind in Tab. 4.5 zu sehen.
Wie auch schon im vorigen Abschnitt muss zu einem Filter R k mit finiter Einheitsim-
pulsantwort übergegangen werden, damit der Filterwert R k (x) über die Faltungssumme
ΔRk ∗ x bestimmt werden kann:
⎧
⎪
⎪ΔR (n) für − k ≤ n ≤ k
ΔRk (n) = ⎨ (4.55)
⎪
⎪ für n < −k ∨ k < n
⎩
Die Frequenzantwort von R k ergibt sich mit seiner Einheitsimpulsantwort wie folgt (siehe
Abb. 4.89):
∞ k
ΘRk (ω) = ∑ ΔRk (n)e −inω = ΔR () + ∑ ΔR (κ) cos(κω) (4.56)
n=−∞ κ=
296 4 Die Konstruktion digitaler Filter
1.0
0.8
0.6
0.4
0.2
ωL ωM ωH
0.0
− π 0 π
1.0
0.8
0.6
Θ R10
0.4
0.2
0.0
π π
0 π π
1.0
0.8
0.6
Θ R30
0.4
0.2
0.0
π π
0 π π
1.0
0.8
0.6
Θ R50
0.4
0.2
0.0
π π
0 π π
1.0
0.8
0.6
Θ R60
0.4
0.2
0.0
π π
0 π π
Es sei ein Signal h gegeben. Gesucht ist ein LSI-Filter R, dessen Einheitsimpulsantwort in
einem gegebenen Intervall l ≤ n ≤ r mit h übereinstimmt:
⎧
⎪
⎪ h(n) für l ≤ n ≤ r
ΔR (n) = ⎨ (4.57)
⎪
⎪ für n < l ∨ r < n
⎩
Beispielsweise könnte das Signal h selbst die Einheitsimpulsantwort eines Filters sein. Eine
Möglichkeit, solch ein Filter zu konstruieren, besteht darin, ein LSI-Filter R mit rationaler
Systemfunktion
k −κ
A(z) ∑κ=−k ′ aκ z
Ψ R (z) = = m (4.58)
B(z) ∑ μ=−m′ b μ z −μ
⎧
⎪
⎪ h(n) für − k ′ − m′ ≤ n ≤ k + m
ΔR (n) = ⎨ (4.59)
⎪
⎪ für n < −k ′ − m′ ∨ k + m < n
⎩
⎧
⎪ ⎧
⎪
⎪a n für − k ′ ≤ n ≤ k ⎪b n für − m′ ≤ n ≤ m
a(n) = ⎨ b(n) = ⎨ (4.60)
⎪
⎪ ′
für n < k ∨ k < n ⎪
⎪ für n < m′ ∨ k < m
⎩ ⎩
Dann ist A(z) = Z(a) und B(z) = Z(b), und aus (4.58) wird
Es ist also das folgende lineare Gleichungssystem für die a κ und b μ herausgekommen:
⎧
⎪
m
⎪a n für − k ′ ≤ n ≤ k
∑ b μ ΔT (n − μ) = ⎨ (4.63)
⎪
⎪ für − k ′ − m′ ≤ n < −k ′ ∨ k < n ≤ k + m
μ=−m ′
⎩
Dieses Gleichungssystem ist formal identisch mit einem Gleichungssystem, das sich ergibt,
wenn die Funktionen einer Padéschen Tafel berechnet werden sollen (siehe Abschn. 6.3).
Zur Lösung werden zuerst die b μ aus dem unteren homogenen Teil des Gleichungssystems
(d. h. mit Nullen als Konstanten) bestimmt, der obere Teil des Gleichungssystems ist dann
schon nach den a κ aufgelöst. Wird zur Abkürzung h i = h(i) gesetzt, mit h i = für i <
−k ′ − m′ , dann ergibt sich das homogene Gleichungssystem in Matrixgestalt wie folgt:
Nun ist allerdings die Zahl der Unbekannten des homogenen Systems (4.64) (die Anzahl
der b μ ) durch m + m′ + gegeben, das Gleichungssystem besteht aber nur aus m + m′
Gleichungen. Die fehlende Gleichung kann man über die Normierung der Systemfunktion
von R gewinnen, etwa durch b = . Das System (4.64) geht dann über in das folgende
Gleichungssystem mit m + m′ Gleichungen:
Hat man dieses Gleichungssystem gelöst, erhält man die a κ aus dem oberen Gleichungs-
system von (4.63), das schon nach den Unbekannten aufgelöst ist:
m
a κ = ∑ b μ h κ−μ κ ∈ {−k ′ , . . . , k} h κ−μ = bei κ − μ < (4.66)
μ=−m ′
In der Praxis wird das Gleichungssystem in seiner vollen Allgemeinheit selten benötigt.
Besitzt das Signal h Symmetrieeigenschaften, dann kann sich (4.65) beträchtlich verein-
fachen. Ist h nullsymmetrisch, d. h. gilt h−i = h i für i ≠ , oder nullschiefsymmetrisch,
300 4 Die Konstruktion digitaler Filter
Denn es müssen nur die b bis b q berechnet werden, es ist dann b− = b bis b−q = b q oder
b− = −b bis b−q = −b q . Natürlich sollen die a κ dieselbe Symmetrieeigenschaft besitzen
wie die b μ . Zum einfacheren Verständnis wird noch das System für q = mitsamt seiner
Lösung präsentiert, für praktische Zwecke, d. h. für eine befriedigende Approximation von
ΔR an h dürfte q in den meisten Fällen nicht ausreichen. Das Gleichungssystem (4.67) muss
daher numerisch gelöst werden.
h h b −h
[ ] [ ] = [ ]
h h b −h
a = h
a = h + b h
a = h + b h + b h
Die wenigen Schritte zur Lösung des ×-Systems seien dem Leser als sehr einfache Übung
überlassen, die Lösung ist jedenfalls
h − h h
b =
h − h h
h h
b = − − b
h h
Ist h kausal, d. h. gilt h(n) = für n < , dann kommt man ebenfalls auf das Gleichungs-
system (4.67), wenn man m′ = k ′ = wählt und, um der Systemfunktion dieselbe Anzahl
von Nullen und Polen zu geben, m = k = q. Ist h kausal, können k ′ oder m′ auch negativ
sein.
Man hat allerdings darauf zu achten, ob die Matrix des homogenen Gleichungssystems
singulär ist. Dazu ein Beispiel. Es ist eine Systemfunktion zu bestimmen, die eine Nullstelle
und drei Pole besitzt:
a + a z −
Ψ R (z) =
+ b z − + b z − + b z −
′ ′
Es ist also k = m = , weshalb nur das rechte untere Viertel der Matrix in (4.64) verwendet
wird, und k = und m = . Die erste Zeile der Matrix hat die Elemente h , h und h− = ,
das gesamte System (fünf Gleichungen mit fünf Unbekannten) ergibt sich zu
⎡ h ⎤ ⎡ ⎤ ⎡ ⎤
⎢ h ⎥ ⎢ b ⎥ ⎢−h ⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥
⎢h h h ⎥ ⎢b ⎥ = ⎢−h ⎥ a = h a = h + b h
⎢ ⎥⎢ ⎥ ⎢ ⎥
⎢h h ⎥ ⎢ ⎥ ⎢ ⎥
⎣ h ⎦ ⎣b ⎦ ⎣−h ⎦
4.9 Konstruktion eines Filters aus einer Einheitsimpulsantwort (die Padé-Methode) 301
Speziell für das Signal h(n) = −n u(n) erhält man das folgende System:
⎡ ⎤ ⎡ ⎤ ⎡ ⎤
⎢ ⎥ ⎢b ⎥ ⎢ − ⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥
⎢
⎥ ⎢b ⎥ = ⎢ − ⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥
b −
⎣ ⎦ ⎣ ⎦ ⎣ ⎦
Die ersten beiden Spalten der Matrix sind linear abhängig, denn multipliziert man die erste
Spalte mit 2 erhält man gerade die zweite Spalte. Die Matrix ist daher singulär, die Methode
versagt für dieses h. Allerdings bestehen die Elemente der Matrix in der Regel aus Fließ-
kommazahlen, eine Singularität ist daher nicht mehr so einfach mit dem bloßen Auge zu
entdecken. Weitaus gefährlicher als echt singuläre sind jedoch fast singuläre Matrizen, hier
können plausibel aussehende Lösungen sehr weit von der wahren Lösung entfernt sein (sie-
he dazu etwa [Stoe] oder [Wilk]). Manche Gleichungslöser berechnen automatisch einen
Schätzwert für die Determinante der Matrix: Eine kleine Determinante deutet auf eine sin-
guläre oder nahezu singuläre Matrix hin. Eine sehr gute Quelle für Unterprogramme zur
Lösung linearer Gleichungssysteme ist [Wlk2], allerdings sind die dort vorgestellten und
genauestens erläuterten Unterprogramme sämtlich in der ausgestorbenen Programmier-
sprache ALGOL geschrieben. Diese Sprache hat ihre Tücken, man hat bei der Umsetzung
in eine zeitgenössische Sprache sehr auf der Hut zu sein.
Eine reguläre Matrix bekommt man für das Signal
⎡ ⎤ ⎡ ⎤ ⎡ ⎤
⎥ ⎢ b ⎥ ⎢ − ⎥
⎢
⎢
⎥⎢ ⎥ ⎢ ⎥
⎢
⎥ ⎢b ⎥ = ⎢− ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥
b −
⎣ ⎦ ⎣ ⎦ ⎣ ⎦
Die Berechnung der Lösung sei wieder dem Leser überlassen, man erhält
+ z − + z −
Ψ R (z) =
=
− −
z − z − + z − − z − − z − + z −
Ist das Signal h die Einheitsimpulsantwort eines Systems S, dann kann man aus der
Tatsache, dass ΔR die Einheitsimpulsantwort ΔS approximiert, nicht schließen, dass die
Frequenzantwort ΘR auch die Frequenzantwort ΘS approximiert. Ein Gegenbeispiel ist
der mit (4.34) definierte Tiefpass T, dessen Frequenzantwort in Abb. 4.66 zu sehen ist.
Seine nicht finite Einheitsimpulsantwort ist
sin(nω g )
ΔT (n) = n∈Z
nπ
302 4 Die Konstruktion digitaler Filter
Die Approximation ΔR soll über (4.67) berechnet werden, und zwar mit q = . Die System-
funktion hat die Gestalt
∑
a κ z −κ
Ψ R (z) = κ=−
∑ μ=− b μ z −μ
die Frequenzantwort von R ist deshalb reell (siehe Abschn. 4.1):
a + ∑κ= a κ cos(κω)
ΘR (ω) =
b + ∑μ= b μ cos(μω)
Die Matrizenkoeffizienten werden mit den h i = ΔT (i) gebildet, mit h i = bei i < .
Lediglich h kann nicht direkt ausgerechnet werden, der Wert muss indirekt erschlossen
werden:
sin(x λ) λ cos(x λ) ωg
lim = lim /⇒ h =
x→ x x→ π
Als Beispielgrenzfrequenz ist oben ω g = π gewählt worden (Abschn. 4.8.1). Die Koeffi-
zienten der Systemfunktion für diese Frequenz sind in Tab. 4.6 wiedergegeben, die damit
berechnete Frequenzantwort des Filters R ist in Abb. 4.90 skizziert. Sie zeigt keinerlei Ähn-
lichkeiten mit der Frequenzantwort des Filters A in Abb. 4.91. Sie besitzt sogar Singularitä-
ten, was bedeutet, dass die Kurve nur in dem Sinne geschlossen ist, dass sie „über Unendlich
verläuft“ (siehe auch die Diskussion in Kap. 2). Prinzipiell wäre es möglich, dass die „echte“
Frequenzantwort von R ganz anders verläuft und die Berechnete ein Artefakt der Glei-
chungslösung ist, d. h. es könnte eine singuläre oder nahezu singuläre Matrix vorliegen.
Das ist jedoch ganz sicher nicht der Fall, weil die berechneten Koeffizienten b i sämtlich
rationale Zahlen sind. Das ist bei b bis b offensichtlich und gilt bei näherem Hinsehen
auch für die übrigen Koeffizienten, denn diese besitzen periodische Nachkommastellen
und stellen demnach rationale Zahlen dar. Es ist nämlich b = , , b = , ,
b = , , b = , und b = , . Denn die Wahrscheinlichkeit, dass bei
der Berechnung der Lösung eines fast singulären Gleichungssystems mit Fließkommaa-
rithmetik als Lösung rationale Zahlen erscheinen ist mikroskopisch klein.
4.9 Konstruktion eines Filters aus einer Einheitsimpulsantwort (die Padé-Methode) 303
0.2
0
π π π
0 π π
0.16
Abb. 4.90 ΘR
1.2
1.0
0.8
0.6
0.4
0.2
0.0
π π π
0 π π
0.2
Jedenfalls macht dieses Beispiel deutlich, dass die Approximation eines Filters Y durch
ein Filter X über die Approximation der Einheitsimpulsantwort ΔY von Y durch die Ein-
heitsimpulsantwort ΔX von X kein vielversprechender Weg ist.
Die eigentliche Anwendung der Methode verläuft wie folgt. Es ist ein Signal h gegeben
mit h(l) ≠ und h(r) ≠ , aber h(n) = für n < l und h(n) = für r < n. Es soll l ≤ r
gelten. Man wählt k ′ und m′ mit k ′ + m′ = l, wobei k ′ und m′ auch negativ sein können,
304 4 Die Konstruktion digitaler Filter
und k und m mit k + m = r, wobei k und m auch negativ sein können. Dann bildet man
die Matrix in (4.65) und löst das Gleichungssystem.
Bei der Wahl von k ′ , k, m und m′ ist mit Vorsicht vorzugehen, weil damit der Grad des
Zähler- und des Nennerpolynoms der Systemfunktion bestimmt wird. Im Allgemeinen
werden die Eigenschaften der Systemfunktion desto besser, je näher sich die Grade dieser
Polynome kommen. Selbstverständlich gibt es auch Ausnahmen von der Regel, z. B. kann
auch explizit ein Nur-Pole-Filter gefordert sein.
Zum Abschluss des Abschnittes eine Anmerkung zur Bestimmung einer rationalen Zahl
aus ihrer periodischen Entwicklung nach Dezimalziffern. Dazu sei
u
= , q q ⋯q n p p ⋯p m q ν , p μ ∈ {, . . . , }
v
Zu bestimmen sind also u und v. Definiert man ganze Zahlen q und p durch
u q p p
= + + +⋯
v n n+m n+m
q p
= n + n+m ( + m + ( m ) + ( m ) + ⋯)
q ⋅ m + p − q
=
n (m − )
Den Zähler bekommt man also so, dass man die Ziffern von q und p nebeneinanderschreibt
und dann q subtrahiert. Der Nenner ist eine Zahl, die mit m Neunen beginnt und mit n
Nullen endet:
⋯ ⋯
m n
− ..
b = , = =
..
.
b = , = =
. .
Die Realisierung digitaler Filter
mit AVR-Mikrocontrollern 5
In der Theorie bestehen die Eingangs- und Ausgangssignale von Systemen aus komplexen
Zahlen. Das hat seinen hauptsächlichen Grund darin, dass die komplexe Exponentialfunk-
tion sehr viel einfacher zu handhaben ist als die trigonometrischen Funktionen. Signale, die
aus der wirklichen Welt kommen oder für die wirkliche Welt gedacht sind, also hörbare,
sichtbare usw., müssen natürlich mit reellen Zahlen dargestellt werden. Dann können aber
auch die Filterkoeffizienten keine komplexen Zahlen sein. Kurz gesagt: Komplexe Rech-
nung für das Design eines Filters, reelle Rechnung für seine Realisierung.
Reelle Zahlen, d. h. ihre Approximation mit einer Fließkommaarithmetik, erfordern
aber ultraschnelle Signalprozessoren, wenn akzeptable Filterzeiten erreicht werden sollen.
Zur Verfügung steht jedoch nur ein 8-Bit-Mikrocontroller mit sehr guter Peripherie, aber
eher mäßiger Rechenleistung. Hier müsste die Fließkommaarithmetik in Software1 reali-
siert werden. Die dabei erreichten Ausführungszeiten lassen eine Anwendung zur digitalen
Filterung allerdings nicht zu: Beispielsweise dauert bei [Mss1] eine Addition 160, eine Mul-
tiplikation 150, eine Skalierung immerhin noch 50 und eine Division schließlich 320 Takte.
Mit dieser Arithmetik sind Filterungen praktisch nur offline möglich.
Als eine schnellere Alternative bietet sich Fixkommaarithmetik an. Allerdings erfordert
deren Einsatz vom Programmentwickler ein gewisses Maß an Mitdenken. Besonders pro-
blematisch ist die Anfälligkeit der Fixkommarechnung für Zahlenbereichsüberlauf, hier
ist sehr sorgfältig vorzugehen. Abschnitt 6.5 enthält eine Einführung in die Fixkomma-
rechnung, dort wird insbesondere auch der Überlauf diskutiert. Besonders wichtig: Die
Fixkommamultiplikation wird mit den 8-Bit-Multiplikationsbefehlen des Mikrocontrol-
lers realisiert. Schließlich wird in Abschn. 5.1 gezeigt, wie man von den reellen Zahlen der
Filterkoeffizienten zu Fixkommazahlen gelangen kann.
1
Eine Fließkommaarithmetik in Software wird mit ausführlichen Erläuterungen in [Mss1]
und [Mss2] implementiert.
Trotz des Einsatzes von Fixkommaarithmetik können die Filter nicht so implementiert
werden, wie sie sich bei der theoretischen Konstruktion ergeben, wenn online gefiltert wer-
den soll. Weil Datenspeicherzugriffe bei AVR-Mikrocontrollern recht lange dauern, müs-
sen solche Zugriffe soweit wie möglich vermieden werden. Das gelingt durch den Einsatz
einer zirkulären Datenstruktur, die in den beiden präsentierten Programmen auf verschie-
dene Weise in Programmcode umgesetzt wird.
Das gefilterte Signal besteht aus einer Summe von Produkten, es sollte daher keine Schwie-
rigkeiten bei der Berechnung seiner Werte geben. Das wäre auch wirklich der Fall, wenn
die Art und Weise der Berechnung frei wählbar wäre. Man muss jedoch in Betracht zie-
hen, dass die Berechnungsdauer für einen Wert des gefilterten Signals eine obere Schranke
für die Abtastfrequenz darstellt, denn die Zeit zwischen zwei Abtastungen kann nicht kür-
zer sein als diese Berechnungsdauer, jedenfalls dann nicht, wenn das empfangene Signal
mit geringstmöglicher Zeitverzögerung gefiltert weitergeleitet werden soll, d. h. wenn kei-
ne Zwischenspeicherung gestattet ist. Es kommt bei der Berechnung der Summe also auf
jeden Befehl an, jeder eingesparter Prozessorbefehl bedeutet eine mögliche Erhöhung der
Abtastfrequenz!
Hier ist noch einmal die Gleichung zur Darstellung des gefilterten Signalwertes, aus wel-
cher die Summe zur Berechnung von F(x)(n) abgeleitet wird, und zwar in normierter
Gestalt mit v = :
Die Aufmerksamkeit hat den Produkten u i x(n − i) und v j F(x)(n − j) zu gelten, und zwar
ist dafür zu sorgen, dass die Multiplikationen ganzzahlig mit dem Multiplikationsbefehl
muls durchgeführt werden können, im Idealfall natürlich mit einem solchen Befehl. Zu
diesem Zweck ist für die Produktfaktoren des Gleichungssystems eine geeignete Daten-
struktur zu wählen und die Produktfaktoren sind in diese Datenstruktur umzuformen.
Dabei ist ein möglichst kleiner Genauigkeitsverlust anzustreben.
Zunächst sollen die reellen Koeffizienten u i und v j der Systemfunktion betrachtet wer-
den. Hier ist ein typisches System solcher Koeffizienten:
u = v =
u = −, v = −,
u = , v = ,
u = −, v = −,
u = v = ,
5.1 Die numerische Berechnung des gefilterten Signals 307
Die kürzeste Rechenzeit wird erreicht, wenn die Produkte mit 8-Bit-Arithmetik im Zwei-
erkomplement berechnet werden. Dazu kann man wie folgt gelangen. Man bestimmt das
Maximum M der Absolutbeträge der Koeffizienten:
Dann definiert man die positive reelle Zahl λ und die natürliche Zahl q durch
Mit Hilfe der Zahl q werden schließlich ganze Zahlen u i und v j im 8-Bit-Bereich (Zweier-
komplement, d. h. im Zahlensystem G ) definiert:
⎧
⎪ ⎧
⎪
⎪⌊q ∣u i ∣⌋ für u i ≥ ⎪⌊q ∣v j ∣⌋ für v j ≥
ui = ⎨ vj = ⎨ (5.3)
⎪ ⎪
⎩−⌊q ∣u i ∣⌋
⎪ für u i < ⎩−⌊q ∣v j ∣⌋
⎪ für v j <
∣u i ∣ = ⌊q ∣u i ∣⌋ ≤ q ∣u i ∣ ≤ qM ≤ λM =
ui vj
ũ i = ṽ j = (5.4)
q q
Bei der Berechnung der Summe werden erst die Produkte u i x(n − i) und v j F(x)(n − j)
berechnet und addiert, dann wird die Summe durch q dividiert. Das bedeutet natürlich,
dass das ursprüngliche Filter durch das folgende Filter F̃ ersetzt wird:
u = v =
u = − v = −
u = v =
u = − v = −
u = v =
308 5 Die Realisierung digitaler Filter mit AVR-Mikrocontrollern
und die Ersatzkoeffizienten, d. h. die Koeffizienten des Ersatzfilters F̃, berechnen sich aus
den Produktfaktoren und aus dem Multiplikator q wie folgt:
ũ = ṽ =
ũ = −, ṽ = −,
ũ = , ṽ = ,
ũ = −, ṽ = −,
ũ = ṽ = ,
Nun muss allerdings noch geprüft werden, ob F tatsächlich durch F̃ ersetzt werden kann.
Und zwar kann F dann durch F̃ ersetzt werden, wenn die Nullstellen und Pole der System-
funktionen der Filter so nahe beieinander liegen, dass die Unterschiede bei den Frequen-
zen, also Eckfrequenz, Kerbfrequenz usw., im praktischen Einsatz des Filters noch toleriert
werden können, und wenn die Ersatzpole noch im Inneren des Einheitskreises liegen. Das
lässt sich allerdings nicht an den Koeffizienten ablesen. Auch wenn die Koeffizienten recht
gut übereinstimmen, wie hier bei den Beispielkoeffizienten,
folgt daraus nicht, dass auch die Nullstellen und Pole nahe beieinander liegen. Ein Gegen-
beispiel liefert das Nennerpolynom
für einen sechsfachen Pol bei zp = ,. Wird das konstante Glied des Polynoms Q ersetzt
durch das sich nur sehr wenig unterscheidende konstante Glied , − − , wird also zu
dem Ersatzpolynom
Q̃(z) = z + . . . + , − −
übergegangen, dann gilt für eine Nullstelle w von Q̃
das Wurzelziehen hat kann man über die Polarform errechnen, oder man schreibt
√ √ √ √ √
− = − × = − = − = − e iπν/ ,
auf diese Weise kommen die 6-ten Einheitswurzel automatisch in das Spiel. Die sechs Null-
stellen w bis w ergeben sich damit als
−1 1
Sie liegen im gleichen Abstand auf dem Kreis mit Radius , um zp = ,, siehe Abb. 5.1.
Die Nullstellen eines Polynoms können also in extremer Weise von den Koeffizienten des
Polynoms abhängen. Im Beispiel erbringt eine Änderung eines Koeffizienten von − eine
Änderung im Betrag der Nullstellen um das -fache: ∣w ∣ = ∣zp ∣ + − . Aus der weitge-
henden Übereinstimmung der Koeffizienten zweier Polynome kann daher keine Aussage
über den Grad der Übereinstimmung der Nullstellen der Polynome gemacht werden. Und
weil die Werte eines Polynoms nicht in extremer Weise von seinen Koeffizienten abhängen,
gilt das ebenso für die weitgehende Übereinstimmung der Werte zweiter Polynome. Das
Beispiel zeigt das auch, denn für die beiden Polynome gilt Q(z) − Q̃(z) = − .
Zu beachten ist auch, dass eine der Nullstellen auf dem Einheitskreis liegt! Stellt das
Polynom Q̃ daher das Nennerpolynom einer Systemfunktion eines Filters dar, sind seine
Nullstellen also die Pole der Systemfunktion, dann ist das Filter nicht stabil. Kleine Ände-
rungen in den Koeffizienten der Polynome eines Filters können mithin das Filter für die
Praxis unbrauchbar machen.
Wenn ein Vergleich der Koeffizienten der Systemfunktionen von F und F̃ oder ein Ver-
gleich der Systemfunktionen selbst keine Aussage über die Veränderungen der Nullstellen
und Pole beim Übergang von F zu F̃ erlaubt, dann müssen die Nullstellen und Pole der
Systemfunktionen direkt untersucht werden. Das ist eigentlich ein nicht ganz einfacher
Vorgang,2 doch wenn die Systemfunktion von F direkt über ihre Nullstellen und Pole fest-
gelegt wird, dann hat man einen Ausgangspunkt zur Berechnung der Nullstellen und Pole
der Systemfunktion von F̃.
Es sei w eine Nullstelle des Zählerpolynoms P der Systemfunktion von F. Dann kann w
als ein Startwert für das Newton-Verfahren zur Bestimmung einer Nullstelle w̃ des Zäh-
lerpolynomes P̃ der Systemfunktion von F̃ dienen. Konvergiert das Verfahren nicht nach
ein paar Iterationen gegen einen Nullstelle von P̃, wenn also die beiden Nullstellen für das
2
Sehr gut zu lesen ist der Klassiker [Wilk].
310 5 Die Realisierung digitaler Filter mit AVR-Mikrocontrollern
Newton-Verfahren zu weit voneinander entfernt sind, dann kann man annehmen, dass sie
auch für die Zwecke des Filterns zu weit voneinander entfernt sind. Andernfalls können
w und w̃ miteinander verglichen werden. Das Newton-Verfahren besteht bekanntermaßen
darin, die Rechenvorschrift
P̃(z k )
z k+ ← z k − ′ (5.5)
P̃ (z k )
auszuwerten. Der Startwert z ist eine der Nullstellen von P.
Die Systemfunktion von F wurde in Abschn. 4.4 mit Hilfe der Funktionen Φ r,ϕ gebildet,
ihre Nullstellen und Pole sind daher in Polarkoordinaten bekannt und können in cartesi-
sche Koordinaten umgerechnet werden:
Die übrigen (complex-conjugierten) Nullstellen und Pole können der Symmetrie wegen
außer Acht gelassen werden. Das Newton-Verfahren konvergiert bei den beiden Nullstellen
rasch:
w̃ = ,e ,i
w̃ = ,e ,i
Die neuen Nullstellen liegen wieder auf dem Rand des Einheitskreises, jedenfalls im
Rahmen der Rechengenauigkeit. In Wirklichkeit sind sie um einen winzigen Betrag nach
Außen gerückt, d. h. es ist r > . Z. B. ist bei w̃ der Radius mit sehr viel größerer Genauigkeit
gegeben durch r = 1,0000000000000000000000000000000002355079087156556046338
2226907119. Jetzt könnten die Nullstellen verglichen werden, aber einen wirklich aussa-
gekräftigen Vergleich erhält man erst, wenn auch noch in Frequenzen umgerechnet wird.
Diese Umrechnung ergibt
w ≡ , Hz w ≡ , Hz
w̃ ≡ , Hz w̃ ≡ , Hz
5.1 Die numerische Berechnung des gefilterten Signals 311
Ob diese Abweichungen signifikant sind hängt natürlich von den gegebenen Umständen
ab. Jedenfalls sind die Abweichungen im Frequenzbereich (beim Winkel), die schon in der
ersten Nachkommastelle beginnen, gewichtiger als die im Koordinatenbereich der Koeffi-
zienten, welche mit einer Ausnahme erst in der dritten Nachkommastelle einsetzen.
Bei den Polen wird ebenso verfahren. Nur kommt es hier besonders darauf an, dass die
Pole das Innere des Einheitskreises nicht verlassen. Das Newton-Verfahren konvergiert hier
ebenso rasch:
Die Pole liegen also noch sicher im Inneren des Einheitskreises, der Pol z̃pν liegt aber nicht
mehr auf dem Strahl vom Nullpunkt zur Nullstelle w̃ ν .
Ist die Prüfung der Nullstellen und Pole des Ersatzfilters F̃ zur Zufriedenheit verlau-
fen, kann es eingesetzt werden. Die Ermittelung eines gefilterten Signalwertes erfolgt dann
durch die Berechnung von
Bits) möglichst weit auszuschöpfen, um also die neuen Koeffizienten so wenig von den al-
ten abweichen zu lassen wie es eben einzurichten ist, und die Frage ist, ob der Übergang
von q zu p zu akzeptablen Koeffizienten führt. Nach einigen durchgerechneten Beispielen
kann diese Frage zufriedenstellend beantwortet werden: Der Einsatz von p ist nur selten
signifikant schlechter als der von p. Im Beispiel erhält man als Ersatznullstellen
Wenn der Ersatzfilter mit q den Umständen entsprechend gut genug ist, dann gilt das ver-
mutlich auch für das mit p konstruierte Ersatzfilter.
Es ist natürlich auch möglich, eine Zweierpotenz p = k als Divisor direkt zu nutzen.
Dazu wird zu einer gegebenen reellen Zahl r (einen der Koeffizienten der Systemfunktion
repräsentierend) eine Zahl r im Format G so bestimmt, dass möglichst genau
r
r≈
k
gilt. Man erhält r durch Runden des Produktes k r zur nächstgelegenen ganzen Zahl. Die
Größe k ist so zu wählen, dass alle u i und v j dem Zahlenformat G angehören. Man beginnt
z. B. mit k = . Gehört eine der Zahlen u i oder v j nicht zu G , geht man zu k = über, usw.
Für die obigen Koeffizienten erhält man mit k =
u = v =
u = − v = −
u = v =
u = − v = −
u = v =
k = ist wegen u = noch zu groß. Das Zahlenformat G wird allerdings nicht gut
ausgenutzt.
Nach der ausführlichen Behandlung der Koeffizienten der Systemfunktion in den Pro-
dukten u i x(n − i) und v j F(x)(n − j) gilt es jetzt, eine geeignete Datenstruktur für die
Signalwerte zu finden. Der reelle Wert x(n) eines Signals x kann je nach Herkunft des
Signals auf mancherlei Weise mit einem endlichen Zahlensystem approximiert worden
sein. Ein Signal, das von einer AVR-CPU bearbeitet wird, dürfte wohl mit großer Wahr-
scheinlichkeit mit dem AVR-eigenen ADC abgetastet worden sein, weshalb Zahlenformate,
welche der ADC zur Verfügung stellt, hier zur Basis der Berechnungen erwählt werden.
5.2 Die Implementierung eines Hochpasses 313
Da ist zunächst die Größe. Die Abtastungen werden von der Peripherie in 8-Bit- oder 12-
Bit-Zahlen umgesetzt, aber in den betreffenden I/O-Registern als Erweiterungen auf 16 Bit
angeboten. Dann hat man noch die Wahl, ob die Zahlen im Zweierkomplement dargestellt
werden. Im Zusammenhang mit Signalen ist ein Zahlensystem, das auch negative Zahlen
kennt, eine ganz natürliche Wahl. Signalwerte werden daher als 8-Bit-Zahlen und als 16-
Bit-Zahlen im Zweierkomplement dargestellt, im System G und im System G . Beide
Zahlensysteme sind ganzzahlig, ihre Zahlen müssen natürlich entsprechend interpretiert
werden. Beispielsweise könnte der kleinsten Einheit von G , also 00000001, ein Wert von
einem Mikrovolt, einem Millivolt oder auch 13 Millivolt zugeordnet werden. Für die hier
durchgeführten Rechnungen ist aber die Interpretation der Zahlen belanglos.
Der Signalwert x(n) im Zahlensystem G oder G wird mit xn , der Filtersignalwert
F(x)(n) mit y n bezeichnet, es muss also immer aus dem Kontext hervorgehen, mit wel-
chem Filter gerade gerechnet wird:
xn ←→ x(n) y n ←→ F(x)(n)
Die Produkte u i x(n − i) und v j F(x)(n − j) gehen damit in die Produkte u i xn−i und v j y n− j
über. Es sind Produkte von zwei Faktoren im Format G oder einem Faktor im Format G
und einem zweiten Faktor im Format G . So wird beispielsweise aus (5.6)/(5.7)
yn = (u xn + u xn− + ⋯ + u xn− − v yn− − ⋯ − v y n− ) (5.8)
q
y n = xn + xn− +(−xn− +xn− −xn− +y n− −xn− +y n− −y n− )− (5.9)
Als AVR-Programm zu realisieren ist der Hochpass mit der Systemfunktion (4.25) in Ab-
schn. 4.5, und zwar mit m = :
Durch Übergang von z zu z − gelangt man zu einer Darstellung der Systemfunktion, an der
sich die Nullstellen und Pole direkt ablesen lassen:
z − z − z + ⋯ + z −
Ψ H (z) = ( ) = ( )
z (z + ) z (5.11)
− − − − −
= ( − z + z −z +⋯+z −z ) = v(z)
314 5 Die Realisierung digitaler Filter mit AVR-Mikrocontrollern
1.0
0.8
0.6
0.4
0.2
0, 048
0.0
−π − π − π −π −π 0 π π
π π π
H (x)(n) = x(n) − x(n − ) + x(n − ) − H (x)(n − ) − H (x)(n − ) (5.12)
Mit den in Abschn. 5.1 eingeführten Datenstrukturen und Bezeichnungen erhält man zur
Berechnung des nächsten Ausgangssignalwertes die Gleichung
Darin sind die x i und y j Zahlen im Format G , d. h. acht Bit (ein Byte) im Zweierkomple-
ment.
Der Amplitudengang des Filters ist in Abb. 5.2 zu sehen. Er ist allerdings normiert. Tat-
sächlich ist γH (π) = m = . Das bedeutet, dass nach der Auswertung von (5.13) als
Ergebnis das obere Byte des erhaltenen 16-Bit-Ergebnisses zu nehmen ist, weil γ H (π) =
gelten soll.
Die Einheitsimpulsantwort des Filters ist definitionsgemäß ΔH = H (δ). Weiterhin
gilt nach (3.250) die Relation Z(H (δ)) = Ψ H Z(δ) = Ψ H , d. h. die Einheitsimpuls-
antwort ΔH ist die umgekehrte z-Transformierte der Systemfunktion Ψ H . Ist daher v die
umgekehrte z-Transformierte der Funktion v in (5.11), dann ergibt sich die Einheitsim-
pulsantwort als ΔH = v ∗ v. Nun hat die Funktion v eine einfache Struktur, sie ist eine
Linearkombination von Funktionen z ↦ z −i , deren umgekehrte z-Transformierte natür-
lich der um i Indexpositionen verschobene Einheitsimpuls ist: Z(δ i )(z) = z −i . Daraus
folgt direkt
v = δ − δ + δ + ⋯ + δ − δ
5.2 Die Implementierung eines Hochpasses 315
16
− − − −
16
Jetzt ist es nicht mehr schwer, die Einheitsimpulsantwort über die Faltung von v mit sich
selbst zu berechnen:
ΔH (n) = ∑ (−)ν (ν + )δ ν (n) (5.14)
ν=
Die Einheitsimpulsantwort ist in Abb. 5.3 skizziert. Sie erfüllt zwar keine der in Abschn. 4.7
vorgestellten Symmetrien, ist aber ganz regulär aufgebaut und beinahe klappsymmetrisch
zur Achse, weshalb man vermuten kann, dass der Phasengang stückweise linear ist. Diese
Vermutung kann sicherlich mit ähnlichen Mitteln wie in Abschn. 4.7 eingesetzt verifiziert
werden. Die numerische Rechnung liefert jedenfalls eine stückweise lineare Funktion, auch
wenn sie mit sehr hoher Auflösung durchgeführt wird (siehe Abb. 5.4).
Dass der Phasengang ϕH stückweise linear ist bedeutet, dass das Intervall −π ≤ ω < π
von Intervallen α ≤ ω < β (oder α < ω ≤ β usw.) überdeckt wird, in welchen
ϕH (ω) = aω + b
gilt. Die Verschiebungsfunktion ΛH setzt sich daher aus Hyperbelästen zusammen, mit
der (einzigen) Ausnahme b = , die auf eine Konstante führt. Abbildung 5.5 zeigt deshalb
Abschnitte von Hyperbelästen, keine Geradenstücke.
π
π
π π π
316 5 Die Realisierung digitaler Filter mit AVR-Mikrocontrollern
π ≤ ω < π, m =
2.0
1.5
1.0
0.5
0.0
π π π
Als Beispiel soll das Filter auf das Signal v in Abb. 5.6 angewandt werden. Das Signal ist
durch periodische Fortsetzung gegeben:
v() = , v() = −, v() = und v(n + ) = v(n), n∈Z
Das von H erzeugte normierte (d. h. durch dividierte) Signal ist in Abb. 5.7 gezeigt.
Die Einschwingphase ist deutlich zu erkennen (n = − bis n = ). Das eingeschwungene
Ausgangssignal (ab n = ) ist von der Gestalt her dem Eingangssignalnoch ähnlich, es ist
allerdings stark gedämpft und das Vorzeichen ist ausgewechselt.
Setzt man H (x)(n) = voraus für n < , dann folgt aus (5.12) für jedes Signal x mit
der Periode p = sofort H (x)(n) = für n ≥ . Abbildung 5.8 zeigt ein solches Signal w.
In Abb. 5.9 ist das vom Filter erzeugte Ausgangssignal dargestellt. Nach der Einschwing-
phase geht das Ausgangssignal wie erwartet sofort in das Nullsignal über. Die Werte des
Ausgangssignals wurden mit Fließkommaaritmetik berechnet, es sind exakte Werte. Beim
Einsatz von Festkommaarithmetik können sich merkbare Abweichungen ergeben, denn
die Differenzengleichung (5.12) und (5.13) sind natürlich nicht numerisch äquivalent.
− − − −
0, 014
− − − −
7
8
− − − −
0, 0034
− − − −
Mit der Darstellung (5.14) für die Einheitsimpulsantwort des Filters lässt sich H auch
direkt formelmäßig darstellen. Es ist nämlich für jedes beliebige Signal x
H (x) = ΔH ∗ x = ∑ (−)ν (ν + )x ○ σ ν
ν=
xn−32 xn xn xn −1
xn−1 xn −32
xn −16
xn−16
in einem Vektor X an, etwa Xν = xn−ν , dann müssen nach der Berechnung von x n die xν zur
Berechnung von xn+ um eine Position nach hinten verschoben werden, also X → X ,
X → X usw. bis X → X . Die Position X wird dann mit xn+ besetzt. Das entspricht
64 Speicherzugriffen bei der Berechnung von xn , obwohl direkt nur X und X benötigt
werden. Diese unproduktiven Speicherzugriffe lassen sich vermeiden, wenn die xν nach
dem Prinzip der zirkulären Schlange (circular queue) verwaltet werden.
Das geschieht nun so, dass die xν nicht mehr in einer Reihe sondern in einem Kreis an-
geordnet werden, in dem xn und xn− benachbart sind. Hier wird nun nichts mehr bewegt,
es wird vielmehr nach der Berechnung von xn′ , n′ = n + , das vorige xn− mit dem neu-
en xn′ überschrieben. So wird automatisch das vorige xn zum neuen xn′ − , das vorige xn−
zum neuen xn′ − usw. bis das vorige xn− zum neuen xn′ − wird. Abbildung 5.10 macht
dieses Prinzip deutlich.
Es erhebt sich allerdings die Frage, wie ein solcher Ring realisiert werden kann. Eine
Möglichkeit wäre es, die xν zu einem Ring zu verketten, eine Lösung, die aber schon nach
kurzem Nachdenken verworfen wird. Eine weitere Möglichkeit mit besserem Verhalten
besteht darin, die xν doch in einem Vektor X anzuordnen, dessen Elemente aber modulo
33 zu adressieren: Auf xν wird nicht als Xν sondern als Xν mod zugegriffen. Dazu werden
drei Indizes i , i und i bereitgestellt, mit welchen die laufenden xn , xn− und xn−
indiziert werden, d. h. es ist xn = Xi , xn− = Xi und xn− = X i . Der Übergang von n
auf n + geschieht dann mit
Die drei Indizes und damit auch ihre Vektorelemente durchlaufen so den Kreis von
Abb. 5.10.
Damit ist allerdings ein neues Problem geschaffen, nämlich die möglichst effiziente Be-
rechnung von i mod . Hier liegt der Sonderfall vor, dass 33 der Nachfolger einer Zweier-
potenz ist, also allgemein der Fall, i mod m + zu berechnen für eine Zweierpotenz m = k .
Wegen der Beziehung i mod m = i ∧ (m − ) ist die Berechnung modulo m mit einem
5.2 Die Implementierung eines Hochpasses 319
XX00 + 2i XX00
XX00 + i XX00
(binären) Computer sehr effizient. Aus der Kenntnis von r = i mod m und q = i div m
lässt sich aber i mod m + recht einfach berechnen. Es ist nämlich ≤ r < m und damit
i = mq + r = (m + )q + r − q. Nimmt man noch die Relation q < m hinzu,3 dann gilt
−m < r − q < m. Gilt daher ≤ r − q, so ist r − q = i mod (m + ). Ist dagegen r − q < ,
dann erhält man < r − q + (m + ) < m + , d. h. es ist i mod (m + ) = r − q + (m + ).
Soweit das mögliche Vorgehen, wenn i mod zu einem beliebigen i bestimmt werden
soll. Hier ist i jedoch nicht beliebig, sondern es ist (i + ) mod für ≤ i ≤ zu berech-
nen, und das bedeutet einfach (i + ) mod = i + für i < und (i + ) mod = für
i = . Das ist sehr einfach zu implementieren.
Im Assemblerprogramm wird die zirkuläre Schlange als ein Wort- oder Bytevektor s
realisiert. Ein Vektorelement s[i] besteht also im Falle G aus zwei Bytes und nimmt
eine Zahl im Format G auf, im Falle G sind die Vektorelemente Bytes. Die Differen-
zengleichung (5.13) kann wegen der Additionen und Shifts natürlich nur im Format G
ausgewertet werden.
Die drei Indizes i , i und i werden nicht als separate Variablen bereitgestellt, es ist
effizienter, die Startadresse des Vektors s so zu wählen, dass das untere Byte der Adresse,
mit welcher auf ein Vektorelement zugegriffen wird, gerade den Index enthält. Das be-
deutet also, dass die Startadresse von s von der Gestalt XX00 sein muss, dabei ist X eine
beliebige Hexadezimalziffer (siehe dazu Abb. 5.11 und Abb. 5.12). Der Datenspeicher vie-
ler AVR-Prozessoren beginnt bei der Adresse 0100, man erreicht daher den gewünschten
Effekt einfach dadurch, dass der Vektor s das überhaupt erste im Segment .data verein-
barte Datenelement ist. Ist das nicht möglich, kann man durch geschickte Anordnung der
Programmvariablen mit Hilfe einer Programmauflistung fast immer zu einer Adresse der
gewünschten Gestalt kommen. Notfalls muss eine Lücke in Kauf genommen und die As-
sembleranweisung .org benutzt werden.
3
In der Praxis ist das k in m = k oft die Wortbreite des Computers und q in einem Computerwort
enthalten, folglich q < m.
320 5 Die Realisierung digitaler Filter mit AVR-Mikrocontrollern
Die drei Datenelemente yn , y n− und xn− werden natürlich nicht als zirkuläre Liste
organisiert sondern als drei Wortvariable im Zahlenformat G oder G bereitgehalten,
die bei jeder Neuberechnung von y n umgespeichert werden.
1 .dseg
Der Wortvektor der Schlange, die Programmvariablen und ihre offsets, Version G
2 .org 0x0200
3 .equ nwH5X = 33
4 vwH5X: .byte 2*nwH5X Der Vektor s mit der Adresse ξ = A(s) = XX00
5 aH516V: Die Basisadresse β für die folgenden Variablen
6 wH5Y: .byte 2 yn
7 wH5Y1: .byte 2 y n−
8 wH5Y2: .byte 2 y n−
9 pwH5X32: .byte 2 Die Adressenvariable mit der Adresse ξ von x n−
10 pwH5X16: .byte 2 Die Adressenvariable mit der Adresse ξ von x n−
11 pwH5X0: .byte 2 Die Adressenvariable mit der Adresse ξ von x n
12 .equ owH5Y = wH5Y - aH516V
13 .equ owH5Y1 = wH5Y1 - aH516V
14 .equ owH5Y2 = wH5Y2 - aH516V
15 .equ opwH5X0 = pwH5X0 - aH516V
16 .equ opwH5X16 = pwH5X16 - aH516V
17 .equ opwH5X32 = pwH5X32 - aH516V
18 .cseg
Die Initialisierung der zirkulären Schlange
19 H516Start: clr r0 1 r ← 00
20 ldi r16,nwH5X + 3 1 r ← k = + (Anzahl Doppelbytes)
21 ldi r30,LOW(vwH5X) 1 Z←λ=ξ
22 ldi r31,HIGH(vwH5X) 1
30 adiw r25:r24,32 2 U ← ξ = ξ +
31 st Z+,r24 2. λ∗ ← ξ , λ ← λ +
32 st Z+,r25 2
33 adiw r25:r24,32 2 U ← ξ = ξ + +
34 st Z+,r24 2 λ∗ ← ξ , λ ← λ +
35 st Z+,r25 2
36 ret 4
5.2 Die Implementierung eines Hochpasses 321
41 ldd r28,Z+opwH5X0 2 Y ← ξ
42 ldd r29,Z+opwH5X0+1 2
43 st Y+,r16 2 ξ∗ ← x n , ξ ← ξ +
44 st Y+,r17 2
50 ldd r28,Z+opwH5X16 2 Y ← ξ
51 ldd r29,Z+opwH5X16+1 2
63 ldd r28,Z+opwH5X32 2 Y ← ξ
64 ldd r29,Z+opwH5X32+1 2
77 sbc r17,r19 1
117 .cseg
Die Initialisierung der zirkulären Schlange
118 H58Start: clr r0 1 r ← 00
119 ldi r16,nbH5X + 3 1 r ← k = + (Anzahl Bytes)
120 ldi r30,LOW(vbH5X) 1 Z←λ=ξ
121 ldi r31,HIGH(vbH5X) 1
134 ret 4
139 ldi r17,0xFF 1 antizipiere G (xn ) < : r ← FF, d. h. G (xn ) <
140 tst r16 1 ist G (x n ) < ?
141 skmi 1/2 falls nicht:
142 ldi r17,0x00 1 r ← 00: G (xn ) ≥
143 ldd r28,Z+opbH5X0 2 Y ← ξ
144 ldd r29,Z+opbH5X0+1 2
Die zirkuläre Schlange muss natürlich initialisiert werden. Das geschieht in dem Unterpro-
gramm von Zeile 18 bis Zeile 35. Es ist vor der ersten Berechnung der Differenzengleichung
aufzurufen. Initialisiert werden die 33 Vektorelemente s[i], y n , y n− und y n− in einer
Schleife mit 0000. Die Vorbereitungen zu dieser Schleife sind wie folgt: Register r wird
als Quellenregister für die Speicherzugriffe genutzt und daher in Zeile 18 mit 00 geladen.
Register r ist der Schleifenzähler k und wird in der nächsten Zeile mit der Anzahl +
der Doppelbytes initialisiert, die besucht werden sollen. Der Zugriff auf den Datenspeicher
erfolgt mit der Adresse λ in Register Z, das deshalb mit der Adresse ξ des Vektors s geladen
wird (vwH5X im Programm). Vom Unterprogramm müssen auch die Adressen ξ , ξ und
ξ berechnet werden, das geschieht mit Register U, das daher ebenfalls mit ξ geladen wird
(in Zeile 22).
Die Schleife in den Zeilen 23–26 ist äußerst simpel. Bei jedem Schleifendurchlauf wer-
den zwei aufeinanderfolgende Speicherbytes mit 00 geladen, dabei wird die Adresse λ in
den Zeilen 24–25 parallel zum Speicherzugriff erhöht. Es wird der Schleifenzähler k in r
heruntergezählt und es wird zum nächsten Schleifendurchlauf zurückgesprungen, falls der
Schleifenzähler noch nicht den Wert 00 erreicht hat.
Nach dem Verlassen der Schleife, also in Zeile 27, enthält Register Z die Adresse λ =
pwH5X32, das ist die Adresse der Variablen (des Zeigers), in der die laufende Adresse ξ
zwischen den Aufrufen von DoH516 aufbewahrt wird. Die beiden Doppelbytes an der
Adresse λ werden in den Zeilen 27–28 mit der Adresse in Register U, d. h. mit ξ, geladen.
Das bedeutet also ξ = ξ, und Z enthält die Adresse λ = pwH5X16. In Zeile 29 wird die
Adresse in U um 32 erhöht, d. h. U enthält ξ + , was ξ = ξ + nach den Zeilen 30–31
ergibt. Danach enthält Z die Adresse λ = pwH5X0. Die Zeilen 32–34 liefern schließlich
ξ = ξ + . Die zirkuläre Schlange befindet sich nun in ihrem Anfangszustand, der in
Abb. 5.13 oben dargestellt ist.
Es wird angenommen, dass das Initialisierungsunterprogramm zu einem Zeitpunkt auf-
gerufen wird, in dem alle Register der CPU zur freien Verfügung stehen.
Dem Unterprogramm zur Berechnung eines y n ab Zeile 36 ist das xn im Doppelregister
r: zu übergeben. Alle vom Unterprogramm verwendeten Register werden beim Betreten
des Unterprogramms in den Stapel gerettet und beim Verlassen aus dem Stapel restauriert
(Zeilen 36–37 und Zeilen 96–97). Weil auf die sechs Variablen in den Zeilen 5–10 über
das Register Z zugegriffen wird, wird das Register in Zeile 38 mit der Basisadresse β der
Variablen geladen.
Der erste vom Unterprogramm durchgeführte Vorgang besteht darin, xn an der Adresse
ξ abzulegen und die Adresse modulo 33 weiterzuschalten. Folglich wird Y in den Zeilen
326 5 Die Realisierung digitaler Filter mit AVR-Mikrocontrollern
32 31 17 16 1 0
xn xn−1 ··· xn−15 xn−16 ··· xn−31 xn−32
ξ0 ξ16 ξ32
xn−1 xn−2 ··· xn−16 xn−17 ··· xn−32 xn
ξ16 ξ32 ξ0
40–41 mit dem offset der Zeigervariablen geladen, die ξ enthält, das Ablegen von xn an
der Adresse ξ findet dann an den beiden folgenden Zeilen statt. Dabei wird die Adresse ξ
in Y automatisch um 2 erhöht. Zum Weiterschalten von ξ modulo 33 kann man sich an
Abb. 5.11 orientieren. Das untere Byte ξ von ξ , d. h. Register r , enthält den doppelten
Index i . Gilt i < , dann ist ξ schon korrekt modulo 33 weitergeschaltet worden,
andernfalls muss ξ auf den Wert 0 gesetzt werden. In Zeile 44 wird daher der Inhalt von
r (d. h. ξ ) mit 66 verglichen. Enthält r nicht 66, was gleichbedeutend mit < ist, da
stets von 0 an heraufgezählt wird, dann wird die nächste Zeile 46 übersprungen, der Inhalt
von r also nicht mehr geändert. Enthält r andererseits 66, dann wird diese Zeile jedoch
durchlaufen und r dort mit 00 geladen.
Im weiteren Verlauf des Unterprogramms wird das Doppelregister r: als G -
Akkumulator eingesetzt für die Berechnung von y n . Es enthält jetzt das neue xn
Als Nächstes wird xn− subtrahiert. Das beginnt in den Zeilen 49–50 damit, dass ξ in
das Register Y geladen wird. In den folgenden beiden Zeilen wird ξ ∗ , d. h. das alte xn− , in
das Doppelregister r: transferiert. Dabei wird die Adresse ξ in Y automatisch um 2 er-
höht. In den Zeilen 53–55 erfolgt dann die schon bekannte Weiterschaltung von ξ modulo
33. In den darauffolgenden beiden Zeilen wird die neue Adresse ξ in ihre Zeigervariable
pwH5X16 zurückgeschrieben. In den Zeilen 58–59 wird xn− mit 2 multipliziert (links
geshiftet) und in den beiden nächsten Zeilen vom G -Akku r: subtrahiert. Der Akku
enthält jetzt also xn − xn− .
In den Zeilen 62–72 wird dann xn− zum G -Akku addiert. Die Erläuterungen zu den
Zeilen 49–61 können hier fast wörtlich übernommen werden. r: enthält jetzt u = xn −
xn− + xn− .
In den Zeilen 73–74 wird r: mit y n− geladen und in den folgenden beiden Zeilen
vom G -Akku subtrahiert. Dann wird in den Zeilen 77–78 das Doppelregister r: mit
y n− geladen, worauf y n− in seiner Zeigervariable wH5Y2 mit y n− überschrieben wird. In
den Zeilen 81–82 wird daraufhin y n− mit 2 multipliziert und in den nächsten beiden Zeilen
vom Akku subtrahiert. Schließlich wird in den Zeilen 85–86 das Doppelregister r: mit
dem alten y n geladen und dann in die Zeigervariable von y n− geschrieben, d. h. das alte
y n− wird durch das alte y n ersetzt.
5.2 Die Implementierung eines Hochpasses 327
Der G -Akku enthält jetzt v = u − yn− − yn− . Das neue y n entsteht daraus durch
Division mit = , der Quotient ist also gerade das obere Byte von v. Das Register
r wird daher in Zeile 89 mit diesem oberen Byte, d. h. mit dem Inhalt von r , geladen.
Nun wird aber y n als eine Zahl im Format G geführt, d. h. die G -Zahl in r muss durch
Vorzeichenvervielfachung in eine G -Zahl in r: überführt werden. In Zeile 90 wird
zunächst angenommen, dass v negativ ist, d. h. das Vorzeichenbit von r gesetzt ist, und r
mit negativen Vorzeichen gefüllt. In der nächsten Zeile wird diese Annahme dann getestet.
Ist sie wahr, dann wird die Zeile 93 übersprungen, andernfalls wird in dieser Zeile Register
r mit positiven Vorzeichen geladen. Dopppelregister r: enthält nun das neue y n , es
wird in den Zeilen 94–95 in seine Variable wH5Y geschrieben.
Man beachte, dass das Unterprogramm bei jedem Durchlauf dieselbe Anzahl von Pro-
zessortakten konsumiert, unabhängig davon, unter welchen Bedingungen die bedingten
Sprünge passiert werden.4 Es tritt daher kein jitter auf, wenn y n nach der Berechnung z. B.
über einen DAC ausgegeben wird.
Um aus dem vorgestellten Unterprogramm DoH516 eine G -Version zu machen wäre
es nur nötig, die ankommenden xn in das Format G zu transformieren. Weil das auch vor
dem Aufruf geschehen könnte, müssten an DoH516 überhaupt keine Änderungen vor-
genommen werden. Hier soll jedoch angenommen werden, dass wegen Speichermangel
durchweg das Format G verwendet werden soll, also für die Schlange und für yn , y n−
und y n− . Die Akkumulation muss allerdings auch hier im Format G durchgeführt wer-
den, was bedeutet, dass die xν und yν vor dem Eingang in die Rechnung in das Format G
gebracht werden müssen. Die zirkuläre Schlange hat hier die in Abb. 5.12 gezeigte Gestalt.
Die Initialisierung der Schlange unterscheidet sich von der G -Version nur wenig, statt
Doppelbytes sind in der G -Version Bytes mit Nullen zu belegen. Die Vorbelegung der
Zeigervariablen kann unverändert übernommen werden.
Die Grobstruktur von DoH516 kann für DoH58 übernommen werden, werden doch
dieselben Rechnungen durchgeführt. Wie oben schon erwähnt muss vor jeder Rechnung
eine Formattransformation stattfinden. Eine solche Transformation wird z. B. in den Zeilen
139–142 mit dem Parameter xn in r nach r: durchgeführt. Am Ende des Unterpro-
gramms gibt es einige Änderungen gegenüber DoH516, denn das obere Byte des neube-
rechneten yn kann direkt übernommen werden.
Beide Unterprogramme sind etwa gleich schnell: DoH516 benötigt 124 und DoH58
121 Takte. Darin ist der Unterprogrammaufruf noch nicht enthalten. Die Einsparung an
Speicherzugriffen durch die nur halb so große Schlange wird in DoH58 also durch die For-
matumwandlungen zunichte gemacht. Soll das Eingangssignal durch Abtasten entstehen
und das Ausgangssignal unmittelbar weitergegeben werden (z. B. an einen DAC), dann gibt
die Taktanzahl schon eine obere Schranke für die Abtastfrequenz. Bei einer Taktfrequenz
von fT = MHz erhält man eine Abtastfrequenz von
fT
fA = = [kHz]
4
Zu den Makros skmi und skne siehe Anhang A.3.
328 5 Die Realisierung digitaler Filter mit AVR-Mikrocontrollern
Der CD-Player arbeitet mit einer Abtastfrequenz von , kHz, die Berechnung von yn
eines CD-Signals mit DoH516 belastet den AVR-Prozessor daher nur zu %.
Es ist unbedingt darauf zu achten, dass das Abtasten mit konstanter Abtastfrequenz
durchgeführt wird, denn so, wie Signale in Abschn. 3.1 definiert sind, haben benachbar-
te Signalwerte den konstanten Abstand Eins voneinander. In der Praxis bedeutet das, dass
mit Interrupts gearbeitet werden muss. Bei MEGA-Controllern ist dafür zu sorgen, dass der
ADC-Interrupt nicht verzögert wird, weder durch globales noch durch lokales Verbieten
von Interrupts. Bei XMEGA-Controllern ist dem ADC-Interrupt die höchste Prioritätsstu-
fe zuzuteilen.5
In diesem Abschnitt wird der Filter R mit der RIAA-Entzerrerkurve als Wunschfunktion
aus Abschn. 4.8.3 als ein AVR-Assemblerprogramm realisiert. Der Filterwert R (x) wird
wieder über die Faltungssumme ΔR ∗ x berechnet:
R (x)(n) = (ΔR ∗x)(n) = ∑ ΔR (κ)x(n−κ) = ΔR ()x(n)+ ∑ ΔR (κ)x(n−κ)
κ=− κ=
(5.16)
Die Funktionswerte ΔR (κ), κ ∈ {, , . . . , }, sind in Tab. 4.5 angegeben, sie sind alle
positiv und bilden eine absteigende Wertreihe. Für das Programm müssen sie allerdings
in das Format G überführt werden. Wie das zu geschehen hat hängt natürlich von der
Arithmetik ab, mit der sie berechnet wurden. So ist beispielsweise
Das ist allerdings noch nicht sehr befriedigend, denn mit 1EA5 werden nur 13 der mögli-
chen 15 Bits im Format G wirklich genutzt. Es ist besser, die ΔR (κ) vor der Umwandlung
mit zu multiplizieren. Das ergibt
Es sei dn das auf das Format G gerundete ΔR (n) und xn ebenfalls im Format G
entspreche wieder x(n). Dann ist also die folgende Summe zu berechnen:
y n = ⌊(d x + ∑ dκ xn−κ )− ⌋ (5.17)
κ=
5
Das Arbeiten mit Interrupts bei AVR-Controllern ist ausführlich in [Mss1] beschrieben.
5.3 Die Implementierung eines Filters mit RIAA-Kennlinie 329
xn 1 xn 64 xn
Die Produkte dν xn−ν haben das Format G , entsprechend werden die Summen in der
Klammer im Format G berechnet. Durch die Rechtsshifts und das Abschneiden des ge-
brochenen Teils der Summe liegt das Ergebnis y n wieder im Format G vor. Allerdings ist
noch zu prüfen, ob bei den Additionen Überlauf eintreten kann. Es sei dazu M die größte
positive im Format G darstellbare Zahl (M = − ). Dann ist
ΔR ()M + ∑ ΔR (κ)M = M(ΔR () + ∑ ΔR (κ)) < , ⋅ M < M
κ= κ=
Mit der kleinsten negativen mit G darstellbaren Zahl (− ) kann analog abgeschätzt wer-
den. Es kann daher kein G -Überlauf auftreten.
Vor der Programmierung bleibt noch zu klären, welche Datenstruktur verwendet wer-
den soll. Weil bei der Berechnung der Summe (5.17) auf alle x n bis xn− zugegriffen werden
muss, kann die Schlange aus Abschn. 5.2 hier nicht eingesetzt werden, andernfalls bei jeder
Addition in (5.17) ein neuer Index modulo 65 berechnet werden müsste. Tatsächlich kann
die zirkuläre Schlange sehr wohl eingesetzt werden, um Umspeicherungen zu vermeiden,
nur muss ihre Realisierung auf einem anderen Wege geschehen. Abbildung 5.10 bleibt da-
her gültig. Die Basis der Realisierung ist auch hier ein Vektor von 65 Zahlen im Format
G , doch wird auf die Vektorelemente nicht über Index modulo 65 zugegriffen. Wie in
Abb. 5.14 oben gezeigt, trennt xn die xn−ν in zwei Teile. Rechts von xn befinden sich die
xn−r für ≤ r ≤ , links von xn sind xn−r− bis xn− zu finden. Der Zugriff auf die gan-
ze Schlange erfolgt erst über den linken und dann über den rechten Teil, beide Male von
rechts nach links. Vor der Berechnung des neuen yn wird das alte xn− mit dem neuen xn
überschrieben, gefolgt von r ← r + . Das gilt allerdings nicht in dem Sonderfall r = , das
Vorgehen in diesem Fall ist in Abb. 5.14 durch den Übergang von der Konfiguration in der
Mitte zur unteren Konfiguration vorgegeben. Dazu gehört natürlich r ← . Setzt man noch
l = − r, dann gibt es links von xn l und rechts von xn r Vektorelemente, mit l + r = .
1 .cseg
Die dn als Vektor D in umgekehrter Reihenfolge im ROM
2 vwR64Del: .dw 0x0076,0x007D,0x0084,0x008C D ,D ,D ,D
3 .dw 0x0094,0x009D,0x00A6,0x00B1
4 .dw 0x00BA,0x00C6,0x00D1,0x00DE
5 .dw 0x00EB,0x00FA,0x0108,0x0119
6 .dw 0x0129,0x013C,0x014E,0x0164
330 5 Die Realisierung digitaler Filter mit AVR-Mikrocontrollern
7 .dw 0x0179,0x0191,0x01A9,0x01C4
8 .dw 0x01DF,0x01FF,0x021D,0x0241
9 .dw 0x0264,0x028D,0x02B5,0x02E4
10 .dw 0x0312,0x0348,0x037D,0x03BB
11 .dw 0x03F8,0x043F,0x0486,0x04D9
12 .dw 0x052B,0x058C,0x05EC,0x065D
13 .dw 0x06CE,0x0754,0x07D9,0x0878
14 .dw 0x0917,0x09D6,0x0A95,0x0B7E
15 .dw 0x0C66,0x0D87,0x0EA5,0x1014
16 .dw 0x117A,0x1359,0x1520,0x17B2
17 .dw 0x19F3,0x1DDF,0x20BB,0x300E D ,D ,D ,D
18 .dw 0x7A96 D
19 .dseg
Der Wortvektor der Schlange mit beliebiger RAM-Adresse und die Programmvariablen
20 vwR64X: .byte 2*65 Der Vektor s der zirkulären Schlange
21 bR64R: .byte 1 r
22 wR64Y: .byte 2 xn
23 .cseg
Die Initialisierung der zirkulären Schlange zur Konfiguration von Abb. 5.14 Mitte
24 R64Start: clr r0 1 r ← 00
25 ldi r16,2*65 1 r ← k = ∗ (Anzahl Bytes von s)
26 ldi r30,LOW(vwR64X) 1 Z ← λ = A(s)
27 ldi r31,HIGH(vwR64X) 1
33 ret 4
Die Multiplikation r::: ← r: × r: , und zwar G ← G × G , siehe Abschn. 6.5
34 R64Mul: clr r22 1
35 mul r16,r18 2
36 movw r3:r2,r1:r0 1
37 muls r17,r19 2
38 movw r5:r4,r1:r0 1
39 mulsu r17,r18 2
40 sbc r5,r22 1
41 add r3,r0 1
42 adc r4,r1 1
43 adc r5,r22 1
44 mulsu r19,r16 2
5.3 Die Implementierung eines Filters mit RIAA-Kennlinie 331
45 sbc r5,r22 1
46 add r3,r0 1
47 adc r4,r1 1
48 adc r5,r22 1
49 ret 4
55 clr r6 1 A ← 00000000
56 clr r7 1
57 clr r8 1
58 clr r9 1
71 adc r29,r23 1
72 add r28,r22 1
73 adc r29,r23 1
74 st Y+,r20 2 ξ∗ ← xn , ξ ← ξ +
75 st Y+,r21 2 ξ∗ ← x⊺n , ξ ← ξ +
76 ldi r23,64 1 r ← k = l = − r
77 sub r23,r22 1
85 adc r7,r3 1
86 adc r8,r4 1
87 adc r9,r5 1
112 rol r8 1
113 rol r9 1
120 asr r9 1
121 ror r8 1
Vor dem ersten Aufruf von DuR64 ist das Unterprogramm R64Start zur Initialisierung
der Schlange aufzurufen. Diese besteht darin, den Vektor s mit Nullen zu füllen und der
Variablen r den Wert 65 zuzuweisen. Die Schlange wird daher wie in Abb. 5.14 Mitte ein-
gerichtet. Eine spezielle Lage des Vektors s wird hier nicht benötigt.
Das Unterprogramm R64Mul ab Zeile 34 ist das geringfügig modifizierte Unterpro-
gramm aus Abschn. 6.5 in Abschn. 6.5. Es multipliziert zwei gegebene G -Zahlen in r:
und r: zu einem G -Produkt in r::: .
Das Unterprogramm DoR64 selbst beginnt in Zeile 50. Es benutzt den mit dem Vier-
fachregister r::: gebildeten Akkumulator A zur Berechnung von y n , er wird in den
Zeilen 55–58 mit 00000000 initialisiert. Daraufhin wird Register Z für späteren Zugriff
mit dem Befehl lpm mit der verdoppelten ROM-Adresse des Vektors D geladen. Als Nächs-
tes wird in der Schlange eine Position vorgerückt. Dazu muss die Adresse des neuen xn im
Schlangenvektor s gefunden werden. Das beginnt in Zeile 61 damit, dass Register Y mit
der Anfangsadresse von s geladen wird. Die gesuchte Adresse erhält man daraus durch
Addition von r (s ist ein Vektor aus Doppelbytes), allerdings durch Verwendung des zum
neuen xn gehörigen r. Um dieses neue r zu bestimmen wird in Zeile 63 das alte r in Re-
gister r eingelesen und in der nächsten Zeile um 1 erhöht. Entsteht dabei r = , dann
entspricht die alte Konfiguration der Schlange dem Mittelteil von Abb. 5.14 und es ist die
untere Konfiguration des Bildes herzustellen. Der Test dieser Bedingung wird in Zeile 65
durchgeführt. Ist sie erfüllt, wird die nächste Zeile ausgeführt, die Register r mit 00 lädt,
also r = erzeugt. Ist sie nicht erfüllt, ist der Wert von r in r korrekt und die nächste
Zeile wird übersprungen. Man beachte, dass der Weg von Zeile 65 zu Zeile 68 stets drei
Takte dauert, gleichgültig, welcher der beiden Fälle in Zeile 65 entdeckt wird. Das neue r
wird dann in seine Variable im RAM geschrieben. In den folgenden Zeilen 69–73 wird r
zur Anfangsadresse von s addiert, indem r zweimal addiert wird. Die Null in Register r
wird gebraucht, um die Überträge bei diesen Additionen mitzuaddieren. Das Vorrücken
in der Schlange ist allerdings noch nicht vollendet, das neue xn in r: muss noch an sei-
ne Adresse in s geschrieben werden, was in den Zeilen 74–75 geschieht. Danach enthält
Register Y die Adresse des xn− der neuen Schlangenkonfiguration links von xn .
In den Zeilen 76–78 werden die Vorbereitungen für den Durchlauf des Teilvektors links
von xn durchgeführt, und zwar wird l = − r in r berechnet. Der Inhalt k von r wird
als Schleifenzähler für den Durchlauf benutzt, er wird also mit l vorbelegt. Stellt sich bei der
Berechnung l = heraus, kann die Schleife natürlich in die Zeile 90 übersprungen werden.
Die Register Z und Y enthalten bereits die für den Durchlauf benötigten Startadressen.
Die Schleife beginnt in Zeile 79 damit, dass Register r: mit xn−(+k−l ) und Regis-
ter r: mit dn−(+k−l ) geladen wird. In beiden Fällen wird das Adressenregister parallel
zum Laden zum nächsten Vektorelement weitergeschaltet. Die beiden Zahlen werden dann
miteinander multipliziert und das Produkt zum Akkumulator in Register r::: addiert
334 5 Die Realisierung digitaler Filter mit AVR-Mikrocontrollern
(Zeilen 83–87). Am Ende der Schleife wird der Schleifenzähler k in r wie üblich dekre-
mentiert und bei k > an den Schleifenanfang zurückgesprungen.
Ab Zeile 90 wird der Durchlauf durch den Teilvektor rechts von xn vorbereitet. Register
r wird wieder mit dem Schleifenzähler k belegt, hier aber mit r vorbesetzt. Bei r =
kann die nachfolgende Schleife in die Zeile 106 übersprungen werden. Andernfalls wird
Register Y mit der Anfangsadresse des Vektors s geladen, d. h. mit der Adresse von xn−r .
Register Z enthält bereits die korrekte Adresse, weil der ROM-Vektor strikt vom Ende zum
Anfang durchwandert wird. Die folgende Schleife in den Zeilen 95–105 entspricht völlig
der Schleife der Zeilen 79–89.
Unabhängig davon, wie die beiden Schleifen durchlaufen werden (d. h. ob beide oder
nur eine), Register Z enthält danach die ROM-Adresse6 von dn , das in den Zeilen 106–107
in Register r: geladen wird. Dann wird xn von r: nach r: umgeladen, um mit dem
Unterprogramm R64Mul das Produkt dn xn berechnen zu können. Gemäß (5.17) wird da-
nach die in r::: akkumulierte Summe durch einen Linksshift verdoppelt und das soeben
berechnete Produkt aufaddiert (Zeilen 110–117). Schließlich werden die oberen 16 Bit des
Ergebnisses in Register r: zweimal rechtsgeshiftet, danach enthält das Doppelregister den
ganzzahligen Anteil des G -Ergebnisses (siehe wieder (5.17)). Dieser ganzzahlige Teil ist
gerade das neue y n und wird in seine Variable geschrieben. Das Einschreiben in die Schlan-
ge ist damit abgeschlossen.
Es bleibt noch, die Laufzeit zu bestimmen. Das Taktezählen ist die Einfachheit selbst,
man hat nur darauf zu achten, dass die Taktzahlen der Schleifen mit l bzw. r multipliziert
werden müssen. Die Sprünge werden allerdings nur (l − )-mal bzw. (r − )-mal durch-
geführt. Die scheinbare Abhängigkeit von l und r verschwindet, wenn l + r = beachtet
wird. Man erhält das folgende Ergebnis:
bei l =
bei r =
bei l > und r >
Bei der Programmierung wurde darauf geachtet, für die drei möglichen Ablaufsarten glei-
che Laufzeiten zu erzielen. Dieses Ziel wurde auch nahezu erreicht. Die beiden Takte Un-
terschied dürften nur in den allerwenigsten Fällen stören. Sie sind, falls nötig, wie folgt zu
beseitigen: Der Sprung in Zeile 92 geht zu einer neuen Marke DoR6425 am Ende des Pro-
gramms, dort wird ein relativer Sprungbefehl (z. B. breq) zur Marke DoR6420 in Zeile
106 eingefügt. Der zusätzliche Sprung erbringt die benötigten zwei Takte.
6
Allerdings nach links geshiftet, mit dem Byteindikatorbit im freigewordenen Bit.
Numerische Verfahren zur Filterkonstruktion
6
numerisch auszuwerten. Als Beispiel dient der wesentliche Teil des Integrals (4.54) für
n = , mit der Vorgabe, das Integral mit 12 korrekten Ziffern auszuwerten:
π
∫ A(x) cos(x)dx (6.2)
Die Funktion A ist nach (4.53) und mit Hilfe von (4.51) gegeben durch
+ x (τM τL + τM τH − τL τH )
U(x) =
( + x τL )( + x τH
)
τM − τL − τM − x τL τM τH
V (x) = x
( + x τL )( + x τH
)
√
A(x) = U(x) + V (x)
Die einfachste Methode mit brauchbaren Ergebnissen, ein Integral (6.1) numerisch zu
bestimmen, besteht in der Auswertung der Trapezsumme. Dazu wird das Integrationsin-
tervall [a, b] = {x ∈ R ∣ a ≤ x ≤ b} in n gleich breite Teilintervalle [x ν , x ν+ ] zerlegt:
b−a
h= x ν = a + νh ν ∈ {, , . . . , n} (6.3)
n
Die Trapezsumme Tn zu dieser Zerlegung, die oft auch einfach nur mit T(h) bezeichnet
wird, ist dann die Summe von Approximationen der Fläche unter der Funktionskurve in je-
dem Zerlegungsintervall. Und zwar wird die Approximation mit einem geeignet gewählten
Trapez ausgeführt:
Tn = h ( f (x ) + f (x ) + f (x ) + ⋯ + f (x n− ) f (x n )) (6.4)
Die Trapezsumme an sich ist leicht zu berechnen und zu programmieren, es kann aber ein
Problem sein, die Funktionswerte f (x ν ) an den Auswertungspunkten x ν zu erhalten. Die
Beispielfunktion ist allerdings einfach zu berechnen. Die Trapezsumme als Annäherung
an das Integral (6.1) hat jedoch eine Schwäche: Ihre Genauigkeit wächst im Allgemeinen
nur sehr langsam mit der Anzahl der Teilintervalle n. Wie Tab. 6.1 zeigt, ist diese Schwä-
che beim Beispielintegral vorhanden. Bei n = sind erst zwei und bei n = auch erst
fünf korrekte Ziffern erreicht, und für n = . Teilintervalle sind 12 korrekte Ziffern
noch nicht sicher! Ein Problem ist das allerdings nur, wenn das Berechnen der Funktions-
werte sehr zeitraubend ist, wenn also beispielsweise Reihen mit komplizierten Gliedern
auszuwerten sind. Für die Beispielfunktion gilt das natürlich nicht, bei einem modernen
Laptop erscheint T. nahezu augenblicklich, selbst dann, wenn mit der im Buch durch-
weg verwendeten hochgenauen Dezimalarithmetik (ca. 64 Dezimalstellen) gerechnet wird.
Die Beispielfunktion ist jedoch vergleichsweise eine sehr sehr einfach aufgebaute Funkti-
on, es sind durchaus Rechenzeiten vom Minuten- bis zum Stundenbereich möglich. Es ist
daher eine bessere Methode angesagt.
Die Romberg-Methode zur Approximation von (6.1), die allerdings ausreichende Dif-
ferenzierbarkeitseigenschaften voraussetzt, besteht darin, ausgehend von den Trapezsum-
men Tn , eine Tabelle mit Werten Tν,μ aufzubauen (Tab. 6.2). Die Spalten T●,μ dieser Tabelle
konvergieren gegen das Integral, und zwar wächst die Konvergenzgeschwindigkeit mit μ.
Die erste Spalte der Tabelle wird von den Trapezsummen zur Intervallbreite h = −ν (b − a)
6.1 Das Integrationsverfahren nach Romberg 337
π
Tab. 6.1 Einige Werte der Trapezsumme für ∫ A(x) cos(x)dx
n Tn n Tn
100 0, 14395 17594 3587010− 10000 0, 14125 58760 9104410−
101 0, 14367 10434 0804810− 10001 0, 14125 58760 9314910−
102 0, 14341 89438 0551110− 10002 0, 14125 58760 9525410−
103 0, 14319 25299 7329410− 10003 0, 14125 58760 9735810−
104 0, 14298 91745 5592710− 10004 0, 14125 58760 9946110−
105 0, 14280 65216 6047310− 10005 0, 14125 58761 0156410−
106 0, 14264 24584 2227910− 10006 0, 14125 58761 0366610−
107 0, 14249 50896 0141410− 10007 0, 14125 58761 0576710−
108 0, 14236 27148 7960010− 10008 0, 14125 58761 0786810−
109 0, 14224 38085 6442910− 10009 0, 14125 58761 0996810−
110 0, 14213 70014 4034310− 10010 0, 14125 58761 1206710−
.. .. .. ..
. . . .
1000 0, 14125 48317 9267310− 20000 0, 14125 58839 8645110−
1001 0, 14125 48339 0341810− 20001 0, 14125 58839 8671410−
1002 0, 14125 48360 0782910− 20002 0, 14125 58839 8697710−
1003 0, 14125 48381 0593310− 20003 0, 14125 58839 8724110−
1004 0, 14125 48401 9775410− 20004 0, 14125 58839 8750410−
1005 0, 14125 48422 8331710− 20005 0, 14125 58839 8776710−
1006 0, 14125 48443 6264710− 20006 0, 14125 58839 8803010−
1007 0, 14125 48464 3576910− 20007 0, 14125 58839 8829210−
1008 0, 14125 48485 0270710− 20008 0, 14125 58839 8855510−
1009 0, 14125 48505 6348710− 20009 0, 14125 58839 8881810−
1010 0, 14125 48526 1813310− 20010 0, 14125 58839 8908110−
gebildet, d. h. es ist Tν, = T ν . Die übrigen Spalten Tν,μ , ≤ μ ≤ m, ergeben sich wie folgt:
Tν−,μ− − Tν,μ−
Tν,μ = Tν,μ− − (6.5)
μ−
Lässt man einige Feinheiten außer Acht, dann stellen sich der Umsetzung in ein Programm
sicher keine unüberwindlichen Schwierigkeiten entgegen. Eine der Feinheiten ist die Tat-
sache, dass man eigentlich nur eine Zeile der Tabelle bei ihrer Berechnung mitführen muss,
doch lohnt es sich bei den heutigen Speichergrößen nicht mehr, einen Gedanken daran zu
verschwenden. Eine andere Feinheit ist die weitere Tatsache, dass bei der Berechnung von
Tν, die Hälfte der dafür benötigten Funktionswerte schon bekannt ist. Sollte die Berech-
nung der Tabelle unerträglich lange dauern, kann man diese Tatsache berücksichtigen.
Die Tab. 6.3 zeigt ein kleines Romberg-Tableau für das Beispielintegral. Mit den Werten
n = und m = scheinen schon vier wesentliche Ziffern korrekt zu sein. Zu beachten
ist allerdings, dass für n = die Trapezsumme T zu berechnen ist! Es sollte daher m
so groß wie möglich gewählt werden, weil der Aufwand zur Berechnung der Tν,μ , μ > ,
gegenüber dem Aufwand zur Berechnung der Tν, vernachlässigbar ist.
Man kann so vorgehen, dass ein Tableau für ein bestimmtes m und n = m + berechnet
wird. Mit den letzten drei Elementen der Spalte T●,m , also mit Tm,m , Tm+,m und Tm+,m ,
kann man die Genauigkeit der Approximation gut abschätzen. Reicht die erhaltene Anzahl
der korrekten wesentlichen Ziffern noch nicht aus, wird m um einen Betrag erhöht, der
grob von der erreichten bereits erreichten Genauigkeit abhängt.
Das Beispielintegral mit seiner stark oszillierenden Funktion gehört sicher nicht zu den
mit Leichtigkeit berechenbaren Integralen, daher sollte m etwas größer gewählt werden,
z. B. m = . Das ergibt die drei Approximationen in Tab. 6.4. Zehn wesentliche Ziffern
sind schon mit Sicherheit korrekt, bei den Ziffern elf und zwölf sind jedoch noch Zweifel
angebracht. Das Tableau wird deshalb für m = noch einmal berechnet (Tab. 6.5), mit
dem Ergebnis, dass sämtliche 15 Ziffern von T, schon korrekt waren.
Nach Abschn. 3.12 kann man bei einem LSI-System mit rationaler Systemfunktion anhand
der Pole der Systemfunktion feststellen, ob das System stabil ist. Zur Untersuchung der
Stabilität sind also die Nullstellen eines Polynoms zu finden. Solche Untersuchungen sind
insbesondere dann angesagt, wenn ein Filter (mit bekannten Eigenschaften) in AVR-Code
realisiert werden soll. Durch die dann notwendige Digitalisierung des Filters entsteht ein
neues Filter, dessen Stabilität besonders dann zu testen ist, wenn die Pole des ursprüngli-
chen Filters dicht am Rand des Einheitskreises liegen.
Nun ist die Bestimmung aller Nullstellen eines Polynoms keine ganz einfache Angele-
genheit und kann an dieser Stelle nicht gründlich erörtert werden (siehe dazu z. B. [Wilk]).
Glücklicherweise können die Pole eines LSI-Filters keine beliebige Lage in der komplexen
Ebene annehmen, sondern deren Lagen sind durch die Eigenschaften der Systemfunktion
beschränkt: Pole, die nicht auf der reellen Achse liegen, treten stets in konjugierten Paa-
ren auf, liegen also symmetrisch zur reellen Achse: Ist p = px + i py ein Pol, dann auch
p = px − i py . Das Nennerpolynom P der Systemfunktion eines Filters vom Grad m = k
besitzt daher k Paare konjugierter Nullstellen, ein Polynom vom Grad m = k + besitzt
noch eine Nullstelle auf der reellen Achse.
Bei einem Polynom mit solcher Nullstellenstruktur liefert der Quotienten-Differenzen-
Algorithmus zuverlässig alle Nullstellen. Er ist allerdings recht langsam, was bei einem
Algorithmus mit diesem Leistungsumfang auch zu erwarten ist, was sich bei dem beschrie-
benen Einsatzzweck aber wohl kaum störend auswirkt. Er gibt jedoch, falls größere Ge-
nauigkeit gewünscht wird, ausgezeichnete Startwerte für schnellere Algorithmen. In vielen
Fällen genügen aber schon wenige bekannte Dezimalstellen einer Nullstelle, um das Filter
beurteilen zu können.
Mit dem QD-Algorithmus wird ein Tableau aufgebaut, dessen Spalten abwechselnd mit
Quotienten und Differenzen berechnet werden, daher also der Name. Die mit Hilfe von
Differenzen gebildeten Spalten konvergieren entweder direkt gegen eine Nullstelle oder
sie werden paarweise kombiniert, um die Koeffizienten eines quadratischen Polynoms zu
liefern, das ein Teiler besagten Polynoms ist und ein konjugiertes Nullstellenpaar liefert. An
den mit Quotienten gebildeten Spalten kann abgelesen werden, welcher der beiden Fälle
eintritt.
Es ist also ein Polynom vom Grad m mit reellen Koeffizienten v μ gegeben, für die zu-
nächst v μ ≠ gelten soll:
Als Beispiel wird das Nennerpolynom N der Systemfunktion des Filters B aus Ab-
schn. 4.3.2 gewählt. Seine Koeffizienten sind gegeben durch
vm−1
· − · 0 · 0 · 0 · ··· · 0 ·
vm
vm−2 vm−3 vm−4 v0
0 · · · · ··· · · 0
vm−1 vm−2 vm−3 v1
· q11 · q12 · q13 · q14 · ··· · q1m ·
0 · e11 · e12 · e13 · ··· · e1,m−1 · 0
· q21 · q22 · q23 · q24 · ··· · q2m ·
0 · e21 · e22 · e23 · ··· · e2,m−1 · 0
· q31 · q32 · q33 · q34 · ··· · q3m ·
0 · e31 · e32 · e33 · ··· · e3,m−1 · 0
· q41 · q42 · q43 · q44 · ··· · q4m ·
0 · e41 · e42 · e43 · ··· · e4,m−1 · 0
· q51 · q52 · q53 · q54 · ··· · q5m ·
0 · e51 · e52 · e53 · ··· · e5,m−1 · 0
· q61 · q62 · q63 · q64 · ··· · q6m ·
0 · e61 · e62 · e63 · ··· · e6,m−1 · 0
.. .. .. .. ..
· . · . · . · . · . ·
.. .. .. .. .. ..
. · . · . · . · . · .
· qn1 · qn2 · qn3 · qn4 · ··· · qnm ·
0 en1 en2 en3 en,m 1 0
Der Aufbau des Tableaus erfolgt von oben her, und nicht von der Seite, um Auslöschung bei
Differenzenbildung zu vermeiden. Trotzdem sollten die Rechnungen mit möglichst großer
Stellenzahl durchgeführt werden. Das Tableau enthält n Zeilen und m + Spalten, deren
Elemente so angeordnet sind wie in Abb. 6.1 gezeigt. Die ersten (oberen) zwei Zeilen wer-
den mit Hilfe der Koeffizienten des Polynoms gefüllt, hier liegt auch die Ursache für die
Forderung, dass die Koeffizienten v bis v m von Null verschieden sein müssen. Im Prinzip
ist v = möglich, doch wäre dann z = eine Nullstelle und man könnte den Grad des
Polynoms um 1 verkleinern. Die folgenden Zeilen des Tableaus werden nach den Rhom-
busregeln1 ermittelt:
q ν+,μ+
q ν+,μ = (e ν μ − e ν,μ− ) + q ν μ e ν+,μ = eν μ (6.7)
q ν+,μ
In den inneren Spalten des Schemas bilden die Punkte jeweils den Mittelpunkt eines Rhom-
bus. Liegt der Rhombusmittelpunkt in einer q-Zeile, dann haben die Tabellenelemente an
den Enden der unteren linken Seite dieselbe Summe wie die Tabellenelemente an den En-
den der rechten oberen Seite des Rhombus. Liegt der Rhombusmittelpunkt dagegen in
einer e-Zeile, dann haben die Tabellenelemente an den Enden der unteren linken Seite
1
Ein Rhombus ist ein Parallelogramm mit gleich langen Seiten.
6.2 Der QD-Algorithmus zur Nullstellenbestimmung 341
dasselbe Produkt wie die Tabellenelemente an den Enden der rechten oberen Seite des
Rhombus. Beispielsweise bildet q die obere, e die linke, e die rechte und q die unte-
re Ecke eines Rhombus, und q wird mit den übrigen drei Ecken des Rhombus nach der
additiven Regel bestimmt: q = (e − e ) + q . Die e ν μ werden mit den darüberliegen-
den drei Rhombusecken nach der multiplikativen Regel berechnet, in der gegenüber der
additiven Regel die Differenz durch einen Quotienten und die Addition durch eine Mul-
tiplikation ersetzt werden. Beispielsweise gilt für den Rhombus, dessen obere Ecke von e
gebildet wird, die Gleichung e q = e q .
Zerfällt das Polynom P vollständig in R, hat P genau m reelle Nullstellen, dann kön-
nen diese Nullstellen direkt dem Tableau entnommen werden. Das typische Polynom einer
Systemfunktion eines Filters hat jedoch(auch) in R irreduzible quadratische Polynome als
Teiler, d. h. quadratische Polynome ohne reelle Nullstellen, und es ist weitere Rechenarbeit
nötig, um dieses Polynom zu bestimmen. Man kann sich nach zwei Faustregeln richten:
QD1: Eine q-Spalte, die von zwei gegen Null konvergierenden e-Spalten flankiert wird,
konvergiert gegen eine reelle Nullstelle von P.
QD2: Konvergiert eine e-Spalte nicht gegen Null, dann können aus den beiden flankie-
renden q-Spalten (die selbst nicht konvergieren) zwei konvergierende Zahlenfolgen
gebildet werden, deren Grenzwerte die Koeffizienten eines quadratischen Teilerpo-
lynoms von P sind.
Als ein einfaches Beispiel für die erste Faustregel kann das bereits in R vollständig zerfal-
lende Polynom P(x) = x − x + x − = (x − )(x − )(x − ) dienen. Die ersten neun
Zeilen seines QD-Tableaus sind in Abb. 6.2 wiedergegeben. Die drei q-Spalten des Tableaus
342 6 Numerische Verfahren zur Filterkonstruktion
sind von gegen Null konvergierenden e-Spalten umgeben, wobei die beiden Außenspalten
natürlich als solche mitzählen. Sie konvergieren offensichtlich gegen 3, 2 und 1, wenn auch
recht langsam. Man erhält so aber sehr gute Ausgangsnäherungen für schnellere Verfahren.
Für das Verfahren von Newton z. B. hat man
P(x) x k − x k + x k −
x = q x k+ = x k − = x k − (6.8)
P ′ (x) x k − x +
und erhält nach nur einer Iteration des Verfahrens das Ergebnis
Die erste Faustregel führt also direkt zu einer reellen Nullstelle. Was bei Anwendung der
zweiten Faustregel auf eine nicht gegen Null konvergierende e-Spalte und ihre benachbar-
ten q-Spalten zu geschehen hat, wird am Beispiel des Polynoms
mit der einen reellen Nullstelle 1 und den beiden Nullstellen i + und i − gezeigt. Das
Tableau in Abb. 6.3 enthält auch tatsächlich eine von zwei gegen Null konvergierenden e-
Spalten flankierte q-Spalte (Die Randspalten werden nicht mehr gezeigt) und eine nicht
gegen Null konvergierende e-Spalte. Die Spalte q● konvergiert offensichtlich gegen die
einzelne reelle Nullstelle 1. Dagegen zeigen die drei Spalten q● , e● und q● keinerlei Kon-
vergenzverhalten. Wie aber oben schon erwähnt, lassen sich aus den q-Spalten zwei kon-
vergente Zahlenfolgen bilden, deren Grenzwerte zu den gesuchten Nullstellen führen. Es
sei dazu e●μ eine nicht gegen Null konvergierende e-Spalte des Tableaus, ≤ μ ≤ m − . Die
flankierenden q-Spalten sind q●μ und q●,μ+ . Die beiden durch
gebildeten Zahlenfolgen (r ν μ )ν≥ und (s ν μ )ν≥ konvergieren dann, etwa mit den Grenz-
werten
lim r ν μ = r μ lim s ν μ = s μ (6.10)
ν→∞ ν→∞
Damit sind die beiden gesuchten Nullstellen des Polynoms P als die Nullstellen des folgen-
den Polynoms gegeben:
Pμ (z) = z − r μ z + s μ (6.11)
Sie lassen sich mit den schon von der Schule her bekannten Formeln leicht angeben:
√ √
w μ = (r μ + r μ − s μ ) w μ = (r μ − r μ − s μ ) = w μ (6.12)
Die beiden Folgen des Beispielpolynoms sind in Abb. 6.4 zu sehen. Weitere Rechnungen
sind hier nicht nötig, es ist offensichtlich r = s = . Im Normalfall wird es allerdings nötig
6.2 Der QD-Algorithmus zur Nullstellenbestimmung 343
sein, eine oder zwei Iterationen des Newton-Verfahrens durchzuführen, natürlich mit den
Näherungslösungen (6.12) als Startwerte für das ursprünglichen Polynom P, nicht mit Pμ ,
dessen Koeffizienten nur annähernd bekannt sind. Das Newton-Verfahren kann auch mit
komplexen Zahlen durchgeführt werden. Hier erhält man jedenfalls das Polynom P (z) =
z − z + mit den beiden schon bekannten Nullstellen i + und i − .
Wie oben angekündigt wird jetzt die Lage der Pole der Systemfunktion des Filters B
bestimmt, also die Lage der Nullstellen des Nennerpolynoms N der Systemfunktion (sie-
he Abschn. 6.2). Das QD-Tableau von N ist für n = in Abb. 6.5 wiedergegeben. N hat
den Polynomgrad 4, folglich sind drei Kombinationen für die Nullstellen möglich: Im ers-
344 6 Numerische Verfahren zur Filterkonstruktion
ten Fall hat N vier reelle Nullstellen, im zweiten Fall hat N zwei reelle Nullstellen und eine
komplex konjugiertes Nullstellenpaar, und drittens sind zwei Paare konjugierter Nullstellen
möglich. Neben den Außenspalten enthält das Tableau nur noch eine gegen Null konvergie-
rende e-Spalte, nämlich e● , es gibt daher keine q-Spalte mit gegen Null konvergierenden
e-Spalten als Nachbarn, und das bedeutet, dass das Polynom N keine reelle Nullstellen be-
sitzt. Folglich tritt der dritte Fall ein, d. h. N besitzt zwei konjugierte Paare von Nullstellen.
Die e-Spalte e● enthält keine Nullfolge, also repräsentieren die q-Spalten q● und q● ein
Nullstellenpaar, das andere Nullstellenpaar wird von den q-Spalten q● und q● repräsen-
tiert, welche die nicht gegen Null konvergierende e-Spalte e● flankieren. Die tatsächlich
gegen Null konvergierende e-Spalte e● ist im Tableau ohne Bedeutung, weil weder e● noch
e● eine gegen Null konvergierenden e-Spalte ist.
Die den q-Spalten zugehörigen Werte der Zahlenfolgen r● , s● , r● und s● sind in
Abb. 6.6 aufgelistet. Bei näherer Betrachtung wird offensichtlich, dass die Konvergenz der
Folgen noch nicht eingesetzt hat, die Werte oszillieren beträchtlich, und das bedeutet, dass
r , , s , , r , und s , noch keine brauchbaren Startwerte für die (jeweiligen) Polynom-
koeffizienten r , s , r und s sein können. Geht man trotzdem von diesen Startwerten aus,
in der Hoffnung, brauchbare Werte für die Koordinaten eines der Pole zu bekommen, setzt
man also z. B. r = r , und s = s , und löst das zugehörige quadratische Gleichungssys-
tem mit (6.12), dann bekommt man die Nullstellen
Es genügt natürlich, eine der beiden Nullstellen, etwa die erste, als Startwert für
den Newton-Algorithmus zur Bestimmung einer Nullstelle von N, und zwar mit N
und nicht mit N , zu verwenden. Das Newton-Verfahren steht schon nach dem ersten
6.2 Der QD-Algorithmus zur Nullstellenbestimmung 345
Abb. 6.5 Das QD-Tableau für das Nennerpolynom N der Systemfunktion von B
Schritt:
Unter der Annahme, dass die Anfangswerte gut genug waren, sind also zwei der gesuchten
Pole der Systemfunktion gegeben durch
Es bleiben allerdings Zweifel, die nach nochmaligem Studium von Abb. 6.6 stärker werden.
Die Schwankungen sind sehr stark und es deutet nichts darauf hin, dass sie bei ν = nach-
gelassen hätten. Die Rechnungen werden deshalb noch einmal durchgeführt, und zwar mit
bedeutend höherem n, nämlich mit n = , in der Hoffnung, dass diese Zahl groß genug
ist, um die Frage nach der Konvergenz eindeutig beantworten zu können. Wie Abb. 6.7
346 6 Numerische Verfahren zur Filterkonstruktion
zeigt, trügt diese Hoffnung nicht! Alle Spalten streben definitiv einem Grenzwert zu, wenn
auch sehr sehr langsam. r , , s , , r , und s , sind jetzt exzellente Startwerte für die
(jeweiligen) Polynomkoeffizienten r , s , r und s . Setzt man r = r , und s = s ,
und löst das zugehörige quadratische Gleichungssystem mit (6.12), dann bekommt man
die Nullstellen
Auch hier steht das Newton-Verfahren schon nach dem ersten Schritt:
Zwei der gesuchten Pole der Systemfunktion sind daher gegeben durch
Um die Koordinaten der beiden restlichen Pole zu bekommen setzt man r = r , und
s = s , und löst das zugehörige quadratische Gleichungssystem
P (z) = z − r z + s =
Wie es zu erwarten war steht auch hier das Newton-Verfahren schon nach dem ersten
Schritt:
Die restlichen beiden der gesuchten Pole der Systemfunktion sind daher gegeben durch
Die gefundenen Pole sind doppelte Pole, das erklärt, weshalb der QD-Algorithmus Schwie-
rigkeiten hat (Abb. 6.6), sie zu trennen. Dass oben bei der ersten Berechnung ein falscher
Pol herauskam zeigt, dass die Spalten der r ν μ und s ν μ mehr als ein vages Konvergenzver-
halten erkennen lassen müssen.
Die beiden Poleder Systemfunktion haben den Betrag ∣w ∣ = ∣w ∣ ≈ , und liegen
damit gut im Inneren des Einheitskreises (siehe Abb. 6.8).
348 6 Numerische Verfahren zur Filterkonstruktion
w10 w30
−1 1
w11 w31
−i
Die in Abschn. 4.9 behandelte Methode zur Konstruktion eines digitalen Filters ist nach
dem Mathematiker Padé benannt. Padé starb allerdings schon im Jahre 1953 im hohen
Alter und konnte daher noch keinen Beitrag zur Theorie der digitalen Filter leisten. tatsäch-
lich ist die Methode nur deshalb nach ihm benannt, weil das zentrale Gleichungssystem in
Abschn. 4.9 formal identisch ist mit dem Gleichungssystem, auf das man geführt wird,
wenn die Padésche Tafel einer Funktion berechnet werden soll. Diese Tafel dient zur Ap-
proximation von reellen oder komplexen Funktionen und hat nur indirekt einen Nutzen für
die Konstruktion digitaler Filter, nämlich dann, wenn – wie in Abschn. 4.8 – das Integral ei-
ner Funktion numerisch zu bestimmen ist. Die Padé-Approximation führt bei Funktionen,
die in eine Potenzreihe entwickelt werden können, im Allgemeinen zu besseren Ergebnis-
sen als das einfache Abschneiden der Potenzreihe, weshalb sie hier kurz vorgestellt wird.
Beispielsweise erhält man für die Exponentialfunktion die Approximation
+ x + x
E(x) = ,
− x + x
∞
P(x) = ∑ p ρ x ρ = p + p x + ⋯ + p ρ x ρ + ⋯ (6.13)
ρ=
6.3 Die Padésche Tafel 349
Für μ, ν ∈ N – die Padésche Tafel ist also unendlich! – sind nun ein Polynom U P
μν vom Grad
P
μ und ein Polynom V μν vom Grad ν gesucht mit der Eigenschaft
P(x)V P P P
μν (x) − U μν (x) = Q μν (x)
∞ (6.14)
= ∑ q ρ x ρ = q μ+ν+ x μ+ν+ + q μ+ν+ x μ+ν+ + ⋯
ρ=μ+ν+
Das formale Produkt der Potenzreihe P mit dem Polynom V P μν ergibt wieder eine formale
Potenzreihe, von der durch formale Subtraktion des Polynoms U P μν zu einer Potenzreihe
QPμν übergegangen wird, in der die Potenzen x
bis x μ+ν
unterdrückt sind. Es ist dann
∞
UP
μν (x) ∑ρ= q μ+ν++ρ x ρ
P(x) − = x μ+ν+ (6.15)
VP
μν (x) VP
μν (x)
Ist die Potenzreihe P konvergent und kann der Quotient auf der rechten Seite von (6.15)
für ∣x∣ < durch eine Konstante nach oben abgeschätzt werden, dann ist in diesem Bereich
durch die rationale Funktion
UPμν (x)
TPμν (x) = P
(6.16)
V μν (x)
eine Approximation an die von P repräsentierte Funktion P gegeben. Die Padésche Tafel
besteht nun gerade aus den Tafelbrüchen T Pμν . Man kann sich in der Regel auf die Tafelbrü-
che mit μ = ν oder ∣μ − ν∣ = konzentrieren, sie haben die besten Eigenschaften.
Es geht nun darum, das Zählerpolynom U P P
μν und das Nennerpolynom V μν des Tafel-
bruchs, und das bedeutet ihre Koeffizienten, zu bestimmen:
μ ν
UP
μν (x) = ∑ u ρ x
ρ
VP
μν (x) = ∑ v ρ x
ρ
ρ= ρ=
Das geschieht natürlich mit (6.14). Nach der Durchführung der formalen Rechnungen auf
der linken Seite werden die Koeffizienten der Potenzreihen auf der linken und rechten Seite
von (6.14) verglichen. Das führt auf das folgende System von linearen Gleichungen:
u = p v
u = p v + p v
⋯ (6.17)
u ν− = p ν− v + p ν− v + ⋯ + p ν−μ+ v μ
u ν = p ν v + p ν− v + ⋯ + p ν−μ v μ
350 6 Numerische Verfahren zur Filterkonstruktion
= p ν+ v + p ν v + ⋯ + p ν−μ+ v μ
= p ν+ v + p ν+ v + ⋯ + p ν−μ+ v μ
⋯ (6.18)
= p ν+μ− v + p ν+μ− v + ⋯ + p ν− v μ
= p ν+μ v + p ν+μ− v + ⋯ + p ν v μ
Darin sei p ρ = gesetzt für ρ < . Das Gleichungssystem (6.17)–(6.18) ist formal identisch
mit dem Gleichungssystem (4.63) in Abschn. 4.9. Aus dieser Tatsache leitet sich der Na-
me des dort beschriebenen Verfahrens ab, die Padésche Methode zur Konstruktion eines
digitalen Filters stammt also nicht von Padé.
Zu dem homogenen System (6.18) gehören die μ + unbekannten v bis v μ , das System
besitzt aber nur μ Gleichungen. Man kann daher über eine Unbekannte verfügen. Setzt
P
man z. B. v = , dann ist V P
μν mit Sicherheit nicht das Nullpolynom, die Tafelbrüche T μν
sind damit stets definiert.
Für den Fall μ = ν = kann die allgemeine Lösung des Systems direkt aus Abschn. 4.9
übernommen werden. Man erhält
v = u = p v
p p p − p p
v = − − u = p v + p v
p p p − p p
p − p p
v = u = p v + p v + p v
p − p p
∞
n (−)ν
Jn (x) = ( ) J n (x) = ∑ ν x ν (6.19)
x ν= ν!(ν + n)!
Darin ist J n die Besselfunktion zur ganzzahligen Ordnung n. Die Besselfunktionen wer-
den in Wissenschaft und Technik oft eingesetzt und sind daher vielmals tabelliert und
approximiert worden. Über ihre Eigenschaften kann man sich in [AbSt] oder in [MOS]
informieren.
Ausgangspunkt zur Bestimmung des Tafelbruchs T J ist die Potenzreihe J :
∞
(−) ρ
J (x) = ∑ x ρ (6.20)
ρ= ρ!(ρ + )!
ρ
Die für den Tafelbruch benötigten Koeffizienten p bis p sind daher gegeben durch
p = p = p = − p = p =
! × ! × !
6.3 Die Padésche Tafel 351
−10 −9 −8 −7 −6 −5 −4 −3 −2 −1 1 2 3 4 5 6 7 8 9 10
−
Setzt man die Koeffizienten in die Lösungsformeln für das × -Gleichungssystem ein,
erhält man die folgende Lösung:
v = u =
!
v = u =
v = − u = −
× !
Nach etwas Verschönerungsrechnen ergibt sich daraus der gesuchte Tafelbruch als
− x
TJ
(x) =
. (6.21)
− x
Ein Blick auf Abb. 6.9 lässt erkennen, dass J und damit auch J im Bereich − ≤ x ≤
leicht zu approximierende Funktionen sind. Der Aufwand über den Tafelbruch zum Zwe-
cke der Approximation in diesem Bereich lohnt daher nicht, denn rationale Funktionen
als Approximanten können ihre größere Flexibilität erst dann ausspielen, wenn der Appro-
ximationsbereich von einer Singularität (z. B. einem Pol) beeinflusst wird. Tatsächlich ist
die Approximationsleistung von T J auch nur mäßig (siehe Abb. 6.10), man erhält eine
Approximation mit beträchtlich kleinerem Fehler durch das Abbrechen der Potenzreihe
schon nach dem zweiten Glied. Aber der Approximationszweck des Tafelbruchs ist hier
eben nur ein Nebenaspekt.
Abschließend noch ein Hinweis: Zur Berechnung der Besselfunktionen von ganzzahli-
ger Ordnung mit großer Genauigkeit hat sich die folgende Integraldarstellung bewährt:
π
J n (x) = ∫ cos(x sin(ϑ) − nϑ)dϑ (6.22)
π
352 6 Numerische Verfahren zur Filterkonstruktion
10− δ1
δ2
10−
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
Mit größer werdendem x steigt der Aufwand. Für x = bekommt man mit n = und
m = noch
J () ≈ −,
J () ≈ −,
eine Vergrößerung von n und m bringt keine Verbesserung der Genauigkeit mehr.
6.4 Partialbruchzerlegung
Das ist besonders einfach bei komplexen Polynomen, weil diese vollständig in ein Produkt
von Linearfaktoren (d. h. von Polynomen vom Grad 1) zerfallen. Ein Beispiel für solch eine
Zerlegung ist
i i
= − + −
z − z− z+ z− i z+i
P(z) = p + p z + p z + ⋯ + p m z m (6.23)
Q(z) = q + q z + q z + ⋯ + q n z
n
(6.24)
Es gilt also m < n und n ≥ . Q zerfällt als komplexes Polynom vollständig in Linearfakto-
ren:
Es gibt nun eindeutig bestimmte komplexe Zahlen c κν , κ ∈ {, . . . , k}, ν ∈ {, . . . , n k }, mit
k nk
P(z) c κν
= ∑∑ (6.26)
Q(z) κ= ν= (z − r κ )ν
P(z) c c c c c
= + + + +
Q(z) z − r (z − r ) z − r (z − r ) (z − r )
Die Koeffizienten c κν können über Grenzprozesse gewonnen werden, man kann sie aber
auch, wie es hier geschehen soll, als Lösung eines linearen Gleichungssystem erhalten. Die
Partialbruchzerlegung wird so numerisch zugänglich, was auch unbedingt erforderlich ist,
weil die Nullstellen r κ in der Praxis der digitalen Filter oft numerisch bestimmt werden
müssen.
Um das Gleichungssystem für die Koeffizienten zu erhalten wird jeder Summand
in (6.26) so mit einem Polynom Q κν erweitert, dass die Summanden den gemeinsamen
Nenner Q(z) haben:
P(z) k nk
c κν Q κν (z) k nk
= ∑∑ oder P(z) = ∑ ∑ c κν Q κν (z) (6.27)
Q(z) κ= ν= Q(z) κ= ν=
Q κν (z) ist ein Produkt von Faktoren (z − r i ) j . Das Polynom auf der rechten Seite der Glei-
chung wird nach Potenzen von z zusammengefasst, der Vergleich der sich so ergebenden
354 6 Numerische Verfahren zur Filterkonstruktion
P(z) = p + p z + p z + p z
Q(z) = (z − r ) (z − r )
P(z) c c c c
= + + +
Q(z) z − r (z − r ) z − r (z − r )
Erweitern mit diesen Polynomen und Weglassen von Q führt daher auf die Polynomglei-
chung
P(z) = c (z − r )(z − r ) + c (z − r ) + c (z − r ) (z − r ) + c (z − r )
Die rechte Seite wird nun ausmultipliziert und nach Potenzen von z geordnet. Dann liefert
der Koeffizientenvergleich dieses lineare Gleichungssystem für die c κν :
p = −r r c + r c − r r c + r c
p = (r r + r )c − r c + (r r + r )c − r c
(6.28)
p = −(r + r )c + c − (r + r )c + c
p = c + c
In dem häufig auftretenden Fall, dass das Polynom Q nur einfache Nullstellen besitzt,
kann das Gleichungssystem ohne große Mühe (d. h. mit geringer Rechenleistung) in voller
Allgemeinheit bestimmt werden. Es gilt also n = ⋯ = n k = , weshalb einfach c κ statt c κ
geschrieben wird. Für k = führt das nur aus Linearfaktoren bestehende Polynom
Die Erweiterungen der Summanden auf der rechten Seite auf den gemeinsamen Nenner
Q(z) erbringt die Polynomgleichung
p = c + c + c
−p = (r + r )c + (r + r )c + (r + r )c
p = r r c + r r c + r r c
Für k = geht man entsprechend vor und erhält das folgende Gleichungssystem:
p = c + c + c + c
−p = (r + r + r )c + (r + r + r +)c + (r + r + r )c + (r + r + r )c
p = (r r + r r + r r )c + (r r + r r + r r )c
+ (r r + r r + r r )c + (r r + r r + r r )c
−p = r r r c + r r r c + r r r c + r r r c
Die beiden Fälle k = und k = reichen aus, um auf das Bildungsgesetz der Koeffizienten
des Gleichungssystems für allgemeines k zu schließen, und zwar k = als Vorbild für
ungerades und k = als Vorbild für gerades k.
Als Beispiel werden die beiden Polynome P(z) = und Q(z) = z − herangezogen.
Die Nullstellen von Q sind sehr leicht zu erraten als r = , r = −, r = i und r = −i, es
ist daher Q(z) = (z − )(z + )(z − i)(z + i). Man erhält folgendes Gleichungssystem:
= c + c + c + c
= c − c + ic − ic
= c + c − c − c
− = c − c − ic + ic
P V
P = QU + V oder =U+ (6.31)
Q Q
Das Polynom V hat einen kleineren Grad als das Polynom Q, die aus V und Q gebildete
rationale Funktion hat daher eine wie oben beschriebene Partialbruchzerlegung. In dem
Fall, dass P und Q denselben Grad besitzen (d. h. bei n = m) degeneriert das Polynom U
zur Konstanten u .
Die Polynome U und V können mit der bekannten Polynomdivision berechnet werden.
In der Praxis sind die Koeffizienten der Polynome allerdings oft von einem Programm be-
rechnet worden und sind numerisch gegeben. Ist das der Fall, dann können die beiden
Polynome mit einem Programm berechnet werden, das von dem folgenden Algorithmus
abgeleitet ist:
1 for k = m − n downto 0 do
2 uk ← pn+k
3 for j = n + k − 1 downto k do
4 pj ← pj − uk qj−k
5 end
6 end
Der Algorithmus überschreibt p bis p n− mit v bis v n− . Zu beachten ist, dass q =
vorausgesetzt wird! Ist das nicht gegeben, dann ist die zweite Zeile wie folgt zu ersetzen:
p n+k
uk ←
qn
Als numerisches Beispiel wird die Systemfunktion der Bessel-Bandsperre vierten Grades
B aus Abschn. 4.3.2 herangezogen. Hier ist n = m = , und die Koeffizienten sind gegeben
durch
p = , q = ,
p = −, q = −,
p = , q = ,
p = −, q = −,
p = , q =
Weil das Zähler- und das Nennerpolynom von demselben Grad sind, sind mit dem oben
angegebenen Algorithmus ein Polynom U vom Grad 0 und ein Polynom V vom Grad 3 zu
finden, für die (6.31) gilt. Das Ergebnis ist
u = ,
v = −,
6.5 Der Einsatz von Fixkommaarithmetik 357
v = ,
v = −,
v = ,
Eine in einem Computerwort gespeicherte Bitfolge, etwa 1011 1101, kann viele verschie-
dene Bedeutungen haben. Geht es um numerische Bedeutungen, so kann man sich mit
Vorteil einer Darstellungsfunktion2 bedienen, um den numerischen Wert der Bitfolge zu
bezeichnen. Die einfachste Darstellungsfunktion für Bitfolgen bn− ⋯b b ist
n−
Kn (bn− ⋯b ) = ∑ bν ν , (6.32)
ν=
K (1011) = × + × + × + × = + + =
Die Sache wird komplizierter, wenn auch negative Zahlenwerte dargestellt werden sol-
len. Hier hat man zwar prinzipiell die Wahl unter einer Vielzahl von Darstellungen, aber
bei Mikroprozessoren und Mikrocontrollern wird nahezu ausnahmslos die Darstellung
im Zweierkomplement verwendet. Diese Zweierkomplementdarstellung einer Bitfolge
bn− ⋯b b ist
n−
Gn (bn− ⋯b ) = −bn− n− + ∑ bν ν (6.33)
ν=
Z. B. ist G (10000001) = − + = − und G (11111111) = − + ∑ν= ν = − + − =
−. Man vergleiche mit den natürlichen Werten dieser Bitfolgen, nämlich K (10000001) =
und K (11111111) = .
Um die Anzahl der Symbole nicht ausufern zu lassen kann die Menge der mit Gn dar-
stellbaren ganzen Zahlen ebenfalls mit Gn bezeichnet werden, Verwechslungen sind nicht
zu befürchten. Es ist daher x ∈ Gn genau dann, wenn es eine Bitfolge b = bn− ⋯b gibt mit
x = Gn (b). An (6.33) kann abgelesen werden, dass das kleinste Element von Gn mit der
Bitfolge 100⋯00 und das größte mit 011⋯11 dargestellt wird:
2
Fixkommaarithmetik mit AVR wird ausführlich mit vielen Programmen in [Mss] behandelt.
358 6 Numerische Verfahren zur Filterkonstruktion
Leider ist die Menge Gn nicht symmetrisch bezüglich Null, denn es ist ja −n− ∈ Gn , aber
−(−n− ) = n− ∉ Gn .
Die Darstellungsfunktion Kn,m gestattet auch die Darstellung rationaler Zahlen, die
einen gebrochenen Anteil besitzen. Sie ist wie folgt definiert:
n−
Kn,m (bn− ⋯b−m ) = ∑ bν ν . (6.35)
ν=−m
Oder ausgeschrieben
Die Zahl n in Kn,m bedeutet offenbar die Anzahl der Binärziffern vor dem Binärkomma,
und m ist die Zahl der Binärziffern hinter dem Binärkomma. Insbesondere ist Kn, = Kn ,
und K,m stellt Zahlen dar, die nur einen gebrochenen Anteil besitzen.
Kn,m sei auch wieder die Menge der rationalen Zahlen, die mit Kn,m dargestellt werden
können. Weil offensichtlich der größte Darstellungswert für das Bitmuster aus lauter Einsen
erhalten wird, lassen sich die Grenzen von Kn,m leicht angeben:
n− n− − m
≤ Kn,m (bn− ⋯b−m ) ≤ ∑ ν = ∑ ν + ∑ ν = n + ∑ −ν − = n −
ν=−m ν= ν=−m ν= m
In Abb. 6.11 ist die Menge K, auf die Zahlengerade aufgetragen. Es veranschaulicht die
Tatsache, dass die Elemente von Kn,m ein Zahlengitter mit der Gitterbreite −m bilden.
Der nächste Schritt gibt nun die Darstellungsfunktion Gn,m , die auch negative rationale
Zahlen mit gebrochenem Anteil erfasst:
n−
Gn,m (bn− ⋯b−m ) = −bn− n− + ∑ bν ν (6.36)
ν=−m
⎧
⎪ n−
⎪∑ bν ν falls bn− =
Gn,m (bn− ⋯b−m ) = ⎨ ν=−m (6.37)
⎪ n−
⎩∑ν=−m bν −
⎪ falls bn− =
ν n−
Betrachtet man (6.36) etwas genauer, so erkennt man, dass man man die kleinste darstellba-
re Zahl für die Bitfolge b = 10⋯0 und die größte darstellbare Zahl für die Bitfolge b = 01⋯1
6.5 Der Einsatz von Fixkommaarithmetik 359
so ist bezüglich Gn,m ein Überlauf eingetreten. Das Operationsergebnis x ∗ y hat das
Intervall, in dem alle mit Gn,m darstellbaren Zahlen liegen, nach oben oder nach unten
verlassen. Das ist gewöhnlich eine Fehlerbedingung, manchmal ist es aber auch sinnvoll,
das übergelaufene Ergebnis einfach durch die jeweils kleinste oder größte darstellbare Zahl
zu ersetzen. Dieser Vorgang heißt Sättigung. Ein Beispiel dazu kann in der Computergra-
phik bei der Manipulation der Helligkeitswerte von Pixeln gefunden werden.
Bei der Berechnung der Ausgangssignalwerte digitaler Filter sind Überläufe natürlich zu
vermeiden. Es gibt Fälle, in welchen Überläufe nicht auftreten können, etwa dann, wenn
eine gewichtete Summe zu berechnen ist und die Gewichte garantieren, dass das Ergebnis
innerhalb gewisser Schranken bleibt. Andererseits gibt es Fälle, in welchen Überläufe ga-
rantiert auftreten, beispielsweise dann, wenn das Filter die Amplitüde des Signals zu sehr
verstärkt.
Wenn mit Überläufen in einem Zahlendarstellungssystem Gn,m zu rechnen ist, muss
zu einem System Gn+k,m übergegangen werden, mit dem ein größerer Zahlenbereich dar-
gestellt werden kann. Das geschieht durch Vorzeichenvervielfältigung, für eine Bitfolge
a = an+k− ⋯a−m gilt nämlich
Das ist leicht auszurechnen und wird der Kürze wegen nur für den Fall k = gezeigt. Es sei
zunächst die linke Seite von (6.40) richtig. Ausgeschrieben ist das
n− n−
−an n + ∑ aν ν = −an− n− + ∑ aν ν .
ν=−m ν=−m
Die Summe auf der rechten Seite hebt sich heraus, und es bleibt −an n + an− n− =
−an− n− , also an− n− = an n oder an− = an . Nun sei umgekehrt die rechte Seite
von (6.40) richtig. Damit erhält man
n− n−
Gn+,m (a) = −an n + ∑ aν ν = −an− n + ∑ aν ν
ν=−m ν=−m
n− n−
= an− (n− − n ) + ∑ aν ν = −an− + ∑ aν ν = Gn,m (an− ⋯a−m )
ν=−m ν=−m
360 6 Numerische Verfahren zur Filterkonstruktion
Eine Bitfolge behält demnach bei einer Vergrößerung der Bitzahl vor dem Binärkomma
ihren Wert, wenn das Vorzeichen vervielfacht wird. Umgekehrt kann eine Bitfolge
als eine zu Gn,m gehörige Bitfolge mit vervielfältigtem Vorzeichen betrachtet werden. Na-
türlich gibt (6.40) nicht nur an, wie zu Gn,m gehörige Bitfolgen a = an− ⋯a−m in zu Gn+k,m
gehörige Bitfolgen a′ = an+k− ⋯a−m verlängert werden müssen, es liefert auch eine einfa-
che Möglichkeit, Überlauf bezüglich Gn,m zu entdecken: Man rechnet in Gn+,m , dann ist
genau dann ein Überlauf eingetreten, wenn die beiden höchsten Bits verschieden sind.
Bei der Ausführung digitaler Filter sind im Wesentlichen Summen der folgenden Art
zu berechnen:
n
y = ∑ aν xν (6.41)
ν=
Darin sind die x ν Signalwerte und die a ν gewisse Filterkoeffizienten. Die Signalwerte seien
beschränkt, es gelte also etwa ∣x ν ∣ ≤ S. Das ist natürlich immer der Fall, wenn die x ν zu Gn ,
Gn,m usw. gehören. Dann kann garantiert werden, dass auch die Summe y beschränkt ist,
∣y∣ ≤ S, sofern die folgende Bedingung erfüllt ist:
n
∑ ∣a ν ∣ ≤ (6.42)
ν=
Gehören daher die x ν zu Gn , dann gilt das unter dieser Bedingung auch für die Summe y.
Und weil (6.42) natürlich ∣a ν ∣ ≤ zur Folge hat, gilt auch ∣a ν ∣ ∣x ν ∣ ≤ S, d. h. auch bei der
Berechnung der Produkte in (6.41) kann Überlauf nicht vorkommen. Auch bei der Sum-
menbildung in (6.41) ist kein Überlauf möglich, denn für ≤ m < n gilt
m m n n
∣ ∑ a ν x ν ∣ ≤ ∑ ∣a ν ∣ ∣x ν ∣ ≤ ∑ ∣a ν ∣ ∣x ν ∣ ≤ S ∑ ∣a ν ∣ ≤ S
ν= ν= ν= ν=
Allerdings ist y wirklich als Summe der Produkte a ν x ν zu berechnen. Ein Gegenbeispiel
bietet schon die Berechnung von
x + x
x + x =
anschließenden Division durch Zwei ist das Ergebnis der Gesamtrechnung zwar wieder in
G, , aber das innerhalb von G, berechnete Ergebnis 0000 ist natürlich falsch!
Kann man keine allgemeine Aussage wie (6.42) über die Filterkoeffizienten a ν machen,
welche Überlauf generell oder wenigstens partiell ausschließt, müssen die Additionen
in (6.41) auf Überlauf geprüft werden. Ob auch die Multiplikationen auf Überlauf getestet
werden müssen hängt von der Art der gewählten Zahlendarstellung ab.
Bestehen die Multiplikationen in (6.41) aus einfachen Shifts, wie bei dem Filter aus
Abschn. 5.2, kann abhängig vom Umfang des RAM nahezu jeder AVR-Mikrocontroller
eingesetzt werden. Ist das nicht der Fall, müssen zur Berechnung der Produkte in (6.41)
die AVR-Multiplikationsbefehle zur Verfügung stehen. Deren Einsatz wird nun diskutiert.
Im Falle a ν ∈ G und x ν ∈ G ist natürlich bei der Multiplikation kein Überlauf möglich.
Für die Abtastung ist hier der ADC auf acht Bit im Zweierkomplement eingestellt. Der zu
verwendende AVR-Befehl ist muls, d. h. die Bitfolge p = p ⋯p p in a ν x ν = G (p) wird
mit muls erzeugt.
Allerdings gibt das Zahlenformat G für die Filterkoeffizienten nur eine sehr beschränk-
te Genauigkeit bei der Filterberechnung her. Sind daher sämtliche a ν nicht negativ, sollte
für sie zum Zahlenformat K übergegangen werden. Man gewinnt so ein Bit Genauigkeit.
Auch hier ist kein Überlauf bei der Multiplikation möglich. Der zuständige AVR-Befehl ist
mulsu.
Sind nur einige wenige der Filterkoeffizienten a ν von Null verschieden oder ist ihre An-
zahl überhaupt klein, muss die Addition der Produkte daher nicht in einer Schleife erfolgen,
dann kann für sie ebenfalls das Zahlenformat K gewählt werden, denn bei negativem a ν
kann ∣a ν ∣ subtrahiert werden.
Es wird nun die Konstellation a ν ∈ G und x ν ∈ G analysiert. Das Problem ist offen-
sichtlich, herauszufinden, wie das Produkt p aus a = G (a) und x = G (x) mit Hilfe der
Prozessorbefehle mul, muls und mulsu berechnet werden kann:
ax = G (a)G (x) = G (p)
Man beginnt damit, das Produkt auf der Darstellungsseite, also G (a)G (x), in Bestand-
teile aus K und G zu zerlegen:
ax = ( − a + ∑ aν ν )( − x + ∑ xν ν )
ν= ν=
= ( − a + ∑ aν ν + ∑ aν ν )( − x + ∑ xν ν )
ν= ν= ν=
= − a ( − x + ∑ xν ν )
ν=
+ ( − x + ∑ xν ν ) ∑ aν+ ν
ν= ν=
+ ( − x + ∑ xν ν ) ∑ a ν ν
ν= ν=
362 6 Numerische Verfahren zur Filterkonstruktion
Die Zerlegung in die gewünschten Anteile ist noch nicht perfekt, sie gelingt aber mit einer
Addition von Null an passender Stelle:
− a ( − x + ∑ xν ν ) = ( − a + ∑ aν+ ν − ∑ aν+ ν )( − x + ∑ xν ν )
ν= ν= ν= ν=
= ( − a + ∑ aν+ ν )( − x + ∑ xν ν )
ν= ν=
− ( − x + ∑ xν ν ) ∑ aν+ ν
ν= ν=
Der störende Faktor a ist damit beseitigt. Wird die eben gefundene Zerlegung in die oben
berechnete Zerlegung eingesetzt, dann annullieren sich einige Terme und man erhält die
folgende Darstellung des Produktes ax:
ax = ( − a + ∑ aν+ ν )( − x + ∑ xν ν ) + ( − x + ∑ xν ν ) ∑ aν ν
ν= ν= ν= ν=
⊺
= G (a )G (x) + G (x)K (a )
Es wird nun mit dem Befehl muls eine Bitfolge u = u ⋯u u und mit mulsu eine Bitfolge
v = v ⋯v v so berechnet, dass gilt
Es ist G (u) = G (u ⋯u u 00000000). Die andere Bitfolge v muss dagegen in das
Format G propagiert werden. Das geschieht über Vorzeichenvervielfältigung wie folgt:
q = 11111111 00⋯00
zu addieren. Nun ist aber q offenbar das Zweierkomplement von , d. h. es kann auch
von v subtrahiert werden.
Das Ergebnis der Multiplikation ax = G (a)G (x) = G (p) steht jetzt fest, es ergibt
sich als die Binärsumme zweier mit muls und mulsu berechneter Bitfolgen, möglicher-
weise gefolgt von einer Subtraktion von :
8 mov r3,r0 1
Was in dem kleinen Programm abläuft lässt sich zusammen mit (6.43) besser verfolgen. Es
ist so eingerichtet, dass Register r das untere Byte des Produktes p erst im letzten Befehl
zugewiesen wird. Das Register steht daher im übrigen Programm zur freien Verfügung und
wird dazu benutzt, das Übertragsbit zu addieren und zu subtrahieren. Es wird zu diesem
Zweck in Zeile 1 mit dem Wert 00 geladen.
In Zeile 2 wird das Produkt u mit dem Befehl muls im Doppelregister r: erzeugt und
in der nächsten Zeile an seinen Bestimmungsort r: kopiert. Anschließend wird das Pro-
dukt v mit dem Befehl mulsu im Doppelregister r: abgelegt. Dieser Befehl tut allerdings
noch etwas mehr, er kopiert das Vorzeichenbit des erzeugten Produktes, also v , in das
Übertragsbit. Weil das Übertragsbit von den folgenden arithmetischen Befehlen verändert
wird, muss es sofort verwendet werden, um zu entscheiden, ob zu subtrahieren ist. Die-
se Entscheidung wird aber nicht explizit mit einem bedingten Sprung getroffen, sondern
implizit, indem das Übertragsbit selbst von Bit p des allerdings noch nicht fertiggestellten
Produktes p subtrahiert wird. Nach (6.43) ist der Ort von p das untere Bit von r , in Zeile
5 wird daher tatsächlich das Übertragsbit von diesem Bit subtrahiert. Hat das Übertragsbit
den Wert 0, dann geschieht in dieser Zeile nichts, es wird nur 00 von r subtrahiert. Hat
das Übertragsbit dagegen den Wert 1, dann wird in der Zeile von (dem noch nicht fertigen)
p die Zahl 00000001 00000000 00000000 subtrahiert, d. h. gerade .
Man kann die Subtraktion von auch vom Vorzeichen von x abhängig machen, denn v
enthält sein Vorzeichen von x. Man benötigte so jedoch einen Befehl mehr, um das Vorzei-
chenbit von r in das Übertragsbit zu kopieren. Diese Aufgabe erledigt der Befehl mulsu
zusätzlich neben der eigentlichen Multiplikation.
Es bleibt noch, u zu addieren. Wirklich addiert werden muss nur das obere Byte von u,
und zwar zu den oberen beiden Bytes von p, d. h. zu r: . Das geschieht in den Zeilen 6–7.
Um das Übertragsbit von der Addition in Zeile 6 zu r zu addieren, wird in Zeile 7 von
der Tatsache Gebrauch gemacht, dass r immer noch 00 enthält. In der letzten Zeile wird
schließlich das untere Byte von p mit dem unteren Byte von v geladen: Das Produkt p ist
damit fertiggestellt.
Zehn Prozessortakte dank der Multiplikationsbefehle für eine × -Multiplikation ist
ein recht guter Wert für einen 8-Bit-Prozessor. Wichtig für die Anwendung in digitalen
364 6 Numerische Verfahren zur Filterkonstruktion
Filtern ist auch, dass jeder Durchlauf des Programmstückes zehn Takte dauert und insbe-
sondere nicht vom Vorzeichen der Multiplikanden abhängt.
Die Konstellation a ν ∈ G und x ν ∈ G kann mit denselben Mitteln untersucht wer-
den wie die vorige. Die Analyse ist jedoch beträchtlich komplizierter und wird hier nicht
durchgeführt, es wird nur das Ergebnis3 angegeben:
G (a)G (x) = K (a )K (x ) + G (a⊺ )K (x ) + K (a )G (x⊺ )
+ G (a⊺ )G (x⊺ )
= K (b) + G (c) + G (d) + G (e)
Das gesuchte Produkt p wird also durch binäre Addition der folgenden Bitfolgen erhalten:
̂
b = 00000000 00000000 b b ⋯b b
̂
c = c c c c c c c c c c ⋯c c 00000000
̂
d = d d d d d d d d d d ⋯d d 00000000
̂
e = e e ⋯e e 00000000 00000000
In der Praxis wird man nicht̂ c erzeugen, sondern 00000000 c c ⋯c c 00000000 addieren
und bei c = 1 subtrahieren. Ebenso wird auch mit ̂d verfahren. Die Bitfolge b wird mit
dem Befehl mul, c und d werden mit mulsu und e wird mit muls erzeugt.
Das nachfolgende Programmstück ist so aufgebaut wie das vorangehende. Das gilt auch
für die Parameter: Beim Eintritt in das Programmstück muss a in r: und x in r: ent-
halten sein. Diese Reihenfolge kann natürlich vertauscht werden. Das Ergebnis wird im
Vierfachregister r::: erzeugt. Neben den Registern r und r , die von den Multiplikati-
onsbefehlen eingesetzt werden, wird noch ein weiteres Register benötigt. Die Wahl ist auf
r gefallen, aber es kann durch jedes Register ersetzt werden, das beim Betreten des Pro-
grammstückes gerade frei ist.
1 mul r16,r18 2 r1:0 ← b
2 movw r3:r2,r1:r0 1 r3:2 ← b
3 muls r17,r19 2 r1:0 ← e
4 movw r5:r4,r1:r0 1 r5:4 ← e
5 clr r6 1 r6 ← 00 zur Addition und Subtraktion von S.c
6 mulsu r17,r18 2 r1:0 ← c, S.c ← c
7 sbc r5,r6 1 2 subtrahieren, falls c = 1, r6 enthält 00
8 add r3,r0 1 c zu p addieren
9 adc r4,r1 1
3
Interessierte Leser finden diese Analyse in [Mss] [Link].
6.5 Der Einsatz von Fixkommaarithmetik 365
Die Bemerkungen zum vorigen Programmstück können hier fast wörtlich übernommen
werden. Die Laufzeit von 19 Prozessortakten ist allerdings fast doppelt so lang.
Zu einer Bitfolge bn− ⋯b b soll diejenige Bitfolge an− ⋯a a bestimmt werden, die den
negativen Wert darstellt:
Man kann zu diesem Zweck das Einerkomplement nutzen. Das Einerkomplement einer
Binärziffer ist definiert als die Ergänzung zu 1:
b+b=1
Es ist also 0 = 1 und 1 = 0. Bei einer Bitfolge wird das Einerkomplement bitweise ange-
wandt:
bn− ⋯b = bn− ⋯b
Die Anwendung auf die Negation ergibt sich aus der folgenden Eigenschaft des Einerkom-
plements, die auf einfache Weise zu bestätigen ist:
Das daraus resultierende Verfahren zur Negation wird auf das darstellende Bitmuster und
nicht auf die dargestellte Zahl angewandt: Um zur Bitfolge bn− ⋯b mit x = Gn (b k− ⋯b )
die Bitfolge an− ⋯a mit −x = Gn (an− ⋯a ) zu finden, ist auf bn− ⋯b das Einerkomple-
ment anzuwenden und auf das entstandene Bitmuster eine 1 aufzuaddieren. Diese Additi-
on hat natürlich im Binärsystem zu geschehen.
Um z. B. das Bitmuster a zu finden mit Gn (a) = − wird von Gn (b) = Gn (00⋯01) =
ausgegangen. Die Anwendung des Einerkomplementes auf b liefert das Bitmuster c =
11⋯10, die Binäraddition von 1 zu c ergibt dann das gesuchte Bitmuster a = 11⋯11. Man
kann sich durch Einsetzen in (6.33) davon überzeugen, dass tatsächlich Gn (11⋯11) = −
gilt.
Die Inhalte der Register r bis r können als Bitfolgen b ⋯b mit der Darstellungsfunk-
tion G interpretiert werden. In diesem Fall kann mit dem AVR-Befehl neg das Bitmuster
a ⋯a mit G (a ⋯a ) = −G (b ⋯b ) in das Register geladen werden.
Andererseits können die Registerinhalte auch als Bitfolgen mit der Darstellungsfunktion
K interpretiert werden. Ist das der Fall, dann wird mit dem AVR-Befehl com das Bitmuster
b ⋯b des Einerkomplementes in das Register geladen.
Werden Registerinhalte zu Bitfolgen zusammengefasst, die mit K , K usw. interpre-
tiert werden, dann kann zur Berechnung des Einerkomplementes der Befehl com auf die
einzelnen Register angewandt werden. Das ist bei der Interpretation der Inhalte der zu-
sammengefassten Register mit G , G usw. natürlich nicht möglich. Hier ist erst das
Einerkomplement mit com zu berechnen und dann mit den Befehlen add und adc ei-
ne 1 zu addieren. Als zweite Möglichkeit kann auch von Null subtrahiert werden.
366 6 Numerische Verfahren zur Filterkonstruktion
Das eben beschriebene Verfahren zur Negation von mit Gn dargestellten Bitfolgen kann
auch auf Bitfolgen angewandt werden, die rationale Zahlen repräsentieren, deren Zahlen-
wert also mit Gn,m gegeben wird. Das folgt unmittelbar aus der folgenden Beziehung:
Gn,m (a) + Gn,m (a) = − (6.45)
m
Anhang
n n
−κ
∏ Φ r ν ,ϕ ν (z) = ∑ u κ z (A.1)
ν= κ=
für n = bis n = . Offenbar kommt bei allen folgenden Entwicklungen von Produkten
von Φ r,ϕ das Ergebnis u = heraus, deshalb wird u bei den folgenden Auflistungen der
Koeffizienten nicht mehr angeführt.
−u = rc ϕ
u = r
−u = r c ϕ + r c ϕ
u = r + r r c ϕ c ϕ + r
−u = r r c ϕ + r r c ϕ
u = r r
−u = r c ϕ + r c ϕ + r c ϕ
u = r + r + r + r r c ϕ c ϕ + r r c ϕ c ϕ + r r c ϕ c ϕ
−u = r r c ϕ + r r c ϕ + r r c ϕ + r r c ϕ + r r c ϕ + r r c ϕ + r r r c ϕ c ϕ c ϕ
u = r r + r r + r r + r r r c ϕ c ϕ + r r r c ϕ c ϕ + r r r c ϕ c ϕ
−u = r r r c ϕ + r r r c ϕ + r r r c ϕ
u = r r r
−u = r c ϕ + r c ϕ + r c ϕ + r c ϕ
u = r r c ϕ c ϕ + r r c ϕ c ϕ + r r c ϕ c ϕ + r r c ϕ c ϕ + r r c ϕ c ϕ + r r c ϕ c ϕ
+ r + r + r + r
−u = r r c ϕ + r r c ϕ + r r c ϕ + r r c ϕ + r r c ϕ + r r c ϕ
+ r r c ϕ + r r c ϕ + r r c ϕ + r r c ϕ + r r c ϕ + r r c ϕ
+ r r r cϕ cϕ cϕ + r r r cϕ cϕ cϕ + r r r cϕ cϕ cϕ + r r r cϕ cϕ cϕ
u = r r r c ϕ c ϕ + r r r c ϕ c ϕ + r r r c ϕ c ϕ + r r r c ϕ c ϕ
+ r r r c ϕ c ϕ + r r r c ϕ c ϕ + r r r c ϕ c ϕ + r r r c ϕ c ϕ
+ r r r c ϕ c ϕ + r r r c ϕ c ϕ + r r r c ϕ c ϕ + r r r c ϕ c ϕ
+ r r + r r + r r + r r + r r + r r + r r r r c ϕ c ϕ c ϕ c ϕ
−u = r r r c ϕ + r r r c ϕ + r r r c ϕ + r r r c ϕ + r r r c ϕ + r r r c ϕ
+ r r r c ϕ + r r r c ϕ + r r r c ϕ + r r r c ϕ + r r r c ϕ + r r r c ϕ
+ r r r r c ϕ c ϕ c ϕ + r r r r c ϕ c ϕ c ϕ + r r r r c ϕ c ϕ c ϕ + r r r r c ϕ c ϕ c ϕ
u = r r r r c ϕ c ϕ + r r r r c ϕ c ϕ + r r r r c ϕ c ϕ
+ r r r r c ϕ c ϕ + r r r r c ϕ c ϕ + r r r r c ϕ c ϕ
+ r r r + r r r + r r r + r r r
−u = r r r r c ϕ + r r r r c ϕ + r r r r c ϕ + r r r r c ϕ
u = r r r r
Tatsächlich wird nicht die Fourier-Entwicklung der Funktion w aus Abschn. 3.4 berech-
net, sondern die Entwicklung von v(t) = w(t) + (siehe Abb. A.1). Die Entwicklung
von w ergibt sich daraus direkt ohne weitere Rechnung. Natürlich hat v wie w die Periode
T = , zudem ist v eine gerade Funktion, v(−t) = v(t), weshalb die Fourier-Entwicklung
A.1 Entwicklungskoeffizienten und Tabellen 369
2.0 1.5 1.0 0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0
eine reine Cosinusreihe ist. Zu berechnen sind also die Koeffizienten vm der Reihen-
entwicklung
∞ t
v(t) = ∑ vm e iπm T (A.2)
m=−∞
−iπmt
vm = ∫ te dt − ∫ te −iπmt dt + ∫ e −iπmt dt
Das erste Integral unterscheidet sich vom zweiten nur durch die Integrationsgrenzen, die
Berechnung ist daher auf zwei Integrale reduziert. Der Wert des dritten Integrals ergibt sich
aus der Ableitungsregel (e λx )′ = λe λx :
−iπmt i −iπmt i
∫ e −iπmt dt = − e ∣ = e ∣ = (e −iπm − e −iπm )
iπm πm πm
Man muss sich nur daran erinnern, dass i = −i gilt. Die übrigen Integrale werden mit
Hilfe der partiellen Integration ermittelt, die sich aus der Produktregel der Differentiation
ableitet:
b b b
∫ te −iπmt dt = t e −iπmt ∣ − ∫ e −iπmt dt
a −iπm a a −iπm
bi −iπmb ai −iπma
= e − e + (e −iπmb − e −iπma )
πm πm π m
370 Anhang
Man ersetzt nun die drei Integrale durch ihre Werte und fasst die entstehenden Terme
in solche, die i enthalten, und solche, die i nicht enthalten, zusammen. Die Terme mit
i heben sich in der Summe auf, es bleibt der folgende Ausdruck für die gesuchten Ko-
effizienten:
vm = − + e −iπm ( − e −i πm )
π m π m
Die Exponentialfaktoren des Ausdrucks verschwinden, wenn man die elementaren Eigen-
schaften der Exponentialfunktion berücksichtigt:
vm = − + = falls m ≡ ()
π m π m
vm = − − =− falls m ≡ ()
π m π m π m
Die bisherigen Rechnungen gelten allerdings nur für m > , der Fall m = muss gesondert
behandelt werden:
v = ∫ tdt − ∫ tdt + ∫ dt =
Die gesuchte Fourier-Entwicklung ist damit
∞
iπm t
v(t) = − ∑ e
π m=−∞ m
m≡ ()
∞
iπmt
= − ∑ e
π m=−∞ m
m≡ ()
∞
iπmt
w(t) = v(t) − =− ∑ e
π m=−∞ m
m≡ ()
A.1 Entwicklungskoeffizienten und Tabellen 371
Mit einigen weiteren (elementaren) Umformungen gelangt man zur prognostizierten rei-
nen Cosinusreihenentwicklung:
∞
w(t) = − ∑ (e iπmt + e −iπmt )
π m= m
m≡ ()
∞
iπmt −iπmt
=− ∑ ( e + e )
π m= m
m≡ ()
∞
=− ∑ cos(mπt)
π m= m
m≡ ()
∞
=− ∑ cos((m − )πt)
π m= (m − )
Ein einfacher Test ist die Berechnung von w() direkt und über die Reihenentwicklung:
∞ π
− = w() = − ∑ =− =−
π m= (m − ) π
sin(π κk )
σκ,k = −k≤κ≤k
π κk
σ−κ,k = σκ,k σ,k = σ k,k = ≤ σκ,k ≤
Tabelleneinträge in den Zahlenformaten K, und K,
Umwandlung in die Zahlenformate G, und G, durch einen logischen Rechtsshift,
d. h. einen Rechtsshift mit nachgezogener Null.
372 Anhang
A.2 Formelsammlung
Formel A.1 Im Buch verwandte trigonometrische Formeln. Für reelle x und y gilt
sin ((k + ) x ) k
= + ∑ cos(κx) (A.8)
sin ( x ) κ=
sin ((k + ) x ) k
sin(κx)
∫ dx = x + ∑ (A.9)
sin ( x ) κ= κ
n
e −ina − e i(n+)a
∑ e =
iνa
(A.11)
ν=−n − eia
u + v = −a (A.13)
uv = b (A.14)
Formel A.7 u = a + ib und v = c + id sind komplexe Zahlen, es sei v ≠ . Dann ist der
Quotient uv der beiden Zahlen gegeben durch
u a + ib ac + bd bc − ad
= = +i (A.16)
v c + id c +d c + d
e iz − e −iz e iz + e −iz
sin(z) = cos(z) = (A.18)
i
e z − e −z e z + e −z
sinh(z) = cosh(z) = (A.19)
ez = ez (A.20)
A.3 Bezeichnungen
Kn,m Kn,m (b) ist der Wert der Bitfolge b = bn− ⋯b b− ⋯b−m als nicht-negative
Fixkommazahl mit n Bits vor und m Bits nach dem Binärkomma:
n−
Kn,m (bn− ⋯b−m ) = ∑ bν ν
ν=−m
Mit Kn,m wird auch das Zahlenformat selbst bezeichnet, d. h. eine Bitfolge
im Format Kn,m ist eine nicht-negative Fixkommazahl mit n Bits vor und
m Bits nach dem Binärkomma:
Gn Gn (b) ist der Wert der Bitfolge b = bn− ⋯b einer im Zweierkomplement
verschlüsselten Zahl:
n−
Gn (bn− ⋯b ) = −bn− n− + ∑ bν ν
ν=
378 Anhang
Gn,m Kn,m (b) ist der Wert der Bitfolge b = bn− ⋯b b− ⋯b−m einer im Zwei-
erkomplement verschlüsselten Fixkommazahl mit n Bits vor und m Bits
nach dem Binärkomma
n−
Gn,m (bn− ⋯b−m ) = −bn− n− + ∑ bν ν
ν=−m
ran( f ) Der Bildbereich (range) ran( f ) einer Abbildung f ist die Menge
ran( f ) = { y ∣ ⋁(x, y) ∈ f }
x
∞
(x ∗ y)(n) = ∑ x(n)y(n − ν)
ν=−∞
∞
ΘS (ω) = ∑ ΔS (ν)e −iνω
ν=−∞
∞
Z(x)(z) = ∑ x(n)z −n
n=−∞
Eine Funktionsauswertung wie f (x) bindet stärker als jeder andere mathematische Ope-
rator. Das bedeutet beispielsweise
Die oft gesehene Schreibweise sin x kann besonders bei zusammengesetzten Argumenten
leicht zu Missverständnissen führen.
Bei zwei möglichen Interpretationen einer Formel wird in der Regel durch Klammer-
setzung die gewünschte Interpretation erzwungen. Beispielsweise wird (g ○ f )(x) statt
einfach g ○ f (x) geschrieben, weil auch die Interpretation g ○ ( f (x)) möglich ist, falls
es sich bei f (x) um eine Abbildung handelt. Z. B. ist mit irgendeiner komplexen Funktion
g bei g ○ Z(x) natürlich die Interpretation g ○ (Z(x)) gemeint, denn die z-Transformierte
eines Signals ist eine komplexe Funktion. Dagegen ist (g ○ Z)(x) hier sinnlos.
In den Programmen werden die folgenden Präfixe für Assemblervariablen und Marken
benutzt:
8 .dseg
9 bOpq: .byte 1 Bytevariable
10 wOpq: .byte 2 Wortvariable
11 .cseg
12 pOpq: .dw bOpq Adressenvariable (ebenfalls Wort)
Literatur
[AbSt] Abramowitz M, Stegun I (Hrsg) (1964) Handbook of Mathematical Functions with Formu-
las, Graphs, and Mathematical Tables National Bureau of Standards, Applied Mathematics
Series, Bd. 55. U.S. Government Printing Office, Washington, DC
[Aho] Aho AV, Sethi R, Ullmann JD (1986) Compilers. Principles, Techniques and Tools. Addison-
Wesley Publishing Company, Reading, Massachusetts
[All] Allred R (2010) Digital Filters For Everyone. Creative Arts & Sciences House, Indian Har-
bour Beach
[BaNa] Bachmann G, Narici L (2000) Functional Analysis. Dover Publications, Inc., Mineola, New
York
[Dett] Dettmann JW (1984) Applied Complex Variables. Dover Publications, Inc., New York
[Grad] Gradshteyn IS, Ryzhik IM (1965) Table of Integrals, Series and Products. Academic Press,
New York and London
[Grau] Grauert H, Fischer W (1968) Differential- und Integralrechnung II. Springer-Verlag, New
York Heidelberg Berlin
[Ham] Hamming RW (1998) Digital Filters. Dover Publications, Mineola
[Henr] Henrici P (1982) Essentials of Numerical Analysis with Pocket Calculator Demonstrations.
John Wiley & Sons, New York
[Hes] Hess W (1993) Digitale Filter. B.G. Teubner, Stuttgart
[Jack] Jackson LB (1986) Digital Filters and Signal Processing. Kluver Academic Publishers, Bo-
ston, Dordrecht, Lancaster
[Knop] Knopp K (1964) Theorie und Anwendung der unendlichen Reihe, 5. Aufl. Springer-Verlag,
Berlin Göttingen Heidelberg New York
[Monk] Monk JD (1969) Introduction to Set Theory. McGraw-Hill Book Company, New York
[MOS] New York: Springer Verlag Magnus W, Oberhettinger F, Soni RP (1966) Formulas and Theo-
rems for the Special Functions of Mathematical Physics. Springer Verlag, New York
[Sch] Schmidt J (1966) Mengenlehre I. Bibliographisches Institut, Mannheim
[Mss] Schwabl-Schmidt M (2007) Programmiertechniken für AVR-Mikrocontroller. Elektor-
Verlag, Aachen
[Mss1] Schwabl-Schmidt M (2009) Systemprogrammierung für AVR-Mikrocontroller. Elektor-
Verlag, Aachen
383
384 Literatur
385
386 Sachverzeichnis
C-Vektorraum, 20, 38, 48, 71, 216, 217 Einheitsstufenantwort, 202, 205
Einseitiges Signal, 23, 159
D Elementares Signal, 23, 24
Darstellungsfunktion, 357, 358, 365 Endlicher Träger, 21, 22, 24, 31, 38, 53, 56, 76,
De l’Hospital, 90, 105, 115, 175 103, 137, 216–218, 271, 272
Definitionsbereich, 15, 26, 45, 48, 49, 54, 55, 67, Entwicklungskoeffizient, 143, 145, 149, 367
97, 154–156, 158–162, 164, 166, Erweiterungspolynom, 354
169–172, 182, 183, 191, 196–198, 200, Exponentielles Signal, 24, 25, 34, 93, 241, 246
203–206, 210, 213 Extrapolation, 123, 129
DFT, 96–100, 119, 120, 132, 140, 141, 221 Extrapolationsverfahren, 266
DFT-Bausteine, 100
Differenzengleichung, 44, 45, 76, 96, 98–100,
F
167, 169, 170, 189, 192, 198–203, 206,
Faltung, 20–22, 25, 26, 29, 31–34, 60, 73, 97,
210, 212, 223, 253, 254, 263, 290, 314,
100–102, 104, 107–109, 137, 159, 163,
316, 317, 325
164, 190, 193, 197, 201, 216–219, 221,
Differenzengleichungssystem, 211
279, 290, 315
Digitalisierung, 136, 231, 241, 252, 339
Faltungsoperation, 22, 60, 77, 100, 108, 168, 217
Diskrete Fourier-Transformation, 25, 67, 96, 97
Diskrete Fourier-Transformierte, 140, 379 Faltungsoperator, 60, 141, 217
Diskretes Spektrum, 136–140 Faltungsprodukt, 22, 30, 31, 156, 204, 205
Diskretisierung, 136 Faltungsreihe, 287
Doppelnullstelle, 231, 237 Faltungssumme, 30, 33, 295, 328
Down-sampling, 27 Fenster, 100, 102–105, 107, 111, 113, 116
Fensterfunktion, 102–106, 108, 109, 113, 115,
E 116
Eigenvektor, 79, 80 Fensteroperation, 102, 107
Eigenwert, 79 Filter, 15, 17, 18, 35, 54, 66, 68–70, 78, 84, 93,
Einerkomplement, 365 96, 107, 116, 118, 120, 129, 136, 146, 149,
Einfache Nullstelle, 354 154, 164, 173, 185, 189, 190, 192, 195,
Eingangssignal, 43, 44, 65, 72, 78, 120, 179, 186, 223–233, 235, 237–241, 243, 245, 247,
187, 208–210, 227, 232, 245, 264, 316, 249–254, 256–259, 262, 264, 266–270,
317, 327 272, 273, 275, 277–282, 284, 287, 288,
Einheitsimpuls, 23, 24, 31, 34, 40, 42, 47, 51, 71, 290, 292, 295, 298, 302, 303, 305–309,
81, 103, 137, 158, 162, 195, 314 311, 313, 314, 316, 317, 328, 335, 339,
Einheitsimpulsantwort, 68, 70–77, 81, 84, 85, 341, 343, 348, 350, 353, 359–361, 364
93, 94, 98, 99, 104–106, 116, 141, 142, Filterdifferenzengleichung, 240, 253
144, 158, 167–169, 181, 183–190, Filterkoeffizient, 305, 360, 361
193–195, 200, 201, 205, 218, 219, Finiter Träger, 22
266–274, 278–284, 287, 288, 295, 298, Finites Fenster, 103
301, 303, 314, 317 Finites Signal, 31–34, 103
Einheitskreis, 81, 118, 158, 173, 177, 185, Finit-halbschiefsymmetrisch, 272
188–191, 199, 205, 206, 209, 211–215, Finit-halbschiefsymmetrisches Signal, 272, 273
220, 224–226, 231, 232, 237–241, 254, Finit-halbsymmetrisch, 271, 272
259, 260, 267, 268, 272, 274, 282, Finit-nullschiefsymmetrisch, 269, 270
308–311, 339, 347 Finit-nullsymmetrisch, 268, 269, 274, 288
Einheitsrechtecksignal, 24 Finit-schiefsymmetrisch, 269, 270, 273
Einheitssprung, 23, 24, 212, 218 Finit-symmetrisch, 268–270
Einheitsstufe, 23, 24, 39, 47, 69, 103, 154, 155, FIR-System, 73, 74
161, 162, 188, 190, 202, 237 Fixkommaarithmetik, 305, 306, 357
Sachverzeichnis 387
Fourier-Entwicklung, 78, 103, 104, 111, 122, Imaginäre Achse, 9, 11, 101, 104, 108, 133, 173,
124, 126, 131, 141, 264, 368, 370 252, 378
Fourier-Integral, 131 Impulsantwort, 104, 172, 280
Fourier-Koeffizient, 78, 122 Indexmenge, 63, 64, 71, 72, 380
Fourier-Reihe, 96, 101, 141, 286 Indexposition, 69, 70, 84, 129, 314
Fourier-Transformation, 25, 96, 97, 131, 132, Instabiles System, 188, 210, 211, 213, 214
134, 281 Integrator, 159, 160
Fourier-Transformierte, 131–135 Interpolation, 123
Frequenz, 24, 25, 66, 67, 69, 70, 79, 80, 84, 118, Interpolationsformel, 123
122, 127, 130–132, 134, 136, 137, 140, Inverse Z-Transformierte, 172
141, 185, 224, 225, 228, 233, 235, 238, Inverses System, 191, 195, 198, 202, 203, 205,
241, 243, 245, 246, 252, 274, 290, 291, 206
293, 302 Involution, 157
Frequenzantwort, 10, 15, 17, 18, 34, 78–82, 84,
86, 92–100, 104–107, 112, 116–118, 130,
132, 139, 142–144, 146–149, 158, 173, K
177, 185, 207, 209, 213–215, 224, 225, Kardinalzahl, 43, 47, 74, 380
228, 229, 235, 238, 240, 242, 257, 260, Kausales Filter, 224, 280, 283
267–272, 274, 275, 277–280, 282, 283, Kausales System, 179–186, 194, 198, 200, 210
286–289, 295, 301, 302, 335 Kerbfilter, 225, 238, 245, 256, 264, 265
Frequenzantwortskurve, 120 Kofiniter Träger, 47
Frequenzband, 138, 139, 235, 236, 254, 291, 294 Komplexe Kurve, 11, 12
Frequenzenpaar, 131 Komplexes Signal, 20, 34–36
Komponentenfolge, 37
G Komponentenweise Konvergenz, 41, 49–51, 61
Ganzzahlige Periode, 248, 249 Konjugation, 81, 83, 157, 176, 376
Geschlossene Kurve, 17, 80, 116, 152, 229 Konjugationsoperator, 80
Geshiftetes Signal, 26, 27, 57 Konjugierte Nullstelle, 239, 339, 344
Gibbssches Phänomen, 105, 280, 286 Konjugiertes Nullstellenpaar, 339, 344
Glatte Kurve, 240, 285 Konjugiertes Paar, 239, 339
Grenzfrequenz, 105, 138, 251, 277, 278, 282 Konjugiertes Signal, 157
Gruppenlaufzeit, 242, 264–266 Konstante Abtastfrequenz, 328
Konstanter Phasengang, 268
H
Konstantes Signal, 21, 24, 27, 47
Halbschiefsymmetrisch, 272
Kontinuierliches Signal, 130, 137–140, 244, 245
Halbsymmetrisches Signal, 271
Kontinuierliches Spektrum, 136–140
Harmonische, 127
Hauptperiodenintervall, 369 Konvergente Signalfolge, 49
Hebbare Singularität, 183 Konvergentes Signal, 54, 55, 64
Hermitesch, 81, 172, 176 Konvergenz, 36, 37, 42, 49, 50, 54–56, 155, 160,
Hintereinanderschalten, 192, 193, 217 344, 345
Hintereinanderschaltung, 192, 193, 196, 207, Konvergenzbereich, 150, 154, 158
208, 217 Konvergenzgeschwindigkeit, 336
Hochpass, 18, 116, 145, 192, 251, 254, 278, 287, Konvergenzkreisring, 151, 152
313 Konvergenzverhalten, 38, 342, 347
Hochpassfilter, 116 Kreisring, 151, 152, 154, 158–160, 166, 169, 198
Kurve, 11, 14, 15, 17, 81, 85–88, 92, 95, 102, 118,
I 132, 147, 149, 152, 153, 215, 228, 229,
Identisches System, 195 235, 240, 242, 252, 254, 256, 257, 259,
IIR-System, 73–76 260, 282, 284, 291, 293, 294, 302
388 Sachverzeichnis
Kurve in der komplexen Ebene, 10, 11, 15, 17, Normierter Vektorunterraum, 40, 49
80, 97, 116, 118, 133, 256, 272, 286, 290 Normierung, 105, 219, 287, 299
Kurvenpunkt, 10, 11, 15, 80, 82, 87, 118, 133, Normkonvergenz, 41, 49
256 NP-Diagramm, 257
Nulldurchgang, 92, 260, 284, 286
L Nullpolynom, 350
Laurent-Entwicklung, 151, 152 Nullstelle, 2, 3, 11, 90, 97, 105, 115, 116, 126,
Laurent-Reihe, 151, 161 127, 129, 157, 159, 160, 164, 165, 170,
Lineare Differenzengleichung, 96 172–175, 183, 185, 207, 210–212, 214,
Lineare Phase, 276 223–227, 230, 236–240, 251, 253–256,
Linearer Phasengang, 277 258–262, 268, 272, 274, 275, 300,
Lineares stetiges System, 48–51, 53–57, 60–64, 308–311, 313, 339, 340, 342–344, 346,
66, 71 347, 353, 355, 375
Lineares System, 38, 48, 49, 51, 56, 67, 77, 79 Nullstellenbestimmung, 339
Linksseitiges Signal, 155, 164, 170 Nullstellenfinder, 230
Logarithmische Kurve, 287
Nullstellenpaar, 227, 239, 339, 344
Logarithmische Wunschfunktion, 287
Nullstellen-Pole-Diagramm, 231, 232, 236–239,
Lokale Mittelwertbildung, 110, 111
252–257, 259
LSI-Filter, 118, 223, 224, 266–272, 274, 298, 339
Nullstellenring, 259
LSI-System, 66, 67, 70–76, 78, 79, 81, 84, 93, 94,
Nullsymmetrisch, 116, 299
96, 98, 99, 104, 118, 120, 123, 124, 126,
Nur-Pole-Filter, 304
141, 142, 144, 157, 158, 167–170, 173,
Nyquist-Rate, 141
177, 181–183, 185–187, 189, 193–195,
197, 198, 202, 208–210, 213, 214,
216–219, 221, 264, 273, 339 O
Überlauf, 305, 329, 359–361
M Überschwingung, 107, 109, 110, 116, 232, 289
Median, 67–69
Median-Filter, 67, 68
P
Median-System, 77
Padé-Approximation, 348
Metrik, 36, 37
Padé-Methode, 298, 350
Mittenfrequenz, 233
Padésche Tafel, 299, 348, 349
Modulation, 97, 157, 282
Multiplikationsbefehl, 305, 306, 363, 364 Parallelschalten, 207, 208
Multiplikative Fensteroperation, 102 Parameter, 11, 15, 79, 81, 86, 91, 129, 130, 135,
Multiplikatives Fenster, 102 146, 149, 212, 226, 243, 256, 274, 277,
327, 364
N Parameterintervall, 17, 82, 83, 85, 86, 90, 93,
Negative imaginäre Achse, 82, 92 118, 126, 128–130, 139, 229, 240, 256,
Negative reelle Achse, 14, 15, 118 266–269, 276, 277
Nennerpolynom, 164, 165, 170, 171, 173, 174, Parametertransformation, 139
211, 212, 214, 230, 236, 304, 308, 309, Parameterwert, 15, 81, 82, 228
339, 343, 345, 349, 356 Partialbruchzerlegung, 162, 164, 165, 183, 184,
Newton-Verfahren, 309–311, 342–344, 346, 347 200, 203–205, 352–356
Nicht-kausales System, 180, 181, 183 Partiell linear, 67
Nicht-LSI-System, 67 Periode, 12, 13, 15, 17, 28, 31–33, 78, 80, 97,
Norm, 37, 40–42, 49, 54, 56, 65, 219–221 100, 122, 124, 126, 128, 130, 131, 137,
Normalisierungsfaktor, 105 140, 245–250, 290, 295, 316, 368
Normierte Algebra, 219 Periodenintervall, 124
Normierter Vektorraum, 36, 55, 57, 219 Periodenlänge, 33
Sachverzeichnis 389
Periodisch, 12, 15, 17, 28, 31–33, 35, 78, 80, 97, QD-Tableau, 340, 341, 343, 345
122, 126, 130–132, 135, 137, 140, 229, Q-Faktor, 233, 234, 241
237, 247–250, 290, 295, 304 Quadrant, 7–10, 14, 16, 83, 84, 118, 147, 291
Periodische Fortsetzung, 316
Periodische Funktion, 12, 17, 80, 100, 131, 132, R
135, 137, 229, 295 Rampe, 157, 245
Periodische Nachkommastellen, 302 Rampenintegrator, 160
Periodisches Signal, 31–33, 126, 237, 247 Rampensignal, 29, 30
Phase, 118, 121–123, 126, 213, 235, 257, 260, Rationale Systemfunktion, 177, 183, 214, 223,
261, 284 263, 278, 298, 339
Phasengang, 4, 80, 83, 84, 92, 120, 126, 128, 141, Reales Signal, 25, 34
142, 147, 148, 177–179, 223, 229, 230, Reales System, 207
235, 236, 240, 242, 254, 256, 257, 261, Rechteckfenster, 105, 113, 116
264–267, 269, 270, 275, 277, 283, 285, Rechtsseitig summierbares Signal, 45
286, 291 Rechtsseitiges Signal, 155, 159, 162, 166, 201,
Phasensprung, 92, 235, 284 202, 206
Pol, 18, 152, 153, 157–160, 164, 169–171, Rechtsseitiges System, 75
173–176, 182, 185, 188–191, 199, Reelle Achse, 11, 35, 92, 93, 102, 108, 109, 113,
205–207, 210–212, 214, 215, 223–225, 132, 133, 235, 251, 252, 254, 255, 260,
227, 229–232, 236–240, 251–260, 262, 284, 290, 291, 339
278, 300, 308–311, 313, 339, 343–348 Reelle Nullstelle, 239, 341, 342, 344
Polarkoordinaten, 7–14, 16, 80, 86, 132, 207, Reelles Signal, 20, 34, 81, 141, 157, 160, 239
310, 311 Regel von de l’Hospital, 90, 105, 115, 175
Polarkoordinatenfunktion, 11 Rein imaginäres Signal, 34
Polarkoordinatenschreibweise, 10 Rekursive Differenzengleichung, 76, 169
Polarwinkel, 10–16, 34, 35, 79, 80, 82–84, 86, Replizieren, 31
88–91, 118, 120, 129, 147, 149, 215, 229, Residuum, 152, 153
240, 256, 260, 272, 277, 279, 280, 288, Restwelligkeit, 106, 110, 111, 116, 282
292, 293 Rhombus, 340, 341
Polynom, 20, 21, 75, 164, 166, 171, 174, 176, Rhombusregel, 340
177, 183, 184, 200, 211, 213, 214, 223, RIAA, 290, 328
225, 226, 251, 262, 274, 304, 308, 309, RIAA-Norm, 290
339–344, 349, 352–356 Romberg-Tableau, 337, 338
Polynomgleichung, 171, 355 Romberg-Verfahren, 287, 295, 335, 336, 352
Polynomgrad, 164, 343, 352 Rückgekoppeltes System, 208, 212
Polynomiale Systemfunktion, 75 Rückkoppelung, 208–210, 212
Polynomkoeffizient, 260, 344, 346 Rückkopplungssignal, 209
Polynommultiplikation, 21
Polynomnullstelle, 211 S
Positive imaginäre Achse, 82 Schiefsymmetrisch, 132, 224
Positive reelle Achse, 7, 9, 10, 15, 35, 82, 88, 118, Seitenband, 125
120, 147, 229, 240, 242, 256, 261, 285, Shiften, 29, 58, 61, 65, 66
286 Shiftfunktion, 26
Potenzsignal, 24 Shift-invariant, 57–63, 66, 67, 71, 77, 79, 180,
Produktpolynom, 21 193, 217
Prozessortakt, 327, 363, 365 Shift-invariantes System, 58–64, 66, 68, 77, 217
Shift-Invarianz, 59
Q Shift-variant, 66
QD-Algorithmus, 211, 339, 347 Sigma-Faktor, 110, 111, 116, 372–374
390 Sachverzeichnis
Signal, 20–29, 31–33, 35–40, 42, 44–50, 54–56, Summennorm, 40, 55, 65, 219
58, 61, 62, 64, 66–68, 70–75, 77–79, 84, Summierbares Signal, 197
93, 94, 96, 97, 102, 103, 105, 118–130, Sup-Norm, 42, 55
136–138, 141, 154–159, 161, 162, Supremumsnorm, 54
164–168, 170, 172, 180, 182, 187, 188, Symmetrischer Amplitudengang, 83
192–197, 199–201, 204, 206, 216–219, System, 10, 29, 34, 43–51, 53, 54, 57–64, 66–68,
221, 229, 237, 238, 243–251, 264, 70–72, 74–82, 84, 92–99, 104, 106, 120,
268–272, 277, 278, 282, 298, 299, 301, 122, 126, 129, 130, 136, 141–144, 146,
303, 305, 306, 312, 316, 317, 328, 359 147, 149, 158, 159, 167–169, 172, 173,
Signalargument, 58 179, 180, 182, 185–189, 191–200, 202,
Signalfolge, 36–38, 40, 49, 51, 54, 62, 65 203, 206–213, 215–219, 251, 253, 254,
Signalgestalt, 129 256, 257, 264, 269, 270, 274, 276–278,
Signalgleichung, 160 286, 287, 301, 305, 306, 339
Signalindex, 46, 264 Systemfunktion, 18, 75, 147, 164, 167–170, 172,
Signalmenge, 20, 43, 46, 47, 96 173, 177, 182–191, 193, 198–200, 202,
Signalmodulation, 97, 157 203, 206, 208–215, 223–225, 227, 228,
Signalposition, 126, 271, 272 230, 233, 236–239, 251–254, 256, 258,
Signalraum, 37 260–262, 273–275, 278, 299, 300, 302,
Signalreihe, 38, 50, 51 304, 306, 308–310, 312–314, 339, 341,
Signalspektrum, 238 343, 345–348, 356
Signaltransformation, 157 Systemwert, 44, 45, 75, 122
Signalvektorraum, 38, 51, 54, 64
Signalverschiebung, 70, 97, 123, 235 T
Signalverzögerung, 124, 276, 277 Tabelle der Sigma-Faktoren, 371
Tafelbruch, 349–351
Signalwert, 28, 34, 35, 44, 46, 55, 58, 61, 68, 72,
75, 84, 94, 129, 136, 140, 149, 160, 180, Teilerpolynom, 341
Tiefpass, 84, 105, 142, 143, 145, 146, 149, 192,
181, 210, 248, 250, 268, 278, 287,
311–313, 360 228, 229, 278, 279, 301
Transformation, 139
Signalwertposition, 264
Trapezsumme, 336–338
Singularität, 97, 116, 182, 183, 186, 301, 302, 351
Trigonometrische Reihe, 141–145, 147
Spektrum, 127–132, 134–141, 238, 244, 246,
Trigonometrisches Signal, 25, 121, 243
247, 277
Träger, 46, 47, 73–75, 103, 105, 216, 219, 271,
Sprung, 15, 16, 35, 82, 88, 118, 120, 147, 149,
272
229, 245, 252, 285, 286, 291, 334
Sprungstelle, 15, 82, 265 U
Stabiles System, 49, 187–189, 194, 206, 207, 212, Umgekehrte Fourier-Transformation, 135–137
215 Umgekehrte Z-Transformierte, 161–164, 167,
Starke Konvergenz, 57, 59, 60 172, 314
Stereographische Projektion, 174 Unbeschränktes Signal, 24, 25, 187
Stetig, 15, 49, 60, 122, 219–221, 225, 235, 256 Unendliche Basis, 40
Stetig ergänzen, 90, 256 Unendlicher Träger, 74, 76, 218
Stetige Funktion, 12 Unstetigkeit, 82, 229
Stetige Kurve, 35, 80 Unstetigkeitsstelle, 12, 15, 82, 90, 148
Stetiges System, 48, 49 Untervektorraum, 22, 38, 48, 54, 55, 197, 199,
Stetigkeit, 49, 52, 56, 57, 65, 66 201, 216
Stückweise konstanter Phasengang, 269, 270, Up-sampling, 27
288
Stückweise linearer Phasengang, 266, 269, 270, V
272, 276, 282, 288, 315 Vektorraum, 22, 36, 39, 53–56, 61, 64, 197, 216
Sachverzeichnis 391
Vektorraumendomorphismus, 48 Z
Vergleichsreihe, 39 Zahlengitter, 358
Verschiebungsfunktion, 123, 126–128, 229, 230, Zeitkonstante, 291, 293, 336
236, 243, 250, 251, 257, 264, 265, 283, Zeitumkehr, 22, 27, 156, 157, 379
286, 315 Zirkuläre Liste, 320
Vollständiger normierter Teilvektorraum, 57 Zirkuläre Schlange, 318–320, 323, 325–327,
Von Hann-Fenster, 113, 114, 116 329, 330
Vorperiode, 304 Zählerpolynom, 170, 171, 174, 184, 214, 259,
261, 262, 274, 304, 309, 349
Vorzeichenvervielfältigung, 327, 359, 362
Z-Transformation, 150, 154, 156–158, 160, 162,
164, 165, 168, 169, 172, 200, 208, 267,
268, 271, 298
W Z-Transformierte, 154, 155, 157–165, 167–173,
Wellenzug, 12, 13, 124, 289, 368, 369 208, 209, 314, 379, 380
Wesentliche Singularität, 97 Zweierkomplement, 307, 313, 314, 357, 361,
Wunschfrequenzgang, 277 362, 377, 378
Wunschfunktion, 278, 280–282, 287, 290, 292, Zweierkomplementdarstellung, 357
295, 296, 328, 335 Zweiseitiges Signal, 23