blob: 7975abc53503006185ff0ab2aae95408d5dd099b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
//Example 6.11
//Program to Plot Magnitude Responce of given L.P.F. with specifications:
//wp=20rad/sec, ws=30rad/sec, wsf=100rad/sec
//as=44.0dB, ap=0.1dB
//Using Kaiser Window
clear;
clc ;
close ;
wsf=100//rad/sec
ws=30;//rad/sec
wp=20;//rad/sec
as=44.0//dB
ap=0.1//dB
B=ws-wp;
wc=0.5*(ws+wp);
wc1=wc*2*%pi/wsf;
delta1=10^(-0.05*as);
delta2=(10^(0.05*as)-1)/(10^(0.05*as)+1);
delta=min(delta1,delta2);
alphas=-20*log10(delta);
alpha=0.5842*(alphas-21)^0.4+0.07886*(alphas-21)
D=(alphas-7.95)/14.36;
N1=wsf*D/B+1;
N=ceil(N1);
U=ceil(N/2);
win_l=window('kr',N,alpha);
for n=-floor(N/2)+U:1:floor(N/2)+U
if n==ceil(N/2);
hd(n)=0.5;
else
hd(n)=(sin(%pi*(n-U)/2))/(%pi*(n-U));
end
h(n)=hd(n)*win_l(n);
end
[hzm ,fr ]= frmag (h ,256) ;
hzm_dB = 20* log10 (hzm)./ max ( hzm );
figure
plot (2*fr , hzm_dB )
a= gca ();
xlabel ('Frequency w*pi');
ylabel ('Magnitude in dB');
title ('Frequency Response of given LPF using Kaiser Window');
xgrid (2);
disp(h,"Filter Coefficients,h(n)=");
|