idfilt

使用用户定义的通带、通用滤波器或巴特沃斯滤波器过滤数据

语法

Zf = idfilt (Z,过滤器)
Zf = idfilt (Z,过滤器,因果关系)
Zf = idfilt (Z,过滤器,FilterOrder, NF)

描述

Zf = idfilt (Z,过滤器)使用用户定义的通带、通用滤波器或巴特沃斯滤波器过滤数据。Z数据是否定义为iddata对象。Zf包含过滤后的数据iddata对象。过滤器可以通过三种方式定义:

  • 作为定义筛选器的显式系统。

    filter = idm或filter = {num,den}或filter = {A,B,C,D}

    idm可以是任意SISO标识的线性模型或LTI模型对象。或者,可以将筛选器定义为单元格数组{A, B, C, D}的状态空间矩阵或作为一个单元数组{num,窝}的分子/分母滤波器系数。

  • 定义一个或多个通带的向量或矩阵。

    过滤器= [[wp1l wp1h]; [wp2l wp2h];....;[wpnl, wpnh]]

    矩阵是n乘2,每一行定义一个通带。构造一个滤波器,给出这些通带的并集。对于时域数据,计算方法为级联巴特沃思滤波器或阶NF。NF的默认值为5

    • 对于时域数据——通带的单位为rad / TimeUnit,在那里TimeUnit为估计数据的时间单位。

    • 对于频域数据-通频带以频率单位(FrequencyUnit(属性)的估计数据。

    例如,定义中间的停止带ws1二硫化钨,使用

    filter = [0 ws1;二硫化钨,Nyqf]

    在哪里Nyqf为奈奎斯特频率。

  • 对于频域数据,只能指定滤波器的频率响应。

    过滤器= Wf

    在这里Wf是一个可能是复数值的向量,它定义了滤波器的频率响应,使输入和输出在频率Z.Frequency (kf)是乘Wf (kf)Wf长度的列向量是否等于频率的个数Z。如果数据对象进行了多次实验,Wf实验的单元格数组长度是= #吗Z

Zf = idfilt (Z,过滤器,因果关系)指定的因果关系。对于时域数据,滤波作为默认的因果滤波在时域进行。这对应于最后一个参数因果关系=“因果”。与因果关系= '没有'时,采用非因果、零相位滤波器进行滤波(对应于filtfilt在信号处理工具箱™产品中)。

对于频域数据,信号乘以滤波器的频率响应。滤波器定义为通带,这就给出了理想的零相位滤波器(“砖墙滤波器”)。被滤波器赋予零权的频率(在通带之外,或通过频率响应)被从iddata对象Zf

Zf = idfilt (Z,过滤器,FilterOrder, NF)指定筛选顺序。时域滤波器在通带情况下计算为级联巴特沃思通带和阻带滤波器。默认情况下,这些过滤器的顺序为5,可以将其更改为任意整数NF

通常的做法是选择一个频带之间的模型和数据拟合集中。通常这相当于在波德图中感兴趣的断点上使用通带进行带通滤波。对于同时估计了扰动模型的辨识,最好能达到预期的估计结果“WeightingFilter”选项的估计命令,而不仅仅是预先过滤数据。的值“WeightingFilter”和论点一样吗过滤器idfilt

算法

巴特沃斯过滤器和黄油在信号处理工具箱中的产品。同时,零相位滤波器等于filtfilt工具箱。

参考文献

Ljung(1999),第14章。

另请参阅

|

之前介绍过的R2006a