《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 業(yè)界動態(tài) > 時頻參數(shù)測量中存儲容量的壓縮方法

時頻參數(shù)測量中存儲容量的壓縮方法

2009-03-17
作者:黃摯雄

??? 摘? 要: 介紹一種單片機測量時頻參數(shù)時的數(shù)據(jù)處理方法,即線性地址變換法。在存儲容量有效壓縮的基礎(chǔ)上,進一步分析采樣數(shù)據(jù),用軟件實現(xiàn)可控時標,保證測量精度。?

??? 關(guān)鍵詞: 測量? 頻率? 周期? 單片機? 存儲容量

?

??? 在智能儀表、網(wǎng)絡(luò)通訊、過程控制等測控系統(tǒng)應(yīng)用中,經(jīng)常需要對脈沖信號的頻率(或周期)進行精確測量。常用的方法是被測信號作為閘門信號,而用一個標準頻率信號作為填充脈沖,在閘門周期內(nèi)對標準頻率信號計數(shù),如圖1所示。設(shè)計數(shù)器的值為N,則被測信號的周期T=N/f0,頻率fx=1/T。在以單片機為核心的測控系統(tǒng)中,為了保證信號的測量精度,需要對大量的計數(shù)值Ni進行計算處理,這樣勢必占用較多的存儲單元。如何壓縮數(shù)據(jù)存儲量,是本文要解決的主要問題。

?

?

1 基于單片機系統(tǒng)的時頻參數(shù)測量?

??? 當采用單片機微處理器測量信號頻率(周期)時,定時器T0工作在計數(shù)方式,定時器T1工作在定時方式,T1向外部發(fā)固定頻率的脈沖(時標),T0對時標進行計數(shù)。被測脈沖信號產(chǎn)生一個外部中斷控制信號,向CPU發(fā)出一個中斷請求,CPU響應(yīng)中斷,在中斷服務(wù)程序中把T0的計數(shù)值讀入數(shù)據(jù)存儲器,數(shù)據(jù)轉(zhuǎn)移完成后,使T0復(fù)位,重新計數(shù), 開始新的周期測量,其測量原理如圖2所示。?

?

?

2 線性地址變換?

??? 單片機把計數(shù)值讀入存儲器,是把每一個測出的周期值Ti按其時間先后順序存入存儲器中。這樣,測出的每一個Ti無論是否相同都要用一個單元來存放,且隨著被測信號的平均頻率和測量時間t的增長,所需要的存儲容量就會增加,即:?

??? 存儲容量? M=f·t?

??? 如被測信號平均頻率f=10kHz,則1秒約需存儲容量10KB,10秒約需存儲容量100KB。顯然,單片機片內(nèi)RAM是不能滿足要求的。即使擴充外存,也不宜太大,會有一定的限制。?

??? 但實際上,所測出的Ti中,有相當多是相同的。如果把相同的Ti值用一個單元來存放,則可大大壓縮存儲容量。為此,可采用線性變換的方法,把每個Ti按(1)式轉(zhuǎn)換為單元地址值,并將其內(nèi)容加1,表示已有一個該Ti值。最后該單元的內(nèi)容Ni就表示測量中共有Ni個相同的Ti值出現(xiàn)。?

??? 存儲地址=起始地址+kTi????????????????? ?? (1)?

??? 式中:起始地址——對應(yīng)于Ti=0的存儲單元地址,根據(jù)所選單片機型號任意設(shè)定。?

??? k——變換比,表示出現(xiàn)Ti值的個數(shù)Ni用k個字節(jié)來存放。

??? k=1,表示Ti對應(yīng)的Ni值用1個字節(jié)存放。?

??? k=2,表示Ti對應(yīng)的Ni值用2個字節(jié)存放。?

??? 這樣:?

??? 存儲容量M=存儲地址最大值-起始地址值=kTimax (2)?

??? 因此,使用線性地址變換時,存儲容量由測量的最大周期Timax決定。且當采用計數(shù)方式測Ti值時,若計數(shù)時標周期為tc,則計數(shù)器測得的Ti值實際上是Ti所包含的tc個數(shù)。這樣,存儲容量可改寫為:?

??? 存儲容量M=Timax/tc???????? ?(設(shè)k=1)????????(3)?

??? 若規(guī)定測量的Timax=10ms,當設(shè)置tc=4μs時,M=2.5KB;若要進一步壓縮存儲容量,可增大tc,如當tc=8μs時,M=1.25KB,從而可滿足有限存儲容量的要求。?

??? 單片機進行線性地址變換時,用定時器計數(shù)方法測量每一個Ti值,然后用中斷服務(wù)子程序按(1)式進行地址變換,把Ti值轉(zhuǎn)換為地址單元號,并使該單元內(nèi)容加1。如把一次采樣規(guī)定為測n個Ti值,則當把n個Ti采樣完后,在存儲器從起始地址開始的單元內(nèi)就直接存放了如圖3所示的反映被測脈沖頻率波動情況的周期概率分布曲線。圖3中Ni為一次采樣的n個脈沖周期中出現(xiàn)周期為Ti的次數(shù),Nmax為Ni中的最大值,TNmax為對應(yīng)的周期值。?

?

?

??? 根據(jù)測得的存儲數(shù)據(jù),由數(shù)理統(tǒng)計方法可計算出平均周期?

??? 上述數(shù)據(jù)處理方法既保證了數(shù)據(jù)采樣的信息量又節(jié)約了存儲空間,較真實地反映了采樣期間信號的變化情況。?

3 存儲容量的壓縮與測量精度的保證?

??? 上述數(shù)據(jù)處理方法雖然可用增大時標tc來壓縮存儲容量,但另一方面則可能使測試的相對誤差Δ增大,其最大相對誤差Δmax出現(xiàn)在測量區(qū)間的低端Ti min時:?

?????

??? 考慮測試誤差,將(4)式代入(3)式,則存儲容量可表示為:?

?????

??? 此式表明,考慮測試誤差時,要壓縮存儲容量就要壓縮測量區(qū)間。若測量范圍定為50μs~10ms,則測量區(qū)間計算值為:?

?????

??? 如設(shè)定? Δmax≤0.01,則M≥20KB。?

??? 因此,為了將存儲容量壓縮到2KB左右,又使其Δmax≤0.01,則應(yīng)壓縮測量區(qū)間到20以下。?

??? 若把整個測量范圍分成若干個區(qū)間,每個區(qū)間以不同的時標進行測試,就可滿足Δmax≤0.01,存儲容量2~3KB的要求。?

??? 上述定標是由軟件完成的。采用的方法是先用較大的時標測量一次(稱為粗測),然后從概率分布曲線上找到Nmax所對應(yīng)的TNmax值,與區(qū)間定標界限系數(shù)相比較,視其所在區(qū)間確定定時器T1的時間常數(shù),輸出相應(yīng)的時標脈沖。自動定標后,以新的時標重新進行測量(稱為精測),精測得到的周期概率分布曲線才作為計算和控制的依據(jù)。?

??? 關(guān)于數(shù)據(jù)采集的軟件流程如圖4所示。?

?

?

??? 隨著單片機主頻的不斷提高,DSP技術(shù)的廣泛應(yīng)用,為時頻參數(shù)的高精度測量創(chuàng)造了有利條件。本文提出的存儲容量壓縮方法,旨在提供一條解決精度與數(shù)據(jù)存儲量問題的新途徑,特別對于那些有一定離散度的不穩(wěn)定頻率信號是較為適用的。此方法已在多項數(shù)據(jù)采集測控系統(tǒng)中得到了應(yīng)用和驗證,取得了較好的效果。?

參考文獻?

1 何立民. MCS-51系列單片機應(yīng)用系統(tǒng)設(shè)計. 北京:北京航空航天大學出版社,1990?

2 沈蘭蓀. 高速數(shù)據(jù)采集系統(tǒng)的原理與應(yīng)用. 北京:人民郵電出版社,1995?

3 柳義利. 高速連續(xù)頻率測量. 電子測量技術(shù),1999;25(2)?

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。