A realizable filter must require only a finite number of
computations per output sample. For linear, causal, time-Invariant filters,
this restricts one to rational transfer functions of the form
Hz=
b
0
+
b
1
z-1+…+
b
m
z-m1+
a
1
z-1+
a
2
z-2+…+
a
n
z-n
H
z
b
0
b
1
z
…
b
m
z
m
1
a
1
z
a
2
z
-2
…
a
n
z
n
Assuming no pole-zero cancellations,
Hz
H
z
is FIR if
∀i,i>0:
a
i
=0
i
i
0
a
i
0
, and IIR otherwise. Filter structures usually implement
rational transfer functions as difference equations.
Whether FIR or IIR, a given transfer function can be implemented with
many different filter structures. With infinite-precision data,
coefficients, and arithmetic, all filter structures implementing the
same transfer function produce the same output. However, different
filter strucures may produce very different errors with quantized
data and finite-precision or fixed-point arithmetic. The computational
expense and memory usage may also differ greatly. Knowledge of different
filter structures allows DSP engineers to trade off these factors to create
the best implementation.