I have a linear system with transfer function \$G(s)\$ that is connected in negative feedback with a real value gain \$K\$.

Therefore the open loop transfer function is \$K \cdot G(s)\$

and the closed loop transfer function is \$G(s) / (1 + K \cdot G(s))\$

My question is : "is there a way I can obtain the closed loop response of a change on the gain from \$K\$ to \$K + a\$ where \$a\$ is another real value ?"

Edit: I would like to obtain the response in the time domain where I can see the reaction of the system to the change of the gain from \$K\$ to \$K+a\$.

  • \$\begingroup\$ The new closed loop response is just what you wrote but with K substituted with K+a. Surely you cannot be asking this? \$\endgroup\$
    – Andy aka
    Apr 22 '20 at 9:41
  • \$\begingroup\$ Sure, I will edit the question accordingly, I want a response in the time domain where \$a\$ acts as a perturbation on the system. \$\endgroup\$
    – ju95ju
    Apr 22 '20 at 9:47
  • \$\begingroup\$ With a constant input signal? \$\endgroup\$
    – Andy aka
    Apr 22 '20 at 10:34
  • \$\begingroup\$ Yes indeed, a constant input different from 0 \$\endgroup\$
    – ju95ju
    Apr 22 '20 at 10:47
  • \$\begingroup\$ Why not use a simulator? \$\endgroup\$
    – Andy aka
    Apr 22 '20 at 10:51

What do you recommend ? – user185674

I can only tell you that I use a circuit simulator called micro-cap 12 (free now) and that it can be used with laplace terms i.e. you can create blocks with all manner of s terms inside. Then I would abruptly change "a" and see how the output response changed.

For instance, here's a simple example of a 2nd order low pass filter with 1:1 negative feedback fed from a 1 volt biased square wave of 1 Hz: -

enter image description here

And the transient response looks like this: -

enter image description here

You can add "K" within the feedback loop and then make K suddenly rise to K+a and see how the response changes. See example below: -

enter image description here

I've added a multiplier in the feedback loop fed from a battery that sets the multiplication value to K+a. But, there's no reason whay the battery cannot be replaced by a voltage source that stepped from a value of K to K+a.

And, just in case anyone doubts micro-cap's ability to perform this sort of task, here's a pretty picture from the sales blurb: -

enter image description here

  • \$\begingroup\$ I must say, what you are doing is definitely weird. It’s like using a circuit simulator to evaluate sin(0.1). You can do it, but it doesn’t mean you should. Circuit simulators do not have the functionality necessary to analyze and design control systems in a straight forward manner. There are other packages developed to do that. \$\endgroup\$
    – user110971
    Apr 22 '20 at 12:41
  • \$\begingroup\$ @user110971 - then you are not familiar with micro-cap's ability to simulate s and z transforms. I suggest that you take a deeper look before making sweeping judgments. And note the "LF" inside E1 - it stands for Laplace Function. \$\endgroup\$
    – Andy aka
    Apr 22 '20 at 12:48
  • \$\begingroup\$ The ability to use Laplace sources is not enough. There is a lot more that goes into control engineering. Just off the top of my head, pole placement will be difficult to do in micro cap. For example, designing a deadbeat controller for a DC motor requires the steps of: transform the Laplace open loop transfer function to state-space; digitize to the discrete state-space model; and do pole placement. You can do the easy stuff like the step response in micro cap, but eventually you’ll encounter a wall you can’t go over. \$\endgroup\$
    – user110971
    Apr 22 '20 at 19:19
  • \$\begingroup\$ Please feel free to leave an answer to the question and explain your preferences @user110971 \$\endgroup\$
    – Andy aka
    Apr 22 '20 at 21:03
  • \$\begingroup\$ Fair point. I should put my money where my mouth is. I've added an answer. \$\endgroup\$
    – user110971
    Apr 22 '20 at 22:37

You can achieve this with the use of the feedback command in MATLAB or any other similar package. Here is a simple example.

% open loop transfer function 1 / (s^2 + s + 1)
sys = tf(1, [1 1 1]);

% feedback gains 0.2, 0.4, ..., 1
K = 0.2:0.2:1;

% time vector for the step response
t = 0:0.01:10;

hold on;
grid on;

% loop over all the gains
for i = 1:length(K)

  % step response
  y = step(t, feedback(sys, K(i)));
  plot(t, y);

% create the legend
legend(num2str(K', 'K = %-d'));

You get the following output.

step response

  • \$\begingroup\$ The op is asking that with a steady input and changing K, what might change. \$\endgroup\$
    – Andy aka
    Apr 22 '20 at 22:39
  • \$\begingroup\$ If that is the case, then talking about Laplace transforms is incorrect. Since the system will be time varying, and there will be no Laplace transform of its closed loop (at least not one that simplifies solving for the output), like the one of the form $$ \frac{G(s)}{1+K(s)G(s)}$$ \$\endgroup\$
    – jDAQ
    Apr 22 '20 at 23:01
  • \$\begingroup\$ @jDAQ talking about Laplace isn't incorrect if all you have is H(s). You have no option but to talk about Laplace. \$\endgroup\$
    – Andy aka
    Apr 23 '20 at 8:12
  • \$\begingroup\$ @Andyaka I misunderstood OP’s question. However, a “closed loop response” doesn’t make any sense. The system becomes non-linear. So you won’t be able to make any conclusions from the response other than for the specific input and output of the plant. Definitely smells like an XY problem. \$\endgroup\$
    – user110971
    Apr 23 '20 at 10:13
  • \$\begingroup\$ Behind the scene, I think the op is trying to detect whether the system becomes unstable or not. If that is the case (guesswork) then the problem may indeed be XY @user110971 \$\endgroup\$
    – Andy aka
    Apr 23 '20 at 10:16

If you keep things simple and assume that GH(s) is a 2 pole transfer function then you could use a Root Locus technique but calculating the pole values at only 2 values of K. Once the positions of the poles on the s-plane are known then Wn & damping factor (zeta) can be obtained. Then all the standard equations for a 2 pole step response in the time domain can be used to calculate %overshoot, rise time, settling time, number of oscillations, subsidence ratio, peak time.

All these time domain performance characteristics depend on either zeta or zeta & Wn.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.