Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Write A Matlab Code To Perform FIR LOW PASS FILTER.: Experiment - 13

Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

EXPERIMENT – 13

AIM :- Write a matlab code to Perform FIR LOW PASS FILTER.


SOFTWARE : - MATLAB (R2015a)
CODE:

clc; title('Window Function');


clear all; xlabel('Sample Index');
close all; ylabel('Amplitude');

wp=0.25*pi; h=hd.*win;
ws=0.3*pi;
wc=(wp+ws)/2; [H,w]=freqz(h,1,1000);
mag=20*log10(abs(H));
tw=ws-wp;
N=ceil(1.8*pi/tw)+1; subplot(4,1,3);
ap=(N-1)/2; plot(w/pi,mag);
n=0:1:N-1; title('Magnitude Response');
xlabel('Normalized Frequency
hd=(wc/pi)*sinc(wc*(n- (\times\pi rad/sample)');
ap)/pi); ylabel('Magnitude (dB)');
win=(rectwin(N))';
subplot(4,1,4);
subplot(4,1,1); plot(w/pi,angle(H));
plot (hd); title('Phase Response');
title('Impulse Response'); xlabel('Normalized Frequency
xlabel('Sample Index'); (\times\pi rad/sample)');
ylabel('Amplitude'); ylabel('Phase
subplot(4,1,2);
(radians)');
stem(win);
OUTPUT:

CONCLUSION :- Hence we have successfully plotted the FIR LOW PASS FILTER.
EXPERIMENT – 14

AIM :- Write a matlab code to Perform FIR HIGH PASS FILTER.


Software - MATLAB (R2015a)
CODE :–

clc; subplot(4,1,2);
clear all; stem(win);
close all; title('Window Function');
xlabel('Sample Index');
wp=0.3*pi; ylabel('Amplitude');
ws=0.25*pi;
wc=(wp+ws)/2; h=hd.*win;

tw=wp-ws; [H,w]=freqz(h,1,1000);
N=ceil(3*pi/tw)+1; mag=20*log10(abs(H));
ap=(N-1)/2;
n=0:1:N-1; subplot(4,1,3);
plot(w/pi,mag);
hd=(sin(pi*(n-ap)) - title('Magnitude Response');
sin(wc*(n-ap)))./(pi*(n- xlabel('Normalized Frequency
ap)); (\times\pi rad/sample)');
hd(ap+1) = 1 - wc/pi; ylabel('Magnitude (dB)');
win=(rectwin(N))';
subplot(4,1,4);
subplot(4,1,1); plot(w/pi,angle(H));
plot (hd); title('Phase Response');
title('Impulse Response xlabel('Normalized Frequency
(Highpass)'); (\times\pi rad/sample)');
xlabel('Sample Index'); ylabel('Phase (radians)');
ylabel('Amplitude');
OUTPUT :–

CONCLUSION :- Hence we have successfully plotted the FIR HIGH PASS FILTER
EXPERIMENT – 15
AIM:- Write a MATLAB code to perform FIR BAND STOP FILTER

CODE:-
Clc; xlabel('Sample Index');
Clear all; ylabel('Amplitude');
Close all;
subplot(4,1,2);
stem(win);
wp1=0.1*pi;
title('Window Function');
ws1=0.15*pi;
xlabel('Sample Index');
wp2=0.4*pi;
ylabel('Amplitude');
ws2=0.35*pi;
h=hd.*win;

wc1=(wp1+ws1)/2; [H,w]=freqz(h,1,1000);
wc2=(wp2+ws2)/2; mag=20*log10(abs(H));

subplot(4,1,3);
plot(w/pi,mag);
tw1=ws1-wp1; title('Magnitude Response');
tw2=wp2-ws2; xlabel('Normalized Frequency
(\times\pi rad/sample)');
ylabel('Magnitude (dB)');
N=ceil(3*pi/min(tw1,tw2))+1;
ap=(N-1)/2;
n=0:1:N-1; subplot(4,1,4); plot(w/pi,angle(H));
title('Phase Response');
hd=(sin(wp1*(n-ap))- xlabel('Normalized Frequency
sin(ws1*(n-ap))+sin(ws2*(n- (\times\pi rad/sample)');
ap))-sin(wp2*(n- ylabel('Phase (radians)');
ap)))./(pi*(n-ap));
hd(ap+1) = 1 - (wc2-wc1)/pi;
win=(rectwin(N))';

subplot(4,1,1);
plot (hd);
title('Impulse Response (Bandstop)');
OUTPUT:-

CONCLUSION: - Hence, we have successfully plotted the FIR BAND


STOP FILTER.
EXPERIMENT – 16

AIM :- Write a matlab code to Perform FIR BAND PASS FILTER.


Software - MATLAB (R2015a)
CODE :–

clc; xlabel('Sample Index');


clear all; ylabel('Amplitude');
close all;
subplot(4,1,2);
wp1=0.15*pi; stem(win);
ws1=0.1*pi; title('Window Function');
wp2=0.35*pi; xlabel('Sample Index');
ws2=0.4*pi; ylabel('Amplitude');

wc1=(wp1+ws1)/2; h=hd.*win;
wc2=(wp2+ws2)/2;
[H,w]=freqz(h,1,1000);
tw1=wp1-ws1; mag=20*log10(abs(H));
tw2=ws2-wp2;
subplot(4,1,3);
N=ceil(3*pi/min(tw1,tw2))+1; plot(w/pi,mag);
ap=(N-1)/2; title('Magnitude Response');
n=0:1:N-1; xlabel('Normalized Frequency
(\times\pi rad/sample)');
hd=(sin(wc2*(n-ap))- ylabel('Magnitude (dB)');
sin(wc1*(n-ap)))./(pi*(n-ap));
hd(ap+1) = (wc2 - wc1)/pi; subplot(4,1,4); plot(w/pi,angle(H));
win=(rectwin(N))'; title('Phase Response');
xlabel('Normalized Frequency
subplot(4,1,1); (\times\pi rad/sample)');
plot (hd); ylabel('Phase (radians)');
title('Impulse Response
(Bandpass)');
OUTPUT:–

CONCLUSION:- Hence, we have successfully plotted the FIR BAND PASS


FILTER.
EXPERIMENT – 17

AIM :- Write a matlab code to Perform IIR LOW PASS FILTER.


Software - MATLAB (R2015a)
CODE :–

clc;
clear all;
close all;
Rp=7;
As=16;
Wp=0.2*pi;
Ws=0.3*pi;

[n,Wc]=buttord (Wp, Ws, Rp, As);


[a,b]=butter(n, Wc, 'low');
[H,W]=freqz(a,b,1000);

mag=20*log10(abs(H));
subplot(3,1,1);
plot(W,H);
title('Frequency Response');
xlabel('Frequency (rad/sample)');
ylabel('Amplitude');

subplot(3,1,2);
plot(W/pi,mag);
title('Magnitude Response (dB)');
xlabel('Normalized Frequency (\times\pi rad/sample)');
ylabel('Magnitude (dB)');

subplot(3,1,3);
plot(angle(H));
title('Phase Response');
xlabel('Frequency (rad/sample)');
ylabel('Phase (radians)');
OUTPUT:–

CONCLUSION :- Hence we have successfully plotted the IIR LOW PASS


FILTER.
EXPERIMENT – 18

AIM :- Write a matlab code to Perform IIR HIGH PASS FILTER.


Software - MATLAB (R2015a)
CODE:-
clc; subplot(3,1,2);
ylabel('Amplitude'); plot(W/pi,mag);
clear all; title('Magnitude
close all; Response (dB) (High-
pass)');
Rp=7; xlabel('Normalized
As=16; Frequency (\times\pi
Wp=0.3*pi; rad/sample)');
Ws=0.2*pi; ylabel('Magnitude
(dB)');
[n,Wc]=buttord(Wp, Ws, 'High');
Rp, As); subplot(3,1,3); plot(angle(H));
[a,b]=butter(n, Wc, title('Phase Response (High-
[H,W]=freqz(a,b,1000); pass)');
xlabel('Frequency
mag=20*log10(abs(H)); (rad/sample)'); ylabel('Phase
(radians)');
subplot(3,1,1);
plot(W,H);
title('Frequency
Response (High-pass)');
xlabel('Frequency
(rad/sample)');
ylabel('Amplitude');
OUTPUT:–

CONCLUSION:- Hence we have successfully plotted the IIR


HIGH PASS FILTER.
EXPERIMENT – 19

AIM:- Write a matlab code to Perform IIR BAND STOP FILTER.


Software - MATLAB (R2015a)
CODE:–

clc;
clear all;
close all;
Rp = 7;
As = 16;
Wp = [0.1*pi, 0.7*pi];
Ws = [0.2*pi, 0.6*pi];

[n, Wc] = buttord(Wp/pi, Ws/pi, Rp, As); [a, b] =


butter(n, Wc, 'stop'); [H, W] = freqz(a, b, 1000);

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

subplot(3, 1, 1);
plot(W, H);
title('Frequency Response');
xlabel('Frequency (rad/sample)');
ylabel('Amplitude');

subplot(3, 1, 2);
plot(W/pi, mag);
title('Magnitude Response (dB)');
xlabel('Normalized Frequency (\times\pi rad/sample)');
ylabel('Magnitude (dB)');

subplot(3, 1, 3);
plot(angle(H));
title('Phase Response');
xlabel('Frequency (rad/sample)');
ylabel('Phase (radians)');
OUTPUT:–

CONCLUSION:- Hence, we have successfully plotted the IIR


BAND STOP FILTER.
EXPERIMENT – 20

AIM :- Write a matlab code to Perform IIR BAND PASS FILTER.


Software - MATLAB (R2015a)
CODE : –

clc;
clear all;
close all;
Rp = 7;
As = 16;
Wp = [0.2*pi, 0.6*pi];
Ws = [0.1*pi, 0.7*pi];

[n, Wc] = buttord(Wp/pi, Ws/pi, Rp, As); [a, b] =


butter(n, Wc, 'bandpass'); [H, W] = freqz(a, b,
1000);

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

subplot(3, 1, 1);
plot(W, H);
title('Frequency Response');
xlabel('Frequency (rad/sample)');
ylabel('Amplitude');

subplot(3, 1, 2);
plot(W/pi, mag);
title('Magnitude Response (dB)');
xlabel('Normalized Frequency (\times\pi rad/sample)');
ylabel('Magnitude (dB)');

subplot(3, 1, 3);
plot(angle(H));
title('Phase Response');
xlabel('Frequency (rad/sample)');
ylabel('Phase (radians)');
OUTPUT:–

CONCLUSION:- Hence we have successfully plotted the IIR


BAND PASS FILTER.

You might also like