The following gives the number of elements in the tuple and
the interpretation:

2: (num, den)

3: (zeros, poles, gain)

4: (A, B, C, D)

dt : float

The discretization time step.

method : {“gbt”, “bilinear”, “euler”, “backward_diff”, “zoh”}

Which method to use:

gbt: generalized bilinear transformation

bilinear: Tustin’s approximation (“gbt” with alpha=0.5)

euler: Euler (or forward differencing) method (“gbt” with alpha=0)

backward_diff: Backwards differencing (“gbt” with alpha=1.0)

zoh: zero-order hold (default)

alpha : float within [0, 1]

The generalized bilinear transformation weighting parameter, which
should only be specified with method=”gbt”, and is ignored otherwise

Returns :

sysd : tuple containing the discrete system

Based on the input type, the output will be of the form

(num, den, dt) for transfer function input

(zeros, poles, gain, dt) for zeros-poles-gain input

(A, B, C, D, dt) for state-space system input

Notes

By default, the routine uses a Zero-Order Hold (zoh) method to perform
the transformation. Alternatively, a generalized bilinear transformation
may be used, which includes the common Tustin’s bilinear approximation,
an Euler’s method technique, or a backwards differencing technique.

The Zero-Order Hold (zoh) method is based on [R111], the generalized bilinear
approximation is based on [R112] and [R113].