# Detect Fall Negative

Detect falling edge when signal value decreases to strictly negative value, and its previous value was nonnegative

Libraries:
Simulink / Logic and Bit Operations

## Description

The Detect Fall Negative block determines if the input is less than zero, and its previous value is greater than or equal to zero.

This block supports only discrete sample times.

## Examples

expand all

This example shows how to detect when a signal value decreases to a strictly negative value from a value that was greater than or equal to zero.

## Ports

### Input

expand all

Input signal, specified as a scalar, vector, or matrix.

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

### Output

expand all

Output signal, true (equal to 1) when the input signal is less than zero, and its previous value was greater than or equal to zero; false (equal to 0) when the input signal is greater than or equal to zero, or if the input signal is negative, its previous value was also negative.

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

## Parameters

expand all

Set the initial condition of the Boolean expression U/z < 0.

#### Programmatic Use

 Block Parameter: `vinit` Type: character vector Values: scalar | vector Default:`'0'`

Specify whether the block performs sample- or frame-based processing:

• `Columns as channels (frame based)` — Treat each column of the input as a separate channel (frame-based processing).

Note

Frame-based processing requires a DSP System Toolbox™ license.

• `Elements as channels (sample based)` — Treat each element of the input as a separate channel (sample-based processing).

Use Input processing to specify whether the block performs sample- or frame-based processing. For more information about these two processing modes, see Sample- and Frame-Based Concepts (DSP System Toolbox).

#### Programmatic Use

 Block Parameter: `InputProcessing` Type: character vector Values: ```'Columns as channels (frame based)'``` | ```'Elements as channels (sample based)'``` Default: ```'Elements as channels (sample based)'```

Set the output data type to `boolean` or `uint8`.

#### Programmatic Use

 Block Parameter: `OutDataTypeStr` Type: character vector Values: `'boolean'` | `'uint8'` Default: `'boolean'`

## Block Characteristics

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

## Version History

Introduced before R2006a