主要内容

时域和频域数据之间的转换

系统识别工具箱™提供了在时域和频域分析数据以及估计和评估模型的工具。要使用与测量数据不在同一域中的工具和方法,可以在时域和频域之间转换数据。

iddata对象存储时域或频域数据。

  • 时域数据由一个或多个输入变量组成u (t)和一个或多个输出变量y (t),样本是时间的函数。

  • 频域数据由转换后的输入和输出时域信号或作为自变量频率的函数采样的系统频率响应组成。

有关在MATLAB中表示时域和频域数据的详细信息®,请参阅在MATLAB工作区中表示数据

您可以将数据从一个域转换到另一个域。下表总结了用于在时域和频域之间转换数据的命令。更多命令信息请参见对应的命令参考页面。

命令 描述 语法的例子
fft

将时域数据转换为频域数据。

你可以指定N,频率值的个数。

对时域进行变换iddata对象t_data到频域iddata对象f_dataN频率点、用途:

f_data = fft(t_data,N)
传输线 将频域数据转换为时域。频率是线性和等距的。

对频域进行变换iddata对象f_data对时域iddata对象t_data使用:

T_data = ift (f_data)

转换iddata数据的形式idfrd频率响应是一种估计。如果你想估计频率响应使用iddata对象,看到频域与频响数据之间的转换

在时域和频域之间转换数据

将数据从时域转换到频域,再转换回时域,并比较从原始数据和转换后的数据估计的模型的性能。

加载并绘制时域数据z1,包含300个样本。

负载iddata1z1情节(z1)

图中包含2个轴对象。标题为y1的Axes对象1包含一个line类型的对象。这个对象表示z1。标题为u1的Axes对象2包含一个line类型的对象。这个对象表示z1。

求样本时间Tsz1

Ts = z1。Ts
Ts = 0.1000

采样时间为0.1 s。

变换z1进入频域。

Z1f = fft(z1)
z1f = 151个频率响应的频域数据集。频率范围:0 ~ 31.416 rad/seconds采样时间:0.1秒输出单位(如有指定)y1输入单位(如有指定)u1

频率范围扩展到31.416 rad/s,相当于的奈奎斯特频率π/Ts

绘制频域数据。

情节(z1f)

图中包含4个轴对象。标题为y1的Axes对象1包含一个line类型的对象。该对象表示z1f。坐标轴对象2包含一个line类型的对象。该对象表示z1f。标题为u1的坐标轴对象3包含一个line类型的对象。该对象表示z1f。Axes对象4包含一个line类型的对象。该对象表示z1f。

变换z1f回到时域,把两个时域信号画在一起。

Z1t = ifft(z1f)
z1t = 300个样本的时域数据集。采样时间:0.1秒输出单位(如指定)y1输入单位(如指定)u1
情节(z1t z1)

图中包含2个轴对象。标题为y1的axis对象1包含2个类型为line的对象。这些物体代表z1t z1。标题为u1的坐标轴对象2包含2个line类型的对象。这些物体代表z1t z1。

信号精确地排列在一起。

估计二阶状态空间模型z1而且z1t

Sys1 = sest(z1,2);Sys1t = sest(z1t,2);比较(z1, sys1 sys1t)

图中包含一个轴对象。axis对象包含3个line类型的对象。这些对象表示验证数据(y1), sys1: 70.63%, sys1t: 70.63%。

估计状态空间模型z1f

Sys1f = sest(z1f,2);比较(z1f sys1f)

图中包含2个轴对象。坐标轴对象1包含2个line类型的对象。这些对象表示验证数据(y1), sys1f: 70.85%。坐标轴对象2包含2个line类型的对象。这些对象表示验证数据(y1), sys1f: 70.85%。

时域模型和频域模型的拟合百分比相似。

另请参阅

|||||

相关的话题