32階FIR濾波器的FPGA實(shí)現
3 FPGA仿真與驗證
由于直接將大量數據進(jìn)行硬件仿真驗證很不方便,因此利用Matlab產(chǎn)生一個(gè)采樣頻率為100 MHz,頻率分別為1 MHz與30 MHz的兩個(gè)正弦信號相加后,作為輸入信號。同樣,浮點(diǎn)變?yōu)槎c(diǎn),將此信號進(jìn)行12位量化,并將負數轉化為補碼形式,按照一定格式保存為.vec文件,導入到QuartusⅡ中進(jìn)行仿真,時(shí)序功能仿真結果如圖2所示。本文引用地址:http://dyxdggzs.com/article/188447.htm
其中,clk為時(shí)鐘信號,x_in為濾波器輸入信號,y為濾波器輸出信號。圖2并不能很直觀(guān)地看出并行分布式算法產(chǎn)生的濾波效果,可以將QuartusⅡ中.vwf文件轉化為.tbl文件,在Matlab中按照一定形式編程可以得到時(shí)域及頻域波形圖,如圖3,圖4所示。
圖3,圖4中,軟件仿真是直接在Matlab中用輸入信號與濾波系數卷積得到的,在時(shí)域波形中軟件仿真輸出信號與理想信號相比有一定時(shí)間延遲,而QuartusⅡ仿真與軟件仿真結果中幅度的差別是由于硬件輸入量化產(chǎn)生的。
從時(shí)域或者頻域波形圖可以看出,頻率為30 MHz的信號被濾除掉,只有頻率為1 MHz的信號通過(guò)濾波器,達到了濾波的目的。
4 結 語(yǔ)
本設計選用Stratix系列芯片,最大處理速度可以達到200 MHz以上。本文沒(méi)有考慮線(xiàn)性相位的濾波器對稱(chēng)性,在考慮線(xiàn)性相位的基礎之上結合一些其他算法可以降低器件數量和進(jìn)一步提高處理速度。由于FPGA器件的可編程特性,在本設計中可以修改濾波器參數,得到高速處理的高通或者帶通數字濾波器,具有一定實(shí)用價(jià)值。另外,本文利用QuartusⅡ與Matlab聯(lián)合仿真,極大地提高了FPGA的設計效率。
評論