Simulink "Sum" block giving wrong result
Mostrar comentarios más antiguos
I ran a simulation that produced an unnexpected result. It was supposed to be just a noise floor, but for some periods this signal seems to stay constane and then spike before returning to normal. And it happened twice in this particular length of simulation:

I tried the debugger and found an error in a sum block. I've tried re-running multiple times, the error occurs at the same timestep (my noise input didn't change between these runs). If I change the tolerance, it still occurs, but at a different time step.
Example, in this step, the result of the sum of this two signals is correct 1.9794e-11 - 1.905161e-11 = 7.43e-13;

As well as in the next step, -9.639417e-13 + 3.0406e-12 = 2.07e-12

however, at the next step, the signals are updated, but the sum, wrongly, still displays the previous value:

It continues for several steps. If I choose to run the remaining of the simulation, eventually it just "explodes" after a while and goes back to normal.

What could be going on?
3 comentarios
Youssef Noureddine
el 9 de Nov. de 2022
Hi Arthur,
Can you log the value of the three signals that go into the add block and save it to a .MAT file and attach it here so that I can take a look at it and try it on my end? I can take a look at it tomorrow, but having the signal value history will greatly assist me in determining what could be causing what you are encountering.
Sincerely,
Youssef
Arthur Reis
el 14 de Nov. de 2022
Editada: Arthur Reis
el 14 de Nov. de 2022
Respuestas (0)
Categorías
Más información sobre General Applications en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
