Professional Documents
Culture Documents
clc
clear all
rp=0.05;
rs=0.04;
fp=1500;
fs=2000;
fc=8000;
wp=2*fp/fc;
ws=2*fs/fc;
num=-20*log10(sqrt(rp*rs))-13;
den=14.6*(fs-fp)/fc;
n=ceil(num/den);
n1=n+1;
if(rem(n,2)~=0) n1=n;
n=n-1; end
y=boxcar(n1);
b=fir1(n,wp,y);
[h,f]=freqz(b,1,256);
mag=20*log10(abs(h));
angle=angle(h);
figure (1)
plot(f/pi,mag);
xlabel('normalized frequnecy');
ylabel('Gain in db');
figure (2)
plot(f/pi,angle);
ylabel('Phase');
clc
clear all
rp=0.05;
rs=0.04;
fp=1500;
fs=2000;
fc=8000;
wp=2*fp/fc;
ws=2*fs/fc;
num=-20*log10(sqrt(rp*rs))-13;
den=14.6*(fs-fp)/fc;
n=ceil(num/den);
n1=n+1;
if(rem(n,2)~=0) n1=n;
n=n-1; end
y=boxcar(n1);
b=fir1(n,wp,'high',y);
[h,f]=freqz(b,1,256);
mag=20*log10(abs(h));
angle=angle(h);
figure (1)
plot(f/pi,mag);
xlabel('normalized frequnecy');
ylabel('Gain in db');
figure (2)
plot(f/pi,angle);
xlabel('normalized frequnecy');
ylabel('Phase');
%% Exercise 01 ((a) FIR Low pass filter plot poles and zeros)
clc
clear all
n=8;
fp=50;
fs=1000;
pass=3;
stop=30;
wn=2*(fp/fs)
window=hamming(n+1);
[z,p,k]=ellip(n,pass,stop,wn,'low');
figure (1)
zplane(z,p);
grid;
xlabel('Real Axis');
ylabel('Imaginary Axis');
b=fir1(n,wn,'low',window);
[h,f]=freqz(b,1,256);
mag=20*log10(abs(h));
angle=angle(h);
figure (2)
plot(f/pi,mag);
xlabel('normalized frequnecy');
ylabel('Gain in db');
figure (3)
plot(f/pi,angle);
xlabel('normalized frequnecy');
ylabel('Phase');
%% Exercise 01 ((b) FIR High pass filter plot poles and zeros)
clc
clear all
n=8;
fp=50;
fs=1000;
pass=3;
stop=30;
wn=2*(fp/fs)
window=hamming(n+1);
b=fir1(n,wn,'high',window);
[h,f]=freqz(b,1,256);
mag=20*log10(abs(h));
angle=angle(h);
figure (2)
plot(f/pi,mag);
xlabel('normalized frequnecy');
ylabel('Gain in db');
figure (3)
plot(f/pi,angle);
xlabel('normalized frequnecy');
ylabel('Phase');
%% Exercise 01 ((c) FIR Band pass filter plot poles and zeros)
clc
clear all
n=22;
fs=800;
fc1=100;
fc2=300;
pass = 0.1;
stop = 80;
wc1 = 2*(fc1/fs);
wc2 = 2*(fc2/fs);
wn = [wc1 wc2];
window=hamming(n+1);
[z,p,k]=ellip(n,pass,stop,wn,'bandpass');
figure (1)
zplane(z,p);
grid;
xlabel('Real Axis');
ylabel('Imaginary Axis');
b=fir1(n,wn,'bandpass',window);
[h,f]=freqz(b,1,256);
mag=20*log10(abs(h));
angle=angle(h);
figure (3)
plot(f/pi,mag);
xlabel('normalized frequnecy');
ylabel('Gain in db');
figure (4)
plot(f/pi,angle);
xlabel('normalized frequnecy');
ylabel('Phase');
%% Exercise 01 ((d) FIR Band stop filter plot poles and zeros)
clc
clear all
n=22;
fs=800;
fc1=100;
fc2=300;
pass = 0.1;
stop = 80;
wc1 = 2*(fc1/fs);
wc2 = 2*(fc2/fs);
wn = [wc1 wc2];
window=hamming(n+1);
[z,p,k]=ellip(n,pass,stop,wn,'stop');
figure (1)
zplane(z,p);
grid;
xlabel('Real Axis');
ylabel('Imaginary Axis');
b=fir1(n,wn,'stop',window);
[h,f]=freqz(b,1,256);
mag=20*log10(abs(h));
angle=angle(h);
figure (2)
plot(f/pi,mag);
xlabel('normalized frequnecy');
ylabel('Gain in db');
figure (3)
plot(f/pi,angle);
xlabel('normalized frequnecy');
ylabel('Phase');
%% Exercise 02
n=-40:40;
hn_81=0.4*sinc(0.4*n);
w=0:pi/1023:pi;
wn=w/pi;
Hz_81=abs(freqz(hn_81,1,w));
figure (1)
plot(wn,Hz_81);
xlabel('normalized frequency(wn=w/pi)');
ylabel('|H(e^(jw))|');
hn_61=hn_81(11:71);
Hz_61=abs(freqz(hn_61,1,w));
figure (2)
plot(wn,Hz_61);
xlabel('normalized frequency(wn=w/pi)');
ylabel('|H(e^(jw))|');
hn_41=hn_61(11:51);
Hz_41=abs(freqz(hn_41,1,w));
figure (3)
plot(wn,Hz_41)
xlabel('normalized frequency(wn=w/pi)');
ylabel('|H(e^(jw))|');
hn_21=hn_41(11:31);
Hz_21=abs(freqz(hn_41,1,w));
figure (4)
plot(wn,Hz_21)
xlabel('normalized frequency(wn=w/pi)');
ylabel('|H(e^(jw))|');
%% Exercise 03
M=[40 30 20 10 50 60 80];
w=0:pi/1023:pi;
wn=w/pi;
for Trial=1:7
n=1:M(Trial);
b=cos(pi*n)./n;
hn=[-fliplr(b) 0 b];
Hz=abs(freqz(hn,1,w));
figure (Trial);
plot(wn,Hz);grid;
ylabel('|H(e^(jw))|');
window=hamming(N);
hn=fir1(N-1,Fc,window);
[H,f]=freqz(hn,1,512,Fs);
magH=20*log10(abs(H));
figure (1)
xlabel('frequency(Hz)');
N=42;
beta=5.65;
Fc=0.685;
window=kaiser(N,beta);
hn=fir1(N-1,Fc,window);
[H,f]=freqz(hn,1,512,Fs);
magH=20*log10(abs(H));
figure (1)
xlabel('frequency(Hz)');
%% Exercise 06
N=59;
beta=4.55;
Fc=0.25;
Fs=8000;
window=kaiser(N,beta);
hn=fir1(N-1,Fc,window);
figure (1)
[H,f]=freqz(hn,1,512,Fs);
magH=20*log10(abs(H));
figure (4)
xlabel('frequency(Hz)');
%% Exercise 07 (a)
Fs=50000;
N=11;
Fc=0.2;
window=boxcar(N);
b=fir1(N-1,Fc,window);
[H f]=freqz(b,1,512,Fs);
magH=20*log10(abs(H));
figure (1)
plot(f,magH);
%% Exercise 07 (b)
Fs=50000;
N=21;
Fc=0.2;
window=boxcar(N);
b=fir1(N-1,Fc,window);
[H f]=freqz(b,1,512,Fs);
magH=20*log10(abs(H));
figure (1)
plot(f,magH);
%% Exercise 07 (c)
Fs=50000;
N=11;
Fc=0.2;
window=hamming(N);
b=fir1(N-1,Fc,window);
[H f]=freqz(b,1,512,Fs);
magH=20*log10(abs(H));
figure (1)
plot(f,magH);
%% Exercise 07 (d)
Fs=50000;
N=21;
Fc=0.2;
window=hamming(N);
b=fir1(N-1,Fc,window);
[H f]=freqz(b,1,512,Fs);
magH=20*log10(abs(H));
figure (1)
plot(f,magH);
%% Exercise 07 (e)
Fs=50000;
N=21;
Fc=0.08;
window=boxcar(N);
b=fir1(N-1,Fc,'high',window);
[H f]=freqz(b,1,512,Fs);
magH=20*log10(abs(H));
figure (1)
plot(f,magH);
window1=hamming(N);
b1=fir1(N-1,Fc,'high',window1);
[H f]=freqz(b,1,512,Fs);
magh=20*log10(abs(H));
figure (2)
plot(f,magh);