control.saturation_nonlinearity

class control.saturation_nonlinearity(ub=1, lb=None)[source]

Bases: DescribingFunctionNonlinearity

Create saturation nonlinearity for use in describing function analysis.

This class creates a nonlinear function representing a saturation with given upper and lower bounds, including the describing function for the nonlinearity. The following call creates a nonlinear function suitable for describing function analysis:

F = saturation_nonlinearity(ub[, lb])

By default, the lower bound is set to the negative of the upper bound. Asymmetric saturation functions can be created, but note that these functions will not have zero bias and hence care must be taken in using the nonlinearity for analysis.

Examples

>>> nl = ct.saturation_nonlinearity(5)
>>> nl(1)
1
>>> nl(10)
5
>>> nl(-10)
-5

Methods

describing_function

Return the describing function for a nonlinearity.

__call__(x)[source]

Evaluate the nonlinearity at a (scalar) input value.

describing_function(A)[source]

Return the describing function for a nonlinearity.

This method is used to allow analytical representations of the describing function for a nonlinearity. It turns the (complex) value of the describing function for sinusoidal input of amplitude A.