dsp-8
DESCRIPTION
dspTRANSCRIPT
PROGRAM CODING:
%IIR FILTER - CHEBYSHEV FILTER
clc;
clear all;
close all;
wp = input('passband frequency');
ws = input('stopband frequency');
rp = input('passband gain');
rs = input('stopband gain');
%IIR -chebyshev bilinear transform
[N,wn] = cheb1ord(wp,ws,rp,rs,'s');
[z,p,k] = cheb1ap(N,0.7648);
[num,den] = zp2tf(z,p,k);
[numt,dent] = lp2lp(num,den,wn);
[bz,az] = bilinear(numt,dent,1);
[b,w] = freqz(bz,az,512);
mag = 20*log10(abs(b));
subplot(2,2,1);
%plot(2,2,1)
plot(w/pi,mag),grid;
title('iir chebyshev bilinear transform 07ece52');
xlabel('normalised frequency')
ylabel('gain in db');
an=angle(b);
subplot(2,2,2);
plot(w/pi,an),grid;
xlabel('normalised frequency');
ylabel('phase in radian');
%IIR -chebyshev impulse invariant transform
[N,wn] = cheb1ord(wp,ws,rp,rs,'s');
[z,p,k] = cheb1ap(N,0.7648);
[num,den] = zp2tf(z,p,k);
[numt,dent] = lp2lp(num,den,wn);
[bz,az] = impinvar(numt,dent,1);
[h,w] = freqz(bz,az,5120);
mag = 20*log10(abs(h));
subplot(2,2,3);
plot(w/pi,mag),grid;
title('iir chebyshev impulse invariance 07ece52');
xlabel('normalised frequency')
ylabel('gain in db');
an=angle(h);
subplot(2,2,4);
plot(w/pi,an),grid;
xlabel('normalised frequency');
ylabel('phase in radian');
OUTPUT:
Passband freq: 0.3
Stopband freq: 0.7
Passband ripple: 0.5
Stopband freq: 10
0 0.5 1-150
-100
-50
0iir chebyshev bilinear transform 07ece52
normalised frequency0 0.5 1
-4
-3
-2
-1
0
normalised frequency
0 0.5 1-40
-30
-20
-10
0iir chebyshev impulse invariance 07ece52
normalised frequency0 0.5 1
-4
-3
-2
-1
0
normalised frequency
%IIR FILTER-BUTTERWORTH FILTER
clc;
clear all;
close all;
wp=input('passband freq');
ws=input('stopband freq');
%fs=input('sampling freq');
rp=input('passband ripple');
rs=input('stopband freq');
%w1=2*wp/fs;
%w2=2*ws/fs;
%IIR butterworth bilinear transform
[N,wn]=buttord(wp,ws,rp,rs,'s');
[z,p,k]=buttap(N);
[num,den]=zp2tf(z,p,k);
[numt,dent]=lp2lp(num,den,wn);
[bz,az]=bilinear(numt,dent,1);
[h,w]=freqz(bz,az,512);
mag=20*log10(abs(h));
subplot(2,2,1);
plot(w/pi,mag),grid;
title('iir butterworth bilinear transform 07ece52');
xlabel('normalized freq ');
ylabel('gain in Db');
an=angle(h);
subplot(2,2,2);
plot(w/pi,an),grid;
xlabel('normalized freq ');
ylabel('phase in radian');
%IIR butterworth impulse invariance transform
[N,wn]=buttord(wp,ws,rp,rs,'s');
[z,p,k]=buttap(N);
[num,den]=zp2tf(z,p,k);
[numt,dent]=lp2lp(num,den,wn);
[bz,az]=impinvar(numt,dent,1);
[h,w]=freqz(bz,az,512);
mag=20*log10(abs(h));
subplot(2,2,3);
plot(w/pi,mag),grid;
title('iir butterworth impulse invariance 07ece52');
xlabel('normalized freq ');
ylabel('gain in db');
an=angle(h);
subplot(2,2,4);
plot(w/pi,an),grid;
xlabel('normalized freq ');
ylabel('phase in radian');
OUTPUT:
Passband freq: 0.3
Stopband freq: 0.7
Passband ripple: 0.5
Stopband freq: 10
0 0.5 1-200
-150
-100
-50
0iir butterworth bilinear transform 07ece52
normalized freq 0 0.5 1
-4
-2
0
2
4
normalized freq
0 0.5 1-60
-40
-20
0iir butterworth impulse invariance 07ece52
normalized freq 0 0.5 1
-4
-2
0
2
4
normalized freq