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