How to convert Ki and Kp to crossover frequencies?

Moku model: Moku:GO
Operating system: Windows 11
Software version: 2023

Bug or support request description:


I am seeking assistance regarding the configuration of a PID controller within the Moku:GO software.

  1. PID Controller Gains: I have designed a PID controller for my system and extracted the gains from the Simulink PID tuner as follows:
  • Proportional Gain (P): 1.0335
  • Integral Gain (I): 2.78 x 10^5I would like to know how to convert the Proportional Gain (P) to decibels (dB) and how to determine the crossover frequency associated with the Integral Gain (I).
  1. Integrator Crossover Frequency Specification: The software documentation mentions an integrator crossover frequency specification for the PID controller in the range of 12.5 mHz to 31.25 kHz. However, the meaning of this range is not clear to me. Can you please elaborate on what this specification represents and how it can affect the performance of the PID controller?

Any guidance or resources you could provide to address these issues would be greatly appreciated.

Thank you for your assistance.

Best regards,

There are two ways to convert between the gain (dB) to crossover frequency (Hz). Either click the “Advanced Mode” and just enter the gain numbers that you have, the Moku software however will not convert the gain to a crossover frequency automatically when you switch between the modes. The other is to manually convert them using the formula dB = 20log(f) where dB is the gain and f is the crossover frequency. This does mean that your integral will not be possible using Moku, as the integral gain maximum is 120 dB (which translates to 1 MHz crossover frequency, which is higher than the 31.25 kHz crossover spec listed for the “Basic” mode). You may need to double check your simulation as I have not seen integral gains this high for Moku:Go PID applications.

The integrator crossover frequency spec gives the range of the integrator crossover frequency inside the PID controller that you can manually set. This range is determined by the Moku device’s frontend specs like the sampling rate and bandwidth. This spec does not affect the performance, but just helps users determine if the Moku:Go PID meets their frequency range requirements.

If you are looking for more resources to better understand control systems and theory, then Mathworks has a great series on this that explain in more depth crossover frequencies, poles and zeros, root locus, and much more than can help with PID tuning. A good one to start with might be Transfer Functions which talks more about crossover frequencies and poles/zeros. If you are looking for more resources on how to use the Moku:Go PID controller specifically then there are a few app notes on our site as well this Youtube video that shows a ball levitation lab using Moku:Go PID controller.

1 Like

Well the system I’m trying to control is relatively fast it has a time constant in the range of 1 us.

It appears the Moku:GO PID controller can’t handle such a fast system. Considering that Moku:Pro is more appropriate to use.