1 Filter Ziele Parameter Entwurf 2.3.2007
2 Beschreibung Pol-Nullstellen- Diagramm Übertragungsfunktion H(z) Differenzengleichung y(n) Impulsantwort h(n): Finite Impulse Response (FIR) Infinite Impulse Response (IIR)
3 Biquad-Filter Praktische Ausführung H z= b 0b 1 z 1 b 2 z 2 1a 1 z 1 a 2 z 2 yn=b 0 xnb 1 xn 1b 2 xn 2 a 1 yn 1 a 2 yn 2 Beispiel: Tiefpaß: b 0 =1/12 d F F 2 b 1 =2b 0 b 2 =b 0 a 1 =2 b 0 1 F 2 a 2 =b 0 1 2 d FF 2 F = f c f s d 1 tan f c / f s... analoge Grenzfrequenz... Sampling Frequenz... Dämpfungsfaktor
4 Direktformen Direktform I: Direktform II, kanonische Form:
5 Transponierte Direktformen Transp. Direktform I: Transp. Direktform II:
6 algorithmen in akustik und computermusik Skalierung Rechenoperationen: Multiplikation: 16bit x 16bit = 31bit Addition: 16bit + 16bit = 17bit Anforderungen: Systemwortbreite: höher als Signalauflösung Akkumulator: deutlich höhere Wortbreite - Signal: 16bit System: 24bit Akku: 48bit Fließkommaprozessoren: - Signal: 24bit System: 32 floating point Skalierung des Signals, wenn notwendig!
7 Filter höherer Ordnung Zerlegung der gesamten Filterstruktur in Biquad-Teile: Serienschaltung Parallelschaltung: - unüblich: jeder Parameter kann das Verhalten des gesamten Filter verändern Unity gain : Überlauf vermeiden an internen Knoten gefährliche Pole mit Nullstellen in einem Filter aufheben
8 algorithmen in akustik und computermusik Überlauf Addition: 1-er Komplement - Vorzeichen im MSB, - einfachere Implementierung 2-er Komplement für Addition - Wertetabelle: Dezimal Hex 32767 7FFF 1 1 0 0-1 FFFF -2 FFFE - Transparent für Überlauf: -32768 8000 32500 + 512 = 33012... 7EF4 H + 200 H = 80F4 H... -32524 33012 + 488 = 33500... 80F4 H + 1E8 H = 82DC H... -32036 33500 1000 = 32500... 82DC H 3E8 H = 7EF4 H... 32500
9 Quantisierung des Signals Direktform I, Quantisierung nach dem Akku
10 Runden oder Abschneiden Vergleich:
11 Fehlerrückkopplung Eigenschaften des Quantisierungsfehlers Y Z = X Z b i z i 1 a i z i E Z 1 1 a i z i Abhilfe: Rückkopplung
12 Error Spectrum Shaping
13 Error Spectrum Shaping (2) Noise Shaping höherer Ordnung: Optimales Shaping?
14 Quantisierung der Parameter Verschiebung der Pol-/Nullstellen Ungünstige Verteilung der Pol-/Nullstellen
15 Gold-Rader-Struktur Gleichmäßige Quantisierung der Z-Ebene H Z = 1 2 R{z } a 1 N Z z 1 R{z } 2 I {z } 2 a 2 z 2
16 Kingsbury-Struktur x(n) + + + + y(n) k 1 -k 1 z -1 k 2 z -1
17 Zölzer-Struktur
18 Vergleich der Strukturen Direktform Gold-Rader-Struktur Kingsbury-Struktur Zölzer-Struktur
19 Parametrische Filter Nachteile der Biquad-Struktur: Charakteristik von allen Koeffizienten abhängig Nur für statische Filter geeignet Ziele: unabhängige Koeffizienten stabil im jeweiligen Bereich Lösungen: spezielle Strukturen Allpaß
20 Allpaß Übertragungsfunktion: A 1 z= z 1 c 1c z 1 c= tan f c/ f s 1 tan f c / f s 1 Spektrum:
21 Hoch-/Tiefpaß H z= 1 2 1Az H z= 1 2 1 Az
22 Allpaß 2-ter Ordnung Übertragungsfunktion: b= tan f b/ f s 1 tan f b / f s 1 A 2 z= z 2 c1 b z 1 b 1c1 b z 1 bz 2 c= cos2 f c / f s Spektrum:
23 Bandpaß / Bandsperre H z= 1 2 1 A 2 z H z= 1 2 1 A 2 z
24 Equalizer Parameter: Shelving-Filter Peak / Notch-Filter
25 Shelving Filter Kombination aus Tief- und Hochpaß Interessanter Bereich wird betont Hochpaß: Tiefpaß: TP : 1 2 [1A z] HP : G 1 2 [1 Az] TP : G 0 2 [1Az] HP : 1 2 [1 Az] H z= 1 2 [G 11 G A z] mit H 0 =G 1 G =H 0 1: H z=1 H 0 [1 A z] 2 H z= 1 2 [ G 0 1G 0 1 A z] mit H 0 =G 0 1 G 0 =H 0 1 H z=1 H 0 [1 A z] 2
26 Shelving (2) H z=1 H 0 2 [1± A z] A 1 z= z 1 c 1c z 1 c= tan f c/ f s 1 tan f c / f s 1
27 Peak Kombination aus Bandpaß und Bandsperre A 2 z= z 2 c1 b z 1 b 1c1 b z 1 bz 2 b= tan f b/ f s 1 tan f b / f s 1 H z=1 H 0 2 [1 A 2 z] c= cos2 f c / f s
28 Lattice-Filter Problem: Parameter im Allpaß nicht unabhängig: A 2 z= z 2 k 1 1 k 2 z 1 k 2 1k 1 1 k 2 z 1 k 2 z 2 Rekursive Form: A m z= k 2z 1 A m 1 Z 1k 2 z 1 A m 1 Z
29 Lattice Filter (2)
30 Lattice (3) Ergebnis:
31 Nichtrekursive Audio-Filter Direkte Form: Faltung im Zeitbereich Aufwand: N 2 N...Signallänge Schnelle Faltung: Multiplikation im Frequenzbereich Aufwand: kurze Signale 3 2 N log 2 N 3N lange Signale
32 Faltung im Zeitbereich Faltung: M yn=xn hn= i xn hn m Einfache Realisierung Zeitintensive Berechnung
33 Schnelle Faltung Mulitplikation im Frequenzbereich: Y k =X k H k x(n) h(n) Länge: L Länge: M Zero padding auf Länge: N = L + M - 1 x(n) 0 DFT X(k) h(n) 0 DFT H(k) Faltung durch Multiplikation: y(n) Länge: N = L + M -1 IDFT Y k =X k H k
34 Schnelle Faltung optimiert x(n) x F (n) x F+1 (n) Bildung einer komplexwertigen Folge: z n=x F n j x F1 n Zero padding von h(n) und z(n) auf N = M + L - 1 DTF von h(n) und z(n): H(k) und Z(k) Multiplikation und IDTF: en= z n hn= x F n hn j x F1 n hn Folgen teilen: y F n=r{en} y F1 n=i{en}
35 Zusammenführen der Ergebnisse Overlap and Add-Methode: x F (n) x F+1 (n) x F+2 (n) h(n) yn=x F n hn yn=x F1 n hn yn=x F2 n hn y(n) Abklingen
36 Vergleich der Faltungsalg. FIR, direkte Methode Rechenleistung Implementierungsaufwand: leicht mittel schwer non uniform, block based FFT Schnelle Faltung Latenzzeit
37 Zeitvariante Filter Synthesizer Equalizer Echtzeitssysteme Virtuelle Akustik Beispiele: Wah-wah Phaser
38 Wah-Wah zeitvariante Peak-Filter:
39 Phaser zeitvariante Notch-Filter:
40 Weiterführende Literatur Jon Datorro. The Implementation of Recursive Digital Filters for High-Fidelity Audio. J. Audio Eng. Soc.,Vol. 36, No. 11, 1988 November, pp. 851-878 Dana C. Massie. An Engineering Study of the Four- Multiply Normalized Ladder Filter. J. Audio Eng. Soc., Vol. 41, No. 7/8, 1993 July/August, pp. 564-582 Udo Zölzer. Roundoff Error Analysis of Digital Filters. J. Audio Eng. Soc., Vol. 42, No. 4, 1994 April, pp. 232-244 Rhonda Wilson. Filter Topologies. J. Audio Eng. Soc., Vol. 41, No. 9, 1993 September, pp. 667-677