主要内容

impz

离散时间滤波器 System object 的冲激响应

说明

[impResp,t] = impz(sysobj) 计算滤波器 System object™ 的冲激响应,以列向量 impResp 形式返回响应,以 t 形式返回时间(或采样间隔)向量,其中 t = [0 1 2 ...k-1]'k 是滤波器系数数目。

示例

[impResp,t] = impz(sysobj,n) 以一秒的间隔在 floor(n) 处计算冲激响应。时间向量 t 等于 (0:floor(n)-1)'

[impResp,t] = impz(sysobj,n,fs) 以 1/fs 秒的间隔在 floor(n) 处计算冲激响应。时间向量 t 等于 (0:floor(n)-1)'/fs

[impResp,t] = impz(sysobj,[],fs) 以 1/fs 秒的间隔在 k 处计算冲激响应。k 是滤波器系数数目。时间向量 t 等于 (0:k-1)'/fs

[impResp,t] = impz(sysobj,Arithmetic=arithType) 基于 arithType 中指定的算术,使用上述任一语法计算冲激响应。

impz(sysobj) 绘制滤波器 System object 的冲激响应。

您可以对实数和复数滤波器都使用 impz。当您省略输出参量时,impz 仅绘制冲激响应的实部。

有关更多输入选项,请参考 Signal Processing Toolbox™ 中的 impz

示例

全部折叠

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

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

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

sosFilt = design(d,"ellip",Systemobject=true)
sosFilt = 
  dsp.SOSFilter with properties:

            Structure: 'Direct form II'
    CoefficientSource: 'Property'
            Numerator: [4×3 double]
          Denominator: [4×3 double]
       HasScaleValues: true
          ScaleValues: [0.7277 0.8290 1.3494 0.0048 1]

  Show all properties

绘制冲激响应。

impz(sosFilt);

Figure contains an axes object. The axes object with title Impulse Response, xlabel n (samples), ylabel Amplitude contains an object of type stem.

输入参数

全部折叠

冲激响应向量的长度,指定为正整数。

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

用于计算冲激响应的采样频率,指定为正标量。

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

滤波器分析中使用的算术,指定为 'double''single''Fixed'。当未指定算术输入且滤波器 System object 未锁定时,分析工具假定为双精度滤波器。当未指定算术输入且 System object 锁定时,该函数基于锁定输入的数据类型执行分析。

'Fixed' 值仅适用于具有定点属性的滤波器 System object。

'Arithmetic' 输入参量指定为 'Fixed' 且滤波器对象的系数数据类型设置为 'Same word length as input' 时,算术分析取决于 System object 是未锁定还是锁定。

  • 未锁定 - 分析对象函数无法确定系数数据类型。该函数假定系数数据类型为有符号,具有 16 位字长,并且是自动定标的。该函数基于此假设执行定点分析。

  • 锁定 - 当输入数据类型为 'double''single' 时,分析对象函数无法确定系数数据类型。该函数假定系数的数据类型为有符号,具有 16 位字长,并且是自动定标的。该函数基于此假设执行定点分析。

要检查 System object 是锁定还是未锁定,请使用 isLocked 函数。

当算术输入指定为 'Fixed' 且滤波器对象的系数数据类型设置为自定义数值类型时,对象函数基于自定义数值数据类型执行定点分析。

输出参量

全部折叠

冲激响应,以 n 元素向量形式返回。如果未指定 n,则冲激响应向量的长度等于滤波器中的系数数目。

数据类型: double

时间向量,长度为 n,单位为秒。t 由范围 (0:floor(n)-1)'/fs 内的 n 个等间隔点组成。如果未指定 n,函数使用滤波器的系数数目。

数据类型: double

版本历史记录

在 R2011a 中推出

全部展开