设定 带宽和 相位裕量 自动设计PI值
输入被控对象传递函数、带宽、相位裕量
输出kp ki 和 bode图
还没有详细写注释感兴趣可以评论下
clear;clc;close all;
format long
%输入
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
hold on;
L=1e-3;
C=20e-6;
R=10;
num=[1];
den=[L*C L/R 1];
sysLCR=tf(num,den)
%%PI
hold on;
% syms Kp Ki;
Kp= 0.071942446944953; %计算完成后把结果填到这里即可看到bode
Ki=-5.197455364855435e+02;
num=[Kp Ki];
den=[1 0];
sysPI=tf(num,den)
%margin(sysPI)
%%OL&CL
sysOL=series(sysLCR,sysPI)
sysOL=series(sysOL,sysPWM)
bode(sysPI)
margin(sysOL)
legend('sysPI','sysOL');