资源描述
南华大学
数字信号处理课程设计
学院: 电气工程学院
学生姓名: 刘 梦 尧
专业班级: 本电子091
题目编号: 0702
设计题目: 等波纹数字FIR带通滤波器
起止时间: 2012年12月26日至2013年1月11日
指导老师: 陈忠泽
2013年1月11日
1.课程设计内容和要求(包括原始数据、技术要求、工作要求等):
1.设计内容:
根据自己在班里学号20(最后两位)查表一得到一个四位数,0702,由该四位数索引表二确定待设计数字滤波器类型:等波纹FIR数字带通滤波器
2.滤波器设计指标:
⑴阻带下截止频率
⑵通带下截止频率
⑶通带上截止频率
⑷阻带上截止频率
⑸通带最大衰减
⑹阻带最小衰减
其中,—你学号最后两位
3. 滤波器初始设计通过手工计算完成;
4. 在计算机辅助计算基础上分析滤波器结构对其性能指标影响(至少选择两种以上合适滤波器结构进行分析);
5. 在计算机辅助计算基础上分析滤波器参数字长对其性能指标影响;
6. 以上各项要有理论分析和推导、原程序以及表示计算结果图表;
7. 课程设计结束时提交设计说明书。
2.对课程设计成果要求〔包括图表(或实物)等硬件要求〕:
滤波器初始设计通过手工计算完成;
在计算机辅助计算基础上分析滤波器结构对其性能指标影响(至少选择两种以上合适滤波器结构进行分析);
在计算机辅助计算基础上分析滤波器参数字长对其性能指标影响;
以上各项要有理论分析和推导、原程序以及表示计算结果图表;
课程设计结束时提交设计说明书。
3.主要参考文献:
[1]高息全 丁美玉.《数字信号处理》[M].西安:西安电子科技大学出版社,2008.8
[2]陈怀琛.《数字信号处理教程——MATLAB释义及实现》[M].北京:电子工业出版社,2004.12
[3]张德丰.《详解MATLAB数字信号处理》[M].北京:电子工业出版社,2010.6
[4]飞思科技产品研发中心.《MATLAB7辅助信号处理技术及应用》[M].北京:电子工业出版社,2005.3
4.课程设计工作进度计划:
序号
起 迄 日 期
工 作 内 容
1
2012.12.26-2013.12.31
接到题目,搜集资料
2
2012.12.31-2013.1.3
整理资料,构思设计方案
3
2013.1.3-2013.1.5
手工计算进行滤波器初步设计
4
2013.1.5-2013.1.7
完善初步设计,学习Matlab软件操作
5
2013.1.8-2013.1.9
通过Matlab软件分析设计内容,逐步落实课题目标
6
2013.1.10-2013.1.11
上交课程设计,并做细节修改并完成设计
主指导教师
日期:
年 月 日
一 手工计算完成等波纹FIR带通滤波器初始设计
1.设计要求
滤波器设计指标要求为:
⑴阻带下截止频率
⑵通带下截止频率
⑶通带上截止频率
⑷阻带上截止频率
⑸通带最大衰减
⑹阻带最小衰减
其中为学号后两位,我学号为20094470120,所以=20
由此计算性能指标得:
⑴阻带下截止频率:==0.2984rad
⑵通带下截止频率:==0.4475rad
⑶通带上截止频率:==1.0443rad
⑷阻带上截止频率:==1.1935rad
⑸通带最大衰减:
⑹阻带最小衰减:
2.手工计算
设采样频率Fs=8000Hz,由公式=Fs/2ω可将截止频率单位转换为Hz:
⑴ Hz
⑵ Hz
⑶ Hz
⑷ Hz
再将其除以采样频率Fs转换为归一化频率:
阻带下截止频率:0.1492
通带下截止频率:0.2238
通带上截止频率:0.5222
阻带上截止频率:0.5968
将,带入公式
ξ1=()/(), ξ2= 中:
得ξ1=0.057501128,ξ2=0.001
由凯泽逼近n公式:
n=, Δ=
求得ωs-ωp =(0.4475-0.2984)+(1.1935-1.0443)=0.2984
Δ = 0.1492 , n=54
3.在Matlab中利用REMEZ函数计算
程序如下:
f=[0.1492 0.2238 0.5222 0.5968];
m=[0 1 0];
rp=1;rs=60;
dat1=(10^(rp/20)-1)/(10^(rp/20)+1);
dat2=10^(-rs/20);
rip=[dat2,dat1,dat2];
[M,fo,mo,w]=remezord(f,m,rip); hn=remez(M,fo,mo,w);
figure(1)
freqz (hn);
调用REMEZ函数进行运算结果如图1和图2
图1 Remez函数运算结果
图2 hn计算值(传递函数中分子各项前系数)
由图1和图2可得:
M为FIR数字滤波器阶数,hn长度N=M+1
求得M=53,N=M+1=54
通带振荡波纹幅度ξ1=dat1=0.0575
阻带振荡波纹幅度ξ2=dat2=0.001
误差加权函数W=[1,57.5011]
传递函数中分子各项前系数hn见附录
4.手工计算和利用REMEZ函数计算结果比较
通过比较手工计算及运用Matlab中REMEZ函数计算结果可以发现,由手工计算得出滤波器阶数N、通带振荡波纹幅度ξ1、阻带振荡波纹幅度ξ2及由REMEZ函数计算得出N、ξ1及ξ2相等,证明计算无误。
二 滤波器结构不同对性能指标影响
在设计滤波器时,对于同一个传递函数对应着许多种等效结构,然而这些结构能达到性能效果却有所不同。在无限参数字长情况下,所有能实现传递函数结构之间,其表现完全相同。然而,在实际中,由于参数字长有限限制,各实现结构表现并不相同。
在MATLAB中可以利用FDATool工具箱构建不同类型数字滤波器。为了使对比效果明显,将上述初步设计等波纹数字FIR带通滤波器设计参数字长(即转移函数中分子各项前系数)进行保留小数点后10位缩减。
1.利用直接型结构构建数字滤波器
FIR网络结构特点是没有反馈支路,即没有环路,其单位脉冲响应是有限长。设单位脉冲响应h(n)长度为N,由之前算出h(n)可得出(系数小数点后保留10位)系统函数为:
H(z)=-n=-0.0006494522+0.0007448196z-1
+0.0011091232z-2+…+0.0007448196z-52-0006494522z-53
表示系统输入输出关系差分方程可写作:
y(n)=
直接型结构流图如图3所示:
y(n)
x(n)
z-1
z-1
……
……
z-1
-0.0006494522
-0.0006494522
0.0007448196
0.0011091232
0.0007448196
图3 直接型网络构图
选择filter structure选项框中 Direct-Form I选项,点击窗口下方Import Filter按钮,构建直接2型结构等波纹数字FIR带通滤波器,结果如图4所示:
图4 Direct-Form I型结构滤波器幅频响应图
读图可以得Direct-Form I结构滤波器技术指标(ωsl,ωpl,
ωpu,ωsu,单位为;,,单位为dB)如表1所示:
性能指标
初始设计指标
Direct-Form I
△
ωsl
0.1492
0.1478271
-0.0013729
ωpl
0.2238
0.229126
0.005326
ωpu
0.5222
0.519165
-0.003035
ωsu
0.5968
0.5981445
0.0013445
60
58.75763
-1.24237
1
0.6252307
-0.3747693
表1 Direct-Form I结构滤波器对性能指标影响
由图4和表1可以看出:
⑴滤波器幅频曲线在通带和阻带内波动幅度不太均匀。
⑵阻带最小衰减比初始设计低1.24237dB,通带最大衰减比初始设计低0.3747693dB。
⑶ωpl和ωsu分别比初始设计高0.005326和0.0013445,ωsl和ωpu分别比初始设计低0.0013729和0.003035,截止频率坡度较初始设计更加平缓。
由于Direct-Form II和Direct-Form I均属于直接型结构滤波器,因此均具有直接型所共有上述误差。
2.利用级联型结构构建数字滤波器
将H(z)进行因式分解,并将共轭成对零点放在一起,形成一个系数为实数二阶形式,这样级联型网络结构就是由一阶或二阶因子构成级联结构,其中每一个因式都用直接型实现。
将直接型结构系统函数转变为级联型结构系统函数,运用Matlab中tf2sos进行运算(程序及运算结果见附录),可得级联结构系统函数为:
H(z)=-0.00064945(1-2.4099z-1)(1+0.5851z-1-0.4149z-2)
……(1-0.6749z-1+0.7378z-2)(1-0.3066z-1+0.3085z-2)
x(n)
β21
-0.001565037
-0.00064945
-0.4149
0.5851
1
0.3085
-0.3066
1
……
y(n)
图5 级联型网络构图
选择Edit下拉菜单中点击 Convert to Second-order Sections选项,将构建好Direct-Form I结构等波纹数字FIR带通滤波器转换为级联滤波器,结果如图6所示:
图6 级联型结构滤波器幅频响应图
读图可以得级联型结构滤波器技术指标(ωsl,ωpl,ωpu,ωsu,单位为;,,单位为dB)如表2所示:
性能指标
初始设计指标
级联型
△
ωsl
0.1492
0.1478271
-0.0013729
ωpl
0.2238
0.222168
-0.001632
ωpu
0.5222
0.5220947
-0.0001053
ωsu
0.5968
0.5981445
0.0013445
60
58.75001
-1.24999
1
0.6252766
-0.3747234
表2 级联结构滤波器对性能指标影响
由图6和表2中可以看出:
⑴滤波器幅频曲线在通带和阻带内波动比直接型结构滤波器幅频曲线更均匀。
⑵阻带最小衰减比初始设计值低1.24999dB,通带最大衰减比初始设计低0.3747234dB。
⑶ωsu比初始设计高0.0013445;ωsl 、ωpl和ωpu分别比初始设计低了0.0013729、0.001632和0.0001053,滤波器截止频率坡度较初始设计更加平缓。
3、两种滤波器结构对性能指标影响比较及总结
比较表1和表2发现:在参数字长保留了小数点后10位情况下,两种结构滤波器较初始设计在性能指标方面均有误差。
由于直接型滤波器系数不是直接决定单个零极点,不能很好进行滤波器性能控制,且直接型滤波器极点对参数变化过于敏感,从而使得系统频率响应对参数变化也特别敏感,容易出现不稳定或产生较大误差;而级联型滤波器每个二阶系数单独控制一对零、极点,有利于控制频率响应。因此直接型误差比级联型更大,受有限参数字长影响更大,主要表现在直接型ωsl、ωpl、 ωpu、ωsu、和及设计要求相应性能间差绝对值普遍大于级联型。此外,级联型幅频响应曲线通带波动稳定性要稍好于直接型。
所以,参数字长有限情况下,级联结构型滤波器对参数变化反应要比直接结构型更小,性能指标误差更小,滤波效果更好,更能符合设计指标要求。
三 参数字长对性能指标影响
在实际数字滤波器设计中,由于计算机或DSP芯片等字长和存储空间有限,所以也只能对设计参数取有限字长进行设计。然而,如果字长太短,则设计滤波器误差就会太大,造成滤波效果不佳。下面研究不同参数字长对性能指标影响。
将计算获得等波纹带通FIR数字滤波器系数输入FDAtool中filter coefficients工具中,并点击Import Filter按钮,生成数字滤波器。运用Set quantization parameters按钮,在filter arithmetic下拉菜单下选择Fixed Point选项,进入如图7所示界面。
图7 Set quantization parameters工作界面
通过改变coefficient word length值便可以改变参及构建滤波器参数字长。
图中虚线为供参考理想字长下生成滤波器幅频响应曲线,图中实线为改变参数字长后滤波器幅频响应曲线。
1.参数字长取2位对性能指标影响
将coefficient word length值改为2,点击下方Apply按钮,此时设计滤波器幅频响应曲线和性能指标如图8所示:
图8 参数字长取2位时滤波器幅频响应曲线图
从图中可以看出:字长为2位时,滤波器各项性能指标离设计指标偏差很大,滤波器失真明显,几乎达不到滤波效果,远远不能满足设计指标要求。
2.参数字长取4位对性能指标影响
将coefficient word length值改为4,点击下方Apply按钮,此时设计滤波器幅频响应曲线和性能指标如图9和表3所示:
图9 参数字长取4位时滤波器幅频响应曲线图
表3参数保留小数点后4位时性能指标一览表
性能指标
初始设计指标
实际指标
△
ωsl
0.1492
0.1571045
0.0079045
ωpl
0.2238
0.2081299
-0.0156701
ωpu
0.5222
0.5317383
0.0095383
ωsu
0.5968
0.5875244
-0.0092756
60
16.12972
-43.87028
1
0.09459974
-0.90540026
由图9和表3可以看出,当参数字长取为4位时,幅频曲线已经初具带通滤波器形态,失真度虽然比2位时有明显改进,但仍很明显,滤波效果很差,通带最大衰减频率和阻带最小衰减频率及设计指间标误差还是很大,离设计指标差距仍然很大。
3.参数字长取6位对性能指标影响
将coefficient word length值改为6,点击下方Apply按钮,此时设计滤波器幅频响应曲线和性能指标如图10和表4所示:
图10参数字长取6位时滤波器幅频响应曲线图
表4 参数保留小数点后6位时性能指标一览表
性能指标
初始设计指标
实际指标
△
ωsl
0.1492
0.1655273
0.0163273
ωpl
0.2238
0.2147217
-0.0090783
ωpu
0.5222
0.5251465
0.0029465
ωsu
0.5968
0.5784912
-0.0183088
60
22.48622
-37.51378
1
0.6179395
-0.3820605
由图10和表4可以看出,当参数字长取为6位时,幅频曲线失真进一步减小,但仍可以看出。性能指标及设计要求差值继续减小,也已不明显;通带最大衰减频率和阻带最小衰减频率及设计指间标误差还是有一定差距,距离设计要求仍可以进一步接近。
4.参数字长取10位对性能指标影响
将coefficient word length值改为10,点击下方Apply按钮,此时设计滤波器幅频响应曲线和性能指标如图11和表5所示:
图11参数字长取10位时滤波器幅频响应曲线图
性能指标)
初始设计指标
实际指标
△
ωsl
0.1492
0.1489258
-0.0002742
ωpl
0.2238
0.220459
-0.003341
ωpu
0.5222
0.5235596
0.0013596
ωsu
0.5968
0.5949707
-0.0018293
60
43.28498
-16.71502
1
0.6254374
-0.3745626
表5 参数保留小数点后10位时性能指标一览表
由图11和表5可以看出,当参数字长取为10位时,幅频曲线失真进一步减小,但程度已经很小,失真几乎可以忽略。截止频率已及设计要求相差无几,通带最大衰减仍然和设计要求有不小差距,还不可以忽略。
5.参数字长取14位对性能指标影响
将coefficient word length值改为14,点击下方Apply按钮,此时设计滤波器幅频响应曲线和性能指标如图12所示:
图12参数字长取14位时滤波器幅频响应曲线图
表6 参数保留小数点后14位时性能指标一览表
性能指标)
初始设计指标
实际指标
△
ωsl
0.1492
0.1491699
-0.0000301
ωpl
0.2238
0.2233887
-0.0004113
ωpu
0.5222
0.5220947
-0.0001053
ωsu
0.5968
0.597168
0.000368
60
59.22563
-0.77437
1
0.6255833
-0.3744167
由图12和表6可以看出,当参数字长取为14位及以上时,幅频曲线失真几乎为零,设计曲线及要求曲线几乎完全重合,截止频率及实际要求几乎完全相同,通带最大衰减频率和阻带最小衰减频率及设计指间相差也很小,设计滤波器各项性能指标达到了设计要求。
6.结论
总结发现:参数字长越长,设计出滤波器就越符合设计指标要求,误差越小,稳定性越好,滤波性能越好。当参数字长达到14及位及以上时,设计滤波器便可达到设计性能指标。
参考文献
[1]高息全 丁美玉.《数字信号处理》[M].西安:西安电子科技大学出版社,2008.8
[2]陈怀琛.《数字信号处理教程——MATLAB释义及实现》[M].北京:电子工业出版社,2004.12
[3]张德丰.《详解MATLAB数字信号处理》[M].北京:电子工业出版社,2010.6
[4]飞思科技产品研发中心.《MATLAB7辅助信号处理技术及应用》[M].北京:电子工业出版社,2005.3
附 录
1. 传递函数中分子各项前系数hn值
传递函数中分子各项前系数
hn=[-0.9472656 0.1113281
0.998047 0.4316406
0.628906 0.006875
-0.005364 -0.41406
-0.51367 0.86719
0.6641 0.3789063
0.626953 0.45898
-0.609375 -0.03246
-0.01953 0.5078125
-0.21680 -0.039063
0.22656 0.88477
-0.789063 0.1484
0.05859 -0.65625
-0.241979598999023 -0.55078
0.287850379943848 0.287850379943848
-0.55078 -0.241979598999023
-0.65625 0.05859
0.1484 -0.789063
0.88477 0.22656
-0.039063 -0.21680
0.5078125 -0.01953
-0.03246 -0.609375
0.45898 0.626953
0.3789063 0.6641
0.86719 -0.51367
-0.41406 -0.005364
0.006875 0.628906
0.4316406 0.998047
0.1113281 -0.9472656]
2.求解级联型系统函数程序及结果
将直接型结构系统函数转变为级联型结构系统函数,运用Matlab中tf2sos
函数程序如下:
B=[-0.9472656 0.1113281 0.998047 0.4316406 0.628906 0.006875 -0.005364 -0.41406 -0.51367 0.86719 0.6641 0.3789063 0.626953 0.45898 -0.609375 -0.03246 -0.01953 0.5078125 -0.21680 -0.039063 0.22656 0.88477 -0.789063 0.1484 0.05859 -0.65625 -0.241979598999023 -0.55078 0.287850379943848 0.287850379943848
-0.55078 -0.241979598999023 -0.65625 0.05859 0.1484 -0.789063 0.88477 0.22656 -0.039063 -0.21680 0.5078125 -0.01953 -0.03246 -0.609375 0.45898 0.626953 0.3789063 0.6641 0.86719 -0.51367 -0.41406 -0.005364 0.006875 0.628906 0.4316406 0.998047 0.1113281 -0.9472656];
A=1;
[S,G]=tf2sos(B,A)
运算结果为:
G =-0.00064945
S =
1.0000 -2.4099 0 1.0000 0 0
1.0000 0.5851 -0.4149 1.0000 0 0
1.0000 -0.9938 3.2411 1.0000 0 0
1.0000 -0.9147 1.3554 1.0000 0 0
1.0000 -0.2696 1.3434 1.0000 0 0
1.0000 -1.4602 1.3337 1.0000 0 0
1.0000 -1.8276 1.0000 1.0000 0 0
1.0000 0.9864 1.0000 1.0000 0 0
1.0000 -1.9973 1.0000 1.0000 0 0
1.0000 1.9533 1.0000 1.0000 0 0
1.0000 1.3100 1.0000 1.0000 0 0
1.0000 1.4598 1.0000 1.0000 0 0
1.0000 0.6933 1.0000 1.0000 0 0
1.0000 1.7155 1.0000 1.0000 0 0
1.0000 0.6103 1.0000 1.0000 0 0
1.0000 1.5961 1.0000 1.0000 0 0
1.0000 1.8954 1.0000 1.0000 0 0
1.0000 1.8157 1.0000 1.0000 0 0
1.0000 -1.9360 1.0000 1.0000 0 0
1.0000 -1.7897 1.0000 1.0000 0 0
1.0000 -1.9761 1.0000 1.0000 0 0
1.0000 0.8284 1.0000 1.0000 0 0
1.0000 1.9883 1.0000 1.0000 0 0
1.0000 -1.8828 1.0000 1.0000 0 0
1.0000 1.1504 1.0000 1.0000 0 0
1.0000 -1.0949 0.7498 1.0000 0 0
1.0000 -0.2007 0.7444 1.0000 0 0
1.0000 -0.6749 0.7378 1.0000 0 0
1.0000 -0.3066 0.3085 1.0000 0 0
25 / 25
展开阅读全文