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