TU Wien:Signalprozessoren VO (Grünbacher)/Fragenausarbeitung SS11
Ausarbeitung der typischen Prüfungsfragen zur Vorlesung "Signalprozessoren" - von Sebastian Falbesoner <e0725433@student.tuwien.ac.at>. Der Text wurde hauptsächlich formatiert und durch Folien, Informatik-Forum, Wikipedia erweitert.
Dies ist kein offizieller Fragenkatalog - d.h. die Fragen müssen nicht vollständig sein!
Wichtig[Bearbeiten | Quelltext bearbeiten]
- Fourieranalyse, insbesondere DFT und inverse DFT, FFT,
- FIR- und IIR-Blockschaltbilder und z-Transformation
- Systemfunktion, Systemantwort und Zusammenhänge
- Stabilität --> P/N Diagramme.
- Filterarten, Unterschiede. (Bessel-, Cauer-, Potenzfilter,...)
Allgemein[Bearbeiten | Quelltext bearbeiten]
Impulsantwort[Bearbeiten | Quelltext bearbeiten]
- 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 (Linear time-invariant 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.
Pol/Nullstellendiagramm[Bearbeiten | Quelltext bearbeiten]
- 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 Sprungantwort 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:
- Pol- und Nullstellen für gewünschte Filtereigenschaften in Diagramm platzieren
- Koordinaten der Pol- und Nullstellen in z-Ebene bestimmen
- Polynom aus den Polstellen bzw. Nullstellen berechnen (MATLAB: poly(p))
- in Systemfunktion einsetzen:
Durch das PN-Diagramm ist die Systemfunktion H(z) eindeutig ermittelbar. Nullstellen auf dem Einheitskreis bedeuten, dass die zueghörige Frequenzkomponente am Ausgang des Systems nicht auftritt, also vollständig unterdrückt wird. Die Phase dreht sich hier um 180° ("Zacke").
Für stabile Systeme müssen die Polstellen im z-Bereich innerhalb des Einheitskreises liegen (zum Vergleich: bei zeit-kontinuierlichen Systemen gilt, dass die Pole in der linken offenen Halbebene des s-Bereiches liegen müssen).
Impulsantwort und Systemfunktion[Bearbeiten | Quelltext bearbeiten]
- Wie hängen Impulsantwort und Systemfunktion zusammen?
Die Systemfunktion (auch Übertragungsfunktion genannt) H[z] ist die z-Transformierte der Impulsantwort h[n].
Zeitbereich:
(* = Faltungsoperator)
z-Bereich:
TODO: ist das alles?
Fouriertransformation[Bearbeiten | Quelltext bearbeiten]
- Erzählen Sie mir alles was Ihnen über die DFT einfällt: was macht sie, wozu braucht man sie, welche Effekte können auftreten etc.
DFT & iDFT[Bearbeiten | Quelltext bearbeiten]
- Schreiben Sie die DFT und die inverse DFT an.
- Wie berechnet man die inverse DFT mit Hilfe der DFT?
DFT:
N = Länge der Eingangsfolge
iDFT:
N = Länge der Eingangsfolge
Die inverse DFT unterscheidet sich von der DFT lediglich durch den Faktor 1/N und das negative Vorzeichen.
wietere Schreibweise mit:
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!
[konjugiert komplexen Operator nochmal auf beiden Seiten anwenden]
Also folgende Vorgehensweise um mit DFT die iDFT zu berechnen:
- Eingangsfolge X[k] komplex konjugieren (Negation des Imaginärteils)
- DFT auf diese modifizierte Folge anwenden
- Ausgangsfolge x[n] mit 1/N skalieren
- Ausgangsfolge nochmals komplex konjugieren (Negation der Imaginärteile - kann bei reellen Zeitfolgen entfallen!)
Leck-Effekt[Bearbeiten | Quelltext bearbeiten]
- Wodurch entsteht der Leck-Effekt bei der DFT?
- Wie können seine Auswirkungen beeinflusst werden und welche Vor- und Nachteile treten dabei auf?
Wenn eine gegebene Frequenz nicht auf dem Frequenzraster liegt (Abstand zwischen Spektrallinien beträgt ), so muss sie durch benachbarte Frequenzen dargestellt werden.
Man kann diesen Effekt vermindern, indem man N größer wählt -> größere Datenmenge. Vollständig verhindert kann der Leck-Effekt nicht werden, da in der Praxis üblicherweise die Spektralkomponenten der (praktischen) Signale nicht am Raster liegen werden.
- Sie wollen benachbarte Spektrallinien der Frequenzen und 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 =
... Abtastfrequenz des Originalsignals
N ... Anzahl der Samples
DFT und aperiodische Funktionen[Bearbeiten | Quelltext bearbeiten]
- 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 an die periodische Funktion Nullen an - je mehr, desto höher ist der Rechenaufwand.
Durch Zero Padding wird die Darstellung der DFT verbessert und die Auflösung der Spektrallinien erhöht. Zero Padding kann die Trennung zweier nahe nebeneinander liegenden Spektralkomponenten nicht verbessern!
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.
FFT[Bearbeiten | Quelltext bearbeiten]
- 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 iederverwendet, 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)]
2-Punkt Algorithmus: Im ersten Schritt führen wir die Beziehung
ein. Man kann erkennen, dass für alle k=0,1,...,N-1 eine gewissen Symmetrie aufweist:
man kann nun die Folge x[n] in eine gerade und ungerade Liste aufteilen, und erhält damit folgenden Term:
weiters kann man nun die Beziehung
ausnutzen, die sich wie folgt ergibt:
also erhalten wir:
vereinfacht angeschrieben ist das:
die Symmetrieeigenschaft ausgenutzt, können wir nun behaupten:
beim 2-Punkt Algorithmus wird x[n] also so lange in geraden und ungeraden Folgen aufgeteilt bis nur noch 2 Elemente in der Liste enthalten sind. Daraus folgt dass x[n] immer eine Laenge von 2^n haben muss bzw. wenn das nicht der Fall ist, mit Nullen aufgefuellt werden muss. Weiters gibts noch leicht abgeaenderte Varianten, z.B. den 4-Punkt bzw. 8-Punkt Algorithmus. Hier reduziert sich die Anzahl der Multiplikationen um zirka um 25% bzw. 40%, haben aber den Nachteil dass die Laenge der Eingangsfolge eine Potenz von 4 bzw. 8 sein muss (und dementsprechend grössere Speicherelemente benötigt).
Faltung[Bearbeiten | Quelltext bearbeiten]
- Erzählen Sie mir alles was Ihnen über Faltung einfällt.
lineare und zirkuläre Faltung[Bearbeiten | Quelltext bearbeiten]
- Welcher Unterschied besteht zwischen linearer und zirkulärer Faltung?
- Erklären Sie anhand eines Beispiel. (z.B.: Impulsantwort f = [2 1 2 1] und Eingangsfolge g = [1 2 3 4]====
lineare Faltung: (auch "normale" oder aperiodische Faltung) im Zeitbereich gilt für die Länge des Ergebnisvektors:
- len(f * g) = len(f) + len(g) - 1
Die lineare diskrete Faltung ist wie folgt definiert:
k erstreckt sich mindestens über den gesamten Definitionsbereich beider Signale.
zirkuläre Faltung: (auch zyklische oder periodische Faltung) entsteht über den Umweg über den Frequenzbereich:
- iDFT(DFT(f) x DFT(g))
Hier bleibt die Länge des Ergebnisvektors gegenüber der Länge der Parameter erhalten, also gilt:
- len(iDFT(DFT(f) x DFT(g))) == len(g) == len(f)
Sind die Eingangsvektoren nicht gleich lang, muss der kürzere mit Nullen verlängert werden "zero-padding". Dementsprechend unterscheidet sich das Ergebnis von der linearen Faltung. Abhilfe dabei schafft das Auffüllen von Nullen:
- fnew = [f zeros(1,len(g)-1)]
- gnew = [g zeros(1,len(f)-1)]
- len(fnew) == len(gnew) (sonst kann nicht Multipliziert werden)
und zwar entspricht die Anzahl der Nullen, der Länge des zweiten Parameters minus eins. Durch dieses Auffüllen entspricht das Ergebnis der zirkulären Faltung, wieder dem Ergebnis der periodischen Faltung.
Die Multiplikation im Frequenzbereich entspricht somit der Faltung im Zeitbereich.
Achtung: * ... entspricht Faltung x ... Multikplikation
schnelle Faltung - Faltung im Frequenzbereich mittels FFT[Bearbeiten | Quelltext bearbeiten]
- 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?
Vorgehensweise:
- f und g mit Hilfe der FFT in den Frequenzbereich transformieren
- sie dort miteinander multiplizieren
- 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 der Laenge M-1 aufgefüllt werden und umgekehrt (Zero-Padding). Somit hat das Ergebnis der Faltungsoperation die L+M-Werte. In der digitalen Signalverarbeitung steht L dabei üblicherweise für die Länge der Signalabschnitte und M für die Länge der Impulsantwort, können aber auch beliebig andere Zahlenfolgen sein.
Hinweis: schnelle Faltung ist nicht nur schneller, sondern auch genauer, da Rundungsfehler von der Zahl der Operationen abhängen - weniger Operationen, weniger Rundungsfehler!
Zahlen[Bearbeiten | Quelltext bearbeiten]
Zahlendarstellung in DSPs[Bearbeiten | Quelltext bearbeiten]
- 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 vertauschen
Vorsicht bei unterschiedlichen Wortlängen! Lösung für 2's complement: Sign-extended Operation - bei negativen Zahlen werden die Stellen nach dem MSB mit einsern aufgefüllt. Der überzählige Einser vor dem Ergebnis der Operation, wird von der Hardware automatisch weggelassen.
Quantisierungsfehler[Bearbeiten | Quelltext bearbeiten]
- Wie wirken sich Quantisierungsfehler auf ein Signal aus?
Erhöhen das Rauschen im Signal im A/D-Wandler.
Eine Größe für das Rauschen ist: Signal-to-Noise ratio
(Herleitung siehe Folien)
b ... Wortlänge des A/D-Wandlers
z.B.: Sinussignal: = 0,71 (-3dB unter max Signalbereich)
Lastfaktor[Bearbeiten | Quelltext bearbeiten]
- Welche Bedeutung hat der Lastfaktor?
Der Lastfaktor wird für die Berechnung der SNR benötigt.
10log deswegen, weil es sich um einen Leistungsterm handelt.
Der Rauschanteil berechnet sich durch statistische Annahmen:
=>
Der Lastfaktor berechnet sich nun wie folgt:
Ein Rechtecksignal hat z.B. einen LF=1; ein Sinussignal LF= = 0.71
Anders angeschrieben berechnet sich der Lastfaktor
daraus folgt
in die SNR Formel eingesetzt ergibt das also
Der Lastfaktor wird bei Sinusschwingungen nie größer als -3dB, daraus können wir die maximale Sinusaussteuerung für den A/D-Wandler berechnen:
Reale A/D-Wandler reduzieren die ideale SNR um 3-6dB. Es ist unvorsichtig einen A/D-Wandler voll auszusteuern, da sonst die Gefahr der Übersteuerung besteht. Es muss ein Effektivwert gesucht werden, der den A/D-Wandler nicht übersteuert. Weiters ist es unzweckmässig einen A/D-Wandler einzusetzen der einen deutlich besseres SNR hat als das zu wandlende kontinuierliche Signal!
Festkommadarstellung[Bearbeiten | Quelltext bearbeiten]
- 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
Fest- und Gleitkomma-DSPs[Bearbeiten | Quelltext bearbeiten]
- 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!)
IEEE Gleitkomma-Format[Bearbeiten | Quelltext bearbeiten]
- 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:
- s ... Vorzeichen (bestehend aus 1 Bit)
- m ... Mantisse
- b ... Basis (hier b=2)
- e ... Exponent
bei IEEE 754:
IEEE 32-Bit floating-point:
- s ... 1 Bit
- e ... Bit 1 bis 8 (=8 Bits)
- m ... Bit 9 bis 31 (=23 Bits)
warum 2^{e-127}? Leichtere Vergleichbarkeit!
- 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)
Pipelining[Bearbeiten | Quelltext bearbeiten]
- 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
Architekturen[Bearbeiten | Quelltext bearbeiten]
- 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.
Zirkulärbuffer[Bearbeiten | Quelltext bearbeiten]
- 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.
Bit-Reversal[Bearbeiten | Quelltext bearbeiten]
- 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 die Eingangswerte nicht der üblichen numerischen Ordnung folgen (bei einer 8-Punktfolge ist die Ordnung 0, 4, 2, 6, 1, 5, 3, 7), kann diese Adressierung dazu verwendet werden, die benötigten Daten schneller anzulegen. Es ist also nicht nötig, die Bits mit zusätzlichen Befehlen zu korrigieren oder Speicherinhalte auszutauschen.
FIR[Bearbeiten | Quelltext bearbeiten]
Fenster[Bearbeiten | Quelltext bearbeiten]
- Welche Bedeutung haben Fenster bei FIR-Filtern?
- Welche Fenster kennen Sie welche Auswirkungen haben sie?
Ideale Filter haben unendliche Impulsantworten im Frequenzbereich, was nicht der Realität entspricht, da das System ja "eingeschaltet" werden muss. Deshalb muss im Zeitbereich "gefenstert" werden.
Filterdesign: Dabei wird der gewünschte Frequenzgang des Filters definiert und per inverser Fouriertransformation die (ideale) Impulsantwort ermittelt. Das Resultat dabei ist in der Regel unendlich lang, um also eine gewünschte Filterlänge N (=Ordnung) zu erhalten, wird durch eine Fensterfunktion ein Ausschnitt der unendlichen Impulsantwort ausgewählt. Der tatsächliche Frequenzgang des Filters entspricht somit der Faltung des gewünschten Frequenzganges mit der der Fouriertransformierten der Fensterfunktion!
Im Filterdesign führen breite (selektive) Fensterfunktionen zu steilen Übergängen (='B') zwischen Durchlass- und Sperrbereich, aber zu geringer Sperrdämpfung (='A'). Schmale (nicht selektive) Fensterfunktionen führen zu flachen Übergaengen, dafür aber zu grosser Sperrdämpfung.
verschiedene Fenster (nach Selektivitaet geordnet):
- Rechteckfenster B=4pi/(2M+1) A=-13dB
- Hannfenster B=8pi/(2M+1) A=-32dB
- Hammingfenster B=8pi/(2M+1) A=-43dB
- Blackmann B=12pi/(2M+1) A=-58dB
weitere: Dreieckfenster, Kaiserfenster (hat Parameter \beta !)
Frequenzgang berechnen[Bearbeiten | Quelltext bearbeiten]
- Berechnen Sie den Frequenzgang des FIR-Filters mit den Koeffizieten [1 2 3 3 2 1]
Formel für Frequenzgang von FIR-Filtern allgemein:
hergeleitet in dem komplexe Exponentialfolge x[n] in die allgemeine Gleichung für FIR-Filter eingesetzt wurde!
Herleitung:
in y[n] einsetzen ... kommt dann auf
wobei der Term in der Klammer entspricht!
in unserem Fall also:
laut Skript DesignFIR.pdf Seite 2:
- H(w) ist der Frequenzgang
- L ist Filterlänge (Zahl der Koeffizienten)
- L - 1 ist Ordnung des Filters
Ergebnhis ist gleich, siehe oben.
lineare Phase[Bearbeiten | Quelltext bearbeiten]
- 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 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.
- 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.
- Typ 3: L ist ungeradzahlig und (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
Einschränkungen ergeben such die Nullstellen die sich mit den Symmetrieeigenschaften ergeben. Alle ungeradzahligen Filter haben eine gradzahlige Ordnung (Anzahl an Polen).
Mit analogen Filtern kann eine lineare Phase mithilfe eines Besselfilters angenähert werden. Da analoge Filter im Frequenzbereich Polynome darstellen, ist ihre Phase aber nur annähernd linear und nicht komplett wie bei FIR-Filtern.
IIR[Bearbeiten | Quelltext bearbeiten]
Impulsantwort und Blockdiagramm[Bearbeiten | Quelltext bearbeiten]
- 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]
Impulsantwort: in z-Bereich transformieren, und dort berechnen. Um die Impulsantwort zu erhalten muss H(z) in den Zeitbereich transformiert werden (h[n]).
die Transformation zurück in den Zeitbereich bleibt dem Leser als Übung Hinweis: Partialbruchzerlegung)
TODO! Blockdiagramm siehe IIR-Foliensatz ab Seite 10
Approximationsansätze für den Frequenzgang[Bearbeiten | Quelltext bearbeiten]
- 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
allgemeine Differenzengleichung und Blockdiagramm[Bearbeiten | Quelltext bearbeiten]
- Schreiben Sie die allgemeine Differenzengleichung eines IIR-Filters höherer Ordnung an und zeichnen Sie das zugehörige Blockdiagramm.
Blockdiagramm siehe IIR-Foliensatz ab Seite 10
Kaskaden[Bearbeiten | Quelltext bearbeiten]
- Was sind Kaskaden in IIR-Filtern?
- Warum verwendet man sie?
Beim kaskadieren, d.h. hintereinanderschachteln, von IIR-Filtern werden stets Filter (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!