• 正文
  • 推薦器件
  • 相關推薦
申請入駐 產業(yè)圖譜

基于matlab FPGA verilog的FIR濾波器設計

2024/05/30
3641
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

大俠好,歡迎來到FPGA技術江湖,江湖偌大,相見即是緣分。大俠可以關注FPGA技術江湖,在“闖蕩江湖”、"行俠仗義"欄里獲取其他感興趣的資源,或者一起煮酒言歡?!爸缶蒲詺g”進入IC技術圈,這里有近100個IC技術公眾號。

今天和大俠簡單聊一聊基于matlab FPGA verilogFIR濾波器設計,話不多說,上貨。

本次設計實現8階濾波器,9個系數,由于系數的對稱性,h(0)=h(8),h1(1)=h(7),h(2)=h(6),h(3)=h(5),h(4)為中間單獨一個系數。根據公式:

實現框圖:

推導出當系數N為偶數時,例如N=4:y(n)=h(0)*{x(0)+x(n-3)}+h(1)*{x(n-1)+x(n-2)}

當系數N為奇數時,例如N=5:
y(n)=h(0)*{x(0)+x(n-1)}+h(1)*{x(n-1)+x(n-3)}+h(2)*x(n-2)

1、用matlab生成和量化濾波器系數

設置參數后,點擊“Design Filter”按鈕,“file”—“export”,把濾波器系數導出到workspace,如下圖:

執(zhí)行命令:Num=Num’ ,把濾波器系數拷貝到文件COFFICIENT.dat中。
量化系數:在matlab中運行quantization.m

2、說明

用matlab程序sin_1MHz_gen.m生成正弦波波形表,改變變量f0 = 1.5e6可以生成不同頻率的波形。把第一個周期的波形數據存入signal_1m.dat文件中,存入的數據個數為Fs/Fo的最小正整數之比的分子,比如Fs=25MHz,Fo=0.3MHz,Fs/Fo=250/3(Fs=25/24MHz),則存入文件signal_1m.dat的波形數據個數為開頭的250個數據。相應的signal_gen0.v中的語句if(i0<50)相應的改為if(i0<250)。仿真時signal_1m.dat放在仿真目錄下

3、濾波器的multisim仿真

運行matlab,用sin_1MHz_gen.m產生5MHz(f0 =5e6)正弦波信號,Fs/Fo=5,把數據hex_sin_data的前5個數據存入signal_1m.dat文件,相應的signal_gen0.v中的語句if(i0<50)相應的改為if(i0<5)。

仿真的波形如下圖(fir濾波器的輸入輸出信號):

運行matlab,用sin_1MHz_gen.m產生1MHz(f0 =1e6)正弦波信號,Fs/Fo=25,把數據hex_sin_data的前5個數據存入signal_1m.dat文件,相應的signal_gen0.v中的語句if(i0<5)相應的改為if(i0<25)。

仿真的波形如下圖(fir濾波器的輸入輸出信號):

由此可見FIR對帶外信號起到衰減的作用。

部分代碼:

后續(xù)會持續(xù)更新,帶來Vivado、 ISE、Quartus II 、candence等安裝相關設計教程,學習資源、項目資源、好文推薦等,希望大俠持續(xù)關注。大俠們,江湖偌大,繼續(xù)闖蕩,愿一切安好,有緣再見!

推薦器件

更多器件
器件型號 數量 器件廠商 器件描述 數據手冊 ECAD模型 風險等級 參考價格 更多信息
XC7A75T-2FGG676C 1 AMD Xilinx Field Programmable Gate Array, 5900 CLBs, 1286MHz, 75520-Cell, CMOS, PBGA676, FBGA-676

ECAD模型

下載ECAD模型
$1103.58 查看
XCR3384XL-10TQ144I 1 AMD Xilinx EE PLD, 10ns, 384-Cell, CMOS, PQFP144, TQFP-144
$107.46 查看
5M80ZE64I5N 1 Altera Corporation Flash PLD, 14ns, 64-Cell, CMOS, PQFP64, 9 X 9 MM, 0.40 MM PITCH, LEAD FREE, PLASTIC, EQFP-64
$3.86 查看

相關推薦

登錄即可解鎖
  • 海量技術文章
  • 設計資源下載
  • 產業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

任何技術的學習就好比一個江湖,對于每一位俠客都需要不斷的歷練,從初入江湖的小白到歸隱山林的隱世高人,需要不斷的自我感悟自己修煉,讓我們一起仗劍闖FPGA乃至更大的江湖。