使用MATLAB已知单位负反馈系统的开环传递函数 试用频率法设计串联校正装置,要求校正后系统的静态速度误差系数 ≥5 ,系统的相角裕度γ≥45°,校正后的剪切频率 ≥2rad/s。
时间: 2024-02-21 20:59:37 浏览: 142
假设单位负反馈系统的开环传递函数为:
$$ G(s) = \frac{K}{s(s+1)(s+2)} $$
其中 $K$ 是传递函数的增益。
使用 MATLAB 进行频率法设计串联校正装置的步骤如下:
1. 确定目标静态速度误差系数 $K_v$,相角裕度 $\gamma$ 和剪切频率 $\omega_c$。根据题目要求,$K_v \geq 5$,$\gamma \geq 45^\circ$,$\omega_c \geq 2$ rad/s。
2. 计算理想传递函数 $T_d(s)$:
$$ T_d(s) = \frac{1}{K_v}\cdot \frac{s + \omega_c}{s} $$
3. 计算校正装置传递函数 $C(s)$:
$$ C(s) = \frac{T_d(s)}{G(s)}\cdot \frac{1}{\mathrm{e}^{j\pi/2}} $$
4. 将校正装置串联到系统中,形成新的闭环传递函数 $T_c(s)$:
$$ T_c(s) = \frac{C(s)G(s)}{1+C(s)G(s)} $$
5. 检查校正后系统的性能指标是否满足要求。如果不满足,可以进行调整或重新设计。
下面是 MATLAB 的代码实现:
```matlab
% 已知开环传递函数
G = tf([1 0],[1 3 2 0]);
% 目标性能指标
Kv = 5; % 静态速度误差系数
gamma = 45; % 相角裕度,单位为度
wc = 2; % 剪切频率,单位为rad/s
% 计算理想传递函数
Td = (s+wc)/s/Kv;
% 计算校正装置传递函数
C = Td/G*exp(-j*pi/2);
% 计算闭环传递函数
Tc = C*G/(1+C*G);
% 检查性能指标是否满足要求
Kv_actual = dcgain(Tc); % 计算实际静态速度误差系数
gamma_actual = margin(Tc)*180/pi; % 计算实际相角裕度
wc_actual = bandwidth(Tc); % 计算实际剪切频率
if Kv_actual >= Kv && gamma_actual >= gamma && wc_actual >= wc
disp('设计成功!');
else
disp('设计失败,请调整参数!');
end
```
其中,`tf([1 0],[1 3 2 0])` 表示开环传递函数 $G(s)$ 的分子为 $1$,分母为 $s(s+1)(s+2)$。`dcgain(Tc)` 可以计算闭环传递函数 $T_c(s)$ 在 $s=0$ 处的增益,即静态速度误差系数。`margin(Tc)` 可以计算闭环传递函数 $T_c(s)$ 的相角裕度和增益裕度。`bandwidth(Tc)` 可以计算闭环传递函数 $T_c(s)$ 的带宽。
阅读全文