How can I simulate the effect of a step disturbance on a plant output that is in feedback to the controller?

43 vues (au cours des 30 derniers jours)
bz = [0.1];
az=[1 -0.9];
ts=0.1;
Gz=tf(bz,az,ts);
[kpid,info] = pidtune(Gz,'pid');
T_pi = feedback(kpid*Gz, 1);
step(T_pi)
I want to add a constant unit disturbance that affects the system at some point of time and see the response in the presense of the disturbance. How can I do this?
Any advise would be very helpful. Looking forwaed to your replies.
  1 commentaire
Sam Chak
Sam Chak le 18 Avr 2023
hi @Bhindhiya, your title says that adding the disturbance on a plant output. Can you check again whether it's the input to the plant, or the the disturbance is injected at the output of the plant?

Connectez-vous pour commenter.

Réponses (1)

Gokul Nath S J
Gokul Nath S J le 18 Avr 2023
Hi Bhindhiya,
Based on my understanding, it seems that you want to add a disturbance to the system at a specific time. Let's say the disturbance be a disturbance. For to be start from a time instance , it should be multiplied with a unit step and then delayed accordingly. So the disturbance would be modelled as
Convert this disturbance to laplace domain and then multiply with the actual transfer function. As a sample code, if the disturbance is Ks in laplace domain, then
[kpid,info] = pidtune(Gz*Ks,'pid');
T_pi = feedback(kpid*Gz*Ks, 1);
step(T_pi)
with regards,
Gokul Nath S J

Community Treasure Hunt

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

Start Hunting!

Translated by