基于FPGA的FIR數(shù)字濾波器設(shè)計(jì)與實(shí)現(xiàn)
所有的選項(xiàng)確定好后,在FDATool濾波器設(shè)計(jì)界面中點(diǎn)擊“Design Filter”,Matlab就會(huì)計(jì)算濾波器系數(shù)并作相關(guān)分析。圖5所示為濾波器的幅頻響應(yīng),圖6所示為濾波器的階躍響應(yīng)。本文引用地址:http://www.biyoush.com/article/189493.htm
由于所有的模塊都在同一個(gè)Simulink圖中,這時(shí)的Simulink設(shè)計(jì)圖顯得很復(fù)雜,不利于閱讀和排錯(cuò),因此把FIR數(shù)字濾波器模型做成一個(gè)子系統(tǒng)在設(shè)計(jì)圖中顯示出來,如圖7所示,這就是Matlab中的層次化設(shè)計(jì),在頂層設(shè)計(jì)圖中,濾波器作為名稱是SubFIR_533_16js的一個(gè)模塊出現(xiàn)。同時(shí),圖7中還設(shè)置了其他模塊,包括仿真信號(hào)輸入模塊、Signal TapⅡ信號(hào)實(shí)時(shí)監(jiān)測(cè)模塊、Signal Compiler模塊、硬件開發(fā)板模塊、TestBench模塊。
這樣整個(gè)濾波器的Simulink電路設(shè)計(jì)模型就完成了,然后要對(duì)該模型進(jìn)行系統(tǒng)級(jí)仿真,查看其仿真結(jié)果,在頻率為533 Hz的波形輸入上加入了頻率為3 600 Hz的擾動(dòng)波形,其Simulink仿真結(jié)果如圖8所示。
圖中,上面的波形是533 Hz的輸出,中間的波形是533 Hz加上3 600 Hz高頻干擾后的輸出,下面的波形是經(jīng)過濾波后的輸出。
3.2 從模型文件到Verilog代碼的RTL級(jí)轉(zhuǎn)換和編譯適配
利用Signal Compiler模塊將電路模型文件即Simulink模塊文件(.mdl)轉(zhuǎn)換成RTL級(jí)的Verilog代碼表述和Tcl(工具命令語言)腳本。這種轉(zhuǎn)換是用來對(duì)數(shù)字濾波器Simulink模型進(jìn)行結(jié)構(gòu)化分析的。獲得轉(zhuǎn)換好的VHDL描述后就可以調(diào)用Verilog綜合器,這里我們選用Quartus Ⅱ,用來生成底層網(wǎng)表文件,同時(shí)也就可以得到其網(wǎng)表文件對(duì)應(yīng)的RTL電路圖。如圖9所示。
3.3 數(shù)字濾波器的ModelSim功能仿真
ModelSim軟件可支持VHDL和Verilog混合仿真,無論是FPGA設(shè)計(jì)的RTL級(jí)和門級(jí)電路仿真,還是系統(tǒng)的功能仿真都可以用ModelSim來實(shí)現(xiàn)。由Signal Compiler生成的Verilog硬件描述語言模塊,在ModelSim中可以直接對(duì)Verilog代碼進(jìn)行仿真,檢測(cè)源代碼是否符合功能要求。圖10所示的16階FIR數(shù)字濾波器的功能仿真結(jié)果圖。與圖8的Simulink仿真結(jié)果圖的波形一致,表明經(jīng)過轉(zhuǎn)換的Verilog源代碼可以實(shí)現(xiàn)正常的濾波功能。
電源濾波器相關(guān)文章:電源濾波器原理
數(shù)字濾波器相關(guān)文章:數(shù)字濾波器原理
評(píng)論