基于LabWindows的錄波分析儀的設計
3.2 數(shù)據(jù)的采集及存儲
為了避免數(shù)據(jù)阻塞,減少運行過程中數(shù)據(jù)采集與用戶界面的影響,本錄波儀的軟件部分采用多線程技術。LabWindows提供有線程池(th-readpool)和異步定時器(asynchronous timers)兩種多線程機制。本文采用線程池及機制編寫。但采用多線程有可能造成數(shù)據(jù)不必要的改動甚至出錯,因此,LabWindows提供了線程安全隊列進行數(shù)據(jù)保護。它可將采集到的數(shù)據(jù)寫入安全隊列,分析數(shù)據(jù)時再從安全隊列中取出。數(shù)據(jù)存儲采用二進制形式,數(shù)據(jù)采集及存儲的部分程序如下:
3.3 數(shù)據(jù)分析
數(shù)據(jù)分析主要是分析信號的有效值、功率、諧波分量、相位角等信息。諧波分量、相位角分析采用FFT算法,可通過極坐標的變換得到;功率譜分析也可利用FFT算法及相應算法得到。FFT可以實現(xiàn)時域向頻域的轉化,其函數(shù)原型為:
Int status=FFT(double x[],double y[],intn);
其中,參數(shù)x輸出為傅立葉變換的實部,y輸出為傅立葉變換的虛部。x和y既是輸入,也是輸出,n為x,y的長度,并且一定是2的整數(shù)次冪。實現(xiàn)該功能的核心代碼如下:
4 結束語
試驗結果顯示,本文設計的錄波儀不僅可以實現(xiàn)傳統(tǒng)錄波儀的功能,而且具有造價低,使用方便,可實現(xiàn)資源共享等特點。此外,本系統(tǒng)還可改成分布式系統(tǒng),即采用嵌入式主板加數(shù)據(jù)采集卡,然后通過網(wǎng)絡上傳數(shù)據(jù)文件,而用上位機接收數(shù)據(jù),最后進行處理并顯示。本文引用地址:http://2s4d.com/article/195030.htm
評論