Singularity error - Simulink

An error occurred while running the simulation and the simulation was terminated Caused by: Derivative of state '1' in block 'XXXXXX/Receiver/pre-amp/CTLE mode 2/Transfer Fcn15' at time 3.3003349235944607E-9 is not finite. The simulation will be stopped. There may be a singularity in the solution. If not, try reducing the step size (either by reducing the fixed step size or by tightening the error tolerances)
Please help.

7 个评论

Share your model.
Hi Birdman, I am assuming you are from Mathworks. Unfortunately my designs are proprietary and I can not post in public domain. If you could setup some kind of webex, I can share my screen and show you what is going on. is that ok?
If there is local Sandiego based (Qualcomm) rep then I can share locally.
Regards, Harvijay
Ok, especially I want to see all transfer functions.
I am working on Serdes model, I have quite a few Xfer func that you might be interested in seeing.
So r u from Mathworks? R u setting up some remote debug session?
Which kind of filter do I put for the simulink model with an error of :
Typically, putting in a filter will not solve the problem.
Sometimes reducing the step size solves the problem. However, typically when reducing the step size would solve the problem, the problem is not occuring at a round time such as 0.0002 .
More likely your problem is either in how you initialized your components, or else the problem is in your model not being set up correctly. If you have algebraic loops then your model is probably not correct.

请先登录,再进行评论。

回答(1 个)

Suhan
Suhan 2018-2-19

0 个投票

Hi,
The singularity issues occur due to model instabilities. Instabilities may occur in a model due to a wide variety of reasons and one of them is the reference is too quick that the plant does not have enough time to respond and runs into singularities. This can be eliminated by putting in a filter on the reference signal.
Below is information on three tools that may assist you in further improving the model stability, if you are not already familiar with them:
1. Solver Profiler: The Solver Profiler can help you visualize your model dynamics and see where they may be unstable. Using the Solver Profile is described at this link: https://www.mathworks.com/help/simulink/ug/examine-solver-behavior-using-solver-profiler.html
2. Log the Simulink states, so you may view their values after running the simulation (perhaps stop the simulation before the error or use the above approach to remove the error): https://www.mathworks.com/help/simulink/examples/logging-states-in-structure-format.html
3. Use Stepping Options to pause the simulation and view signal values before the error occurs: https://www.mathworks.com/help/simulink/ug/simulation-stepper-interface.html

类别

帮助中心File Exchange 中查找有关 Modeling 的更多信息

产品

标签

Community Treasure Hunt

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

Start Hunting!

Translated by