CLIMIT |

Controlled Limiter

The Controlled Limiter is a single input, single output function similar to the Gain Block. However, the output of the Limiter function is restricted to the range specified by the output lower and upper limits. This model will operate in DC, AC and Transient analysis modes.

Note that the limit range is the value below the *cntl_upper_limit*
and above the *cntl_lower_limit* at witch smoothing of the output
begins (minimum positive value of voltage must exist between the *
cntl_upper* input and the *cntl_lower* input at all times). For
this model, then, the* limit_range* represents the delta with respect
to the output level at witch smoothing occurs. Thus, for an input gain of
2.0 and output limits of 1.0 and -1.0 volts, the output will begin to smooth
out at ±0.9 volts, which occurs when the input value is at ±0.4.

Note also that the Controlled Limiter code tests the input values of *
cntl_lower* and *cntl_upper* to make sure that they are spaced
far enough apart to guarantee the existence of a linear range between them.
The range is calculated as the difference between (*cntl_upper -
upper_delta - limit_range*) and (*cntl_lower + lower_delta +
limit_range*) and must be greater than or equal to zero. Note that when
the *limit_range* is specified as a fractional value, the *
limit_range* used in the above is taken as the calculed fraction of the
difference between *cntl_upper* and *cntl_lower*. Still, the
potential exists for too great a *limit_range* value to be specified
for proper operation, in which case the model will return an error message.

Description | Direction | Default Type | Allowed Types | Vector | Vector Bounds | Null Allowed |

input | IN | v | v,vd,i,id,vnam | NO | NO | |

upper limit control input | IN | v | v,vd,i,id,vnam | NO | NO | |

lower limit control input | IN | v | v,vd,i,id,vnam | NO | NO | |

output | OUT | v | v,vd,i,id | NO | NO |

Name | Description | Data Type | Default Value | Limits | Vector | Vector Bounds | Null Allowed |

in_offset | Input offset | Real | 0.0 | NO | YES | ||

gain | Gain | Real | 1.0 | NO | YES | ||

upper_delta | Output upper delta | Real | 0.0 | NO | YES | ||

lower_delta | Output lower delta | Real | 0.0 | NO | YES | ||

limit_range | Upper & lower sm. range | Real | 1.0e-6 | NO | YES | ||

fraction | Smoothing percent/abs switch | Boolean | FALSE | NO | YES |

`CLIMIT function linear range less than zero.`

This message occurs whenever the difference between the upper and lower control input values are close enough that there is no effective room for proper limiting to occur; this indicates an error in the control input values.

```
a6 36 84 varlimit
.model varlimit climit(in_offset=0.1 gain=2.5 upper_delta=0.0 lower_delta=0.0 limit_range=0.1 fraction=FALSE)
```