Discrete FIR Filter
发布时间:2012-10-07 08:18:07
发布时间:2012-10-07 08:18:07
Discrete FIR Filter
模型FIR滤波器
库
离散的
描述
Discrete FIR Filter块独立地过滤与指定的数字FIR滤波器的各信道的输入信号。该块可以实现静态过滤器与固定系数,以及随着时间的推移而改变的系数随时间变化的过滤器。在模拟过程中,您可以调整静态过滤器的系数。
此块过滤器的输入信号的各信道独立地随着时间的推移。Input processing参数允许你指定块是否将每个元素的输入作为一个独立的通道(基于样本的处理),或每列的输入作为一个独立的通道(基于帧的处理)。要执行基于帧的处理,你必须有一个DSP系统工具箱许可证。
维度相等的输入的输出,除非你指定的矩阵滤波器分接头的Coefficients参数.当你这样做时,输出尺寸取决于您指定的不同的滤波器分接头数量
输出此块数字的输出相匹配的DSP系统工具箱Digital Filter Design块和信号处理工具箱™dfilt对象.
该模块支持Simulink的状态记录功能。见States
过滤器结构的支持
通过选择下列之一的,您可以更改过滤器结构的Discrete FIR Filter模块实现Filter structure参数.
∙ Direct form
∙ Direct form symmetric
∙ Direct form antisymmetric
∙ Direct form transposed
∙ Lattice MA
您必须有可用的DSP系统工具箱许可证来运行一个直接的形式以外的任何这些过滤器的结构模型。
指定初始状态
Discrete FIR Filter块内部过滤器的状态初始化为零,默认情况下,具有相同的效果,假设过去的输入和输出均为零。您可以选择使用的初始状态参数来指定非零的初始条件为过滤器的延迟。
确定有多少的初始状态,你必须指定,如何指定有效的初始状态,请参阅下表。Initial states参数可以是下表中所描述的形式之一。
有效的初始状态
初始条件 | 描述 |
标量 | 该块初始化所有的延迟元件,在过滤器中的标量值。 |
向量或矩阵 (用于施加不同的延迟元件给每个信道的) | 每个向量或矩阵的元素指定了一个唯一的初始条件下,在一个相应的信道为一个相应的延迟元件: 向量的长度等于产品的数量的输入通道和在过滤器中的延迟元件的数目,点阵MA为#_of_filter_coeffs-1 (or #_of_reflection_coeffs. 该矩阵的行数必须具有相同的过滤器中的延迟元件的数目,#_of_filter_coeffs-1 (点阵MA 为#_of_reflection_coeffs), 并且必须具有为每个信道的一列的输入信号。 |
数据类型支持
Discrete FIR Filter块接受和输出任何数字数据类型支持通过Simulink的实数或复数信号。该块支持相同的类型的系数。
下图显示了滤波器的结构和Discrete FIR Filter块中使用的数据类型为固定点信号
直接表单Direct Form
您可以不指定状态数据类型块掩码对这种结构,因为输入状态与输入有具有相同的数据类型
对称的直接型Direct Form Symmetric
您可以不指定状态数据类型块掩码对这种结构,因为输入状态与输入有具有相同的数据类型
它是假定滤波器系数是对称的。该块仅使用第一个一半的系数进行滤波。
非对称直接型Direct Form Antisymmetric
您可以不指定状态数据类型块掩码对这种结构,因为输入状态与输入有具有相同的数据类型
它是假定的滤波器系数是反对称的。该块仅使用第一个的一半的系数进行滤波。
直接型转置Direct Form Transposed
当输入或系数是复数时,状态是复数。
点阵MALattice MA
参数和对话框
Discrete FIR Filter块对话框中Main窗格显示如下。
Coefficient source
选择是否要指定的滤波器系数在块掩码,或通过输入端口。
Filter structure
选择你想要的过滤器结构块来实现。您必须有可用的DSP系统工具箱许可证来运行模型的Discrete FIR Filter块任何其他过滤器结构该实现direct form。
Coefficients
指定滤波器的向量系数的传递函数。滤波器系数必须被指定为一个行向量。当您指定一个列向量滤波器分接头时,块适用一个过滤器的输入。要应用多个过滤器相同的输入,指定的系数矩阵,其中每一行代表一组不同的滤波器分接头。当Coefficient source被设置为Dialog parameters时,此参数才可见.对于多个过滤器,Filter structure必须是Direct form,输入必须是一个标量。
Input processing
指定块是否执行采样或基于帧的处理。您可以选择下列选项之一:
∙ Elements as channels (sample based) —对待每个元素作为一个独立的输入信道(基于样品的处理)。
∙ Columns as channels (frame based) —对待每列的输入作为一个独立的信道(基于帧的处理)。
注:基于帧的处理需要一个DSP系统工具箱许可证。 见Sample- and Frame-Based Concepts |
Initial states
指定滤波器的初始条件的状态。见Specifying Initial States.
Sample time (-1 for inherited)
指定样本之间的时间间隔。要继承采样时间,此参数设置为-1。看Specify Sample Time.
Discrete FIR Filter块对话框中Data Types窗格显示如下。
Tap sum
指定的分接头和数据类型的direct form symmetric或direct form antisymmetric称滤波器,这是该数据类型的过滤器使用时,它的输入求和之前乘系数。您可以将其设置为:
∙ 继承的规则,数据类型,例如,Inherit: Inherit via internal rule
∙ 内置的整数,例如,int8
∙ 数据类型的对象,例如,Simulink.NumericType对象
∙ 一个表达式,其值的数据类型,例如,fixdt(1,16,0)
当选定的过滤器结构无论是Direct form symmetric或Direct form antisymmetric,该参数可见
点击Show data type assistant按钮显示Data Type Assistant, 它可以帮助您设置Tap sum parameter.
见Specify Data Types Using Data Type Assistant
Coefficients
指定系数的数据类型。您可以将其设置为:
∙ 继承的规则,数据类型,例如,Inherit: Same word length as input
∙ 内置的整数,例如,int8
∙ 数据类型的对象,例如,Simulink.NumericType对象
∙ 一个表达式,其值的数据类型,例如,fixdt(1,16,0)
点击Show data type assistant按钮显示Data Type Assistant,它可以帮助您设置Coefficients parameter.
见Specify Data Types Using Data Type Assistant.
Coefficients minimum
指定最小的滤波器系数的值,该值应该有。 默认值是[](未指定)。Simulink软件使用这个值来执行:
∙ 参数范围检查(见Check Parameter Values)
∙ 自动缩放的定点数据类型
Coefficients maximum
指定的最大的滤波器系数的值,该值应该有。 默认值是[](未指定)。Simulink软件使用这个值来执行:
∙ 参数范围检查(见Check Parameter Values)
∙ 自动缩放的定点数据类型
Product output
指定产品的输出数据类型。您可以将其设置为:
∙ 继承的规则,数据类型,例如,Inherit: Inherit via internal rule
∙ 内置的数据类型,例如,int8
∙ 数据类型的对象,例如,Simulink.NumericType对象
∙ 一个表达式,其值的数据类型,例如,fixdt(1,16,0)
点击Show data type assistant按钮显示Data Type Assistant,它可以帮助您设置Product output参数.
见Specify Data Types Using Data Type Assistant.
Accumulator
指定累加器的数据类型。您可以将其设置为:
∙ 继承的规则,数据类型,例如,Inherit: Inherit via internal rule
∙ 内置的数据类型,例如,int8
∙ 数据类型的对象,例如,Simulink.NumericType对象
∙ 一个表达式,其值的数据类型,例如,fixdt(1,16,0)
点击Show data type assistant按钮显示Data Type Assistant,它可以帮助您设置Accumulator参数.
见Specify Data Types Using Data Type Assistant.
State
指定状态的数据类型。您可以将其设置为:
∙ 继承的规则,数据类型,例如,Inherit: Same as accumulator
∙ 内置的整数,例如,int8
∙ 数据类型的对象,例如,Simulink.NumericType对象
∙ 一个表达式,其值的数据类型,例如,fixdt(1,16,0)
只有当选定的过滤器结构的Lattice MA,此参数可见。
点击Show data type assistant按钮显示Data Type Assistant,它可以帮助您设置State参数.
见Specify Data Types Using Data Type Assistant.
Output
指定输出的数据类型。您可以将其设置为:
∙ 继承的规则,数据类型,例如,Inherit: Same as accumulator
∙ 内置的数据类型,例如,int8
∙ 数据类型的对象,例如,Simulink.NumericType对象
∙ 一个表达式,其值的数据类型,例如,fixdt(1,16,0)
点击Show data type assistant按钮显示Data Type Assistant,它可以帮助您设置Output参数.
见Specify Block Output Data Types.
Output minimum
指定块输出的最小值。 默认值是[](未指定)。Simulink软件使用这个值来执行:
∙ 模拟范围检查 (见Signal Ranges)
∙ 自动缩放的定点数据类型
Output maximum
指定块输出的最大值。 默认值是[](未指定)。Simulink软件使用这个值来执行:
∙ 模拟范围检查 (见Signal Ranges)
∙ 自动缩放的定点数据类型
Lock data type settings against changes by the fixed-point tools
选择锁定此块对所有数据类型设置定点工具和定点顾问见Locking the Output Data Type Setting
Integer rounding mode
指定定点运算的舍入模式。见Rounding
Saturate on integer overflow
作用 | 采取这一行动的原因 | 溢出会发生什么事 | 例子 |
选中此复选框。 | 你的模型有可能溢出,并在生成的代码,你要明确的饱和保护。 | 溢出饱和到任何的数据类型可以表示的最小或最大值。 | 有符号的8位整数溢出饱和-128或127。 |
不选择此复选框。 | 你想生成的代码,以优化效率。 你要避免过度指定块如何处理范围的信号。, 见Checking for Signal Range Errors. | 溢出换到数据类型表示的适当的值。 | 数130不适合在有符号的8位整数,换到-126。 |
当您选择此复选框,饱和度适用于每一个块的内部运作,而不仅仅是输出或结果。一般情况下,代码生成过程中可以检测到溢出是不可能的。在这种情况下,代码生成器不产生饱和的代码
特征
直接馈通 | 可以 |
采样时间 | 在Sample time参数里指定 |
标量表达式 | 是的,初始状态 |
状态 | 见Specifying Initial States |
量纲 | 有 |
过零检测 | 没有 |