万博水晶宫 > 新万博手机版 >

切比雪夫等波纹逼近低通滤波器的实现

  低通滤波器概念有许多不同的形式,其中包括电子线路(如音频设备中使用的hiss 滤波器、平滑数据的数字算法、音障(acoustic barriers)、图像模糊处理等等,这两个工具都通过剔除短期波动、保留长期发展趋势提供了信号的平滑形式。它是容许低于截止频率的信号通过, 但高于截止频率的信号不能通过的电子滤波装置。针对多种问题的存在,我们就在MSP430单片机中实现切比雪夫等波纹逼近低通滤波器。MS

  低通滤波器概念有许多不同的形式,其中包括电子线路(如音频设备中使用的hiss 滤波器、平滑数据的数字算法、音障(acoustic barriers)、图像模糊处理等等,这两个工具都通过剔除短期波动、保留长期发展趋势提供了信号的平滑形式。它是容许低于截止频率的信号通过, 但高于截止频率的信号不能通过的电子滤波装置。针对多种问题的存在,我们就在MSP430单片机中实现切比雪夫等波纹逼近低通滤波器。

  MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低 MSP430单片机功耗、具有精简指令集(RISC)的混合信号处理器(Mixed Signal Processor)。称之为混合信号处理器,是由于其针对实际应用需求,将多个不同功能的模拟电路、数字电路模块和微处理器集成在一个芯片上,以提供“单片”解决方案。该系列单片机多应用于需要电池供电的便携式仪器仪表中。

  在数据采集系统中,输入信号均含有种种噪声和干扰,它们来自被测信号源本身、传感器和环境等。为了进行准确测量和控制,必须消除被测信号中的噪声和干扰。工程上常用的软件滤波方法有:算术平均值法、滑动平均值法、防脉冲干扰平均值法等。但对周期性干扰尤其是工频干扰和白噪声抑制作用较差,而且平滑度不高。

  切比雪夫等波纹逼近方法是FIR滤波器设计方法之一。FIR(Finite Impulse Response)滤波器:有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。它采用“最大误差最小化”优化准则,即mini(maxE(w)),其中权函数误差E(w)=W(w)[Hd(w)-H(w)],W(w)为加权函数,Hd(w)为期望频率响应,H(w)为实际频率响应。应用这种方法设计的滤波器能够获得较好的通带和阻带性能,并能准确地指定通带和阻带边缘。由于该滤波器在通带和阻带的误差是均匀分布的,因此其频率响应在通带和阻带内显示出等波纹性,阶次可以比较低。

  决定切比雪夫等波纹逼近低通滤波器系数的参数主要有:滤波器长度M,通带和阻带截止频率wp、ws,相应频带的幅度m,权系数w。其中权系数w由通带和阻带波动Ap、Ar决定。使用权系数w,是考虑在设计滤波器时对通带和阻带常要求不同的逼近精度,故乘以不同的权系数,以统一使用最小化最大误差。

  本文所研究的对象为可燃性气体检测报警系统。传感器检测气体浓度信号,把输出的模拟电压值送到单片机,经A/D转换成数字量后,再进行低通滤波、线性化处理以及LED显示浓度等。由于输入信号为缓慢变化的可燃性气体,在滤波器设计中,可把通带、阻带的截止频率选得较低,这里wp=0.1,ws=0.3(采样频率150Hz)。为便于进一步处理,通带的幅频特性应该平坦,幅值增益接近1。切比雪夫等波纹逼近低通滤波器幅相频率特性如图1所示。由图可见,该滤波器对通带、阻带截止频率控制得很好,过渡带衰减得较快。要达到同样要求的滤波指标,使用窗函数方法设计的滤波器却需要很高的阶数(105阶),而过高的阶数不易在单片机或其他微控制器上实现。

  系统采用MSP430F133单片机,它是美国德州仪器(TI)公司生产的一种新型16位Flash微控制器。由于其功能远远超过其他系列单片机,因而又称之为混合型单片机。MSP430F133芯片中的ADC12是12位高精度A/D转换器,它采用逐次逼近原理,12位分辨率,最高采样速率可达2×105次/秒。利用芯片内置的自动扫描功能,ADC12可以不需要CPU的协助而独立工作。

  为了得到精确的转换,适当的采样时间是必须的(这里选择SHT0=8即Tsample=4×ADC12CLK×64)。根据系统设计要求,MSP430F133对一路模拟信号进行巡回处理,虽然ADC12提供了多次—单通道A/D转换模式,但1次连续采集的点数(20个)超过了最大存储器限额(16个)。为了保证采样间隔相等、精度相同,本系统选择单次—单通道A/D转换模式。同时,A/D转换的参考电平选择外部2.5V的参考电压供电,因为ADC12内部提供的参考电平会随时间、温度有一定的漂移。

  A/D处理程序采用查询方式,即1次连续采集20个点,将采集的数据暂存到片内RAM,然后再对这些数据进行卷积滤波。当一组数据处理结束后,再采集第二组数据。由于MSP430高速的处理能力,故选择CPU默认时钟频率为800kHz(DCO提供);ADC12的转换时钟选择内部自带的RC振荡器ADC12OSC,频率为5MHz;从完成一组数据采集到最终显示可燃性气体浓度的时间小于0.05秒,这样的处理速度完全能够满足对可燃性气体浓度实时检测的要求。

  可燃性气体浓度信号经过TGS813气体传感器转变成电信号,经前置放大后送入单片机。图2为单片机随机现场采集的一组原始信号。从图中可以看出采集的信号存在一定幅值波动,而且幅值不是在一个范围内上下波动,这时采用均值滤波效果不好。图3为原始信号的频谱,该频谱除了直流分量外,还包含多种频率成份。

  MSP430F133单片机具有强大的数据处理能力,采用汇编语言可以编写出高效率的源程序。程序采用定点运算模式即能满足精度要求。通过上面给定指标设计出的切比雪夫等波纹滤波器系数为:

  把每个系数都扩大1 280倍,四舍五入取整,并转换成16进制,以系数表格形式存放在单片机内部的Flash存储器中,则:

  图6为切比雪夫等波纹逼近滤波主程序框图。程序采用模块化结构设计,并使用查表的方法进行卷积。在卷积求点Y(16)、Y(17)、Y(18)、Y(19)以及折线插值求对应浓度时,都调用了16×16位定点乘法和32÷16位定点除法运算子程序。由于存储的滤波器系数为12位,采集的电压值亦为12位,所以定点乘法以及定点除法运算不会产生溢出。当发生溢出时,则程序舍掉当前数据,重新采集一组新数据进行处理,从溢出到再次采集,程序执行时间小于0.05秒。

  本文以缓慢变化的可燃性气体浓度信号为例,进行切比雪夫等波纹逼近低通滤波器设计,并在MSP430F133单片机中加以实现。通过仿真及现场测试,得到较满意的效果,可以用于实际系统。切比雪夫等波纹逼近滤波方法能够全面控制给定的设计指标,通带和阻带达到最小等波动特性,并且滤波器的阶次相对较低。在该系统中,从完成一组数据采集到最终LED显示可燃性气体浓度的时间不超过0.05秒,这样的处理速度完全能够满足对可燃性气体浓度实时检测的要求。