微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机应用系统中去除工频干扰的快速实现

单片机应用系统中去除工频干扰的快速实现

时间:04-09 来源:互联网 点击:

引 言

针对工频干扰的特点,本文使用参考文献1所提出的自适应相干模板法。这是一种极其简单、有效的滤除工频干扰的算法,十分有利于单片机快速实现,在采样率不太高的情况下,能达到实时滤波。该算法之所以利于单片机快速实现,是因为算法本身多数为加法和减法运算,不涉及乘法运算,且通过合理的选择M值,可将除法运算巧妙地简化为移位运算或更简单地直接甩掉低位字节[2]。

1 自适应相干模板法

1.1 滤除工频干扰的原理

参考文献1所提出的自适应相干模板法,是根据工频干扰的特点,从原始信号中得到工频干扰的模板,再从原始信号中减去该模板,达到滤除工频干扰的目的。

假设X(n)为原始信号,S(n)为其中的有用信号,N(n)为工频干扰信号,则

X(n) = S(n) + N(n)


1.2 幅频响应特性

根据系统传递函数(2)式,利用MATLAB语言,对不同采样频率、不同M值的幅频响应特性进行比较,如图1所示。

从图1 A组可看出,该滤波器不仅对50 Hz有滤波效果,对所有频率为50 Hz整数倍的信号都有滤波作用。因此,若采用自适应相干模板法滤除工频干扰,则当有用信号频带范围较宽,信号采样率较高时,将对工频干扰50 Hz及其各谐波信号都有很好的抑制作用。

因此不仅要求采样率为50 Hz的整数倍,而且要求有用信号的最高频率分量不超过100 Hz,否则,频率为100 Hz的有用信号也和工频干扰一样被滤除。这样,滤波后的信号将产生失真。

从图1 B组可看出,滤波器的幅频特性受M值影响较大。当M值较大时,通频带的纹波系数较小,阻带宽度也较窄。也就是说,M值越大对滤除理想的50 Hz来说效果越好;然而,实际工频干扰具有一定的频率变化范围,当M值大到超过某一值后将导致工频干扰滤除效果下降,因此,在实际设计滤波器时,M值的选取要综合考虑。一般M值可选256。

2 单片机实现

用自适应相干模板法去除工频干扰,可以达到实时滤波,这由信号的采样频率、单片机的速度决定。若信号的采样频率不高,单片机速度较快,则在信号的采样间隔时间内就能实现工频干扰的滤除。因此,在使用该方法前,应大概估计信号滤波所需的时间(与信号的通道数成正比),再适当选择采样率和晶振。

为方便说明,下面以A/D采样精度为16位、单片机为89C51、fs=200 Hz、M=256为例,来讨论单通道信号中工频干扰去除的快速实现问题。由于A/D精度为16位,因此,单片机中所涉及的运算一般为双字节或三字节加法或减法运算,且由于M值取为256,使得除法运算也变得极其简单,直接简化为甩掉低字节即可。

2.1 建立初始模板

如前所述,利用自适应相干模板法去除工频干扰的关键在于建立工频干扰的模板,而为实现连续滤波,首先需建立一个初始模板。




依此类推,以后采入的每一个数据都做相应处理:滤波和修改模板,最终就可实现整个信号的快速、连续、实时去除工频干扰。由于滤波过程中涉及减法运算,而单片机对于有符号数的运算处理较复杂,因此,在进行减法运算之前,应先将被减数加上一个常数,以保证运算结果都为正值。图2为滤波程序流程框图。

结 论

本文主要讨论了自适应相干模板法去除工频干扰在单片机应用系统中的快速实现问题。与模拟滤波方法相比较,该方法具有成本低、滤波效果好等特点;而与其它数字滤波方法比较,该方法易于实现、速度快、频响特性极佳。

参考文献
1 李刚、林凌、虞启琏,滤除工频干扰的自适应相干模板法,中国生物医学工程学报,第16卷第3期,pp280-283,1997.9
2 孙涵芳、徐爱卿,单片机原理及应用,北京航空航天大学出版社,1988.2

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top