主要内容

impz

离散时间滤波器的脉冲响应系统对象

描述

例子

impRespt= impz(sysobj计算滤波器系统对象™的脉冲响应,并以列向量形式返回响应impResp,和时间(或样本间隔)的向量t,在那里T =[0 1 2…k-1]'k是滤波器系数的个数。

impRespt= impz(sysobjn计算脉冲响应地板(n)一秒钟的间隔。时间向量t=(0:地板(n) 1)

impRespt= impz(sysobjnfs计算脉冲响应地板(n)1 /fs秒的间隔。时间向量t=(0:地板(n) 1) / fs

impRespt= impz(sysobj[],fs计算脉冲响应k1 /fs秒的间隔。k是滤波器系数的个数。时间向量t=(0: k - 1) / fs

impRespt= impz(sysobj“算术”,arithType中指定的算法计算脉冲响应arithType,使用前面的语法之一。

impz (sysobj使用fvtool来绘制滤波器系统对象的脉冲响应sysobj

你可以使用impz对于实滤波器和复滤波器都适用。当省略输出参数时,impz只画出脉冲响应的实部。

有关更多输入选项,请参阅impz在信号处理工具箱™。

例子

全部折叠

为四阶低通椭圆滤波器创建一个离散时间滤波器,其截止频率为0.4倍奈奎斯特频率。使用二阶分段结构来抵抗量化误差。画出脉冲响应的前50个样本,以及参考脉冲响应。

D = fdesign.lowpass(.4,.5,1,80);

为原型过滤器创建一个设计对象。使用ellip设计了一个最小阶离散时间SOS滤波器。

sosFilt =设计(d,“ellip”“Systemobject”,真正的)
sosFilt = dsp。SOSFilterwith properties: Structure: 'Direct form II' CoefficientSource: 'Property' Numerator: [4x3 double] Denominator: [4x3 double] HasScaleValues: true ScaleValues: [0.7277 0.8290 1.3494 0.0048 1] Show all properties

画出脉冲响应。

impz (sosFilt);

{

输入参数

全部折叠

脉冲响应向量的长度,用正整数表示。

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

用于计算脉冲响应的采样频率,用正标量表示。

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

滤波器分析中使用的算法,指定为“双”“单一”,或“固定”.当不指定算术输入,且“System”对象未锁定时,分析工具假设为双精度过滤器。当算术输入未指定且System对象被锁定时,该函数根据锁定输入的数据类型进行分析。

“固定”value仅适用于具有定点属性的过滤系统对象。

“算术”输入参数被指定为“固定”filter对象将系数的数据类型设置为“与输入字长相同”时,算术分析取决于System对象是否被解锁或锁定。

  • 解锁——分析对象函数不能确定系数数据类型。该函数假定系数数据类型是带符号的,具有16位字长,并且是自动缩放的。函数基于这个假设进行定点分析。

  • locked——当输入数据类型为“双”“单一”,分析对象函数不能确定系数数据类型。该函数假设系数的数据类型是带符号的,具有16位字长,并且是自动缩放的。函数基于这个假设进行定点分析。

要检查“系统”对象是否已锁定或未锁定,请使用isLocked函数。

当算术输入被指定为“固定”过滤器对象将系数的数据类型设置为自定义数值类型,对象函数根据自定义数值数据类型执行定点分析。

输出参数

全部折叠

脉冲响应,返回为ann元向量。如果n未指定时,脉冲响应向量的长度等于滤波器中系数的数目。

数据类型:

长度时间向量n,几秒钟。tn在范围内等间距的点(0:地板(n) 1) / fs.如果n未指定时,该函数使用过滤器的系数数。

数据类型:

版本历史

在R2011a中引入

另请参阅

功能