Sudden Increases in Computational Noise During Simulation

3 views (last 30 days)
In my Simulink model, a signal of interest should occur to be zero. Due to computational errors, it has some noise, I understand that. The thing I do not understand is that this computational noise level is suddenly increased multiple times during the simulation. As the picture below shows, at least 4 update in the noise amplitude can be counted. If the increase in the noise amplitude was continuous, it could have been explained as accumulation of errors, but here I see sudden changes as if Simulink decides to increase computational error tolerance.
The model generating this result seems like this:
I am using variable-step solver (ode45). Duration of the simulation is 100000 seconds. I tried disabling absolute tolerance auto scaling but it did not change anything. Also, I suspected accumulation of error at the sinusoidal wave, but the reason is not that either.
I wonder why this happens and how to avoid it. I have attached the simulink model for reproducability.
  2 Comments
Mathieu NOE
Mathieu NOE on 20 Jan 2022
hello
I would prefer to run a fixed step solver - can you try this ?
IMHO, I would go for discrete models + fixed step solver

Sign in to comment.

Answers (1)

Rangesh
Rangesh on 29 Sep 2023
Edited: Rangesh on 30 Sep 2023
Hi tkarg,
I understand that you want to reduce the noise in the Simulink computations. To reduce noise in simulations, consider using a fixed step solver instead of a variable step solver. Variable step solvers can introduce more noise when there are numerical instabilities or rapid transitions in the system. By using a fixed step solver, you can mitigate these issues and achieve more stable and accurate results.
Attached below is the result generated by your model obtained using fixed step solver:
You can refer to the following documentation on the usage of different solvers:
I hope this resolves your query.
Thanks,
Rangesh

Products

Community Treasure Hunt

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

Start Hunting!