摘 要:針對某型導彈測試設備電路板頻率信號的精確測量問題,采用虛擬儀器技術,介紹了一種基于離散傅里葉變換(DFT)的交流信號頻率測量方法,并針對其存在的不足推導出了精度更高的自適應遞推傅氏測頻算法。應用虛擬儀器技術對上述測頻方法進行分析比較,實驗結果表明,遞推傅氏測頻算法消除了DFT的柵欄效應,抗干擾性好,測量誤差小于0.01 Hz,測量精度得到很大提高。關鍵詞:虛擬儀器; 頻率測量; 離散傅里葉變換; 柵欄效應
中圖分類號:TN919-34文獻標識碼:A
文章編號:1004-373X(2010)22-0172-03
Design of Precise Frequency Measurement Method Based on Virtual Instrument
CHEN Wei-yuan,GU Hong-qiang,GUO Li
(Ordnance Engineering College, Shijiazhuang 050003, China)
Abstract: A virtual instrument technology is used to design the AC signal frequency measurement method based on Discrete Fourier Transform (DFT)for solving the accurate measurement of frequency signal circle of some missile test equipment. Then a more precise derivation of adaptive recursive Fourier algorithm for frequency measurement is proposed. It shows that the adaptive recursive Fourier algorithm eliminates the barrier effect of DFT, anti-jamming performance, measurement error range is less than 0.01Hz, and measurement precision has been improved greatly through analysis and comparison of the experiments on the two algorithms.Keywords: virtual instrument; frequency measurement; DFT; barrier effect
收稿日期:2010-05-29
0 引 言
某型導彈測試設備是一種大型復雜的電子裝備,其核心部件是電路板。電路板由完成不同功能的集成電路和功能模塊組成。在檢測該測試設備的過程中,對電路板上各種信號的正確識別是測試設備進行故障檢測和故障診斷的前提。在信號分析處理中,方便、快速、準確地對信號頻率進行測量則是電路板檢測過程的重要組成部分[1]。目前信號頻率的測量方法有多種,主要可分為2類,分別為硬件測頻及軟件測頻。由于硬件測頻自身處理速度慢,不便于自動控制,儀器成本高等缺點,越來越不適應當今頻率測量自動化、高速化、便攜化的要求。軟件測頻主要是指數字測頻算法,主要有電壓過零點法、基于插值的CROSS法、最小二乘法、卡爾曼濾波法、傅氏測頻法等。由于傅氏測頻算法具有計算簡單,響應速度快、計算精度高、抗干擾性能好等優點,使該算法可以滿足多種對測量精度、實時性等性能要求高的應用場合。在此介紹了基于離散傅里葉變換(DFT)的交流信號頻率測量方法,并在此基礎上推導出了精度更高的自適應遞推傅氏算法頻率測量方法。而虛擬儀器技術利用高性能的模塊化硬件,結合高效靈活的軟件來完成各種測試、測量和自動化的應用[2]。因此應用虛擬儀器技術對上述測頻方法進行分析研究,使得整個測頻系統開發周期短、使用方便靈活以及測量精度高。
1 系統的結構及工作原理
虛擬儀器由硬件平臺和應用軟件組成,其中硬件平臺包括計算機和IO接口設備。虛擬儀器測試的實質是在以計算機為核心的硬件平臺上,利用IO接口設備完成信號的加載、采集與調理,結合虛擬儀器開發軟件完成硬件配置、用戶界面設置、信號數據分析、波形顯示和數據記錄等各種測試功能的一種計算機儀器系統[3]。
系統硬件結構由被測電路板交流信號輸入部分、濾波及信號調理電路、USB數據采集卡、計算機或者工控機組成,如圖1所示。
圖1 系統結構
被測電路板的交流信號經濾波電路以濾除一些噪聲干擾,而信號調理單元完成被測信號的衰減、變換和適配,使其符合數據采集卡的輸入要求。數據采集卡采用阿爾泰公司生產的USB2812。USB2812卡是一種基于USB總線的數據采集卡,可直接和計算機的USB接口相連[4]。它擁有12位的AD精度,250 kHz/s的模/數轉換頻率,單端16路或差分8路的模擬量輸入,8 KWord FIFO的AD緩存器,以及多種模擬量、數字量的觸發方式,滿足檢測系統的數據采集、波形分析和處理功能的要求。
2 頻率測量算法的推導與分析
離散傅里葉變換法在采樣頻率和數據窗選擇合適的情況下能正確求出模型參數;考慮到實測偏離理想條件,利用前后窗DFT(FFT)結果來估計系統的基頻[5]。DFT(FFT)算法具有一定的不敏感于諧波分量的特性,且能較好地抑制非周期分量。頻率偏離50 Hz時,計算頻率有采樣不同步誤差,影響測量精度,在DFT(FFT)算法的基礎上采用自適應調整采樣間隔或調整數據窗長度的技術可實現較高精度的測頻[6]。
2.1 基于傅氏變換的測頻原理
設連續信號xa(t)持續時間為Tp,最高頻率為fc。xa(t)的傅里葉變換為:
xa(jf)=FT[xa(t)]=∫∞-∞xa(t)ej2πftdt(1)
對xa(t)以采樣間隔T≤1/2fc(即f=1/T≥2fc)采樣得xa′(t)=x(nT)。設共采樣N點,并對xa(jf)做零階近似(t=nT,dt=T)得:
xa′(jf)=T∑N-1n=0xa(nT)e-j2πnT(2)
顯然,xa(jf)仍是f的連續周期函數。對xa′(jf)在區間[0,fc]上等間隔采樣N點,采樣間隔為F。參數fc,Tp,N和F滿足如下關系式:
F=fc/N=1/(NT)(3)
由于NT=Tp,所以:
F=1/Tp(4)
將f=kF和式(3)代入xa′(jf)中可得xa(jf)的采樣:
xa′(jkF)=T∑N-1n=0xa(nT)e-j2πNkn, 0≤k≤N-1
令xa(k)=xa′(jkF),x(n)=xa(nT),則:
xa(k)=T∑N-1n=0x(n)e-j2πNkn=T#8226;DFT[x(n)](5)
式(5)說明,連續信號的頻譜特性可以通過對連續信號采樣并進行DFT再乘以T的近似方法得到[7]。
因為余弦信號cos ω0t的傅里葉變換式為πδ(ω-ω0)+πδ(ω+ω0),把余弦信號離散成x(n),而x(n)的DFT變換式x(k)見式(5),x(k)是對cos ω0t的傅里葉變換x(ejω)的一種近似。如果對余弦信號取得周期越多及對每一周期內采樣的點數越多,則近似的效果越好。根據余弦信號cos ω0t的DFT變換的特殊性和式(4)所表達的關系,可以很容易通過余弦信號cos ω0t的DFT變換式x(k)給出余弦信號角頻率ω0的表達式:
ω0=k0/Tp(6)
式中:k0為xa(k)的模中最大值所對應的2個橫坐標中較小的一個值。
2.2 自適應遞推傅氏算法
上述測量方法的頻率分辨率為fs/N。因N受內存容量和計算速度等條件的限制,且fs必須滿足抽樣定理,因此,該方法測量頻率的精度和實時性仍不夠強。此外,FFT法還存在柵欄效應。下面,針對第一種測量方法存在的不足,對自適應遞推傅氏算法頻率測量方法進行推導[8]。
設被測電路板的額定頻率為f0,系統實際頻率為f,則f=f0+Δf,系統電壓為:
U(t)=Ucos[2πft+α0]=Ucos(2πf0t+2πΔft+α0)
令:θ(t)=2πΔft+α0,則:
U(t)=Ucos[2πf0t+θ(t)](7)
每周期采樣n個點,通常取n=128。設初始采樣頻率為nf0,采樣時間間隔t=1/(nf0),將式(7)寫成離散形式,則第k個采樣電壓值為:
uk=Ucos[2πk/n+θ(t)](8)
其離散傅氏變換:
UR=2n∑nk=1ukcos(2πk)/n
UI=2n∑nk=1uksin(2πk)/n
設第m個數據窗(um,um+1,um+2,…,um+n-1)由離散傅氏變換計算出相量為Um,對第m+1個數據窗(um+1,um+2,um+3,…,um+n)進行遞推計算,則相量Um+1的實部和虛部分別為:
Um+1R=UmR+(2/n)(un+m-um)cos[(2π/n)m]
Um+1I=UmI+(2/n)(un+m-um)sin[(2π/n)m](9)
從式(9)中可看出,遞推傅氏算法在每步采樣周期后,用于計算每個基波分量的運算量僅為1次乘法和2次加法。
遞推傅氏算法所得相量在復平面內保持不動。但當系統頻率發生偏移Δf時,相量將在復平面內以2πΔf的速度旋轉。當系統實際頻率大于系統額定頻率f0時,沿逆時針旋轉;當系統實際頻率小于系統額定頻率f0時,沿順時針旋轉。因此,可以通過測量相量幅角的變化實時測量頻率[9]。
由于:
θ(t)=arctg(UI/UR)(10)
又:θ(t)=2πΔft+α0,dθ(t)dt=2πΔf
所以:
Δf=12πdθ(t)dt12πθm+n(t)-θm(t)T0
=12πθm+n(t)-θm(t)T0(11)
系統頻率可通過f=f0+Δf計算出來。
用式(11)計算Δf時,由于實際頻率未知,計算出的基波信號相位的變化受采樣不同步的影響存在誤差,當偏離程度比較大時,會嚴重影響頻率測量的精度。因而,采用自適應調整采樣間隔技術,即采樣間隔為T1/n,T1為上次測量到的頻率f1的倒數,則式(11)變為:
Δf=12πθ1+n(t)-θ1(t)T1(12)
采用自適應調整采樣間隔后,得到的測量頻率具有很高的精度,足以滿足系統測頻的精度要求。
3 算法在LabWindows/CVI平臺上的應用
系統采用NI公司推出的LabWindows/CVI虛擬儀器軟件開發平臺。系統將基于DFT的交流信號頻率測量方法和改進后得到的遞推傅氏頻率測量方法應用到數據處理中,即可完成虛擬儀器的軟件設計,實現系統頻率的精確測量。
3.1 基于傅氏變換的頻率測量方法
基于傅氏變換的頻率測量方法如圖2所示。
圖2 基于DFT測頻
正弦信號與余弦信號的實現過程類似,本文僅以余弦信號為例來介紹此算法的計算機實現過程(如圖2所示)。對于圖2中所示的余弦信號,此時的采樣間隔為ts=1/6 400 s,總共采了1 024個點(即N=1 024)。對其離散信號x(n)進行離散傅里葉變換得到結果X(k)。根據上面介紹的原理,k從0~512的范圍中尋找最大的x(k)所對應的k0值,利用公式(6)可以計算出余弦信號的頻率及角頻率。圖中x(k)值最大時所對應的k0=8,這時可以計算出余弦信號的頻率f=8/(1 024ts)=50 Hz。因為x(k)是對cos ω0t的傅里葉變換x(ejω)的一種近似,所以通過式(6)計算出的頻率也只是余弦信號頻率的近似值。
3.2 自適應遞推傅氏測頻方法
此算法應用到LabWindows/CVI中對交流信號的實時分析界面如圖3。每周期信號采集128點,初始采樣頻率為6 400,采樣間隔為T=1/6 400。當對偏離50 Hz的電壓信號進行采樣時,將引起采樣不同步造成誤差。因而采用了自適應調整采樣間隔技術,即即采樣間隔為T1/128,T1為上次測量到的頻率f1的倒數,128為每周波采樣點數。
圖3 遞推傅氏測頻
4 測頻結果與分析
測試過程中,所選用的信號頻率分別為30 Hz,50 Hz,100 Hz。兩種算法的測試結果如表1所示。表中還給出了2種測頻時的測量誤差。
表1 兩種測頻算法測頻結果對比
選用頻率/Hz
基于DFT測頻
結果/Hz誤差
遞推傅氏測頻
結果/Hz誤差
3031.250 00-1.2530.001 62-0.001 62
5050.000 00050.002 700.002 70
8081.250 001.2580.004 320.004 32
從表1中可以看出,基于DFT的交流信號頻率測量方法的精度受頻率偏移的影響較大。如果對30 Hz的正弦信號進行檢測,誤差已經超過了1 Hz。而遞推傅氏算法利用傅里葉變換的相位信息來測量頻率值,從而消除了FFT的柵欄效應;同時,這種方法又具備FFT的抗干擾性能,采用自適應調整采樣間隔技術后,使其頻率測量值更得到極大提高。
5 結 語
本文在分析傅氏測頻算法的基礎上,推導設計了基于相位差的遞推傅氏測頻算法。應用到虛擬儀器對電路板交流信號檢測中,經過改進的傅氏測頻算法的誤差小于0.005 Hz,明顯優于常規傅氏算法,具有極高的測頻精度,可以滿足電路板檢測系統頻率測量的要求。
參考文獻
[1]曹建設.基于LabWindows/CVI的交流電參數測量技術研究[D].成都:西南交通大學,2005.
[2]王建新,楊世鳳,隋美麗.LabWindows/CVI測試技術與工程應用[M].北京:化學工業出版社,2006.
[3]徐健茹.電路板通用自動測試系統設計及技術研究[D].西安:西北工業大學,2001.
[4]USB2812數據采集卡硬件使用說明書[M].北京:北京阿爾泰科技發展有限公司,2008.
[5]朱燦焰.頻率精確測量方法研究[J].現代雷達,2004,26(7):54-56.
[6]卞星明,文遠芳,雷琴.電力系統測頻算法比較[J].高電壓技術,2006,32(5):111-114.
[7]張志明,李蓉艷,王磊,等.精度頻率信號采集測試系統[J].儀器儀表學報,2002,23(3):159-160.
[8]徐華.頻率信號采集測試系統[J].中國水運,2008,8(8):113-114.
[9]王峰,傅有光,夏映玲,等.基于離散傅里葉變換的數字高速測頻[J].2007,22(3):370-373.
[10]歐立權,黃純,趙偉明,等.基于虛擬儀器技術的電力系統頻率測量[J].計算機測量與控制,2007,25(9):1132-1134.