How to plot the phase margin?

32 views (last 30 days)
Hardik
Hardik on 22 Dec 2022
Edited: Hardik on 23 Dec 2022
Hello I have one tricky question where I am struck.I know how to plot the bode diagtam using the margin command but i am not sure how can i implement more than 30% margin part. my system and requirement is below. Please help me to understand how can i do this.

Accepted Answer

Bora Eryilmaz
Bora Eryilmaz on 22 Dec 2022
Edited: Bora Eryilmaz on 22 Dec 2022
The transfer function 20/(s+1) is your controller. As it is, it does not give you a 50-degree phase margin. You need to modify this controller to achieve the desired phase margin. There are couple ways of doing this:
  • Either reduce the gain of the controller to achieve a larger phase margin, but at a lower frequency.
  • Or add additional phase using controller terms such as lead-lags.
% Initial compensator
C = zpk([], -1, 20);
% The plant
G = zpk(-20, [-2 -5], 1);
% Phase and gain margin of the open-loop transfer function with initial
% compensator
L = C*G;
margin(L)
% Modify the compensator C to obtain the desired phase margin (this part is
% up to you, since this seems like a homework question).
C = zpk([], -2, 10) % This is my trivial change, will not give 50 degrees phase margin.
C = 10 ----- (s+2) Continuous-time zero/pole/gain model.
L = C*G;
margin(L)
% Bode plot of the compentator
bode(C)
% Closed-loop system
T = L / (1 + L);
bode(T)
step(T)
  6 Comments
Hardik
Hardik on 22 Dec 2022
Okay Sir. I understand. thank you for all your help.
Hardik
Hardik on 22 Dec 2022
Edited: Hardik on 22 Dec 2022
Hello Sir, in my next part of problem I have to use the Feedback command in Matlab to find the closed loop transfer function of the compensated system. Provide the overall closed loop transfer function.
I have done the coding part but I am bit confused here that Do i have to use feedback command on original given system or the output TF i get from this part i have to use?
And if i have to use new obtanined TF then do i also have to use the plant value (s+20) and multiply them and then use the feedback command ?

Sign in to comment.

More Answers (0)

Products


Release

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!