I've got a first-order Butterworth filter with the cutoff frequency $\omega_c$. Its transfer function is then
$$H(s) = \frac{\omega_c}{s+\omega_c}$$
Using the bilinear transform to find an $H(z)$ (what is that function called?), I get
$$H(z)=\frac{\omega_c}{\frac{2}{T}\frac{z-1}{z+1} + \omega_c} = \frac{\omega_c z + \omega_c}{\left(\frac{2}{T}+\omega_c\right)z + \omega_c-\frac{2}{T}}$$
However, I can't reconcile this result with what Matlab is doing. It seems wrong, no matter what value of $T$. I assume that B
and A
below are the coefficients of $H(z)$.
>> [B,A] = butter(1,0.5)
B = 0.5000 0.5000
A = 1.0000 -0.0000
>> [B,A] = butter(1,0.6)
B = 0.5792 0.5792
A = 1.0000 0.1584
>> [B,A] = butter(1,0.7)
B = 0.6625 0.6625
A = 1.0000 0.3249
>> [B,A] = butter(1,0.8)
B = 0.7548 0.7548
A = 1.0000 0.5095
What am I misunderstanding?