Main Content

设计 LQG 调节器

作为 LQG 设计的示例,需要考虑以下调节问题。

设计目标是将被控对象的输出 y 控制在零左右。输入扰动 d 是低频扰动,功率谱密度 (PSD) 集中在 10 rad/s 以下。出于 LQG 设计目的,它被建模为驱动着一个低通滤波器(截止频率为 10 rad/s)的白噪声,如下图所示。

为简单起见,将此噪声建模为方差为 1 的高斯白噪声。

下图显示了整形滤波器的波特幅值。

低通滤波器的波特幅值

存在一些测量噪声 n,噪声强度由下式给出:

E(n2)=0.01

使用代价函数

J(u)=0(10y2+u2)dt

指定调节性能和控制成本之间的权衡。以下方程表示开环状态空间模型:

x˙=Ax+Bu+Bd(stateequations)y=Cx+n(measurements)

其中 (A,B,C) 是 100/(s2+s+100) 的状态空间实现。

以下命令设计了针对此问题的最佳 LQG 调节器 F(s):

sys = ss(tf(100,[1 1 100])) % State-space plant model

% Design LQ-optimal gain K
K = lqry(sys,10,1)	 % u = -Kx minimizes J(u)

% Separate control input u and disturbance input d
P = sys(:,[1 1]);
% input [u;d], output y

% Design Kalman state estimator Kest.
Kest = kalman(P,1,0.01)

% Form LQG regulator = LQ gain + Kalman filter.
F = lqgreg(Kest,K)

这些命令返回 LQG 调节器 F(s) 的状态空间模型 Flqrykalmanlqgreg 函数在应用于离散被控对象时执行离散时间 LQG 设计。

为了验证设计,使用 feedback 闭合环路,创建并添加与闭环系统串联的低通滤波器,并使用 impulse 函数比较开环和闭环冲激响应。

% Close loop
clsys = feedback(sys,F,+1)
% Note positive feedback.

% Create the lowpass filter and add it in series with clsys.
s = tf('s');
lpf= 10/(s+10) ;
clsys_fin = lpf*clsys;

% Open- vs. closed-loop impulse responses
impulse(sys,'r--',clsys_fin,'b-')

这些命令产生以下图窗,对此示例的开环和闭环冲激响应进行了比较。

开环和闭环冲激响应的比较

另请参阅

|

相关主题