数字滤波器的软件设计流程
扫描二维码
随时随地手机看文章
引言
数字化、智能化和网络化是当代信息技术发展的大趋势,而数字化是智能化和网络化的基础,实际生活中遇到的信号多种多样,例如广播信号、电视信号等等。上述这些信号大部分是模拟信号,也有小部分是数字信号。模拟信号是自变量的连续函数,自变量可以是一维的,也可以是二维或多维的。数字滤波器技术是数字信号分析、处理技术的重要分支。无论是信号的获取、传输,还是信号的处理和交换都离不开滤波技术,它对信号安全可靠和有效灵活地传输是至关重要的。在所有的电子系统中,使用最多最复杂的要算数字滤波器了。
1 数字滤波器的设计原理
数字滤波器根据其冲击响应函数的时域特征,可分为两种,即无限长冲击响应(IIR)滤波器和有限长冲击响应(FIR)滤波器。IIR滤波器的特征是,具有无限持续时间冲击响应。这种滤波器一般需要用递归模型来实现,因而有时也称之为递归滤波器。FIR滤波器的冲击响应只能延续一段时间,在工程实际中可以采用递归的方式实现,也可以采用非递归的方式实现。数字滤波器的设计方法有多种,如双线性变换法、窗函数设计法和切比雪夫逼近法等等。
随着LabVIEW软件,尤其是LabVIEW的信号处理工作箱的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可以使设计达到最优化,而使用LabVIEW设计的滤波器不仅设计简单,而且使用起来要比利用文本文件实现的滤波器方便得多。LabVIEW为设计者提供了FIR和IIR滤波器VI,使用起来非常方便,只需要输入相应的指标参数即可,不需要进行复杂的函数设计和大量的运算。不同滤波器VI滤波时均有各自的特点,因此它们用途各异。
2 滤波器的选择方法
在利用LabVIEW实现滤波功能时,选择合适的滤波器是关键,在选择滤波器时,可参照不同滤波器的特点,考虑滤波的实际要求来选择合适的滤波器。各种滤波器的特点及选择滤波器的步骤如图1IIR数字滤波器:
图1 流程图
IIR数字滤波器设计原理:IIR数字滤波器是通过因果稳定的Ha(s)映射成因果稳定的H(z),即s平面的左半平面必须映射到z平面单位圆的内部。H(z)的频率响应能模仿Ha(s)的频率响应,即s平面的虚轴必须映射到z平面的单位圆上。变换前后的滤波器在时域或频域的主要特征(频率响应或单位冲激响应等)应尽可能相同或接近。将传输函数Ha(s)从s平面转换到z平面的方法有多种,主要有冲激不变法和双线性变换法。
如果不考虑混叠现象,利用冲击不变法实现的数字滤波器会很好地重现原模拟滤波器的频率特性。而且数字滤波器的单位脉冲响应完全模仿模拟滤波器的单位冲激响应,时域特性逼近好。在本设计中,用冲激函数作为系统激励信号,用各种数字滤波器作为测试系统。冲激函数具有无限宽广的频谱,用冲激函数做激励信号相当于对测试系统输入所有频率的信号,系统必然有对应的输出。用Transfer函数计算出系统输出与输入的傅立叶变换之比,从而得到系统的频率响应函数。
LabVIEW程序由两部分组成:前面板程序和框图程序。
整个程序基于多线程设计,即前面板和系统程序各占用一个线程。前面板是用户接口,即交互式界面,用于用户向程序中输入各种控制参数和观察输出量。在前面板中,使用了各种仿真图标,如开关、旋钮等,并以数字或实时趋势图等各种形式的输出测试结果来模拟真实仪器的面板。通过信号经过巴特沃斯和切比雪夫带通滤波器以后的波形和信号经过贝塞尔和椭圆带通滤波器以后的波形。
程序包含有两个模块,即两个case结构:一个用来实现频率响应测试;另一个用来模拟从混有高频噪声的信号数据中提取正弦波。由于滤波器对信号的分析要求循环进行,而整个过程都希望是人为控制的,因此框图程序里需要一个While循环结构。
模块一:频率响应测试模块。频率响应测试时采用冲激函数做激励信号,通过函数子模板中调用来实现,并且需要对冲激函数的采样数、幅值和延时3个参数进行设置。用Transfer函数计算出系统输出与输入的傅立叶变换之比,从而得到系统的频率响应函数。在本设计系统中,共包含有4种类型滤波器,分别为:巴特沃斯滤波器、切比雪夫滤波器、贝塞尔滤波器、椭圆滤波器。通过在模块中调用相应的函数子模板来实现,并且对滤波器的阶次、类型、低(高)端截止频率、通带波纹等各项参数进行设置,为了验证所设计的系统对滤波器频率响应特性分析的效果,将开关设置为开的状态。如果由于四种滤波器的波形全部在一个波形测量节点显示会影响观测效果,所以在程序设计时,将滤波器的波形分成两组输出。
图2 模块一程序图
在LabVIEW中利用transferfunction.vi来计算两个滤波器的频率响应函数。
模块二:使用低通滤波器提取正弦波模块。通常微机应用系统的输入信号中会不可避免地受到各种噪声的干扰,可以采用数字滤波方法对其予以削弱或滤除。本模块输入信号为一个正弦波,并加入一个白噪声来模拟信号传输中的干扰信号。在设计过程中,使用巴特沃斯低通滤波器滤除噪声分量,从而达到提取正弦波的目的。该模块程序中共有两个巴特沃斯滤波器。首先调用SinePatternvi子程序和UniformWhiteNoisevi子程序产生一个正弦波和均匀分布的白噪声(用来模拟实际混入的干扰信号),干扰信号通过一个巴特沃斯高通滤波器,生成一个高频噪声并与正弦信号叠加,用来模拟含有噪声的采样序列,该信号再经过一个巴特沃斯低通滤波器,进而实现正弦波提取。
图3 模块二程序图
通过仿真实验可以证实,当滤波器的阶次较高时,系统的频率响应速度越快,阶次越高就越接近理想特性。本例选用巴特沃斯滤波器,它拥有最平滑的频率响应,在截断频率以外,频率响应单调下降。在通带中是理想的单位响应,在阻带中响应为零。巴特沃斯滤波器的优点是具有平滑的单调递减的频率响应,缺点是通带与阻带之间过渡缓慢。相比之下,切比雪夫滤波器的幅度特性在通带中具有这种等波纹特性,并且阶次越高等波纹也相应增加,同时阻带内衰减也相应增加。基于LabVIEW的数字滤波器设计,使得滤波后噪声得到了有效抑制,滤波效果良好。4 FIR数字滤波器
FIR数字滤波器设计原理:FIR滤波器就是用-表示的多项式,使其在单位圆上的特性逼近要求的频率特性。FIR滤波器的设计任务就是给定要求的频率特性,按照一定的最佳逼近准则,选取多项式系数h(n),即滤波器的单位抽样响应及阶数N,使得频率特性满足设计要求。通常FIR滤波器设计有三种方法:窗函数加权法、频率采样设计和切比雪夫等波纹逼近法。这里通过窗函数加权法来设计。
图4 程序框图
本设计采用窗函数法,利用前面板用于设置输入数值和观察输出量,来模拟真实滤波器的前面板。由于虚拟面板直接面向用户,是虚拟滤波器控制软件的核心。实际中的待测信号可以由数据采集卡实时采集滤波,也可以由数据采集卡采集后保存为LabVIEW所能够识别的文件形式,之后再由LabVIEW进行分析滤波。在这里用基本的信号(正弦波,余弦波,方波)来模拟原始信号。程序采用窗函数法的计算流程,将窗函数与需要滤波的信号进行卷积实现信号的滤波。
图5 程序框图
使用者可对原始信号,噪声信号和滤波器参数进行设置。原始信号的波形图,滤波的结果都可得到实时显示。这样,在程序成功的运行后就可以从显示区得到结果,使结果更为直观地反映出来。
5 结论
数字滤波器可以通过编程实现各种不同系统,满足不同的需要,也可以随时改动系数,调整滤波器参数,选择最佳方案。使用LabVIEW软件平台开发电气参数测量仪等虚拟仪器,实现了更高的效率,节省了更多的硬件开销,方便了系统的维护和减轻了仪器更新的负担。使用虚拟仪器逐步代替传统仪器已经成为测试领域发展的趋势。但是在实际应用中,仍要根据具体情况进行程序的优化和软硬件的结合,使虚拟仪器发挥更高的性能。