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)