頻譜分析儀是微電子測量領(lǐng)域中zui基礎(chǔ)、zui重要的測量儀器之一,是從事各種電子產(chǎn)品研發(fā)、生產(chǎn)、檢驗的重要工具。高分辨率、寬頻帶數(shù)字頻譜分析的方法和實現(xiàn)一直是該領(lǐng)域的研究熱點[1]?,F(xiàn)代頻譜分析儀是基于現(xiàn)代數(shù)字信號處理理論的頻譜分析儀,信號經(jīng)過前置預處理、抗混疊濾波、a/d變換、數(shù)字頻譜分析等環(huán)節(jié)而得到信號中的頻率分量,達到與傳統(tǒng)頻譜分析儀同樣的結(jié)果。
本設(shè)計*利用fpga實現(xiàn)fft,在fpga上實現(xiàn)整個系統(tǒng)構(gòu)建。其中cpu選用altera公司的niosii軟核處理器進行開發(fā),硬件平臺關(guān)鍵模塊使用altera公司的eda軟件quartusiiv8.0完成設(shè)計。整個系統(tǒng)利用niosii軟核處理器通過avalon總線進行系統(tǒng)的控制。全文重點闡述了整個系統(tǒng)的設(shè)計流程,同時對于方案中的設(shè)計思路和重要部分給予說明。
1、系統(tǒng)設(shè)計方案
頻譜分析儀一般分為兩類:
一種是掃頻調(diào)諧式的分析儀,此類分析儀通過各類濾波,再經(jīng)過一個外差的接收機,把輸入信號中的中頻信號進行分析,從而得到頻譜分析的結(jié)果。這是現(xiàn)在zui為普遍的頻譜分析儀結(jié)構(gòu),此類分析儀結(jié)構(gòu)復雜[2]。
另外一種是動態(tài)的信號分析儀,即快速傅里葉變換fft分析儀。它利用fft將信號分解成分立的頻率分量,由模擬/數(shù)字轉(zhuǎn)換器(adc)直接對輸入信號取樣,經(jīng)過fft處理后獲得頻譜分布圖。此類分析儀速度明顯優(yōu)于傳統(tǒng)分析儀,可以進行實時分析。本文的設(shè)計就采用這種原理。
在此設(shè)計中,信號經(jīng)過濾波、放大之后,通過ad取樣,在fgpa內(nèi)對信號進行全硬件的數(shù)字濾波后,交給fft信息處理單元進行fft變換,zui后送到lcd顯示其頻譜分析的結(jié)果。
圖1是系統(tǒng)的硬件結(jié)構(gòu)框圖。整個系統(tǒng)設(shè)計主要由fpga的內(nèi)部硬件電路及外圍接口模塊構(gòu)成。
2、系統(tǒng)的硬件單元
2.1agc電路
因為輸入信號幅度變化較大,為了使信號的幅度恒定且其幅度滿足a/d采樣的范圍(高位為2v~3v),因此此設(shè)計中加入agc電路。本設(shè)計中的agc電路采用ad603型線性增益放大器[3]。
2.2adc電路
為保證adc輸入動態(tài)范圍的要求和對特定干擾的抑制,信號首先需要預處理。根據(jù)采樣定理,輸入adc的信號必須小于采樣頻率的1/2。adc是完成從模擬到數(shù)字轉(zhuǎn)換的關(guān)鍵環(huán)節(jié),它的精度和速度直接決定了頻譜分析儀的性能,所以adc應盡量選用精度和速度都比較高的芯片[4]。系統(tǒng)采用wm8731芯片實現(xiàn)adc,該芯片采用sigma-deltaadc方式,通過采樣和數(shù)字濾波技術(shù)實現(xiàn)低頻信號的高分辨率轉(zhuǎn)換和含有音頻信號的低失真轉(zhuǎn)換。
2.3lcd顯示模塊
本系統(tǒng)直接定義niosⅱ控制lcd液晶顯示模塊,利用fpga中的pio接口模擬lcd的接口電路。外圍電路上選用320×240液晶顯示模塊,選用sedl335作為液晶模塊的控制器。
3、fft/dft信號處理模塊的實現(xiàn)
3.1fifo模塊
ad采樣的數(shù)據(jù)不能立即送到nioscpu中進行處理,因為cpu還有許多其他任務(wù)要做,所以只有等ad采集到一定數(shù)量的數(shù)據(jù)之后再讀取采樣數(shù)據(jù),這樣節(jié)省cpu的時間[5]。因此首先需設(shè)計一個fifo來存儲ad采樣的數(shù)據(jù),等fifo中的數(shù)據(jù)滿之后再將它們讀取到cpu中進行處理。
fifo是一種先進先出的數(shù)據(jù)緩存器,根據(jù)fifo工作的時鐘域,可以將fifo分為同步fifo和異步fifo。本設(shè)計中采用了寬度為16bit,深度為256的異步fifo。
3.2fft/dft處理模塊
根據(jù)dft算法將信號處理的模塊分為乘累加器、平方器、加法器、開方器。
用再內(nèi)建fpga內(nèi)部到16bit雙口ram,可方便地使刷新數(shù)據(jù)和顯示讀出數(shù)據(jù)同時進行,而不產(chǎn)生邏輯沖突,同時也保留了結(jié)果的精度,其fpga實現(xiàn)模塊連接圖如圖2所示。
4、軟件設(shè)計方案
控制系統(tǒng)的主程序采用c語言和匯編語言編寫,程序分為下列幾個部分:采樣數(shù)據(jù)處理、fft轉(zhuǎn)換、標準參數(shù)設(shè)定、操作界面和頻譜顯示。
軟件流程圖如圖3所示。
5、實驗的結(jié)果與分析
給頻譜分析儀輸入峰-峰值為2v、頻率為100hz的方波信號,其信號處理結(jié)果見圖4。從圖4看出輸出的方波頻譜圖只有奇次諧波,沒有偶次諧波,而且此方波的基波、三次諧波、五次諧波和七次諧波的幅值滿足1、1/3、1/5、1/7的理論數(shù)值,這與方波理論頻譜基本相同[6],表1為其測量值與理論值的對比結(jié)果分析。
通過比對可以驗證分析儀的lcd顯示的頻譜圖形與其輸入信號的理論頻譜數(shù)值基本一致,譜線位置準確,幅度值與理論誤差較小,該頻譜分析儀較好地完成了測量信號頻譜的要求,達到了預期設(shè)計的要求。
該設(shè)計在分析和利用niosii軟核處理器和頻譜分析儀理論的基礎(chǔ)上,完成儀器硬件和軟件部分的設(shè)計。分析儀采用周期圖法進行頻譜分析,這樣可以保證測試結(jié)果較高的分辨率和頻率準確性;其中fft運算模塊采用全硬件級聯(lián)結(jié)構(gòu),不僅有效滿足了儀器對于信號處理實時性的要求,同時也節(jié)省了硬件資源;本設(shè)計可重構(gòu)性好,在多種不同的應用領(lǐng)域,可根據(jù)實際需要對模塊進行替換升級.選擇高性能ad和大邏輯資源的fpga等可以使性能得到大幅度提升;實現(xiàn)了片上設(shè)計,降低了系統(tǒng)的成本,實現(xiàn)了高集成度和可靠度。