基于FPGA的16抽頭FIR數(shù)字低通濾波器設(shè)計(jì)與仿真
4.4 移位累加模塊
本文引用地址:http://2s4d.com/article/262694.htm系統(tǒng)核心模塊,主要對查找表模塊輸出數(shù)據(jù)進(jìn)行移位累加操作,由于輸入12位數(shù)據(jù),因此要進(jìn)行12次移位操作,前11次移位進(jìn)行加法操作,第12次移位進(jìn)行減法操作。為使累加結(jié)果不溢出,要進(jìn)行冗余設(shè)計(jì)。
若輸入數(shù)據(jù)與濾波器系數(shù)均為B位,對于有符號系統(tǒng),移位累加器長度M=2B+log2N-1,其中N為濾波器抽頭數(shù)。該移位累加模塊輸出數(shù)據(jù)寬度為27位。
4.5 截位模塊
移位累加模塊輸出27位數(shù)據(jù),由于其對應(yīng)的10進(jìn)制數(shù)值較大,不便于分析,因此對移位累加模塊的輸出數(shù)據(jù)進(jìn)行截位。截位模塊的功能是通過移位截取27位輸入數(shù)據(jù)的高15位。
5 Matlab與QuartusII聯(lián)合仿真
FIR數(shù)字濾波器輸入與輸出均是數(shù)字信號,通過Matlab編程模擬A/D轉(zhuǎn)換得到濾波器輸入數(shù)據(jù),然后將輸入數(shù)據(jù)送到濾波器輸入端口并進(jìn)行仿真得到輸出波形,最后再通過Matlab編程模擬D/A轉(zhuǎn)換將輸出數(shù)字信號以模擬信號波形形式展現(xiàn)。具體步驟如下:首先利用Matlab編寫得到*.mif文件的M程序,輸入0.5 MHz和2.5 MHz正弦相加信號,幅度均為15。然后用QuartusII中l(wèi)pm_rom模塊得到濾波器輸入數(shù)據(jù),再用QuartusII對系統(tǒng)模塊進(jìn)行仿真,將仿真波形*.vwf文件另存為*.tbl文件,系統(tǒng)模塊仿真波形如圖3所示,最后用Matlab讀取該文件中的數(shù)據(jù),得到采樣信號時域波形與頻譜。
6 結(jié)束語
采用改進(jìn)并行DA算法設(shè)計(jì)了一個16抽頭FIR數(shù)字低通濾波器,與全并行DA算法相比,減少了LUT的個數(shù),同時引入倍頻模塊兼顧了運(yùn)算速度。仿真結(jié)果表明,設(shè)計(jì)系統(tǒng)性能穩(wěn)定、濾波效果良好、實(shí)用性較強(qiáng)。同時,利用改進(jìn)并行DA算法設(shè)計(jì)的FIR數(shù)字低通濾波器,其系統(tǒng)速度得到大幅提高,由于省去乘法器的使用,減少了LUT的個數(shù),邏輯單元的消耗量也大幅降低。該模塊可以作為其他設(shè)計(jì)的子模塊,也可用于設(shè)計(jì)更高階數(shù)的濾波器。
濾波器相關(guān)文章:濾波器原理
fpga相關(guān)文章:fpga是什么
濾波器相關(guān)文章:濾波器原理
低通濾波器相關(guān)文章:低通濾波器原理
電源濾波器相關(guān)文章:電源濾波器原理
晶振相關(guān)文章:晶振原理 數(shù)字濾波器相關(guān)文章:數(shù)字濾波器原理
評論