基于PCI總線(xiàn)和DSP技術(shù)的虛擬儀器系統設計
2 FFT算法的實(shí)現
系統需要針對DSP數據采集模塊,開(kāi)發(fā)并實(shí)現對模擬信號的采集以及對數據進(jìn)行FFT(快速傅立葉變換)算法處理的程序。
作為一般的情況,設:x(n)和X(k)都是復數,因為從實(shí)際計算過(guò)程看,實(shí)數和復數沒(méi)有區別,唯一不同的是:實(shí)數的虛部為零,表達式簡(jiǎn)單些。而運算過(guò)程所有的計算都是對實(shí)數進(jìn)行的,如果信號或頻譜是復數,就把最后計算的結果再組合成為復數分量。FFT運算的基本單元是“蝶形單元”,其蝶形運算的基本形式如下式所示:
所有蝶形單元的運算可統一表示為
(1)
式(1)中,A和B是蝶形單元的輸入,C和D是輸出。同時(shí)將表示為
(2)
式(1)可以表示為虛部和實(shí)部形式,帶下標R的字符表示實(shí)部,帶下標I的為虛部,即
(3)
根據算法原理和上面的說(shuō)明,用C語(yǔ)言編制出一個(gè)按時(shí)間抽取的FFT算法程序,結構上分為幾個(gè)部分:首先是碼位的倒置,然后根據計算的點(diǎn)數確定蝶形運算的級數,接著(zhù)是逐級進(jìn)行蝶形運算,完成FFT運算。
3 應用控制軟件的設計
圖6 控制軟件功能模塊框圖
整個(gè)應用控制軟件的功能模塊框圖如圖6所示。
基于以上的控制功能模塊圖,選擇使用VC++來(lái)實(shí)現本系統應用軟件的人機界面以及對系統的控制功能。VC++的開(kāi)發(fā)環(huán)境集編輯、編譯、連接、調試、向導等多項功能于一體,并且提供了目前成為業(yè)界標準的MFC(MicrosoftApplication Foundation Classes)類(lèi)庫。
我們開(kāi)發(fā)的虛擬儀器系統PC端控制軟件可實(shí)現數據波形顯示、端口配置、內存讀寫(xiě)以及對儀器的控制功能,其主界面如圖7所示。
圖7 程序主界面
結語(yǔ)
本設計實(shí)現了基于DSP技術(shù)與PCI總線(xiàn)的數據采集處理卡,開(kāi)發(fā)了虛擬式實(shí)時(shí)多通道FFT頻譜分析儀的應用程序以及主機監控界面。通過(guò)在數據采集卡上集成DSP,使得該卡不但能實(shí)時(shí)不掉點(diǎn)地采集外界信號,而且能在卡上實(shí)現數字濾波、FFT頻譜分析。
整個(gè)系統經(jīng)過(guò)綜合調試和嚴格測試后,達到設計需求,業(yè)已投入實(shí)際使用。
評論