新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于Matlab和FPGA的FIR數字濾波器設計及實現

        基于Matlab和FPGA的FIR數字濾波器設計及實現

        作者: 時間:2009-03-31 來源:網絡 收藏

        移位相加單元時序仿真:仿真結果如圖5所示,輸入一個階躍信號(8191),從圖5中可以看出,輸出數據從D_out_a到D_out_p依次有一個時鐘周期的時延,并且總的時延和濾波器階數(32)相等,最后輸出數據是16 382=8 191*2,和理論計算值相同。

        4.2 與濾波器系數相乘
        數據首尾相加輸出后與濾波器系數h(n)相乘,由于濾波器的結構是對稱的,因而只需16個乘法器即可。乘法器直接調用QuartusⅡ里面的參數化元件庫,系數的位寬設為18。關鍵Verilog語句如下:


        以上為一個乘法器設置方法,16個乘法器的整體模塊圖如圖6所示。

        為了便于仿真測試,乘法器單元一開始只設置了4個輸入。其中h(0)=100,h(1)=200,h(2)=300,h(3)=400,a,b,c,d為4個輸入數據,與h(n)相乘后對應輸出分別為R_a,R_b,R_c和R_d。這樣設計不失一般性,仿真無誤后再擴充到16個即可。仿真結果如圖7所示。

        4.3 乘法器輸出結果相加
        16路數據相加后位數被擴為33+4=37,另外要在其輸出端加一寄存器,以消除毛刺。此模塊原理圖如圖8所示。

        相加輸出模塊仿真:實際用到的是16輸入的加法器,為便于仿真測試.輸入先設為4路,仿真結果如圖9所示。

        4.4 截位輸出



        關鍵詞: Matlab FPGA FIR 數字

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 海晏县| 长海县| 高碑店市| 遵化市| 北安市| 东乡县| 佳木斯市| 诸暨市| 黄浦区| 邢台市| 岑溪市| 东乡县| 交城县| 子长县| 湖北省| 嘉义市| 沾益县| 乐亭县| 广汉市| 和田县| 南康市| 射洪县| 涿鹿县| 铁岭县| 惠水县| 越西县| 疏附县| 布尔津县| 新干县| 十堰市| 汝城县| 贺州市| 荥经县| 北流市| 东源县| 龙井市| 微山县| 库尔勒市| 临沧市| 佛山市| 扶余县|