摘 要:提出用于HK-CMF質量流量計的信號處理的新的DSP算法和仿真方法。包括線性調頻Z變換算法,該算法用于信號測頻初始化。通過只在窄帶內密集抽樣的方法,和傳統方法比較.線性調頻Z變換算法可以減少由于不足點采樣而造成的頻譜泄漏,改善計算精度并減少運算時間。還包括用于頻率跟蹤的鎖相環仿真,鎖相環可以地平滑噪聲,跟蹤頻率變化,最終用于計算兩路信號相位差。通過在MATLAB環境下的仿真,我們得出結論:瑣相環方法是進行HKC質量流量計頻率和相角跟蹤的可行性方法,能夠較好地滿足跟蹤精度的要求。
關鍵字:HK-CMF質量流量計 DSP算法 鎖相環 線性調頻Z變換
科里奧利質量流量計可以直接高精度測量流體質量,是當前發展迅速的流量計之一。HKC質量流量計由一次儀表和二次儀表組成,一次儀表包括:U型管,直管,激振器,傳感器等等,它通過激振器激振U型管,產生振蕩信號,當流體通過振動管時,U型管由于科氏力發生扭曲,扭曲角度通過計算U型管前后兩端相角差得到。二次儀表的任務是對兩個磁電式傳感器的輸出信號進行處理,放大,整形,鑒相和計數。測量其相位大小。計算出的相位θ再乘以相應的系數,即可算出質量流量。
在初始化過程中,對信號頻率進行粗測和細測,以獲得準確的信號頻率,實現整周期采樣。在相位差測量階段,計算相位差。在頻率跟蹤階段,測量頻率變化,調整采樣頻率,以便整周期采樣,為下一次相位差計算做準備。由于噪聲影響,我們在仿真中加入隨機噪聲。
1 測量初始化
在實際運用中,由于振動管的振動頻率受各種因素的影響,使其偏離驅動頻率,所以振動頻率實際是未知的。開機時系統首先對數字處理器及外設初始化,檢測測量管的振動頻率。在初始化中,為了保證測量精度,減少測量時間,將振動頻率檢測分為粗測和細測。
1.1 頻率粗測
以較低的頻率分辨率采樣,初步確定頻率范圍,HKC質量流量計測量管的振動頻率一般在75~150Hz范圍內。為滿足采樣定理,在頻率粗測中取采樣頻率fs=320Hz,采樣點數取N=64。所以,采樣頻率分辨率fd為
fd = fs/N = 320/64 = 5Hz
對采樣點進行DFT計算,可以得到各次諧波的傅里葉系數及功率譜,比較所有的功率譜值,可以得到與功率譜值對應的諧波次數Nmax(以下簡稱諧波次數)。則信號頻率范圍應為
(fd*Nmax - 1/2*fd)<= fo<= (fd*Nmax + 1/2*fd) (1)
1.2 傳統頻率細測
頻率粗測的結果只是一個范圍,誤差為1/2*fd, 這一結果無法直接應用到相位差測量中。頻率細測必須在粗測范圍內進行再測量,從而測量出準確頻率。
按照傳統方法,細測時,采樣頻率fs'在(fs - fd)~ (fs + fd)范圍內以一定步長變化,同時保證較高的頻率分辨率。此時頻率分辨率為fd'=fs'/N,進行DFT得到采樣序列功率譜,從而計算出,N'max所對應的頻率值所對應的頻率值
f'01 = f'd ·Nmax (2)
從而得到一系列落在(5Nmax- 5)~(5Nmax + 5)頻率范圍內頻譜,比較這些頻譜中的值,用其中的值所對應的采樣頻率fmax計算出頻率f02逼近真實值f0。設采樣頻率以[Step]=0.1Hz為步長變化,則信號頻率測量值的變化步長為:
由于信號范圍為75~150Hz,頻率分辨率為5Hz,則Nmax<32,f02位的變化步長小于0.05。
按照傳統方法,盡管可以較準確地找到信號頻率,但計算煩瑣,計算量較大.要在(5Nmax - 5)~(5Nmax + 5)頻率范圍以Δf02為步長尋找功率譜,至少需要FFT的復乘次數:
64log264*[(5Nmax + 5)-(5Nmax- 5)]/ Δf02≥64000
且由于非整周期采樣,進行64點采樣得到的數據將受頻譜泄漏和初相變化影響。為了減少運算次數,提高精度,我們提出另一種可行性算法:線性調頻Z變換算法。
2 線性調頻Z變換算法(CZT)在頻率細測中的應用
實際上我們只對粗測后的一小段頻段感興趣,希望在該窄帶頻段內頻率的抽樣能夠非常密集,提高分辨率,帶外則不予考慮。運用該算法,我們增加了采樣點數,但尋找譜值的工作一次就能完成。
沿用上面的粗測方法,但我們增加采樣點為128點,這樣粗測分辨率為2.5Hz,測得頻率為2.5*Nmax實際頻率落在(2.5Nmax - 2.5)~(2.5Nmax + 2.5)頻率范圍內。因此,細測時我們采用2.5*Nmax*64作為抽樣頻率,采樣1024點,我們只對(2.5Nmax - 2.5)~(2.5Nmax + 2.5)頻率范圍感興趣,所以只需要計算這一頻段的頻譜值。由于采樣點多,頻譜泄漏和受初相的影響都很小(圖1、圖2直觀地反映了窄帶分析CHIRP-Z的性)。算法的基本原理:
已知x(n)(0≤n≤N-1)是有限長序列,
其Z變換為:
(3)
z的這些抽樣點為zk=AW-k,k=0,1,…,M-1,M為所要分析的復頻譜的點數,不一定等于N,A和W都是任意復數,可表示為
A =A0ejθ0,W =e-j2π/NN = W0e-jφ0
將zk=AW-k代入得,
(4)
采用布魯斯坦等式:nk = 1/2· [n2 + k2 -(k - n)2]原式可化為
令則;
(5)
上式中,zk點的Z變換可以通過求g(n)與h(n)的線性卷積,然后乘上得到。由上可以看出CZT算法非常靈活,它的輸入序列點數N和輸出序列點數可以不相等,且N和M為任意數,包括素數;各zk點間的角度間隔ф0可以是任意值,因而頻率分辨率可以調整;計算Z變換的周線可以不是圓而是螺旋線(對語音分析有效);起始點z0可任意選定,也就是說可從任意頻率或復頻率開始對輸入數據進行分析,便于做窄帶高分辨率分析。
應用到我們的實際情況中,采樣頻率為2.5*Nmax*64,而HKC質量流量計的信號頻率范圍為75~150,Nmax在32~60之間。采樣頻率在4800Hz~9600Hz之間。取N=1024,M=N,NN=1024*1024,故頻率分辨率f0在0.0046Hz~0.0091Hz,頻率圖范圍range5~9.875Hz,總是大于等于5Hz。我們令θ0= 2.5*Nmax*64/(2.5Nmax - 2.5),即從頻率為(2.5Nmax- 2.5)處開始到(2.5Nmax+ 2.5)分析,這5Hz的頻段是落在我們的頻譜圖范圍內的,只要找出其中的頻譜值所在位置chirpmax即可。
最終求得的頻率值:
fmax= 2.5Nmax- 2.5 + range*chirpmax/M (6)
即為測得的信號頻率。運用CZT算法,其運算量用復乘次數表示為:
3/2*LlogL + 5N + L + M = 41984
(L≥N+M,L為2的冪次)
可見用線性調頻Z變換算法,不僅頻率分辨率提高,且運算次數有所下降。經實際仿真,得到的初始化頻率更接近實際頻率,且當初始相位變化時,測得的頻率幾乎不受相位影響。
結果分析舉例(原頻率86.4Hz):
表1 線性調頻算法和傳統細測法比較
測法名稱 | 初相 | |||
0 | 誤差% | π/4 | 誤差% | |
傳統方法: | 86.4078 | 0.009 | 86.4875 | 0.101 |
線性調頻: | 86.4066 | 0.008 | 86.4117 | 0.014 |
可見線性調頻Z變換不僅精度高,而且對初相的影響也小得多,保證了在任意初相時,測量誤差均不超過千分之零點三。
3 頻率跟蹤和相差計算
鎖相環是一種常用的頻率跟蹤技術,而國內還沒有將其用于HKC質量流量計的文獻報道。對鎖相環的仿真是在matlab的simulink環境下實現(見圖3)。下面是瑣相環實現前的幾個參數選擇:
晶振頻率:由于HK-CMF質量流量計的頻率在70~150Hz之間,晶振能對該頻段進行窄帶跟蹤。即選擇晶振最終輸出頻率在該頻段中間。最終選擇為100Hz。
低通濾波器截止頻率wi:由于低通濾波器必須保證低頻成分通過,且濾除高頻成分。實際高頻成分(75~150Hz)+(0~100Hz)在75Hz~250Hz之間,低頻成分在0~50Hz,故選擇截止頻率為50Hz。
若輸入信號u1(t)和輸出信號u0(t)的頻率不一致,則其間必有相位差別。鑒相器將此相位差別轉換為電壓ud(t),成為誤差電壓。該電壓經低通濾波器(也稱環路濾波器)濾除高頻信號分量后,控制壓控振蕩器,改變其振蕩頻率,使其趨向輸入信號頻率。當兩個振蕩器頻率差別不太大時,在穩定情況下,輸出信號u0(t)和輸入信號u1(t)頻率相同,但其間保持一定的相位差。其相位差經鑒相器變換所得的誤差電壓,再經低通濾波器控制壓控振蕩器,使壓控振蕩器產生的頻率變化,正好等于壓控振蕩器無控制電壓時的固有振蕩頻率與輸入信號頻率之差,這種工作狀態稱為鎖定狀態。若輸入信號在一定范圍內變化,使輸入信號頻率跟隨輸入信號頻率變化,這種狀態稱為跟蹤狀態。
若輸入頻率為88Hz,經過0.1s后,頻率基本入鎖,測定輸出頻率基本穩定在88Hz左右,取最壞情況測得誤差總在0.3%以內,測得相位大概控制在0.5%以內。表2為PLL仿真系統結果,其中:*相差設為pi/64和*加入噪聲幅度為HKC質量流量計信號幅度的1%左右。
表2 PLL仿真系統頻率跟蹤結果
頻率/Hz | 初相/° | 測得頻差百分比/% | 測得相差百分比/% |
81.2 | 45 | 0.0014 | 0.1999 |
81.2 | 0 | 0.0708 | 0.1417 |
87.6 | 45 | 0.1695 | -0.3054 |
87.6 | 0 | -0.2180 | -0.4103 |
90.3 | 45 | 0.1794 | -0.5018 |
90.3 | 0 | -0.1971 | -0.4881 |
98.4 | 45 | 0.0034 | -0.5025 |
98.4 | 0 | 0.1931 | -0.5057 |
4 結論
通過在MATLAB環境下的大量仿真結果,我們得出結論:瑣相環方法是進行HKC質量流量計頻率和相角跟蹤的可行性方法,能夠提高跟蹤精度的要求。通過對初始化DFT算法和頻率跟蹤方法的改進,仿真系統基本達到了0.5%的精度;高頻濾波部分尚有待改進,如果高頻被進一步有效濾除,精度還可提高。
參考文獻
[1] 劉鳳新,王磊.質量流量計數字信號計算及噪聲處理[J].傳感技術學報,2002,15(4).
[2] 徐科軍,呂迅,陳榮保,基于DFT的質量流量計信號處理方法[J].中國科學技術大學學報,1998,Vo1.28.
[3] Liu R P a,Fuent M J b,Henry M P a,Duta M D a,A neural network to correct mass flow errors caused by two-phase flow in a digital coriolis mass flowmeter [J].Flow Measurement and Instrumentation,2001,12:53-63.
[4] 陳榮保,蘇建徽,姜漢科,徐科軍、HKC質量流量計信號處理中頻率跟蹤方法的研究[J].計量學報,1999,20(4).
[5] 程佩青.數字信號處理教程[M].第2版,清華大學出版社.2001.
[6] 謝沅清,解月珍.通信電子電路[M].第1版,北京郵電大學出版社.2001.