我们在前面的内容里展示了 FIR 滤波器的信号处理公式、 基本实现结构、 频率响应曲线图。而 FIR 滤波器的具体实现涉及到数字信号处理相关的专业知识内容, 这里则主要讲解如何创建我们需要的 FIR 滤波器。 接下来我们了解一下设计一个简单的 FIR 滤波器需要设置的参数。
一个简单的 FIR 滤波器需要设置的参数:1) Filter Type(滤波器类型): 设置 FIR 滤波器的类型: 低通(Low pass)、 高通(high pass)、带通(band pass) 以及带阻(band stop) 等。 下图所示为 Filter Type 选项栏的下拉选项。
在该页面中, 可以看到有三个选项, 第一个是创建一个新的 IP 核, 第二个是编辑一个已经创建好的 IP 核, 第三个是复制一个已经创建好的 IP 核。 因为我们这里是首次创建 IP 核, 因此直接选择默认的第一个选项, 然后点击【Next>】 , 进入下图所示的界面:
图 52.4.5 选择FIR Compiler IP核界面
在该页面中, 我们可以在 DSP/Filters 下找到 FIR Compiler v13.1 IP 核, 也可以直接在搜索框中输入 fir 找到它。 我们找到 FIR Compiler v13.1 IP 核以后, 单击选中它, 然后我们需要为 ALTPLLIP 核选择保存的路径及名称, 我们在工程路径 par/ipcore 文件夹下新建一个 FIR 文件夹, 用于
存放工程中用到的 IP 核, 然后在“What name do you want for the output file”一栏中输入 IP 存放的路径及名称, 这里我们命名为 fir_lowpass 并且选择创建的 IP 核代码为 Verilog HDL。 需要注意的是, 如果想要对 IP 核进行仿真, 需要将 IP 核存放目录设置为目录, 也就是将 IP 核存放在
par 文件夹下。 完成这些设置以后, 我们点击【Next>】 , 进入下图所示的界面。
图 52.4.6 FIR IP核主界面
FIR Compiler v13.1 IP 核的主界面与 FFT IP 核的主界面是一样的。 我们点击 step1:Parameterize, 进入如下所示的界面, 对 IP 核进行参数配置。
图 52.4.7 FIR IP核配置界面
由于 FIR Compiler v13.1 IP 核处理的是 wm8978 输出一路 16 位有符号数数据。所以,Numberof input channels 选项(输入通道数) 保持为 1 ; Input Number System 选项(输入数据系统)保持为 Signed Binary; Input Bit Width(输入位宽) 选项设置为 16; 输出基于实际的系数(Actual
Coefficients) , 也就是与 Input Bit Width(输入位宽) 和 Bit Width(系数) 其它选项保持默认即可。 接着点击 Edit Coefficient Set 选项进入如下所示界面, 对滤波器参数进行设置。