This is a question from control theory but I hope you can help me with it. I was pointed to this community.

So in my control loop I have elements that have cut-off frequency of 3-5kHz and I designed a PID controller for the inner loop and those elements and suddenly I get a closed loop bandwidth of 30-50kHz cut-off frequency.

So the loop is in the figure bellow.Closed control loop

So the PID controller, or voltage controller I designed is a PID with a derivative filter. Current sources are modeled as 1st order filters with 3-5kHz cutoff frequency. How is it possible to get such a high bandwidth of the closed loop if the inner elements have a lower cut-off frequency?


  • $\begingroup$ How are you measuring the bandwidth? What do you mean by "suddenly"? Are there any non-linear elements? $\endgroup$
    – MBaz
    Apr 11 '16 at 13:47
  • $\begingroup$ I assume your last question should read How is it possible to get such a high bandwidth of the **CLOSED** loop if the inner elements have a lower cut-off frequency? $\endgroup$
    – Peter K.
    Apr 11 '16 at 13:55
  • $\begingroup$ @MBaz I plotted the closed loop response in Matlab and I simulated the same thing in Simulink. By "suddenly" I mean that I'm surprised to get such a huge bandwidth. $\endgroup$
    – MarkoP
    Apr 11 '16 at 14:13
  • $\begingroup$ @PeterK. Yes, that's what I meant. Thank you. $\endgroup$
    – MarkoP
    Apr 11 '16 at 14:14
  • $\begingroup$ Use MATLAB commands to examine the frequency domain behaviour of the closed loop system. Explain the differences between the theoretical values for Bode diagrams and the simulated results. $\endgroup$
    – user20501
    Apr 12 '16 at 0:21

Yes, that's perfectly possible and to be expected.

Below is a toy example that starts with a Butterworth low pass filter and puts it in the forward path of a feedback loop. The feedback path has a gain of two.

This makes the whole loop unstable, but it also makes the bandwidth very high.

The original filter's frequency response is below.

enter image description here

And this is the closed loop response.

enter image description here

R Code Below #30035


bf <- butter(5, 0.1)
dev.copy(png, 'Q30035/Q30035-Butterworth.png')

k <- 2
bf2 <- bf
bf2$a <- bf$a + k*bf$b
bf2$b <- bf$a*k
dev.copy(png, 'Q30035/Q30035-Feedback.png')
  • $\begingroup$ Hi, I have one more question. How can I decrease the bandwith? I'd like the cutoff frequency to be at 3kHz for example. $\endgroup$
    – MarkoP
    Apr 15 '16 at 9:28
  • $\begingroup$ @MarkoP Usually lowering the overall gain of a controller decreases the bandwidth. $\endgroup$
    – fibonatic
    Apr 29 '16 at 0:42

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.