Quantcast

Documentation Center

  • Trial Software
  • Product Updates

Double Bouncing Ball: Use of Adaptive Zero-Crossing Location

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.

Open the modelOpen the model

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.

Was this topic helpful?