0 引言
LabVIEW——Laboratory Virtual Instrument Engineering Workbench(實驗室虛擬儀器集成環境)是美國國家儀器公司(NATIONAL INSTRUMENTS,簡稱NI)的創新軟件產品,也是目前應用最廣、發展最快、功能最強的圖形化軟件集成開發環境。它能夠以其直觀簡便的編程方式、眾多的源碼級的設備驅動程序、多種多樣的分析和表達功能支持,為用戶快捷地構筑自己在實際生產中所需要的儀器系統創造了基礎條件。
LabVIEW經過二十多年的發展已經充分證明:LabVIEW是極具威力的自動化測試、測量工程設計、開發、分析及仿真試驗的最佳軟件系統。現在已被廣泛應用在汽車、電子、化工、生物及生命科學、航空、航天等等許許多多的領域。
在數據采集的環境下,信號的頻率測量和信號的頻率跟蹤是基本且重要的問題。只有測得被測信號的頻率后,才有可能對其實現整周期采樣,從而為接下來的數字信號處理創造有利條件。頻率測量也一是周期測量,常用的方法可分成時域方法和頻域方法。一般說來,常見的測量數據大都是用時域的方式來表示的,它們反映在直角坐標系中,常用橫軸表示時間變量,以縱軸表示隨時間變化的物理量。時域方法的主要優點是直接、相對簡單較且容易估算誤差。下面我們以三點法為算法,輔以實例探討一下頻率測量的基本方法。
1 測量原理及算法
三點法是一種建立在三角函數變換基礎上的數據擬合方法。假設被測函數是正弦函數,在等間隔采樣的前提下(包括非整周期采樣)可以利用相鄰3個數據樣本,導出求解信號頻率的線性方程,進而擬合出方程的系數,最終求出頻率。[1]推導如下:
式(1-1)就是所需要的線性方程。這里有n個方程,只有一個未知數 ,用最小二乘法擬合可以得到一個較準確的斜率 ,進而用式(1-2)求出頻率。
線性擬合的一般形式是 F=mX+b,其中,F是表征最佳擬合的數列;m是斜率;b是截距。
2 程序代碼
在LabVIEW中,線性擬合的函數為Linear Fit Coefficients,其功能為尋找一個線性方程的斜率和截距,使它們確定的直線能最佳地描述一組輸入數據。[2]該函數的圖標如下:
其中,Y Values和X Values至少包含2個點,即n≥2;slope是所做線性擬合的斜率;intercept是所做線性擬合的截距。
式(1-1)給出的方程比較簡單,其截距為0。
LabVIEW給出了函數Pulse Measurements,它可以直接用來計算波形的周期。如圖所示,程序將用它做計算并與上述方法進行比較。
圖1 三點法程序框圖
如圖1所示,為了使過程接近于實際采集過程,信號源疊加了隨機噪聲。所產生的信號數組經過循環,產生所需要的數組y(n)、x(n);然后經線性擬合求出 ;最終求得“測量頻率1”。同時,作為比較,該程序還用計算周期的函數Pulse Measurements做出“測量頻率2”。兩個測量都給出了相對誤差。
圖2為程序前面板。前面板顯示噪聲為0和0.01時的兩個實驗結果。實驗是在非整周期采樣條件下進行的,每周期約10個樣本,并采集10個周期的數據。由結果可以看出,在無噪聲的情況下,“測量頻率1”的相對誤差為0,“測量頻率2”的相對誤差為0.05%;當迭加1%的噪聲后,“測量頻率1”的相對誤差為0.02%,“測量頻率2”的相對誤差為0.14%。由此可見,三點法的效果是不錯的。
3 結束語
LabVIEW語言程序編程容易并且修改方便,具有良好的人機界面和強大的數據分析處理函數庫。本文提出了一種基于LabVIEW軟件虛擬儀器實現的三點法頻率測量技術,該方法具有頻率計算簡單、測量誤差小的優點。三點法的主要問題是,它要求信號只能是正弦波,也有文獻討論了在含諧波與直流分量的情況下該方法的使用問題。
參考文獻:
[1] 侯國屏.王坤. LabVIEW7.1程序與虛擬儀器設計.北京 清華大學出版社.2005.
[2] National Instruments. LabVIEW Help. 2003(3).