主要内容GyD.F4y2Ba

使用频域数据估算模型GyD.F4y2Ba

系统识别工具箱™软件允许您使用频域数据来识别命令行中的线性模型和GyD.F4y2Ba系统识别GyD.F4y2Ba你可以使用频域数据估计连续时间和离散时间线性模型。本主题概述了在工具箱中使用频域数据的模型估计。有关使用频域数据进行模型估计的示例,请参见GyD.F4y2Ba频域识别:使用频域数据估计模型GyD.F4y2Ba.GyD.F4y2Ba

频域数据可以有两种类型:GyD.F4y2Ba

  • 频域输入输出数据GyD.F4y2Ba-通过计算时域输入的傅里叶变换获得数据,GyD.F4y2Ba你GyD.F4y2Ba(GyD.F4y2BaT.GyD.F4y2Ba),和输出,GyD.F4y2BayGyD.F4y2Ba(GyD.F4y2BaT.GyD.F4y2Ba),信号。数据是输入的集合,GyD.F4y2Ba你GyD.F4y2Ba(GyD.F4y2BaωGyD.F4y2Ba),和输出,GyD.F4y2BayGyD.F4y2Ba(GyD.F4y2BaωGyD.F4y2Ba),频域信号。在工具箱中,频域输入输出数据用GyD.F4y2BaiddataGyD.F4y2Ba对象。有关更多信息,请参阅GyD.F4y2Ba表示工具箱中的频域数据GyD.F4y2Ba.GyD.F4y2Ba

  • 频率响应数据GyD.F4y2Ba-也称为频率函数或频率响应函数(FRF),数据由传递函数测量,GyD.F4y2BaGGyD.F4y2Ba(GyD.F4y2Baiω.GyD.F4y2Ba),一个系统在一组离散的频率GyD.F4y2BaωGyD.F4y2Ba.在一个频率上的频率响应数据GyD.F4y2BaωGyD.F4y2Ba告诉你线性系统如何响应相同频率的正弦输入。在工具箱中,频率响应数据用GyD.F4y2BaidfrdGyD.F4y2Ba对象。有关更多信息,请参阅GyD.F4y2Ba表示工具箱中的频域数据GyD.F4y2Ba.频响数据可以通过以下两种方式获取:GyD.F4y2Ba

这GyD.F4y2Ba模型估计工作流GyD.F4y2Ba使用频域数据与使用时域数据进行估计是相同的。如果需要,首先通过删除离群值和过滤数据来准备用于模型识别的数据。然后从数据估计一个线性参数模型,并验证估计。GyD.F4y2Ba

使用频域数据的优点GyD.F4y2Ba

使用频域数据有以下优点:GyD.F4y2Ba

  • 数据压缩 - 将时域数据转换为频域时,可以压缩数据的长记录。例如,您可以使用对数间隔的频率。GyD.F4y2Ba

  • 非均匀性-频域数据不一定是均匀间隔的。您的数据可以具有与频率相关的分辨率,以便在感兴趣的频率区域中使用更多的数据点。例如,感兴趣的频率可以是系统的带宽范围,或系统共振的附近。GyD.F4y2Ba

  • 预过滤-频域数据的预过滤变得简单。它对应的是给数据的不同频率分配不同的权重。GyD.F4y2Ba

  • 连续时间信号——可以使用频域数据表示连续时间信号,并使用这些数据进行估计。GyD.F4y2Ba

表示工具箱中的频域数据GyD.F4y2Ba

在执行模型估计之前,您将频域数据指定为工具箱中的对象。您可以指定两者GyD.F4y2Ba连续时间和离散时间频域数据GyD.F4y2Ba.GyD.F4y2Ba

  • 频域输入输出数据GyD.F4y2Ba-指定为GyD.F4y2BaiddataGyD.F4y2Ba对象。在对象中存储GyD.F4y2Ba你GyD.F4y2Ba(GyD.F4y2BaωGyD.F4y2Ba),GyD.F4y2BayGyD.F4y2Ba(GyD.F4y2BaωGyD.F4y2Ba)和频率矢量GyD.F4y2BaωGyD.F4y2Ba.这GyD.F4y2Ba域GyD.F4y2Ba属性为GyD.F4y2Ba“频率”GyD.F4y2Ba,以指定对象包含频域信号。如果GyD.F4y2Ba你GyD.F4y2Ba(GyD.F4y2BaωGyD.F4y2Ba),GyD.F4y2BayGyD.F4y2Ba(GyD.F4y2BaωGyD.F4y2Ba)是离散时间信号的离散时间傅立叶变换,采样间隔采样GyD.F4y2BaTsGyD.F4y2Ba的采样间隔GyD.F4y2BaiddataGyD.F4y2Ba对象。如果GyD.F4y2Ba你GyD.F4y2Ba(GyD.F4y2BaωGyD.F4y2Ba),GyD.F4y2BayGyD.F4y2Ba(GyD.F4y2BaωGyD.F4y2Ba)为连续时间信号的傅里叶变换,指定GyD.F4y2BaTsGyD.F4y2Ba作为GyD.F4y2Ba0.GyD.F4y2Ba在GyD.F4y2BaiddataGyD.F4y2Ba对象。GyD.F4y2Ba

    要在命令行绘制数据,请使用GyD.F4y2Ba情节GyD.F4y2Ba命令。GyD.F4y2Ba

    例如,您可以绘制频域输入输出数据的相位和幅值。GyD.F4y2Ba

    加载时域输入输出数据。GyD.F4y2Ba

    负载GyD.F4y2Baiddata1GyD.F4y2Baz1GyD.F4y2Ba

    时域输入GyD.F4y2Ba你GyD.F4y2Ba和输出GyD.F4y2BayGyD.F4y2Ba存储在GyD.F4y2Baz1GyD.F4y2Ba,一个GyD.F4y2BaiddataGyD.F4y2Ba的对象GyD.F4y2Ba域GyD.F4y2Ba属性设置为GyD.F4y2Ba'时间'GyD.F4y2Ba.GyD.F4y2Ba

    对数据进行傅里叶变换,得到频域输入输出数据。GyD.F4y2Ba

    zf = fft (z1);GyD.F4y2Ba

    这GyD.F4y2Ba域GyD.F4y2Ba的属性GyD.F4y2BazfGyD.F4y2Ba被设置为GyD.F4y2Ba“频率”GyD.F4y2Ba,表示为频域数据。GyD.F4y2Ba

    绘制频域输入输出数据的幅度和相位。GyD.F4y2Ba

    情节(zf)GyD.F4y2Ba

    图中包含4个轴对象。标题为y1的轴对象1包含一个类型为line的对象。这个对象表示zf。axis对象2包含一个类型为line的对象。这个对象表示zf。标题为u1的axis对象3包含一个类型为line的对象。这个对象表示zf。axis对象4包含一个类型为line的对象。这个对象表示zf。GyD.F4y2Ba

  • 频率响应数据GyD.F4y2Ba-指定为GyD.F4y2BaidfrdGyD.F4y2Ba对象。如果您有Control System Toolbox™软件,您还可以将数据指定为GyD.F4y2Ba的朋友GyD.F4y2Ba(控制系统工具箱)GyD.F4y2Ba对象。GyD.F4y2Ba

    要在命令行绘制数据,请使用GyD.F4y2Ba波德GyD.F4y2Ba命令。GyD.F4y2Ba

    例如,您可以绘制传递函数模型的频响曲线。GyD.F4y2Ba

    创建系统的传递函数模型。GyD.F4y2Ba

    Sys = tf([1 0.2],[1 2 1]);GyD.F4y2Ba

    计算传递函数模型的频响,GyD.F4y2BasysGyD.F4y2Ba, 100个频率点。指定频率范围为0.1 rad/s到10 rad/s。GyD.F4y2Ba

    频率= logspace (1100);frdModel = idfrd (sys、频率);GyD.F4y2Ba

    绘制模型的频率响应曲线。GyD.F4y2Ba

    波德(frdModel)GyD.F4y2Ba

    图中包含2个轴对象。axis对象1包含一个类型为line的对象。该对象表示frdModel。axis对象2包含一个类型为line的对象。该对象表示frdModel。GyD.F4y2Ba

有关频域数据类型以及如何指定它们的更多信息,请参见GyD.F4y2Ba频域数据表示GyD.F4y2Ba.GyD.F4y2Ba

您还可以使用以下命令在频域和时域数据类型之间进行转换。GyD.F4y2Ba

原始数据格式GyD.F4y2Ba 时域数据GyD.F4y2Ba
(GyD.F4y2BaiddataGyD.F4y2Ba对象)GyD.F4y2Ba
频域数据GyD.F4y2Ba
(GyD.F4y2BaiddataGyD.F4y2Ba对象)GyD.F4y2Ba
频率特性数据GyD.F4y2Ba
(GyD.F4y2BaidfrdGyD.F4y2Ba对象)GyD.F4y2Ba
时域数据GyD.F4y2Ba
(GyD.F4y2BaiddataGyD.F4y2Ba对象)GyD.F4y2Ba
N/AGyD.F4y2Ba 使用GyD.F4y2BafftGyD.F4y2Ba
频域数据GyD.F4y2Ba
(GyD.F4y2BaiddataGyD.F4y2Ba对象)GyD.F4y2Ba
使用GyD.F4y2Ba传输线GyD.F4y2Ba(仅适用于均匀间隔的频域数据)。GyD.F4y2Ba N/AGyD.F4y2Ba
频率响应数据GyD.F4y2Ba
(GyD.F4y2BaidfrdGyD.F4y2Ba对象)GyD.F4y2Ba
不支持金宝appGyD.F4y2Ba 使用GyD.F4y2BaiddataGyD.F4y2Ba.软件创建一个频域GyD.F4y2BaiddataGyD.F4y2Ba对象,该对象具有与原始对象相同的输出和输入比率GyD.F4y2BaidfrdGyD.F4y2Ba对象频率特性数据。GyD.F4y2Ba
  • 使用GyD.F4y2BaspafdrGyD.F4y2Ba.该软件计算的频率响应数据的分辨率(频率的数量和间距)不同于原始数据。GyD.F4y2Ba

有关在应用程序或命令行中转换数据类型的更多信息,请参见GyD.F4y2Ba转换数据GyD.F4y2Ba分类页面。GyD.F4y2Ba

连续时间和离散时间频率域数据GyD.F4y2Ba

与时域数据不同,采样时间GyD.F4y2BaTsGyD.F4y2Ba的频域数据可以为零。频域数据为零GyD.F4y2BaTsGyD.F4y2Ba称为连续时间数据。频域数据GyD.F4y2BaTsGyD.F4y2Ba大于零的称为离散时间数据。GyD.F4y2Ba

你可以获得连续时间频域数据(GyD.F4y2BaTsGyD.F4y2Ba= 0)用下列方法GyD.F4y2Ba:GyD.F4y2Ba

  • 从已知的连续时间解析表达式生成数据。GyD.F4y2Ba

    例如,假设您知道系统的频率响应是GyD.F4y2Ba GGyD.F4y2Ba (GyD.F4y2Ba ωGyD.F4y2Ba 的)GyD.F4y2Ba =GyD.F4y2Ba 1GyD.F4y2Ba /GyD.F4y2Ba (GyD.F4y2Ba B.GyD.F4y2Ba +GyD.F4y2Ba jGyD.F4y2Ba ωGyD.F4y2Ba 的)GyD.F4y2Ba ,在那里GyD.F4y2BaB.GyD.F4y2Ba是一个常数。同时假设你的系统的时域输入是,GyD.F4y2Ba 你GyD.F4y2Ba (GyD.F4y2Ba T.GyD.F4y2Ba 的)GyD.F4y2Ba =GyD.F4y2Ba E.GyD.F4y2Ba −GyD.F4y2Ba 一种GyD.F4y2Ba T.GyD.F4y2Ba 罪GyD.F4y2Ba W.GyD.F4y2Ba 0.GyD.F4y2Ba T.GyD.F4y2Ba ,在那里GyD.F4y2Ba一种GyD.F4y2Ba常数是否大于零GyD.F4y2Ba你GyD.F4y2Ba(GyD.F4y2BaT.GyD.F4y2Ba)为零GyD.F4y2BaT.GyD.F4y2Ba小于零。你可以计算的傅里叶变换GyD.F4y2Ba你GyD.F4y2Ba(GyD.F4y2BaT.GyD.F4y2Ba)获得GyD.F4y2Ba

    你GyD.F4y2Ba (GyD.F4y2Ba ωGyD.F4y2Ba 的)GyD.F4y2Ba =GyD.F4y2Ba ωGyD.F4y2Ba 0.GyD.F4y2Ba /GyD.F4y2Ba [GyD.F4y2Ba (GyD.F4y2Ba 一种GyD.F4y2Ba +GyD.F4y2Ba jGyD.F4y2Ba ωGyD.F4y2Ba 的)GyD.F4y2Ba 2GyD.F4y2Ba +GyD.F4y2Ba W.GyD.F4y2Ba 0.GyD.F4y2Ba 2GyD.F4y2Ba ]GyD.F4y2Ba

    使用GyD.F4y2Ba你GyD.F4y2Ba(GyD.F4y2BaωGyD.F4y2Ba),GyD.F4y2BaGGyD.F4y2Ba(GyD.F4y2BaωGyD.F4y2Ba),然后可以得到输出的频域表达式:GyD.F4y2Ba

    yGyD.F4y2Ba (GyD.F4y2Ba ωGyD.F4y2Ba 的)GyD.F4y2Ba =GyD.F4y2Ba GGyD.F4y2Ba (GyD.F4y2Ba ωGyD.F4y2Ba 的)GyD.F4y2Ba 你GyD.F4y2Ba (GyD.F4y2Ba ωGyD.F4y2Ba 的)GyD.F4y2Ba

    您现在可以对的解析表达式求值GyD.F4y2BayGyD.F4y2Ba(GyD.F4y2BaωGyD.F4y2Ba),GyD.F4y2Ba你GyD.F4y2Ba(GyD.F4y2BaωGyD.F4y2Ba)通过频率值网格GyD.F4y2Ba (GyD.F4y2Ba ωGyD.F4y2Ba GGyD.F4y2Ba R.GyD.F4y2Ba 一世GyD.F4y2Ba D.GyD.F4y2Ba =GyD.F4y2Ba ωGyD.F4y2Ba 1GyD.F4y2Ba 那GyD.F4y2Ba ωGyD.F4y2Ba 2GyD.F4y2Ba 那GyD.F4y2Ba ...GyD.F4y2Ba 那GyD.F4y2Ba ωGyD.F4y2Ba N.GyD.F4y2Ba 的)GyD.F4y2Ba ,得到频域输入输出数据值的矢量GyD.F4y2Ba (GyD.F4y2Ba yGyD.F4y2Ba GGyD.F4y2Ba R.GyD.F4y2Ba 一世GyD.F4y2Ba D.GyD.F4y2Ba 那GyD.F4y2Ba 你GyD.F4y2Ba GGyD.F4y2Ba R.GyD.F4y2Ba 一世GyD.F4y2Ba D.GyD.F4y2Ba 的)GyD.F4y2Ba .您可以将输入-输出数据打包为连续时间GyD.F4y2BaiddataGyD.F4y2Ba对象,通过指定零采样时间,GyD.F4y2BaTsGyD.F4y2Ba.GyD.F4y2Ba

    t = 0;zf = iddata (Ygrid Ugrid, Ts,GyD.F4y2Ba“频率”GyD.F4y2Bawgrid)GyD.F4y2Ba
  • 计算连续时间线性系统在频率网格处的频率响应。GyD.F4y2Ba

    例如,在下面的代码中,您生成连续时间的频率响应数据,GyD.F4y2BaFRDcGyD.F4y2Ba,由连续时间传递函数模型,GyD.F4y2BasysGyD.F4y2Ba对于一个频率网格,GyD.F4y2Ba频率GyD.F4y2Ba.GyD.F4y2Ba

    Sys = idtf(1,[1 2 2]);频率= logspace (2100);FRDc = idfrd (sys、频率);GyD.F4y2Ba
  • 测量振幅和相位的正弦实验,其中测量系统使用抗混叠滤波器。你测量系统在不同频率下对正弦输入的响应,然后把数据打包成GyD.F4y2BaidfrdGyD.F4y2Ba对象。例如,频谱分析仪测量的频率响应数据是连续时间的。GyD.F4y2Ba

    您还可以通过使用周期连续时间信号(多个正弦波)作为系统的输入来进行实验,并测量系统的响应。然后您可以将输入和输出数据打包为GyD.F4y2BaiddataGyD.F4y2Ba对象。GyD.F4y2Ba

你可以获得离散时间频域数据(GyD.F4y2BaTsGyD.F4y2Ba>0)GyD.F4y2Ba:GyD.F4y2Ba

  • 用离散傅里叶变换变换测量的时域值。GyD.F4y2Ba

    例如,在下面的代码中,计算时域数据的离散傅里叶变换,GyD.F4y2BayGyD.F4y2Ba,采样时间为0.01秒,在离散时间点进行测量。GyD.F4y2Ba

    t = 0:0.01:10;Y = IDDATA(SIN(2 * PI * 10 * T),[],0.01);Y = FFT(Y);GyD.F4y2Ba
  • 计算离散时间线性系统的频率响应。GyD.F4y2Ba

    例如,在以下代码中,生成离散时间频率响应数据,GyD.F4y2BaFRDdGyD.F4y2Ba,由离散时间传递函数模型,GyD.F4y2BasysGyD.F4y2Ba.您可以为创建离散时间模型指定一个非零的样本时间。GyD.F4y2Ba

    Ts = 1;sys = idtf(1,[1 0.2 2.1],Ts);FRDd = idfrd (sys, logspace (2100);GyD.F4y2Ba

您可以使用连续时间频域数据来识别连续时间模型。您可以使用离散时间频域数据来识别离散时间和连续时间模型。然而,从离散时间数据中识别连续时间模型需要了解数据的样本间行为。有关更多信息,请参阅GyD.F4y2Ba估计连续时间和离散时间模型GyD.F4y2Ba.GyD.F4y2Ba

笔记GyD.F4y2Ba

对于离散时间数据,软件在估计时忽略Nyquist频率以上的频域数据。GyD.F4y2Ba

用于模型估计的预处理频域数据GyD.F4y2Ba

使用后代表频域数据后GyD.F4y2BaiddataGyD.F4y2Ba或GyD.F4y2BaidfrdGyD.F4y2Ba对象,您可以通过去除虚假数据和过滤数据来准备数据进行估计。GyD.F4y2Ba

要查看虚假数据,请在应用程序中绘制数据,或使用GyD.F4y2Ba情节GyD.F4y2Ba(GyD.F4y2BaiddataGyD.F4y2Ba对象)或GyD.F4y2Ba波德GyD.F4y2Ba(GyD.F4y2BaidfrdGyD.F4y2Ba对象)的命令。在识别出图中的虚假数据后,可以将其删除。例如,如果您想删除数据点20-30GyD.F4y2BazfGyD.F4y2Ba,一个频域GyD.F4y2BaiddataGyD.F4y2Ba对象,使用以下语法:GyD.F4y2Ba

zf (20:30) = [];GyD.F4y2Ba

由于频域数据不需要用均匀的间隔指定,因此不需要替换离群值。GyD.F4y2Ba

您还可以预过滤数据中的高频噪声。您可以在应用程序中预过滤频域数据,或使用GyD.F4y2BaidfiltGyD.F4y2Ba在命令行。预热数据还可以帮助去除低频干扰的漂移。除了最小化噪声外,预热允许您将模型集中在特定频段上。感兴趣的频率范围通常对应于Bode图上的断点上的通带。例如,如果要为控制设计应用程序建模,可以将数据预浸,以增强所需闭环带宽周围的频率。GyD.F4y2Ba

有关更多信息,请参阅GyD.F4y2Ba过滤数据GyD.F4y2Ba.GyD.F4y2Ba

估计线性参数模型GyD.F4y2Ba

在预处理频域数据之后,可以使用它GyD.F4y2Ba估算连续时间和离散时间模型GyD.F4y2Ba.GyD.F4y2Ba

金宝app支持模型类型GyD.F4y2Ba

您可以使用频域数据估计下列线性参数模型。除ARX模型外,模型的噪声成分没有被估计。GyD.F4y2Ba

模型类型GyD.F4y2Ba 额外的信息GyD.F4y2Ba 估计命令GyD.F4y2Ba 应用程序中的估算GyD.F4y2Ba
传递函数模型GyD.F4y2Ba 看GyD.F4y2Ba估算系统识别应用程序中的传输函数模型GyD.F4y2Ba.GyD.F4y2Ba
状态空间模型GyD.F4y2Ba 估计GyD.F4y2BaK.GyD.F4y2Ba状态空间模型的矩阵为零。GyD.F4y2Ba 看GyD.F4y2Ba在系统识别应用程序中估计状态空间模型GyD.F4y2Ba.GyD.F4y2Ba
流程模型GyD.F4y2Ba 没有对扰动模型进行估计。GyD.F4y2Ba 看GyD.F4y2Ba使用应用程序估计过程模型GyD.F4y2Ba.GyD.F4y2Ba
输入-输出多项式模型GyD.F4y2Ba 你只能估计输出误差和ARX模型。GyD.F4y2Ba
看GyD.F4y2Ba在应用程序中估计多项式模型GyD.F4y2Ba.GyD.F4y2Ba
线性灰色矩形模型GyD.F4y2Ba 仅与噪声矩阵相关的模型参数GyD.F4y2BaK.GyD.F4y2Ba不估计。GyD.F4y2Ba 应用程序中没有灰盒模型估计。GyD.F4y2Ba
相关模型GyD.F4y2Ba
(脉冲响应模型)GyD.F4y2Ba
看GyD.F4y2Ba使用系统识别应用程序估计脉冲响应模型GyD.F4y2Ba.GyD.F4y2Ba
频率特性模型GyD.F4y2Ba
(估计GyD.F4y2BaidfrdGyD.F4y2Ba对象)GyD.F4y2Ba
看GyD.F4y2Ba在应用程序中估计频率响应模型GyD.F4y2Ba.GyD.F4y2Ba

在执行估计之前,您可以指定估计选项,例如软件如何处理估计数据的初始条件。要在命令行中执行此操作,请使用与estimate命令对应的估计选项集。例如,假设你想从频域数据估计一个传递函数模型,GyD.F4y2BazfGyD.F4y2Ba,你还需要估计数据的初始条件。使用GyD.F4y2Batfestoptions.GyD.F4y2Ba选项集指定估计选项,然后估计模型。GyD.F4y2Ba

选择= tfestOptions (GyD.F4y2Ba“InitialCondition”GyD.F4y2Ba那GyD.F4y2Ba“估计”GyD.F4y2Ba);sys =特遣部队(zf,选择);GyD.F4y2Ba

sysGyD.F4y2Ba是估计的传递函数模型。有关从模型中提取估计的参数值的信息,请参阅GyD.F4y2Ba提取数值模型数据GyD.F4y2Ba.在执行评估之后,您可以GyD.F4y2Ba验证估计模型GyD.F4y2Ba.GyD.F4y2Ba

笔记GyD.F4y2Ba

时域数据的零初始条件并不意味着相应的频域数据的零初始条件。对于时域数据,零初始条件意味着在开始采集数据之前假设系统处于静止状态。在频域,初始条件可以忽略,只有当收集的数据本质上是周期性的。因此,如果您在零初始条件下收集了时域数据,并将其转换为频域数据来估计模型,那么您也必须估计初始条件。您不能将它们指定为零。GyD.F4y2Ba

不能使用频域数据进行以下估计:GyD.F4y2Ba

估计连续时间和离散时间模型GyD.F4y2Ba

你可以估计所有的GyD.F4y2Ba金宝app支持的线性模型GyD.F4y2Ba作为离散时间模型,除了过程模型。流程模型仅在连续时间内定义。对于离散时间模型的估计,必须使用离散时间数据。GyD.F4y2Ba

你可以将所有支持的线性模型估计为连续时间模型,除了金宝app相关模型(见GyD.F4y2Ba冲动GyD.F4y2Ba).您可以使用连续时间和离散时间数据来估计连续时间模型。有关连续时间和离散时间数据的信息,请参见GyD.F4y2Ba连续时间和离散时间频率域数据GyD.F4y2Ba.GyD.F4y2Ba

如果使用离散时间数据估计连续时间模型,则必须指定GyD.F4y2Baintersample行为GyD.F4y2Ba的数据。样本间行为的规范取决于频域数据的类型。GyD.F4y2Ba

  • 离散时间频域输入输出数据(GyD.F4y2BaiddataGyD.F4y2Ba对象)-指定时域输入信号的样本间行为GyD.F4y2Ba你GyD.F4y2Ba(GyD.F4y2BaT.GyD.F4y2Ba)进行傅里叶变换得到频域输入信号GyD.F4y2Ba你GyD.F4y2Ba(GyD.F4y2BaωGyD.F4y2Ba).GyD.F4y2Ba

  • 离散时间频率响应数据(GyD.F4y2BaidfrdGyD.F4y2Ba该数据是通过计算离散时间模型的频率响应而产生的。将样本间行为指定为离散化方法,以从底层连续时间模型计算离散时间模型。例如,请参见GyD.F4y2Ba指定离散时间频率响应数据的样本间行为GyD.F4y2Ba.GyD.F4y2Ba

您可以指定要分段常量(零阶保持)的字数行为,在样本(一阶保持)或带限制之间线性内插。如果您将系统的离散时间数据指定为带限制(即没有功率高于奈奎斯特频率),则软件通过将采样时间设置为零,将数据视为连续时间。然后,软件估计来自数据的连续时间模型。有关更多信息,请参阅GyD.F4y2Ba输入样本间行为对连续时间模型的影响GyD.F4y2Ba.GyD.F4y2Ba

指定离散时间频率响应数据的样本间行为GyD.F4y2Ba

这个例子显示了样本间行为对使用离散时间频率响应数据估计连续时间模型的影响。GyD.F4y2Ba

生成离散时间频率响应数据。为此,首先构造一个连续时间传递函数模型,GyD.F4y2BasysGyD.F4y2Ba.然后转换成离散时间模型,GyD.F4y2BasysdGyD.F4y2Ba,使用GyD.F4y2Ba汇集GyD.F4y2Ba命令和一阶保持(FOH)方法。使用离散时间模型GyD.F4y2BasysdGyD.F4y2Ba要产生指定频率的频率响应数据,GyD.F4y2Ba频率GyD.F4y2Ba.GyD.F4y2Ba

SYS = IDTF([1 0.2],[111 1]);SYSD = C2D(SYS,1,C2DOPTIONS(GyD.F4y2Ba“方法”GyD.F4y2Ba那GyD.F4y2Ba“呸”GyD.F4y2Ba));freq = logspace(-1,0,10);frdata = IDFRD(SYSD,FREQ);GyD.F4y2Ba

FRdataGyD.F4y2Ba离散数据。软件设置GyD.F4y2BaInterSampleGyD.F4y2Ba的属性GyD.F4y2BaFRdataGyD.F4y2Ba来GyD.F4y2Ba“呸”GyD.F4y2Ba,即采用离散化方法得到GyD.F4y2BasysdGyD.F4y2Ba从GyD.F4y2BasysGyD.F4y2Ba.GyD.F4y2Ba

估计来自离散时间数据的三阶连续时间传递函数。GyD.F4y2Ba

model1 =特遣部队(FRdata 3 1)GyD.F4y2Ba
model1 = s + 0.2 ------------------- s^3 + 2 s^2 + s + 1连续时间辨识传递函数。参数化:极点数:3零数:1自由系数:5参数及其不确定性使用“tfdata”、“getpvec”、“getcov”。状态:使用fest对频率响应数据“FRdata”进行估计。拟合估算数据:100% FPE: 5.372e-31, MSE: 2.68e-31GyD.F4y2Ba

model1GyD.F4y2Ba是一个连续时间模型,使用离散时间频率响应数据进行估计。原始三阶模型的连续时间动力学GyD.F4y2BasysGyD.F4y2Ba中检索GyD.F4y2Bamodel1GyD.F4y2Ba因为指定了正确的intersample行为GyD.F4y2BaFRdataGyD.F4y2Ba.GyD.F4y2Ba

现在,指定样本间行为为零阶保持(ZOH),并估计一个三阶传递函数模型。GyD.F4y2Ba

frdata.intersample =.GyD.F4y2Ba“zoh”GyD.F4y2Ba;model2 =特遣部队(FRdata 3 1)GyD.F4y2Ba
model2 = -15.44 - 3.362  --------------------------------- ^ 3 - 30.03年代^ 2 - 6.825 s - 17.04连续时间确定传递函数。参数化:极点数:3零数:1自由系数:5参数及其不确定性使用“tfdata”、“getpvec”、“getcov”。状态:使用fest对频率响应数据“FRdata”进行估计。拟合估计数据:94.75% FPE: 0.004798, MSE: 0.0016GyD.F4y2Ba

model2GyD.F4y2Ba没有捕捉到原始模型的动态GyD.F4y2BasysGyD.F4y2Ba.因此,当样本间行为没有正确指定时,模型估计中引入了抽样相关误差。GyD.F4y2Ba

将频率响应数据模型转换为传递函数GyD.F4y2Ba

此示例显示如何将频率响应数据(FRD)模型转换为传输功能模型。您将FRD模型视为估计数据,然后估计传输函数。GyD.F4y2Ba

获取FRD模型。GyD.F4y2Ba

例如,使用GyD.F4y2Ba波德GyD.F4y2Ba要获得以下第五阶系统的幅度和相位响应数据:GyD.F4y2Ba

GGyD.F4y2Ba (GyD.F4y2Ba S.GyD.F4y2Ba 的)GyD.F4y2Ba =GyD.F4y2Ba S.GyD.F4y2Ba +GyD.F4y2Ba 0.GyD.F4y2Ba .GyD.F4y2Ba 2GyD.F4y2Ba S.GyD.F4y2Ba 5.GyD.F4y2Ba +GyD.F4y2Ba S.GyD.F4y2Ba 4.GyD.F4y2Ba +GyD.F4y2Ba 0.GyD.F4y2Ba .GyD.F4y2Ba 8.GyD.F4y2Ba S.GyD.F4y2Ba 3.GyD.F4y2Ba +GyD.F4y2Ba 0.GyD.F4y2Ba .GyD.F4y2Ba 4.GyD.F4y2Ba S.GyD.F4y2Ba 2GyD.F4y2Ba +GyD.F4y2Ba 0.GyD.F4y2Ba .GyD.F4y2Ba 1GyD.F4y2Ba 2GyD.F4y2Ba S.GyD.F4y2Ba +GyD.F4y2Ba 0.GyD.F4y2Ba .GyD.F4y2Ba 0.GyD.F4y2Ba 4.GyD.F4y2Ba

使用0.1 rad/s到10 rad/s之间的100个频率点来获得FRD模型。使用GyD.F4y2Ba的朋友GyD.F4y2Ba创建频率响应模型对象。GyD.F4y2Ba

频率= logspace (1100);Sys0 = tf([1 0.2],[1 1 0.8 0.4 0.12 0.04]);(杂志、相位)=预示(sys0频率);frdModel =朋友(玛格。* exp (1 j *期*π/ 180),频率);GyD.F4y2Ba

通过估计具有3个零点和3个极点的传递函数,得到系统动力学的最佳三阶近似。GyD.F4y2Ba

np = 3;新西兰= 3;sys =特遣部队(frdModel、np、新西兰);GyD.F4y2Ba

sysGyD.F4y2Ba为估计传递函数。GyD.F4y2Ba

比较FRD模型和估计传递函数模型的响应。GyD.F4y2Ba

波德(frdModel sys,频率(1:50));GyD.F4y2Ba

图中包含2个轴对象。坐标轴对象1包含2个类型为line的对象。这些对象表示frdModel, sys。axis对象2包含2个类型为line的对象。这些对象表示frdModel, sys。GyD.F4y2Ba

FRD模型是由五阶系统生成的GyD.F4y2Basys0GyD.F4y2Ba.尽管GyD.F4y2BasysGyD.F4y2Ba,这是一个三阶近似,并没有捕获GyD.F4y2Basys0GyD.F4y2Ba,它捕获响应很好,直到大约0.6 rad/s。GyD.F4y2Ba

验证估计模型GyD.F4y2Ba

在为您的系统评估模型之后,您可以验证它是否在可接受的范围内重新生成系统行为。建议您使用单独的数据集来估计和验证您的模型。您可以使用时域或频域数据来验证使用频域数据估计的模型。如果您正在使用输入-输出验证数据来验证估计的模型,那么您可以将模拟的模型响应与测量的验证数据输出进行比较。如果验证数据是频响数据,则可以将其与模型的频响进行比较。例如,比较一个估计模型的输出GyD.F4y2BasysGyD.F4y2Ba测量的验证数据GyD.F4y2BazvGyD.F4y2Ba,使用以下语法:GyD.F4y2Ba

比较(ZV,SYS);GyD.F4y2Ba

您还可以执行残余分析。有关更多信息,请参阅,GyD.F4y2Ba评估后的模型验证GyD.F4y2Ba.GyD.F4y2Ba

故障排除频域识别GyD.F4y2Ba

当您使用频域数据估计模型时,估计算法最小化损耗(成本)函数。例如,如果您从频率响应数据估计SISO线性模型GyD.F4y2BaFGyD.F4y2Ba,估计算法使以下最小二乘损失函数最小:GyD.F4y2Ba

最小化GyD.F4y2Ba GGyD.F4y2Ba (GyD.F4y2Ba ωGyD.F4y2Ba 的)GyD.F4y2Ba ∑GyD.F4y2Ba K.GyD.F4y2Ba =GyD.F4y2Ba 1GyD.F4y2Ba N.GyD.F4y2Ba FGyD.F4y2Ba |GyD.F4y2Ba W.GyD.F4y2Ba (GyD.F4y2Ba ωGyD.F4y2Ba K.GyD.F4y2Ba 的)GyD.F4y2Ba (GyD.F4y2Ba GGyD.F4y2Ba (GyD.F4y2Ba ωGyD.F4y2Ba K.GyD.F4y2Ba 的)GyD.F4y2Ba −GyD.F4y2Ba FGyD.F4y2Ba (GyD.F4y2Ba ωGyD.F4y2Ba K.GyD.F4y2Ba 的)GyD.F4y2Ba 的)GyD.F4y2Ba |GyD.F4y2Ba 2GyD.F4y2Ba

这里GyD.F4y2BaW.GyD.F4y2Ba是你指定的频率相关的权重,GyD.F4y2BaGGyD.F4y2Ba是要估计的线性模型,ω是频率,和GyD.F4y2BaN.GyD.F4y2BaFGyD.F4y2Ba是数据可用的频率的数目。的数量GyD.F4y2Ba (GyD.F4y2Ba GGyD.F4y2Ba (GyD.F4y2Ba ωGyD.F4y2Ba K.GyD.F4y2Ba 的)GyD.F4y2Ba −GyD.F4y2Ba FGyD.F4y2Ba (GyD.F4y2Ba ωGyD.F4y2Ba K.GyD.F4y2Ba 的)GyD.F4y2Ba 的)GyD.F4y2Ba 为频率响应误差。对于频域输入输出数据,该算法使输出误差的加权范数最小化,而不是频率响应误差。有关更多信息,请参阅GyD.F4y2Ba损失函数和模型质量度量GyD.F4y2Ba.在估计期间,数据中的虚假或未捕获的动态可能会影响损失函数,并导致不满意的模型估计。GyD.F4y2Ba

  • 意想不到的,虚假的动力GyD.F4y2Ba-通常在数据的高幅值区域具有低信噪比时观察到。这些部分数据的拟合误差对损失函数有很大的贡献。结果,估计算法可能会过拟合,并在这些区域分配意外的动态噪声。解决此问题的方法如下:GyD.F4y2Ba

    • 提高信噪比—您可以收集多个数据集,并对它们进行平均。如果您有频域输入-输出数据,您可以使用GyD.F4y2Ba合并GyD.F4y2Ba命令。使用此数据进行估计以获得改进的结果。或者,您可以过滤数据集,并使用它进行估计。例如,在数据上使用移动平均过滤器来平滑测量的响应。仅在数据区域应用了平滑过滤器,在那里您有信心源于噪声,而不是由于系统动态。GyD.F4y2Ba

    • 减少数据的某些部分对丢失函数的影响—您可以指定一个与频率相关的权重。例如,如果您正在估计一个传递函数模型,请在GyD.F4y2BaWeightingFilterGyD.F4y2Ba估计选项集的选项GyD.F4y2Batfestoptions.GyD.F4y2Ba.在存在伪动态的频率区域指定一个小权重。或者,在这个频率区域使用更少的数据点。GyD.F4y2Ba

  • 未捕获的动力学GyD.F4y2Ba-通常观察到,当你想要捕获的动态相对于其他数据有一个低幅度。由于对低幅值数据的拟合不佳对损失函数的贡献较小,该算法可能会忽略这些动态以减少其他频率的误差。解决此问题的方法如下:GyD.F4y2Ba

    • 指定频率依赖的权重 - 为您想要捕获动态的频率区域指定大量权重。GyD.F4y2Ba

    • 使用此区域周围的更多数据点。GyD.F4y2Ba

有关这些故障诊断技术的示例,请参见GyD.F4y2Ba故障诊断的频域识别传递函数模型GyD.F4y2Ba.GyD.F4y2Ba

如果使用这些故障排除技术不能获得令人满意的模型,请尝试不同的模型结构或估计算法。GyD.F4y2Ba

识别模型后的后续步骤GyD.F4y2Ba

在估计模型之后,您可以执行模型转换,提取模型参数,并模拟和预测模型响应。你可以执行的一些任务是:GyD.F4y2Ba

相关的话题GyD.F4y2Ba