Perché i filtri FIR sono ancora stabili anche se contengono poli?


15
  • Come mai i filtri FIR sono sempre stabili?

  • Dato che contengono poli, non dovrebbero essere più colpiti da problemi di stabilità di altri?


FIR è stabile se tutto è zero si trova nel cerchio unitario
dato datuashvili il

2
Non è vero: FIR è sempre stabile e gli zeri possono essere dove vogliono anche al di fuori del cerchio dell'unità. Esempio: il filtro [1-6 11-6] ha zeri a z = 1, 2 e 3
Hilmar

di nuovo, @Hilmar, dipende da come viene implementata la FIR. I FIR implementati come IIR troncato (TIIR) potrebbero non essere stabili all'interno. implementato come un semplice filtro FIR trasversale, sì, che è sempre stabile. è stabile anche se implementato usando "convoluzione veloce" (usando una FFT e "sovrapposizione-aggiunta" o "sovrapposizione-salvataggio"). e a volte quando implementato come filtro TIIR è stabile (se l'IIR interno è stabile). ma una FIR implementata come TIIR potrebbe essere instabile internamente.
robert bristow-johnson

Risposte:


8

I filtri FIR contengono solo zeri e nessun polo. Se un filtro contiene poli, è IIR. I filtri IIR sono infatti affetti da problemi di stabilità e devono essere maneggiati con cura.

MODIFICARE:

Dopo qualche ulteriore riflessione, alcuni scarabocchi e google-ing, penso di avere una risposta a questa domanda dei poli FIR che si spera sia soddisfacente per le parti interessate.

A partire dalla trasformazione Z di un filtro FIR apparentemente senza polveri: Come mostrato nella risposta di RBJ, i poli FIR vengono rivelati moltiplicando il numeratore e il denominatore diH(z)perzN: H(z)=b0z N +b1z N - 1 +b2z N - 2 ++bN

H(z)=b0+b1z1+b2z2++bNzN1
H(z)zN Rendendo così i nostriNpoli all'origine di un filtro FIR generale.
H(z)=b0zN+b1zN1+b2zN2++bNzN
N

Tuttavia, per dimostrarlo, il presupposto della causalità è posto sul filtro. Infatti, se consideriamo un filtro FIR più generale in cui non si assume la causalità: All'origine appare un numero diverso di poli(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

Pertanto, concludo quanto segue:

  • (Rispondere alla domanda originale) In generale, un filtro FIR ha dei poli, sebbene sempre all'origine del piano Z. Poiché non vanno mai oltre il cerchio unitario, non rappresentano una minaccia per la stabilità di un sistema FIR.
  • NkNth(k=0)N
  • H(z)=z1=1z
    I tipici filtri FIR possono quindi essere visualizzati come filtri acausali che sono seguiti da elementi di ritardo sufficienti per renderli causali.

2
I filtri IIR non sono molto pericolosi, in realtà.
user7358

19

z=0

poiché tutti i poli si trovano all'interno del cerchio dell'unità, il filtro FIR è apparentemente stabile.

questo probabilmente non è il filtro FIR a cui sta pensando l'OP, ma esiste una classe di filtri FIR chiamati filtri Troncated IIR (TIIR) che possono avere un polo sopra o fuori dal cerchio dell'unità che viene annullato da uno zero nella stessa posizione. l'esempio più semplice di ciò è la somma mobile o il filtro della media mobile. ma, dal punto di vista I / O, questi filtri TIIR sono FIR.

ma non garantirei ingenuamente "stabilità". usando il linguaggio del sistema di controllo, i filtri TIIR non sono "completamente osservabili" e possono apparire stabili perché la sua risposta all'impulso appare limitata in lunghezza, ma all'interno degli stati del filtro potrebbe andare all'inferno, e con precisione numerica finita, che l'instabilità interna alla fine mostrarsi all'uscita.

dobbiamo scacciarci dall'idea che "i filtri FIR non hanno poli" . non è vero.


Puoi dimostrare matematicamente che i filtri FIR hanno i poli, perché non lo vedo.
Jim Clay

Il miglior esempio di FIR con poli è il filtro Cascated Integrated-Comb (CIC). Inizia con un semplice filtro a media mobile (coefficienti come 1, 1, 1, 1) e lo riscrive in modo ricorsivo, introducendo così un polo. Vedi link . Questi sono spesso implementati sugli FPGA come primo passo nella conversione verso il basso perché nella loro forma ricorsiva sono abbastanza economici da implementare a livello computazionale. Vedi la documentazione di Graychip come esempio. Di solito sono implementati in un punto fisso per mantenere la stabilità.
David

1
Penso che dovremo concordare di non essere d'accordo - l'abstract del documento originale di Hogenauer recita "Vengono presentati i filtri FIR di una classe di filtri a risposta agli impulsi finiti a fase lineare digitale (FIR) per l'interpretazione (riduzione della frequenza di campionamento) e l'interpolazione (aumento della frequenza di campionamento)".
David

4
NthN

2
@JimClay, un filtro a somma mobile CIC o media mobile è sicuramente un filtro FIR. il suo IR è F. di solito non è implementato come filtro FIR trasversale, ma certamente potrebbe essere se volessi pagarlo con MIPS.
robert bristow-johnson

14

"Puoi dimostrare matematicamente che i filtri FIR hanno i poli, perché non lo vedo." - Jim Clay

possiamo supporre che questa FIR sia causale?

l'ordine del filtro è N. il numero di tocchi èN+1

la risposta agli impulsi finiti: h[n]=0n>N, n<0

funzione di trasferimento della FIR:

H(z)=Σn=-+h[n]z-n=Σn=0Nh[n]z-n=Σn=0Nz-Nh[n]zN-n=z-NΣn=0Nh[N-n]zn=Σn=0Nh[N-n]znzN=h[N]+h[N-1]z+h[N-2]z2++h[1]zN-1+h[0]zN(z-0)N

tutto quello che devi fare è fattorizzare il numeratore e saprai dove sono gli zeri. ma è abbastanza ovvio dove tutti i poli sono per un filtro FIR. e ci sono tanti poli quanti sono gli ordini del filtro FIR. notare che questi poli non influenzano la risposta in frequenza. ad eccezione della fase.


6
Sono corretto. Grazie per la spiegazione.
Jim Clay

1

Un po 'per definizione, in realtà. Poiché si immette energia finita e il filtro erogherà al massimo solo un multiplo dell'input di energia (la sua risposta all'impulso ha un'energia finita), il segnale risultante avrà al massimo un multiplo dell'input di energia. Non può risuonare e quindi intensificare, come fanno i filtri IIR. Questo è alla base anche della risposta di Kenneides.


sì, ed è falso come la risposta di Kenneide.
robert bristow-johnson

2
Caro Robert Bristow-Johnson, per favore, illuminaci mortali. Da dove viene il filtro FIRH(z)=1hai un palo?
user7358

2
okay, good point there. the 0th-order FIR or IIR filter (sometimes known as a "wire") has no poles nor zeros (unless you want to think of H(z)=1=zz where the pole and zero cancel). i stand corrected.
robert bristow-johnson

Does the unit delay H(z)=z have a pole?
user7358

1
well, that's a unit advance. but the unit delay, H(z)=z1 does have a single pole at z=0.
robert bristow-johnson

1

Nobody's really touched upon why the poles of a FIR filter are removable so I've attempted to answer this below.

FIR filters will have removable poles at the origin, because the boundedness of their impulse response requires this. That is around the pole, it's possible to define the function so that it is still holomorphic (differentiable at every point of its domain).

It's a theorem of Riemann that if a signal is differentiable at every point of it's domain (except for finitely many points), then there exists a neighborhood around these special points where the function is bounded. The implications are two way in this theorem, so because FIR filters are required to have a bounded impulse response then the impulse response must be differentiable at every point within the unit circle. Thus, the signal can be extended in a consistent way so that there are no singularities (i.e. the poles are removable).

That's why the z-transform of a FIR filter contains no negative powers of z.


1
Tom, i think the Z-transform of a realizable FIR contain only negative powers of z. well, okay, only non-positive powers of z.
robert bristow-johnson

@robertbristow-johnson sorry, yes. I was thinking of a generating function. However, I don't think the answer above changes under the action of z -> z1.
Tom Kealy
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.