Meyer-Base Schnelle digitale Signalverarbeitung978-3-642-57245-6/1.pdf · Vorwort Die digit ale...

17
Meyer-Base Schnelle digitale Signalverarbeitung

Transcript of Meyer-Base Schnelle digitale Signalverarbeitung978-3-642-57245-6/1.pdf · Vorwort Die digit ale...

Meyer-Base

Schnelle digitale Signalverarbeitung

Springer-Verlag Berlin Beideiberg GmbH

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-, UNIX­Version 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 Funk­sendung, der Mikroverfilmung oder der Vervielfältigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Ver­vielfä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· Sep­tember 1965 in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich vergütungspflichtig. Zu­widerhandlungen 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 be­rechtigt 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 ei­genen Arbeiten die vollständigen Vorschriften oder Richtlinien in der jeweils gültigen Fassung hinzu­zuziehen.

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 zukunfts­trachtige Entscheidung, sich in diesem Bereich vertiefte Kenntnisse anzueig­nen. Fundierte Kenntnisse im Bereich der schnellen digitalen Signalverarbei­tung 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 Algorith­men 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 Algorith­men 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, abstrak­ter 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 darzustel­len, um die Algorithmen der spateren Kapitel verstehen zu konnen. Zahlreiche Beispiele und Ubungsaufgaben erleichtern dabei den Zugang zu den verschie­denen Themengebieten, die man benotigt, um erfolgreich schnelle digit ale Signalverarbeitung betreiben zu konnen. Ideal ware natiirlich, wenn man bc­reits 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 Bleistiftauf­gab en" aueh zahlreiche Ubungsaufgaben vorhanden, die mit Computerhilfe gelost werden sollen. Damit die Ubungsaufgaben nicht zu einem Program­mierkurs ausarten, sind auf der beigefiigten CD zahlreiche Funktionen fiir die Programmierspraehe C bereits vorhanden. Ich habe die Programmier­spraehe 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 FFT­Benchmarks in C verfiigbar und Entwicklungstools fiir programmierbare Si­gnalprozessoren unterstiitzen zumeist auch C-Compiler. Es steht natiirlich jedem frei eine ihm gelaufige Programmiersprache zu benutzen oder die ent­sprechenden Losungen der Ubungsaufgaben in DSP Software wie MATLAB oder SigLab zu erstellen.

Ich habe auch versucht, die Nomenklatur fiir Ingenieure typiseh zu ge­stalten, wie z. B. Zeit signal mit Kleinbuchstaben, Frequenzbereich mit GroB­bllchstabcn, 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 Si­gnalverarbeitung zusammentreffen. So wird z. B. 4> in der Zahlentheorie als Euler-Totient-Funktion verwendet, bei Wavelets hingegen ist 4> als Bezcich­nung 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. Chil­ders, 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. Hil­berg, W. Jenkins, I. Koren, A. Laine, R. Laur, J. Mangen, J. Massey, J. McClel­lan, 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 Meyer­Base, 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 Forschungsge­meinschaft, 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 Zah­len 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 Theore­tic 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

XVIII Inhaltsverzeichnis

References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349

Sachverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 359