How can I fix the error that produces this peak in Bode plot?
4 次查看(过去 30 天)
显示 更早的评论
Hi,
I am plotting a Bode diagram of a simple resonant control function for a RL load and there is a 'sharp peak' around the target frequency on both the magnitude and the phase diagrams. This sharp peak should not appear and without it, the bode plot would be correct. Could you please give me an intuition on where the problem is? I know that it has nothing to do with the kp_1 and ki_1 parameters, since this peak appears for the complete range of them. I think there is something wrong on how Matlab treats some integrators but I am not sure. Here is my code:
Ub=400/sqrt(3);
Ib=3.3;%
w_b=2*pi*50;
Zbase=(Ub)^2/(sqrt(3)*Ub*Ib);
Lbase=Zbase/w_b;
Td=0.00015;
Rf=0.1;
Lf=0.0018;
R=Rf/Zbase;
L=Lf/Lbase;
w=2*pi*50;
kp_1=2*pi*1000*Lf;
ki_1=(Rf/Lf)*kp_1;
s=tf('s');
G_pwm=(1-(Td/2)*s)/(1+(Td/2)*s);
G_i_1=kp_1+ki_1*s/(s^2+w^2);
sys_1_vd=(G_i_1*G_pwm)^2/((L*s+R+G_i_1*G_pwm)*(G_i_1*G_pwm+L*s+R-(1-G_i_1)*G_pwm));
bode(sys_1_vd,'r');
grid on;
xlim([80 1300])
0 个评论
采纳的回答
Ameer Hamza
2020-10-14
This is a problem with MATLAB. It is the expected result based on your transfer function. sys_1_vd is a 17-order transfer function. If you look at the poles of the transfer function
>> pole(sys_1_vd)
ans =
1.0e+04 *
-1.3334 + 0.0000i
-1.3334 - 0.0000i
-1.3333 + 0.0000i
-1.1605 + 0.0000i
-0.9684 + 0.0000i
-0.2047 + 0.0000i
-0.0869 + 0.0000i
-0.0026 + 0.0324i
-0.0026 - 0.0324i
-0.0029 + 0.0319i
-0.0029 - 0.0319i
0.0000 + 0.0314i
0.0000 - 0.0314i
-0.0000 + 0.0314i
-0.0000 - 0.0314i
0.0000 + 0.0314i
0.0000 - 0.0314i
You can see several poles are concentrated in region 314 to 324 rad/s. The peak is the effects of these poles.
0 个评论
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Get Started with Control System Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!