You are on page 1of 12

%% Example 01 ( FIR LOW PASS FITER)

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);

title('LOW PASS FIR FILTER RESPONSE');

xlabel('normalized frequnecy');

ylabel('Gain in db');

figure (2)

plot(f/pi,angle);

title('LOW PASS FIR FILTER RESPONSE');


xlabel('normalized frequnecy');

ylabel('Phase');

%% Example 02 (FIR HIGH PASS FILTER)

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);

title('LOW PASS FIR FILTER RESPONSE');

xlabel('normalized frequnecy');

ylabel('Gain in db');

figure (2)
plot(f/pi,angle);

title('LOW PASS FIR FILTER RESPONSE');

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;

title('Zero Pole Plot');

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);

title('LOW PASS FIR FILTER RESPONSE');

xlabel('normalized frequnecy');
ylabel('Gain in db');

figure (3)

plot(f/pi,angle);

title('LOW PASS FIR FILTER RESPONSE');

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);

title('HIGH PASS FIR FILTER RESPONSE');

xlabel('normalized frequnecy');

ylabel('Gain in db');

figure (3)

plot(f/pi,angle);

title('HIGH PASS FIR FILTER RESPONSE');

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;

title('Zero Pole Plot');

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);

title('BAND PASS FIR FILTER RESPONSE');

xlabel('normalized frequnecy');
ylabel('Gain in db');

figure (4)

plot(f/pi,angle);

title('BAND PASS FIR FILTER RESPONSE');

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;

title('Zero Pole Plot');

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);

title('BAND STOP FIR FILTER RESPONSE');

xlabel('normalized frequnecy');

ylabel('Gain in db');

figure (3)

plot(f/pi,angle);

title('BAND STOP FIR FILTER RESPONSE');

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);

title('Magnitude Response for length=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);

title('Magnitude Response for length=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)

title('Magnitude Response for length=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)

title('Magnitude Response for length=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;

xlabel('normalized frequency (wn=w/pi)');

ylabel('|H(e^(jw))|');

title('Magnitude Response for length (2*M+1)');


end

%% Exercise 04 (FIR Low Pass Filter using Hamming Window)

Fs=8000; % sampling frequency

N=39; % filter length

Fc=0.695; % normalized cutoff frequency

window=hamming(N);

hn=fir1(N-1,Fc,window);

[H,f]=freqz(hn,1,512,Fs);

magH=20*log10(abs(H));

figure (1)

plot(f,magH); grid on;

title('Magnitude Frequency Response of low pass Filter');

xlabel('frequency(Hz)');

ylabel('Magnitude of H(z)in db');

%% Exercise 04 (FIR Low Pass Filter using kaiser Window)

Fs=8000; % sampling frequency

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)

plot(f,magH); grid on;

title('Magnitude Frequency Response of low pass Filter');

xlabel('frequency(Hz)');

ylabel('Magnitude of H(z)in db');

%% Exercise 06
N=59;

beta=4.55;

Fc=0.25;

Fs=8000;

window=kaiser(N,beta);

hn=fir1(N-1,Fc,window);

figure (1)

stem(hn); grid on;

title('Inpulse Response of low pass Filter');

[H,f]=freqz(hn,1,512,Fs);

magH=20*log10(abs(H));

figure (4)

plot(f,magH); grid on;

title('Magnitude Frequency Response of low pass Filter');

xlabel('frequency(Hz)');

ylabel('Magnitude of H(z)in db');

%% 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);

You might also like