主要内容

dsp.IIRFilter

无限脉冲响应(IIR)过滤器

描述

dsp.IIRFilter系统对象™过滤器每个通道的输入使用指定的过滤器。您可以指定过滤器有一个“我直接形式”,“我直接形式转置”,“直接形成二世”,或者一个“直接形成二转置”结构。

使用分子分母属性指定滤波器的系数的分子和分母系数。除了这些系数外,您还可以指定非零初始滤波器通过InitialConditions财产。

过滤信号使用IIR滤波器:

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

  2. 调用对象的参数,就好像它是一个函数。

了解更多关于系统对象是如何工作的,看到的系统对象是什么?

创建

描述

例子

信息检索= dsp.IIRFilter创建无限脉冲响应(IIR)独立过滤器过滤系统对象输入的每个通道使用指定的IIR滤波器实现。

例子

信息检索= dsp.IIRFilter (名称,值)创建一个IIR滤波器与每个指定的对象属性设置为指定的值。在单引号附上每个属性的名字。

例子:iir = dsp.IIRFilter ('Structure','Direct form I');

属性

全部展开

属性,除非另有注明nontunable后,这意味着你不能改变它们的值调用对象。对象锁当你叫他们,释放函数打开它们。

如果一个属性可调在任何时候,你可以改变它的值。

改变属性值的更多信息,请参阅系统设计在MATLAB使用系统对象

IIR滤波器结构,指定为“我直接形式”,“我直接形式转置”,“直接形成二世”,或“直接形成二转置”

分子系数,指定为一个行向量。

例子:(0.0296 0.1775 0.4438 0.5918 0.4438 0.1775 0.0296]

可调:是的

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

分母系数,指定为一个行向量。领先的分母系数必须相等1

例子:(1.0000 -0.0000 0.7777 -0.0000 0.1142 -0.0000 0.0018]

可调:是的

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

过滤器的初始条件,指定为以下之一:

  • 标量——对象初始化所有延迟滤波器的标量值的元素。

  • 向量,向量的长度等于延迟滤波器中的元素的数量。每个向量元素指定为相应的延迟元素独特的初始条件。对象相同的向量适用于每个通道的输入信号。

  • 矩阵,在矩阵的行数必须等于延迟滤波器中的元素的数量。矩阵的列数必须等于输入通道的数量。每个元素指定一个唯一的初始条件的相应的延迟元素对应的通道。

过滤器的状态数= max (N,)- 1,N是极数,是0的数量。

可调:是的

依赖关系

这个属性只适用于当你设置结构财产“直接形成二世”“直接形成二转置”

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

初始条件的滤波器状态的滤波器结构零,指定为以下之一:

  • 标量——对象初始化所有延迟元素在零侧过滤标量值。

  • 向量,向量的长度等于0端的延迟元素的数量的过滤器。每个向量元素指定一个唯一的初始条件为零元素对应的延迟。对象相同的向量初始条件适用于每个通道的输入信号。

  • 矩阵,在矩阵的行数必须等于零一边延迟元素的数量的过滤器。矩阵的列数必须等于输入信号通道的数量。每个元素指定一个唯一的初始条件为相应的延迟元素0一边在相应的通道。

过滤器的状态数= max (N,)- 1,N是极数,分别是0的数量。

可调:是的

依赖关系

这个属性只适用于当你设置结构财产“我直接形式”“我直接形式转置”

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

初始条件的过滤状态的两极的滤波器结构,指定为以下之一:

  • 标量——对象初始化所有延迟元素两极端的滤波器的标量值。

  • 向量,向量的长度等于两极端的延迟的元素数量的过滤器。每个向量元素指定一个唯一的初始条件的相应延迟两极端的元素。对象相同的向量初始条件适用于每个通道的输入信号。

  • 矩阵,在矩阵的行数必须等于两极端的延迟的数量元素的过滤器。矩阵的列数必须等于输入信号通道的数量。每个元素指定一个唯一的初始条件中相应的延迟两极端的元素对应的通道。

过滤器的状态数= max (N,)- 1,N是极数,分别是0的数量。

可调:是的

依赖关系

这个属性只适用于当你设置结构财产“我直接形式”“我直接形式转置”

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

定点属性

选择舍入模式为定点操作。

溢出行动定点操作,指定为以下之一:

  • “包装”——对象包装定点操作的结果。

  • “饱和”——对象浸透定点操作的结果。

溢出行为的更多细节,请参阅溢出模式为定点操作。

状态数据类型,指定为以下之一:

  • 同样作为输入的——国家相同数据类型作为输入数据类型。

  • “自定义”——国家输出数据类型是一个通过autosigned数值类型CustomStateDataType财产。

状态词和部分长度,指定为一个autosigned数值类型的字长16和一小部分的长度15。

依赖关系

这个属性只适用于当您设置StateDataType“自定义”

数据类型的分子系数,指定为以下之一:

  • 相同的单词长度作为输入的——分子的单词长度系数作为输入单词长度相同。部分的长度选择给最好的精度。

  • “自定义”——分子系数的数据类型是autosigned数字指定的类型CustomNumeratorCoefficientsDataType财产。

词和部分长度的分子系数,指定为一个autosigned数值类型的字长16和一小部分的长度15。

依赖关系

这个属性只适用于当您设置NumeratorCoefficientsDataType“自定义”

数据类型的分母系数,指定为以下之一:

  • 相同的单词长度作为输入的——分母系数的字长是一样的输入单词的长度。部分的长度选择给最好的精度。

  • “自定义”——分母系数的数据类型是autosigned数字指定的类型CustomDenominatorCoefficientsDataType财产。

词和部分长度的分母系数,指定为一个autosigned数值类型的字长16和一小部分的长度15。

依赖关系

这个属性只适用于当您设置DenominatorCoefficientsDataType“自定义”

数据类型的一个产品的输出操作分子多项式的IIR滤波器,指定为以下之一:

  • “充分精确”——计算分子产品输出数据类型的对象不能使用规则。这些规则提供最精确定点数字。没有发生量子化。位,根据需要,以确保没有舍入或发生溢出。

  • 同样作为输入的——产品输出数据类型作为输入数据类型相同。

  • “自定义”——产品输出数据类型是指定的自定义数字类型CustomNumeratorProductDataType财产。舍入法和溢出作用是指定的RoundingMethodOverflowAction属性。

分子产品词和部分长度指定为一个autosigned数值类型,字长为32个,一小部分的长度30。

依赖关系

这个属性只适用于当您设置NumeratorProductDataType“自定义”

数据类型的输出产品的操作在分母多项式的IIR滤波器,指定为以下之一:

  • “充分精确”——对象计算分母产品输出数据类型不能使用规则。这些规则提供最精确定点数字。没有发生量子化。位,根据需要,以确保没有舍入或发生溢出。

  • 同样作为输入的——产品输出数据类型作为输入数据类型相同。

  • “自定义”——产品输出数据类型是指定的自定义数字类型CustomDenominatorProductDataType财产。舍入法和溢出作用是指定的RoundingMethodOverflowAction属性。

分母产品词和部分长度指定为一个autosigned数值类型,字长为32个,一小部分的长度30。

依赖关系

这个属性只适用于当您设置DenominatorProductDataType“自定义”

输出的数据类型操作积累的分子多项式的IIR滤波器,指定为以下之一:

  • “充分精确”——计算分子蓄电池数据类型的对象不能使用规则。这些规则提供最精确定点数字。没有发生量子化。位,根据需要,以确保没有舍入或发生溢出。

  • 同样作为输入的——蓄电池数据类型作为输入数据类型相同。

  • “一样的产品”——蓄电池数据类型是一样的产品输出数据类型。

  • “自定义”——蓄电池数据类型指定的自定义数字类型CustomNumeratorAccumulatorDataType财产。舍入法和溢出作用是指定的RoundingMethodOverflowAction属性。

分子蓄电池词和部分长度,指定为一个autosigned数值类型,字长为32个,一小部分的长度30。

依赖关系

这个属性只适用于当您设置NumeratorAccumulatorDataType“自定义”

数据类型的积累的输出操作分母多项式的IIR滤波器,指定为以下之一:

  • “充分精确”——对象计算分母蓄电池数据类型不能使用规则。这些规则提供最精确定点数字。没有发生量子化。位,根据需要,以确保没有舍入或发生溢出。

  • 同样作为输入的——蓄电池数据类型作为输入数据类型相同。

  • “一样的产品”——蓄电池数据类型是一样的产品输出数据类型。

  • “自定义”——蓄电池数据类型指定的自定义数字类型CustomDenominatorAccumulatorDataType财产。舍入法和溢出作用是指定的RoundingMethodOverflowAction属性。

分母蓄电池词和部分长度,指定为一个autosigned数值类型,字长为32个,一小部分的长度30。

依赖关系

这个属性只适用于当您设置DenominatorAccumulatorDataType“自定义”

数据类型的输出dsp.IIRFilter对象,指定为以下之一:

  • 同样作为输入的——输出数据类型作为输入数据类型相同。

  • “充分精确”——对象计算输出数据类型不能使用规则。这些规则提供最精确定点数字。没有发生量子化。位,根据需要,以确保没有舍入或发生溢出。

  • “自定义”——输出数据类型是指定的自定义数字类型CustomOutputDataType财产。舍入法和溢出作用是指定的RoundingMethodOverflowAction属性。

输出词和部分长度,指定为一个autosigned数值类型的字长16和一小部分的长度15。

依赖关系

这个属性只适用于当您设置OutputDataType“自定义”

被乘数数据类型,指定为以下之一:

  • 同样作为输入的——被乘数数据类型作为输入数据类型相同。

  • “自定义”——被乘数数据类型是autosigned数值类型指定的CustomMultiplicandDataType财产。

被乘数输出词和部分长度指定为一个autosigned数值类型的字长16和一小部分的长度15。

依赖关系

这个属性只适用于当您设置MultiplicandDataType“自定义”

使用

描述

例子

iirOut=信息检索(输入)过滤输入信号使用指定的过滤器生产过滤输出。输入信号的系统对象过滤器每一列独立。

输入参数

全部展开

过滤后的数据输入,指定为一个向量或矩阵。

例子:randn(34岁24)

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

输出参数

全部展开

过滤输出,作为一个向量或矩阵返回。大小、数据类型和输入的生产匹配的复杂性。

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

对象的功能

使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj使用这个语法:

发行版(obj)

全部展开

freqz 离散滤波器的频率响应系统对象
fvtool 可视化DSP滤波器的频率响应
impz 离散滤波器的脉冲响应系统对象
phasez 离散滤波器的相位响应系统对象(打开)
紧急求救信号 转换为二阶部分
一步 运行系统对象算法
释放 释放资源,并允许修改系统对象属性值和输入特征
重置 重置的内部状态系统对象

过滤的列表分析方法这一对象支持,类型金宝appdsp.IIRFilter.helpFilterAnalysis在MATLAB®命令提示符。相应的函数引用页面,看到过滤系统对象的分析方法

例子

全部折叠

使用低通巴特沃斯滤波器的正弦信号IIR滤波器。

输入信号

输入信号有三个音调,1 kHz, 5 kHz, 12 kHz。

Sine1 = dsp.SineWave (“频率”1 e3,“SampleRate”44.1 e3);Sine2 = dsp.SineWave (“频率”5 e3,“SampleRate”44.1 e3);Sine3 = dsp.SineWave (“频率”,12 e3,“SampleRate”44.1 e3);

滤波器的设计

使用黄油设计一个十阶低通巴特沃斯滤波器函数。

N = 10;Fc = 0.4;[b] =黄油(N, Fc);

创建一个dsp.IIRFilter对象和分配系数的设计分子分母属性。

iir = dsp.IIRFilter (“分子”b“分母”,);

滤波器的幅度响应。截止频率为0.4 π rad /样品,采样率为44.1 kHz,翻译 0 4 × 44100年 / 2 或8.82 kHz。

fvtool(信息检索,“Fs”Sine1.SampleRate)

图1图:级响应(dB)包含一个坐标轴对象。坐标轴对象与标题级响应(dB),包含频率(赫兹),ylabel级(dB)包含一个类型的对象。

查看输入和输出信号的功率谱使用频谱分析仪

sa =简介(“SampleRate”Sine1.SampleRate,“方法”,“韦尔奇”,“PlotAsTwoSidedSpectrum”假的,“OverlapPercent”,80,“SpectrumUnits”,“瓦分贝”,“YLimits”-10年[-220]);

流媒体

添加零均值高斯白噪声的标准差0.01正弦波之和。过滤器使用IIR滤波器的信号。

音调1 kHz和5 kHz不受影响,因为他们的通频带。12 kHz的频率是减毒因为它落在滤波器的过渡带。

我= = Sine1 1:1000输入()+ Sine2 Sine3 () + () +0.01 * randn (Sine1.SamplesPerFrame, 1);输出= iir(输入);sa(输入、输出)结束

设计一个切口梳状滤波器8级,和一个等级的带宽0.02引用3 dB的水平。

创建一个梳子滤波器设计规范对象使用fdesign.comb这些设计参数并指定函数。

combSpecs = fdesign.comb (“缺口”,“N, BW”8,0.02);

设计切口梳状滤波器使用设计函数。由此产生的过滤器dsp.IIRFilter系统对象™。有关如何应用这个过滤器流数据,参考dsp.IIRFilter

iirFilt =设计(combSpecs,“Systemobject”,真正的)
iirFilt = dsp。IIRFilter属性:结构:“直接形成II”分子:[0.8878 0 0 0 0 0 0 0 -0.8878]分母:[1 0 0 0 0 0 0 0 -0.7757]InitialConditions: 0显示所有属性

使用视图级响应的滤波器设计fvtool

fvtool (iirFilt)

图1图:级响应(dB)包含一个坐标轴对象。坐标轴对象与标题级响应(dB),包含归一化频率(空白乘以πr d / s m p l e), ylabel级(dB)包含2线类型的对象。

更多关于

全部展开

扩展功能

版本历史

介绍了R2012b