| 摘要 工頻干擾是各類工控測量系統(tǒng)中最常見的一種干擾信號,對有用信號的檢測起著極大的妨礙作用。因此,在各類測量系統(tǒng)中,都需考慮工頻干擾的抑制問題。本文以自適應(yīng)相干模板法為基礎(chǔ),討論用該方法在單片機(jī)應(yīng)用系統(tǒng)中去除工頻干擾的快速實(shí)現(xiàn)問題。 關(guān)鍵詞 工頻干擾 自適應(yīng)相干模板法 濾波 引言 針對工頻干擾的特點(diǎn),本文使用參考文獻(xiàn)1所提出的自適應(yīng)相干模板法。這是一種極其簡單、有效的濾除工頻干擾的算法,十分有利于單片機(jī)快速實(shí)現(xiàn),在采樣率不太高的情況下,能達(dá)到實(shí)時(shí)濾波。該算法之所以利于單片機(jī)快速實(shí)現(xiàn),是因?yàn)樗惴ū旧矶鄶?shù)為加法和減法運(yùn)算,不涉及乘法運(yùn)算,且通過合理的選擇M值,可將除法運(yùn)算巧妙地簡化為移位運(yùn)算或更簡單地直接甩掉低位字節(jié)[2]。 1 自適應(yīng)相干模板法 1.1 濾除工頻干擾的原理 參考文獻(xiàn)1所提出的自適應(yīng)相干模板法,是根據(jù)工頻干擾的特點(diǎn),從原始信號中得到工頻干擾的模板,再從原始信號中減去該模板,達(dá)到濾除工頻干擾的目的。 假設(shè)X(n)為原始信號,S(n)為其中的有用信號,N(n)為工頻干擾信號,則 X(n)=S(n)+N(n) 定義模板信號為  式中,fs是信號的采樣頻率,fg是工頻干擾的頻率(50 Hz)。在自適應(yīng)模板法中,要求fs為fg的整數(shù)倍,即fs=k·50Hz(k為正整數(shù))。 由于N(n)為周期信號,若S(n)為零均值信號,當(dāng)M足夠大時(shí),有  所以,只要從原始輸入信號中減去模板信號就能達(dá)到濾除工頻干擾的目的,即  對(1)式兩端取Z變換,可得該系統(tǒng)的傳遞函數(shù)為  1.2 幅頻響應(yīng)特性 根據(jù)系統(tǒng)傳遞函數(shù)(2)式,利用MATLAB語言,對不同采樣頻率、不同M值的幅頻響應(yīng)特性進(jìn)行比較,如圖1所示。 從圖1 A組可看出,該濾波器不僅對50 Hz有濾波效果,對所有頻率為50 Hz整數(shù)倍的信號都有濾波作用。因此,若采用自適應(yīng)相干模板法濾除工頻干擾,則當(dāng)有用信號頻帶范圍較寬,信號采樣率較高時(shí),將對工頻干擾50 Hz及其各諧波信號都有很好的抑制作用。 因此不僅要求采樣率為50 Hz的整數(shù)倍,而且要求有用信號的最高頻率分量不超過100 Hz,否則,頻率為100 Hz的有用信號也和工頻干擾一樣被濾除。這樣,濾波后的信號將產(chǎn)生失真。 從圖1 B組可看出,濾波器的幅頻特性受M值影響較大。當(dāng)M值較大時(shí),通頻帶的紋波系數(shù)較小,阻帶寬度也較窄。也就是說,M值越大對濾除理想的50 Hz來說效果越好;然而,實(shí)際工頻干擾具有一定的頻率變化范圍,當(dāng)M值大到超過某一值后將導(dǎo)致工頻干擾濾除效果下降,因此,在實(shí)際設(shè)計(jì)濾波器時(shí),M值的選取要綜合考慮。一般M值可選256。  圖1 系統(tǒng)幅頻響應(yīng)特性 2 單片機(jī)實(shí)現(xiàn) 用自適應(yīng)相干模板法去除工頻干擾,可以達(dá)到實(shí)時(shí)濾波,這由信號的采樣頻率、單片機(jī)的速度決定。若信號的采樣頻率不高,單片機(jī)速度較快,則在信號的采樣間隔時(shí)間內(nèi)就能實(shí)現(xiàn)工頻干擾的濾除。因此,在使用該方法前,應(yīng)大概估計(jì)信號濾波所需的時(shí)間(與信號的通道數(shù)成正比),再適當(dāng)選擇采樣率和晶振。 為方便說明,下面以A/D采樣精度為16位、單片機(jī)為89C51、fs=200 Hz、M=256為例,來討論單通道信號中工頻干擾去除的快速實(shí)現(xiàn)問題。由于A/D精度為16位,因此,單片機(jī)中所涉及的運(yùn)算一般為雙字節(jié)或三字節(jié)加法或減法運(yùn)算,且由于M值取為256,使得除法運(yùn)算也變得極其簡單,直接簡化為甩掉低字節(jié)即可。 2.1 建立初始模板 如前所述,利用自適應(yīng)相干模板法去除工頻干擾的關(guān)鍵在于建立工頻干擾的模板,而為實(shí)現(xiàn)連續(xù)濾波,首先需建立一個(gè)初始模板。 由于信號的采樣率為200 Hz,是工頻干擾50 Hz的4倍,即在一個(gè)工頻干擾周期內(nèi)有4個(gè)采樣值,所以,建立的模板包括4個(gè)值,對應(yīng)4個(gè)不同相位的采樣值。另外,由于M值為256,因此,最初采集的1024個(gè)(=256×4)數(shù)據(jù)(16位)是用來建立初始模板的:將1024個(gè)數(shù)據(jù)根據(jù)mod(n/4)(n=0,1,2,…,1023)取值的不同,分別將數(shù)據(jù)進(jìn)行累加存入不同地址的內(nèi)存單元中(共需3字節(jié)×4=12字節(jié))。當(dāng)1024個(gè)數(shù)據(jù)分別累加完畢,此時(shí)對應(yīng)內(nèi)存單元中存放的數(shù)據(jù)即為 。這4個(gè)數(shù)據(jù)分別取高16位(中、高字節(jié),即求 )就是工頻干擾的初始模板。 2.2 濾除工頻干擾 在建立初始模板之后,就可對信號進(jìn)行工頻干擾的濾除:對于第1024個(gè)(n = 1024)采樣數(shù)據(jù),由于mod(n/4)=0,因此,只要將該采樣值減去初始模板值0,即進(jìn)行減法運(yùn)算 ,就完成了該時(shí)刻信號的工頻干擾的濾除。但為快速、連續(xù)、實(shí)時(shí)地實(shí)現(xiàn)50 Hz濾波,還需將初始模板值0進(jìn)行修改,即將存放 的內(nèi)存單元的內(nèi)容修改為 。同理,對于第1025個(gè)(n = 1025)采樣數(shù)據(jù),此時(shí)mod(n/4)= 1,要濾除該時(shí)刻信號中包含的工頻干擾,只需減去初始模板值1,即完成減法運(yùn)算 。當(dāng)然,也需修改初始模板值1,即將存放 的內(nèi)存單元內(nèi)容修改為 。 依此類推,以后采入的每一個(gè)數(shù)據(jù)都做相應(yīng)處理:濾波和修改模板,最終就可實(shí)現(xiàn)整個(gè)信號的快速、連續(xù)、實(shí)時(shí)去除工頻干擾。由于濾波過程中涉及減法運(yùn)算,而單片機(jī)對于有符號數(shù)的運(yùn)算處理較復(fù)雜,因此,在進(jìn)行減法運(yùn)算之前,應(yīng)先將被減數(shù)加上一個(gè)常數(shù),以保證運(yùn)算結(jié)果都為正值。圖2為濾波程序流程框圖。下載詳細(xì)程序清單(5K)。  圖2 程序流程框圖 結(jié)論 本文主要討論了自適應(yīng)相干模板法去除工頻干擾在單片機(jī)應(yīng)用系統(tǒng)中的快速實(shí)現(xiàn)問題。與模擬濾波方法相比較,該方法具有成本低、濾波效果好等特點(diǎn);而與其它數(shù)字濾波方法比較,該方法易于實(shí)現(xiàn)、速度快、頻響特性極佳。 參考文獻(xiàn) 1 李剛、林凌、虞啟璉,濾除工頻干擾的自適應(yīng)相干模板法,中國生物醫(yī)學(xué)工程學(xué)報(bào),第16卷第3期,pp280-283,1997.9 2 孫涵芳、徐愛卿,單片機(jī)原理及應(yīng)用,北京航空航天大學(xué)出版社,1988.2 |