有限脉冲响应(FIR)抽取滤波器优化的HDL代码生成
的dsp。HDLFIRDecimation
System object™实现了一个多相FIR抽取滤波器,该滤波器为HDL代码生成进行了优化。它提供了一个硬件友好的接口与输入和输出控制信号。为了提供对生成的HDL代码的精确周期模拟,对象模型体系结构延迟包括管道注册和资源共享。
对象接受标量或向量输入。当您使用向量输入时,抽取因子必须是向量大小的整数倍。该对象使用单一速率实现。输出是标量,有效信号表示抽取后的样本是有效的。波形显示了一个由四个样本组成的输入向量和一个8的抽取因子。输出样本每隔一秒有效。
该对象提供两种过滤器结构。直接形式的收缩体系结构提供了一个完全并行的实现,使英特尔的有效利用®和Xilinx®DSP块。直接形式转置架构是一种完全并行实现,适用于FPGA和ASIC应用。对于将乘法器、流水线寄存器和预加法器匹配到FPGA供应商的DSP配置的过滤器实现,在生成HDL代码时指定目标设备。
对象为输入向量中的每个样本实现一个过滤器。对象然后通过在时间上交错子滤波器系数在多相子滤波器之间共享这个滤波器。
使用优化的hdl算法过滤和抽取输入数据:
创建dsp。HDLFIRDecimation
对象,并设置其属性。
使用参数调用对象,就像调用函数一样。
要了解更多关于System对象如何工作的信息,请参见什么是系统对象?
创建一个默认的hdl优化FIR抽取滤波器System对象。firDecim
= dsp。HDLFIRDecimation
num firDecim = dsp.HDLFIRDecimation(12月)
设置DecimationFactor
财产12月
和分子
财产全国矿工工会
.
除了使用以前语法中的任何输入参数组合外,还使用一个或多个名称-值对设置属性。将每个属性名用引号括起来。例如,firDecim
= dsp。HDLFIRDecimator (___,名称,值
)“FilterStructure”、“直接转置的形式
指定滤波器架构为完全并行实现,适用于FPGA和ASIC应用程序。
要使用对象函数,请指定System对象作为第一个输入参数。例如,释放名为system的对象的系统资源obj
,使用下面的语法:
发行版(obj)
重置行为
默认情况下,dsp。HDLFIRDecimation对象connects the generated HDL global reset to only the control path registers. The two reset properties,ResetInputPort
和HDLGlobalReset
,将复位信号连接到数据路径寄存器。由于附加的路由和加载复位信号,复位数据路径寄存器会降低综合性能。
的ResetInputPort
属性使重置
对象的参数。复位信号实现数据路径寄存器的本地同步复位。为了优化FPGA资源的使用,该选项不将复位信号连接到针对FPGA的DSP块的寄存器。
的HDLGlobalReset
属性将生成的HDL全局复位信号连接到数据路径寄存器。这个属性不会改变对象的参数或修改MATLAB中的模拟行为。生成的HDL全局重置可以是同步的,也可以是异步的,这取决于您的HDL代码生成设置。根据您的设备,使用全局重置可能会将寄存器移出DSP块并增加资源使用。
当你同时设置ResetInputPort
和HDLGlobalReset
属性真正的
,全局和局部复位信号清除控制和数据路径寄存器。
该系统对象实现了上面描述的算法FIR抽取HDL优化块引用页面。
请注意
dsp的输出。HDLFIRDecimation对象does not match the output from thedsp。FIRDecimation
sample-for-sample对象。这种差异主要是由于在子过滤器中应用样本的阶段不同。匹配dsp。FIRDecimation
对象,应用DecimationFactor
- 1对dsp来说是零。HDLFIRDecimation对象at the start of the data stream.
dsp。HDLFIRDecimation对象也使用稍微不同的数据类型进行全精度计算。如果值溢出内部数据类型,不同的数据类型还会在输出值中引入差异。