使用fdatool生成Xilinx中FIR濾波器IP核的係數
阿新 • • 發佈:2019-01-26
- 在MATLAB命令視窗輸入fdatool後回車,開啟“Filter Designer & Analysis Tool”工具介面:
- 點選左下角的Set quantization parameter,設定Filter arithmetic為Fixed-point(定點,由於有些FPGA中是不能直接對浮點數進行操作的,只能採用定點數進行數值運算,參考http://blog.csdn.net/gsh_hello_world/article/details/78742769):
- 點選左下角的Design filter,進入濾波器引數設定頁面,在其中設定取樣頻率(Fs)、通帶頻率(Fpass)、阻帶頻率(Fstop)、通帶衰減(Apass)以及阻帶衰減(Astop)等引數,並點選最下面的“Design Filter”按鈕生成濾波器係數:
- Targets —> XILINX Coefficient(.COE) File匯出coe檔案,此檔案中的係數是以定點十六進位制表示的,每個資料長度為16位(由Numerator word length決定),其為實際浮點資料左移17位(由Numerator frac. length決定)得到,例如實際浮點資料第一個係數為0.001,定點表示為0x0081((int)0.001 * 2 ^ 17 = 131 = 0x0081,即0.001左移17位):
- 也可以點選File —> Export匯出濾波器係數到matlab的工作區workspace,快捷鍵Ctrl+E,這種方式匯出的是實際浮點資料:
- 在ISE中新建一個FIR濾波器IP核,在第一頁設定中將“Select Source”改為“COE File”,然後在下面選擇上一步生成的coe檔案即可:
之後生成IP核的步驟參考部落格:http://blog.csdn.net/weiweiliulu/article/details/40151053