主要内容

如何在命令行中过滤数据

简单通带滤波器

使用Idfilt.将通带和其他自定义滤波器应用于时域或频域的步骤iddata目的。

通常,您可以指定任何自定义过滤器。使用此语法可以筛选iddata对象数据使用名为滤器:

fdata=idfilt(数据、筛选器)

在最简单的情况下,可以使用以下语法为时域数据指定通带滤波器:

fdata=idfilt(数据,[wl wh])

在这种情况下,,w1wh分别代表通带的低频和高频。

可以指定多个通带,如下所示:

过滤器=[[w1l,w1h];[w2l,w2h];…;[wnl,wnh]]

过滤器是一个N-借-2.矩阵,其中每行定义以弧度/秒为单位的通带。

定义之间的阻带的步骤ws1ws2, 用

过滤器=[0 ws1;ws2 Nyqf]

哪里Nyqf是奈奎斯特频率。

对于时域数据,通带滤波是指定阶数的级联巴特沃斯滤波器。默认的过滤器顺序是5。巴特沃斯过滤器与其他过滤器相同牛油在信号处理工具箱中™ 产品。对于频域数据,选择数据的指示部分以执行通带滤波。

定义自定义筛选器

使用Idfilt.将通带和其他自定义滤波器应用于时域或频域的步骤iddata目的。

通常,您可以指定任何自定义过滤器。使用此语法可以筛选iddata对象数据使用名为滤器:

fdata=idfilt(数据、筛选器)

您可以定义用于过滤时域或频域数据的一般单输入/单输出(SISO)系统。仅适用于频域,您可以指定滤波器的(非参数)频率响应。

您可以使用此语法来筛选iddata对象数据使用由指定的自定义筛选器滤器:

fdata=idfilt(数据、筛选器)

滤器也可以是以下任一项:

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

idm是西索吗辨识线性模型或LTI对象。有关LTI对象的更多信息,请参阅控制系统工具箱™ 文档

{num,den}将过滤器定义为传递函数,即分子和分母过滤器系数的单元数组。

{A,B,C,D}是SISO状态空间矩阵的单元数组。

特别是对于频域数据,可以指定滤波器的频率响应:

过滤器=Wf

在这里Wf是定义滤波器频率响应的实值或复值向量,其中数据频率数据频率(kf)乘以Wf(kf).Wf是一个柱矢量,长度等于频率的数量数据.

什么时候数据包含几个实验,Wf是一个单元阵列,其长度等于中的实验数数据.

因果滤波器和非因果滤波器

对于时域数据,默认情况下过滤是因果的。因果过滤器通常会在结果中引入相移。使用非因果零相位滤波器(对应于过滤在“信号处理工具箱产品”(Signal Processing Toolbox product)中,在中指定第三个参数Idfilt.:

fdata=idfilt(数据、筛选器、“非因果”)

对于频域数据,信号乘以滤波器的频率响应。对于定义为通带滤波器的滤波器,此计算给出理想的零相位滤波器(“砖墙滤波器”)。滤波器(通带外或通过频率响应)赋予零权重的频率被移除。

当你申请时Idfilt.IDFRD.数据对象,数据首先将数据转换为频域iddata对象(请参见频域和频率响应数据之间的转换).结果是iddata目的。

相关话题