主要内容

dsp。HDLFIRDecimation

有限脉冲响应(FIR)抽取滤波器优化的HDL代码生成

描述

dsp。HDLFIRDecimationSystem object™实现了一个多相FIR抽取滤波器,该滤波器为HDL代码生成进行了优化。它提供了一个硬件友好的接口与输入和输出控制信号。为了提供对生成的HDL代码的精确周期模拟,对象模型体系结构延迟包括管道注册和资源共享。

对象接受标量或向量输入。当您使用向量输入时,抽取因子必须是向量大小的整数倍。该对象使用单一速率实现。输出是标量,有效信号表示抽取后的样本是有效的。波形显示了一个由四个样本组成的输入向量和一个8的抽取因子。输出样本每隔一秒有效。

该对象提供两种过滤器结构。直接形式的收缩体系结构提供了一个完全并行的实现,使英特尔的有效利用®和Xilinx®DSP块。直接形式转置架构是一种完全并行实现,适用于FPGA和ASIC应用。对于将乘法器、流水线寄存器和预加法器匹配到FPGA供应商的DSP配置的过滤器实现,在生成HDL代码时指定目标设备。

对象为输入向量中的每个样本实现一个过滤器。对象然后通过在时间上交错子滤波器系数在多相子滤波器之间共享这个滤波器。

使用优化的hdl算法过滤和抽取输入数据:

  1. 创建dsp。HDLFIRDecimation对象,并设置其属性。

  2. 使用参数调用对象,就像调用函数一样。

要了解更多关于System对象如何工作的信息,请参见什么是系统对象?

创建

描述

firDecim= dsp。HDLFIRDecimation创建一个默认的hdl优化FIR抽取滤波器System对象。

num firDecim = dsp.HDLFIRDecimation(12月)设置DecimationFactor财产12月分子财产全国矿工工会

firDecim= dsp。HDLFIRDecimator (___名称,值除了使用以前语法中的任何输入参数组合外,还使用一个或多个名称-值对设置属性。将每个属性名用引号括起来。例如,“FilterStructure”、“直接转置的形式指定滤波器架构为完全并行实现,适用于FPGA和ASIC应用程序。

属性

全部展开

除非另有说明,属性是nontunable,这意味着您不能在调用对象之后更改它们的值。对象在调用时锁定,而释放函数打开它们。

如果一个属性是可调,您可以随时更改它的值。

有关更改属性值的更多信息,请参见在MATLAB中使用系统对象进行系统设计

主要

FIR滤波器系数,指定为实值或复值向量。您可以将向量指定为工作区变量或对筛选器设计函数的调用。当输入数据类型是浮点类型时,对象将系数转换为与输入相同的数据类型。当输入数据类型为整数类型或定点类型时,可以使用CoefficientsDataType财产。

例子:Firpm (30,[0 0.1 0.2 0.5]*2,[1 1 0 0])使用线性相位滤波器设计函数定义系数。

数据类型:||int8|int16|int32|uint8|uint16|uint32

HDL过滤器结构,指定为以下结构之一:

  • 直接形成收缩的-该架构提供了一个完全并行的滤波器实现,使英特尔和Xilinx DSP块的有效利用。

  • “直接形式转置”—该架构是完全并行实现,适用于FPGA和ASIC应用。

这两种实现都通过在输入向量中的每个样本的一个过滤器实现上交错子过滤器系数来共享资源。

对象实现了一个多相分解过滤器使用dsp。HDLFIRFilter系统对象。有关架构的详细信息,请参见完全平行收缩结构完全平行转置建筑部分的离散FIR滤波器HDL优化块引用页面。

抽取因子,指定为大于2的整数。当您使用向量输入时,抽取因子必须是向量大小的整数倍。

数据类型

对输出进行类型转换的舍入方法,指定为“地板”“天花板”“收敛”“最近的”“圆”,或“零”.属性指定的数据类型时,对象使用此属性OutputDataType财产。当输入数据类型为浮点数时,该对象将忽略此属性。有关详细信息,请参见舍入模式

输出类型转换的溢出处理,指定为“包装”“饱和”.属性指定的数据类型时,对象使用此属性OutputDataType财产。当输入数据类型为浮点数时,该对象将忽略此属性。有关详细信息,请参见溢出处理

过滤系数的数据类型,指定为“与输入的字长相同”或者一个numerictype(定点设计师)对象。指定一个numerictype对象,调用numerictype (年代wf,地点:

  • 年代1签署和0无符号。

  • w是以位为单位的字长。

  • f为小数位数。

对象将筛选器系数转换为指定的数据类型。量化四舍五入到最接近的可表示值,并在溢出时达到饱和。当输入数据类型为浮点数时,该对象将忽略此属性。

过滤器输出的数据类型,指定为“与输入的字长相同”“充分精确”,或者一个numerictype(定点设计师)对象。指定一个numerictype对象,调用numerictype (年代wf,地点:

  • 年代1签署和0无符号。

  • w是以位为单位的字长。

  • f为小数位数。

对象将筛选器的输出转换为指定的数据类型。量化使用的设置RoundingMethodOverflowAction属性。当输入数据类型为浮点数时,该对象将忽略此属性。

该对象在每次筛选器点击中增加单词长度以达到全精度,并将最终输出强制转换为指定的类型。最大最终内部数据类型(WF)取决于输入数据类型(WI),系数数据类型(WC),以及系数的个数(l),是由

WFWI+WC+装天花板(log2 (l))

由于系数值限制了潜在的增长,通常实际的全精度内部字长小于WF

控制参数

选项启用重置输入参数,指定为真正的.当您将此属性设置为真正的的值,对象期望重置输入参数。复位信号实现数据路径寄存器的本地同步复位。

有关更多重置注意事项,请参见提示

选择连接数据路径寄存器生成的HDL全局复位信号,指定为真正的.将此属性设置为真正的将生成的HDL全局复位信号连接到数据路径寄存器。这个属性不会改变对象的参数或修改MATLAB中的模拟行为®.当您将此属性设置为,生成的HDL全局重置只清除控制路径寄存器。生成的HDL全局重置可以是同步的,也可以是异步的,这取决于您的HDL代码生成设置。

有关更多重置注意事项,请参见提示

使用

描述

dataOutvalidOut) = firDecim (dataInvalidIn只在下列情况下过滤输入数据validIn真正的

dataOutvalidOut) = firDecim (dataInvalidIn重置过滤数据重置.当重置真正的,对象将重置筛选器寄存器。对象期望重置参数仅在设置ResetInputPort财产真正的.有关更多重置注意事项,请参见提示

输入参数

全部展开

输入数据,指定为实值或复数标量或向量。当您使用向量输入时,抽取因子必须是向量大小的整数倍。向量大小必须小于或等于64。

当输入数据类型是整数类型或定点类型时,对象使用定点算法进行内部计算。

模拟支持数据类型,但不支持HD金宝appL代码生成。

数据类型:fi|||int8|int16|int32|uint8|uint16|uint32
复数的支持:金宝app是的

输入数据的有效性,指定为逻辑标量。的dataIn参数仅当此参数为时有效1真正的).

数据类型:逻辑

清除指定为逻辑标量的数据路径状态的控制信号。当这个论点是1时,对象将停止当前计算并清除筛选器的内部状态。复位信号是同步的,清除数据路径和控制路径状态。有关更多重置注意事项,请参见提示

依赖关系

要启用此参数,请设置ResetInputPort财产真正的

数据类型:逻辑

输出参数

全部展开

过滤后的输出数据,作为实值或复数标量返回。当输入数据是浮点数时,输出数据继承输入数据的数据类型。当输入数据是整数类型或定点类型时,OutputDataType属性指定输出数据类型。

输出有效的信号表明在抽取后哪些样本是有效的。

数据类型:fi||
复数的支持:金宝app是的

作为逻辑标量返回的输出数据的有效性。对象将此参数设置为1真正的的每个有效输出数据dataOut论点。

数据类型:逻辑

对象的功能

要使用对象函数,请指定System对象作为第一个输入参数。例如,释放名为system的对象的系统资源obj,使用下面的语法:

发行版(obj)

全部展开

getLatency FIR抽取滤波器的延迟
一步 运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 使内部状态复位系统对象

提示

重置行为

  • 默认情况下,dsp。HDLFIRDecimation对象connects the generated HDL global reset to only the control path registers. The two reset properties,ResetInputPortHDLGlobalReset,将复位信号连接到数据路径寄存器。由于附加的路由和加载复位信号,复位数据路径寄存器会降低综合性能。

  • ResetInputPort属性使重置对象的参数。复位信号实现数据路径寄存器的本地同步复位。为了优化FPGA资源的使用,该选项不将复位信号连接到针对FPGA的DSP块的寄存器。

  • HDLGlobalReset属性将生成的HDL全局复位信号连接到数据路径寄存器。这个属性不会改变对象的参数或修改MATLAB中的模拟行为。生成的HDL全局重置可以是同步的,也可以是异步的,这取决于您的HDL代码生成设置。根据您的设备,使用全局重置可能会将寄存器移出DSP块并增加资源使用。

  • 当你同时设置ResetInputPortHDLGlobalReset属性真正的,全局和局部复位信号清除控制和数据路径寄存器。

算法

该系统对象实现了上面描述的算法FIR抽取HDL优化块引用页面。

请注意

dsp的输出。HDLFIRDecimation对象does not match the output from thedsp。FIRDecimationsample-for-sample对象。这种差异主要是由于在子过滤器中应用样本的阶段不同。匹配dsp。FIRDecimation对象,应用DecimationFactor- 1对dsp来说是零。HDLFIRDecimation对象at the start of the data stream.

dsp。HDLFIRDecimation对象也使用稍微不同的数据类型进行全精度计算。如果值溢出内部数据类型,不同的数据类型还会在输出值中引入差异。

扩展功能

介绍了R2020b