From 908686866c93b560c0b2024a366591fd7b858d09 Mon Sep 17 00:00:00 2001 From: theStack Date: Tue, 10 Nov 2009 09:22:29 +0100 Subject: [PATCH] init --- ausarb1.txt | 167 ++++++++++++++++++++++++++++++++++++++++++++++ ausarb2.txt | 189 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 356 insertions(+) create mode 100755 ausarb1.txt create mode 100755 ausarb2.txt diff --git a/ausarb1.txt b/ausarb1.txt new file mode 100755 index 0000000..2a2cac6 --- /dev/null +++ b/ausarb1.txt @@ -0,0 +1,167 @@ +Ausarbeitung der typischen Prüfungsfragen zur Vorlesung "Signalprozessoren" +Teil 1/2 - von Sebastian Falbesoner + +1 -- Welcher Unterschied besteht zwischen linearer und zirkulärer Faltung. + Erklären Sie an Hand eines Beispiels, z.B.: f = [2 1 2 1] und g = [1 2 3 4] + lineare Faltung: auch "normale" oder aperiodische Faltung genannt + zirkuläre Faltung: auch zyklische oder periodische Faltung genannt + TODO! + +2 -- Die schnelle Faltung wird über den Frequenzbereich berechnet: + * Beschreiben Sie die grundsätzliche Vorgangsweise. + * Welches Ergebnis erhalten Sie, wenn Sie f und g über den Frequenzbereich + falten? + * Worauf müssen Sie bei der schnellen Faltung achten? + Hinweis: schnelle Faltung ist nicht nur schneller, sondern auch + genauer, da Rundungsfehler von der Zahl der Operationen abhängen - + weniger Operationen, weniger Rundungsfehler! + + Vorgehensweise: f und g mit Hilfe der FFT in den Frequenzbereich + transformieren, sie dort miteinander multiplizieren, und auf das + Ergebnis die iFFT anwenden. + Problem: FFT arbeitet intern mit der periodischen Faltung, es muss + verhindert werden dass Fehler durch die periodische Faltung entstehen. + Lösung: Overlap-Add-Verfahren; dabei wird die Eingangsfolge in einander + überlappende Teilfolgen zerlegt und die Überlappungsbereiche + aufaddiert. Es werden Teilfolgen der Länge L gebildet, wobei diese mit + Nullen aufgefüllt werden (Zero-Padding). + +3 -- Berechnen Sie die Impulsantwort des folgenden IIR-Filters und skizzieren + Sie das Blockdiagramm der Direkten Form II + y[n] = 1/4 y[n-2] + 5 x[n] - 4 x[n-1] + TODO! + Blockdiagramm siehe IIR-Foliensatz ab Seite 10 + + +4 -- Welche Bedeutung haben Fenster bei FIR-Filtern? Welche Fenster kennen Sie + welche Auswirkungen haben sie? + +5 -- Welche Approximationsansätze für den Frequenzgang kennen Sie bei IIR- + Filtern? Beschreiben und vergleichen Sie die Ansätze. + - Potenz- oder Butterworthfilter + - geringste Flankensteilheit + - ungefähre lineare Phase + - benötigt vergleichsweise höchste Ordnung + - Tschebyscheff + - bessere Flankensteilheit als Butterworth, schlechtere + als bei Elliptisch oder Cauer + - Lineare Phase schlechter als bei Butterworth, aber besser + als bei Elliptisch oder Cauer + - Tschebyscheff Typ 1: höhere Welligkeit im Durchlassbereich + - Tschebyscheff Typ 2: höhere Welligkeit im Sperrbereich + - Elliptisch oder Cauer + - beste Flankensteilheit, jedoch Welligkeit in + Durchlass- und in Sperrbereich + - benötigt vergleichsweise niedrigste Ordnung + +6 -- Berechnen Sie den Frequenzgang des FIR-Filters mit den Koeffizieten + [1 2 3 3 2 1] + Formel für Frequenzgang von FIR-Filtern allgemein: + [ w^ = w * T_s + w^ ... normierte Kreisfrequenz + T_s ... Abtastperiode ] + H(w^) = \sum_{k=0}^{M} b_k e^{-j w^ k} + hergeleitet in dem komplexe Exponentialfolge x[n] in die allgemeine + Gleichung für FIR-Filter eingesetzt wurde! + + in unserem Fall also: + x = [1 2 3 3 2 1] + H(w^) = 1 + 2*e^{-j w^ 1} + 3*e^{-j w^ 2} + 3*e^{-j w^ 3} + + + 2*e^{-j w^ 4} + 1*e^{-j w^ 5} + +7 -- Welche Bedeutung haben Filter mit linearer Phase? Woran erkennen Sie sie? + Lineares Phasenverhalten erzeugt Phasenverschiebungen die + frequenzproportional sind, d.h. die Kurvenform bleibt erhalten! + Steckt die relevante Information in den Frequenzen, und nicht in der + Kurvenform, so ist die lineare Phase nicht von Bedeutung. + + Die lineare Phase ist nur bei FIR-Filtern möglich ist und kann daran + erkannt werden, dass die Koeffizienten symmetrisch sind. Hierbei + gibt es verschiedene Arten von Symmetrien (gerade oder ungerade) und + noch jeweils die Unterscheidung ob die Anzahl der Koeffizienten gerade + oder ungerade ist, was insgesamt zu vier verschiedenen Typen führt: + - Gerade Symmetrie, d.h. b_k = b_{L-1-k} + - Typ 1: L ist ungeradzahlig (z.B. [1 2 3 2 1]) + - Typ 2: L ist geradzahlig (z.B. [1 2 3 3 2 1]) + - Ungerade Symmetrie, d.h. b_k = -b_{L-1-k} + - Typ 3: L ist ungeradzahlig und b_{(L-1)/2} = 0 + (z.B. [-1, -2, 0, 2, 1]) + - Typ 4: L ist geradzahlig (z.B. [-1 -2 -3 3 2 1]) + + Folgendes gilt dabei für die Typen: + Typ 1 ist die allgemeinste Form, alle Filtertypen sind möglich + Typ 2 kann kein Hochpass sein + Typ 3 kann weder Hochpass noch Tiefpass sein + Typ 4 kann kein Tiefpass sein + +8 -- Schreiben Sie die allgemeine Differenzengleichung eines IIR-Filters + höherer Ordnung an und zeichnen Sie das zugehörige Blockdiagramm. + y[n] = b_0 x[n] + b_1 x[n-1] + b_2 x[n-2] + ... + b_{L-1} x[n-(L-1)] + + + a_1 y[n-1] + a_2 y[n-2] + ... + a_{M-1} y[n-(M-1)] = + \sum_{k=0}{L-1} b_k x[n-k] + \sum_{m=1}{M-1} a_m y[n-m] + + Blockdiagramm siehe IIR-Foliensatz ab Seite 10 + +9 -- Welche Bedeutung hat die Impulsantwort für die Analyse von diskreten + Filtern? + Die Impulsantwort ist das Ausgangssignal eines Systems, bei dem am + Eingang ein Dirac-Impuls zugeführt wird. Mit Hilfe dieser lässt sich + ein LTI-System vollständig charakterisisieren (z.B. Bestimmung von + Übertragungsfunktion und Frequenzgang). Die Wirkung des Filters kann + durch Faltung der Eingangsfolge mit der Impulsantwort im Zeitbereich + bestimmt werden. + Da jedes Eingangssignal als Überlagerung von gewichteten, + zeitverzögerten Einheitsimpulsen dargestellt werden kann, können die + entsprechenden Ausgangssignale von gewichteten und zeitverzögerten + Versionen der Impulsantwort gebildet werden. + +10 - Welche Bedeutung hat das Pol/Nullstellendiagramm? + Aus einem Pol/Nullstellendiagramm kann unter anderem auf den Betrags- + und Phasenverlauf eines Systems, sowie auf dessen Impuls- und Sprung- + antwort geschlossen werden. + Aus der Lage der Pole kann man unter anderem erkennen, ob ein System + kausal oder stabil ist. Stabilität ist dann gegeben, wenn alle Pole + in der offenen linken Halbebene des Diagramms liegen. Realisierbare + (kausale) Systeme besitzen mehr Pole als Nullstellen. + Weitere Bedeutung hat das Diagramm zum Bestimmen der Koeffizienten + bei der Entwicklung von IIR-Filtern; bei dieser Methode werden die + Pole und Nullstellen des Filters mit dem gewünschten Verhalten in dem + Diagramm platziert und dann wird entsprechend fortgefahren. + +11 - Wie hängen Impulsantwort und Systemfunktion zusammen? + Die Systemfunktion (auch Übertragungsfunktion genannt) H[z] ist die + z-Transformierte der Impulsantwort h[n]. + + Zusammenhänge: + Zeitbereich: y[n] = x[n] x h[n] (x = Faltungsoperator!) + z-Bereich: H(z) = Y(z)/X(z) + Y(z) = X(z) * H(z) (* = Multiplikationsoperator!) + +12 - Schreiben Sie die DFT und die inverse DFT an. Wie berechnet man die inverse + DFT mit Hilfe der DFT? + DFT: X[k] = \sum_{n=0}^{N-1} x[n] e^{-j\frac{2 \pi n}{N} k} + iDFT: x[n] = \frac{1}{N} \sum_{k=0}^{N-1} X[k] e^{j\frac{2 \pi k}{N} n} + + Die inverse DFT unterscheidet sich von der DFT lediglich durch den + Faktor 1/N und das negative Vorzeichen. + + Ausgehend von der Formel für die iDFT kann man beide Seiten konjugiert + komplex machen, wodurch sich die gleiche Formel wie für die DFT ergibt, + nur dass noch ein Faktor von 1/N davorsteht und die einzelnen Werte + X[k] jeweils konjugiert komplex sein müssen! + + x[n] = \frac{1}{N} \sum_{k=0}^{N-1} X[k] e^{j\frac{2 \pi k}{N} n} + x[n]* = (\frac{1}{N} \sum_{k=0}^{N-1} X[k] e^{j\frac{2 \pi k}{N} n})* = + \frac{1}{N} \sum_{k=0}^{N-1} X[k]* e^{-j\frac{2 \pi k}{N} n} + [konjugiert komplexen Operator nochmal auf beiden Seiten anwenden] + x[n] = (\frac{1}{N} \sub_{k=0}^{N-1} X[k]* e^{-j\frac{2 \pi k}{N} n)* + + Also folgende Vorgehensweise um mit DFT iDFT zu berechnen: + 1. Eingangsfolge komplex konjugieren + 2. DFT auf diese modifizierte Folge anwenden + 3. Ausgangsfolge mit 1/N skalieren + 4. Ausgangsfolge nochmals komplex konjugieren + Das komplex konjugieren kann bei reellen Zeitfolgen entfallen! + +13 - Wodurch entsteht der Leck-Effekt bei der DFT? Wie können seine Auswirkungen + beeinflusst werden und welche Vor- und Nachteile treten dabei auf? diff --git a/ausarb2.txt b/ausarb2.txt new file mode 100755 index 0000000..ea14f27 --- /dev/null +++ b/ausarb2.txt @@ -0,0 +1,189 @@ +Ausarbeitung der typischen Prüfungsfragen zur Vorlesung "Signalprozessoren" +Teil 2/2 - von Sebastian Falbesoner + +14 - Wie kann mit der DFT das Spektrum einer aperiodischen Funktion annähernd + berechnet werden? + Die DFT funktioniert nur für periodische Folgen, deshalb ist die + Signaldarstellung im Zeit- und Frequenzbereich immer periodisch. In + der Realität hat jedes Signal aber einen Anfang und ein Ende. Um eine + nicht-periodische Funktion anzunähern benutzt man Zero-Padding, d.h. + man fügt in die periodische Funktion Nullen ein. + Falls man die Anzahl der Nullen gegen Unendlich laufen lässt, erhält + man die DTFT (Discrete Time Fourier Transformation), die aber nur von + theoretischem Interesse ist, da sie ein unendliches Spektrum hat. + [inff] + +15 - Sie wollen benachbarte Spektrallinien der Frequenzen f und f + delta(f) + auflösen. Wie stellen Sie sicher, dass die Spektrallinien getrennt werden? + Hinweis: Zero Padding verbessert die Trennung zweier Nahe nebeneinander + liegender Spektralkomponenten nicht! + Um die spektrale Auflösung von zwei Signalen zu verbessern, müssen bei + der Abtastung mehr Signalproben (ungleich Null) genommen werden. + + Um zwei benachbarte Spektrallinien auflösen zu können, muss der Abstand + der Spektrallinien <= als der Abstand des Frequenzrasters sein! + + [Frequenzraster = f_s / N + f_s ... Abtastfrequenz des Originalsignals + N ... Anzahl der Samples] + +16 - Was ist die FFT und wie wird sie berechnet? + Die FFT (Fast Fourier Transformation) ist ein Algorithmus zur + effizienten Berechnung der Werte einer DFT. Es handelt sich um ein + "divide and conquer" (Teile und Herrsche) Verfahren und im Gegensatz + zur direkten Berechnung werden zuvor berechnete Zwischenergebnisse + wiederverwendet, was arithmetische Rechenoperationen einspart. + Voraussetzung: Anzahl der Abtastpunkte ist eine Zweierpotenz! + + Eine N-Punkt-Folge wird aufgeteilt in zwei N/2-Punkt Folgen + [Zahl der Operationen: Reduzierung von ~N^2 auf 2x(N/2)^2 = N^2/2] + Dieser Prozess wird fortgesetzt bis eine 2-Punkt-Folge übrigbleibt + [Zahl der Operationen: Reduzierung von ~N^2 auf N*log_2(N)] + +17 - Welche Zahlendarstellungen für negative Festkommazahlen sind in der DSP + gebräuchlich und welche Vor- und Nachteile haben Sie? + Einerkomplement (One's complement): + - Bildung negativer Zahl: alle Bits invertieren + - 0 ist zweimal vorhanden (-0, +0) + Zweierkomplement (Two's complement): + - meistens verwendet in DSPs + - Addition und Subtraktion mit selber Hardware möglich + - Bildung negativer Zahl: Einerkompliment + 1 + - 0 ist nur einmal vorhanden + Sign-Magnitude: + - Einfache Erzeugung negativer Zahlen + - schlecht geeignet zum Rechnen + - nur in speziellen Hardware-Implementierungen verwendet + - Bildung negativer Zahl: MSB auf 1 setzen, Rest bleibt gleich + Offset Binary: + - verwendet in A/D-Wandlern + - Bildung negativer Zahl: wie Zweierkomplement, MSB vertauscht + +18 - Wie wirken sich Quantisierungsfehler auf ein Signal aus? + +19 - Welche Bedeutung hat der Lastfaktor? + +20 - Wie hängen Dynamikbereich und Genauigkeit bei der Festkommadarstellung + zusammen? + Bei der Festkommadarstellung befindet sich der Dezimalpunkt für + Kommazahlen an einem fixen Punkt und für den Bereich nach und vor + diesem wird eine fixe Anzahl an Bits verwendet; man beschreibt daher + dieses Format auch mit Qm.n + + Je mehr Bits man für den Bereich nach dem Fixpunkt spendiert, desto + höher wird natürlich die Genauigkeit der Kommazahlen. Das selbe + gilt für den Dynamikbereich: je mehr Bits für die Stellen vor dem + Fixpunkt verwendet werden, desto mehr ganzzahlige Werte vor dem + Dezimalpunkt sind möglich. + Die Qm.n Formate haben aber insgesamt eine fixe Größe, deshalb gilt + hier, je höher der Dynamikbereich, desto weniger Bits bleiben für + den Nachkommaanteil übrig und desto ungenauer werden die Kommazahlen, + und umgekehrt fällt der ganzzahlige Anteil umso kleiner aus, je mehr + Bits man für hohe Genauigkeit investiert. + + Die Extreme eines 16-Bit Qm.n sind zum Beispiel: + Q0.15: höchste Präzision, jedoch insgesamt nur ein Wertebereich von + -1 bis 0.999999... + Q15.0: höchster Dynamikbereich, Nachkommaanteil gar nicht vorhanden, + entspricht einem Integer mit Wertebereich -32768 bis 32767! + +21 - Welche Vor- und Nachteile haben Fest- und Gleitkomma-DSPs? + Eigenschaften Festkommazahlen: + - gleichmäßige Auflösung über den gesamten Zahlenbereich + - kleiner Dynamikbereich + - Festkomma-DSPs sind billiger, verbrauchen weniger Strom, + haben eine höhere Taktfrequenz, werden aber nur sehr schwach + von C-Compilern unterstützt (meist in Assembler programmiert); + Overflow- und Quantisierungsfehler müssen softwareseitig + gelöst werden + + Eigenschaften Gleitkommazahlen: + - feinere Auflösung für kleine Zahlen, gröbere Auflösung für + große Zahlen + - größerer Dynamikbereich + - Gleitkomma-DSPs sind teurer, verbrauchen mehr Strom, + haben eine niedrigere Taktfrequenz, werden aber gut von + C-Compilern unterstützt und sind einfacher zu programmieren + (keine Skalierung notwendig!) + +22 - Was ist das IEEE Gleitkomma-Format? + genaue Bezeichnung IEEE 754; Norm die Standarddarstellungen für binäre + Gleitkommazahlen in Computern definiert, legt aber auch genaue + Verfahren für die Durchführung mathematischer Operationen, insbesondere + für Rundungen, sowie Exceptions (Division durch Null, Overflow etc.) + fest! + + allgemeine Darstellung einer Gleitkommazahl: + x = s * m * b^e + s ... Vorzeichen (bestehend aus 1 Bit) + m ... Mantisse + b ... Basis (hier b=2) + e ... Exponent + + zwei Grunddatenformate: + single precision (32 bit, len(m)=23 bit, len(e)=8 bit) + double precision (64 bit, len(m)=52 bit, len(e)=11 bit) + zwei erweiterte Formate: + single extended (>42 bit, len(m)>30 bit, len(e)>10 bit) + double extended (>78 bit, len(m)>62 bit, len(e)>14 bit) + + enthält auch Konventionen für die Darstellungen spezieller Zahlen, + z.B. NaN (not a number), oder Unendlich (Spezialwerte vom Exponent + 0 und 255!) + +23 - Was ist Pipelining und welche typischen Stufen treten in einer Pipeline + auf? + Prinzip: Instruktionen werden in mehrere Phasen zerlegt, diese + Phasen können parallel ausgeführt werden; die Verwendung von + unabhängigen Prozessor-Ressourcen wird dadurch optimiert. + Sobald die Pipeline voll ist, kann theoretisch eine ganze Instruktion + pro Taktzyklus abgearbeitet werden! + Typische Phasen: + Instr. PreFetch: store address of instruction to be fetched + Instr. Fetch: loads operation code + Instr. Decode: decodes the fetched instruction + Instr. Access: reading operand address, modifying registers + Instr. Read: reads data from the data buses + Instr. Execute: executes instruction and writes if required + +24 - Was versteht man unter Superskalar-Architekturen? Was versteht man unter + VLIW-Architekturen? Wodurch unterscheiden sich die beiden? + Superskalarität: Fähigkeit eines Prozessors, mehrere Befehle aus einem + Befehlsstrom gleichzeitig mit mehreren parallel arbeitenden + Funktionseinheiten zu verarbeiten. Es handelt sich dabei um eine + Parallelität auf Befehlsebene, bei der die feinkörnige Nebenläufigkeit + zwischen den einzelnen Befehlen ausgenutzt wird. + VLIW-Architektur: VLIW steht für "Very Long Instruction Word" und + bezeichnet eine Befehlssatzarchitektur-Technik, bei der deutlich + längere Befehle zum Einsatz kommen, die die parallel auszuführenden + Befehle enthalten. Es handelt sich dabei ebenfalls um Parallelität auf + Instruktionsebene. + + Unterschiede: bei superskalaren Architekturen werden die Befehle + vom Prozessor dynamisch auf die einzelnen Funktionseinheiten verteilt, + während VLIW diese Aufteilung statisch vom Compiler erledigen lässt. + [doc] + +25 - Was sind Kaskaden in IIR-Filtern? Warum verwendet man sie? + Beim kaskadieren, d.h. hintereinanderschachteln, von IIR-Filtern werden + stets welche (max.) 2. Ordnung verwendet, was folgende Vorteile bringt: + - einfacher zu entwerfen, weniger Entwicklungsaufwand + - weniger anfällig für Quantisierungsfehler + - weniger anfällig für Stabilitätsprobleme + Ein großer Nachteil ist jedoch, dass die Aufteilung der Pole und + Nullstellen auf die Subsysteme 2. Ordnung nicht trivial ist! + +26 - Was versteht man unter einem Zirkulärbuffer? + Auch "Ringbuffer" genannt - in solch einem Buffer wird das älteste + Element durch das neueste ersetzt und der Pointer auf dieses Element + gesetzt. Er kommt vor allem bei FIR-Filtern zum Einsatz, da mit + einem Ringbuffer effizient auf die letzten Elemente zugegriffen werden + kann. [inff] + +27 - Was versteht man unter Bit-Reversal bei DSP-Architekturen? + Die Bit-Reversed-Adressierung ist nützlich, um FFTs (Fast Fourier + Transformationen) schneller zu implementieren. Da das Endergebnis + solcher Transformationen "bit-reversed" ist, kann diese Adressierung + dazu verwendet werden, die errechneten Daten in brauchbarer Form im + Speicher abzulegen. Es ist also nicht nötig, die Bits mit zusätzlichen + Befehlen zu korrigieren und Speicherinhalte auszutauschen. [doc] -- 2.25.1