刘志刚
(唐山学院 机电工程系,河北 唐山063000)
在数字信号分析中,IIR数字滤波器是其中的关键组成部分。相对模拟滤波器,它具有较高的精度和稳定性,其系统传递函数容易改变,针对不同的信号,其阶数和系数可灵活改变,可实现多种方法的滤波,因而数字滤波器在软件无线电中得到了广泛的应用。对相同阶次的数字滤波器而言,IIR(无限冲击脉冲响应滤波器)滤波器具有更高的准确度,因此,近年来IIR滤波器的研究逐渐成为热点[1-2]。但是应用文本软件来实现的数字滤波器在使用过程中出现难以调整滤波系数,与硬件接口程序复杂,开发周期长等不足。本文设计的IIR滤波器采用了交互式的计算机虚拟仪器程序语言LabWindows来实现,可以有效解决上述问题。
所谓数字滤波器,是指输入、输出均为数字信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的硬件。实质上就是一个由有限精度算法实现的线性时不变离散系统。它的基本工作原理是利用离散系统的特性对系统输入信号进行加工和变换,改变输入序列的频谱或信号波形,让有用的频率分量通过,抑制无用的信号分量输出,根据其频率特性同样可以分为低通,高通,带通,带阻。如果要处理的信号是模拟信号,就可以通过A/D或者D/A转换,在信号形式上进行匹配转换,同样可以使用数字滤波器对模拟信号进行滤波。数字滤波器滤波的数学表达式为
如果滤波器的输入输出信号都是离散信号,那么该滤波器的脉冲响应也一定是离散信号,这样的滤波器就成为了数字滤波器。其频域特性为
式中Y(ejw),X(ejw)分别是数字滤波器的输出序列和输入序列的频域响应,H(ejw)是数字滤波器的频域响应。可以按照输入信号的频谱特点和处理信号的目的适当选择滤波器的频域响应H(ejw),使得滤波后的输出信号满足设计性能要求,这就是滤波器的滤波原理。
IIR数字滤波器的系统函数可以表示为
式中,当k,r不全为0时,H(z)称为N阶IIR滤波器函数,它是一种递归型的滤波器[3-4]。
开发本虚拟信号分析仪所使用的软件开发平台Lab-Windows/CVI是以32位ANSIC编译系统为核心,采用事件驱动模式和交互式编程方法的高性能专业测控软件开发平台。它集成了丰富的仪器面板控件和功能强大的库函数[5]。应用LabWindows/CVI可以方便地实现数据的采集、数据的分析和处理(如快速FFT变换、功率谱生成、传递函数的计算等等)以及图形、图表的显示。
传统IIR滤波器的设计源于模拟滤波器设计,它通过对低通滤波器进行模拟频率变换得到。常用的IIR滤波器有巴特沃斯滤波器、切比雪夫滤波器、切比雪夫Ⅱ滤波器、椭圆滤波器和贝塞尔滤波器。目前,IIR滤波器的设计可以借助模拟滤波器的成果,有封闭形式的设计公式,对计算工具的要求不高,还有完善的图表供查阅,另外,还有一些典型的滤波器类型可供使用。
选用LabWindows这一虚拟仪器的开发平台,免去真实硬件设计,应用LabWindows提供的相应的工具箱函数,使IIR数字滤波器设计变得非常简单。以低通巴特沃斯IIR数字滤波器为例,其设计步骤可由图1所示的流程图来表示。
图1 低通巴特沃斯IIR数字滤波器设计流程图
实现程序如下:
filter_information=AllocIIRFilterPtr(LOWPASS,filter_order);
err=Bw_CascadeCoef(sampling_rate,lower_cutoff_frequency,
upper_cutoff_frequency,filter_information);
err=IIRCascadeFiltering(input_signal,1024,filter_information,
filtered_signal);
滤波器设计所需的参数值都以指针的形式存储到filter_information结构指针中。同理如切比雪夫I,II型,巴塞尔和椭圆函数的高通、带通、带阻IIR数字滤波器也可实现。
在液压元件性能测试时,不论是元件的静态测试还是元件的动态测试都需要采集油路中不同点的压力参量和流量参量,这是由于液压系统自身的特性必然会使被测量在采集过程中会引入很多干扰,影响被测量的准确读取。
以溢流阀静态性能测试试验为例,溢流阀出口压力参量经FFT变换后可得到其压力频谱图。如图2所示,干扰信号以大于20Hz的干扰频率为主,有用信号频段主要在0~15Hz频段内。故可选用低通IIR数字滤波器作为测试系统中的数据处理单元。
图2 溢流阀静态测试压力信号频谱图
图3为利用LabWidows设计的IIR数字滤波器参数设置面板,面板上有参数设置、波形显示两个区域。在参数设置区域有设置项:滤波器选择、滤波器类型、下截止频率、上截止频率、采样频率、阶次、纹波、衰减;可根据不同系统的不同要求来设置。波形显示区域用于显示滤波前后的波形,在此区域可直观地看出滤波效果。
图3 滤波器参数设置面板
测试中滤波器选择为5阶巴塞尔IIR低通数字滤波器,文波为2,低通截止频率为30Hz。由图4可以看出,溢流阀静态性能测试试验中,溢流阀出口压力参数经滤波器滤波前、后的时域谱的波形对比图,波形1为滤波前波形,波形2为滤波后波形。滤波前后波形时域谱图可以看出滤波效果比较明显,经过滤波后信号波动大大减少,干扰噪声滤除效果较好,但却是以牺牲系统的动态响应等特性为前提的,还应配合相位校准网络以减少相位失真带来的不足。
图4 滤波前后波形时域谱
基于虚拟仪器LabWindows实现的IIR数字滤波器相对传统滤波器设计大大提高了设计效率。本文只是以巴塞尔IIR数字低通滤波器设计为例做了详细介绍,在进行大型测试系统应用时,可与其它类型滤波器和FFT幅频特性图作为信号处理子模块存在,以适应不同的应用环境需要。另外,为使噪声得到最大程度滤除的同时保留更好的系统特性,可经过滤波器参数的调整,选出合适的滤波器类型及参数。
[1] 王丽坤,邵俊鹏,刘玉林,等.基于LabVIEW平台的IIR数字滤波器设计[J].哈尔滨理工大学学报,2003,8(6):47-50.
[2] 周伟林,杨华勇,李清峰.基于LabVIEW的数字滤波器的设计[J].微计算机信息,2006,5(1):163-164.
[3] 郑君里,应启珩,杨为理.信号与系统[M].北京:高等教育出版社,2000:5-9.
[4] 卢文祥,杜润生.机械工程测试·信号分析[M].武汉:华中理工大学出版社,1999:104-111.
[5] 刘君华.虚拟仪器编程语言LabWindows/CVI教程[M].北京:电子工业出版社,2001:162-171.