Time-Domain Specifications MATLAB_help文档DeepSeek翻译
本示例展示了使用systune或looptune进行控制系统调优时可用的时域指标。systune和looptune函数用于调优固定结构控制系统的参数,以满足各种时域和频域指标。要指定这些指标,请使用调优目标对象。
时域指标
本示例展示了使用 systune 或 looptune 进行控制系统调优时可用的时域指标。
systune 和 looptune 函数用于调优固定结构控制系统的参数,以满足各种时域和频域指标。要指定这些指标,请使用调优目标对象。
阶跃指令跟踪
TuningGoal.StepTracking 指标规定了调优后的闭环系统应如何响应阶跃输入。您可以根据一阶或二阶特性,或使用显式的参考模型来指定期望的响应。当实际响应与期望响应之间的相对差距在最小二乘意义上足够小时,即满足此指标。例如,
R1 = TuningGoal.StepTracking(‘r’,‘y’,0.5);
规定从 r 到 y 的闭环响应应表现为时间常数为 0.5 的一阶系统,而
R2 = TuningGoal.StepTracking(‘r’,‘y’,zpk(2,[-1 -2],-1));
指定了一个二阶、非最小相位行为。使用 viewGoal 可视化期望的响应。
viewGoal(R2)

此指标可用于调优 SISO 和 MIMO 阶跃响应。在 MIMO 情况下,该指标确保每个输出以最小的交叉耦合跟踪相应的输入。
阶跃扰动抑制
TuningGoal.StepRejection 指标规定了调优后的闭环系统应如何响应阶跃扰动。您可以指定响应幅度、稳定时间和振荡阻尼的最坏情况值。例如,
R1 = TuningGoal.StepRejection(‘d’,‘y’,0.3,2,0.5);
将 y ( t ) y(t) y(t) 的幅度限制为 0.3,稳定时间限制为 2 个时间单位,阻尼比限制为最小值 0.5。使用 viewGoal 查看相应的时域响应。
viewGoal(R1)

您也可以使用“参考模型”来指定期望的响应。请注意,当可以实现更好的扰动抑制时,实际响应与指定响应可能会有显著差异。当需要紧密匹配时,请使用 TuningGoal.Transient 指标。为获得最佳结果,请调整参考模型的增益,使实际响应与指定响应具有相似的峰值幅度(详见 TuningGoal.StepRejection 文档)。
瞬态响应匹配
TuningGoal.Transient 指标为特定输入信号指定瞬态响应。这是 TuningGoal.StepTracking 指标的推广。例如,
R1 = TuningGoal.Transient(‘r’,‘y’,tf(1,[1 1 1]),‘impulse’);
要求从 r r r 到 y y y 的调优响应看起来像参考模型 1 / ( s 2 + s + 1 ) 1/(s^2 + s + 1) 1/(s2+s+1) 的脉冲响应。
viewGoal(R1)

输入信号可以是脉冲、阶跃、斜坡,或更一般的信号,其建模为某个输入整形滤波器的脉冲响应。例如,频率为 ω 0 \omega_0 ω0 的正弦波可以建模为 ω 0 2 / ( s 2 + ω 0 2 ) \omega_0^2/(s^2 + \omega_0^2) ω02/(s2+ω02) 的脉冲响应。
w0 = 2;
F = tf(w0^2,[1 0 w0^2]); % 输入整形滤波器
R2 = TuningGoal.Transient(‘r’,‘y’,tf(1,[1 1 1]),F);
viewGoal(R2)

LQG 设计
使用 TuningGoal.LQG 指标为调优控制系统参数创建线性二次高斯目标。此目标适用于任何控制结构,而不仅仅是 LQG 控制的经典观测器结构。例如,考虑图 2 中的简单 PID 回路,其中 d d d 和 n n n 是单位方差扰动和噪声输入, S d S_d Sd 和 S n S_n Sn 是低通和高通滤波器,用于对扰动和噪声的频谱内容进行建模。

图 2: 调节回路。
为了将 y y y 调节在零附近,您可以使用以下 LQG 准则:
J = lim T → ∞ E ( 1 T ∫ 0 T ( y 2 ( t ) + 0.05 u 2 ) d t ) J = \lim_{T \to \infty} E \left( \frac{1}{T} \int_0^T (y^2(t) + 0.05 u^2) dt \right) J=T→∞limE(T1∫0T(y2(t)+0.05u2)dt)
积分中的第一项惩罚 y ( t ) y(t) y(t) 偏离零的程度,第二项惩罚控制作用。使用 systune,您可以调优 PID 控制器以最小化成本 J J J。为此,请使用 LQG 指标
Qyu = diag([1 0.05]); % y^2 和 u^2 的权重
R4 = TuningGoal.LQG({‘d’,‘n’},{‘y’,‘u’},1,Qyu);
另请参阅
TuningGoal.StepTracking | TuningGoal.StepRejection | TuningGoal.Transient | TuningGoal.LQG
相关主题
- 频域指标
版权标注与来源说明
本文译文对应的原文内容,均来源于 MathWorks 官方网站(https://www.mathworks.com/)及官方帮助中心,原文版权均独家归属MathWorks 公司所有。
译文系基于原文进行的非官方翻译,仅为方便个人学习、理解MathWorks相关产品(含MATLAB等)的功能、操作及技术细节而制作,不代表MathWorks公司官方立场,也不构成官方翻译版本。
建议使用者优先查阅官方原文。
更多推荐



所有评论(0)