--- /dev/null
+Ausarbeitung der typischen Prüfungsfragen zur Vorlesung "Signalprozessoren"
+Teil 1/2 - von Sebastian Falbesoner <e0725433@student.tuwien.ac.at>
+
+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?
--- /dev/null
+Ausarbeitung der typischen Prüfungsfragen zur Vorlesung "Signalprozessoren"
+Teil 2/2 - von Sebastian Falbesoner <e0725433@student.tuwien.ac.at>
+
+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]