基于XC2V1000型FPGA的FIR抽取濾波器的設計
發布時間:2008/5/26 0:00:00 訪問次數:635
    
    
    作者:國防科技大學atr實驗室 佟力永, 肖山竹
    
    摘要:介紹xc2v1000型現場可編程門陣列(fpga)的主要特性和fir抽取濾波器的工作原理,重點闡述用xc2v1000實現fir抽取濾波器的方法,并給出仿真波形和設計特點。
    
    關鍵詞:fir抽取濾波器;流水線操作;xc2v1000;現場可編程門陣列
    
    1 引言
    
    抽取濾波器廣泛應用在數字接收領域,是數字下變頻器的核心部分。目前,抽取濾波器的實現方法有3種:單片通用數字濾波器集成電路、dsp和可編程邏輯器件。使用單片通用數字濾波器很方便,但字長和階數的規格較少,不能完全滿足實際需要。使用dsp雖然簡單,但程序要順序執行,執行速度必然慢。現場可編程門陣列(fpga)有著規整的內部邏輯陣列和豐富的連線資源,特別適用于數字信號處理,但長期以來,用fpga實現抽取濾波器比較復雜,其原因主要是fpga中缺乏實現乘法運算的有效結構。現在,fpga集成了乘法器,使fpga在數字信號處理方面有了長足的進步。本文介紹用xilinx公司的xc2v1000型fpga實現fir抽取濾波器的設計方法。
    
    2 xc2v1000簡介
    
    virtex-ⅱ系列是xilinx公司近幾年研發的具有高性能、高速度和低功耗特點的新一代fpga,一經問世就備受界內人士的青睞。該系列fpga基于ip核和專用模塊設計,能夠為電信、無線電、網絡、視頻和數字信號處理領域的應用提供完整的解決方案。xc2v1000是virtex-ⅱ家族的一員,具有如下主要特點:
    
    ●100萬個系統門;
    ●40×32個可配置邏輯單元(5120個slice);
    ●40個18×18 bits乘法器,1個工作時鐘內即可完成乘法運算;
    ●720kbits ram,可靈活配置(單口、雙口、有使能或無使能等);
    ●8個dcm(digital clock manager)模塊;
    ●328個用戶i/o。
    
    此外,xilinx公司還提供了功能強大的開發平臺(ise),開發者可通過該平臺完成全部設計。
    
    3 抽取濾波器的工作原理
    
    抽取濾波器的工作原理是在濾波過程中實現抽取。對于抽取率為n的抽取濾波器而言,不是每進入1個新數據就完成1次濾波運算,然后再抽取,而是當進來n個數據時濾波器才完成1次濾波運算,輸出1次濾波結果。抽取濾波器的結果和先濾波后抽取的結果是一致的,只是對于同樣的數據,進行濾波運算的次數大大減少。在數字系統中采用抽取濾波器的最大優點是增加了每次濾波的可處理時間,從而達到實現高速輸入數據的目的。下面以抽取率為2的具有線性相位的3階fir抽取濾波器為例介紹抽取濾波器的實現過程。
    
    
    
    線性相位的fir濾波器的系數具有某種對稱的性質[1],3階ⅱ類fir線性相位濾波器在數學上可以表示為
    
    
    
    其中,h(0)=h(3),h(1)=h(2)。其結構如圖1所示。由圖1可見,具有4個系數的3階ⅱ類fir線性相位濾波器只需2次加法、2次乘法和2次累加就可以完成1次濾波運算。如果ipga工作時鐘為80mhz,輸入x(n)的數據率也為80mhz,那么經2倍抽取后輸出y(n)為40mhz。也就是說,抽取濾波器每完成1次濾波運算,需要2個工作時鐘。如果加法器、乘法器和累加器在單個時鐘內就能完成1次功能運算,那么只需1個加法器、1個乘法器和1個累加器采用流水線操作在2個工作時鐘內就可以完成2次加法、2次乘法和2次累加運算,就可以完成一次抽取濾波。
    
    4 具體實現
    
    4.1 結構設計
    
    基于上述抽取濾波器的工作原理,筆者用xc2v1000實現了這個抽取率為2、具有線性相位的3階fir抽取濾波器,利用原理圖和vhdl硬件描述語言共同完成源文件設
    
    
    作者:國防科技大學atr實驗室 佟力永, 肖山竹
    
    摘要:介紹xc2v1000型現場可編程門陣列(fpga)的主要特性和fir抽取濾波器的工作原理,重點闡述用xc2v1000實現fir抽取濾波器的方法,并給出仿真波形和設計特點。
    
    關鍵詞:fir抽取濾波器;流水線操作;xc2v1000;現場可編程門陣列
    
    1 引言
    
    抽取濾波器廣泛應用在數字接收領域,是數字下變頻器的核心部分。目前,抽取濾波器的實現方法有3種:單片通用數字濾波器集成電路、dsp和可編程邏輯器件。使用單片通用數字濾波器很方便,但字長和階數的規格較少,不能完全滿足實際需要。使用dsp雖然簡單,但程序要順序執行,執行速度必然慢。現場可編程門陣列(fpga)有著規整的內部邏輯陣列和豐富的連線資源,特別適用于數字信號處理,但長期以來,用fpga實現抽取濾波器比較復雜,其原因主要是fpga中缺乏實現乘法運算的有效結構。現在,fpga集成了乘法器,使fpga在數字信號處理方面有了長足的進步。本文介紹用xilinx公司的xc2v1000型fpga實現fir抽取濾波器的設計方法。
    
    2 xc2v1000簡介
    
    virtex-ⅱ系列是xilinx公司近幾年研發的具有高性能、高速度和低功耗特點的新一代fpga,一經問世就備受界內人士的青睞。該系列fpga基于ip核和專用模塊設計,能夠為電信、無線電、網絡、視頻和數字信號處理領域的應用提供完整的解決方案。xc2v1000是virtex-ⅱ家族的一員,具有如下主要特點:
    
    ●100萬個系統門;
    ●40×32個可配置邏輯單元(5120個slice);
    ●40個18×18 bits乘法器,1個工作時鐘內即可完成乘法運算;
    ●720kbits ram,可靈活配置(單口、雙口、有使能或無使能等);
    ●8個dcm(digital clock manager)模塊;
    ●328個用戶i/o。
    
    此外,xilinx公司還提供了功能強大的開發平臺(ise),開發者可通過該平臺完成全部設計。
    
    3 抽取濾波器的工作原理
    
    抽取濾波器的工作原理是在濾波過程中實現抽取。對于抽取率為n的抽取濾波器而言,不是每進入1個新數據就完成1次濾波運算,然后再抽取,而是當進來n個數據時濾波器才完成1次濾波運算,輸出1次濾波結果。抽取濾波器的結果和先濾波后抽取的結果是一致的,只是對于同樣的數據,進行濾波運算的次數大大減少。在數字系統中采用抽取濾波器的最大優點是增加了每次濾波的可處理時間,從而達到實現高速輸入數據的目的。下面以抽取率為2的具有線性相位的3階fir抽取濾波器為例介紹抽取濾波器的實現過程。
    
    
    
    線性相位的fir濾波器的系數具有某種對稱的性質[1],3階ⅱ類fir線性相位濾波器在數學上可以表示為
    
    
    
    其中,h(0)=h(3),h(1)=h(2)。其結構如圖1所示。由圖1可見,具有4個系數的3階ⅱ類fir線性相位濾波器只需2次加法、2次乘法和2次累加就可以完成1次濾波運算。如果ipga工作時鐘為80mhz,輸入x(n)的數據率也為80mhz,那么經2倍抽取后輸出y(n)為40mhz。也就是說,抽取濾波器每完成1次濾波運算,需要2個工作時鐘。如果加法器、乘法器和累加器在單個時鐘內就能完成1次功能運算,那么只需1個加法器、1個乘法器和1個累加器采用流水線操作在2個工作時鐘內就可以完成2次加法、2次乘法和2次累加運算,就可以完成一次抽取濾波。
    
    4 具體實現
    
    4.1 結構設計
    
    基于上述抽取濾波器的工作原理,筆者用xc2v1000實現了這個抽取率為2、具有線性相位的3階fir抽取濾波器,利用原理圖和vhdl硬件描述語言共同完成源文件設
熱門點擊
- OrCAD/PSpice9偏壓點和直流掃描分
- 有限帶寬信號的采樣和混疊分析
- LTC6910系列數字控制可編程增益放大器原
- 四通道四象限模擬乘法器MLT04
- 可編程多路A/D轉換芯片THS1206的原理
- 使用Verilog實現基于FPGA的SDRA
- 基于FCHIP2指紋芯片的應用方案
- PCB線路板抄板方法及步驟
- 基于Nios的掌紋鑒別系統設計與實現
- 模擬/數模混合電路加速仿真技術
推薦技術資料
- 泰克新發布的DSA830
- 泰克新發布的DSA8300在一臺儀器中同時實現時域和頻域分析,DS... [詳細]