scipy.signal.

lti#

класс scipy.signal.lti(*система)[источник]#

Базовый класс линейной инвариантной во времени системы непрерывного времени.

Параметры:
*systemаргументы

The lti класс может быть создан с 2, 3 или 4 аргументами. Ниже указано количество аргументов и соответствующий подкласс непрерывного времени, который создаётся:

Каждый аргумент может быть массивом или последовательностью.

Атрибуты:
dt

Возвращает время дискретизации системы, None для lti систем.

poles

Полюса системы.

zeros

Нули системы.

Методы

bode([w, n])

Вычислить данные амплитуды и фазы Боде для системы непрерывного времени.

freqresp([w, n])

Вычислить частотную характеристику непрерывной системы.

impulse([X0, T, N])

Возвращает импульсную характеристику системы непрерывного времени.

output(U, T[, X0])

Вернуть отклик системы непрерывного времени на вход U.

step([X0, T, N])

Возвращает переходную характеристику системы непрерывного времени.

to_discrete(dt[, method, alpha])

Возвращает дискретизированную версию текущей системы.

Смотрите также

ZerosPolesGain, StateSpace, TransferFunction, dlti

Примечания

lti экземпляры не существуют напрямую. Вместо этого, lti создаёт экземпляр одного из своих подклассов: StateSpace, TransferFunction или ZerosPolesGain.

Если (числитель, знаменатель) передается для *system, коэффициенты для как числителя, так и знаменателя должны быть указаны в порядке убывания степени (например, s^2 + 3s + 5 будет представлен как [1, 3, 5]).

Изменение значения свойств, которые не являются непосредственной частью текущего представления системы (таких как zeros из StateSpace система) очень неэффективна и может привести к численным неточностям. Лучше сначала преобразовать в конкретное представление системы. Например, вызвать sys = sys.to_zpk() перед доступом/изменением нулей, полюсов или усиления.

Примеры

>>> from scipy import signal
>>> signal.lti(1, 2, 3, 4)
StateSpaceContinuous(
array([[1]]),
array([[2]]),
array([[3]]),
array([[4]]),
dt: None
)

Построить передаточную функцию \(H(s) = \frac{5(s - 1)(s - 2)}{(s - 3)(s - 4)}\):

>>> signal.lti([1, 2], [3, 4], 5)
ZerosPolesGainContinuous(
array([1, 2]),
array([3, 4]),
5,
dt: None
)

Построить передаточную функцию \(H(s) = \frac{3s + 4}{1s + 2}\):

>>> signal.lti([3, 4], [1, 2])
TransferFunctionContinuous(
array([3., 4.]),
array([1., 2.]),
dt: None
)