单片机应用系统中去除工频干扰的快速实现
引 言
针对工频干扰的特点,本文使用参考文献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
- 数字频率合成器的FPGA实现(08-07)
- 嵌入式Linux系统中的快速启动技术研究(03-11)
- 一种长序列小波变换快速算法的DSP实现(08-11)
- 一种基于TS201的归一化互相关快速算法(06-29)
- 基于VxWorks的系统故障快速恢复设计(01-12)
- 快速小波变换的定点DSP实现(03-02)
- 妤傛ḿ楠囩亸鍕暥瀹搞儳鈻肩敮鍫濆悋閹存劕鐓跨拋顓熸殌缁嬪顨滅憗锟�
閸忋劍鏌熸担宥咁劅娑旂姴鐨犳0鎴滅瑩娑撴氨鐓$拠鍡礉閹绘劕宕岄惍鏂垮絺瀹搞儰缍旈懗钘夊閿涘苯濮幃銊ユ彥闁喐鍨氶梹澶歌礋娴兼ḿ顫呴惃鍕殸妫版垵浼愮粙瀣瑎...
- 娑擃厾楠囩亸鍕暥瀹搞儳鈻肩敮鍫濆悋閹存劕鐓跨拋顓熸殌缁嬪顨滅憗锟�
缁箖鈧拷30婢舵岸妫亸鍕暥閸╃顔勭拠鍓р柤閿涘奔绗撶€硅埖宸跨拠鎾呯礉閸斺晛顒熼崨妯烘彥闁喕鎻崚棰佺娑擃亜鎮庨弽鐓庣殸妫版垵浼愮粙瀣瑎閻ㄥ嫯顩﹀Ч锟�...
- Agilent ADS 閺佹瑥顒熼崺纭咁唲鐠囧墽鈻兼總妤勵棅
娑撴挸顔嶉幒鍫n嚦閿涘苯鍙忛棃銏n唹鐟欘枃DS閸氬嫮顫掗崝鐔诲厴閸滃苯浼愮粙瀣安閻㈩煉绱遍崝鈺傚亶閻€劍娓堕惌顓犳畱閺冨爼妫跨€涳缚绱癆DS...
- HFSS鐎涳缚绡勯崺纭咁唲鐠囧墽鈻兼總妤勵棅
鐠у嫭绻佹稉鎾愁啀閹哄牐顕抽敍灞藉弿闂堛垼顔夐幒鍦欶SS閻ㄥ嫬濮涢懗钘夋嫲鎼存梻鏁ら敍灞藉簻閸斺晜鍋嶉崗銊╂桨缁崵绮洪崷鏉款劅娑旂姵甯夐幓顡嶧SS...
- CST瀵邦喗灏濆銉ょ稊鐎广倕鐓跨拋顓熸殌缁嬪顨滅憗锟�
閺夊孩妲戝ú瀣╁瘜鐠佽绱濋崗銊╂桨鐠佸弶宸緾ST閸氬嫰銆嶉崝鐔诲厴閸滃苯浼愮粙瀣安閻㈩煉绱濋崝鈺傚亶韫囶偊鈧喕鍤滅€涳附甯夐幓顡塖T鐠佹崘顓告惔鏃傛暏...
- 鐏忓嫰顣堕崺铏诡攨閸╃顔勭拠鍓р柤
娑撳洣绗€妤傛ɑ銈奸獮鍐叉勾鐠у嚖绱濇潻娆庣昂鐠囧墽鈻兼稉杞扮稑閸︺劌鐨犳0鎴炲Η閺堫垶顣崺鐔枫亣鐏炴洘瀚甸懘姘剧礉閹垫挷绗呴崸姘杽閻ㄥ嫪绗撴稉姘唨绾偓...
- 瀵邦喗灏濈亸鍕暥濞村鍣洪幙宥勭稊閸╃顔勭拠鍓р柤閸氬牓娉�
鐠愵厺鎷遍崥鍫ユ肠閺囨潙鐤勯幆鐙呯礉缂冩垵鍨庨妴渚€顣剁拫鍙樺崕閵嗕胶銇氬▔銏犳珤閵嗕椒淇婇崣閿嬬爱閿涘本鍨滅憰浣圭壉閺嶉绨块柅锟�...