This example shows how to choose the correct zero-crossing location algorithm, based on the system dynamics. For Zeno dynamic systems, or systems with strong chattering, you can select the adaptive zero-crossing detection algorithm through the Configure pane:
--> Solver --> Zero-crossing options --> Algorithm: [Non-adaptive, Adaptive]
You can run this model by typing 'sldemo_doublebounce' at the MATLAB® command-line
The Double Bouncing Ball System
The Simulink® model in this example is used to simulate two bouncing balls. They start from the ground with different initial speeds, and their ground levels will change at different times.
Figure 1: The double bouncing ball model and animation
Double Bouncing Balls With Non-adaptive Zero-Crossing Location Algorithm
If the Non-adaptive zero-crossing location algorithm is used, the consecutive zero-crossing error causes the simulation to stop. This system is actually a so-called 'Zeno dynamic system'. When either ball is very close to the ground, Simulink will hang because too many zero crossings are detected in a very short period.
Figure 2: Vertical displacement of both balls with Non-adaptive zero- crossing location algorithm.
The simulation does not complete and an error message is shown. The ground level changing events cannot be observed.
Double Bouncing Balls With Adaptive Zero-Crossing Location Algorithm
If the adaptive algorithm is selected, Simulink will adaptively turn on/off the process to precisely locate the zero-crossing time. The conditions to turn on/off the location are:
1) Zero-crossing signal value is below a threshold value. You can control the threshold value through the Configure pane:
--> Solver --> Zero-crossing options --> Algorithm: [Adaptive] --> Signal threshold
2) Consecutive zero-crossing diagnostic is hit. You can define consecutive zero crossing through the Configure pane:
--> Solver --> Solver diagnostic controls --> Time tolerance and --> Number of consecutive zero crossings.
Figure 3: Vertical displacement of both balls with adaptive zero crossing location algorithm.
The simulation has completed. The ground level changing events can be observed. A warning is shown to inform you when searching for events is turned off.