FIR滤波器的设计及性能分析.docx
- 文档编号:30766169
- 上传时间:2023-08-23
- 格式:DOCX
- 页数:15
- 大小:251.98KB
FIR滤波器的设计及性能分析.docx
《FIR滤波器的设计及性能分析.docx》由会员分享,可在线阅读,更多相关《FIR滤波器的设计及性能分析.docx(15页珍藏版)》请在冰豆网上搜索。
FIR滤波器的设计及性能分析
汕头大学工学院
三级项目报告
课程名称:
数字信号处理
课程设计题目:
FIR数字滤波器均衡器设计实践及性能分析
指导教师:
姜永权
系别:
电子工程系专业:
通信工程
学号:
08142013姓名:
黄兰凤
合作者
完成时间:
2010年11月19日至11月30日
成绩:
评阅人:
姜永权
一,项目意义与目标
FIR数字滤波器是一类广泛应用的数字滤波器。
如自适应横向数字滤波器就采用FIR数字滤波器,在GSM手机中就用到。
在实际DSP系统中能够正确运用FIR数字滤波器,理解线性相位的含义和应满足的条件。
通过恰当举例,通过亲自编程,给出设计结果,绘制频率响应曲线,掌握FIR数字滤波器设计算法。
FIR数字滤波器有具有精确的线性相位,FIR滤波器总是稳定的。
设计方法通常是线性,可以用硬件快速实现。
二,项目内容
1.根据频率选择性数字滤波器的性能指标,计算线性相位FIR数字滤波器的理想单位冲激响应。
选择Kaiser窗函数的阶数及形状控制参数,给出频率选择性线性相位FIR数字滤波器的设计结果,画出FIR数字滤波器的频率响应曲线。
2.根据任意频率响应(均衡器)性能要求,计算线性相位FIR数字均衡器的单位冲激响应。
选择Kaiser窗函数的阶数及形状控制参数,给出均衡器的设计结果,画出均衡器的频率响应曲线。
FIR数字滤波器、均衡器的性能分析。
三,项目报告正文
1,FIR数字滤波器
FIR数字滤波器的设计方法有:
窗函数设计法,频率采样法,最优化设计法。
这里介绍窗函数设计法。
设计思想:
用设计好的数字滤波器的频率响应
去逼近理想数字滤波器的频率响应Hd(ejw)
设计步骤如下:
1,给定所要求的频率响应函数Hd(ejw)。
2,对该频率响应函数做傅里叶变换,求理想滤波器的单位冲激响应hd(n)。
3,由过渡带宽和阻带最小衰减等指标要求,选取窗函数类型及窗的长度。
4,求的所设计FIR滤波器的单位冲激响应h(n)=hd(n)·w(n)。
5,计算频率响应函数H(ejw),并检验其是否满足性能要求。
设:
Hd(ejw)=
那么理想数字滤波器的单位冲激响应为:
hd(n)=
=
选择Kaiser窗对h(n进行加窗后:
h(n)=h‘(n)
n=0,1,2,
N
所以FIR数字滤波器的频率响应:
FIR数字滤波器的性能指标:
窗谱性能指标
加窗后滤波器性能指标
旁瓣峰值(dB)
主瓣宽度(×2π/N)
过渡带宽
(×2π/N)
阻带最小衰减(dB)
矩形窗
-13
2
0.9
-21
巴特利特窗
-25
4
2.1
-25
汉宁窗
-31
4
3.1
-44
海明窗
-41
4
3.3
-53
布莱克曼窗
-57
6
5.5
-74
凯泽窗
-57
5
5
-80
FIR数字滤波器的理想单位冲激响应的程序如下:
N=201;
wc=pi/4;
n=0:
N-1;
r=(N-1)/2;
hdn=sin(wc*(n-r))/pi./(n-r);
figure
(1);
stem(n,hdn);
title('理想单位冲激响应');
xlabel('n');
ylabel('hdn');
图形:
用Kaiser窗来逼近理想窗。
其函数形式如下:
式中,
为零阶贝塞尔函数;
为一个可以自由选择的参数,它可以调节主瓣与旁瓣宽度。
当参数
越大,其频谱的旁瓣越小,主瓣宽度也随之增加,因此
值可以考虑主瓣与旁瓣的影响进行选择。
本实验会选择下表中的
值来实现FIR数字滤波器。
过渡带宽
阻带最小衰减(dB)
2.120
3.00
-30
6.764
-70
10.056
-100
程序如下:
clc
clf
N=201;
wc=pi/4;
n=0:
N-1;
r=(N-1)/2;
hdn=(wc/pi)*sinc(wc*(n-r));%理想数字滤波器单位冲激响应hdn
plot(n,hdn);
title('理想单位冲激响应');
xlabel('n');
ylabel('hdn');
holdon;
beta1=2.120;
beta2=6.764;
beta3=10.056;
wn1=kaiser(length(n),beta1);
wn2=kaiser(length(n),beta2);
wn3=kaiser(length(n),beta3);
figure
subplot(311),plot(abs(wn1));
title('beta1=2.120的KaiserWindowWave');%Kaiser窗波形图
xlabel('n');
ylabel('abs(wn1)');
subplot(312),plot(abs(wn2));
title('beta1=6.764的KaiserWindowWave');
xlabel('n');
ylabel('abs(wn2)');
subplot(313),plot(abs(wn3));
title('beta1=10.056的KaiserWindowWave');
xlabel('n');
ylabel('abs(wn3)');
hn1=hdn.*(wn1');%用Kaiser窗对理想数字滤波器单位冲激响应hdn加窗
hn2=hdn.*(wn2');
hn3=hdn.*(wn3');
figure
subplot(311),plot(n,hn1);
title('加β=2.120的Kaiser窗后的信号');
xlabel('n');
ylabel('hdn1');%加窗后的数字滤波器单位冲激响应
subplot(312),plot(n,hn2);
title('加β=6.764的Kaiser窗后的信号');
xlabel('n');
ylabel('hdn2');
subplot(313),plot(n,hn3);
title('加β=10.056的Kaiser窗后的信号');
xlabel('n');
ylabel('hdn3');
Hn1=freqz(hn1);%滤波器的频率响应
Hn2=freqz(hn2);
Hn3=freqz(hn3);
figure
subplot(311),plot(abs(Hn1)/abs(Hn1
(1)));%归一化后的滤波器的频率响应
title('加β=2.120的Kaiser窗后的滤波器的频率响应');
xlabel('w');
ylabel('abs(Hn1)/abs(Hn1
(1))');
subplot(312),plot(abs(Hn2)/abs(Hn2
(1)));
title('加β=6.764的Kaiser窗后的滤波器的频率响应');
xlabel('w');
ylabel('abs(Hn2)/abs(Hn2
(1))');
subplot(313),plot(abs(Hn3)/abs(Hn3
(1)));
title('加β=10.056的Kaiser窗后的滤波器的频率响应');
xlabel('w');
ylabel('abs(Hn3)/abs(Hn3
(1))');
holdon;
波形图:
1,理想数字滤波器单位冲激响应hdn
2,
3,
4,不同β值的Kaiser窗波形图
3用Kaiser窗对理想数字滤波器单位冲激响应hdn加窗
说明:
下图是上图的放大之后的图,可以看出当参数
越大,其频谱的旁瓣越小。
4,归一化后的滤波器的频率响应
在400附近的放大的图:
β=10.056
β=6.764
β=2.120
说明β越大,其频率响应越接近滤波器的理想特性。
2,均衡器的设计
1,设计思想:
对于数字均衡器,一方面是用于处理语言信号,另一方面需要用到频率特性分段的带通滤波器,因此应该IIR滤波器。
下面介绍IIR滤波器的设计方法。
2,设计步骤大致分以下三步:
(1)设计模拟滤波器。
根据实际需要确定滤波器的参数,利用的滤波器的设计公式设计出模拟滤波器并得到其传递函数H(s),常用的滤波器有巴特沃斯滤波器、椭圆滤波器和切比雪夫滤波器;
(2)将模拟滤波器转换成数字滤波器。
利用冲激响应不变法或双线性变法将H(s)转换成H(z),不同的设计方法对应于不同的s平面到z平面的映射公式;
(3)频率变换。
上述方法得到的是低通滤波器,为了得到高通、带通、带阻滤波器,还需要用利用变换公式作频率变换。
5,具体程序
Y1=fft(handles.yy);
switchhandles.type
case1%低通
fp=3000;fc=3200;As=100;Ap=1;Fs=17000;
wc=2*fc/Fs;wp=2*fp/Fs;
wdel=wc-wp;
beta=0.112*(As-8.7);
N=ceil((As-8)/2.285/wdel);
ws=(wp+wc)/2/pi;
wn=kaiser(N+1,beta);
b=fir1(N,ws,wn);
figure
(1);
freqz(b);
case2%带通
fp1=2200;fp2=8000;fc1=2000;fc2=8200;As=100;Ap=1;Fs=17000;
wp1=2*fp1/Fs;wc1=2*fc1/Fs;wp2=2*fp2/Fs;wc2=2*fc2/Fs;
wde1=wp1-wc1;
beta=0.112*(As-8.7);
N=ceil((As-8)/2.285/wdel);
ws=[(wp1+wc1)/2/pi,(wp2+wc2)/2/pi];
wn=kaiser(N+1,beta);
b=fir1(N,ws,wn);
figure
(2);
freqz(b);
case3%带阻
fp1=2200;fp2=8000;fc1=2000;fc2=8200;As=100;Ap=1;Fs=17000;
wp1=2*fp1/Fs;wc1=2*fc1/Fs;wp2=2*fp2/Fs;wc2=2*fc2/Fs;
wde1=wp1-wc1;
beta=0.112*(As-8.7);
N=ceil((As-8)/2.285/wdel);
ws=[(wp1+wc1)/2/pi,(wp2+wc2)/2/pi];
wn=kaiser(N+1,beta);
b=fir1(N,ws,'stop',wn);
figure(3);
freqz(b);
case4%高通
fp=4800;fc=5000;As=100;Ap=1;Fs=17000;
wc=2*fc/Fs;wp=2*fp/Fs;
wdel=wc-wp;
beta=0.112*(As-8.7);
N=ceil((As-8)/2.285/wdel);
ws=(wp+wc)/2/pi;
wn=kaiser(N+1,beta);
b=fir1(N,ws,'high',wn);
figure(4);
freqz(b);
3,FIR数字滤波器、均衡器的性能分析
FIR数字滤波器设计说明Kaiser窗的β越大,其频谱的旁瓣越小,主瓣宽度增加,其频率响应越接近滤波器的理想特性。
均衡器就是一个改变放大器频率响应的设备。
包括生成低通、高通、带通、带阻的巴特沃斯、切比雪夫滤波器,并显示滤波器的频率特征曲线。
阶数越高,则滤波器的精度越高,即越接近于理想的情况。
四,总结
做这份实验题,让我初步掌握了运用MATLAB处理数字信号,初步掌握了数字滤波器和均衡器的设计方法,虽然花的时间很多,但是收获很多,MATLAB真的很重要,不仅可以用MATLAB计算数值,还可以画图,而且还可以处理声音。
同时,也体会到CDIO的理念。
五,参考文献
书:
数字信号处理原理及其MATLAB实现(第二版)
作者:
丛良玉书名:
数字信号处理原理及其MATLAB实现(第二版)
出版地:
北京出版社:
电子工业出版社2009年。
参考网址1:
参考网址2:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FIR 滤波器 设计 性能 分析