使用matlab和ISE 的IP核联合设计FIR滤波器
使用MATLAB的fdatool工具箱生成抽头系数
FIR抽头系数可以直接调用matlab的filter design工具箱实现,在命令窗口直接输入fdatool即可调用,出来的界面如下所示:

我们假设滤波器的输入信号是100kHz的信号(8位)与2MHz(8位)的信号混合之后的信号(9位)。想把2MHz的信号给滤除
对于在生成滤波器参数设置的时候有以下几点要注意:
1.Fs为滤波器的采样频率,这个频率要符合采样定理,一定是要满足是最高杂波频率的两倍,像我的设计中就要大于2MHz的两倍,所以我在这里设计为8MHz
2.通带截止频率的设置:在我最初设置的时候我的通带截止频率都维持在100KHz后一点点大概就是110KHz左右,这样的话我们的采样频率稍大一点就会导致滤波器的阶数特别多,所以我在这里设计滤波器的通带截止频率就在1Mhz,个人认为只要我们需要通过的频率在这个截止频率希望滤掉的频率在这个截止频率之外内部就好了,当然下面的阻带截止频率就要在我们需要滤除波的内部就好,这样设置的话就会使得我们的滤波器的阶数比较少,生成IP核工程的话也会比较快。
3.系数的导出:看了一些博客,博客中说有些FPGA中的FIR滤波器的系数不识别浮点数,所以我们在导出系数的时候就要导出浮点数,点击上图中的左侧第三个按钮。将Filter arithmetic 设置为Fixd-point,量化数据位数选择16位,然后再target下导出.coe文件,这样就导出了16位数据类型为定点数的系数


本文介绍如何使用MATLAB的fdatool工具箱设计FIR滤波器,生成抽头系数,并在ISE中使用FIR IP核进行仿真。讨论了滤波器参数设置技巧,包括采样频率、通带截止频率的选择,以及定点数系数的导出方法。

2388

被折叠的 条评论
为什么被折叠?



