# Non-causal FIR. Is that possible?

I know that a FIR (Finite Impulse Response) filter has the same quantity of poles than zeros. And I believe all the poles are at $z=0$. And a FIR filter is always stable, so it's ROC has to include the unit circle $|z|=1$. And ROC's cannot include poles!

So what about a non-causal FIR filter?

Non-causal: ROC doesn't include $\infty$ and doesn't include poles, but all poles are at $z=0$, so the ROC has to be only one point at $z=0$. Is that OK?

Stable: ROC includes $|z|=1$.

• a causal and stable filter (whether IIR or FIR) has ROC $|z| \ge 1$ which cannot contain poles. an anti-causal and stable filter has ROC $|z| \le 1$ which cannot contain poles. Jul 7, 2016 at 5:31
• Robert, that's the same I wrote. But you didn't say if it's possible to have a non-causal filter that is stable. I'm getting an ABSURD, because FIR filters have all the poles in $z=0$, so, if I can't take $\infty$, the ROC has to be from the smallest pole ($z=0$) to the origin ($z=0$), so it doesn't include the unit circle Jul 7, 2016 at 5:59
• what do you mean by "possible". i would say that it is not possible to have an acausal filter, except in our imagination. Jul 7, 2016 at 6:06
• BTW, i know this would get more esoteric than your question intends, but there is a realization of FIR filters called "Truncated IIR filters" (TIIR) that may have internal states that are unstable. there are poles that are outside of the unit circle, but there are also zeros lying on top of those poles and "canceling" the poles. (called "pole/zero cancellation".) a moving average or moving sum filter, implemented the efficient way, is an example of a TIIR. Jul 7, 2016 at 6:09
• That's really interesting. Thanks Robert! I will read about that!! Jul 7, 2016 at 16:37

Your mistake is in believing that FIR filters have all their poles at $z=0$. That's only true for causal FIR filters. In general, FIR filters can have poles at $z=0$ and at $z=\infty$.
1. causal FIR filter: $H(z)=h[0]+h[1]z^{-1}+h[2]z^{-2}$ (all poles at $z=0$)
2. anti-causal FIR filter: $H(z)=h[-2]z^{2}+h[-1]z+h[0]$ (all poles at $z=\infty$)
3. two-sided FIR filter: $H(z)=h[-1]z+h[0]+h[1]z^{-1}$ (one pole at $z=0$, one pole at $z=\infty$)
For causal FIR filters, the ROC is $|z|>0$, for anti-causal FIR filters it is $|z|<\infty$, and for two-sided FIR filters you have the ROC $0<|z|<\infty$. In all cases, the ROC includes the unit circle, i.e., FIR filters are always stable (but not necessarily causal).