主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

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

System Identification Toolbox™ 提供用于分析数据以及在时间和频域中估计和评估模型的工具。要使用与测量数据不在同一域中的工具和方法,您可以在时域和频域之间转换数据。

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

  • 时域 数据由一个或多个输入变量 u(t) 和一个或多个输出变量 y(t) 组成,作为时间函数进行采样。

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

有关在 MATLAB® 中表示时域和频域数据的详细信息,请参阅 Representing Data in MATLAB Workspace

您可以将数据从一个域转换到另一个域。该表总结了在时域和频域之间转换数据的命令。有关更多命令信息,请参阅相应的命令参考页面。

命令描述语法示例
fft

时域数据转换到频域。

您可以指定 N,即频率值的数量。

要将时域 iddata 对象 t_data 转换为频域 iddata 对象 f_data(具有 N 频率点),请使用:

f_data = 
  fft(t_data,N)
ifft将频域数据变换到时域。频率是线性的并且间隔相等。

要将频域 iddata 对象 f_data 转换时域 iddata 对象 t_data,请使用:

t_data = 
  ifft(f_data)

iddata 数据转换为 idfrd 频率响应的形式是一种估计。如果您想使用 iddata 对象估计频率响应,请参阅Transforming Between Frequency-Domain and Frequency-Response Data

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

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

加载并绘制包含 300 个采样的时域数据 z1

load iddata1 z1
plot(z1)

Figure contains 2 axes objects. Axes object 1 with title y1 contains an object of type line. This object represents z1. Axes object 2 with title u1 contains an object of type line. This object represents z1.

查找 z1 的采样时间 Ts

Ts = z1.Ts
Ts = 
0.1000

采样时间为 0.1 秒。

z1 变换到频域。

z1f = fft(z1)
z1f = 
Frequency domain data set with responses at 151 frequencies.
Frequency range: 0 to 31.416 rad/seconds
Sample time: 0.1 seconds                                                                             
                                                                                                     
Outputs      Unit (if specified)                                                                     
   y1                                                                                                
                                                                                                     
Inputs       Unit (if specified)                                                                     
   u1                                                                                                
                                                                                                     
Data Properties

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

绘制频域数据。

plot(z1f)

Figure contains 4 axes objects. Axes object 1 with title y1 contains an object of type line. This object represents z1f. Axes object 2 contains an object of type line. This object represents z1f. Axes object 3 with title u1 contains an object of type line. This object represents z1f. Axes object 4 contains an object of type line. This object represents z1f.

z1f 转换回时域并将两个时域信号绘制在一起。

z1t = ifft(z1f)
z1t = 
Time domain data set with 300 samples.
Sample time: 0.1 seconds              
                                      
Outputs      Unit (if specified)      
   y1                                 
                                      
Inputs       Unit (if specified)      
   u1                                 
                                      
Data Properties
plot(z1t,z1)

Figure contains 2 axes objects. Axes object 1 with title y1 contains 2 objects of type line. These objects represent z1t, z1. Axes object 2 with title u1 contains 2 objects of type line. These objects represent z1t, z1.

信号精确排列。

估计 z1z1t 的二阶状态空间模型。

sys1 = ssest(z1,2);
sys1t = ssest(z1t,2);
compare(z1,sys1,sys1t)

Figure contains an axes object. The axes object with ylabel y1 contains 3 objects of type line. These objects represent Validation data (y1), sys1: 70.63%, sys1t: 70.63%.

估计 z1f 的状态空间模型。

sys1f = ssest(z1f,2);
compare(z1f,sys1f)

Figure contains 2 axes objects. Axes object 1 with ylabel y1 contains 2 objects of type line. These objects represent Validation data (y1), sys1f: 70.85%. Axes object 2 contains 2 objects of type line. These objects represent Validation data (y1), sys1f: 70.85%.

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

另请参阅

| | | | |

主题