您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > 滤波器设计分析工具-FDATool和滤波器可视化工具-FVTool
1讲座13滤波器设计分析工具FDATool和滤波器可视化工具FVTool13.1.简介FDATool(FilterDesignandAnalysisTool)是一个功能强大的数字滤波器分析设计工具。它的主要功能如下:(1)设计参考滤波器所谓参考滤波器就是不考虑所有量化效应而采用双精度浮点数据格式、在通用计算机上实现的滤波器。FDATool涵盖了信号处理工具箱中所有的滤波器设计方法。利用它可以方便地设计出满足各种性能指标(或直接指定滤波器系数)的滤波器,并且可以查看该滤波器的各种分析图形(例如滤波器的模频特性、相频特性、群时延、令极点图等)。待设计出满意的滤波器后,还可以将其系数直接导出为Matlab变量、文本文件或C语言头文件等。(2)仿真和分析量化滤波器的性能参考滤波器是一种不考虑数据量化的理想滤波器。实际滤波器则使用一定的量化器,把滤波器从双精度浮点格式转换为定点或变精度浮点格式。这样的滤波器称为量化滤波器。量化滤波器的频率特性往往与原来的滤波器不一致,有时甚至会使一个稳定的滤波器变得不稳定。滤波器量化效应与滤波器的运算结构密切相关。为了仿真和分析量化滤波器的性能,滤波器设计工具箱提供了一整套定义在量化对象基础上的量化函数。图13.1.1示出量化对象的层次结构。图13.1.1滤波器设计工具箱中的量化对象FVTool(FilterVisualTool)是附属于FDATool的工具。可以在Matlab的工作区或在.M.文件调用这两种工具。本讲座将介绍这两种调用方法。本讲座只介绍用FDATool设计参考滤波器。关于用FDATool仿真和分析量化滤波器的问题,读者可参阅《Matlab6.5及其在数字信号处理中的应用》(王宏著,清华大学出版社,2004年)《数字信号处理原理、实现与应用》(高西全著,电子工业出版社,2006年)13.2FDATool的界面在Matlab的命令窗键入FDATtool命令,就可以进入滤波器仿真和分析环境,得到2图13.2.1所示的界面。图13.2.1FDATtool的起始界面图13.2.2示出FDATool的主菜单和工具条。其中,钮对用户学习FDATool的使用很有帮助。用户可先用鼠标点击该钮,然后点击界面上某个需要提供帮助的区域。这时,Matlab便将该区域用黑色粗线圈起,并给出详细的说明。图13.2.2FDATool的主菜单和工具条FDATool的工作区大致上可以分为图13.2.1所示的5个区域。区域1显示当前滤波器的信息。区域2有5个可供选择的按钮,如图13.2.3所示。区域3显示滤波器的模频特性容限图以及设计所得滤波器的模频特性、相频特性、群时延特性、零极点分布、滤波器系数等。如果用户选用图13.2.3中的“滤波器设计”(设计不考虑量化效应的滤波器),则区域3所显示的内容由用户从主菜单的Analysis项的子菜单中选择。图13.2.4示出这个子菜单。3图13.2.3工作选择按钮图13.2.4“Analysis”项的子菜单区域4的具体内容取决于用户所选的工作状态(图13.2.3)。例如,用户若选滤波器设计,则这个区域的内容如图13.2.1所示。这时,Matlab需要用户确定对滤波器的技术要求。区域5有命令钮DesignFilter。当这个命令钮的字样从灰色变为黑色时,按下它就进行滤波器设计。下面举例说明用FDATool设计参考滤波器的方法。13.3FIR滤波器设计13.3.1设计低通滤波器启动FDATool后,如果要创建新的滤波器,可用图13.3.1所示的New|Session命令得到图13.3.2所示的界面。图中右上方显示低通滤波器的模频特性容限图。用户可在图13.3.2的左方选择所需滤波器的型式(FIR、IIR、低通、高通、带通、…等)。如果设计一个新的FIR低通数字滤波器,则应在FIR下拉菜单中,选择所需的算法,例如Equiripple(等波纹),4并在输入设计要求和技术指标后,点击DesignFilter按钮,就可以得到所需滤波器。图13.3.1.主菜单选项File的子菜单现在选用图13.3.2原有技术指标设计FIR等波纹低通滤波器。所得滤波器的模频特性示于该图的上方。图13.3.2低通FIR滤波器的模频特性在图13.3.2所显示的特性曲线上,用户点击任何点,就会出现一个文本框,标出该点的横、纵坐标值,如图13.3.3所示。这样的标志点可以设置多个。以鼠标右键点击该框,从跳出的现场菜单,可改变框中的字体大小、框的位置等,也可以撤销该框。5图13.3.3带标志点的特性曲线从图13.2.4所示Analysis项的子菜单可以做出选择,以显示滤波器的模频特性、相频特性、合在一起的模频特性和相频特性、群时延特性、冲激响应、阶跃响应、零极点分布和滤波系数,分别如图13.3.3~13.3.10所示。此外,还可以显示噪声加载方法,这里不作介绍。图13.3.4FIR低通滤波器的相频特性图13.3.5FIR低通滤波器的模频特性和相频特性图13.3.6FIR低通滤波器的群时延特性6图13.3.7FIR低通滤波器的冲激响应图13.3.8FIR低通滤波器的阶跃响应图13.3.9FIR低通滤波器的零极点分布图13.3.10FIR低通滤波器的滤波系数在图13.2.4中,若点击Analysis项子菜单中的FullViewAnalysis(全景分析)选项,则滤波器特性将在一个单独的图中显示出来,如图13.3.11所示。7图13.3.11低通FIR滤波器的模频特性Analysis项子菜单中有AnalysisParameters选项。点击这个选项,出现图13.3.12的对话框。通过该对话框上方的列表框Range,可以选择频率坐标的范围:s][0,s/2],,0[FF和]s/2s/2,[FF。例如,若选频率范围为]s/2s/2,[FF,则滤波器器的模频特性将如图13.3.13所示。图13.3.12”AnalysisParameters”选项对话框图13.3.13频率范围为]s/2s/2,[FF时的模频特性8下面解释图13.3.6所示的群时延特性。教材中,第2.8.6节介绍了群时延的概念。群时延是相频特性的负斜率,d)(dgn(2.8.32)第9.2节又说明了数字滤波器的群时延用样点数来量度。现在来看看图13.3.14所示的模频特性和相频特性。由图(b)看出滤波器在通带内具有线性相位特性(线段ab)。a点的坐标为(0,0)。b点的横坐标为Hz12000bx,纵坐标为o-2250by。若b点的横坐标用数字频率表示,则s/12000*2f,而用弧度表示时,b点的纵坐标为180/*2250p。由于采样频率为Hz48000sf,故根据群时延的定义,得群时延为samples25/pg。这与图13.3.6的结果是一致的。图13.3.14FIR滤波器的模频特性和相频特性(Hz48000sf,Hz10800cf)13.3.2FIR低通滤波器的频率变换按照上一小节所讲的方法设计好低通滤波器后,就可以通过变换获得另一个低通、高通、带通、带阻滤波器。方法如下。按下图13.2.3所示的滤波器变换钮,得到图13.3.15a。该面板适用于低通滤波器9作为目标滤波器。若目标滤波器是其他类型的滤波器,则可以通过面板右上角的Transformedfiltertype列表框来选择。例如,如果选高通滤波器或带通滤波器作为目标滤波器,则面板右方将分别如图(b)和(c)所示。面板左方和右方的文本框示出频率变换前后的对应频率,由用户确定。图13.3.15频率变换面板图13.3.16示出频率变换例子。图(a)是原来设计好的低通滤波器,经变换,可分别得到图(b)和(c)所示的高通、带通滤波器。10图13.3.16FIR滤波器变换13.4IIR滤波器设计也可以用FDATool工具来设计IIR滤波器,其方法类似于FIR滤波器设计。在设计滤波器时,利用FDATool界面左下角的FilterType面板,选择滤波器类型,如图13.4.1所示。该图表示被设计的滤波器是IIR低通ChebyshevⅡ型滤波器。设计好低通滤波器后,可以把它变换为其它类型的滤波器。例如,按照FDATool原先已设定的指标设计好图13.4.2a所示的低通滤波器,则经过低通-带通和低通-带阻变换,便分别得到图(b)和(c)的带通和带阻滤波器。11图13.4.1滤波器类型面板(a)低通滤波器(源滤波器)(b)带通滤波器(目标滤波器)12(c)带阻通滤波器(目标滤波器)图13.4.2IIR滤波器变换13.5导入与导出滤波器本节举例说明怎样将已有的滤波器导入FDATool,或者相反,将已在FDATool中设计好的滤波器导出到FDATool环境以外。13.5.1导入滤波器现在以第二章的程序M020808.M为例,说明导入滤波器的方法。该程序给出一个FIR滤波器,演示有弯折和无弯折的滤波器相频特性(对此,读者可参阅第2章)。程序文本如下。程序中,b=[1,1.5,2.4,2.8,3.2,3.2,2.8,2.4,1.5,1]是滤波器系统函数的分子多项式系数组;对于FIR滤波器来说,系统函数的分母多项式系数组为1。程序运行结果示于图13.5.1%M020808%解释系统的相频特性和函数unwrap的用法%set(gcf,'color','w')b=[1,1.5,2.4,2.8,3.2,3.2,2.8,2.4,1.5,1];[H,w]=freqz(b,1,512)subplot(221)plot(w/pi,abs(H));gridsubplot(222)plot(w/pi,angle(H));gridsubplot(223)plot(w/pi,unwrap(angle(H)));gridsubplot(224)plot(w/pi,20*log10(abs(H)));grid13图13.5.1程序M020808的运行结果下面将这个滤波器导入FDATool。方法如下。在FDATool的菜单中,执行File|ImportFilter命令后,在界面的下方出现图13.5.2的面板。读者可以通过左边的FilterStructure列表框选用滤波器的结构。对于本例,选直接Ⅰ型或Ⅱ型结构均可。在标以Numberator(分子)的文本框中键入上述系数组b,而在标以Denominator(分母)的文本框中键入系数组a(a=1),如图13.5.3所示。至此,按下界面上的滤波器导入命令钮,即可将程序M020808.M中的滤波器导入到FDATool,得到如图13.5.4所示的滤波器特性。显然,子图a和b是分别与图13.5.1的子图b和d完全一致的。图13.5.2用以输入滤波器参数的面板(默认)图13.5.3已经输入滤波器参数的面板14图13.5.4在FDATool中得到的滤波器特性13.5.2导出滤波器可以将FDATool中的滤波器参数导出到FDATool环境之外。滤波器参数可以有5个去向,即:到Matlab的工作区(Workspace)到SPTool工具中形成为C语言的头文件形成文本文件.txt形成Matlab的.MAT文件下面说明怎样将滤波器参数导出到Matlab的工作区。在FDATool中,执行File|Export。。。,得到图13.5.5。图13.5.5“Export“对话框在对话框的列表框ExportTo中,选导出目标是Workspace,导出对象是Coefficient15(系数),导出的变量名是Num(Numerator,,分子多项式系数组)和Den(Denominator,分母多项式系数组)。确认后,在Matlab的工作区得到变量Num和Den如图13.5.6所示。图13.5.6在Matlab中的工作区可以访问变量Num和Den在列表框ExportTo中,若选导出目标是Text-file,则在确认后,系统要求用户输入文件名和路径。如果按照图13.5.7确定文件名及其路径,则在work目录中形成名为untitled.txt的文本文件,其内容如13.5.8所示。
本文标题:滤波器设计分析工具-FDATool和滤波器可视化工具-FVTool
链接地址:https://www.777doc.com/doc-1568806 .html