主要内容

部分串行收缩期FIR滤波器实现

这个例子展示了如何实现一个32 tap低通FIR滤波器使用离散冷杉滤波器块。

示例模型中的两个过滤器块实现了一个相同的部分串行32分tap过滤器。上面的块通过指定循环数来配置串行过滤器N输入样本之间。这种间距允许每个乘法器由N系数。第二个块被配置为使用一定数量的乘数,。这两种配置的结果是相同的过滤器实现。对于32个对称系数,有16个唯一系数。因此,滤波器共享8个系数之间的2个乘数中的每一个。

模型显示了两种应用输入样本的方法,这取决于你设计的其余部分的速率。

开放模式

打开模型。检查顶部块参数。滤波器结构被设置为部分连续收缩指定serialization factor为被设置为有效输入样本之间的最小循环次数数量的周期使用变量设置(为8),numCycles。在下一层,指定serialization factor为被设置为倍增器的最大数目数量的乘数使用变量设置(为2)。变量在PostLoadFcn回调函数。

从颜色编码可以看出,两个过滤块的速率是相同的,而生成的输入样本的速率是不同的。

运行模型并检查结果

运行模型。观察生成的图中的输入输出信号。生成图的代码在PostSimFcn回调函数。

使用模型工具栏打开逻辑分析仪。如果按钮未显示,展开审查结果应用画廊。

检查上升的边缘准备好了,validIn,validOut

生成HDL代码

要从任一Discrete FIR Filter块生成HDL代码,右键单击该块并选择Create子系统from Selection。然后右键单击子系统并选择HDL代码>生成子系统的HDL代码。两个区块生成相同的HDL代码。

另请参阅

Baidu
map