# Check Static Lower Bound

Check that signal is greater than (or optionally equal to) static lower bound

Libraries:
Simulink / Model Verification
HDL Coder / Model Verification

## Description

The Check Static Lower Bound block checks if an input signal is greater than (or optionally equal to) a specified lower bound at each time step and executes an assertion after comparison. The Lower bound parameter defines the lower bound. If the input signal is greater than the lower bound, the assertion is `true (1)` and the block does nothing. If not, the block halts the simulation and returns an error message by default.

The input signal and bound can be scalars, vectors, or matrices. The input and the bound must be the same data type. The block compares the value of the input to the bound differently depending on the signal.

• When comparing scalars to vectors or matrices, the block compares the scalar to each element of the non-scalar input signal or bound.

• When comparing a vector or matrix input signal to a vector or matrix bound, the block compares the input signal to the bound element-by-element.

• For models with an input signal and bound that are both vectors or matrices, the input signal and bound must have the same dimensions.

## Examples

expand all

Using the Check Static Lower Bound block, you can check if an input signal falls below a defined value.

In this example, the Check Static Lower Bound block compares the value of a Sine Wave block to the value entered in the Lower bound parameter, which is `0.5`. The Constant block, labeled Bound, illustrates this parameter in the Scope block but does not affect the parameter value. The Check Static Lower Bound block checks if the value of the input signal is greater than the Lower bound. If it is, the block asserts `true (1)`. Because the Output assertion signal parameter of the block is selected, the block outputs the assertion value. Run the simulation to observe the model output.

At the start of the simulation, the Check Static Lower Bound block outputs `0` because the value of the Sine Wave block is less than the bound. At a time of `0.52`, the sine wave exceeds `0.5`. The Check Static Lower Bound block recognizes this change and outputs `1`. When the time reaches `2.62`, the sine wave falls below the bound and the assertion is `false`. This pattern repeats until the simulation end time.

## Ports

### Input

expand all

Input signal checked against the lower bound specified by the Lower bound parameter.

Data Types: `half` | `single` | `double` | `int8` | `int16` | `int32` | `int64` | `uint8` | `uint16` | `uint32` | `uint64` | `Boolean` | `fixed point` | `enumerated`

### Output

expand all

Output signal that is `true (1)` if the assertion succeeds and `false (0)` if the assertion fails. If, in the Configuration Parameters window, in the Math and Data Types section, under Advanced parameters, you select Implement logic signals as Boolean data, then the output data type is `Boolean`. Otherwise, the data type of the signal is `double`.

#### Dependencies

To enable this output port, select the Output assertion signal parameter check box.

Data Types: `double` | `Boolean`

## Parameters

expand all

Specify the lower bound on the range of amplitudes that the input signal can have.

#### Programmatic Use

 Parameter: `min` Type: string scalar or character vector Default: `"0"`

Select this check box to make the range of valid input amplitudes include the lower bound.

#### Programmatic Use

 Parameter: `min_included` Type: string scalar character vector Values: `"on"` | `"off"` Default: `"on"`

Clearing this parameter disables the block and causes the model to behave as if the block does not exist. To enable or disable all verification blocks, regardless of the setting of this option, go to the Configuration Parameters window, click Diagnostics > Data Validity, expand the Advanced parameters section, and set Model Verification block enabling to ```Enable all``` or `Disable all`.

#### Programmatic Use

 Parameter: `enabled` Type: string scalar or character vector Values: `"on"` | `"off"` Default: `"on"`

Specify a MATLAB® expression to evaluate when the assertion fails. Because the expression is evaluated in the MATLAB workspace, define all variables used in the expression in that workspace.

#### Dependencies

To enable this parameter, select the Enable assertion parameter.

#### Programmatic Use

 Parameter: `callback` Type: string scalar or character vector Default: `""`

Select this parameter to stop the simulation when the check fails. Clear this parameter to display a warning and continue the simulation.

#### Programmatic Use

 Parameter: `stopWhenAssertionFail` Type: string scalar or character vector Values: `"on"` | `"off"` Default: `"on"`

Select this parameter to enable the output port.

#### Programmatic Use

 Parameter: `export` Type: string scalar or character vector Values: `"on"` | `"off"` Default: `"off"`

Specify the style of the block icon. The `graphic` option displays a graphical representation of the assertion condition on the icon. The `text` option displays a mathematical expression that represents the assertion condition.

#### Programmatic Use

 Parameter: `icon` Type: string scalar or character vector Values: `"graphic"` | `"text"` Default: `"graphic"`

## Block Characteristics

 Data Types `Boolean` | `double` | `enumerated` | `fixed point` | `half` | `integer` | `single` Direct Feedthrough `no` Multidimensional Signals `yes` Variable-Size Signals `no` Zero-Crossing Detection `no`

## Version History

Introduced before R2006a