薛艷博,尤一鳴,熊 慧
(天津工業(yè)大學 電氣工程與自動化學院,天津300160)
隨著具有高速運算能力及靈活的界面顯示特性的虛擬儀器的迅速發(fā)展,數(shù)字濾波技術成為采集系統(tǒng)中一種簡化電路及降低成本的重要手段[1]。
采集系統(tǒng)中,工頻干擾是影響信號檢測質量的主要因素之一。在數(shù)字濾波技術領域,常用的工頻干擾濾除算法有陷波濾波法、工頻干擾回歸相減消除法(Regress-Subtraction)、自適應濾波法等[2]。參考文獻[3]提出的自適應相干模板法是一種有效濾除工頻干擾的算法,該算法以加法和減法為主,運算效率較高,可通過合理選擇采樣頻率來確定帶阻濾波器的中心頻率,通過改變模板長度,實現(xiàn)濾波器帶寬的調整[3]。但是在多數(shù)采集系統(tǒng)中,由于工頻干擾的頻率是不斷變化的,導致該算法在有效濾除工頻干擾的同時,不能保證濾波器較好的低頻特性。為此參考文獻[4]提出了一種改進算法——簡化FFT可跟蹤工頻干擾的自適應相干模板法,該算法通過跟蹤工頻干擾頻率的變化,不斷微調濾波器帶阻中心頻率,從而使濾波器同時具備了良好的低頻特性和工頻抑制特性。但是該算法能否達到良好的濾波效果,關鍵在于能否準確實時跟蹤工頻干擾頻率的變化,例如在有些工頻干擾頻率變化較快的采集系統(tǒng)中,該算法濾波效果會明顯變差。本文提出了一種基于LabVIEW的雙線程模式跟蹤工頻干擾的自適應相干模板法,即工頻干擾的跟蹤和濾除分別采用獨立線程,線程之間采用通知器進行協(xié)調。從而保證即使在工頻干擾變化較快的采集系統(tǒng)中,也能同時完成對工頻干擾的實時跟蹤和高速有效的濾除。
自適應相干模板法根據(jù)原始信號的相干特點,從原始信號中得到工頻干擾的模板,再減去該模板,從而實現(xiàn)工頻干擾的濾除。
設X(n)為原始信號,S(n)為有用信號,N(n)為工頻干擾信號,則X(n)=S(n)+N(n),定義模板信號為:
式中,fS為采樣頻率;fg為周期性干擾頻率。對于自適應模板法,要求fS為fg的整數(shù)倍,即若工頻干擾fg為50 Hz,則要求 fS=L×fg,L為整數(shù)。 由于 N(n)為周期信號,若S(n)為零均值信號,當M足夠大時:
將式(2)代人式(1)中,可得:
由 X(n)=S(n)+N(n)可知,從 X(n)中減去模板信號M(n)可得到S(n),達到濾除工頻干擾的目的。即:
對式(4)作Z變換,可得到對應的系統(tǒng)傳遞函數(shù)為:
令z=ejω,得到其對應的頻域表達式為:
式(6)可以看作是一全通濾波器減去帶通濾波器的形式,帶通濾波器幅頻響應由 sin(LMω)/(sin(Lω))決定,其分子項周期較短,隨ω變化而迅速變化,形成了高速抖動的波紋,并決定了濾波器的陷波帶寬,與之相比分母周期較長,變化緩慢,決定了通帶的位置。圖1為在不同M值時系統(tǒng)的幅頻響應特性。
由圖1可知,M值較大時,通頻帶的紋波系數(shù)較小,阻帶寬度也較窄,即系統(tǒng)幅頻特性較好。但在實際設計濾波器過程中,當M值大到超過某一值時,工頻干擾的濾波效果反而會變差,原因在于工頻干擾并非為理想的50 Hz,而是具有一定頻率變化范圍(49.5 Hz~50.5 Hz)[3]。 所以在有效濾除工頻干擾的同時,要保證濾波器具有足夠低的低端截止頻率,就必須對原算法進行改進。
由式(6)可知:濾波器帶阻中心頻率只跟L有關,所以可通過FFT跟蹤工頻干擾頻率的變化來實時調整濾波器陷波中心頻率,以達到同時濾除工頻干擾和基線漂移的效果。圖2為在微調采樣頻率時系統(tǒng)的幅頻特性。
根據(jù)上述算法原理,改進后的算法實現(xiàn)主要包括濾波器帶阻中心頻率的微調和工頻干擾濾除兩部分內容,在LabVIEW上實現(xiàn)可采用雙線程同時運行兩部分程序,線程之間通過事件通知控件進行協(xié)調和同步。這樣可以在提高程序運行效率的同時,實現(xiàn)快速實時跟蹤和濾除工頻干擾的目的。
濾波器帶阻中心頻率主要根據(jù)FFT提取工頻干擾頻率的變化來微調,程序流程如圖3所示。首先預設一個采樣頻率fS,采集N個信號數(shù)據(jù),通過FFT提取信號數(shù)據(jù)中工頻干擾頻率分量對應的頻譜位置。然后假設預估計工頻干擾頻率為 f,則由式 N×f/fS求得頻率 f對應頻譜線的位置。最后將當前工頻頻譜位置和預估計工頻頻譜位置做差,并以此來調節(jié)采樣頻率。
FFT提取工頻干擾分量在LabVIEW上的實現(xiàn)主要有兩種方法,一種是直接使用FFT功率譜測量控件,該方法運算時間較長、效率較低;另一種方法是通過調用Mathscriot節(jié)點編程實現(xiàn),該方法在實現(xiàn)過程中,可采用簡化FFT算法實現(xiàn)工頻分量的提取[3],大大降低了程序運算量。所以,本文選取后者來實現(xiàn)對工頻分量的實時提取。
工頻干擾濾除程序包括建立工頻模板、濾除工頻干擾、修改工頻干擾模板三步。為了達到快速、連續(xù)濾波的目的,需實時修改工頻干擾模板,在LabVIEW實現(xiàn)過程中可采用逐點隊列控件,通過合理設置隊列長度,利用隊列進棧和出棧進行模板快速修改。
假設采樣頻率fS為200 Hz,則 L值為4,即在一個工頻干擾周期內有4個采樣值。圖4為工頻干擾濾除的程序。
其中長度為3的逐點隊列用于工頻模板存放,反饋節(jié)點用于出棧數(shù)據(jù)的存放和累加。長度為1 024的逐點隊列用于原始采集數(shù)據(jù)的存放。程序運行過程如下:
(1)工頻模板建立:當采樣點數(shù)達到1 024個時,工頻模板隊列及反饋節(jié)點中的存儲正好為根據(jù)mod(n/4)(n=0,l,2,…,l 023)取值經過 256 次疊加的數(shù)據(jù),即為初始工頻模板。
(4)實現(xiàn)整個信號工頻干擾濾除:重復(2)~(3)即可完成對整個信號的工頻干擾濾除。
采集系統(tǒng)主要包括前置放大及濾波電路模塊、A/D模塊、MCU模塊、上位機模塊。系統(tǒng)框圖如圖5所示。
其中A/D模塊采用高性能Σ-Δ模數(shù)轉換器AD7760,其為綜合增量調制編碼 Σ-Δ型轉換器,不僅具有很高的精度(可高達24 bit),而且還具有很高的速度(高達2.5 MS/s)和寬的輸入帶寬,廣泛地應用于高精度高速率的數(shù)據(jù)采集系統(tǒng)。
MCU采用飛思卡爾32位單片機MCF51QE128。為了進一步提高A/D精度,采用了過采樣技術,提高了4 bit精度,算法原理在參考文獻已有詳細說明,在此不再贅述[5]。另外由于串口傳輸速率有限,在下位機進行下抽樣,然后通過串口傳輸?shù)缴衔粰C。
為了測試算法對工頻干擾的濾除效果,對頻率為20 Hz、幅值為200 μV的正弦信號進行采集試驗。結果如圖6所示。圖6(a)為未采用自適應相干模板法的波形圖及幅頻圖,圖6(b)為經過自適應相干模板法處理后的波形圖和幅頻圖。
跟蹤工頻干擾的自適應相干模板法能夠在有效濾除工頻干擾的同時,保證濾波器具有良好的低頻特性,但是在工頻干擾頻率變化較快時,工頻跟蹤實時性變差,從而導致濾波效果變差。為此,本文通過在LabVIEW上采用雙線程模式,同時實現(xiàn)了工頻干擾的快速實時跟蹤和濾除。通過對采集頻率20 Hz、幅值 200 μV的正弦信號進行試驗,結果證明,即使在工頻干擾頻率變化較快時,也能快速、實時地實現(xiàn)濾波且濾除效果很明顯。
[1]Wang Sanxiu,Jiang Shengtao.Removal of power line interference of ECG signal based on independent component analysis[C].2009 First International Workshop on Education Technology and Computer Science,2009:328-330.
[2]王兵,王魁,梁曉霖,等.腦電信號中工頻干擾去除的綜合研究[J].傳感技術學報,2010,23(1):87-92.
[3]LI G,LI L,YU Q.A new algorithm of adaptive coherent modelfor removal of power-line interference[J].Chinese Journal of Biomedical Engineering,l997,16(3):281.
[4]于超,李剛,林凌.基于簡化 FFT可跟蹤工頻干擾的自適應相干模板法的實現(xiàn)[J].生物醫(yī)學工程學雜志,2007,24(4):780-784.
[5]李剛,張麗君,林凌,等.利用過采樣技術提高 ADC測量微弱信號時的分辨率[J].納米技術與精密工程,2009,7(1):71-76.