You are on page 1of 4

HOMEWORK

PROBLEM 1:
1 2
H(s) = /(s+a)

Obtain the digital filter by Impulse Invariance Method


Program:
pkg load symbolic
pkg load signal
syms s
a = input('Enter value of a: ')
Hs = 1/(s+a)^2
fs = 80000
[num,den] = numden(Hs)
bs = double(sym2poly(num,s))
as = double(sym2poly(den,s))
[bz,az] = impinvar(bs,as,fs)
freqz(bz,az,250)
Enter value of a: 2
a= 2
Hs = (sym)
1

2
(s + 2)
bs = 1
as = 1 4 4
bz = 0.0000e+00 1.5625e-10
az = 1.00000 -1.99995 0.99995
PROBLEM 2:
If H(z) was desgined using bilinear transformation determine parent causal analog transfer function
2
H(z) = 4(z2+3z+4)/(10z +4z+6)

Program:
pkg load symbolic

syms z s T

z2s = T*((2/T)+s)/((2/T)-s)

Hz = 4*(z^2+3*z+4)/(10*z^2+4*z+6)

[numz,denz] = numden(Hz);

Hs = factor(subs(Hz,z,z2s));

[nums,dens] = numden(Hs);

numspoly = sym2poly(nums,s)

denspoly = sym2poly(dens,s)

numorder = length(numspoly)-1;

denorder = length(denspoly)-1;

parentnum = 0;

parentden = 0;

for i=1:length(numspoly)

parentnum = parentnum+numspoly(length(numspoly)-i+1)*s^(i-1);

end

for i=1:length(denspoly)

parentden = parentden+denspoly(length(denspoly)-i+1)*s^(i-1);

end

ParentH = parentnum/parentden

Td = input('Enter value for T: ')

disp('Parent Causal Analog Transfer Function: ')

subs(ParentH,T,1)
ParentH = (sym)

2 4 3 2 3 2
s (2T -6T +8T )+s(8T -32T)+(8T +24T+32)
________________________________________________________

s2(5T4-2T3+3T2)+s(20T3-12T)+(20T2+8T+12)

Enter value for T: 2

Td = 2

Parent Causal Analog Transfer Function:

ans = (sym)
2
4 s - 24 s + 64


2
6 s + 8 s + 40

You might also like