control.bandwidth

control.bandwidth(sys, dbdrop=-3)[source]

Find first frequency where gain drops by 3 dB.

Parameters:
sysStateSpace or TransferFunction

Linear system for which the bandwidth should be computed.

dbdropfloat, optional

By how much the gain drop in dB (default = -3) that defines the bandwidth. Should be a negative scalar.

Returns:
bandwidthndarray

The first frequency where the gain drops below dbdrop of the zero frequency (DC) gain of the system, or nan if the system has infinite zero frequency gain, inf if the gain does not drop for any frequency.

Raises:
TypeError

If sys is not an SISO LTI instance.

ValueError

If dbdrop is not a negative scalar.

Examples

>>> G = ct.tf([1], [1, 1])
>>> ct.bandwidth(G)
np.float64(0.9976283451102316)
>>> G1 = ct.tf(0.1, [1, 0.1])
>>> wn2 = 1
>>> zeta2 = 0.001
>>> G2 = ct.tf(wn2**2, [1, 2*zeta2*wn2, wn2**2])
>>> ct.bandwidth(G1*G2)
np.float64(0.10184838823897456)