Warum sind FIR-Filter immer noch stabil, obwohl sie Pole enthalten?

15
  • Wie kommt es, dass FIR-Filter immer stabil sind?

  • Sollten sie nicht stärker von Stabilitätsproblemen betroffen sein als andere, da sie Stangen enthalten?

user7277
quelle
FIR ist stabil, wenn sich alle
Nullen
2
Nicht wahr: FIR ist immer stabil und die Nullen können überall sein, auch außerhalb des Einheitskreises. Beispiel: Der Filter [1 -6 11 -6] hat Nullen bei z = 1, 2 und 3
Hilmar
Auch hier, @Hilmar, hängt es davon ab, wie die FIR implementiert ist. FIRs, die als Truncated IIR (TIIR) implementiert sind, sind möglicherweise nicht stabil. als einfaches transversales FIR-Filter implementiert, ja, das ist immer stabil. Es ist stabil, auch wenn es mit "Fast Convolution" implementiert wurde (mit einer FFT und "Overlap-Add" oder "Overlap-Save"). und manchmal, wenn es als TIIR-Filter implementiert ist, ist es stabil (wenn das interne IIR stabil ist). Eine als TIIR implementierte FIR kann jedoch intern instabil sein.
Robert Bristow-Johnson

Antworten:

8

FIR-Filter enthalten nur Nullen und keine Pole. Wenn ein Filter Pole enthält, ist es IIR. IIR-Filter sind in der Tat mit Stabilitätsproblemen behaftet und müssen mit Vorsicht behandelt werden.

BEARBEITEN:

Nach einigem Nachdenken und einigem Kritzeln und googeln, denke ich, dass ich eine Antwort auf diese Frage der FIR-Pole habe, die hoffentlich für interessierte Parteien zufriedenstellend sein wird.

Beginnend mit der Z-Transformation eines scheinbar pollosen FIR-Filters: Wie in der Antwort von RBJ gezeigt, werden die FIR-Pole durch Multiplizieren des Zählers und Nenners vonH(z)mitzNaufgedeckt: H(z)=b0z N +b1z N - 1 +b2z N - 2 ++bN

H(z)=b0+b1z1+b2z2++bNzN1
H(z)zN Damit ergeben sich unsereN-Pole am Ursprung eines allgemeinen FIR-Filters.
H(z)=b0zN+b1zN1+b2zN2++bNzN
N

Um dies zu zeigen, wird jedoch die Kausalitätsannahme auf den Filter gelegt. In der Tat, wenn wir einen allgemeineren FIR-Filter betrachten, bei dem keine Kausalität angenommen wird: AmUrsprung erscheinteine andere Anzahl von Polen(N-k): G(z)=b0z N +b1z N - 1 +b2z N - 2 ++bN

G(z)=b0zk+b1zk1+b2zk2++bNzkN1
(Nk)
G(z)=b0zN+b1zN1+b2zN2++bNzNk

Daraus schließe ich Folgendes:

  • (Beantwortung der ursprünglichen Frage) Im Allgemeinen hat ein FIR-Filter Pole, jedoch immer am Ursprung der Z-Ebene. Da sie sich niemals außerhalb des Einheitenkreises befinden, sind sie keine Bedrohung für die Stabilität eines FIR-Systems.
  • NkNth(k=0)N
  • H(z)=z-1=1z
Kenneide
quelle
2
IIR-Filter sind eigentlich nicht sehr gefährlich.
user7358
19

z=0

Da sich alle Pole innerhalb des Einheitskreises befinden, ist der FIR-Filter scheinbar stabil.

Dies ist wahrscheinlich nicht der FIR-Filter, über den das OP nachdenkt, aber es gibt eine Klasse von FIR-Filtern, die Truncated IIR-Filter (TIIR) genannt werden und deren Pol auf oder außerhalb des Einheitskreises an derselben Stelle durch eine Null aufgehoben wird. Das einfachste Beispiel hierfür ist das Filter für die gleitende Summe oder den gleitenden Durchschnitt. Aus I / O-Sicht sind diese TIIR-Filter jedoch FIR.

aber ich würde nicht naiv "Stabilität" garantieren. Unter Verwendung der Sprache des Steuerungssystems sind die TIIR-Filter nicht "vollständig beobachtbar" und scheinen möglicherweise stabil zu sein, da ihre Impulsantwort von begrenzter Länge zu sein scheint. Innerhalb der Filterzustände könnte es jedoch zur Hölle kommen, und mit endlicher numerischer Genauigkeit wird diese interne Instabilität schließlich eintreten am Ausgang auftauchen.

wir müssen uns von der Vorstellung distanzieren, dass "FIR-Filter keine Pole haben" . ist nicht wahr

Robert Bristow-Johnson
quelle
Können Sie mathematisch zeigen, dass FIR-Filter Pole haben, weil ich es nicht sehe.
Jim Clay
Das beste Beispiel für eine FIR mit Polen ist das CIC-Filter (Cascaded Integrated-Comb). Es beginnt mit einem einfachen Filter für den gleitenden Durchschnitt (Koeffizienten wie 1, 1, 1, 1) und schreibt es rekursiv um - wodurch ein Pol eingeführt wird. Siehe Link . Diese werden häufig auf FPGAs als erster Schritt bei der Abwärtskonvertierung implementiert, da sie in ihrer rekursiven Form recht billig rechenintensiv zu implementieren sind. Ein Beispiel finden Sie in der Graychip-Dokumentation. Sie werden in der Regel im Festpunkt ausgeführt, um die Stabilität zu gewährleisten.
David
1
Ich denke, wir müssen uns einigen müssen, um dem nicht zuzustimmen - die Zusammenfassung aus Hogenauers Originalartikel lautet: "Eine Klasse von digitalen FIR-Filtern (Finite Impulse Response) für Dezimation (Abtastratenabnahme) und Interpolation (Abtastratenerhöhung) wird vorgestellt."
David
4
NthN
2
@ JimClay, ein CIC Moving-Sum- oder Moving-Average-Filter, ist mit Sicherheit ein FIR-Filter. Seine IR ist F. Normalerweise ist es nicht als transversaler FIR-Filter implementiert, aber es kann durchaus sein, dass Sie dafür mit MIPS bezahlen möchten.
Robert Bristow-Johnson
14

"Können Sie mathematisch zeigen, dass FIR-Filter Pole haben, weil ich es nicht sehe." - Jim Clay

Können wir annehmen, dass diese FIR kausal ist?

NN+1

die endliche Impulsantwort: h[n]=0n>N, n<0

Übertragungsfunktion der FIR:

H(z)=n=+h[n]zn=n=0Nh[n]zn=n=0NzNh[n]zNn=zNn=0Nh[Nn]zn=n=0Nh[Nn]znzN=h[N]+h[N1]z+h[N2]z2++h[1]zN1+h[0]zN(z0)N

Alles was Sie tun müssen, ist den Zähler zu faktorisieren und Sie werden wissen, wo die Nullen sind. aber es ist ziemlich offensichtlich, wo alle Pole für einen FIR-Filter sind. und es gibt so viele Pole, wie es die Reihenfolge des FIR-Filters ist. Beachten Sie, dass diese Pole den Frequenzgang nicht beeinflussen. außer für die Phase.

Robert Bristow-Johnson
quelle
6
Ich stehe korrigiert. Danke für die Erklärung.
Jim Clay
1

Eigentlich per Definition. Da Sie endliche Energie eingeben und der Filter nur maximal ein Vielfaches der eingegebenen Energie liefert (seine Impulsantwort hat eine endliche Energie), hat das resultierende Signal maximal ein Vielfaches der eingegebenen Energie. Es kann nicht mitschwingen und somit eskalieren, wie es IIR-Filter können. Dies ist auch die Antwort von Kenneides.

user7358
quelle
Ja, und es ist so falsch wie Kenneides Antwort.
Robert Bristow-Johnson
2
H(z)=1
2
H(z)=1=zz
H(z)=z
1
H(z)=z1 z=0
1

Niemand hat wirklich angerührt, warum die Pole eines FIR-Filters abnehmbar sind, deshalb habe ich versucht, dies unten zu beantworten.

FIR-Filter haben im Ursprung abnehmbare Pole, da die Grenzen ihrer Impulsantwort dies erfordern. Das heißt, um den Pol herum ist es möglich, die Funktion so zu definieren, dass sie immer noch holomorph ist (differenzierbar an jedem Punkt ihrer Domäne).

Es ist ein Satz von Riemann, dass, wenn ein Signal an jedem Punkt seiner Domäne differenzierbar ist (mit Ausnahme von endlich vielen Punkten), es eine Nachbarschaft um diese speziellen Punkte gibt, an denen die Funktion begrenzt ist. In diesem Theorem gibt es zwei Implikationen: Da FIR-Filter eine begrenzte Impulsantwort haben müssen, muss die Impulsantwort an jedem Punkt innerhalb des Einheitskreises differenzierbar sein. Somit kann das Signal konsistent erweitert werden, so dass es keine Singularitäten gibt (dh die Pole sind abnehmbar).

z

Tom Kealy
quelle
1
zz
zz1