(Simulink) Derivative filter improves performance of a discrete model when there is no noise.

31 views (last 30 days)
I have been doing some Simulink modeling for a project. I modeled it with a discrete system due to the controller rate. I have noticed that for all the discrete system I have tried, adding a derivative filter not only improves the performance (smaller settling time), but it is sometimes also necessary.
The following example involving a discrete PID and a 2nd order discrete transfer function illustrates the behaviour:
Autotune with no derivative filter N:
Autotune with derivative filter N:
I was wondering why such a behaviour would occur. Also, should I model the transfer function as discrete or continuous system for a physical system like F=ma? Any input will be appreciated.

Accepted Answer

Ayush
Ayush on 22 Dec 2023
Hi Zian,
I understand that you want to know the reason why adding a derivative filter in the discrete systems helps improving the performance of the overall system.
Here are some of the possible reasons:
1. Noise Sensitivity and Reduction: In a discrete system, adding a derivative filter forces the system to be approximated by taking the difference between each time measurement. It would then depend on the signal and if its too noisy, the derivative filter would help mitigate the effect of the noise and improving the representation.
2. Improving Stability: The PID controller’s derivative term improves the stability of the overall system and allow for faster response. Please refer to the below documentation to know more about the use of derivative filter in “PID Controller” block in the “Main” section:
3. Effects of Discretization: For implementation of a derivative filer in a discrete system, the filter coefficient can introduce additional dynamics to the system which is not even present in the continuous time-domain. Hence, it can add another layer of smoothing effect. Please refer to the below documentation to know more about the “Filter Coefficient” of the PID controller under the “Main” section:
Additionally in terms of modelling the transfer function as a discrete or continuous system for a physical system like F=ma, you can look at the requirements or context behind your project. Since physical systems are inherently continuous, you can use a continuous time-setting for the transfer function for theoretical analysis. But if your controller is a digital processor, it would be best to work with a discrete transfer function, since there would be sampling rate, and the model would reflect a discrete nature.
Hope it helps,
Regards,
Ayush Misra

More Answers (0)

Community Treasure Hunt

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

Start Hunting!