Ich habe Schwierigkeiten zu verstehen, was "unendlich" in IIR in der Praxis bedeutet. Theoretisch wird die Impulsantwort für die Rückmeldung verwendet. Wenn diese Rückmeldung niemals endet, wie wird die Ausgabe erzeugt?
Um diese Frage zu beantworten, müssen Sie wissen, was "Impuls" und "Antwort" bedeuten ...
Ein "Impuls" ist ein einfacher Impuls. Digital wäre es eine Probe mit einem Maximalwert, während alle anderen Proben davor und danach Null wären. Wenn Sie dies hören würden, würden Sie so etwas wie einen Knall oder einen Kracher hören.
Die "Antwort" ist die Ausgabe eines Filters (oder etwas anderes), dem der Impuls gegeben wird.
Sie können beispielsweise die "Impulsantwort eines Raums" hören, indem Sie in den Raum gehen, einfach mit der Hand klatschen und das Echo hören. Es würde einige Übung erfordern, um das Händeklatschen so "scharf" wie möglich zu machen. Das Erhalten der Impulsantwort eines Filters ist der gleiche Weg, aber anstelle eines Handklatschens verwenden Sie einen einfachen Impuls und anstelle eines Raums haben Sie einen Filter.
Wenn Sie sich die Impulsantwort eines Filters oder eines Raums ansehen, wird der Ausgang eine Zeit lang nach dem Impuls wackeln (und manchmal auch vorher). Im Raum hörten Sie dieses Wackeln als Echo. In einem Filter steht dieses Wackeln in direktem Zusammenhang mit der Frequenz und dem Phasengang des Filters. In einem Raum wird die Zeit, die Sie das Echo hören, als "Hallzeit" bezeichnet - es gibt keinen entsprechenden Begriff für einen Filter, aber er ist Teil der Impulsantwort.
Nun ist ein FIR-Filter (Finite Impulse Response) endlich, da die Impulsantwortzeit durch die Mathematik begrenzt ist. Es ist mathematisch unmöglich, dass die Impulsantwortzeit über die Anzahl der Abgriffe im Filter hinausgeht - daher ist sie endlich .
Ein IIR-Filter hat andererseits diese mathematische Einschränkung in der Impulsantwortzeit nicht. Bei einer unendlichen mathematischen Genauigkeit kann ein IIR-Filter die Ausgänge für immer wackeln. In praktischer Hinsicht geht es natürlich nie ewig weiter, da das Wackeln irgendwann kleiner wird als die Präzision der verwendeten Mathematik und so verschwindet.
TANNE
FIR-Filter haben dagegen einen linearen Pfad von Eingang zu Ausgang. Nach N Abtastungen wurde das Eingangssignal (wie ein Dirac-Impuls) herausgeschoben und das ist das Ende davon.
FIR-Filter sind von Natur aus stabil, während IIR-Filter nicht unbedingt stabil sind.
quelle
Es gibt zwei große Klassen digitaler Filter: die unendliche implizite Antwort (IIR) und die endliche Impulsantwort (FIR). Auch hier sind IIR-Filter im Großen und Ganzen gleichungsbasiert und FIR-Filter tabellenbasiert.
IIR-Filter ähneln eher realen Analogfiltern. Stellen Sie sich zum Beispiel einen einfachen exponentiellen Abfall vor, wie Sie ihn von einem analogen RC-Tiefpassfilter erhalten würden. Die Ausgangsantwort auf eine Stufeneingabe ist ein Exponential, das dem Eingang immer näher kommt. Beachten Sie, dass dieses Exponential niemals tatsächlich zur Ausgabe gelangt, sondern nur so nah, dass es uns egal ist oder wir den Fehler nicht messen können. In diesem Sinne ist ein solcher Filter unendlich. Ein IIR-Filter hat die gleichen Eigenschaften.
Das sehr verbreitete einpolige Tiefpass-IIR-Filter kann ausgedrückt werden als:
FILT <- FILT + FF (NEU - FILT)
Dies bedeutet, dass bei jeder Iteration der Ausgang ein fester Bruchteil (FF, der "Filterbruchteil") der Entfernung zum Eingang verschoben wird. Dies ist leicht zu visualisieren, wenn FF = 1/2. Wenn alles 0 ist und der Eingang plötzlich auf 1 geht und dort bleibt (ein Einheitsschritt), ist der Ausgang 1/2, 3/4, 7/8, 15/16 usw. Dies ist eine unendliche Reihe. Schließlich wird der Wert so nahe an 1 kommen, dass er als 1 ausgedrückt wird, da die digitalen Werte im Computer keine unendliche Genauigkeit haben.
FIR-Filter arbeiten nach einem völlig anderen Prinzip. Ein endlicher aktueller Ausschnitt des Eingangssignals wird gespeichert, und jeder der gespeicherten Werte wird mit einem anderen Koeffizienten multipliziert. Anschließend werden alle Ergebnisse addiert, um die Filterausgabe für diese Iteration zu erstellen. Bei der nächsten Iteration wird der älteste gespeicherte Wert verworfen, die anderen werden um einen Steckplatz älter verschoben und die neue Eingabe wird in den frei gewordenen Steckplatz eingefügt. Das neu gespeicherte Snippet wird dann mit den Koeffizienten usw. multipliziert. Dieser Prozess wird als "Faltung" bezeichnet, und die Koeffiziententabelle wird häufig als Filterkern bezeichnet. Einige ausgefallene und nützliche Dinge können mit dieser Art von Filter getan werden, indem Sie mit den Koeffizienten kreativ werden. Das ist ein ganzes Thema für sich, auf das ich jetzt nicht eingehen werde. Da jedoch ein endlicher Ausschnitt der Eingabe im Speicher gespeichert ist, Jeder Teil des Eingangssignals kann den Ausgang nur für eine begrenzte Zeit beeinflussen. Sobald ein Eingabe-Sample aus dem Ende des gespeicherten Snippets herausgeschoben wurde, ist es verschwunden und hat keine Auswirkung mehr auf die Ausgabe.
Es gibt ganze Bücher über dieses Zeug geschrieben und Sie können mehrere Semester von College-Kursen verbringen, die sich mit diesem Thema befassen. Hoffentlich entmystifiziert meine 30-Sekunden-Übersicht dies genug, um Ihre Frage zu beantworten.
quelle
Ein noch nicht erwähnter Punkt ist, dass IIR-Filter weiter in zwei Stile unterteilt werden können: diejenigen, bei denen die Stufen eingestuft werden können, so dass jede Stufe vollständig von ihren eigenen vorherigen Werten und denen früherer Stufen abhängt, und diejenigen, bei denen die Stufen können nicht eingestuft werden (da zwei oder mehr Stufen voneinander abhängen). Es ist möglich, dass die Stufen in einem FIR-Filter auf die vorherigen Ausgänge anderer Stufen verweisen, vorausgesetzt, sie können wie im früheren IIR-Stil eingestuft werden, und keine Stufe bezieht sich auf ihre eigene vorherige Ausgabe.
Wenn die Stufen in einem IIR-Filter eingestuft werden können und die Gesamtgröße der Selbstrückkopplungskoeffizienten für eine bestimmte Stufe kleiner als eins ist, ist das IIR-Filter garantiert stabil. Wenn zum Beispiel eine Stufe eine Signalmenge von vorherigen Stufen plus die Hälfte des vorherigen Werts dieser Stufe und 1/4 des vorherigen Werts, minus 1/8 des vorherigen Werts, enthält, ist die Gesamtgröße des Selbst- Die Rückkopplung beträgt 7/8, sodass ohne weitere Eingaben aus den unteren Stufen die Größe des Beitrags aus der Selbstrückkopplung bei jeder Iteration um 12,5% abnimmt.
quelle
Eine FIR rechnet mit einer endlichen Anzahl von Elementen, sagen wir 32 oder 12 oder einer Zahl, aber genau das macht die Mathematik, nimmt eine endliche Anzahl von Elementen und führt den Filter nur für diese aus.
Ein IIR berechnet alle Proben, die Sie ihm zuführen. Wenn Sie 10 Proben füttern und stoppen, funktioniert es bei 10 Proben. Wenn Sie 1.000.000.000 Proben füttern, werden 1.000.000.000 Proben berechnet. Und wenn Sie das Ding unbegrenzt laufen lassen und sich der Unendlichkeit nähern (es für immer laufen lassen), dann ist die Anzahl der Elemente ebenfalls unbestimmt und nähert sich der Unendlichkeit. Da das Wort endlich endlich für das andere Modell gilt und das IIR-Modell keine endliche Anzahl von Abtastwerten haben soll, klingt das Wort unendlich als das Gegenteil von endlich einfach besser als unbestimmt oder ein anderes solches Wort.
quelle