5.1.8.7. scipy.signal.ss2tf

scipy.signal.ss2tf(A, B, C, D, input=0)[source]

State-space to transfer function.

A, B, C, D defines a linear state-space system with p inputs, q outputs, and n state variables.

Parameters:

A : array_like

State (or system) matrix of shape (n, n)

B : array_like

Input matrix of shape (n, p)

C : array_like

Output matrix of shape (q, n)

D : array_like

Feedthrough (or feedforward) matrix of shape (q, p)

input : int, optional

For multiple-input systems, the index of the input to use.

Returns:

num : 2-D ndarray

Numerator(s) of the resulting transfer function(s). num has one row for each of the system’s outputs. Each row is a sequence representation of the numerator polynomial.

den : 1-D ndarray

Denominator of the resulting transfer function(s). den is a sequence representation of the denominator polynomial.

Examples

Convert the state-space representation:

˙x(t)=[2110]x(t)+[10]u(t)y(t)=[12]x(t)+[1]u(t)
>>>
>>> A = [[-2, -1], [1, 0]]
>>> B = [[1], [0]]  # 2-dimensional column vector
>>> C = [[1, 2]]    # 2-dimensional row vector
>>> D = 1

to the transfer function:

H(s)=s2+3s+3s2+2s+1
>>>
>>> from scipy.signal import ss2tf
>>> ss2tf(A, B, C, D)
(array([[1, 3, 3]]), array([ 1.,  2.,  1.]))