如何完成对系统的超前校正(MATLAB)

由于专业课程安排,今天下午学习了下如何利用MATLAB来完成系统的超前校正,U1S1,MATLAB的强大计算分析能力没得说。

首先先了解下什么是 超前校正

超前校正是利用校正装置的相位超前特性来增加系统的相位稳定裕量,利用校正装置幅频特性曲线的正斜率段来增加系统的穿越频率,从而改善系统的平稳性和快速性。为了最大限度地利用其相位超前特性来增加系统的相位稳定裕量,一般选择校正装置的最大超前相角φm。出现在系统新的穿越频率ωc‘处。
超前校正的特点:增益和型次未改变,稳态精度变化不大,加快了系统的响应速度,即改善系统的瞬态性能。

常规计算方式

首先要记住以下几个公式(敲黑板!):
ωm=1/T√a
φm=arcsin(a-1/a+1)
其中ωm是最大超前角频率,φm为最大超前角
设给定的校正后性能指标要求ess,ωc‘以及相位裕量γ‘
步骤如下:
(1)根据ess要求得出开环增益K
(2)利用已知的开环增益K,求出未校正时系统的ωc和相角裕度γ(常规计算不做赘述)
(3)根据ωc‘的要求,计算出参数a和T
ωc’=ωm=1/T√a关键选择ωc=ωm
-L(ωc’)=-Lc(ωm)=-10lga(校正环节开环传函即为aGc(s))
(4)校正后开环传函=校正环节开环传函*原传函
(5)验算相位裕量γ‘是否满足要求,不满足则重选ωm(一般使其增大)

MATLAB程序实现超前校正

用到的函数指令:

[Gm , Pm , ωg , wc] = margin(num , den)
其中幅值裕度Gm和对应频率ωg,相位裕度Pm和对应的频率
[mag , phase , ] = bode(mun , den)
计算系统Bode图的输出数据,输出变量mag是系统Bode图的幅值向量,注意此幅值不是分贝值,须用magdb=20*log(mag)转换;phase为Bode图的幅角向量,单位为(°);ω是系统Bode图的频率向量,单位是rad/s。
s = spline(x,y,xq) :
返回与 xq 中的查询点对应的插值 s 的向量。s 的值由 x 和 y 的三次样条插值确定。此处利用它求得对应频率。

实例讲解

以该题目为例
设一系统结构如图所示,要求系统的速度误差系数Kv≥20,相位裕量γ’≥45°,为满足系统性能指标的要求,试设计超前校正装置的参数。

num=20;den=conv([1,0],[0.5,1]);
[gm,pm,wcg,wcp]=margin(num,den);   %求校正前的相位裕度pm
dpm=50-pm+5;                       %根据性能指标求出φm
phi=dpm*pi/180;                   
a=(1+sin(phi))/(1-sin(phi));       %利用φm=arcsin(a-1/a+1)求得a
mm=-10*log10(a);                   %计算-10 lga
[mag,phase,w]=bode(num,den);       %利用伯德图得到幅值向量mag
bode(num,den);grid on;             %显示伯德图
mag_db=20*log10(mag);              %将幅值转换为分贝值
wc=spline(mag_db,w,mm);            %计算出当幅值为mm时的频率
T=1/(wc*sqrt(a));                  %利用T与a关系求出T
p=a*T;
nk=[p,1];dk=[T,1];                 %求出加入的校正装置
gc=tf(nk,dk);                     
printsys(nk,dk,'s')                %求出校正后的传函
h=tf(num,den);h1=tf(nk,dk);
g=h*h1;                           
[gm1,pm1,wcg1,wcp1]=margin(g);
fprintf('系统相位裕量是%f\n',pm1)   %调用显示系统相位裕量的值
if (pm1>=45)
    fprintf('满足设计要求')
else
    fprintf('不满足设计要求')
end

运行结果如下
运行结果
至此算是结束了,代码自认为解释的比较清晰,第一次写文,着实难顶,能力尚需提高,希望该文对需要的朋友们有所帮助!如有错误或者建议,希望大佬教正!

  • 60
    点赞
  • 208
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值