Meyer-Base Schnelle digitale Signalverarbeitung978-3-642-57245-6/1.pdf · Vorwort Die digit ale...
Transcript of Meyer-Base Schnelle digitale Signalverarbeitung978-3-642-57245-6/1.pdf · Vorwort Die digit ale...
Uwe Meyer-Base
Schelle digitale Signalverarbeitung Algorithmen, Architekturen, Anwendungen
Mit 138 Abbildungen und 67 Tabellen
i Springer
Dr. Uwe Meyer-Bäse University of Florida, Gainesville 2777 SW Areher Road # FF156 32608 Gainesville, FL USA
ISBN 978-3-642-63200-6
Die Deutsche Bibliothek- CIP-Einheitsaufnahme Meyer-Bäse, Uwe: Schnelle digitale Signalverarbeitung :Algorithmen, Architekturen, Anwendungen : Windows-, UNIXVersion I Uwe Meyer-Bäse.- Berlin; Heidelberg; NewYork; Barcelona; Hongkong; London; Mailand; Paris ; Singapur ; Tokio : Springer, 2000 Additional material to this book can be downloaded from http://extra.springer.com.
ISBN 978-3-642-63200-6 ISBN 978-3-642-57245-6 (eBook) DOI 10.1007/978-3-642-51245-6
Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der übersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der Vervielfältigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfältigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik Deutschland vom 9· September 1965 in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich vergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des Urheberrechtsgesetzes.
© Springer-Verlag Berlin Heidelberg 2000
Ursprünglich erschienen bei Springer-Verlag Berlin Heidelberg New York 2000
Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, daß solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und dahervon jedermann benutzt werden dürften. Sollte in diesem Werk direkt oder indirekt auf Gesetze, Vorschriften oder Richtlinien (z.B. DIN, VDl,
VDE) Bezug genommen oder aus ilmen zitiert worden sein, so kann der Verlag keine Gewähr für die Richtigkeit, Vollständigkeit oder Aktualität übernehmen. Es empfiehlt sich, gegebenenfalls für die eigenen Arbeiten die vollständigen Vorschriften oder Richtlinien in der jeweils gültigen Fassung hinzuzuziehen.
Einbandgestaltung: MEDIO, Berlin Satz: Reproduktionsfertige Vorlage vom Autor
SPIN: 10772675 62/3020 - 5 4 3 2 1 0
Vorwort
Die digit ale Signalverarbeitung hat sich gerade in den letzten Jahren zu einem Multi-Milliarden DM Geschaft entwickelt und es ist sicherlich eine zukunftstrachtige Entscheidung, sich in diesem Bereich vertiefte Kenntnisse anzueignen. Fundierte Kenntnisse im Bereich der schnellen digitalen Signalverarbeitung auf einem fiir Ingcnieure, Informatiker und praktische Mathematiker leicht verstandlichen Niveau darzustellen, ist wohl das wichtigste Anliegen des vorliegenden Buches.
Fiir ein vertieftes DSP Studium gibt es Biicher zu schnellen Faltungcn und FFTs [1, 2, 3], digitalen und adaptiven Filtern [4, 5] oder in jiingster Zeit Filterbanken und Wavelets [6, 7, 8]. Diese Biicher beschreiben zumeist in aller Ausftihrlichkeit die Theorie der einzelnen Algorithmen, gehen aber weniger auf die verschiedenen Variant en bei einer konkreten Realisierung ein. 1m Gegensatz dazu befaBt sich das vorliegende Buch mit denjenigen Algorithmen und Architekturen aus der schnellen digitalen Signalverarbeitung, die in der Praxis auch tatsachlich eingesctzt werden. Es werden daher nicht aUe moglichen Variant en zu Filtcrn, FFTs oder Wavelets beschriebcn, sondern insbesondere werden Algorithmen erlautert, die in der Praxis in Hard- oder Software eingesetzt werden und die man zumeist in einem Grundlagcnbuch 7.ur digitalen Signalverarbeitung nicht findet.
Anders als sonst iiblich, habe ich daher das Buch anhand der Algorithmen und Architektnrcn aus den spateren Kapiteln (8-14) konzipiert und erst dann die Grundlagen in den ersten Kapiteln (1-7) beschrieben. Man benotigt Grundlagen aus den Bereichen: Computerarithmetik, Zahlentheorie, abstrakter Algebra und digitalem (VLSI) Schaltungsentwurf, wobei eigentlich jedes Thema allein bereits eine separate Vorlesung bzw. Buch fiillen wiirde. Meine Zielsetzung fiir die Kapitel (1-7) war daher, so viel wie gerade notig darzustellen, um die Algorithmen der spateren Kapitel verstehen zu konnen. Zahlreiche Beispiele und Ubungsaufgaben erleichtern dabei den Zugang zu den verschiedenen Themengebieten, die man benotigt, um erfolgreich schnelle digit ale Signalverarbeitung betreiben zu konnen. Ideal ware natiirlich, wenn man bcreits eine Spezialvorlesung zu den einzelnen Grundlagenthemen gehort hat und dann die entsprechenden KapHel iiberspringen bzw. nur als Referenz verwenden kann.
VI Vorwort
Heute sind wir in der gliicklichen Lage, viele Fragestellungen in kiirzester Zeit mit Hilfe unseres Computers zu beantworten. Dies war nicht immer so. So hat es nahezu 100 Jahre gedauert, bis die (kleine) Fermatsche Vermu
tung aus 1640: "AIle Zahlen der Form 2(2') + 1 sind Primzahlen" von Euler 1732 widerlegt wurde, indem er zeigte, dafl 232 + 1 durch 641 teilbar ist. Mit den heutigen Rechnern und Software wie MATLAB, Siglab, Abel, MuPAD oder einem C-Compiler kann man solche Probleme in einigen Minuten selbst "programmieren" und per Knopfdurck hat man dann in Sekundensehnelle eine Antwort. Wie viele moderne Biieher zur digitalen Signalverarbeitung, sind daher auch in dem vorliegenden Buch neben "Papier- und Bleistiftaufgab en" aueh zahlreiche Ubungsaufgaben vorhanden, die mit Computerhilfe gelost werden sollen. Damit die Ubungsaufgaben nicht zu einem Programmierkurs ausarten, sind auf der beigefiigten CD zahlreiche Funktionen fiir die Programmierspraehe C bereits vorhanden. Ich habe die Programmierspraehe C ausgewiihlt, da man so recht anschaulich die Algorithmen anhand von kleinen C Programmen erlautern kann, ohne eine zusatzliche "pseudo" Sprache erlautern zu miissen. AuBerdem sind zahlreiche Programmefiir FFTBenchmarks in C verfiigbar und Entwicklungstools fiir programmierbare Signalprozessoren unterstiitzen zumeist auch C-Compiler. Es steht natiirlich jedem frei eine ihm gelaufige Programmiersprache zu benutzen oder die entsprechenden Losungen der Ubungsaufgaben in DSP Software wie MATLAB oder SigLab zu erstellen.
Ich habe auch versucht, die Nomenklatur fiir Ingenieure typiseh zu gestalten, wie z. B. Zeit signal mit Kleinbuchstaben, Frequenzbereich mit GroBbllchstabcn, Vektoren mit kleinen Buchstaben in Fettschrift und Matrizen in GroBbuchstaben mit Fcttschrift. Dennoch gelingt cine strikte Trennung nicht immer, da verschiedene Wissensgebiete in der schnellen digitalen Signalverarbeitung zusammentreffen. So wird z. B. 4> in der Zahlentheorie als Euler-Totient-Funktion verwendet, bei Wavelets hingegen ist 4> als Bezcichnung fiir die Skalierungsfunktion iiblich. Sollte man unsieher sein, so kann man gegebenenfalls das Formelverzcichnis zu Rate ziehen.
Danksagllng. Das vorliegende Buch ware nicht moglich gewesen ohne die groBe Unterstiitzung von vielen, die ich in den letzten Jahren erfahren habe. Ich hotre, in der folgenden Danksagung niemanden vergessen zu haben.
Uber die Jahre haben mir Diskussionen auf Tagungen oder im Labor und die Korrespondenz mit vielen Experten auf ihren Gebieten bei der Erstellung des Buches sehr geholfen. Ich mochte mich besonders bedanken bei den Professoren bzw. Doktoren M. Acheroy, D. Achilles, F. Bock, C. Burrus, D. Chester, D. Childers, J. Conway, R. Crochiere, K. Damm, B. Delgllette, A. Dempster, P. Duhamel, A. Drolshagen, W. Endres, H. Eveking, R. Games, A. Garcia, O. Ghitza, W. Hilberg, W. Jenkins, I. Koren, A. Laine, R. Laur, J. Mangen, J. Massey, J. McClellan, J. Mellott, F. Ohl, S. Orr, H. Scheich, H. Scheid, D. Schulz, M. Soderstrand, S. Stearns, F. Taylor, M. Vetterli und H. Walter.
Die zahlreichen praktischen Beispiele, die in diesem Buch vorgestellt werden, waren nicht moglich gewesen, ohne die Mithilfe meiner Studenten im Rahmen ihrer
\Torvvort \TIl
Diplomarbeiten. Mein Dank gilt hier J. Buros, S. Dvvorak, T. Irmler, T. Podzimek, M. Rosch, O. SpieS, O. Six, O. Tamm, W. Trautmann, R. Watzel und S. Wolf.
Fiir die exzellente Arbeit bei der (mehrfachen) Durchsicht meines Manuskriptes und zahlreichen vvertvollen Kommentaren danke ich meiner Frau Dr. Anke MeyerBase, M. Fischer, M. Rosch und M. Katzenberger.
Zuletzt mochte ich mich noch fUr die finanzielle Forderung in den letzten Jahren bei dem Deutschen Akademischen Austauschdienst, der Deutschen Forschungsgemeinschaft, der European Space Agency und der Max Kade Foundation bedanken.
Gainesville, im Mai 2000 Uwe Meyer-Base
Formelverzeichnis
Mathematische Formelzeichen 0_ Zeitbereich ~ Frequenzbereich (S. 196)
Multiplikation (S. 16) * Faltung (S. 60) ® Zyklische Faltung (S. 61)
® Zyklische Faltung der Lange N (S. 61) o Kompentenweise Multiplikation A 0 B ¢=::::} ai,j . bi,j (S. 68) IX 1 Nachste grofiere Ganzzahl (11,41 = 11,61 = 2) (S. 100) l x J Nachste kleinere Ganzzahl (ll, 4 J = ll, 6 J = 1) (S. 20) [xJ Niichste gerundete Ganzzahl ([1,4J = 1; [1,6J = 2) i (S. 289) ~ Circa (S. 89) adj(A) Adjunkte von A (S. 183) diag[a[O,OJ,a[l,lJ, ... J Diagonalmatrix (S. 150) rank(A) Rank einer Matrix (S. 284) grad(A(x)) Grad eines Polynoms (S. 59) x Kartesisches Produkt (IE x IE ¢=::::} (Xl,X2)) (S. 55)
kongruent (a == k· M + a mod M) (S. 45)
B ('(10m 2,">",) (rl,r2, ... ) B Binarzahl (rl,r2, ... ) RNS-Darstellung (S. 54) ¢- nicht kongruent (-1 ¢- 4 mod 4) (S. 45) Z, J Qudratwurzel von -1 oder positive Losung der
Gleichung i 2 + 1 = 0 (S. 16) E Element von (0 E N) (S. 16) min(a,b) Minimum von a und b (S. 19) max(a,b) Maximum von a und b (S. 19) modM; %M; ('}M Modulo Operation 5%3 = 2 oder (z2 -
/ l}z+l = 0 (S. 45)
Division (5/3 = 1 fUr IE oder (z2 - l)/(z + 1) = z - 1) (S. 55) Proportional (S. 308)
sin(x) Sinus von x (S. 12) cos(x) Kosinus von x (S. 12) cas(x) sin(x) + cos(x) (S. 12) ~ strukturgleich; homomorph 1E15 ~ 1E3 X 1E5 (S. 55) sinc(x) = sin(x)/x sinc-Funktion (S. 227) -+ Abbildung oder es folgt daraus (Sei x E IE dann ist
kgv(a, b) alb atb ggt(a,b) M N
f( x) = x2 eine Abbildung f : IE -+ N) (S. 110) kleinstes gemeinsames Vielfache a und b (S. 19) a ist Teiler von b oder "es gilt" (siehe Q) (S. 17,16) a ist kein Teiler von b (S. 17) grosster gemeinsamer Teiler von a und b (S. 19) Beliebige Zahlenmenge (S. 16) Menge der natiirlichen Zahlen {O, 1,2, ... } (S. 16)
FORMELVERZEICHNIS IX
Q Menge der rationalen Zahlen {% la, bE Z, b i= O} (S. 16) Z Menge der ganzen Zahlen { ... ,0,±1,±2, ... } (S. 16) ZM Menge des endlichen, ganzen Zahlenkorpers {0,1,2, ... ,M -I}
(S. 16) JR Menge der reellen Zahlen (Q und irrationale Zahlen wie )2) (S. 16) C Menge der complexen Zahlen ({a + ibla, b E JR, A = i}) (S. 16) indg(x) Index von x beziiglich des primitiven Elements g g~nd(x) = x (S.
48) L: Summe (S. 6) IT Produkt (S. 17) S Imaginarteil (S. 12) !R Realteil (S. 12) ordM(r) die Ordnung von r im Ring M (S. 46) O(Nlog(N)) Komplexitat eines Algorithmus (S. 308) k, 1, n Laufindex bei Algorithmen oder Formeln
Lateinische Formelzeichen A Matrix (S. 335) a Vektor (S. 335) W~ ej27rk / N (S. 339) a[n],a(t) Zeitdiskret bzw. zeitkontinuierlich (S. 6,141) y[n], Y(z) Ausgangsgrofien (S. 3) h(t),h[n],H(z) Impulsantwort oder Ubertragungsfunktion (S. 217) Ft t-te Fermat-Zahl: 2(2') + 1 (S. 19) Mp Mersenne-Zahl: 2P - 1 (S. 42)
Griechische Formelzeichen 0: Konstruktionselement bei DFT und NTT (S. 6) J Vorzeichen beim CORDIC-Algorithmus (S. 134) J(t),J[n] Dirac-Dclta-Funktion (S. 239, 303) "t Euler-Konstante (S. 24) 7m,n(l) Gabor-Funktion (S. 283) IL(n) Mobius-Funktion: Anzahl der zu n teilerfremden Zahlen
ii:n,n(l) w = 27rt 4>(n)
4>( t) 1jJ(t) 7(n) (h
kleiner n (S. 27) Morlet-Funktion (S. 288) Frequenzvariable (S. 215) Euler-Totient-Funktion: Anzahl der zu n teilerfremden Zahlen kleiner n (S. 23) Skalierungsfunktion bei Wavelets (S. 297) Wavelet-Funktion (S. 297) Anzahl der Teiler von n 7(15) = #{1,3,5,15} = 4 (S. 25) Drehwinkel beim CORDIC-Algorithmus (S. 134)
A bkiirzungsverzeichnis
ADC Analog to Digital Converter (S. 276) ADD Addition (S. 92) ADSP Analog Device Digital Spignalprozessor (S. 175) AFT arithmetische Fourier-Transformation (S. 205) ASAP Athena Sensor Arithmetic Processor (S. 178) ASCII American Standard Code for Information Interchange (S. 107) ASIC Anwender spezifischer Schaltkreis (S. 133) CFA common factor algorithm (S. 156) CIC Cascaded Integrator Comb (S. 256) CLB Configurable Logic Block (S. 89) CMOS Complementary metal oxide (S. 331) CORDIC COordinate Rotation DIgital Computer (S. 133) CPLD Komplexe Programmierbare Logikbausteine (S. 176) CPU Central processing unit (S. 332) CQF conjugate mirror filter (S. 248) CRNS Komplexe RNS (S. 111) CRT Chinesische Reste-Theorem (S. 54) CSD Canonical Signed Digit, quasiternares Zahlensystem (S. 37) CWT kontinuierliche Wavelet-Transfromation (S. 280) DA Distributed Arithmetic (verteilte Arithmetik) (S. 121) DCT Diskrete Kosinus-Transformation (S. 12) DFT Diskrete Fourier-Transformation (S. 6) DGT Diskrete Gabor-Transformation (S. 282) DHT Diskrete Hartley-Transformation (S. 12) DIF dezimation in frequency (S. 160) DIT dezimation in time (S. 178) DMT Diskrete Morlet-Transformation (S. 286) DSP Digitaler Signalprozessor (S. 124) DWT Diskrete Wavelet-Transformation (S. 294) ERNS Eisenstein RNS (S. 209) ESA European Space Agency (S. 310) FFT Schnelle Fourier-Transformation (Fast Fourier Transform) (S. 155) FIR Finite Impulse Response (endlicher Impulsantwort) (S. 219) FNT Fermat NTT (S. 324) FPGA Field Programmable Gate Array (S. 133) FPL Field Programmable Logik (PLD, CPLD oder FPGA) (S. 133) FSF Frequenzabtastfilter (Frequency Sampling Filter) (S. 293) Ie Integrierter Schaltkreis (S. 179) IDFT Inverse diskrete Fourier-Transformation (S. 167) IFFT Inverse diskrete Fourier-Transformation (S. 234) IIR Infinite Impulse Response (unendliche Impulsantwort) (S. 221) JPEG Joint Picture Expert Group (S. 311)
LSB MAC MADD MNT MOPS MPX MRC MSB MSPS MUL NTT
PC PFA PLA PRNS q.e.d. QDFT QFFT QMF QRNS RAM RNS ROM SRAM STFT TI TTL VHDL
ABKURZUNGSVERZEICHNIS XI
Least Significant Bit (S. 34) Multiplikation und Addition (S. 92) modulo Addition (S. 92) Mersenne NTT (S. 324) Millionen Operationen pro Sekunde (S. 171) Multiplexer (S. 331) Mixed Radix Conversion (S. 102) Most Significant Bit (S. 12) Millionen Abtastwerte pro Sekunde (S. 133) Multiplikation (S. 123) Zahlentheoretische Transformation engl.: Number Theoretic Transform (S. 183) Personal Computer (S. 171) prime factor algorithm (S. 156) Programmable Logic Array (S. 108) Polynomiale RNS (S. 85) quod errat demonstrandum (was zu zeigen war) (S. 67) grob quantisicrte DFT (S. 205) grob quantisierte FFT (S. 210) Quadratur mirror filter (S. 237) Quadratic RNS (S. 111) Random Access Memory (S. 331) Residue Number System (S. 88) Read Only Memory (S. 331) Static Random Access Memory (S. 176) Short time Fourier transform (S. 279) Texas Instruments (S. 130) Transistor-Transistor-Logik (S. 108) VHSIC Hardware Desription Language (S. 271)
Inhaltsverzeichnis
1. Einleitung................................................ 1 1.1 Digitale Filter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Transformationen....................................... 5
1.2.1 Transformationen zur Berechnung der zyklischen Fal-tung. ................... .................... . ... 6
1.2.2 Transformationen ohne zyklische Faltungseigenschaft. . 9 Ubungen.. ....... ............................ . ......... . ... 11 Anmerkungen ... . .................... ........ . ......... . ... 13
2. Zahlentheoretische Konzepte ............................. 15 2.1 Algebraische Zahlensysteme. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 15 2.2 Niitzliche Begriffe aus der Zahlentheorie . . . . . . . . . . . . . . . . . .. 16
2.2.1 Teilbarkeit und Primzahlen . . . . . . . . . . . . . . . . . . . . . . .. 16 2.2.2 Kleinstes gemeinsames Vielfaches und grofiter ge-
meinsamer Teiler .... " ............... , . . . . . . . . . .. 19 2.2.3 Anzahl der Teiler und Totative . . . . . . . . . . . . . . . . . . . .. 22 2.2.4 Die Mobius JL-Funktion ........................... 26 2.2.5 Die multiplikative Inverse fiir ZM .................. 29
2.3 Schaltungstechnische Repdisentation von Zahlen ........... 30 2.3.1 Codierung von Zahlen. . . . . . . . . . . . . . . . . . . . . . . . . . . .. 30
2.4 Multiplikation mit Konstanten . . . . . . . . . . . . . . . . . . . . . . . . . .. 35 2.4.1 Codierung nach Faktorisierung . . . . . . . . . . . . . . . . . . . .. 37 2.4.2 Filter mit reduziertem Addierergraph . . . . . . . . . . . . . .. 38
Ubungen ................................................... 41 Anmerkungen ....................................... ....... 44
3. Endliche Zahlenkorper. .. . . . . . . . . . .. . . . . . . .. . . . . . . . . .. . . .. 45 3.1 Die Kongruenzen .. . . .. . . . . .. . .. .. . . . . . . . . . . . . . . . . . . . . .. 45
3.1.1 Ordnung und primitive Wurzeln. . . . . . . .. . . .. . . . . . .. 46 3.1.2 Indexdarstellung................................. 48 3.1.3 Losen von Kongruenzen . . . . . . . . . . . . . . . . . . . . . . . . . .. 50 3.1.4 Der Zech-Logarithmus ............................ 52
3.2 Simultankongruenzen................................... 53 3.2.1 Das chinesische Reste-Theorem. . . . . . . . . . . . . . . . . . . .. 54
XIV Inhaltsverzeichnis
3.2.2 Das Rechnen mit Simultankongruenzen ............. 55 3.2.3 Division ohne Rest ............................... 55
Ubungen ................................................... 57 Anmerkungen .......................... ...... . ............. 58
4. Polynome in der Signalverarbeitung ...................... 59 4.1 Begriffe und Definitionen zu Polynomen . . . .. . . .. . . . . .. . . .. 59 4.2 Beschreibung der linearen und zyklischen Faltung durch Po-
lynome ................................................ 60 4.3 Zur Teilbarkeit von Polynomen . . . . . . . . . . . . . . . . . . . . . . . . . .. 62 4.4 Kreisteilungspolynome.................................. 65 4.5 Das chinesische Reste-Theorem fiir Polynome . . . . . . . . . . . . .. 67 4.6 Algorithmen zur schnellen linearen Faltung ................ 69 4.7 Algorithlllen ~llr schnellen. zy klischen Faltung n . . . . . . . . . . . .. 72
4.7.1 Faktorisierung von zN - 1 = 0 iiber C(x) ........... 72 4.7.2 Faktorisierung von x N - 1 = 0 iiber IE .............. 73 4.7.3 Faktorisierung von x N - 1 = 0 iiber IEM(X) ...•..... 75 4.7.4 Vergleich der Faktorisierungen ..................... 75
4.8 Der zyklische Faltungsalgorithmus nach Agarwal-Cooley .... 76 4.9 Berechnung der linearen Faltung mittels zyklischer Faltung .. 80
4.9.1 Lineare Faltung mittels verkiirzter zyklischer Faltung. 81 Ubungen ................................................... 83 Anmerkungen ...... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 85
5. Grundlagen der Computerarithmetik . . . . . . . . . . . . . . . . . . . .. 87 5.1 Grundoperationen in Residuenarithmetik und Zweierkomple-
mentarithmetik ........................................ 87 5.2 Die Modulo-Addition ................................... 88 5.3 Modulo-MuItiplikation.................................. 90 5.4 Modulo-MuItiplikation und Modulo-Addition im Indexbereich 91 5.5 Berechnung der Residuendarstellung ..................... 93 5.6 Skalierung ............................................ 95
5.6.1 Skalierung bei Festkommaarithmetik .. . ... . . . . .. . . .. 95 5.6.2 Skalierung durch Basisverkleinerung der Residuendar-
stellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 96 5.7 Rekonstruktion aus der Residuenreprasentation ............ 97
5.7.1 Wandlung mittels chinesischem Reste-Theorem ...... 97 5.7.2 Rekonstruktion mit chinesischem Reste-Theorem bei
verminderter Ausgangsbitbreite .................... 98 5.7.3 Rekonstruktion mit € chinesischem Reste-Theorem bei
verminderter Ausgangsbitbreite .................... 100 5.7.4 Rekonstruktion mittels gemischter Radixdarstellung .. 102
5.8 Erweiterung der Basis ................................... 104 5.9 Skalierung in Residuendarstellung ........................ 105 Ubungen ................................................... 106
Inhaltsverzeichnis XV
Anmerkungen .............................................. 108
6. Zahlendarstellung mit Polynomen ........................ 109 6.1 Algebra komplexer Zahlen ............................... 109
6.1.1 Quadratische Reste ............................... 110 6.2 Zahlenringe vom Grad grofier Eins ........................ 112
6.2.1 Maximale Ordnung bei algebraischen Zahlen ......... 113 6.2.2 Darstellung der komplexen Ebene durch algebraischen
Zahlen modulo x N - 1 ........................... 113 6.3 Das Rechnen mit algebraischen Zahlen .................... 114
6.3.1 Wandlung einer komplexen Gaufi-Zahl in eine alge-braische Zahl .................................... 114
6.3.2 Wandlung einer algebraischen Zahl in eine komplexe Gaufi-Zahl ....................................... 115
6.3.3 Addition und Multiplikation von algebraischen Zahlen 116 6.3.4 Addition und Multiplikation modulo 4iN(X) ......... 118
Ubungen .......... , ........................................ 119 Anmerkungen .............................................. 120
7. Konzepte aus der Computerarithmetik ................... 121 7.1 Verteilte Arithmetik .................................... 121
7.1.1 Verarbeitung vorzeichenbehafteter Zahlen ........... 125 7.1.2 Modifikationen des Grundkonzepts ................. 127 7.1.3 Vergleich von FIR-Filtern und verteilter Arithmetik .. 128
7.2 Der CORDIC-Algorithmus ............................... 133 7.2.1 Mogliche CORDIC Realisierungen .................. 135
Ubungen ................................................... 136 Anmerkungen .............................................. 139
8. Methoden zur Berechnung der DFT-Matrix .............. 141 8.1 Die Fourier-Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 141 8.2 Der Goertzel-Algorithmus ............................... 144 8.3 Der Bluestein-Chirp-z-Algorithmus ....................... 145 8.4 Der Rader-Algorithmus ................................. 147 8.5 Rotation der DFT-Matrix ............................... 149 8.6 Der Winograd-DFT-Algorithmus ......................... 150 Ubungen ................................................... 152 Anmerkungen ............................................ " 153
9. Die schnelle Fourier-Transformation (FFT) .............. 155 9.1 Der Cooley-Tukey-Algorithmus ........................... 156
9.1.1 Radix-r Cooley-Tukey-Algorithmus ................. 159 9.2 Der Good-Thomas-FFT-Algorithmus ..................... 161
9.2.1 Temperton Modifikation des Good-Thomas-Algorithmus165 9.3 Der Winograd-FFT-Algorithmus ......................... 167
XVI Inhaltsverzeichnis
9.4 Praktische Realisierungsaspekte von FFT-Algorithmen ...... 170 9.4.1 Realisierung cler FFT mit Computer ................ 171 9.4.2 Realisierung cler FFT mit programmierbarem Signal-
prozessor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 173 9.4.3 Realisierung cler FFT mit Spezial-Harclware ......... 176
Ubungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 177 Anmerkungen .............................................. 181
10. Zahlentheoretische Transformationen ..................... 183 10.1 Grunclkonzept cler NTT ................................. 183
10.1.1 Konstruktion einer NTT cler Lange L .............. 186 10.1.2 Beschrankung von L clurch die Wortlange ........... 187
10.2 NTT erhohter Lange .................................... 189 10.2.1 NTT iiber ZM{x}j{m{x)) ......................... 189 10.2.2 Goocl-Thomas-NTT .............................. 191 10.2.3 Agarwal-Burrus-NTT ............................ 193
Ubungen ................................................... 196 Anmerkungen .............................................. 197
11. DFT-Berechnung mit ganzzahligen Transformationen ..... 199 11.1 NTT nach DFT Abbilclung .............................. 200 11.2 Berechnung cler DFT mittels rechteckformiger Transformation 201
11.2.1 Walsh-Haclamarcl-Transformation ................... 203 11.2.2 Die arithmetische Fourier-Transformation ........... 203 11.2.3 Grob quantisierte diskrete Fourier-Transformation .... 205 11.2.4 Vergleich cler Transformationen .................... 206
11.3 Berechnung cler DFT mittels Racler-Algorithmus uncl NTTs . 207 Ubungen ................................................... 210 Anmerkungen .............................................. 211
12. Digitale Filter ............................................ 213 12.1 Klassische Konzepte cligitaler Filter ....................... 213
12.1.1 Linearphasige Filterstrukturen ..................... 216 12.2 Bestimmung cler Filterkoeffizienten ....................... 217
12.2.1 FIR-Koeffizienten-Bestimmung ..................... 219 12.2.2 IIR-Koeffizienten-Bestimmung ..................... 221
12.3 Vergleich zwischen FIR-Filtern uncl IIR-Filtern ............. 223 12.4 Dezimation uncl Interpolation ........................... 225
12.4.1 Nichtrekursive FIR-Dezimatoren ................... 228 12.4.2 Rekursive IIR-Dezimatoren ........................ 229
12.5 Schnelle fortIaufencle FIR-Filterung ....................... 230 12.5.1 Filterung mittels FFTs ............................ 233
12.6 Zweikanalige Filterbank ................................. 237 12.6.1 Implementierung cler zweikanaligen Filterbank ....... 243
Ubungen ................................................... 251
Inhaltsverzeichnis XVII
Anmerkungen ............................................ " 253
13. Schnelle Digitalfilter in ganzzahliger Arithmetik .......... 255 13.1 Mehrstufige Dezimatoren und Interpolatoren ............... 255
13.1.1 Hogenauers CIC-Filter ............................ 256 13.1.2 Der mehrstufige Entwurf mit Goodman-Carey Halb-
bandfilter ....................................... 262 13.2 Reelle Frequenzabtastfilter mittels Kreisteilungspolynomen .. 265
13.2.1 GehorangepaBte Frequenzabtast-Filterbank .......... 268 13.3 Algebraische Frequenzabtastfilter ......................... 271
13.3.1 Abtastratenumsetzung bei algebraischen Frequenzab-tastfiltern ....................................... 274
Ubungen ................................................... 276 Anmerkungen .............................................. 277
14. Wavelets und Zeit-Frequenzbereichsanalyse ............... 279 14.1 Zeit-Frequenzanalyse .................................... 279
14.1.1 Die diskrete Gabor-Transformation ................. 282 14.1.2 Die diskrete Morlet-Transformation ................. 286 14.1.3 Effiziente Realisierung ............................ 289
14.2 Die diskrete Wavelet Transformation ...................... 294 14.2.1 Voraussetzungen fUr die DWT Implementierung ...... 296 14.2.2 Uberabtastung der DWT .......................... 300 14.2.3 Implementierung der DWT ........................ 302
14.3 Wavelet Anwendungen .................................. 307 14.3.1 Eigenschaften von Wavelets ........................ 308 14.3.2 Bildkompression mit Wavelets ..................... 309 14.3.3 Entstoren von Signalen ............................ 310 14.3.4 Kontrastverstarkung .............................. 312 14.3.5 Unstetigkeitsstellen ............................... 313
Ubungen ................................................... 314 Anmerkungen .............................................. 315
A. Losungen zu ausgewiihlten Aufgaben ......... 317
B. Einige niitzliche Tabellen ................... " 319
C. Grundschaltungen der Computerarithmetik .. 329
D. Matrix-Algebra ............................... 335
E. Tips zur Programmierung in C ............... 345 Ubllngen ..................... , . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 348