數據采集及其傅立葉分析是信號處理的重要環節和基本手段。眾所周知,利用FFT技術對信號進行頻譜分析時,其精度受譜泄漏和柵欄效應等因素的制約。理論研究和實驗均表明:對周期或準周期信號實行按基頻整周期同步采集2n個數據,即整周期基2同步采樣,可以減小傅立葉分析中的固有誤差——譜泄漏和柵欄效應。 對周期信號,通常可采用由鎖相環和分頻器組成的鎖相倍頻電路,實現對信號的整周期基2同步采樣。但對周期緩慢變化的準周期信號,要實現整周期基2同步采樣,則非易事。一文提出一款基于單片機周期預測和補償,從而實現對準周期信號整周期基2號同步采樣的倍頻電路。該電路倍頻精度高、跟蹤速度快,能對準周期信號進行預測和補償,在信號處理和數據采集領域有較好的應用前景。最后給出了基于PC總線實現同步要樣的數據采集系統。 1 準周期信號基2倍頻電路的實現 1.1 準周期信號基2倍頻原理 設待采集的準周期信號的頻率為fx,周期Tx。為了實現對輸入信號的整周期同步采樣,要求對輸入信號N倍頻,即產生一個頻率為Nfx的A/D采樣脈沖。又設某基準時鐘脈沖信號的頻率為fo(fo>>fx),周期為To,對fo進行M分頻后,使其恰好等于輸入待采集周期信號頻率fx的N倍,即: Nfx=(f0)/M (1) 或 Tx=M%26;#183;NT0=N%26;#183;MT0 (2) 為了實現基2同步采樣,通常取: N=2 n (3) 式(3)中n=4,5,...8。顯然,當n的位數確定后,改變M,使M隨Tx的變化而變化,就能保證整周期基2同步采樣。 1.2 準周期信號基2倍頻電路的硬件實現 為了保證對準周期信號基2整周期同步采樣有較高的精度,筆者提出一款基于雙單片機的基2倍頻電路如圖1所示。它由過零比較器、二分頻器、單片機和或門組成,其中單片機選用AT89C2051,外部晶振頻率為12MHz,內部計數頻率fo為1MHz,輸入信號fx經整形和二分頻后直接與兩單片機的外中斷INT0和INT1相連。圖1中A、B、C、D、E、F、G各點波形如圖2所示。 其工作原理是:在信號的奇周期Tx1期間,單片機(1)定時器To由輸入信號Tx1的上升沿啟動,并對Tx1填脈沖計數,Tx1的下降沿關閉定時器To;借助單片機的運算功能,確定M值,并利用定時器T1產生頻率為Nfx的輸出脈沖信號。定時器To設為內部計數形式,工作方式1(16位計數,初值為0),GATE位為1,利用外部中斷INT0引腳上的電平Tx1,直接啟動和關才計數器。其計數結果是16位二進制數HL,其中高位為H,低位為L值。 當輸入信號頻率較低時,計數器T0會溢出觸發中斷,在中斷服務程序中使用單片機內部寄存器(R4)記靈中斷次數,以擴展計數范圍。利用外部中斷INT0引腳上Tx1電平的下降沿產生中斷,讀取T0的計數值HL和R4的值。通常(3)式中的n可根據輸入信號的頻率,智能地選取4到8位的二進制數,(2)式中的M值由下式給出: M=R4HL N (4) 顯然M為16位二進制數,因此設置定時器T1為內部計數方式,GATE位為1。當輸入信號頻率較高時,選工作方式2(8們,初值自動重裝載);當輸入信號頻率較低時,選工作方式1(16位)。定時器T1的初值取決于上一奇周期期間測得的M值,當計數溢出中斷時,在中斷服務程序中使PLO輸出電平翻轉,即獲得fx的N倍頻的方波信號。 同理,可實現單片機(2)在偶周期Tx2期間,輸出N倍頻的方波信號。可見當輸入單片機的外部信號?x每產生一個周期脈沖,在其輸出端就會有N個輸出脈沖,用輸出脈沖去觸發A/D板卡采集,即實現了N倍頻的整周期采樣。 1.3 準周期信號的周期預測 上述方法實現整周期采樣時,是把這一周的周期值作為下一周的周期來計算采樣脈沖輸出頻率的。對周期性信號,周期固定不會影響結果;但對準周期信號,周期是漸變的,會帶來較大的誤差。為了減少或補償這種誤差,本設計借助單片機的運算和數據處理功能,分別對下一周期進行周期預測。即利用前m個周期的T值,對下一個周期作出預測,再以預測的M來設置定時器T1的初值。用拉格朗日線性插值法可預測周期,如圖3所示。提取最近兩周的周期值,推算下一周的周期值。 圖3中Tj為第j周終了時刻測得的周期值,Tj-1為第j-1周終了時刻測得的周期值,Tj+1為要預估的下一周終了時刻的周期值,則可得預估公式: Tj+1=2Tj-Tj-1=Tj%26;#177;ΔTj (5) 由此可得: Mj+1=2Mj-Mj-1=Mj%26;#177;ΔMj (6) 2 基于PC總線控制的數據采集系統 基于PC總線的同步采樣系統框圖見圖4,它主要由地址譯碼器、單片機倍頻電路、A/D轉換器組成。各模塊功能如下: 地址譯碼:PC機中用戶可使用0300H~031FH地址,采用與非門74LS133對PC總線的地址信號A0~A9譯碼,端口地址為030FH和030FH。 單片機倍頻電路:產生同步信號進行同步采樣,保證信號截斷長度正好是信號周期的整數倍。 A/D轉換器:采用AD678芯片實現模數轉換。AD678是帶采樣保持器的12位A/D轉換器,其精度為2-12=1/4096=0.024%,轉換時間為5μs,其工作速率滿足采樣頻率的要求。 3 性能及誤差分析 (1)輸入信號上下限頻率fxH和fxL的確定 當輸入信號頻率較高時,(3)式中的n取4位二進制,考慮到單片機的中斷響應時間需要3~8個T0,因此由(2)式可求得: Txmin=8х24T0+TP=128μs+TP (7) 式(7)中的TP為單片機周期預測所需的時間,設約為72μs。 當輸入信號頻率較低時,(3)式中的n取8位二進制,(4)式中的M可取16位二進制的最大值,因此由(2)式可求得: Txmax=28х216T0≈16s (8) 則由(7)、(8)兩式可確定: fxH≤5kHz和fxH≥0.1Hz (2)誤差分析 根據(5)式估算的周期值,如果準周期信號的周期變化是均勻的,即遵從勻變速規律,由此引入的誤差為0;如果周期變化是非均勻的,則仍會帶來一定誤差。在許多實際應用場合(如旋轉機械的起停過程)周期主要是勻變速或接近勻變速,而少許的偏離經(5)式的修正后影響很小。其它的計數誤差和單片機中斷引起的誤差,可看作系統誤差,由單片機修正。 本文介紹的準周期信號同步數據采集系統,借助單片機的周期預測功能,對準周期信號智能倍頻,從而實現整周期基2同步采樣,進而大大消除頻譜分析中的泄漏誤差和柵欄效應,在機械故障診斷、信號測試等相關領域具有很強的實用性。 |