{ } Raw JSON

bundles / scipy latest / scipy / signal / _lti_conversion / ss2tf

function

scipy.signal._lti_conversion:ss2tf

source: /scipy/signal/_lti_conversion.py :217

Signature

def   ss2tf ( A B C D input = 0 )

Summary

State-space to transfer function.

Extended Summary

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.

Notes

Array API Standard Support

ss2tf has experimental support for Python Array API Standard compatible backends in addition to NumPy. Please consider testing these features by setting an environment variable SCIPY_ARRAY_API=1 and providing CuPy, PyTorch, JAX, or Dask arrays as array arguments. The following combinations of backend and device (or other capability) are supported.

====================  ====================  ====================
Library               CPU                   GPU
====================  ====================  ====================
NumPy                 ✅                     n/a                 
CuPy                  n/a                   ⛔                   
PyTorch               ⛔                     ⛔                   
JAX                   ⛔                     ⛔                   
Dask                  ⛔                     n/a                 
====================  ====================  ====================

See dev-arrayapi for more information.

Examples

Convert the state-space representation: .. math:: \dot{\textbf{x}}(t) = \begin{bmatrix} -2 & -1 \\ 1 & 0 \end{bmatrix} \textbf{x}(t) + \begin{bmatrix} 1 \\ 0 \end{bmatrix} \textbf{u}(t) \\ \textbf{y}(t) = \begin{bmatrix} 1 & 2 \end{bmatrix} \textbf{x}(t) + \begin{bmatrix} 1 \end{bmatrix} \textbf{u}(t)
A = [[-2, -1], [1, 0]]
B = [[1], [0]]  # 2-D column vector
C = [[1, 2]]    # 2-D row vector
D = 1
to the transfer function: .. math:: H(s) = \frac{s^2 + 3s + 3}{s^2 + 2s + 1}
from scipy.signal import ss2tf
ss2tf(A, B, C, D)

Aliases

  • scipy.signal.ss2tf