<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于XC2V1000型FPGA的FIR抽取濾波器的設計

基于XC2V1000型FPGA的FIR抽取濾波器的設計

作者: 時(shí)間:2006-09-14 來(lái)源:網(wǎng)絡(luò ) 收藏
摘要:介紹XC2型現場(chǎng)可編程門(mén)陣列()的主要特性和抽取濾波器的工作原理,重點(diǎn)闡述用XC2實(shí)現抽取濾波器的方法,并給出仿真波形和設計特點(diǎn)。
關(guān)鍵詞抽取濾波器;流水線(xiàn)操作;XC2;現場(chǎng)可編程門(mén)陣列

1 引言
抽取濾波器廣泛應用在數字接收領(lǐng)域,是數字下變頻器的核心部分。目前,抽取濾波器的實(shí)現方法有3種:?jiǎn)纹ㄓ脭底譃V波器集成電路、DSP和可編程邏輯器件。使用單片通用數字濾波器很方便,但字長(cháng)和階數的規格較少,不能完全滿(mǎn)足實(shí)際需要。使用DSP雖然簡(jiǎn)單,但程序要順序執行,執行速度必然慢?,F場(chǎng)可編程門(mén)陣列()有著(zhù)規整的內部邏輯陣列和豐富的連線(xiàn)資源,特別適用于數字信號處理,但長(cháng)期以來(lái),用實(shí)現抽取濾波器比較復雜,其原因主要是FPGA中缺乏實(shí)現乘法運算的有效結構?,F在,FPGA集成了乘法器,使FPGA在數字信號處理方面有了長(cháng)足的進(jìn)步。本文介紹用Xilinx公司的XC2V1000型FPGA實(shí)現FIR抽取濾波器的設計方法。

2 XC2V1000簡(jiǎn)介
Virtex-Ⅱ系列是Xilinx公司近幾年研發(fā)的具有高性能、高速度和低功耗特點(diǎn)的新一代FPGA,一經(jīng)問(wèn)世就備受界內人士的青睞。該系列FPGA基于IP核和專(zhuān)用模塊設計,能夠為電信、無(wú)線(xiàn)電、網(wǎng)絡(luò )、視頻和數字信號處理領(lǐng)域的應用提供完整的解決方案。XC2V1000是Virtex-Ⅱ家族的一員,具有如下主要特點(diǎn):
●100萬(wàn)個(gè)系統門(mén);
●4032個(gè)可配置邏輯單元(5120個(gè)slice);
●40個(gè)1818 bits乘法器,1個(gè)工作時(shí)鐘內即可完成乘法運算;
●720Kbits RAM,可靈活配置(單口、雙口、有使能或無(wú)使能等);
●8個(gè)DCM(Digital Clock Manager)模塊;
●328個(gè)用戶(hù)I/O。

此外,Xilinx公司還提供了功能強大的開(kāi)發(fā)平臺(ISE),開(kāi)發(fā)者可通過(guò)該平臺完成全部設計。

3 抽取濾波器的工作原理
抽取濾波器的工作原理是在濾波過(guò)程中實(shí)現抽取。對于抽取率為N的抽取濾波器而言,不是每進(jìn)入1個(gè)新數據就完成1次濾波運算,然后再抽取,而是當進(jìn)來(lái)N個(gè)數據時(shí)濾波器才完成1次濾波運算,輸出1次濾波結果。抽取濾波器的結果和先濾波后抽取的結果是一致的,只是對于同樣的數據,進(jìn)行濾波運算的次數大大減少。在數字系統中采用抽取濾波器的最大優(yōu)點(diǎn)是增加了每次濾波的可處理時(shí)間,從而達到實(shí)現高速輸入數據的目的。下面以抽取率為2的具有線(xiàn)性相位的3階FIR抽取濾波器為例介紹抽取濾波器的實(shí)現過(guò)程。


線(xiàn)性相位的FIR濾波器的系數具有某種對稱(chēng)的性質(zhì)[1],3階Ⅱ類(lèi)FIR線(xiàn)性相位濾波器在數學(xué)上可以表示為



其中,h(0)=h(3),h(1)=h(2)。其結構如圖1所示。由圖1可見(jiàn),具有4個(gè)系數的3階Ⅱ類(lèi)FIR線(xiàn)性相位濾波器只需2次加法、2次乘法和2次累加就可以完成1次濾波運算。如果IPGA工作時(shí)鐘為80MHz,輸入x(n)的數據率也為80MHz,那么經(jīng)2倍抽取后輸出y(n)為40MHz。也就是說(shuō),抽取濾波器每完成1次濾波運算,需要2個(gè)工作時(shí)鐘。如果加法器、乘法器和累加器在單個(gè)時(shí)鐘內就能完成1次功能運算,那么只需1個(gè)加法器、1個(gè)乘法器和1個(gè)累加器采用流水線(xiàn)操作在2個(gè)工作時(shí)鐘內就可以完成2次加法、2次乘法和2次累加運算,就可以完成一次抽取濾波。

4 具體實(shí)現
4.1 結構設計
基于上述抽取濾波器的工作原理,筆者用XC2V1000實(shí)現了這個(gè)抽取率為2、具有線(xiàn)性相位的3階FIR抽取濾波器,利用原理圖和VHDL硬件描述語(yǔ)言共同完成源文件設計。圖2是抽取濾波器的頂層原理圖。其中,clock是工作時(shí)鐘,reset是復位信號,enable是輸入數據有效信號,data_in(17:0)是輸入數據,data_out(17:0)是輸出數據,valid是輸出數據有效信號。addei18是加法器模塊,mult18是乘法器模塊,acc36是累加器模塊,signal_36-18是數據截位器模塊,fir_controller是控制器模塊??刂破鞫〞r(shí)向加法器、乘法器和累加器發(fā)送數據或控制信號,實(shí)現流水線(xiàn)操作。

4.1.1控制器(fir_controller)
控制器是抽取濾波器的核心模塊,有2種功能:接收輸入數據,向其他模塊發(fā)送數據和控制信號。它根據加法器、乘法器和累加器的時(shí)序特性,規律地向加法器發(fā)送抽頭數據,向乘法器發(fā)送系數,向累加器發(fā)送控制信號,讓加法器、乘法器和累加器每個(gè)時(shí)鐘都完成指定的任務(wù),從而實(shí)現流水線(xiàn)操作??刂破饔肶HDL語(yǔ)言描述,用寄存器存放抽頭和系數。

4.1.2加法器(adder18)
加法器的輸入和輸出都是18bits,用VHDL語(yǔ)言描述實(shí)現。它有2個(gè)工作時(shí)鐘的延遲,在輸入數據準備好的情況下,第一個(gè)時(shí)鐘得出相加結果,第二個(gè)時(shí)鐘把相加結果鎖存輸出。

4.1.3乘法器(multl8)
乘法器是18bits輸入和36bits輸出,用庫元件MULT18X18S和36bits鎖存器實(shí)現。MULT18Xl8S是XC2V1000自帶的1818bits乘法器,單個(gè)時(shí)鐘就可完成乘法運算;36bits鎖存器工作于時(shí)鐘的上升沿,用VHDL語(yǔ)言描述。乘法器(mult18)也有2個(gè)工作時(shí)鐘的延時(shí),在輸入數據準備好的情況下,第一個(gè)時(shí)鐘得出相乘結果,第二個(gè)時(shí)鐘把相乘結果鎖存輸出。加法器和乘法器采用鎖存輸出的結構,雖然增加了1個(gè)工作時(shí)鐘的延遲,但有利于抽取濾波器穩定的工作,提高可靠性。

4.1.4累加器(acc36)
36bits累加器用于累加乘法器的輸出,得出濾波結果。它有1個(gè)控制端口clr,當clr為高電平時(shí),輸出前一輪累加結果,并初始化開(kāi)始新一輪累加;當clr為低電平時(shí).進(jìn)行累加運算。累加器用VHDL語(yǔ)言描述。

4.1.5數據截位器(signal_36-18)
數據截位器用VHDL語(yǔ)言描述,用于把累加器的36位輸出進(jìn)行取舍處理,一般截掉數據低位部分,保留數據高位。為了對抽取濾波器進(jìn)行功能仿真,這里截掉數據高18位,保留數據低18位。

4.2 工作過(guò)程及功能仿真
加法器、乘法器和累加器在控制器的作用下每個(gè)時(shí)鐘都要完成指定的任務(wù),從而形成流水線(xiàn)操作,實(shí)現抽取濾波。

下面以抽取濾波器完成1次抽取濾波的全過(guò)程為例,說(shuō)明抽取濾波器的工作過(guò)程。假設時(shí)鐘1、時(shí)鐘2、時(shí)鐘3和時(shí)鐘4控制器已接收了數據x(n-3)、x(n-2)、x(n-1)和x(n),那么,

時(shí)鐘5:控制器向加法器發(fā)送數據x(n)和x(n-3);
時(shí)鐘6:加法器進(jìn)行。x(n)+x(n-3)運算;控制器向加法器發(fā)送數據x(n-1)和x(n-2);
時(shí)鐘7:加法器進(jìn)行x(n-1)+x(n-2)運算,輸出x (n)+x(n-3)運算結果??刂破飨虺朔ㄆ靼l(fā)送系數h(0);
時(shí)鐘8:加法器輸出x(n-1)+x(n-2)運算結果,乘法器進(jìn)行h(0)[x(n)+x(n-3)]運算,控制器向乘法器發(fā)送系數h(1) ;
時(shí)鐘9:乘法器進(jìn)行h(1)[x(n-1)+x(n-2)]運算,輸出h(0)[x(n)+x(n-3)1運算結果??刂破飨蚶奂悠靼l(fā)送控制信號(clr為高電平);
時(shí)鐘10:乘法器輸出h(1)[x(n-1)+x(n-2)]運算結果。累加器初始化開(kāi)始累加操作??刂破飨蚶奂悠靼l(fā)送控制信號(clr為低電平);
時(shí)鐘11:累加器進(jìn)行累加運算h(0)[x(n)+x(n-3)]+h(1)[x(n-1)+x(n-2)]??刂破飨蚶奂悠靼l(fā)送控制信號(clr為高電平),控制器輸出濾波數據有效信號(valid為高電平);
時(shí)鐘12:累加器輸出h(0)[x(n)+x(n-3)]+h(1)[x(n-1)+x(n-2)]累加結果,并初始化開(kāi)始新一輪累加操作??刂破鬏敵鰹V波數據無(wú)效信號(valid為低電平);

以上就是抽取濾波器完成1次抽取濾波的全過(guò)程??梢?jiàn),從數據x(n)輸入到濾波結果y(n)輸出需要8個(gè)工作時(shí)鐘。如果控制器不停地向加法器、乘法器和加法器發(fā)送抽頭、系數和控制信號,就會(huì )形成流水線(xiàn)操作,那么每2個(gè)時(shí)鐘,抽取濾波器就會(huì )輸出1個(gè)濾波結果。圖3是抽取濾波器的仿真波形圖,其中在控制器中設置系數h(0)=1和h(1)=2。

4.3注意事項
2個(gè)n位二進(jìn)制數相加,其和至少需要n+l位二進(jìn)制數才能正確表示。本設計中的加法器輸入輸出都是18位,為了防止加法器溢出,應確保18位輸入數據x(n)的最高2位相同(都是符號位)。

為了實(shí)現抽取濾波器的多級串聯(lián)結構,應統一輸入數據有效信號enable和輸出數據有效信號valid的時(shí)序要求。本設計規定控制器在累加器輸出濾波結果數后下1個(gè)時(shí)鐘送出濾波結果有效信號,時(shí)寬為1個(gè)工作時(shí)鐘周期。

5 設計特點(diǎn)
采用此設計結構實(shí)現抽取濾波器具有以下3個(gè)特點(diǎn):

(1)節省片內資源和提高資源使用效率
Xilinx公司為了方便用戶(hù)設計濾波器,在IP核中集成了通用數字濾波器的設計,但利用IP核生成的數字濾波器往往不能針對實(shí)際情況合理地利用片內資源,造成資源浪費。本設計中采用了流水線(xiàn)結構,所有功能模塊都滿(mǎn)負荷工作,沒(méi)有空閑等待時(shí)鐘,從而節省了片內資源,提高了資源使用率。

(2)可以實(shí)現抽取濾波器多級結構
針對抽取濾波器的輸出特性,可以采取相同的設計方法再設計一級抽取濾波器,對前一級輸出的數據再次抽取濾波,從而實(shí)現多級抽取濾波器結構。

(3)設計靈活且擴展性強
用寄存器存放抽頭和系數適用于濾波器階數較少的情況,如果需要用上百階的抽取濾波,最好用片內:RAM存放抽頭和系數,這時(shí)只要稍加改動(dòng)控制器的邏輯設計既可實(shí)現。在此基礎上,還可實(shí)現可編程抽取濾波器。

6 結束語(yǔ)
本文以實(shí)現抽取率為2的具有線(xiàn)性相位的3階FIR抽取濾波器為例,介紹了一種用XC2V1000型FPGA實(shí)現FIR抽取濾波器的設計方法。用該方法設計出的抽取濾波器靈活性強、資源利用率高,能廣泛應用于數字接收領(lǐng)域。



關(guān)鍵詞: V1000 1000 FPGA FIR

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>