control.friction_backlash_nonlinearity

class control.friction_backlash_nonlinearity(b)[source]

Bases: DescribingFunctionNonlinearity

Backlash nonlinearity for describing function analysis.

This class creates a nonlinear function representing a friction-dominated backlash nonlinearity ,including the describing function for the nonlinearity. The following call creates a nonlinear function suitable for describing function analysis:

F = friction_backlash_nonlinearity(b)

This function maintains an internal state representing the ‘center’ of a mechanism with backlash. If the new input is within b/2 of the current center, the output is unchanged. Otherwise, the output is given by the input shifted by b/2.

Examples

>>> nl = ct.friction_backlash_nonlinearity(2)  # backlash of +/- 1
>>> nl(0)
0
>>> nl(1)  # not enough to overcome backlash
0
>>> nl(2)
1.0
>>> nl(1)
1.0
>>> nl(0)  # not enough to overcome backlash
1.0
>>> nl(-1)
0.0

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.