First consider continuous-time (a.k.a "analog") LTI systems (sometimes we call these "filters").
Now we know from LTI system theory that the Laplace transform of the input, $X(s)$, and output, $Y(s)$, of an LTI system are related to each other with this multiplicative transfer function, $H(s)$:
$$ Y(s) = H(s) X(s) $$
It also turns out that, to get the frequency response, we evaluate the transfer function with $s=j\Omega$. So $H(j\Omega)$ is the frequency response containing both the magnitude $|H(j\Omega)|$ and phase $\phi = \arg \{H(j\Omega) \}$ information.
Now, for implementation, we have three basic classes of building blocks to create an LTI system:
- signal adders or subtractors
- signal scalers (multiplication by a constant)
- integrators (which implement $s^{-1}$)
The third class is what is necessary to make a filter, an LTI system that can discriminate with respect to frequency. The first two classes behave identically with any frequency, so all you can make (in the audio world) with the first two are mixers and amplifiers. You need class number 3 to make a tone control or an equalizer.
Now, even though there are lots of different circuit topologies (the so-called "Sallen-Key" circuit is a common one), essentially, that's all you have for a continuous-time LTI: adders, scalers, and integrators. That's it.
There are canonical architectures that allow one to assemble from those three building blocks a general and finite-order transfer functions
$$ H(s) = \frac{b_0 + b_1 s^{-1} + b_2 s^{-2} ... + b_N s^{-N}}{a_0 + a_1 s^{-1} + a_2 s^{-2} ... + a_N s^{-N}} $$
This is called a rational transfer function
Usually, with no loss of generality, we divide both numerator and denominator with $a_0$, making that coefficient equal to 1 and changing the other coefficients to some other values. So this is still general:
$$ H(s) = \frac{b_0 + b_1 s^{-1} + b_2 s^{-2} ... + b_N s^{-N}}{1 + a_1 s^{-1} + a_2 s^{-2} ... + a_N s^{-N}} $$
There are canonical forms (two most common are Direct Form 1 and Direct Form 2) will allow us to construct an LTI system that implements the above $H(s)$. Using the Direct Form 2 does this with $N$ integrators.
Now, consider discrete-time (a.k.a "digital") LTI systems (sometimes we call these "filters").
Now we know from LTI system theory that the Laplace transform of the input, $X(z)$, and output, $Y(z)$, of an LTI system are related to each other with this multiplicative transfer function, $H(z)$:
$$ Y(z) = H(z) X(z) $$
It also turns out that, to get the frequency response, we evaluate the transfer function with $z=e^{j\omega}$. So $H(e^{j\omega})$ is the frequency response containing both the magnitude $|H(e^{j\omega})|$ and phase $\phi = \arg \{H(e^{j\omega}) \}$ information.
Now, for implementation, we have three basic classes of building blocks to create an LTI system:
- signal adders or subtractors
- signal scalers (multiplication by a constant)
- unit sample delays (which implement $z^{-1}$)
The third class is what is necessary to make a filter, an LTI system that can discriminate with respect to frequency. Only the delay behaves differently with different frequencies.
Again, with adders, scalers, and delays we can construct a general rational transfer function that looks like:
$$ H(z) = \frac{b_0 + b_1 z^{-1} + b_2 z^{-2} ... + b_N z^{-N}}{1 + a_1 z^{-1} + a_2 z^{-2} ... + a_N z^{-N}} $$
And the same canonical forms can be used.
Now, from above, it can be surmized that, to relate the two domains:
$$ z = e^{sT} $$
where $T=\frac{1}{f_\text{s}}$ is the sampling period and $f_\text{s}$ is the sample rate.
So then, it is also true that
$$ s = \tfrac{1}{T} \log(z) $$.
So if we had a design for a continuous-time system (or "filter") that worked for us satisfactorily, we could implement it exactly (at least for frequencies below Nyquist) if we could substitute $\tfrac{1}{T} \log(z)$ for every $s$. And if we had a building block that could implement $\log(z)$, we could do that.
But we don't have a building block that implements $\log(z)$. We have adders (no "$z$" in that), scalers (no "$z$" in that), and delays $z^{-1}$.
So the question then becomes "How do we approximate $\log(z)$ as a function of $z^{-1}$?"
When I get back to this I will try to answer that more specifically.