Limit rate of change of signal

Discontinuities

The Rate Limiter block limits the first derivative of the signal passing through it. The output changes no faster than the specified limit. The derivative is calculated using this equation:`

$$rate=\frac{u(i)-y(i-1)}{t(i)-t(i-1)}$$

*u(i)* and* **t(i)* are
the current block input and time, and *y(i–1)* and *t(i–1)* are
the output and time at the previous step. The output is determined
by comparing *rate* to the **Rising
slew rate** and **Falling slew rate** parameters:

If

*rate*is greater than the**Rising slew rate**parameter (*R*), the output is calculated as$$y(i)=\Delta t\cdot R+y(i-1).$$

If

*rate*is less than the**Falling slew rate**parameter (*F*), the output is calculated as$$y(i)=\Delta t\cdot F+y(i-1).$$

If

*rate*is between the bounds of*R*and*F*, the change in output is equal to the change in input:$$y(i)=u(i)$$

When the block is running in continuous mode (for example, **Sample
time mode** is `inherited`

and **Sample
time** of the driving block is zero), the **Initial
condition** is ignored. The block output at ```
t =
0
```

is equal to the initial input:

$$y(0)=u(0)$$

When the block is running in discrete mode (for example, **Sample
time mode** is `inherited`

and **Sample
time** of the driving block is nonzero), the **Initial
condition** is preserved:

$$y(-1)=Ic$$

where *Ic* is the initial condition. The block
output at `t = 0`

is calculated as if *rate* is
outside the bounds of *R* and *F*.
For `t = 0`

, *rate* is calculated
as follows:

$$rate=\frac{u(0)-y(-1)}{sample\text{\hspace{0.17em}}time}$$

You cannot use a Rate Limiter block inside a Triggered Subsystem. Use the Rate Limiter Dynamic block instead.

The Rate Limiter block accepts and outputs signals of any numeric
data type that Simulink^{®} supports, except `Boolean`

.
The Rate Limiter block supports fixed-point data types.

For more information, see Data Types Supported by Simulink in the Simulink documentation.

**Rising slew rate**Specify the limit of the derivative of an increasing input signal. This parameter is tunable for fixed-point inputs.

**Falling slew rate**Specify the limit of the derivative of a decreasing input signal. This parameter is tunable for fixed-point inputs.

**Sample time mode**Specify the sample time mode,

`continuous`

or`inherited`

from the driving block.**Initial condition**Set the initial output of the simulation. Simulink software does not allow you to set the initial condition of this block to

`inf`

or`NaN`

.**Treat as gain when linearizing**Linearization commands in Simulink software treat this block as a gain in state space. Select this check box to cause the linearization commands to treat the gain as 1; otherwise, the commands treat the gain as 0.

Data Types | Double | Single| Base Integer | Fixed-Point |

Sample Time | Continuous or inherited (specified in the |

Direct Feedthrough | Yes |

Multidimensional Signals | No |

Variable-Size Signals | No |

Zero-Crossing Detection | No |

Code Generation | Yes |

Was this topic helpful?