Why does the rate limiter's output change slower than the specified limit?

4 views (last 30 days)
Hello,
I am developing a model in simulink as follows:
The signal of (i) given to Block_2 and Block_3 should increase from 0 to 800 with a rising rate of 1.3889 after a step time of 180. Therefore, I connect a step signal to a rate limiter as shown in the figure and define the inputs to them as follows:
  • Step signal
Step time = 180, Initial value = 0 and Final value = 800.
  • Rate limiter
Rising slew rate = 1.3889, Falling slew rate = 0 and Sample time mode "continuous".
The results of the model in Output.mat show values of (i) as follows:
  • From point 1 to point 181 → i = 0
  • At point 182 → i = 2.5264*10^-12
  • At point 183 → i = 5.0527*10^-12
  • At point 184 → i = 1.3889 and it continuously increseas with the rate of 1.3889 afterwards (e.g. at point 185 → i = 2.7778, etc.).
My question is, why does (i) not follow the rising rate of 1.3889 starting from point 181 and why does it give the two strange values at points 182 and 183?
Please note that I am using the solver of ode23t with a max. step size of 1.
I would be really grateful if someone helps me in solving this issue.
Thank you in advance.

Accepted Answer

Mathieu NOE
Mathieu NOE on 8 Jan 2024
Moved: Angelo Yeo on 8 Jan 2024
hmm
I wonder if this is caused by having a variable step size
what if you force to fixed step size ?
  2 Comments
Mohamed Elasmar
Mohamed Elasmar on 8 Jan 2024
Moved: Angelo Yeo on 8 Jan 2024
Thank you very much @Mathieu NOE for your help. I tried your solution and it successfully works. When I changed it to Fixed-step and gave a value of 1 in the Fixed-step size (Solver details section), the values of (i) became as follows:
  • From point 1 to point 180 → i = 0
  • At point 181 → i = 1.3889 and it increseas with the rate of 1.3889 afterwards (e.g. 2.7778, 4.1667, etc.) until it reached 800.

Sign in to comment.

More Answers (0)

Categories

Find more on General Applications in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!