新聞中心

        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 數字

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 黔西| 怀来县| 资兴市| 都匀市| 霞浦县| 丰顺县| 汽车| 商都县| 得荣县| 噶尔县| 东光县| 云安县| 镇原县| 平凉市| 鄂伦春自治旗| 湾仔区| 龙江县| 清苑县| 乌兰察布市| 双流县| 扬中市| 罗田县| 齐河县| 虎林市| 金秀| 社会| 安陆市| 迁安市| 本溪| 略阳县| 巴林右旗| 望都县| 中方县| 绍兴市| 锦屏县| 黄龙县| 台南县| 鄱阳县| 沙田区| 襄垣县| 安福县|