首页 > 编程知识 正文

matlab幅频特性曲线,matlab画相频特性曲线

时间:2023-05-03 09:55:06 阅读:109303 作者:4161

设置带宽和相位裕度自动设计PI值

输入被控对象传递函数、带宽、相位裕度

输出kp ki和bode地图

还没有详细写评论,如果你感兴趣的话请评论

clear clc; 全部关闭;

格式长整型

%输入

my_w=2000; 输入%预期带宽

my_phasemargin=60; %输入预期的相位裕度

%sysol=TF(num,den ); %输入系统开环传递函数

%%Kpwm

E=30;

Vtri=1;

Kpwm=E/Vtri;

num=[Kpwm];

den=[1];

sysPWM=TF(num,den ) )。

%%LCR

保持打开;

L=1e-3;

C=20e-6;

R=10;

num=[1];

den=[L*C L/R 1];

sysLCR=TF(num,den ) )。

%%PI

保持打开;

% syms Kp Ki;

Kp=0.071942446944953; %计算结束后,在这里填写结果就可以看到bode了

Ki=-5.197455364855435e 02;

num=[Kp Ki];

den=[1 0];

syspi=TF(num,den ) )。

%margin(syspi ) ) ) ) ) ) ) ) ) ) ) ) )。

%%OLCL

sysol=series(sysLCR,sysPI ) )。

sysol=series(sysol,sysPWM ) )。

是bode(syspi )

边距(sys ol ) )。

legend(syspi ),) sysOL );

SYSCL=feedback(sysol,1 ) ) ) ) ) ) ) ) ) )。

%figure(2) )。

%bode(syscl )

%Margin(syscl ) ) ) ) ) ) ) ) ) )。

%legend(syscl );

百分之%求解带宽对Kp Ki的函数

syms kp;

syms ki;

w=2*pi*my_w;

s=1i*w;

golw=(KPki/s ) ) e/) L*C*S^2L/R*S1 );

golw_gain=ABS(golw )==1;

kp1=solve(golw_gain,KP );

KP1=real(double ) subs (kp1,ki,0 ) )

golw=subs(golw,kp,kp1 );

golw_phase=angle(golw )/pi*180 )=-180my_phasemargin;

ki1=solve(golw_phase,ki ) ) ) ) ) ) ) ) ki1=solve(golw_phase,ki ) )

fprintf (设计的Ki值为) ) ) )。

ki1=real(double ) ki1 ) )

fprintf (设计的Kp值为) ) )。

kp1

% s=简单(KP )

%double(s.KP ) )。

%double(s.ki ) )。

设计结果和输入一致!

还不完美。 如果有问题的话,欢迎交流评论区域~

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。