1 Ausarbeitung der typischen Prüfungsfragen zur Vorlesung "Signalprozessoren"
2 Teil 2/2 - von Sebastian Falbesoner <e0725433@student.tuwien.ac.at>
4 14 - Wie kann mit der DFT das Spektrum einer aperiodischen Funktion annähernd
6 Die DFT funktioniert nur für periodische Folgen, deshalb ist die
7 Signaldarstellung im Zeit- und Frequenzbereich immer periodisch. In
8 der Realität hat jedes Signal aber einen Anfang und ein Ende. Um eine
9 nicht-periodische Funktion anzunähern benutzt man Zero-Padding, d.h.
10 man fügt in die periodische Funktion Nullen ein.
11 Falls man die Anzahl der Nullen gegen Unendlich laufen lässt, erhält
12 man die DTFT (Discrete Time Fourier Transformation), die aber nur von
13 theoretischem Interesse ist, da sie ein unendliches Spektrum hat.
16 15 - Sie wollen benachbarte Spektrallinien der Frequenzen f und f + delta(f)
17 auflösen. Wie stellen Sie sicher, dass die Spektrallinien getrennt werden?
18 Hinweis: Zero Padding verbessert die Trennung zweier Nahe nebeneinander
19 liegender Spektralkomponenten nicht!
20 Um die spektrale Auflösung von zwei Signalen zu verbessern, müssen bei
21 der Abtastung mehr Signalproben (ungleich Null) genommen werden.
23 Um zwei benachbarte Spektrallinien auflösen zu können, muss der Abstand
24 der Spektrallinien <= als der Abstand des Frequenzrasters sein!
26 [Frequenzraster = f_s / N
27 f_s ... Abtastfrequenz des Originalsignals
28 N ... Anzahl der Samples]
30 16 - Was ist die FFT und wie wird sie berechnet?
31 Die FFT (Fast Fourier Transformation) ist ein Algorithmus zur
32 effizienten Berechnung der Werte einer DFT. Es handelt sich um ein
33 "divide and conquer" (Teile und Herrsche) Verfahren und im Gegensatz
34 zur direkten Berechnung werden zuvor berechnete Zwischenergebnisse
35 wiederverwendet, was arithmetische Rechenoperationen einspart.
36 Voraussetzung: Anzahl der Abtastpunkte ist eine Zweierpotenz!
38 Eine N-Punkt-Folge wird aufgeteilt in zwei N/2-Punkt Folgen
39 [Zahl der Operationen: Reduzierung von ~N^2 auf 2x(N/2)^2 = N^2/2]
40 Dieser Prozess wird fortgesetzt bis eine 2-Punkt-Folge übrigbleibt
41 [Zahl der Operationen: Reduzierung von ~N^2 auf N*log_2(N)]
43 17 - Welche Zahlendarstellungen für negative Festkommazahlen sind in der DSP
44 gebräuchlich und welche Vor- und Nachteile haben Sie?
45 Einerkomplement (One's complement):
46 - Bildung negativer Zahl: alle Bits invertieren
47 - 0 ist zweimal vorhanden (-0, +0)
48 Zweierkomplement (Two's complement):
49 - meistens verwendet in DSPs
50 - Addition und Subtraktion mit selber Hardware möglich
51 - Bildung negativer Zahl: Einerkompliment + 1
52 - 0 ist nur einmal vorhanden
54 - Einfache Erzeugung negativer Zahlen
55 - schlecht geeignet zum Rechnen
56 - nur in speziellen Hardware-Implementierungen verwendet
57 - Bildung negativer Zahl: MSB auf 1 setzen, Rest bleibt gleich
59 - verwendet in A/D-Wandlern
60 - Bildung negativer Zahl: wie Zweierkomplement, MSB vertauscht
62 18 - Wie wirken sich Quantisierungsfehler auf ein Signal aus?
64 19 - Welche Bedeutung hat der Lastfaktor?
66 20 - Wie hängen Dynamikbereich und Genauigkeit bei der Festkommadarstellung
68 Bei der Festkommadarstellung befindet sich der Dezimalpunkt für
69 Kommazahlen an einem fixen Punkt und für den Bereich nach und vor
70 diesem wird eine fixe Anzahl an Bits verwendet; man beschreibt daher
71 dieses Format auch mit Qm.n
73 Je mehr Bits man für den Bereich nach dem Fixpunkt spendiert, desto
74 höher wird natürlich die Genauigkeit der Kommazahlen. Das selbe
75 gilt für den Dynamikbereich: je mehr Bits für die Stellen vor dem
76 Fixpunkt verwendet werden, desto mehr ganzzahlige Werte vor dem
77 Dezimalpunkt sind möglich.
78 Die Qm.n Formate haben aber insgesamt eine fixe Größe, deshalb gilt
79 hier, je höher der Dynamikbereich, desto weniger Bits bleiben für
80 den Nachkommaanteil übrig und desto ungenauer werden die Kommazahlen,
81 und umgekehrt fällt der ganzzahlige Anteil umso kleiner aus, je mehr
82 Bits man für hohe Genauigkeit investiert.
84 Die Extreme eines 16-Bit Qm.n sind zum Beispiel:
85 Q0.15: höchste Präzision, jedoch insgesamt nur ein Wertebereich von
87 Q15.0: höchster Dynamikbereich, Nachkommaanteil gar nicht vorhanden,
88 entspricht einem Integer mit Wertebereich -32768 bis 32767!
90 21 - Welche Vor- und Nachteile haben Fest- und Gleitkomma-DSPs?
91 Eigenschaften Festkommazahlen:
92 - gleichmäßige Auflösung über den gesamten Zahlenbereich
93 - kleiner Dynamikbereich
94 - Festkomma-DSPs sind billiger, verbrauchen weniger Strom,
95 haben eine höhere Taktfrequenz, werden aber nur sehr schwach
96 von C-Compilern unterstützt (meist in Assembler programmiert);
97 Overflow- und Quantisierungsfehler müssen softwareseitig
100 Eigenschaften Gleitkommazahlen:
101 - feinere Auflösung für kleine Zahlen, gröbere Auflösung für
103 - größerer Dynamikbereich
104 - Gleitkomma-DSPs sind teurer, verbrauchen mehr Strom,
105 haben eine niedrigere Taktfrequenz, werden aber gut von
106 C-Compilern unterstützt und sind einfacher zu programmieren
107 (keine Skalierung notwendig!)
109 22 - Was ist das IEEE Gleitkomma-Format?
110 genaue Bezeichnung IEEE 754; Norm die Standarddarstellungen für binäre
111 Gleitkommazahlen in Computern definiert, legt aber auch genaue
112 Verfahren für die Durchführung mathematischer Operationen, insbesondere
113 für Rundungen, sowie Exceptions (Division durch Null, Overflow etc.)
116 allgemeine Darstellung einer Gleitkommazahl:
118 s ... Vorzeichen (bestehend aus 1 Bit)
120 b ... Basis (hier b=2)
123 zwei Grunddatenformate:
124 single precision (32 bit, len(m)=23 bit, len(e)=8 bit)
125 double precision (64 bit, len(m)=52 bit, len(e)=11 bit)
126 zwei erweiterte Formate:
127 single extended (>42 bit, len(m)>30 bit, len(e)>10 bit)
128 double extended (>78 bit, len(m)>62 bit, len(e)>14 bit)
130 enthält auch Konventionen für die Darstellungen spezieller Zahlen,
131 z.B. NaN (not a number), oder Unendlich (Spezialwerte vom Exponent
134 23 - Was ist Pipelining und welche typischen Stufen treten in einer Pipeline
136 Prinzip: Instruktionen werden in mehrere Phasen zerlegt, diese
137 Phasen können parallel ausgeführt werden; die Verwendung von
138 unabhängigen Prozessor-Ressourcen wird dadurch optimiert.
139 Sobald die Pipeline voll ist, kann theoretisch eine ganze Instruktion
140 pro Taktzyklus abgearbeitet werden!
142 Instr. PreFetch: store address of instruction to be fetched
143 Instr. Fetch: loads operation code
144 Instr. Decode: decodes the fetched instruction
145 Instr. Access: reading operand address, modifying registers
146 Instr. Read: reads data from the data buses
147 Instr. Execute: executes instruction and writes if required
149 24 - Was versteht man unter Superskalar-Architekturen? Was versteht man unter
150 VLIW-Architekturen? Wodurch unterscheiden sich die beiden?
151 Superskalarität: Fähigkeit eines Prozessors, mehrere Befehle aus einem
152 Befehlsstrom gleichzeitig mit mehreren parallel arbeitenden
153 Funktionseinheiten zu verarbeiten. Es handelt sich dabei um eine
154 Parallelität auf Befehlsebene, bei der die feinkörnige Nebenläufigkeit
155 zwischen den einzelnen Befehlen ausgenutzt wird.
156 VLIW-Architektur: VLIW steht für "Very Long Instruction Word" und
157 bezeichnet eine Befehlssatzarchitektur-Technik, bei der deutlich
158 längere Befehle zum Einsatz kommen, die die parallel auszuführenden
159 Befehle enthalten. Es handelt sich dabei ebenfalls um Parallelität auf
162 Unterschiede: bei superskalaren Architekturen werden die Befehle
163 vom Prozessor dynamisch auf die einzelnen Funktionseinheiten verteilt,
164 während VLIW diese Aufteilung statisch vom Compiler erledigen lässt.
167 25 - Was sind Kaskaden in IIR-Filtern? Warum verwendet man sie?
168 Beim kaskadieren, d.h. hintereinanderschachteln, von IIR-Filtern werden
169 stets welche (max.) 2. Ordnung verwendet, was folgende Vorteile bringt:
170 - einfacher zu entwerfen, weniger Entwicklungsaufwand
171 - weniger anfällig für Quantisierungsfehler
172 - weniger anfällig für Stabilitätsprobleme
173 Ein großer Nachteil ist jedoch, dass die Aufteilung der Pole und
174 Nullstellen auf die Subsysteme 2. Ordnung nicht trivial ist!
176 26 - Was versteht man unter einem Zirkulärbuffer?
177 Auch "Ringbuffer" genannt - in solch einem Buffer wird das älteste
178 Element durch das neueste ersetzt und der Pointer auf dieses Element
179 gesetzt. Er kommt vor allem bei FIR-Filtern zum Einsatz, da mit
180 einem Ringbuffer effizient auf die letzten Elemente zugegriffen werden
183 27 - Was versteht man unter Bit-Reversal bei DSP-Architekturen?
184 Die Bit-Reversed-Adressierung ist nützlich, um FFTs (Fast Fourier
185 Transformationen) schneller zu implementieren. Da das Endergebnis
186 solcher Transformationen "bit-reversed" ist, kann diese Adressierung
187 dazu verwendet werden, die errechneten Daten in brauchbarer Form im
188 Speicher abzulegen. Es ist also nicht nötig, die Bits mit zusätzlichen
189 Befehlen zu korrigieren und Speicherinhalte auszutauschen. [doc]