OK, ich werde versuchen, Ihre Fragen zu beantworten:
Q1: Die Anzahl der Abgriffe entspricht nicht der Filterreihenfolge. In Ihrem Beispiel beträgt die Filterlänge 5, dh der Filter erstreckt sich über 5 Eingangssamples [ ]. Die Anzahl der Abgriffe entspricht der Filterlänge. In Ihrem Fall haben Sie einen Abgriff gleich Null (der Koeffizient für ), so dass Sie zufällig 4 Abgriffe ungleich Null haben. Dennoch ist die Filterlänge 5. Die Reihenfolge eines FIR-Filters ist die Filterlänge minus 1, dh die Filterreihenfolge in Ihrem Beispiel ist 4.x(n),x(n−1),x(n−2),x(n−3),x(n−4)x(n−1)
F2: Das in der Matlab-Funktion fir1 () ist die Filterreihenfolge, dh Sie erhalten einen Vektor mit Elementen als Ergebnis (also ist Ihre Filterlänge = Anzahl der Taps).nn+1n+1
F3: Die Filterreihenfolge ist wieder 4. Sie können sie anhand der maximalen Verzögerung sehen, die zur Implementierung Ihres Filters erforderlich ist. Es ist in der Tat ein rekursiver IIR-Filter. Wenn Sie mit Anzahl der Abgriffe die Anzahl der Filterkoeffizienten meinen, dann haben Sie für ein IIR-Filter order im Allgemeinen Koeffizienten, obwohl in Ihrem Beispiel mehrere von ihnen Null sind.nth2(n+1)
F4: Dies ist eine etwas knifflige Frage. Beginnen wir mit dem einfachen Fall: Ein nicht-rekursives Filter hat immer eine endliche Impulsantwort, dh es ist ein FIR-Filter. Normalerweise hat ein rekursives Filter eine unendliche Impulsantwort, dh es ist ein IIR-Filter, aber es gibt entartete Fälle, in denen eine endliche Impulsantwort unter Verwendung einer rekursiven Struktur implementiert wird. Der letztere Fall ist jedoch die Ausnahme.