A quick way to count poles and zeros of an FIR filter is to look at the largest delay used and the order of the numerator polynomial once it is written over a common power of $z$, without fully re-deriving the transfer function from scratch.
- Count the delays: the equation uses $x[n]$, $x[n-1]$ and $x[n-2]$, so the largest delay is 2 samples. Writing $H(z)$ directly in terms of $z^{-1}$: $H(z) = \tfrac{1}{4}(1 + 2z^{-1} + z^{-2})$.
- Clear the negative powers: every term with $z^{-1}$ or $z^{-2}$ came from dividing by $z$ or $z^2$. To write $H(z)$ as a ratio of polynomials in positive powers of $z$, we must multiply top and bottom by $z^2$, matching the largest negative power present, which forces a $z^2$ into the denominator.
- This denominator $z^2$ is where the poles come from: setting $z^2 = 0$ gives a repeated pole at $z = 0$, counted twice. In general, an FIR filter using delays up to $z^{-N}$ always picks up $N$ poles at the origin once written this way, even though people often loosely call FIR filters "all-zero" filters.
- The numerator becomes $z^2 + 2z + 1$: this factors as $(z+1)^2$, giving a repeated zero at $z=-1$, counted twice.
So counting delays tells us the pole count (2, both at the origin) and factoring the resulting numerator polynomial tells us the zero count (2, both at $z=-1$), without separately re-checking the algebra of clearing the fraction.
Let's summarize:
- The number of poles at the origin equals the largest delay used in the difference equation, here 2.
- The numerator $z^2+2z+1 = (z+1)^2$ gives 2 zeros, both at $z=-1$.
So the filter has two poles and two zeros, which is option (A).