15
$\begingroup$
  • How come FIR filters are always stable?

  • Since they contain poles, shouldn't they be more affected by stability issues than others?

$\endgroup$
  • $\begingroup$ FIR is stable if all it's zero is located in unit circle $\endgroup$ – dato datuashvili Jan 7 '14 at 11:42
  • 2
    $\begingroup$ Not true: FIR is always stable and the zeros can be wherever they want including outside the unit circle. Example: the filter [1 -6 11 -6] has zeros at z = 1, 2 and 3 $\endgroup$ – Hilmar Jan 7 '14 at 15:05
  • $\begingroup$ again, @Hilmar, it depends on how the FIR is implemented. FIRs implemented as a Truncated IIR (TIIR) might not be stable inside. implemented as a simple transversal FIR filter, yes, that is always stable. it's stable even if implemented using "fast convolution" (using an FFT and "overlap-add" or "overlap-save"). and sometimes when implemented as a TIIR filter it's stable (if the internal IIR is stable). but an FIR implemented as a TIIR could be unstable internally. $\endgroup$ – robert bristow-johnson Jan 8 '14 at 5:28
8
$\begingroup$

FIR filters contain only zeros and no poles. If a filter contains poles, it is IIR. IIR filters are indeed afflicted with stability issues and must be handled with care.

EDIT:

After some further thought and some scribbling and google-ing, I think that I have an answer to this question of FIR poles that hopefully will be satisfactory to interested parties.

Beginning with the Z transform of a seemingly poleless FIR filter: $$H(z) = \frac{b_0 + b_1 z^{-1} + b_2 z^{-2} + \cdots + b_N z^{-N}}{1}$$ As is shown in RBJ's answer, the FIR poles are revealed by multiplying the numerator and denominator of $H(z)$ by $z^{N}$: $$H(z) = \frac{b_0 z^{N} + b_1 z^{N-1} + b_2 z^{N-2} + \cdots + b_N }{z^{N}}$$ Thus yielding our $N$ poles at the origin of a general FIR filter.

However, in order to show this, the assumption of causality is placed on the filter. Indeed, if we consider a more general FIR filter where causality is not assumed: $$G(z) = \frac{b_0 z^{k} + b_1 z^{k-1} + b_2 z^{k-2} + \cdots + b_N z^{k-N}}{1}$$ A different number of poles $(N-k)$ appear at the origin: $$G(z) = \frac{b_0 z^{N} + b_1 z^{N-1} + b_2 z^{N-2} + \cdots + b_N }{z^{N-k}}$$

Thus, I conclude the following:

  • (Answering the original question) In general, an FIR filter does have poles, though always at the origin of the Z-plane. Because they are never beyond the unit circle, they are no threat to the stability of an FIR system.
  • The number of poles of the FIR signal corresponds to the filter order $N$ and the "degree" of acausality $k$. Thus, it is possible to construct FIR filters which have no poles but these filters are then acausal -- i.e. they aren't conceivable for realtime processing. For an $N^{th}$ order FIR filter which is exactly causal $(k=0)$, there are $N$ poles at the origin.
  • Perhaps the simplest way to conceive of a pole at the origin is a simple delay element: $$ H(z) = z^{-1} = \frac{1}{z}$$ The typical FIR filters can then be viewed as acausal filters which are followed by enough delay elements to make them causal.
$\endgroup$
  • 2
    $\begingroup$ IIR filters are not very dangerous, actually. $\endgroup$ – user7358 Jan 8 '14 at 1:53
19
$\begingroup$

FIR filters contain as many poles as they have zeros. but all of the poles are located at the origin, $z=0$.

because all of the poles are located inside the unit circle, the FIR filter is ostensibly stable.

this is probably not the FIR filter the OP is thinking about, but there is a class of FIR filters called Truncated IIR filters (TIIR) which may have a pole on or outside the unit circle that is canceled by a zero at the same location. the simplest example of this is the moving sum or moving average filter. but, from an I/O perspective, these TIIR filters are FIR.

but i wouldn't naively guarantee "stability". using control-system language, the TIIR filter are not "completely observable" and may appear stable because its impulse response appears finite in length, but inside the filter states could be going to hell, and with finite numerical precision, that internal instability will eventually show up at the output.

we have to disabuse ourselves from the notion that "FIR filters have no poles". ain't true.

$\endgroup$
  • $\begingroup$ Can you mathematically show that FIR filters have poles, because I'm not seeing it. $\endgroup$ – Jim Clay Jan 7 '14 at 19:20
  • $\begingroup$ The best example of an FIR with poles is the Cascaded Integrated-Comb (CIC) filter. It starts with a simple moving average filter (coefficients like 1, 1, 1, 1) and rewrites it recursively - thereby introducing a pole. See link. These are often implemented on FPGAs as the first step in down conversion because in their recursive form they are quite cheap to implement computationally. See the Graychip documentation as an example. They are usually implemented in fixed point to maintain stability. $\endgroup$ – David Jan 7 '14 at 19:40
  • 1
    $\begingroup$ I think we'll have to agree to disagree - the abstract from Hogenauer's original paper reads "A class of digital linear phase finite impulse response (FIR) filters for decimation (sampling rate decrease) and interpolation (sampling rate increase) are presented." $\endgroup$ – David Jan 7 '14 at 21:14
  • 4
    $\begingroup$ the CIC thing (which is a TIIR) is not a general FIR. every $N^{th}$-order FIR has $N$ poles at the origin. this is just standard textbook stuff. easy to prove (as done below). $\endgroup$ – robert bristow-johnson Jan 8 '14 at 5:16
  • 2
    $\begingroup$ @JimClay, a CIC moving-sum or moving-average filter is most certainly an FIR filter. its IR is F. it's just normally not implemented as a transversal FIR filter, but it certainly could be if you wanted to pay for it with MIPS. $\endgroup$ – robert bristow-johnson Jan 8 '14 at 5:36
14
$\begingroup$

"Can you mathematically show that FIR filters have poles, because I'm not seeing it." – Jim Clay

can we assume this FIR is causal?

filter order is $N$. number of taps is $N+1$

the Finite Impulse Response: $ \quad h[n] = 0 \quad \forall \quad n>N, \ n<0$

transfer function of the FIR:

$$ \begin{align} H(z) & = \sum_{n=-\infty}^{+\infty} h[n] z^{-n} \\ & = \sum_{n=0}^{N} h[n] z^{-n} \\ & = \sum_{n=0}^{N} z^{-N} h[n] z^{N-n} \\ & = z^{-N} \sum_{n=0}^{N} h[N-n] z^n \\ & = \frac{\sum_{n=0}^{N} h[N-n] z^{n}}{z^N} \\ & = \frac{h[N] + h[N-1]z + h[N-2]z^2 + \cdots + h[1]z^{N-1} + h[0]z^N}{(z-0)^N} \\ \end{align} $$

all you have to do is factor the numerator and you'll know where the zeros are. but it's pretty obvious where all the poles are for an FIR filter. and there are as many poles as is the order of the FIR filter. note that these poles do not affect the frequency response. except for phase.

$\endgroup$
  • 6
    $\begingroup$ I stand corrected. Thanks for the explanation. $\endgroup$ – Jim Clay Jan 8 '14 at 14:24
1
$\begingroup$

Somewhat by definition, actually. Since you input finite energy and the Filter will only maximally deliver a multiple of the energy input (its impulse response has a finite energy), the resulting signal will maximally have a multiple of the energy input. It can not resonate and thus escalate, as IIR filters can. This is behind Kenneides answer as well.

$\endgroup$
  • $\begingroup$ yeah, and it's as false as Kenneide's answer. $\endgroup$ – robert bristow-johnson Jan 8 '14 at 5:32
  • 2
    $\begingroup$ Dear Robert Bristow-Johnson, please enlighten us mortals. Where does the FIR filter $H(z)=1$ have a pole? $\endgroup$ – user7358 Jan 8 '14 at 6:49
  • 2
    $\begingroup$ 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 = \frac{z}{z}$ where the pole and zero cancel). i stand corrected. $\endgroup$ – robert bristow-johnson Jan 8 '14 at 7:04
  • $\begingroup$ Does the unit delay $H(z)=z$ have a pole? $\endgroup$ – user7358 Jan 8 '14 at 7:22
  • 1
    $\begingroup$ well, that's a unit advance. but the unit delay, $H(z) = z^{-1}$ does have a single pole at $z=0$. $\endgroup$ – robert bristow-johnson Jan 8 '14 at 7:30
1
$\begingroup$

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$.

$\endgroup$
  • 1
    $\begingroup$ Tom, i think the Z-transform of a realizable FIR contain only negative powers of $z$. well, okay, only non-positive powers of $z$. $\endgroup$ – robert bristow-johnson Jan 8 '14 at 16:14
  • $\begingroup$ @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$ -> $z^{-1}$. $\endgroup$ – Tom Kealy Jan 9 '14 at 9:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.