一種基于FPGA并行流水線(xiàn)的FIR濾波器設(shè)計(jì)方案
FPGA有著規(guī)整的內(nèi)部邏輯塊陣列和豐富的連線(xiàn)資源,特別適合細(xì)粒度和高并行度結(jié)構(gòu)特點(diǎn)的數(shù)字信號(hào)處理任務(wù),如FIR、FFT等。利用FPGA實(shí)現(xiàn)FIR濾波器的設(shè)計(jì)過(guò)程,并且對(duì)設(shè)計(jì)中的關(guān)鍵技術(shù)一分布式算法進(jìn)行詳細(xì)描述。
FIR濾波器的結(jié)構(gòu)主要是非遞歸結(jié)構(gòu),沒(méi)有輸出到輸入的反饋。并且FIR濾波器很容易獲得嚴(yán)格的線(xiàn)性相位特性,避免被處理信號(hào)產(chǎn)生相位失真。而線(xiàn)性相位體現(xiàn)在時(shí)域中僅僅是h(n)在時(shí)間上的延遲,這個(gè)特點(diǎn)在圖像信號(hào)處理、數(shù)據(jù)傳輸?shù)炔ㄐ蝹鬟f系統(tǒng)中是非常重要的。此外,他不會(huì)發(fā)生阻塞現(xiàn)象,能避免強(qiáng)信號(hào)淹沒(méi)弱信號(hào),因此特別適合信號(hào)強(qiáng)弱相差懸殊的情況。
通常采用窗函數(shù)設(shè)計(jì)FIR濾波器方法簡(jiǎn)單,但是這些濾波器的設(shè)計(jì)還不是最優(yōu)的。首先通帶和阻帶的波動(dòng)基本上相等,另外對(duì)于大部分窗函數(shù)來(lái)說(shuō),通帶內(nèi)或阻帶內(nèi)的波動(dòng)不是均勻的,通常離開(kāi)過(guò)渡帶時(shí)會(huì)減小。若允許波動(dòng)在整個(gè)通帶內(nèi)均勻分布,就會(huì)產(chǎn)生較小的峰值波動(dòng)。對(duì)于線(xiàn)性相位因果FIR濾波器,它的系列具有中心對(duì)稱(chēng)特性,即h(i)=±h(N一1一i)。令s(i)=x(i)±x(N一1一i),對(duì)于偶對(duì)稱(chēng),代入式(1)可得:本文引用地址:http://www.ex-cimer.com/article/192107.htm
根據(jù)要求,要設(shè)計(jì)一個(gè)輸入8位,輸出8位的9階線(xiàn)性相位FIR濾波器,所以采用圖2(a)的方式,其中輸入信號(hào)范圍為:[99,0,0,O,99,O,0,0,99,O,0,0,99,…],此濾波器Fs為lOOkHz,F(xiàn)c為10kHz。利用MATLAB設(shè)計(jì)計(jì)算9階FIR濾波器系數(shù)和幅頻響應(yīng)如下:
整數(shù)化后,可得FIR濾波器的參數(shù)為:[4c,4f,50,52,52,52,50,4f,4c:]
根據(jù)以上所說(shuō)的思路,可以將FIR濾波器的原理圖設(shè)計(jì)如下:
下面對(duì)各加法器乘法器的輸出位數(shù)進(jìn)行分析,對(duì)第一級(jí)加法器,輸入為8位,輸出統(tǒng)一為9位,最后一個(gè)加法器為三輸入端,輸入都為8位,輸出為10位。對(duì)各個(gè)乘法器進(jìn)行分析,第一個(gè)乘法器為4c,因此輸入為9位,輸出為15位。第二個(gè)乘法器為4f,輸入為9位,輸出為15位。第三個(gè)乘法器為50,輸入為9位,輸出為15位。第四個(gè)乘法器為52,輸入為10位,輸出為16位。乘法器輸出結(jié)果兩兩相加,第一個(gè)加法器輸入都為15位,輸出為16位,第二個(gè)加法器,輸入分別為15位和16位,輸出為16位。最后這兩路輸出之和為16位。將后8位舍去,然后相加,總輸出為8位。至此,所有器件的輸入輸出都已經(jīng)判定。下面進(jìn)入模塊設(shè)計(jì)階段。
評(píng)論