数字信号处理实验 实验八
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实 验 报 告
课程:数字信号处理实 班级: 姓
名: 学号:
实验项目名称:用窗函数法设计FIR 数字滤波器 实验目的:
1、掌握用窗函数法设计FIR 数字滤波器的原理和方法。
2、熟悉线性相位FIR 数字滤波器特性。
3、了解各种窗对滤波特性的影响。
实验仪器、材料及软件:
电脑、MATLAB 软件
实验步骤:
1、复习用窗函数法设计FIR 数字滤波器的内容;
2、熟悉产生矩形窗、汉宁窗、哈明窗、三角形窗、布莱克曼窗和凯塞-贝塞尔窗的窗函数子程序及其调用方法。
3、编写Matlab 程序sy8_1.m 用窗函数法设计低通数字FIR 滤波器。
滤波器指标为ωp =0.2π Rp=0.25dB ωs =0.3π As=50dB 。
选择哈明窗。
确定冲激响应,并画出滤波器的频率响应。
4、编写Mtable 程序sy8_2.m 用窗函数法设计数字带通FIR 滤波器。
滤波器指标为:
低阻带:ω1s=0.2π,As=60dB 低通带:ω1p=0.35π,Rp=1dB 高通带:ω2p=0.65π,Rp=1dB 高阻带:ω2s=0.8π,As=60dB
选用Blackman 窗。
确定冲激响应,并画出滤波器的频率响应。
5、编写程序sy8_3.m 用所设计的滤波器对由三个正弦波分量(频率分别为
6、25和48赫兹)构成的一个复合信号采样序列进行仿真滤波处理,并分别绘出滤波前后的波形图,观察总结滤波作用与效果。
实验成绩 指导老师
实验源程序代码及截图:
function hd=ideal_lp(wc,M);
alpha=(M-1)/2;
n=[0:1:(M-1)];
m=n-alpha+eps;
hd=sin(wc*m)./(pi*m);
wp=0.2*pi;ws=0.3*pi;
tr_width=ws-wp;
M=ceil(6.6*pi/tr_width)+1;
n=[0:1:M-1];
wc=(ws+wp)/2;
hd=ideal_lp(wc,M);
w_ham=(hamming(M))';
h=hd.*w_ham;
[H,w]=freqz(h,1,1000,'whole');
H=(H(1:1:501))';w=(w(1:1:501))';
mag=abs(H);
db=20*log10((mag+eps)/max(mag));
pha=angle(H);
grd=grpdelay(h,1,w);
delta_w=2*pi/1000;
Rp=-(min(db(1:1:wp/delta_w+1)));
As=-round(max(db(ws/delta_w+1:1:501)));
subplot(1,1,1);
subplot(2,2,1);stem(n,hd);title('理想脉冲响应');
axis([0 M-1 -0.1 0.3]);xlabel('n');ylabel('hd(n)');
subplot(2,2,2);stem(n,w_ham);title('Hamming窗');
axis([0 M-1 0 1.1]);xlabel('n');ylabel('w(n)');
subplot(2,2,3);stem(n,h);title('实际脉冲响应');
axis([0 M-1 -0.1 0.3]);xlabel('n');ylabel('h(n)');
subplot(2,2,4);plot(w/pi,db);title('相对标尺的幅度响应');grid; axis([0 1 -100 10]);xlabel('frequency in pi units');ylabel('Decibels'); set(gca,'XTickMode','manual','XTick',[0,0.2,0.3,1]);
set(gca,'YTickMode','manual','YTick',[-50,0]);
set(gca,'YTickLabelMode','manual','YTickLabels',['50';'0']);
20
40
60
-0.1
00.10.2
0.3理想脉冲响应
n
h d (n )
0204060
0.5
1
Hamming 窗
n
w (n )
20
4060-0.1
00.10.2
0.3实际脉冲响应
n
h (n )
0.20.3
1
-50
相对标尺的幅度响应frequency in pi units
D e c i b e l s
ws1=0.2*pi;wp1=0.35*pi; wp2=0.65*pi;ws2=0.8*pi; As=60;
tr_width=min((wp1-ws1),(ws2-wp2)) M=ceil(11*pi/tr_width)+1 n=[0:1:M-1];
wc1=(ws1+wp1)/2;wc2=(wp2+ws2)/2; hd=ideal_lp(wc2,M)-ideal_lp(wc1,M); w_bla=(blackman(M))'; h=hd.*w_bla;
[H,w]=freqz(h,1,1000,'whole'); H=(H(1:1:501))';w=(w(1:1:501))'; mag=abs(H);
db=20*log10((mag+eps)/max(mag)); pha=angle(H);
grd=grpdelay(h,1,w); delta_w=2*pi/1000;
Rp=-(min(db(1:1:wp/delta_w+1)));
As=-round(max(db(ws/delta_w+1:1:501))); subplot(1,1,1);
subplot(2,2,1);stem(n,hd);title('理想脉冲响应');
axis([0 M-1 -0.1 0.3]);xlabel('n');ylabel('hd(n)'); subplot(2,2,2);stem(n,w_bla);title('blackman 窗'); axis([0 M-1 0 1.1]);xlabel('n');ylabel('w(n)'); subplot(2,2,3);stem(n,h);title('实际脉冲响应'); axis([0 M-1 -0.1 0.3]);xlabel('n');ylabel('h(n)');
subplot(2,2,4);plot(w/pi,db);title('相对标尺的幅度响应');grid; axis([0 1 -100 10]);xlabel('frequency in pi units');ylabel('Decibels'); set(gca,'XTickMode','manual','XTick',[0,0.2,0.3,1]); set(gca,'YTickMode','manual','YTick',[-50,0]);
set(gca,'YTickLabelMode','manual','YTickLabels',['50';'0']); >> sy8_2 tr_width =
0.4712 M =
75
20
4060-0.1
00.10.2
0.3理想脉冲响应
n
h d (n )
20
40600
0.5
1
blackman 窗
n
w (n )
20
4060
-0.1
00.10.2
0.3实际脉冲响应
n
h (n )
0.20.3
1
-50
相对标尺的幅度响应
frequency in pi units
D e c i b e l s
窗函数法设计FIR滤波器的主要特点分析:
FIR 滤波器目前常用的设计方法有窗函数法和频率采样法,窗函数法是从时域进行设计,而频率采样法是从频域进行设计。
窗函数法由于简单、物理意义清晰,因而得到了较为广泛的应用。
窗函数法设计的基本思想是:首先根据技术指标要求,选取合适的阶数 N 和窗函数的类型 w(n),使其幅频特性逼近理想滤波器幅频特性。
其次,因为理想滤波器的hd(n)是无限长的,所以需要对 hd(n) 进行截断,数学上称这种方法为窗函数法。
简而言之,用窗函数法设计FIR滤波器是在时域进行的,先用傅里叶变换求出理想滤波器单位抽样相应hd(n),然后加时间窗w(n)对其进行截断,以求得FIR 滤波器的单位抽样响应h(n)。
滤波器的滤波过程和作用分析:
滤波器是一种用来消除干扰杂讯的器件,将输入或输出经过过滤而得到纯净的直流电。
对特定频率的频点或该频点以外的频率进行有效滤除的电路,就是滤波器,其功能就是得到一个特定频率或消除一个特定频率。