專利名稱:頻率跟蹤的工頻數字濾波方法
技術領域:
本發明涉及一種數字濾波方法,特別涉及一種頻率跟蹤的工頻數字濾波方法。屬于電子電路技術領域。
背景技術:
在工業測控系統和生物醫學信號(如心電、腦電等)檢測中,被檢測的信號容易受周圍外界50Hz電、磁場產生的工頻干擾影響,嚴重時有效信號會被這樣的干擾所淹沒。因此,在各種電信號檢測尤其是生物醫學信號檢測過程中,抑制工頻干擾是最重要的問題之一。目前已有多種成熟的消除50Hz工頻干擾信號的方法。自適應濾波器對工頻干擾有很強的抑制作用,能夠根據參考信號特性的變化自動調整其結構參數,以使得工頻濾除效果達到最佳。但傳統的自適應濾波器需要工頻的正弦波進行采樣,作為參考噪聲信號,每個參考噪聲信號經采樣量化后,在自適應濾波器中進行遞推算法,用來在輸入信號中濾去對應的工頻干擾,實際應用中耗時較多,實時性相對較差。當需要濾除50Hz工頻及其倍頻干擾時,需附加2條參考信號通道,在硬件實現中額外需要4個A/D轉換器,造成生產成本提高。另外,在外界環境工頻頻率由于周圍電網其它頻率電、磁場影響而在50Hz附近波動時,傳統的自適應濾波器參數的自我調節過程較復雜,降低了濾波器的實時性。傳統自適應濾波器保留了直流分量的信息,不適用于如腦電心電等需濾除直流分量的情況。Bernard Window等在1975年提出線性最小二乘估計(LMS)算法,其不足在于對于電源信號及其高次諧波的A/D過程中,均分別需要使用A/D轉換器,如需要濾除工頻及其二次諧波,則需要四個A/D轉換器,同時計算量較大。
數字梳狀濾波器是一種性能良好,結構簡單的窄帶濾波器。它具有陷波性能好,頻帶控制方便等特點,由于所需控制的頻率在z平面上的零點,因此它對該陷波頻率能完全抑制,同時其零點與極點可通過參數的設置而十分靠近,從而使得該濾波器對其他頻率成分保持不變,即頻率濾除的單一性非常好。由于原點也是該濾波器得一個零點,因此濾波器會濾去信號的直流分量,恰好可用于無需保留低頻成分的過程中,諸如心電等生物電信號的提取過程,因為低頻成分會從某種程度上引起基線漂移等干擾現象,但不適用于需要保留緩慢變化信號的情況,使其應用范圍受到了一定的限制。
經對現有技術的文獻檢索發現,王志中等在《上海交通大學學報》1995年增刊I,P21-25上發表的“數字陷波器的實現方法”,該文中提出數字梳形濾波器方法,具體方法為利用梳形濾波器對于基頻及某些諧波分量有完全抑制的能力,傳遞函數是H(z)=1-z-11-αz-1]]>),其不足在于該技術沒有涉及濾波器的參數設置以及硬件細節,也沒有給出具體的方案。
發明內容
本發明針對現有技術中的不足,在王志中等研究的基礎上,結合自適應濾波方法,提出了一種頻率跟蹤的工頻數字濾波方法,使其減少了算法的計算量,提高了系統實時性,成本更低,簡單地實現了自動跟蹤工頻干擾頻率和幅度的波動變化,取得較高的信噪比,準確抑制工頻噪聲。
本發明是通過以下技術方案實現的,本發明采用一片鎖相環芯片代替了現有技術中的4片A/D轉換器,將工頻參考信號接入該鎖相環的信號輸入端,中央處理器輸出的工頻8次分頻信號接入鎖相環的比較輸入端時鎖相環輸出工頻的8倍頻信號,并在中央處理器的控制下將此信號作為模數轉換器的采樣信號序列;再使用梳狀濾波算法或者自適應濾波算法實現工頻及其倍頻陷波。本發明利用了鎖相環頻率鎖定和頻率跟蹤特性,將標準參考頻率經過倍頻提供一系列擁有同樣精確度的頻率源。本發明中工頻信號波動時,采樣信號始終保持為波動工頻信號的8倍頻,濾波器自動跟蹤干擾信號的變化。
本發明方法分為如下幾個步驟(1)工頻頻率的獲取。
本發明中工頻頻率有著至關重要的作用,將工頻頻率的8倍頻作為采樣頻率應用在自適應濾波算法或梳狀濾波算法中是本發明的一大特點。工頻頻率的獲取可以先從設備供電的交流電中分壓得到5V左右的正弦信號,經過過零比較器成為方波信號輸入到鎖相環的信號輸入端,而鎖相環的參考輸入端輸入頻率為工頻8次分頻的方波信號,由鎖相環的工作特性在其輸出引腳VCout可以得到頻率為工頻的8倍頻方波信號。如此得到8倍的工頻頻率在本發明中作為模數轉換的采樣頻率應用到濾波算法中,而不需增加A/D轉換器來提供采樣頻率。由于鎖相環可以自動跟蹤輸入信號的頻率,故當環境的交流電信號頻率有所變化時,輸出的工頻8倍頻率也有之相同的變化,最終可以實現自動跟蹤工頻頻率,并將其及其倍頻濾除。本發明中,鎖相環的連接方式可采用各種市場上常見的鎖相環芯片,并使用通常的倍頻連接方式實現工頻的8倍頻。
(2)濾波算法的建立。
本發明中,可以應用的算法有兩個自適應濾波算法或梳狀濾波算法,可分別適應于需要保留直流分量和不保留直流分量兩種場合。
①自適應濾波算法。為了濾除工頻及其二次諧波干擾信號,在對自適應濾波算法進行理論推導的基礎上得到了閉環系統的傳遞函數G(z)=2μ1C12cos(2π/N)z-1-z-21-2cos(2π/N)z-1+z-2+2μ2C22cos(4π/N)z-1-z-21-2cos(4π/N)z-1+z-2]]>其中,C是參考信號的幅度,μ是控制濾波器穩定性和收斂速度的參量,這兩個需要根據實際情況進行調整。此傳遞函數的4個極點為別為exp{±2πi/N}和exp{±4πi/N},說明濾波器在fs/N和2fs/N兩個頻率點處的增益為零(fs為采樣頻率),即該濾波器能夠完全濾除fs/N和2fs/N這兩個頻率點的干擾。
除了以上的采樣頻率與濾波特性的關系外,當N取為8時,濾波器的傳遞函數能被大大地簡化,這樣濾波器的實時性會有很大提高。因此在本發明中n取為8,對應地采樣頻率fs取為8倍的工頻頻率。這樣將傳遞函數轉換為離散的遞推式為y(n)=x(n)-2kx(n-1)+2x(n-2)-2kx(n-3)+x(n-4)-y(n-1)[2k(A2-1)]-y(n-2)(2-A1-A2)-y(n-3)[2k(A2-2)]-y(n-4)(1-A1-A2)(1)其中k=cos(2π/N)=cos(π/4)≈07071068,A1=2μ1C12,A2=2μ2C22,C是參考信號的幅度,μ是控制濾波器穩定性和收斂速度的參量,這兩個需要根據實際情況進行調整。根據以上的公式(1),得到的y(n)就是原始信號x(n)經工頻濾波后的結果。
②梳狀濾波算法,該算法較簡單,其傳遞函數為H(z)=(1-z-N)(1-αz-N)]]>將其描述為差分公式就是y(n)=y(n-N)-y(n-N)/k+x(n)-x(n-N)(2)其中N=fs/f0,fs是采樣頻率,f0是希望濾除的基頻頻率,在本發明中使用8倍的工頻頻率作為信號采樣頻率,故N取為8就能使濾波器自動跟蹤工頻頻率變化。α在0~1之間是調整濾波器通帶阻帶間過渡快慢的參數,α越接近1,過渡越快,濾波效果越好,但濾波器對工頻的抑制效果會變弱。1/k=1-α,在計算機計算時,往往取k=16,32…,2n,這樣作除法時只需簡單的移位操作,可加快計算速度。
如上的自適應濾波算法以及梳狀濾波算法應用于單片機編程時,根據實際場合需要,將上述差分公式(1)或(2)寫入程序即可,實現工頻濾波。
本發明結合鎖相環技術,利用鎖相環的頻率跟蹤和頻率鎖定特性,使濾波器可自動跟蹤時變工頻干擾信號。
在本發明中,若將梳狀濾波算法或自適應濾波算法,同樣能實現良好的濾波效果。所不同的是兩者的應用范圍,梳狀濾波器濾除了直流分量,更適于采集生理信號的場合,而自適應濾波器保留了直流分量,更適于采集工業信號的場合。
本發明利用一個鎖相環路獲取工頻干擾信號的頻率,利用其倍頻原理可以濾除工頻及二次諧波的干擾。若用傳統方法要實現同樣的功能,除對被濾波信號進行A/D轉換采樣外還需要4個A/D轉換器以取得工頻干擾及其二次諧波干擾2條參考信號。
本發明在降低成本的同時實現了自動跟蹤工頻干擾的頻率波動。在對應的軟件算法中,通過取工頻頻率的8倍頻為信號采樣頻率,既能完全一般信號的采樣要求,又能大大簡化計算,提高濾波器實時性。兩種濾波算法采用的數學模型和傳統方法相同,所不同的就是對信號的采樣頻率是由工頻頻率的8倍頻決定的,因此濾波效果不亞于傳統方法,而在整個系統成本,實時性以及簡便的工頻頻率點自動跟蹤的實現等方面是明顯優于傳統方法的。
圖1為本發明的原理框圖具體實施方式
下面對本發明的一實施例作詳細說明本實施例在以本發明技術方案為前提下進行實施,給出了詳細的實施方式和具體的操作過程,但本發明的保護范圍不限于下述的實施例。
本實施例的整個濾波過程就是由中央處理器控制模數轉換芯片使用工頻頻率的8倍頻作為采樣頻率對信號采樣量化,再使用梳狀濾波算法或者自適應濾波算法實現工頻及其倍頻陷波,最終由中央處理器控制輸出濾波后的信號。
在本實施例中,絕大多數元件可用功能相似的其他產品替代,如鎖相環芯片可以使用各種市場上常見的鎖相環芯片代替,中央處理器可用通用的C51系列單片機、ARM微處理器或者DSP處理器。由于信號采集的需求,一般A/D和D/A芯片需要至少12位以上的高精度轉換芯片,對于低數據精度需求的場合也可采用8位、10位的模數、數模轉換芯片。若A/D和D/A芯片自帶鎖存功能,則鎖存器也可省略。在此選用一些常用的電子元件提供一個簡單的實施例,以此更詳細的說明本發明的意義。
如圖1中所示,本實施例采用的部件主要有模/數轉換、單片機、鎖相環、數/模轉換,其中數/模轉換模塊可選,若后級系統直接利用數字信號作處理則無需數/模轉換過程。在本實施例中,鎖相環芯片采用CD4046,CD4046是通用的CMOS鎖相環集成電路,其動態功耗小,在中心頻率f0為10KHz下功耗僅為600μW。中央處理器采用87C51,是Intel公司80C51系列單片機種基本型產品,具有標準的80C51的體系結構和指令系統。
模/數轉換芯片采用美國AD(ANALOG DEVICES)公司生產的完整12位并行模/數轉換單片集成電路AD1674。數/模轉換芯片采用的是美國AD公司生產的一款12位并行數/模轉換芯片AD7547。
元器件之間的連接關系如下描述。
1、鎖相環芯片4046負責獲取工頻頻率的8倍頻,為模數轉換器提供采用頻率。其信號輸入端(Ain)接工頻參考信號,此信號是由交流電源分壓后經過一個經典的過零比較電路得到;參考輸入端(Bin)接單片機的T0,即對壓控振蕩器輸出口VCout作8次分頻后的信號。壓控振蕩器輸出口VCout接單片機的P1.0,即工頻頻率8倍頻方波。
2、中央控制器87C51從P1.0接收鎖相環的輸出,待100ms左右鎖相環工作穩定后,P1.0處輸入的方波頻率即為工頻干擾的8倍頻。此時對模/數轉換芯片AD1674的。 CS和 置低,CE置高,并將P1.0的輸入從P1.4輸出來控制模/數轉換芯片AD1674的模數轉換工作。當P1.4置高時(即暫停模數轉換,數據讀取期),中央控制器87C51分兩次分別將數據讀入寄存器,也就是輸入數字信號的低8位與高8位。
3、將輸入信號作為x(n)代入自適應算法或是梳狀濾波算法進行濾波運算。
對于自適應濾波算法采用的遞推式為y(n)=x(n)-2kx(n-1)+2x(n-2)-2kx(n-3)+x(n-4)-y(n-1)[2k(A2-1)]-y(n-2)(2-A1-A2)-y(n-3)[2k(A2-2)]-y(n-4)(1-A1-A2)其中k=cos(2π/N)=cos(π/4)≈0.7071068,A1=2μ1C12,A2=2μ2C22,]]>C是參考信號的幅度,μ是控制濾波器穩定性和收斂速度的參量,這兩個需要根據實際情況進行調整。
對于梳狀濾波算法采用的遞推式為y(n)=y(n-N)-y(n-N)/k+x(n)-x(n-N)其中N=fs/f0,fs是采樣頻率,f0是希望濾除的基頻頻率,在本發明中使用8倍的工頻頻率作為信號采樣頻率,故N取為8就能使濾波器自動跟蹤工頻頻率變化。k是調整濾波器通帶阻帶間過渡快慢的參數,k越大,過渡越快,濾波效果越好,但濾波器對工頻的抑制效果會變弱。往往取k=16,32…,2n,這樣作除法時只需簡單的移位操作,可加快計算速度。
由于鎖相環的作用,對x(n)的采樣頻率正好是工頻噪聲干擾頻率的8倍。上述自適應濾波算法的遞推式對x(n)采樣頻率的八分之一和四分之一2個頻率有很強的抑制,梳狀濾波算法的遞推式對x(n)采用頻率八分之一所有倍頻有很強的抑制效果。因此,經過遞推式得到的y(n)序列就是已濾除工頻干擾噪聲的數據信號。
可根據需要將y(n)輸出到數模轉換芯片,用于輸出模擬信號或其他后級信號處理。
本實施例減少了計算量,提高了系統實時性,簡單地實現了自動跟蹤工頻干擾頻率和幅度的波動變化,取得較高的信噪比,準確抑制工頻噪聲。
權利要求
1.一種頻率跟蹤的工頻數字濾波方法,其特征在于采用一片鎖相環芯片,將工頻參考信號接入該鎖相環的信號輸入端,中央處理器輸出的工頻8次分頻信號接入鎖相環的比較輸入端時,鎖相環輸出工頻的8倍頻信號,并在中央處理器的控制下將此信號作為模數轉換器的采樣信號序列;再使用梳狀濾波算法或者自適應濾波算法實現工頻及其倍頻陷波,最終由中央處理器控制輸出濾波后的信號,在濾波過程中,工頻信號波動時,采樣信號始終保持為波動工頻信號的8倍頻,濾波器自動跟蹤干擾信號的變化。
2.根據權利要求1所述的頻率跟蹤的工頻數字濾波方法,其特征是,所述的工頻,其頻率的獲取方法如下先從設備供電的交流電中分壓得到5V的正弦信號,經過過零比較器成為方波信號輸入到鎖相環的信號輸入端,而鎖相環的參考輸入端輸入頻率為工頻8次分頻的方波信號,由鎖相環的工作特性在其輸出引腳VCout得到頻率為工頻的8倍頻方波信號。
3.根據權利要求1所述的頻率跟蹤的工頻數字濾波方法,其特征是,所述的自適應濾波算法,采用的遞推式為y(n)=x(n)-2kx(n-1)+2x(n-2)-2kx(n-3)+x(n-4)-y(n-1)[2k(A2-1)]-y(n-2)(2-A1-A2)-y(n-3)[2k(A2-2)]-y(n-4)(1-A1-A2)其中k=cos(2π/N)=cos(π/4)≈0.7071068,A1=2μ1C12,]]>A2=2μ2C22,]]>C是參考信號的幅度,μ是控制濾波器穩定性和收斂速度的參量,根據以上的公式,得到的y(n)就是原始信號x(n)經工頻濾波后的結果。
4.根據權利要求1所述的頻率跟蹤的工頻數字濾波方法,其特征是,所述的梳狀濾波算法,采用的遞推式為y(n)=y(n-N)-y(n-N)/k+x(n)-x(n-N)其中N=fs/f0,fs是采樣頻率,f0是希望濾除的基頻頻率,k是調整濾波器通帶阻帶間過渡快慢的參數,k越大,過渡越快,濾波效果越好,但濾波器對工頻的抑制效果會變弱。
5.根據權利要求4所述的頻率跟蹤的工頻數字濾波方法,其特征是,所述的梳狀濾波算法,在計算機計算時,k=16,32…,2n。
全文摘要
本發明涉及一種頻率跟蹤的工頻數字濾波方法,屬于電子電路技術領域。本發明采用一片鎖相環芯片,將工頻參考信號接入該鎖相環的信號輸入端,中央處理器輸出的工頻8次分頻信號接入鎖相環的比較輸入端時,鎖相環輸出工頻的8倍頻信號,并在中央處理器的控制下將此信號作為模數轉換器的采樣信號序列;再使用梳狀濾波算法或者自適應濾波算法實現工頻及其倍頻陷波,最終由中央處理器控制輸出濾波后的信號,在濾波過程中,工頻信號波動時,采樣信號始終保持為工頻信號的8倍頻,濾波器自動跟蹤干擾信號的變化。本發明減少了計算量,提高了系統實時性,成本更低,簡單地實現了自動跟蹤工頻干擾頻率和幅度的波動變化,準確抑制工頻噪聲。
文檔編號H03H21/00GK1976225SQ200610147649
公開日2007年6月6日 申請日期2006年12月21日 優先權日2006年12月21日
發明者王志中, 費俊琳, 張丹楓 申請人:上海交通大學