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