# Digital filter design with matlab

#### jut

Joined Aug 25, 2007
224
I'm to design a 2nd order, N=2, butterworth HPF starting from the normalized transfer function for a LPF:

HN(s)=1/(s^2+1.414*s+1)

Given:
T=0.004
Ωc=0.8 pi
wc=192 pi

To find the transfer function of the HPF, substitute s for wc/s:
H(s)=HN(wc/s)=s^2/(s^2+853*s+363833)

Here's my MATLAB code:

Rich (BB code):
T=.8/192;
Fs=1/T;
nums=[1 0 0];
dens=[1 853.03 363833.1];

figure
[Hws,w]=freqs(nums,dens);
plot(w,abs(Hws))

[numz,denz]=impinvar(nums,dens,Fs);
tf(numz,denz,T)
figure
[Hwz,w]=freqz(numz,denz);
plot(w,abs(Hwz))
The transfer function of my analog filter looks good, but the transfer function of the digital filter is not right. Could someone help please?

#### guitarguy12387

Joined Apr 10, 2008
359
What is this line doing:

tf(numz,denz,T)
... You don't assign it to anything.

#### jut

Joined Aug 25, 2007
224
That line display the digital transfer function, H(z):

Transfer function:
-3.55 z^2 - 0.1229 z + 0.0001192
--------------------------------
z^2 + 0.06931 z + 0.0286

Sampling time: 0.0041667