finesse.utilities.control module

Control system functions.

finesse.utilities.control.fQ_roots(fQs: Iterable[tuple[float, float]]) → list[complex128][source]

Roots from pairs of resonant frequency and Q factor.

Each pair (f0, Q) gives both roots of s**2 + (w0 / Q) * s + w0**2 where w0 = 2 * pi * f0.

Parameters

fQsiterable of (float, float)

Pairs of frequency in Hz and quality factor

Returns

rootslist of complex

Roots in rad/s, two per pair

finesse.utilities.control.zpk_fresp(zs, ps, k, w)[source]

Evaluate the frequency response of a zpk filter.

The evaluation is done by multiplying the poles and zeros in pairs which is more numerically stable than multiplying all of the zeros and then dividing by all of the poles as is done with other tools when there are a large number of zeros and poles.

Parameters

zsarray

zeros of the filter

psarray

poles of the filter

kfloat

gain of the filter

warray

frequencies at which to compute the filter