主要内容

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}SISO状态空间矩阵或单元阵列{num,窝}分子/分母滤波系数。

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

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

    矩阵是n-by-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

另请参阅

|

Baidu
map