Zusammenfassung - Universität Ulm

Transcription

Zusammenfassung - Universität Ulm
Ausarbeitung zum Thema
Signalverarbeitung
und
Signalanalyse in der Spracherkennung
Michael Munz
Fakultät für Informatik
Universität Ulm
23. November 2004
1
INHALTSVERZEICHNIS
2
Inhaltsverzeichnis
1 Motivation
3
2 Überblick
3
3 Typen von Filterbänken
3.1 Gleichförmige Filterbänke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Ungleichförmige Filterbänke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
7
7
4 Implementierung von gleichförmigen Filterbänken
4.1 FIR-Implementierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Windowing-Methode für FIR-Implementierung . . . . . . . . . . . . . . . . . . . . . . . .
4.3 STFT-Implementierung mit FFT-Methoden . . . . . . . . . . . . . . . . . . . . . . . . . .
8
8
9
10
5 Implementierung von ungleichförmigen Filterbänken
5.1 FFT-basierende Implementierung ungleichförmiger Filterbänke . . . . . . . . . . . . . . .
5.2 QMF-basierende Implementierung ungleichförmiger Filterbänke . . . . . . . . . . . . . . .
12
12
13
6 Zusammenfassung
13
7 Anhang: Einführung in die Systemtheorie
7.1 Der Dirac-Impuls . . . . . . . . . . . . . . . .
7.2 Die Abtastung . . . . . . . . . . . . . . . . .
7.3 Die diskrete Fourier-Transformation (DFT) .
7.4 Die Interpretation der Fourier-Transformation
7.5 Die Faltung . . . . . . . . . . . . . . . . . . .
7.6 Das Faltungstheorem . . . . . . . . . . . . . .
7.7 Lineare zeitinvariante Systeme . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
14
14
14
14
15
15
15
16
1
MOTIVATION
3
Abbildung 1: Modell einer kompletten Filterbank-Analyse
1
Motivation
Um in der Spracherkennung eine hohe Wahrscheinlichkeit für eine korrekte Erkennung eines Sprachsignals
zu erzielen, spielt die Vorverarbeitung des Signales und die Merkmalextraktion eine sehr wichtige Rolle.
Die extrahierten Merkmale werden später mit Hilfe von Merkmalqualifikatoren weiterverarbeitet.
Es stellt sich natürlich die Frage, welche Merkmale eines Signales für die Spracherkennung am wesentlichsten und aussagekräftigsten sind. Da auch biologisch die menschliche Fähigkeit, Sprache zu erkennen,
noch nicht endgültig geklärt ist, ist auch die Problemstellung der maschinellen Spracherkennung noch
nicht vollständig gelöst. Es gibt jedoch viele Lösungsansätze, die sich auch in der Praxis bereits bewährt
haben.
Filterbänke sind eine mögliche Art, Merkmale aus Sprachsignalen zu extrahieren. Dabei wird das Signal
in unterschiedliche Frequenzbänder zerlegt und jeweils deren Energie bestimmt. Diese Energiesignale sind
die Ausgabe der Filterbank.
2
Überblick
Zunächst möchte ich einen Überblick über den Ablauf der Verarbeitung geben, wie sie bei Filterbänken
üblich ist. Dabei wird die Verarbeitung aus systemtheoretischer Sicht erläutert.
1. Abtastung und Quantisierung
Da Sprache ein kontinuierliches Signal ist, jedoch ein Spracherkennungs-System nur mit zeit-und
wertdiskreten Signalen arbeiten kann, muss das Sprachsignal s(t) abgetastet werden. Dies entspricht
einer Multiplikation des Signales s(t) mit der Sha-Funktion (auch: Delta-Impuls-Folge, KammFunktion). Dieses
P∞ Ergebnis wird im folgenden mit s̃(n) bezeichnet.
Also: s̃(n) = k=−∞ s(t) · δ(n − kT ).
Menschliche Sprache umfasst ein Spektrum von ca. 300-6000 Hz. Daher genügt nach dem Abtasttheorem eine Abtastrate von 16 kHz, um das Signal eindeutig zu repräsentieren. Das Signal wird
anschliessend noch quantisiert, um ein wertdiskretes Ergebnis zu erhalten.
2. Vorverarbeitung
Hierbei wird das Sprachsignal verstärkt, Rauschen entfernt und das Signal geglättet. Dies dient
dazu, dass die anschliessende Verarbeitung die Fehler, z.B. in Form von Rauschen, nicht noch mehr
verstärkt, wie es bei manchen Filtern der Fall ist. Das verbesserte Signal wird mit s(t) bezeichnet.
2 ÜBERBLICK
4
3. Bandpass-Filter
Die eigentliche Filterbank-Verarbeitung. Hier wird das Signal s(n) mittels mehrerer unterschiedlicher Bandpassfilter gefiltert. Die Impulsantwort hi (n) der Bandpassfilter wird mit dem Signal
gefaltet. Das Ergebnis wird mit xi (n) bezeichnet:
xi (n) = s(n) ∗ hi (n)
4. Wellengleichrichter
Für die folgende Betrachtung soll angenommen werden, dass die Ausgaben der Bandpassfilter xi (n)
ideal sind, d.h. genau eine Sinusschwingung beinhalten: xi (n) = αi · sin(ωi · n). Hinzu kommt noch,
dass der Bandpassfilter eng genug sein muss, damit er nicht zwei oder mehr starke Signalharmonien
umfasst.
Ein Wellengleichrichter ist ein nicht-lineares System. Man kann das System durch folgende Gleichung beschreiben:
(
+1 , xi (n) ≥ 0
vi (n) = f (xi (n)) · w(n), w(n) =
−1 , xi (n) < 0
Diese Gleichung entspricht also im Ortsbereich der Betragsfunktion, wodurch auch klar wird, dass
diese nicht durch ein lineares System beschrieben werden kann.
Im Frequenzbereich kann dieses System durch folgende Faltung ausgedrückt werden:
Vi (f ) = Xi (f ) ∗ W (f ), wobei ∗ die zirkulare Faltung bedeutet. Im Frequenzraum betrachtet verschiebt der Wellengleichrichter das Spektrum in Richtung 0, erzeugt jedoch gleichzeitig höherfrequente Kopien des Spektrums (Aliase).
Idealisierte Spektren:
Xi (n) = 2j (δ(f − fi ) − δ(f − fi )), Sinus enthält nur eine Frequenz.
≈ δ(f ), Korrespondenzen der
W (f ) : Folge von schnell abklingenden Sinc-Funktionen ( sin(x)
x
Fenster-Funktionen) an ungeraden harmonischen Frequenzen fq = fi · q, q = 1, 3, ..., qmax .
V i(f ) : Impuls δ(f ) und Folge von kleiner werdenden Impulsen an geraden harmonischen Frequenzen fq = fi ∗ q, q = 2, 4, 6, ... (vgl. Abbildung 2 und 3).
5. Tiefpassfilterung
Die Tiefpassfilterung des Signales vi (n) soll bewirken, dass die durch die nicht-lineare Verarbeitung
des Signales im vorherigen Schritt entstandenen Aliase entfernt werden. Dabei werden die höheren
Frequenzen weggefiltert. Damit bleibt, im Frequenzraum betrachtet, nur noch das zum Nullpunkt
hin verschobene Frequenzspektrum des bandpassgefilterten Signales übrig, im Idealfall ein einzelner Dirac-Impuls. Die Gleichrichtung und die anschliessende Tiefpassfilterung kann man auch als
Berechnung des Gleichanteils der Signalfunktion sehen. Der Gleichanteil ist im Spektrum nahe dem
Koordinaten-Ursprung. Dies funktioniert jedoch nur solange ideal wie auch das Signal ideal ist, d.h.
dass bereits das Ausgangssignal xi (n) der Bandpassfilter ideal ist, wie oben beschrieben.
Im praktischen Fall ist jedoch das Ausgangssignal des Bandpasses nicht ideal, was wiederum bedeutet, dass das Ausgangsspektrum des Tiefpasses nicht nur ein einzelner Dirac ist, sondern die
Information befindet sich in einem (engen) Spektrum um den Gleichanteil im Ursprung. Die Breite dieses Spektrums hängt von der schnellsten Änderung im jeweiligen Frequenzband zusammen.
Meist liegt die Breite bei 20-30 Hz.
6. Sampling Rate Reduction Box
Die Sampling Rate Reduction Box dient zur Komprimierung der Datenmenge. Da das FrequenzSpektrum des Tiefpasses wie oben erwähnt eine maximale Frequenz von 30 Hz hat, kann das Signal
nun gemäß dem Abtasttheorem auch mit weniger Samples rekonstruiert werden. Es reicht hierfür
2 ÜBERBLICK
5
Abbildung 2: Idealisiertes Spektrum einer Sinus-Schwingung bei der Filterung durch Wellengleichrichter
eine Abtastrate von 60 Hz, was zu einer erheblich geringeren Datenmenge führt.
7. Amplitudenkomprimierung
Eine letzte oft angewendete Methode, um die Datenmenge zu reduzieren, ist die Amplitudenkompression. Hierbei werden Verfahren wie log-Encoding oder µ-law-Encoding verwendet, die hier nicht
weiter betrachtet werden sollen.
Ein Beispiel:
16 Kanal-Filterbank, maximale Frequenz im zu untersuchenden Spektrum: fmax = 8000 Hz. Es soll
bit
eine Samplingrate von fs = 20000 Hz verwendet werden, Quantisierung mit 12 sample
⇒ bitrate =
bit
· 12 sample
= 240000 bit
20000 samples
s
s
Mit Hilfe der Sampling Rate Reduction Box mit Resampling-Frequenz 50 Hz und eines 7-bit-logEncoders wird die Datenmenge auf 5600 bit
s reduziert, was einer Komprimierung von 42:1 entspricht.
Zu beachten ist, dass diese Komprimierung für die zu extrahierende Datenmenge verlustlos ist.
8. Nachverarbeitung
Nach der Komprimierung kann das Signal noch nachverarbeitet werden, um die Ausgabe des
Filterbank-Analysators so klar wie möglich zu machen. Hierzu können unter anderem verwendet
werden: zeitliche Glättung, Frequenzglättung, Normalisierung, Quantisierung oder Schwellwertverfahren, Hauptachsentransformation.
2 ÜBERBLICK
Abbildung 3: Spektrum einer Sinus-Schwingung bei der Filterung durch Wellengleichrichter
6
3
TYPEN VON FILTERBÄNKEN
7
Abbildung 4: Frequentunterteilung einer ungleichförmigen Filterbank
3
Typen von Filterbänken
Es gibt meherere Arten von Filterbänken. Mit Filterbank wird eine Gruppe von Filtern bezeichnet.
Im folgenden werden wir uns mit gleichförmigen und ungleichförmigen Filterbänken befassen. Dabei
unterscheidet man die Art, wie die Frequenzbänder der Filteraufgeteilt sind, mit denen das Signal gefiltert
wird.
3.1
Gleichförmige Filterbänke
Gleichförmige Filterbänke sind die am meisten verwendete Filterart. Dabei wird das zu untersuchende
Frequenzspektrum gleichförmig unterteilt, d.h. die Mittelfrequenz des i-ten Filters bei Q Filtern ist fi =
Fs
N · i, 1 ≤ i ≤ Q, wobei Fs die Sampling-Rate ist und N die Anzahl der Filter, die benötigt werden, um
das Frequenzspektrum komplett abzudecken.
Für das Design von gleichförmigen Filterbänken gibt es mehrere Parameter, die eingehalten werden
sollten. Für die Anzahl Q der Filter soll gelten: Q ≤ N2 . Falls Q = N2 , so wird das gesamte Spektrum
abgedeckt.
Für die Breite bi der einzelnen Filterspektren soll gelten: bi ≥ FNs . Hierbei bedeutet Gleichheit, dass sich
die Spektren nicht überlappen, sondern gerade aneinanderstoßen.
Die Anzahl sollte nicht zu klein sein, da sonst das Spektrum nicht genügend untersucht wird. Die Anzahl
darf natürlich auch nicht zu groß sein, da sonst die Filterbreite zu eng werden würde, oder die Filter
sich zu einem Großteil überschneiden würden. Ein zu enger Filter hat den Nachteil, dass evtl. einzelne
Harmonien nicht durch den Filter erkannt werden, insbesondere bei sehr hochfrequenten Sprechern wie
Kindern oder Frauen. Wenn diese Größe unterschritten wird, würde ein Teil des Spektrums fehlen und
das Ergebnis daher unbrauchbar sein. Meist wählt man 8 < Q ≤ 32.
3.2
Ungleichförmige Filterbänke
Ungleichförmige Filterbänke haben die Eigenschaft, dass die Breite der Filterspektren nicht gleich ist,
sondern mit zunehmender Mittelfrequenz der Filter größer wird.
Eine häufig verwendete Methode ist die logarithmische Aufteilung. Diese wird gern verwendet, da die
menschliche Wahrnehmung von Audio-Signalen logarithmisch ist (vgl. z.B. Lautstärke in dB).
Dies bedeutet dann für Q Bandpassfilter der Breite bi :
b1
bi
fi
=C
= α · bi−1 , 2 ≤ i ≤ Q
i−1
X
bj − b1
= f1 +
bj +
1
j=1
4
IMPLEMENTIERUNG VON GLEICHFÖRMIGEN FILTERBÄNKEN
8
Abbildung 5: Kritische Bandbreite
wobei C die Anfangsbreite und f1 die Anfangsfrequenz ist. α ist ein konstanter Wachstumsfaktor. Meist
wird hierbei α = 2 verwendet. Dies verdoppelt jeweils die Frequenz, was für die menschliche Wahrnehmung eine Erhöhung des Tons um 1 Oktave entspricht. Dies ergibt dann einen sog. Oktavfilter. Eine
Alternative zu dieser Aufteilung ergab sich aus einer Studie, wie unterschiedliche Frequenzen vom Menschen wahrgenommen werden. Psychoakkustische Experimente zeigten, dass es mehrere Gruppen von
Frequenzen gibt, die jeweils in bestimmten Kriterien vom Menschen gleich empfunden werden. Die Breite der Frequenzgruppe wird kritische Bandbreite genannt. Die kritische Bandbreite ist unter 1000Hz
annähernd konstant und umfasst jeweils 1/3 Oktave, was einer linearen Skalierung entspricht (vgl. Abbildung 6). Oberhalb von 800 − 1000Hz steigt sie exponentiell an, was zu einer logarithmischen Skalierung
führt. Dies kann bei der Aufteilung der ungleichförmigen Filterbänke verwendet werden, um möglichst
gut die menschlichen psychoakkustischen Wahrnehmungen zu simulieren. Die bekanntesten Skalierungen
hierbei sind die mel-Scale und die Bark-Scale. Es wird jedoch auch oft α = 23 verwendet, was eine OktavDrittelung ergibt und daher unter 1000 Hz einer kritischen Bandbreite entspricht. Dies nennt man dann
einen Terzfilter.
4
Implementierung von gleichförmigen Filterbänken
Das System einer gleichförmigen Filterbank kann unterschiedlich implementiert werden. Zunächst können
die verwendeten Filter erst einmal in 2 Kategorien aufgeteilt werden: IIR (Infinite Impulse Response unendliche Impulsantwort) und FIR (Finite Impulse Response - endliche Impulsantwort).
IIR-Filter sind komplizierter zu implementieren, da die Impulsantwort eines IIR-Filters unendlich ist und
daher die Faltung mit dem Signal nicht möglich ist. Die effizienteste Implementierung ist eine kaskadierte
oder parallele Berechnung. Wir wenden uns im Folgenden den FIR-Filtern zu.
4.1
FIR-Implementierung
Die einfachste Implementierung eines FIR-Filters in Hard- oder Software ist die folgende: man faltet das
Signal s(n) diskret mit der Impulsantwort des Filters hi (n). Dies ist möglich, da die Impulsantwort eines
FIR-Filters endlich ist. Dies muss für jeden Kanal wiederholt werden. Für L Samples und Q Kanäle ergibt
sich:
xi (n) = s(n) ∗ hi (n) =
L−1
X
hi (m) · s(n − m)
(1)
m=0
Dabei ergibt sich eine Komplexität von
CF IR = L · Q
(2)
4
IMPLEMENTIERUNG VON GLEICHFÖRMIGEN FILTERBÄNKEN
9
.
4.2
Windowing-Methode für FIR-Implementierung
Die Windowing-Methode ist eine effizientere Implementierung für FIR-Filter. Diese Methode kann angewendet werden, falls die Systemantwort jedes Filters beschrieben werden kann durch ein Fenster, dass
auf der Frequenzachse verschoben ist:
Hi (f ) = W (f − fi ). Dies korrespondiert im Ortsbereich mit:
hi (n) = w(n) · e−j2πfi n , also einer Modulation des Signales. In diesem Fall kann man die Ausgabe des
Filters in Gleichung 1 ausdrücken durch:
xi (n)
=
X
=
X
w(m)e−jωi n s(n − m)
m
s(m)w(n − m)e−jωi (n−m)
m
= e−jωi n
X
s(m)w(n − m)e−jωi m
(3)
m
|
{z
Sn (F )
= e−jωi n Sn (ωi )
}
(4)
wobei ωi = 2πfi n und Sn (ωi ) die Kurzzeit-Fourier-Transformation (STFT) von s(n) ist. Die KurzzeitFourier-Transformation kann wesentlich effizienter implementiert werden, wie im folgenden beschrieben
wird.
Betrachtet man die STFT in Gl. 3 im Frequenzraum für ein festes n = n0 :
Sn0 (fi )
=
X
s(m)w(n0 − m)e−jωi m
m
= F T [s(m) · w(n0 − m)]|f =fi
wobei F T [·] die Fouriertransformation ist. Dies bedeutet: die STFT ist gleichbedeutend mit der Fouriertransformation des Signals, welches mit einem Zeitfenster multipliziert wird, an der Stelle f = fi . Es wird
also immer nur ein bestimmter Zeitabschnitt des Signales transformiert.
Da w ein FIR-Filter ist, kann seine Größe L explizit festgelegt werden. L bestimmt also die Anzahl der
Samples, die bei der DFT berücksichtigt werden. Man kann für unterschiedliche Filtergrößen L feststellen,
dass dies stark unterschiedliche Auswirkungen auf das Filterergebnis sowohl im Frequenz- als auch im
Zeitbereich hat. Falls L 1 Signalperiode: im Spektrum von Sn (f ) sind die einzelnen Frequenzen gut
sichtbar, ebenso können die einzelnen Obertöne klar voneinander getrennt werden. Im Zeitbereich kann
man die Periodizität des gefilterten Signales sehr gut sehen.
Falls jedoch L 1 Signalperiode: Jetzt sind im Spektrum von Sn (f ) die einzelnen Frequenzen nicht mehr
klar voneinander getrennt, jedoch erhält man so eine gute Abschätzung des groben Spektralverlaufes.
Man kann die STFT jedoch auch als lineare Filteroperation im Zeitbereich eines zeitdiskreten Signales interpretieren.
Hierzu betrachten wir uns noch einmal Gl. 3:
interpretiert man die Summe als Faltung, so ergibt sich Folgendes für ein festes f = fi , bzw. w = wi =
2πfi :
4
IMPLEMENTIERUNG VON GLEICHFÖRMIGEN FILTERBÄNKEN
Sn (fi )
X
=
10
s(m)w(n0 − m)e−jωi m
m
in
(s(n) |e−jω
{z } ) ∗ w(n)
=
M odulation
Sn (fi ) ist also die Faltung des frequenzmodulierten Signals mit einem Tiefpassfilter.
Betrachten wir dies im Frequenzbereich: da die Modulation im Zeitbereich zu einer Verschiebung im
Frequenzbereich korrespondiert, erhalten wir:
= F T [(s(n) · e−jωi n ) ∗ w(n)]
ωi
= S(f −
) · W (f )
2π
F T [Sn (fi )]
ωi
wobei W (f ) die Fouriertransformierte von w(n) und S(f − 2π
) die verschobene Fouriertransformierte von
s(n) ist.
W (f ) approximiert innerhalb eines schmalen Bandes 1 und ist sonst überall 0.
Dies erlaubt uns also folgende Interpretation:
Sn (f ) ist also das Spektrum des Signales, gefiltert mit einem Filter, dessen Bandbreite gleich der Bandbreite von W (f ) ist, bei fester Frequenz fi .
4.3
STFT-Implementierung mit FFT-Methoden
Nach den oben angestellten Beobachtungen können wir nun die Kurzzeit-Transformation auf FFTMethoden zurückführen. Wir wollen dies nun verwenden, um eine gleichförmige Filterbank zu implementieren mit der gleichförmigen Frequenzaufteilung fi = i(F s/N ), i = 0, 0, ..., N − 1. Betrachten wir
dazu noch einmal Gl. 3:
2π
xi (n) = e−j N in
X
m
2π
s(m)w(n − m) e−j N im
|
{z
}
(5)
=:sn (m)
Setzen wir m = N r + k, 0 ≤ k ≤ N − 1, −∞ < r < ∞, so erhalten wir:
xi (n)
=
2π
e−j N in
−1
X NX
r
e−j2πir =1
=
2π
e−j N in
N
−1 X
X
=
e
2π
sn (N r + k) e−j N ik
(7)
r
|
N
−1
X
(6)
k=0
k=0
−j 2π
N in
2π
sn (N r + k)e−j N i(N r+k)
{z
=:un (k)
2π
un (k)e−j N ik
}
(8)
k=0
Nach dieser äquivalenten Umformung der Darstellung haben wir unser Ziel erreicht. Denn Gleichung 8
beschreibt lediglich die N-Punkt diskrete Fouriertransformation (DFT) der Sequenz un (k), welche anschliessend moduliert wird. un (k) ist jedoch die gefensterte Ausgangsfunktion sn (m), die stückweise
aufsummiert wird.
Formulieren wir nun den Algorithmus (s. auch Abbildung 4):
1. Filterung des Signals s(m) mit dem Fenster-Filter mit L Samples ergibt sn (m) = s(m)w(n − m)
4
IMPLEMENTIERUNG VON GLEICHFÖRMIGEN FILTERBÄNKEN
11
Abbildung 6: STFT-Implementierung einer gleichförmigen Filterbank
2. Bilden von un (k): das Signal sn (m) wird jeweils in N Samples große Stücke geteilt. Diese werden
alle aufsummiert.
3. Die Transformation: hierbei kann die DFT mit FFT-Methoden verwendet werden: transformiere
mit der N-Punkt-DFT das Signal un (k).
2π
4. Moduliere das DFT-Ergebnis mit der Sequenz ej N in oder: das Signal un (k) wird im Zeitbereich
vor der Transformierung zirkular verschoben, was zu der Modulation korrespondiert und effizienter
zu berechnen ist.
Was wir durch die Umformung gewonnen haben, erkennt man am Besten, indem man sich die Komplexität der DFT-Implementierung (die natürlich FFT-Methoden verwendet) ansieht:
CF F T = 2N log(N )
(9)
LQ
Vergleicht man nun Gl. 4.1 mit Gl. 9, so erhält man das Verhältnis R = 2N log(N
) , das in den meisten
praktischen Fällen größer als 1 ist. Dies bedeutet, dass die Implementierung mit Hilfe der DFT wesentlich
effizienter ist.
Ein Beispiel: 16 Kanal-Filterbank, N = 32, Filter mit L = 128 Samples, 12, 8 ms bei 10 kHz Sampling Rate und Q = 16 Kanäle.
128 · 16
R=
= 6, 4
2 · 32 · 5
Hier ist die DFT-Implementierung also 6,4-mal so schnell.
5
IMPLEMENTIERUNG VON UNGLEICHFÖRMIGEN FILTERBÄNKEN
5
12
Implementierung von ungleichförmigen Filterbänken
Bei ungleichförmigen Filterbänken besitzt der k-te Bandpass-Filter die Impulsantwort hk (n) mit der Mittelfrequenz ωk und der Bandbreite ∆wk .
Die einfachste Implementierung einer ungleichförmigen Filterbank ist die direkte Faltung der Impulsantwort hk (n) mit dem Eingangssignal s(n). Dabei ergeben sich Q bandpassgefilterte Ausgangssignale. Die
Faltung ist jedoch insbesondere bei längeren Sequenzen ineffizient.
Falls jedoch jeder Filter mit Hilfe der Fenster-Design-Methode implementiert wird, ergibt sich, dass die
Ausgabe eines Q-Kanal-Filterbank-Analysators völlig unabhängig von der Verteilung und der Anzahl der
verwendeten Filters ist. Der Beweis hierzu kann folgendermaßen skizziert werden:
Sei h̃k (n) die Impulsantwort des zu designenden idealen Filters, w(n) ein FIR-Fenster-Filter. Die Impulsantwort des k-ten Bandpassfilters sei
hk (n) = w(n)h̃k (n)
Die korrespondierenden Fourier-Transformierte der Summe aller Filterantworten lautet dann
H(f ) =
Q
X
W (f ) ∗ H̃k (f ) = W (f ) ∗
Q
X
H̃k (f )
k=1
k=1
PQ
wobei k=1 H̃k (f ) die Summe aller Impulsantworten aller Q idealen Filter ist, also ein zusammengesetztes
Fenster aus lückenlos aneinandergefügten
( Fenstern.
P
1 , fmin ≤ f ≤ fmax
Q
˜ ) :=
Und damit ist H(f
, mit fmin und fmax den jeweils kleinsten
k=1 H̃k (f ) =
0 , sonst
und größten im Spektrum zu untersuchenden Frequenzen, und damit unabhängig von der Verteilung und
der Anzahl der einzelnen Filter.
˜ ).
Insgesamt also: H(f ) = W (F ) ∗ H(f
5.1
FFT-basierende Implementierung ungleichförmiger Filterbänke
Um ungleichförmige Filterbänke effizient zu implementieren, kann man das Ergebnis aus 4.3 verwenden,
indem man aus der gleichförmigen Filterbank einzelne Kanäle kombiniert. Diese mögliche Implementierung verwendet dann ebenfalls die FFT-Methoden, jedoch kann man dies noch optimieren.
Wir untersuchen, wie sich die Addition zweier Filterausgaben mathematisch darstellen lässt. Filtern wir
das Eingangssignal s(n) mit einem Fenster-Filter mit der Impulsantwort w(n) und transformieren das
Ergebnis anschliessend mit der N-Punkt-DFT, so ergibt sich Folgendes:
Xk =
N
−1
X
2π
x(n)e−j N nk
n=0
Addiert man nun, wie oben beschrieben, das Ergebnis zweier Filter zusammen, so erhält man:
Xk + Xk+1
=
N
−1
X
2π
2π
x(n)(e−j N nk + e−j N n(k+1) )
n=0
=
N
−1
X
n=0
2π
[x(n)2e−j N n cos(
πn −j 2π nk
)]e N
N
Dies bedeutet, dass die Kombination zweier Kanal-Antworten äquivalent berechnet werden kann, indem
2π
man das Eingangssignal zuerst fenstert, anschliessend mit der komplexen Folge 2e−j N n cos( πn
N ) multipliziert und erst dann Fourier-transformiert. Bei mehr als zwei Kanälen ergibt sich analog dazu ein anderer
Faktor, der jeweils wieder wie oben bestimmt werden kann. Wir erhalten also daraus den Vorteil, dass
die Ergebnisse nicht mehr rekursiv berechnet werden müssen.
6
ZUSAMMENFASSUNG
13
Abbildung 7: QMF-Schema, inkrementelle Filterung
5.2
QMF-basierende Implementierung ungleichförmiger Filterbänke
Da sich aus rekursiven Strukturen oftmals leicht Bäume bilden lassen, kann für die Implementierung
ungleichförmiger Filterbänke auch ein Baum-basierender Ansatz gewählt werden. Dabei verfährt man
folgendermaßen (vgl. Abbildung 7: das Eingangssignal wird schrittweise gefiltert. In jeder Stufe wird das
Signal in ein Hoch- und ein Tiefband zerlegt. Das Tiefband wird anschliessend weitergefiltert. Da durch
die Filterung natürlich die maximale Frequenz reduziert wird und sich somit das Signal auch aus weniger
Samples wieder eindeutig und korrekt rekonstruieren lässt, wird zudem nach jeder Stufe die Sampling
Rate reduziert, um die Filterung effizienter ablaufen lassen zu können.
Meist werden hierbei sog. Quadratur Mirror-Filter (QMF-Filter) verwendet. Dies sind Filter, deren Impulsantworten komplementär sind. Diese Filter sind besonders für Oktav-Bänder sehr effizient zu implementieren. Bei einer Oktav-Skalierung bedeutet dies, dass ein QMF-Filter-Paar aus Hoch- und Tiefpass
ein Spektrum in 2 genau gleich große Anteile zerlegt. Dies bedeutet auch, dass die Sampling-Rate anschliessend um den Faktor 2 verkleinert werden kann. Der Hochpass-Anteil wird anschliessend in die
nächste Stufe weitergegeben, und das Verfahren beginnt wieder von vorne. Man erhält so schrittweise die
Filterantworten Xn , Xn−1 , ..., X2 , X1 .
6
Zusammenfassung
Es gibt also eine Reihe unterschiedlicher Verfahren, um gleichförmige wie auch ungleichförmige Filterbänke zu implementieren. Sie unterscheiden sich in Aufwand der Implementierung, Effizienz und
natürlich in der Ausgabequalität. Beim Design solcher Filterbänke spielen eine Reihe unterschiedlicher
Parameter eine Rolle, die bisher noch nicht genauer betrachtet wurden. Hierzu zählt die Art der Filter
(IIR, FIR), die Art des Fenster-Filters (z.B. Hamming-Window,...), Anzahl der Kanäle.
7
ANHANG: EINFÜHRUNG IN DIE SYSTEMTHEORIE
7
14
Anhang: Einführung in die Systemtheorie
An dieser Stelle möchte ich eine kurze Einführung zur Systemtheorie, Transformationen und Signalanalyse geben.
7.1
Der Dirac-Impuls
Der Dirac-Impuls (auch: Dirac-Stoß) ist eine in der Systemtheorie wesentliche Funktion, die auf den ersten
Blick recht einfach aussieht, jedoch ist die mathematisch exakte Beschreibung des Signales sehr komplex.
Die diskrete Definition des Dirac-Impulse δ(n):
(
1, n = 0
δ(n) :=
0, n 6= 0
Für kontinuierliche Betrachtungen muss dieser Dirac-Impuls jedoch über Distributionen beschrieben werden, was jedoch hier nicht weiter betrachtet werden soll.
Anschaulich kann man sich den Dirac-Impuls als unendlich schmales, unendlich hohes Signal vorstellen,
dass genau die Fläche 1 hat.
7.2
Die Abtastung
Die Abtastung ist ein wesentliche Instrument der Systemtheorie. Sie beschreibt die Verarbeitung kontinuierlicher Signale zu diskreten Signalen, die in einem Rechner verarbeitet werden können. Dabei werden
abzählbar viele Signalwerte des kontinuierlichen Signales verwendet und an das System weitergeleitet.
Die Abtastung eines Signales x(n) ist definiert als Multiplikation des Signales mit der Dirac-Impuls-Folge
∆(n):
∆(n) =
∞
X
δ(n − kT )
k=−∞
Also ist die Gleichung eines abgetasteten Signales:
∞
X
x(n) =
x(t) · δ(n − kT )
k=−∞
wobei x(t) das kontinuierliche Signal und
7.3
1
T
die Abtastrate ist.
Die diskrete Fourier-Transformation (DFT)
Die Fourier-Transformation ist eine Operation der Systemtheorie. Da wir uns im Folgenden nur mit
wert- und zeitdiskreten Signalen beschäftigen, beschränke ich mich hierbei auf die sog. diskrete FourierTransformation (DFT). Die DFT ist definiert für eine endliche Anzahl N Abtastpunkte.
Die Definition lautet:
Xi (f ) =
N
−1
X
x(k)ωnki , i = 0, 1, ..., N − 1
k=0
−j 2π
n
wobei ωn = e
die n-ten Einheitswurzeln sind.
Die Definition der inversen diskreten Fouriertransformation (IDFT) lautet:
x(k) =
N −1
1 X
X(i)ωn−ki , k = 0, 1, ..., N − 1
N i=0
7
ANHANG: EINFÜHRUNG IN DIE SYSTEMTHEORIE
15
Um N Abtastwerte zu erhalten, wird also jeweils das Signal zuerst abgetastet und anschliessend mit
einem Fenster (ideal: rect) multipliziert, um nur einen Bereich von N Abtastwerten zu transformieren.
Die Transformierte eines Signales wird immer mit Großbuchstaben und der Variablen f oder ω bezeichnet,
die Rücktransformierte mit Kleinbuchstaben und der Variablen n oder k (im kontinuierlichen Fall mit t)
Ein solches Fourier-Paar wird auch Korrespondenz genannt. Man sagt: x(n) korrespondiert mit X(f ).
7.4
Die Interpretation der Fourier-Transformation
Die Fourier-Transformation kann auf unterschiedliche Weise interpretiert werden. Allen Interpretationen
gleich ist jedoch das Resultat der Transformation: Die DFT transformiert ein Signal aus dem sog. Ortsoder Zeitbereich in den Fourier- oder Frequenzbereich. Dieser Frequenzbereich gibt an, wie stark die im
Signal vorkommenden verschiedenen Frequenzen sind. Dies beruht auf der Tatsache, dass jedes periodische Signal aus unterschiedlichen Kombinationen von Sinus- bzw. Cosinus-Funktionen zusammengesetzt
werden kann. Jede Sinus-Funktion enthält also genau eine Frequenz.
Für die Begründung, warum die Fourier-Transformation dies leistet, hat unterschiedliche Interpretationsmöglichkeiten, wovon jedoch alle äquivalent sind, jedoch jede für sich einen anderen anschaulichen
Ansatz hat:
1. Möglichkeit: Die Fourier-Transformation korreliert die Funktion mit allen möglichen Sinus-CosinusSchwingungen (die Exponential-Funktion enthält Sinus-Cosinus-Schwingungen). Vgl. die Fourierreihe und ihre Fourier-Koeffizienten.
2. Möglichkeit: Die Fourier-Transformation projiziert die Funktion auf verschiedene Sinus-CosinusSchwingungen durch das Skalarprodukt.
Beachte: das Ergebnis einer Fourier-Transformation ist (in den meisten Fällen) nicht reell, sondern
komplex. Daher wird in einem Plot die Transformierte meist durch Betrag und Phase (im Folgenden
meist nur durch Betrag) dargestellt.
7.5
Die Faltung
Die Faltung ist eine weitere wesentliche Operation der Systemtheorie. Die Faltung eines Signales x(n)
mit einem Signal y(n) ist definiert als:
w(n)
= x(n) ∗ y(n)
∞
X
=
x(i)u(n − i)
i=−∞
Anschaulich kann dies folgendermaßen interpretiert werden:
Spiegle das zweite Signal, verschiebe dies von links nach rechts über das erste Signal und bestimme für
jede Verschiebung die Fläche des Produktes beider Signale.
Das neutrale Element der Faltung ist der Dirac-Impuls:
x(k) ∗ δ(k) = x(k)
7.6
Das Faltungstheorem
Die Faltung und die Fourier-Transformation hängen sehr eng zusammen. Es gilt nämlich für ein Signal
w(k):
w(n)
= x(n) ∗ y(n)
LITERATUR
16
korrespondiert im Frequenzbereich mit
W (f )
= X(f ) · Y (f )
wobei W (f ), X(F ), Y (F ) die jeweils korrespondierenden Funktionen zu w(k), x(k), y(k) sind. Dies bedeutet also, dass die Faltung ∗ mit der Multiplikation · korrespondiert. Dies gilt auch analog umgekehrt. Dies
wird oft verwendet, um eine Faltung effizienter zu berechnen. Mit Hilfe der Fast-Fourier-Transformation
(FFT) kann die DFT mit der Zeit-Komplexität N log(N ) berechnet werden. Dies ist insbesondere bei
langen Sequenzen viel effizienter als die Faltung. In diesem Fall transformiert man also die beiden Signale, multipliziert sie im Frequenzbereich und transformiert dann das Ergebnis wieder zurück in den
Ortsbereich, um so eine Faltung zu berechnen (der Befehl convı̈n Matlab ist genau so implementiert).
7.7
Lineare zeitinvariante Systeme
Ein lineares zeitinvariantes System (LTI-System) ist die zentrale Beschreibungsform in der Systemtheorie.
Für LTI-Systeme muss gelten, dass das Systemverhalten linear und zeitinvariant ist. LTI-Systeme werden
immer anhand ihrer Impulsantwort beschrieben. Ein System bildet eine Folge von Eingangswerten x(n)
auf eine Folge von Ausgangswerten y(k) ab. Man schreibt: y(k) = H{x(k)}.
Die Impulsantwort h(k) eines Systems ist die Antwort(das Ergebnis) am Ausgang eines Systems, wenn die
Eingabe ein Dirac-Impuls ist. Betrachtet man nun die Antwort des LTI-Systems auf den Dirac-Impuls:
y(k)
=
H{x(k)} = H
∞
X
x(i)δ(k − i)
i=−∞
Linearitaet
=
=
∞
X
i=−∞
∞
X
i=−∞
=
∞
X
x(i)H{δ(k − i)}
x(i)
H{δ(k)}
| {z }
h(k−i),Zeitinvarianz
x(i)h(k − i)
i=−∞
=
x(k) ∗ h(k)
Für LTI-Systeme gilt also:
y(k) = x(k) ∗ h(k)
Systeme, deren Impulsantwort unendlich ist, nennt man Infinite Impulse Response System (IIR-System)
oder auch rekursive Systeme, analog dazu Systeme mit endlicher Impulsantwort nennt man Finite Impulse
Response System (FIR-System). Endlich heisst hier: die Antwort besteht aus unendlich vielen Stellen 6= 0.
Literatur
[1] Lawrence Rabiner, Biing-Hwang Juang: Fundamentals of Speech Recognition, Kapitel 3, Prentice
Hall, 1993
[2] Prof. Dr-Ing. M.Bossert: Skript Signale und Systeme, Universität Ulm, Stand 15.Otober 2003
[3] Stearns, Hush: Digitale Verarbeitung analoger Signale, Oldenburg, 7. Auflage, 1999
[4] Hoffmann: Grundlagen der Frequenzanalyse, expert- Verlag, 2000