基于過零檢測的相位差計算方法的改進
引言
在許多工業(yè)領(lǐng)域當(dāng)中,流體的流量都有著十分重要的應(yīng)用,其中科里奧利質(zhì)量流量計(簡稱"科氏力流量計")的應(yīng)用尤為廣泛。該流量計主要是由一次儀表和二次儀表組成。
(1)一次儀表主要由測量管(U型管、直管等)、激振器和傳感器等組成。在進行流量測量時,流體會流過測量管,在科里奧利力的作用下,測量管會發(fā)生扭曲,通過傳感器采集會得到兩路具有相位差的正弦信號,計算兩路信號之間的相位差便可進一步轉(zhuǎn)化為流體的流量。
(2)二次儀表主要是數(shù)字信號處理部分,用來計算流量計的相位差。
迄今為止,有許多學(xué)者對科氏力流量計相位差計算方法進行了深入而廣泛的研究,主要有復(fù)系數(shù)濾波算法、計及負頻率的影響的DTFT算法(slidingDiscreteTimeFourierTransform,sDTFT)、希爾伯特變換(HilbertTransform,HT)方法以及基于相關(guān)法計算方法等。其中,復(fù)系數(shù)濾波算法是采用復(fù)帶通濾波器(ComplexBandpassFiltering,CBF)、復(fù)陷波濾波器(ComplexNotchFiltering,CNF)以及它們的組合來求解相位差,其計算量較大,收斂時間較長。sDTFT雖然克服了希爾伯特變換方法易受噪聲影響的缺點以及相關(guān)法需要整周期采樣的缺點,但其為了防止數(shù)值溢出,采用滑動窗口的方式減少了每次計算的采樣點數(shù),導(dǎo)致精度有所缺失。
為解決上述問題,本文采用平穩(wěn)單相流信號模型作為科氏力流量計的信號模型。針對流量計信號處理中的實時性和精度問題,提出以過零檢測為基礎(chǔ),利用改進的自適應(yīng)格型陷波器進行頻率跟蹤,在計算出結(jié)果之后,采用卡爾曼濾波器進行誤差校正,最終實現(xiàn)相位差計算精度的提高。
1相位差計算改進方法與步驟
科氏力流量計在理想狀態(tài)下的兩路輸出信號均為頻率和幅值不變的正弦信號,它們之間的相位差反映流體的流量。
科氏力流量計在穩(wěn)定工作處狀態(tài)下,其信號主要受環(huán)境噪聲干擾,體現(xiàn)在信號的幅度發(fā)生變化,因此采用平穩(wěn)單相流信號進行仿真,信號模型如下:
式中:e(n)為均值為0、方差為1的高斯白噪聲:B主要用來控制噪聲的幅度,進而控制信噪比:A為幅值,視為常量:o為科氏力流量計的振動頻率:φ為信號的原始相位。
相位差的計算流程如圖1所示,首先利用FIR低通濾波器進行初步降噪。經(jīng)過降噪之后采用基于FFT和反饋因子改進的自適應(yīng)格型陷波器進行頻率跟蹤以及進一步的降噪,跟蹤的頻率用于過零檢測中進行時間差向相位差的轉(zhuǎn)化。
然后采用傅里葉級數(shù)擬合進行零點的求解,將兩路信號零點之間的時間差A(yù)7轉(zhuǎn)換為相位差,相位差A(yù)P計算如下:
式中:f為跟蹤后的頻率。
最后采用卡爾曼濾波器進行相位差誤差的校正。
1﹒1基于FFT頻率預(yù)估和反饋因子改進的自適應(yīng)格型陷波器
ALNF是一種可以根據(jù)信號的特點進行遞歸收斂并估計信號頻率的濾波器。其主要采用格型IIR陷波器實現(xiàn),主要由全極點和全零點兩個格型濾波器級聯(lián)而成,其傳遞函數(shù)為:
式中:k0為權(quán)系數(shù),用于計算信號頻率:.為偏置參數(shù),決定陷波帶寬。
此種形式是將零點固定在單位圓上,k0采用Burg算法進行自適應(yīng)調(diào)整[3」。
ALNF雖然能夠跟蹤頻率,但是由于其算法存在迭代遞歸過程,在計算時收斂過程較長,并且當(dāng)頻率發(fā)生改變時會浪費較長的時間進行頻率的自適應(yīng)跟蹤。因此,需要采用FFT進行信號頻率的預(yù)估,然后再進行自適應(yīng)跟蹤濾波,這樣可以縮短收斂過程:同時引入反饋因子Fb,反饋因子采用輸入信號與輸出信號的互相關(guān),選擇合適的閾值之后,如果互相關(guān)函數(shù)最大值小于該閾值,那么表示跟蹤效果差,這時需要立刻調(diào)整陷波的帶寬.,對頻率進行跟蹤。
其改進方式如圖2所示。
設(shè)輸入信號為s(n)=x(n)+e(n),其中x(n)為原始信號,e(n)為高斯白噪聲:(n+m)為跟蹤降噪之后的信號,其中m為信號延時。則反饋因子Fb為:
當(dāng)輸出信號(n+m)與輸入信號s(n)相關(guān)性很低時,需要通過調(diào)整.來調(diào)節(jié)陷波器帶寬,進而重新跟蹤頻率。
計算出信號之間的相關(guān)性之后,利用相關(guān)函數(shù)的最大值作為反饋因子Fb,并設(shè)定閾值7h=8,小于閾值7h則認為信號之間相關(guān)性低,相關(guān)性低的情況則需要減小.來加快信號的收斂。
ALNF改進前后對比如圖3所示。
由圖3對比分析可知,經(jīng)過FFT頻率預(yù)估和反饋因子改進之后,信號的收斂區(qū)間減小,達到了改進的目的,可以用來提高相位差計算的實時性。
1﹒2基于傅里葉級數(shù)擬合的過零檢測
過零檢測的基本原理是通過提取周期性的零點來得到左右信號之間的時間差,進而獲取相位差,其具有無收斂過程、運算量小和響應(yīng)速度快的優(yōu)點,但是在零點的求解過程中極易受到噪聲的干擾。
在經(jīng)過兩次降噪之后,信號的信噪比有了較好的提升,因此可以采用過零檢測的方式實現(xiàn)信號相位差的計算。
傅里葉級數(shù)擬合是以三角函數(shù)表示的無窮級數(shù),比較適合用來擬合周期性函數(shù)。
在信號滿足狄利克雷條件的情況下,函數(shù)f(t)可以表示為:
r
式中:a0、ak、bk為傅里葉系數(shù)。
在實際應(yīng)用中,無法采用無限個諧波疊加,因此需要選取合適的諧波數(shù)量進行擬合:
據(jù)此可以求出傅里葉級數(shù)擬合方程的系數(shù),進而求出信號零點。
1.3基于卡爾曼濾波器的誤差校正
在平穩(wěn)單相流信號條件下,相位差保持在一個恒定的值,經(jīng)過計算求解之后的相位差通常是在真實值附近上下波動,因此可以采用卡爾曼濾波器對所求解的誤差值進行預(yù)測估計,使其在真實值附近減小波動??柭鼮V波主要公式如下[8]:
狀態(tài)先驗估計:
卡爾曼濾波器主要包括兩個過程:預(yù)測和校正。狀態(tài)先驗估計和方差先驗估計為時間更新方程,用于預(yù)測部分:增益矩陣、狀態(tài)估計校正和方差估計校正為狀態(tài)更新方程,用于校正部分。通過這兩組方程便可以進行誤差校正。
2仿真分析
由于科氏力流量計的相位差通常在49~109,因此在此次仿真中選擇了5000個采樣點用來模擬信號,且
fs=16000Hz,A=2.5,f0=188.64Hz,Phasedifference=4.019,sNR=38.96dB。
在進行計算時考慮DsP處理器一次處理的采樣點數(shù)不能太多,因此5000個采樣點每次會處理1000個,將1000個采樣點內(nèi)的零點求出之后進行時間差的計算,然后將該范圍內(nèi)的零點求平均:
最后通過卡爾曼濾波器進行校正,校正后的結(jié)果及誤差如圖4所示。
經(jīng)過卡爾曼濾波器校正之后的均方誤差如表1所示。
從仿真結(jié)果中可以看出,由于過零檢測無收斂過程,因此可以很好地滿足實時性的要求,同時經(jīng)過卡爾曼濾波之后,所求的相位差的均方誤差要遠小于濾波之前的均方誤差,提高了相位差計算結(jié)果的精度。
3結(jié)語
本文基于平穩(wěn)單相流信號模型,提出了改進的科氏力流量計相位差的計算方法。首先采用FFT預(yù)估信號頻率,減少了自適應(yīng)格型濾波器的收斂時間,同時引入了反饋因子解決了因頻率變化導(dǎo)致的自適格型濾波器無法收斂的問題:然后采用傅里葉級數(shù)擬合的方式進行零點的求解:最后采用卡爾曼濾波器進行誤差的校正。從仿真結(jié)果可以看出,卡爾曼濾波器很好地修正了相位差計算的誤差,使精度得到了提高。
20220316_6230ba828985b__基于過零檢測的相位差計算方法的改進