init
authortheStack <sebastian.falbesoner@gmail.com>
Tue, 10 Nov 2009 08:22:29 +0000 (09:22 +0100)
committertheStack <sebastian.falbesoner@gmail.com>
Tue, 10 Nov 2009 08:22:29 +0000 (09:22 +0100)
ausarb1.txt [new file with mode: 0755]
ausarb2.txt [new file with mode: 0755]

diff --git a/ausarb1.txt b/ausarb1.txt
new file mode 100755 (executable)
index 0000000..2a2cac6
--- /dev/null
@@ -0,0 +1,167 @@
+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?
diff --git a/ausarb2.txt b/ausarb2.txt
new file mode 100755 (executable)
index 0000000..ea14f27
--- /dev/null
@@ -0,0 +1,189 @@
+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]