control.feedback

control.feedback(sys1, sys2=1, sign=-1)

Feedback interconnection between two I/O systems.

Parameters:

sys1: scalar, StateSpace, TransferFunction, FRD

The primary plant.

sys2: scalar, StateSpace, TransferFunction, FRD

The feedback plant (often a feedback controller).

sign: scalar

The sign of feedback. sign = -1 indicates negative feedback, and sign = 1 indicates positive feedback. sign is an optional argument; it assumes a value of -1 if not specified.

Returns:

out: StateSpace or TransferFunction

Raises:

ValueError

if sys1 does not have as many inputs as sys2 has outputs, or if sys2 does not have as many inputs as sys1 has outputs

NotImplementedError

if an attempt is made to perform a feedback on a MIMO TransferFunction object

See also

series, parallel

Notes

This function is a wrapper for the feedback function in the StateSpace and TransferFunction classes. It calls TransferFunction.feedback if sys1 is a TransferFunction object, and StateSpace.feedback if sys1 is a StateSpace object. If sys1 is a scalar, then it is converted to sys2‘s type, and the corresponding feedback function is used. If sys1 and sys2 are both scalars, then TransferFunction.feedback is used.