使用fdatool生成Xilinx中FIR滤波器IP核的系数
分类:
文章
•
2024-08-18 15:50:28
- 在MATLAB命令窗口输入fdatool后回车,打开“Filter Designer & Analysis Tool”工具界面:
- 点击左下角的Set quantization parameter,设置Filter arithmetic为Fixed-point(定点,由于有些FPGA中是不能直接对浮点数进行操作的,只能采用定点数进行数值运算,参考http://blog.****.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.****.net/weiweiliulu/article/details/40151053