Converting a simple analog Butterworth filter into a digital filter

I was just studying an old circuit analysis textbook that was describing how to design a Butterworth filter, and that seemed easy enough.. then, I started to wonder if I can take this analog filter and convert it into a digital filter. Its not really an exercise in the textbook, i was just curious how to convert the analog filter into a digital filter just for fun without the heavy DSP theory.

So I was tried to taking a toy Butterworth filter to do just that. For example, Let's suppose I had an analog filter:

$$H_a(j\Omega) = \frac{1}{(1+j\Omega)(2+j\Omega)}$$

and i wanted to convert this into a digital filter with say a sampling period $$T=200\pi$$ rad/sec, and neglecting the effects of aliasing, using this formula:

$$H(e^{j\omega}) = H_a(j\Omega)\Big|_{\Omega = \omega/T}$$

What would $$H(z)$$ and $$h[n]$$ look like for the digital filter?

• need to look into the Bilinear Transform: $$H(z) = H_a(s) \Big|_{s=\tfrac{2}{T} \tfrac{z-1}{z+1}}$$ – robert bristow-johnson Jan 30 at 5:30
• what is the $\frac{z-1}{z+1}$, is that suppose to be there? – pico Jan 30 at 5:32
• it's the same $z$ that you have in $H(z)$. another question (that i assumed you were not asking) is: "How does one convert a transfer function $H(z)$ into a filter structure?" – robert bristow-johnson Jan 30 at 5:34
• we can reduce the toy example down to one pole to keep it simple. $H_a(j\Omega) = \frac{1}{1+j\Omega}$ – pico Jan 30 at 5:34
• so what is "$s$" in your $H_a(s)$? – robert bristow-johnson Jan 30 at 5:35

Converting the analog filter $$H_a(s)$$ into a digital filter $$H_d(z)$$ using the bilinear transform where T is the sampling period:

$$\Large H_d(z) = H_a(s)\bigg|_{s=\frac{2}{T}\frac{z-1}{z+1}}$$

Example:

Given a first order Butterworth filter

$$H_a(s) = \frac{1}{1+RCs}$$

$$H_d(z) = H_a\bigg( \frac{2}{T} \frac{z-1}{z+1} \bigg)$$

$$H_d(z) = \frac{1}{1+RC\Big(\frac{2}{T}\frac{z-1}{z+1} \Big)}$$

$$H_d(z) = \frac{1}{1+RC(\frac{2}{T}\frac{z-1}{z+1})}$$

$$H_d(z) = \frac{1+z}{(1-2RC/T)+(1+2RC/T)z}$$

$$H_d(z) = \frac{1+z^{-1}}{(1+2RC/T)+(1-RC/T)z^{-1}}$$

The coefficients of the denominator are the 'feed-backward' coefficients and the coefficients of the numerator are the 'feed-forward' coefficients used to implement a real-time digital filter.

• very good. now the next thing you gotta learn about, pico, is about frequency warping. – robert bristow-johnson Jan 30 at 15:02
• Nice job! ..... – Dan Boschen Jan 30 at 19:44