• Keine Ergebnisse gefunden

Die kaskadierte korrelierende Transformation (CCT)

1.3 Quellenmodellierung

2.1.3 Die kaskadierte korrelierende Transformation (CCT)

Mit der bisher besprochenen elementaren (de)korrelierenden Transformation las-sen sich nur zweidimensionale Datenvektoren transformieren.

In diesem Abschnitt wird gezeigt, wie die elementare 2×2-Transformation nach Gleichung 2.2 nach dem Prinzip der Teilbandcodierung (s. [JN90], [VK95]) durch Kaskadenschaltung zu Transformationen höherer Ordnung verallgemeinert wer-den kann.

Der Vorteil dieser Erweiterung zu Transformationen höherer Ordnung besteht in der Möglichkeit zu einer effizienten Umsetzung nach dem Schema der FFT (s.

Abschnitt 2.1.3.4).

Theorie

2.1.3.1 Die korrelierende Transformation als kritisch abgetastete Fil-terbank

Die Teilbandcodierung, welche ja zur Transformationscodierung äquivalent ist (s. [VK95]), beschreibt die Transformationen höherer Ordnung als Kaskadierung einer elementaren Grundstruktur, der kritisch abgetasteten zweikanaligen Filter-bank (s. Abbildung 2.4).

h0[n]

h1[n]

g0[n]

g1[n]

2

2

2

2

+

x[n] x[n]˜

˜ x1[n]

˜ x0[n]

u1[n] v1[n]

u0[n] v0[n]

y1[n]

y0[n]

Tα T−1α

˜ x[2n]

˜ x[2n+ 1]

x[2n] ! x[2n+ 1]

!

y0[2n]

y1[2n]

!

Abbildung 2.4: Kritisch abgetastete zweikanalige Filterbank als Analogie zur Transformation mit der kaskadierenden Transformation.

Die Relation zwischen den Transformationskoeffizienten y0[n] und y1[n] und den zwei benachbarten Quellensignalkoeffizienten x[n]und x[n−1]ergibt sich zu

u0/1[n] =x[n]∗h0/1[n] = X1 k=0

h0/1[k]·x[n−k] (2.37)

⇒y0/1[n] =h0/1[0]·x[n] +h0/1[1]·x[n−1], (2.38) welches sich in Matrixschreibweise zu

y=T·x=

h0[1] h0[0]

h1[1] h1[0]

· x0

x1

(2.39)

ergibt. Die Rekonstruktion arbeitet auf 1:2 unter- und dann 2:1 hochgetasteten Transformationskoeffizienten

v0/1 = [y0/10] (2.40)

2.1 Die (de)korrelierende Transformation

als Eingangsdaten für die Interpolationsfilter.

˜

x0/1[n] =v0/1[n]∗g0/1[n], n∈[0,1] (2.41)

⇒x˜0/1 = X1 k=0

g0/1[k]y0/1[n−k] (2.42)

⇒x˜0/1 =g0/1[0]·y0/1[n] +g0/1[1]·y0/1[n−1] (2.43)

⇒x˜0/1 =g0/1[0]·y0/1[1] +g0/1[1]·y0/1[0] (2.44) Mitx[n] = ˜˜ x0[n] + ˜x1[n] folgt

˜

x[0] = g0[1]·y[0] +g1[1]·y[1] and (2.45)

˜

x[1] = g0[0]·y[0] +g1[0]·y[1], (2.46) so daß die Matrixschreibweise für die Synthesestufe sich zu

˜

x=Tinv.·y=

g0[1] g1[1]

g0[0] g1[0]

· y0

y1

(2.47) ergibt. Mit diesen Gleichungen lassen sich die der korrelierenden Transformation äquivalenten Synthese- und Analysefilter formulieren

H0(z) = 1

2α +α·z1 (2.48)

H1(z) = 1

2α −α·z1 (2.49)

G0(z) = 1

2α ·z1+α (2.50)

G1(z) = 1

2α ·z1−α . (2.51)

Die Quelle der zusätzlichen Redundanz kann anhand dieser Gleichungen auch im Frequenzbereich aufgezeigt werden. Berechnet man den Amplitudenfrequenzgang der Analysefilter, so erhält man

|H0(jΩ)|= r

α2+ 1

2 + cos (Ω) =p

κ+ cos (Ω) (2.52)

|H1(jΩ)|= r

α2+ 1

2 −cos (Ω) =p

κ−cos (Ω). (2.53) Anhand der Darstellung der Amplitudenfrequenzgänge für den orthonormalen und den nichtorthonormalen Fall in Abbildung 2.5 erkennt man die schlechter werdende Trennschärfe mit steigender Nichtorthonormalität. Damit entstehen zunehmend Aliasanteile, also Leistungsanteile aus dem tieffrequenten Bereich, welche vom Hochpaßanalysefilter mit erfaßt werden und umgekehrt.

Theorie

|H(jΩ)|

|H0(jΩ)| |H1(jΩ)|

π

π 2

Abbildung 2.5: Amplitudenspektrum der Analysefilter (durchgezogen für α =

1/2+ 0.1, gestrichelt für α =1/2)

Mit Tinv.·T=I muß für die Gesamttransferfunktion

Hges.(z)=! zL (2.54)

bzw.

Hges.(jΩ)=! ejLΩ (2.55)

gelten, d.h. bis auf eine Verzögerung um LAbtastwerte muß das Ausgangssignal dem Eingangssignal entsprechen.

Die 1:2/2:1 Unter/Hochtastung läßt sich als Multiplikation mit δ2[n] im Zeit-bereich beschreiben. Im FrequenzZeit-bereich wird daraus eine Faltung mit 1 ·

2 δ

2 (jΩ) = 12 ·δπ(jΩ). Somit kann die Gesamttransferfunktion der kritisch ab-getasteten Filterbank aus Abbildung 2.4 in der Form

Hges.(jΩ) =

H0(jΩ)∗ 1

2·δπ(jΩ)

·G0(jΩ) +

H1(jΩ)∗ 1

2·δπ(jΩ)

·G1(jΩ)=! ejLΩ (2.56) schreiben. Die Faltung mit 12 ·δπ(jΩ) bewirkt eine spektrale Wiederholung der durch die AnalysefilterH0/1(z)gefilterten Signalanteile mit der normierten Kreis-frequenz π (s. Abbildung 2.6)

2·ejLΩ =

" X

k=−∞

H0 j(Ω−k·π)#

·G0(jΩ)+

" X

k=−∞

H1 j(Ω−k·π)#

·G1(jΩ). (2.57) Durch die Anwendung der Synthesefilter G0/1(jΩ) werden die Summen effektiv auf die Glieder k ∈[−1,1]beschränkt (s. Abbildung 2.6).

2.1 Die (de)korrelierende Transformation

P k=−∞

H0(j(Ωk·π) )

π

2 π

. . . . . .

G0(jω)

Abbildung 2.6: Entstehung der Aliasanteile (grau eingezeichnet) bei einer kritisch abgetasteten zweikanaligen Filterbank.

Somit ergibt sich

2·ejLΩ =H0(jΩ)·G0(jΩ)+H0 j(Ω−π)

·G0(jΩ)+H0 j(Ω+π)

·G0(jΩ)+

H1(jΩ)·G1(jΩ) +H1 j(Ω−π)

·G1(jΩ) +H0 j(Ω +π)

·G1(jΩ), (2.58) was sich mit der 2π-Periodizität des ZDFT-Spektrums und damit H0/1 j(ω − π)

=H0/1 j(ω−π+ 2π)

=H0/1 j(ω+π) zu 2·ejLΩ =H0(jΩ)·G0(jΩ) + 2·H0 j(Ω±π)

·G0(jΩ)+

H1(jΩ)·G1(jΩ) + 2·H1 j(Ω±π)

·G1(jΩ) (2.59) vereinfacht. Die Gesamttransferfunktion beinhaltet somit direkt geleitete Signal-anteile H0/1(jΩ)·G0/1(jΩ) und Aliasfrequenzanteile H0/1 j(Ω±π)

·G0/1(jΩ), also durch die AnalysefilterH0/1(jΩ)gefilterte Frequenzanteile, welche durch die Unter/Hochtastung in den jeweils anderen Frequenzbereich gelangt sind.

In der klassischen Filterbanktheorie wirdHges. !

=ejLΩ daher in zwei Teilbedin-gungen zerlegt. Zum einen wird für die über die direkten PfadeH0/1(z)→G0/1(z) geführten Signalanteile

2·ejLΩ !=H0(jΩ)·G0(jΩ) +H1(jΩ)·G1(jΩ) (2.60) bzw. mit z =ejΩ

2·zL =! H0(z)·G0(z) +H1(z)·G1(z) (2.61) gefordert, was als perfect reconstruction (PR) Bedingung bezeichnet wird ([JN90]). Diese Bedingung würde ohne die Aliasanteile zur Erfüllung von der Bedingung 2.55 reichen.

Theorie

Daher wird klassischerweise als weitere Bedingung die gegenseitige Auslöschung der Aliasanteile

0=! H0 j(Ω±π)

·G0(jΩ) +H1 j(Ω±π)

·G1(jΩ) (2.62)

gefordert (frequency domain alias cancellation, FDAC-Bedingung). Diese verein-facht sich über

0=! H0 ej(Ω±π)

·G0 ejΩ

+H1 ej(Ω±π)

·G1 ejΩ

(2.63) 0=! H0 ejΩ·e±jπ)

·G0 ejΩ

+H1 ejΩ·e±jπ

·G1 ejΩ

(2.64) und z =ejΩ zur Formulierung für die z-Transformierte

0=! H0(−z)·G0(z) +H1(−z)·G1(z). (2.65) In der beabsichtigten Anwendung als korrelierende Transformation werden die Aliasanteile zur Übertragung zusätzlicher Redundanzen aber eben nicht ausge-löscht, da diese als variabler Fehlerschutz dienen sollen.

Das Einsetzen der Filtergleichungen Gl. 2.48 ff. in die FDAC-Bedingung nach Gleichung 2.65 ergibt dann auch

0=! z1· 1

2 −2α2

, (2.66)

was nur für den orthonormalen Fall = 0 → α = 1/2 erfüllt ist. Da diese red-undanten, d.h. mehrfach vorhandenen Anteile bei der Rekonstruktion / inversen Transformation wieder herausgerechnet werden, muß der Fluß über den direkten Signalweg entsprechend verstärkt werden.

Dies verdeutlicht auch die Prüfung der PR-Bedingung nach Gleichung 2.61, wel-che als Resultat

P R(z) =z1 · 1

2 + 2α2

, (2.67)

was sich mit der in Gleichung 2.20 eingeführten Variable κ als

P R(z) =z−1 ·2κ (2.68)

schreiben läßt. Für den nichtorthonormalen Fall ist κ6= 1, somit ergibt sich eine Verstärkung um κ.

Damit erklärt sich das im Abschnitt 4.2.1.4 auftretende Paradoxum, daß das Signal sowohl bei der Hin- als auf der Rücktransformation verstärkt wird, ohne daß eine Gesamtverstärkung erfolgt.

2.1 Die (de)korrelierende Transformation

2.1.3.2 Kaskadierung der Filterbänke

Es ist leicht zu zeigen, daß die in 2.7 vorgeschlagene kaskadierte Struktur (s.

Abbildung 2.7) in der Tat eine Teilbandcodierung nach Abbildung 2.8 ist.

Die erste Stufe des Teilbandcodierers transformiert zwei benachbarte Quellen-signalwerte x[2n] und x[2n+ 1] zu den Transformationskoeffizienten t0[2n] und t1[2n]. Die beiden Analysefilter der zweiten Stufe transformieren jeweils zwei auf-einanderfolgende Ausgangswerte der ersten Stufe,t0/1[2n]andt0/1[2n−1], in zwei Transformationskoeffizienteny0/2[4n]und y1/3[4n].

T

α0

T

α0

T

α1

T

α2

x0 x1

x2

x3

y0 y1

y2 y3

t0[0]

t1[0]

t0[2]

t1[2]

Abbildung 2.7: Kaskadierte korrelierende Transformation nach dem Vorschlag in [GKAV].

FBα0

FBα1

FBα2

x[n]

t0[2n]

t1[2n]

y0[4n]

y1[4n]

y2[4n]

y3[4n]

Abbildung 2.8: Teilbandcodierer für M = 4.

Der einzige Unterschied zu der kaskadierten Transformation in Abbildung 2.7 besteht darin, daß die Verarbeitung parallel und nicht sequentiell erfolgt.

Die Interpretation in Abbildung 2.7 führt zu einer einfachen Beschreibung der Transformation fürM = 4 und = 0

t0[0] = 1

√2·(x0+x1) y0 = 1

√2·(t0[0] +t0[2]) (2.69) t1[0] = 1

√2·(−x0+x1) y1 = 1

√2·(−t0[0] +t0[2]) (2.70) t0[2] = 1

√2·(x2+x3) y2 = 1

√2·(t1[0] +t1[2]) (2.71) t1[2] = 1

√2·(−x2+x3) y3 = 1

√2·(−t1[0] +t1[2]). (2.72) Wendet man die Gleichungen auf der linken Seite auf die Gleichungen rechts an,

Theorie

so erhält man die Transformationsmatrix zu

T1

2 = 1

2 ·



1 1 1 1

−1 1 −1 1

−1 −1 1 1 1 −1 −1 1



 (2.73)

Diese Transformationsmatrix ist der Walsh-Hadamard-Transformation aus [JN90]

sehr ähnlich, somit kann eine ähnliche Effizienz erwartet werden.

2.1.3.3 Generalisierung zu Transformationen M-ter Ordnung

Solange alle kaskadierten elementaren Transformationen den gleichen Wert für α verwenden, ergibt sich die Transformationsmatrix für den Fall M = 4 nach dem für Gleichung 2.73 geschilderten Prinzip zu

4T=



α2 12 12 12

−α212 12 12

−α2 1212 12 α21212 12



 (2.74)

Diese Matrix läßt sich auch durch

=2T⊗2T (2.75)

beschreiben, wobei ⊗ das Kronecker-Matrixprodukt ist und TM=2 die in Glei-chung 2.2 gegebene 2×2-Transformation.

4T=



 α·

α 1/

−α 1/

1/·

α 1/

−α 1/

−α·

α 1/

−α 1/

1/

α 1/

−α 1/



 (2.76)

Auch die inverse Transformation 4. Ordnung muß sich durch Kronecker-Multiplikation ergeben, da mit

(A⊗B)·(C⊗D) = A·C⊗B·D (2.77)

auch

2Tinv.2Tinv.

·

=4T

z }| {

2T⊗2T

= 2Tinv.·2T

2Tinv.·2T

(2.78)

=2I⊗2I (2.79)

=4I (2.80)

2.1 Die (de)korrelierende Transformation

gilt.

Folglich muß sich die inverse Transformation somit zu

4Tinv. =2Tinv.2Tinv. (2.81)

=



1

21212 12

1 2

1

21212

1

212 1212 α2 α2 α2 α2



 (2.82)

ergeben.

Das KroneckProdukt gibt die kaskadierte Struktur aus 2.7 wieder. Für den er-sten Transformationskoeffizienten y0 werden die Quellsignalkoeffizienten x0 und x1 respektive x2 und x3 durch die „inneren“ Transformationen transformiert, welche der ersten Stufe der Kaskade entsprechen. Danach werden die Tiefpaß-anteile (erster Ausgangskoeffizient) durch die „äußeren“ Matrixkoeffizienten im Kronecker-Produkt transformiert, welche somit der zweiten Kaskadenstufe ent-sprechen.

Mit dieser Betrachtung läßt sich das Prinzip auf beliebige Größen der nun CCT (Cascaded Correlating Transform, s. [KS07]) genannten Transformation verallge-meinern

2NT=2T⊗NT (2.83)

2NTinv. =2Tinv.NTinv.. (2.84)

Aus dieser rekursiven Definition folgt

NT=

logY2(N)

2T (2.85)

NTinv. =

logY2(N)

2Tinv.. (2.86)

2.1.3.4 Komplexität der CCT

Die Interpretation der CCT-Transformation als Teilbandcodierung ermöglicht ei-ne schei-nellere Umsetzung als die direkte Multiplikation des N ×1-Vektors mit der N ×N-Matrix, die als Hauptkostenfaktor N2 Fließkomma-Multiplikationen erfordert.

Bei der Umsetzung als Teilbandcodierung gemäß Abbildung 2.8 sind für eine Transformation N−ter Ordnung log2(N) Zerlegungsstufen notwendig. Auf der jeweils k-ten Stufe, k∈[1,log2(N)], arbeiten 2k Filter. Jeder dieser Filter ist ein

Theorie

FIR-Filter 2. Ordnung, somit werden für die Filterung vonMEingangswerten2M Multiplikationen benötigt. Da allerdings durch die folgende1 : 2-Unterabtastung nur jeder zweite Wert wirklich berechnet werden muß, sind nurM Multiplikatio-nen tatsächlich notwendig.

Durch die nach jeder Stufe erfolgende1 : 2 Unterabtastung werden in jeder Stufe pro Filter 2k−1N Werte verarbeitet, so daß die Anzahl an Multiplikationen pro Filter 2k−1N beträgt.

Allerdings unterscheiden sich die Impulsantworten der Hoch/Tiefpässe h0/1[n] = 1

,±α (s. Gleichung 2.48) nur im Vorzeichen des 2. Koeffizienten, so daß für die Abschätzung der Anzahl an Multiplikationen die Anzahl der Filter pro Stufe effektiv halbiert werden kann.

Somit sind in der k−ten Stufe 2k−1N · 22k = N Multiplikationen notwendig. Da es insgesamt log2(N) Stufen gibt, berechnet sich der Gesamtaufwand für die CCT-Transformation nach dem Teilbandcodierungsprinzip zu

O(N) =N ·log2(N). (2.87)

Die CCT kann somit ebenso effizient wie die FFT umgesetzt werden.