北理工数字信号处理实验7.docx
- 文档编号:6175839
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:13
- 大小:97.04KB
北理工数字信号处理实验7.docx
《北理工数字信号处理实验7.docx》由会员分享,可在线阅读,更多相关《北理工数字信号处理实验7.docx(13页珍藏版)》请在冰豆网上搜索。
北理工数字信号处理实验7
实验七窗函数法设计FIR数字滤波器
一、实验目的
掌握窗函数法设计FIR数字滤波器的原理及具体方法。
二、实验设备与环境
计算机、MATLAB软件环境。
三、实验基础理论
1、基本原理
窗函数实际法的基本思想为,首先选择一个适当的理想
,然后用窗函数截取它的单位脉冲响应
,得到线性相位和因果的FIR滤波器。
这种方法的重点是选择一个合适的窗函数和理想滤波器,使设计的滤波器的单位脉冲响应逼近理想滤波器的单位脉冲响应。
2、设计步骤
(1)给定理想滤波器的频率响应
,在通带上具有单位增益和线性相位,在阻带上具有零响应。
一个带宽为
(
的低通滤波器由下式给定
(2)确定这个滤波器的单位脉冲响应
为了得到一个h(n)长度为N的因果的线性相位FOR滤波器,我们令
(3)用窗函数截取
得到所设计FIR滤波器h(n)
3、窗函数的选择
常用的窗函数有矩形(Rectanngular)窗、汉宁(Hanning)窗、海明(Hamming)窗、布莱克曼(Blackman)窗、凯瑟(Kaiser)窗等。
MATLAB函数窗函数MATLAB函数窗函数
Boxcar矩形窗函数blackman布莱克曼窗函数
Hanning汉宁窗函数Kaiser凯瑟窗函数
Hannming海明窗函数
四、实验内容
1、设计一个数字低通FIR滤波器,其技术指标如下
分别采用矩形窗、汉宁窗、海明窗、布莱克曼窗、凯瑟窗设计该滤波器。
结合实验结果,分别讨论采用上述方法设计的数字低通滤波器是否都满足给定指标要求。
2、设计一个数字带通FIR滤波器,其技术指标如下:
五、实验代码及实验结果
1.
①矩形窗
程序代码:
m=1.8
wp=0.2*pi
Rp=0.25
wst=0.3*pi
A=50
width=wst-wp
N=ceil(m*pi/width)+1
n=0:
(N-1)
wc=(wp+wst)/2
alpha=(N-1)/2
hd=(wc/pi)*sinc((wc/pi)*(n-alpha))
w_w=boxcar(N)'
h=hd.*w_w
subplot(221)
stem(n,hd,'filled')
[Hr,wl]=zerophase(h)
subplot(222)
plot(wl/pi,Hr)
subplot(223)
stem(n,h,'filled')
[H,w]=freqz(h,1)
subplot(224);
plot(w/pi,20*log10(abs(H)/max(abs(H))))
gridon
实验结果:
不能满足指标要求
②汉宁窗
程序代码:
m=6.2
wp=0.2*pi
Rp=0.25
wst=0.3*pi
A=50
width=wst-wp
N=ceil(m*pi/width)+1
n=0:
(N-1)
wc=(wp+wst)/2
alpha=(N-1)/2
hd=(wc/pi)*sinc((wc/pi)*(n-alpha))
w_w=hanning(N)'
h=hd.*w_w
subplot(221)
stem(n,hd,'filled')
[Hr,wl]=zerophase(h)
subplot(222)
plot(wl/pi,Hr)
subplot(223)
stem(n,h,'filled')
[H,w]=freqz(h,1)
subplot(224)
plot(w/pi,20*log10(abs(H)/max(abs(H))))
gridon
实验结果:
不能满足指标要求
③海明窗
程序代码:
m=6.6
wp=0.2*pi
Rp=0.25
wst=0.3*pi
A=50
width=wst-wp
N=ceil(m*pi/width)+1
n=0:
(N-1)
wc=(wp+wst)/2
alpha=(N-1)/2
hd=(wc/pi)*sinc((wc/pi)*(n-alpha))
w_w=hamming(N)'
h=hd.*w_w
subplot(221)
stem(n,hd,'filled')
[Hr,wl]=zerophase(h)
subplot(222)
plot(wl/pi,Hr)
subplot(223)
stem(n,h,'filled')
[H,w]=freqz(h,1)
subplot(224);
plot(w/pi,20*log10(abs(H)/max(abs(H))))
gridon
实验结果:
可以满足指标要求
④布莱克曼窗
程序代码:
m=11
wp=0.2*pi
Rp=0.25
wst=0.3*pi
A=50
width=wst-wp
N=ceil(m*pi/width)+1
n=0:
(N-1)
wc=(wp+wst)/2
alpha=(N-1)/2
hd=(wc/pi)*sinc((wc/pi)*(n-alpha))
w_w=blackman(N)'
h=hd.*w_w
subplot(221)
stem(n,hd,'filled')
[Hr,wl]=zerophase(h)
subplot(222)
plot(wl/pi,Hr)
subplot(223)
stem(n,h,'filled')
[H,w]=freqz(h,1)
subplot(224);
plot(w/pi,20*log10(abs(H)/max(abs(H))))
gridon
实验结果:
可以满足指标要求
⑥凯瑟窗
程序代码:
wp=0.2*pi
Rp=0.25
wst=0.3*pi
A=50
width=wst-wp
N=ceil((A-7.95)-(2.258*width))+1
n=0:
(N-1)
wc=(wp+wst)/2
alpha=(N-1)/2
hd=(wc/pi)*sinc((wc/pi)*(n-alpha))
w_w=kaiser(N)'
h=hd.*w_w
subplot(221)
stem(n,hd,'filled')
[Hr,wl]=zerophase(h)
subplot(222)
plot(wl/pi,Hr)
subplot(223)
stem(n,h,'filled')
[H,w]=freqz(h,1)
subplot(224);
plot(w/pi,20*log10(abs(H)/max(abs(H))))
gridon
实验结果:
不能满足指标要求
2.
①海明窗
程序代码:
m=6.6
wp=0.2*pi
Rp=1
wst=0.35*pi
A=60
width=wst-wp
N=ceil(m*pi/width)+1
n=0:
(N-1)
wc1=(wp+wst)/2
wc2=wc1+0.45
alpha=(N-1)/2
hd=(wc2/pi)*sinc((wc2/pi)*(n-alpha))-(wc1/pi)*sinc((wc1/pi)*(n-alpha))
w_w=hamming(N)'
h=hd.*w_w
subplot(221)
stem(n,hd,'filled')
[Hr,wl]=zerophase(h)
subplot(222)
plot(wl/pi,Hr)
subplot(223)
stem(n,h,'filled')
[H,w]=freqz(h,1)
subplot(224);
plot(w/pi,20*log10(abs(H)/max(abs(H))))
gridon
实验结果:
②布莱克曼窗
程序代码:
m=11
wp=0.2*pi
Rp=1
wst=0.35*pi
A=60
width=wst-wp
N=ceil(m*pi/width)+1
n=0:
(N-1)
wc1=(wp+wst)/2
wc2=wc1+0.45
alpha=(N-1)/2
hd=(wc2/pi)*sinc((wc2/pi)*(n-alpha))-(wc1/pi)*sinc((wc1/pi)*(n-alpha))
w_w=blackman(N)'
h=hd.*w_w
subplot(221)
stem(n,hd,'filled')
[Hr,wl]=zerophase(h)
subplot(222)
plot(wl/pi,Hr)
subplot(223)
stem(n,h,'filled')
[H,w]=freqz(h,1)
subplot(224);
plot(w/pi,20*log10(abs(H)/max(abs(H))))
gridon
实验结果:
六、心得与体会
通过本次试验,我掌握了窗函数法设计FIR数字滤波器,将课堂上所学的抽象知识用编程转化为较为实际的东西。
对于窗函数的选择我还有一些不懂之处,经过同学的帮助我豁然开朗了。
当然独立完成还是有一定困难,但同学间的互相帮助使我进步。
数字信号处理
实验报告
班级:
05111104
姓名:
张旻阳
学号:
1120111528
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北理工 数字信号 处理 实验