沈樵综合在线,一区二区三区乱码,免费资源一区二区三区,91超碰碰,av极品一线天,日韩免费高清一区二区,国产蜜尤福利在线,嗯啊91在线观看,精品一区二三

ABG儀表集團
免費會員

孔板流量計信號的處理方法研究與實現(xiàn)

時間:2013/6/7閱讀:2412
分享:
在實際應用中孔板流量計的輸出信號會隨時間發(fā)生緩慢而微小的變化。針對這種時變信號,本文提出將多抽一濾波器、自適應格型陷波濾波器和負頻率修正的滑動DTFT(SDTFT)遞推算法組合起來,形成一套完整的孔板流量計信號處理方法,不僅可以跟蹤變化的頻率和相位,而且在測量小相位時具有較高的計算精度。整個算法計算量較小,且不會發(fā)生數(shù)值溢出。研制了基于TMS320F28335DSP孔板流量計信號處理系統(tǒng),實現(xiàn)了整套算法,并進行了測試。仿真和實驗結(jié)果表明,本文研究的方法和研制的系統(tǒng)是可行的、有效的。

    1 引言

    孔板流量計可直接高精度地測量流體的質(zhì)量流量且可同時獲取流體密度值,是當前發(fā)展為迅速的流量計之一。

    孔板流量計通過測量2個磁電傳感器輸出信號之間的相位差(時間差)來得到流體的質(zhì)量流量。為了能夠從含有噪聲的傳感器輸出信號中準確地提取出流量信息,國內(nèi)外研究者采用數(shù)字信號處理技術(shù)來計算相位差/時間差。但均是以時不變信號為研究對象的,即認為在一批處理數(shù)據(jù)(例如2048點)中,信號的頻率、相位和幅值是不變的。實際上,由于受到管內(nèi)流體的流速、密度和流體脈動等因素變化的影響,孔板流量計信號會隨著時間發(fā)生變化。為此,我們建立了時變信號模型,并提出了基于陷波濾波器和滑動孔板流量計信號處理算法,克服了基于DFT頻譜分析整周期采樣的影響,在每個采樣點都可輸出計算結(jié)果,并且能跟蹤變化的流量信號[1-2]。但是,算法的收斂過程較長,跟蹤精度不高,且跟蹤不到信號的微小變化,同時用于實際系統(tǒng)時計算量大且會發(fā)生數(shù)值溢出。在此基礎上,文獻[3-4]提出了計及負頻率影響的DTFT遞推算法,即在計算正弦信號的傅里葉系數(shù)時不忽略負頻率成分的影響,從而提高計算精度,極大地縮短了收斂過程。但該算法只適合一段時間內(nèi)信號恒定的情況,對于流量變化如批料流或有微小波動的時變信號時就失去了作用。同時,文獻[2-3]沒有給出算法的具體實施方案、DSP芯片的型號、信號處理硬件系統(tǒng)和采樣頻率等信息。

    為此,針對時變信號,提出將多抽一濾波、自適應格型陷波濾波和負頻率修正的滑動DTFT遞推算法(以下簡稱SDTFT)有機地組合起來形成一套完整的孔板流量計信號處理算法,并在DSP系統(tǒng)上實現(xiàn),實時處理流量計信號,既能用于非時變信號又能跟蹤頻率、相位變化的信號,更加接近實際應用情況。且算法計算量較小,不會發(fā)生數(shù)值溢出,便于實時實現(xiàn)。

    2 時變信號

    根據(jù)孔板流量計的工作原理,在理想情況下,傳感器輸出的信號為標準的正弦信號。但在實際應用中,由于受到管內(nèi)流體特性如流速、密度、流體脈動及流場等因素變化的影響,信號的頻率和相位并不是恒定不變的。因此,我們把這種頻率、相位等隨時間發(fā)生變化的信號稱為時變信號。

    1)當流量較穩(wěn)定時,兩路信號的相位隨時間會發(fā)生緩慢而微小的變化,這種變化是隨機的沒有規(guī)律的,但變化的幅度并不像文獻[1]中建立的信號模型那樣大,一般不超過給定相位的1%。在小流量測量中,如1kg/min的流量對應的相位差為0.020左右,此時相位波動不超過0.00020,變化范圍很小,但要提高小流量測量精度這種波動是不能忽略的。

    2)當流體密度確定后,傳感器信號的頻率也會發(fā)生變化,但變化范圍比相位要小很多,大不超過流量管振動頻率的萬分之一。同時信號頻率反映流體的密度,因此算法必須適用于測試不同的流體,也需要跟蹤信號的頻率。

    為此,改進時變信號模型如式(1)和(2),更加逼真地模擬實際科氏流量計信號,便于算法仿真。

    

    式(1)和(2)表示信號的相位、頻率在變化,每一時刻的值是前一時刻的值加一個隨機數(shù),其中eΦ(n)和eω(n)為零均值、正態(tài)分布、方差為1且互不相關(guān)的白噪聲,σΦ和σω分別控制eφ(n)和eω(n)的變化幅度,當信號變化緩慢時,兩者減小,當信號突變時,兩者增大。λΦ和λΦ分別控制Φ(n)和ω(n)的變化幅度,相位變化幅度應低于給定相位的1%,頻率變化低于振動頻率的0.01%,這樣比較符合實際情況。

    3 算法原理及推導

    3.1 多抽一濾波

    為了增強對噪聲的抑制,先用16kHz較高的采樣頻率對科氏流量計的輸出信號進行采樣,然后用多抽一濾波器進行抗混疊濾波和抽取。多抽一濾波器分為兩級[4],*級為2抽1,使實際的采樣頻率從16kHz降低到8kHz,主要目的是減少數(shù)據(jù)量。第二級為4抽1,采樣頻率降低為2kHz。同時采用30階FIR低通濾波器,不僅保證線性相位,而且在實際的實現(xiàn)中,可以只對抽取的點進行濾波,然后再抽取,這樣可以減少計算量節(jié)省時間。多抽一濾波器的系數(shù)在確定截止頻率后通過計算機輔助設計的方法得到。仿真結(jié)果表明該方法由于盡可能多地獲取了原信號的信息,所以比單純用2kHz采樣、濾波所得的效果要好。

    3.2 自適應格型陷波濾波器

    自適應陷波濾波器參數(shù)可以根據(jù)信號特征收斂并可估算信號的頻率。采用的格型IIR陷波器[1]是由全極點和全零點兩個格型濾波器級聯(lián)而成,傳遞函數(shù)為:

       (3)

    為了減少計算負擔,通過將零點固定在單位圓上,使得只調(diào)整一個參數(shù)就能達到自適應陷波的目的。將零點固定在單位圓上,即令k1=1,k0在經(jīng)過一段時間自適應后收斂到−cosω,ω是信號的歸一化頻率,α決定陷阱的寬度,k0使用Burg算法[1]進行自適應調(diào)整。

    由于孔板流量計流體的密度反映為頻率的變化,需要及時跟蹤流體信號的頻率變化。通過大量仿真研究發(fā)現(xiàn),通過調(diào)整ρ和λ的終值,適當?shù)丶哟笙莶ㄆ飨葳宓膶挾?,便能在保證精度的同時實現(xiàn)對頻率變化的跟蹤,ρ和λ計算公式如式(4)和(5)所示。

      (4) 

         (5)    

    格型自適應陷波濾波器的計算量大大降低,且參數(shù)少調(diào)整方便。調(diào)整ρ和λ的終值以及變化的步長就能方便的跟蹤頻率的變化,同時亦能達到很高的精度。

    3.3 SDTFT遞推算法及測量相位差原理

    3.3.1 SDTFT遞推算法

    離散時間序列的傅里葉變換(DTFT)為:

       (6)

    DTFT是從*個采樣點開始通過不斷增加計算的序列長度來實現(xiàn)頻率處傅里葉系數(shù)的計算,如果信號在一段時間內(nèi)恒定不變,這種算法是可行的。但是,無法用于時變信號。時變信號的每個采樣點都包含著相位變化的新信息,DTFT將相位變化的新舊信息全部混淆疊加在一起,對相位的變化根本無法靈敏的反映。因此,我們提出滑動DTFT來處理時變信號。

    給所觀測的信號加一個N點的時間窗,矩形窗是簡單的時間窗,并讓這個時間窗隨著采樣點數(shù)的增加不斷向前滑動,如圖1所示。隨著窗函數(shù)的滑動,在每個采樣點計算N點有限長序列的傅里葉變換即為滑動的或滑動窗的DTFT(SDTFT)。面向時變信號時,計算新采樣點的傅里葉系數(shù)時僅利用的是當前采樣點之前的N點(N是可以改變的),更新新的相位信息并摒除舊的相位信息,這樣時間窗隨著新采樣點不斷向前滑動,計算的相位差才能跟蹤上實際相位差的變化。

圖1 N點滑動時間窗

    如圖1(a)所示,對于觀察信號x(t),設在m時刻采樣得到N個采樣數(shù)據(jù)x(0),x(1),…,x(N–1),構(gòu)成N點有限長序列,其離散時間傅里葉變換為:

       (7)    

    式中:ω為數(shù)字角頻率,單位為rad,t表示采樣點的序號。

    圖1(b)所示在m+1時刻,得到新的采樣點x(N),則該點與之前的N–1點重新構(gòu)成一個N點有限長序列,該序列在處的離散時間傅里葉變換為:

    

    以此遞推,當新的采樣點與其之前的N–1個采樣點組成第k個N點時間窗即采樣點序號為(N+k–1)時,該序列在ω處的傅里葉變換如式(9)所示。

    式(9)即為SDTFT的遞推算法的遞推公式??梢?,每采入一點新的信號,雖然需計算N點傅里葉變換,但通過遞推公式并沒有增大計算量,比滑動Goertzel算法計算量小,可以滿足科氏流量計實時性要求。同時,每計算一個采樣點的傅里葉系數(shù)始終是N點疊加的計算結(jié)果,不存在序列不斷疊加溢出的問題,非常利于實際系統(tǒng)的實現(xiàn)。

    3.3.2 窗長度N的選取

    孔板流量計是正弦信號,具有周期性性質(zhì)。同時,格型濾波器估計頻率精度雖然較高,但仍然與真實頻率有偏差。這樣,應用DTFT及SDTFT仿真計算周期信號在有偏頻率下的傅里葉系數(shù)時會出現(xiàn)如圖2的現(xiàn)象。

圖2 計算有偏頻率下的相位差

    圖2中點劃線為真實相位差值,實線為兩種方法的估計值。在圖2的上圖中,可以看出由DTFT計算的每個采樣點輸出的相位差會發(fā)生波動,但波動是偏離真實值的,且真實值偏上的部分比偏下的部分幅度小,這樣平均處理后得到的結(jié)果會比真實值偏小;而圖2中下圖所示的SDTFT計算結(jié)果中,每個采樣點輸出的相位差是在真實值上下波動的,雖然比上圖中波動的幅度要大,但是真實值上下波動幅度相當,這樣平均處理后會比DTFT更接近真實值,精度更高。出現(xiàn)圖2仿真結(jié)果是因為鑒于處理信號的周期性,我們根據(jù)格型濾波器估計的頻率值選擇SDTFT的窗函數(shù)長度N盡量接近信號周期的整數(shù)倍,同時SDTFT對整周期的要求要遠遠低于SDFT[6-7]的要求。因此SDTFT的時間窗函數(shù)長度的選擇要針對處理信號特點選擇。

    同時,窗長度N的選取還要根據(jù)實際信號的具體變化靈活選取,如果信號的相位變化比較緩慢,可以將N增長,不僅能跟蹤上變化,同時點數(shù)多可以提高計算精度;如果信號的相位差變化快速,可將N縮短,增加跟蹤速度,但不可避免地犧牲了精度,此時可以通過改變窗函數(shù)的形狀如漢寧窗等來提高計算精度。

    3.3.3 SDTFT遞推算法計算相位差

    由于V錐流量計傳感器信號為正弦信號,因此可進行計及負頻率的修正[2],減小頻譜中負頻率成分的影響,增加計算相位差的精度,縮短收斂過程。具體推到公式如下:

    

    根據(jù)式(12)得到相位差和時間差后,即可根據(jù)儀表系數(shù)得到瞬時流量和累積流量。本文測試相位差的方法用于時變信號時不僅能跟蹤微小緩慢的變化,而且跟蹤速度和精度均優(yōu)于滑動Goertzal算法。    

    4 MATLAB仿真結(jié)果

    型號為CNG050的孔板流量計,滿管振動時傳感器信號基頻為188.64Hz,因此仿真時信號頻率采用188.64Hz,著重仿真小流量對應的相位差。

    根據(jù)時變信號模型產(chǎn)生的相位隨采樣點數(shù)變化的曲線以及生成的時變信號波形如圖3所示。

    圖(3)、圖(4)仿真參數(shù)為:

    

(a)相位變化

(b)時變信號波形

圖3 按照時變信號模型產(chǎn)生的時變信號

圖4 本文方法跟蹤相位差變化效果    

    圖4所示即相位在[0.009940,0.010140]內(nèi)變化時,本文算法的跟蹤效果圖,可見波動幅度為0.01的1%時,本文方法仍具有很好的跟蹤速度和跟蹤精度,而SGA算法已經(jīng)無法跟蹤此時相位的微小變化了。

    圖5所示的是相位在[0.0080,0.0150]內(nèi)變化時,本文算法與SGA算法跟蹤相位變化的效果對比,可以看出,相位變化超過0.010的70%時,SGA才能跟蹤上變化,但本文算法的跟蹤速度和精度都優(yōu)于SGA。

圖5 SDTFT與SGA跟蹤相位比較

    [0.010,0.20]內(nèi)幾個相位的仿真結(jié)果數(shù)據(jù)如表1所示,仿真參數(shù)同圖6。從表1中可以看出,本文方法具較高的精度。

    

    5 系統(tǒng)研制

    本課題組研制了相應的數(shù)字式孔板流量計系統(tǒng),一方面為激振器提供激振信號,另一方面對兩路傳感器信號進行處理,得到流量信息。

    5.1 系統(tǒng)硬件組成

    系統(tǒng)硬件基于TI公司TMS320F28335浮點DSP,由驅(qū)動模塊、信號調(diào)理采集系模塊、脈沖和4~20mA電流輸出及人機接口組成。

    5.2 系統(tǒng)軟件研制

    系統(tǒng)軟件設計采取模塊化設計方案,將完成特定功能或者類似功能的子程序組合成功能模塊,主要功能模塊如圖6軟件總體框圖所示。

圖6 系統(tǒng)軟件總體框圖    

    5.2.1 主要模塊

    初始化模塊負責系統(tǒng)內(nèi)可編程器件和全局變量等的初始化,包括TMS320F28335初始化、全局變量初始化、算法初始化和LCD初始化等。F28335的初始化[8]主要包括系統(tǒng)配置、用到的28335內(nèi)部集成功能模塊的初始化,如看門狗、多通道緩沖串口McBSP、DMA、系統(tǒng)外部接口XINTF和數(shù)字復用口等以及外部可編程器件如CODecCS4271芯片。全局變量以及算法初始化主要包括反映系統(tǒng)工作狀態(tài)的狀態(tài)變量和算法計算的初始變量等。LCD初始化則包括控制引腳初始化、寫命令字和初始化顯示內(nèi)容。

    中斷模塊由外設中斷擴展控制器來處理所有片內(nèi)外設和外部引腳中斷的優(yōu)先級以及中斷的響應。本系統(tǒng)采用了三個中斷,DMACH1接收中斷、DMACH1發(fā)送中斷、定時器0的周期中斷觸發(fā)。Codec啟動后開始采傳感器的信號并進行AD轉(zhuǎn)換,之后送到DSP的McBSP的接收引腳上,通過DMA傳輸?shù)絻?nèi)部RAM中,當RAM放滿數(shù)據(jù)后產(chǎn)生DMACH1接收中斷,中斷響應后將數(shù)據(jù)放于外部RAM一個長的循環(huán)數(shù)組中供算法調(diào)用,并修改DMA的目的地址,為下次傳輸做準備;定時器0的周期中斷觸發(fā)用于定時刷新LCD的顯示值。

    算法模塊內(nèi)包含了系統(tǒng)所進行的大部分數(shù)學運算子程序,主要有信號處理算法、瞬時流量計算和累計流量計算以及溫度補償算法。信號處理算法在主監(jiān)控程序中調(diào)用,先調(diào)用多抽一算法程序進行抽取,隨后調(diào)用格型濾波估算頻率,之后再利用負頻率修正的SDTFT遞推算法計算信號的相位差,平均處理后,再結(jié)合儀表系數(shù)計算當前的瞬時流量。還需差壓變送器根據(jù)特定公式對結(jié)果進行溫度補償。測量結(jié)果包括瞬時質(zhì)量流量、累積質(zhì)量流量、密度和溫度,由LCD顯示。

    主監(jiān)控程序[9]是整個系統(tǒng)的總調(diào)度程序,實現(xiàn)儀表所要求的功能。系統(tǒng)上電復位后,立即進行初始化,完成對系統(tǒng)及各模塊的初始化工作,然后監(jiān)控程序開始依次查詢標志寄存器的有關(guān)位,如采樣數(shù)據(jù)標志位、頻率跟蹤標志位、流量計算標志位、通信標志位等,如果有標志位被置位,則調(diào)用相應的子程序,并清除標志位為下一次操作做好準備。一次查詢完后,監(jiān)控程序進入等待狀態(tài),直到有關(guān)中斷發(fā)生時開始進入下一次查詢,周期循環(huán),實現(xiàn)儀表流量的實時檢測。

    5.2.2 關(guān)鍵實現(xiàn)技術(shù)

    1)TMS320F28335是TI公司推出的一款新的浮點運算DSP芯片,由于負頻率修正的SDTFT算法計算小相位差的關(guān)鍵在于保證公式(20)中分子得到的數(shù)據(jù)的有效位數(shù),經(jīng)過研究發(fā)現(xiàn)用32位float型變量類型在小流量時只能保證3位有效數(shù)字,使得計算精度降低,因此我們使用64位longdouble型變量類型;

    2)本文提出的一套數(shù)字信號處理算法有大量的變量,且變量采用64位的數(shù)據(jù)類型,這就需要較大的存儲空間,因此外擴了64k的SARAM,為了提高計算速率,在存儲器映射設置時將全局變量全部映射到外部存儲器中,將使用頻率高的局部變量和程序映射到內(nèi)部RAM中,使得算法成功實現(xiàn);     

    3)經(jīng)過測試F28335定點CPU計算外部RAM中一點數(shù)據(jù)的兩級多抽一算法時間為116μs,計算格型濾波算法的時間為83μs,計算SDTFT遞推算法時間為221μs,再加上對結(jié)果的補償及平均處理,得到一點流量的時間不超過500μs,因此CodecAD采樣頻率設置為16kHz,多抽一后為2kHz,在保證精度的情況下*實現(xiàn)了連續(xù)采樣數(shù)據(jù)的實時計算;

    4)AD設置較高的采樣頻率,這就要求傳送大量的數(shù)據(jù),一點一點傳送顯然不滿足實時性的要求,為此我們利用了TMS320F28335的多通道緩沖串口McBSP與CodecAD通訊,運用DMA傳輸大量的數(shù)據(jù)而不降低CPU的使用效率;

    5)在系統(tǒng)軟件的初始化模塊中對各個部分的初始化順序有嚴格的要求,否則系統(tǒng)無法正常運行或者不穩(wěn)定。例如在F28335系統(tǒng)配置之后,要先初始化通用輸入輸出口;又例如要先初始化Codec芯片再初始化McBSP和DMA模塊等。

    6 系統(tǒng)測試

    考慮到在實際流量標定中,很難產(chǎn)生變化規(guī)律已知的時變信號,所以,我們采用以下方式對本文提出的時變信號處理方法進行測試。首先根據(jù)時變信號模型,利用MATLAB產(chǎn)生已知參數(shù)的時變信號數(shù)據(jù);其次,將信號數(shù)據(jù)導入Fluke282任意波形信號發(fā)生器,由信號發(fā)生器產(chǎn)生兩路存在相位差且時變的信號;再將信號發(fā)生器的兩路輸出分別接至信號處理系統(tǒng)的兩個輸入通道,運行DSP程序,對信號進行處理。相位差在[0.010,20]范圍、變化為1%的測試結(jié)果如表2所示。

    

    由表2可以看出小相位差的相對誤差大于0.1%,結(jié)果并沒有仿真時精度高,其誤差來源為:1)孔板流量計系統(tǒng)采用Codec芯片采集數(shù)據(jù),其AD位數(shù)為13位,從而限制了計算精度;2)MATLAB產(chǎn)生的信號是64位、雙精度浮點數(shù),但Fluke282信號發(fā)生器的數(shù)據(jù)是12位,這造成了截斷誤差。

    7 結(jié)論

    1)面向時變信號,提出由多抽一濾波、自適應格型陷波濾波、負頻率修正的SDTFT遞推算法組合而成的一套數(shù)字信號處理算法,由仿真結(jié)果可以看出該算法能在每個采樣點上輸出傅里葉系數(shù),實時性好,能跟蹤信號微小的變化,在小流量時仍具有較高的精度,性能*,且算法計算量小,不存在數(shù)值溢出;

    2)將整套算法在TMS320F28335DSP搭建的孔板差壓變送器系統(tǒng)上實時實現(xiàn),得到了較好的效果??梢娺@種處理方法能夠?qū)崟r獲得信號間的相位差和時間差,可以提高科氏流量計的動態(tài)響應速度,滿足一些測量場合的需要,具有較強的實用性。

 

會員登錄

×

請輸入賬號

請輸入密碼

=

請輸驗證碼

收藏該商鋪

X
該信息已收藏!
標簽:
保存成功

(空格分隔,最多3個,單個標簽最多10個字符)

常用:

提示

X
您的留言已提交成功!我們將在第一時間回復您~
在線留言
九江市| 南岸区| 金坛市| 祁阳县| 那坡县| 乾安县| 沿河| 甘洛县| 宝兴县| 图们市| 买车| 福安市| 抚松县| 日土县| 阿拉善左旗| 义乌市| 肇庆市| 南投县| 抚松县| 丹阳市| 荣成市| 华容县| 屏山县| 巴青县| 衡阳市| 布拖县| 射阳县| 平泉县| 家居| 枣庄市| 茌平县| 洛阳市| 改则县| 泰和县| 兴隆县| 宜春市| 保山市| 勃利县| 迁西县| 双桥区| 拉萨市|