scipy.signal.

dlti#

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

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

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

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

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

dt: float, опционально

Время дискретизации [с] для дискретных систем. По умолчанию True (неопределённое время дискретизации). Должно быть указано как именованный аргумент, например, dt=0.1.

Атрибуты:
dt

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

poles

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

zeros

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

Методы

bode([w, n])

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

freqresp([w, n, whole])

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

impulse([x0, t, n])

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

output(u, t[, x0])

Возвращает отклик дискретной системы на входной сигнал u.

step([x0, t, n])

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

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

ZerosPolesGain, StateSpace, TransferFunction, lti

Примечания

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

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

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

Добавлено в версии 0.18.0.

Примеры

>>> from scipy import signal
>>> signal.dlti(1, 2, 3, 4)
StateSpaceDiscrete(
array([[1]]),
array([[2]]),
array([[3]]),
array([[4]]),
dt: True
)
>>> signal.dlti(1, 2, 3, 4, dt=0.1)
StateSpaceDiscrete(
array([[1]]),
array([[2]]),
array([[3]]),
array([[4]]),
dt: 0.1
)

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

>>> signal.dlti([1, 2], [3, 4], 5, dt=0.1)
ZerosPolesGainDiscrete(
array([1, 2]),
array([3, 4]),
5,
dt: 0.1
)

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

>>> signal.dlti([3, 4], [1, 2], dt=0.1)
TransferFunctionDiscrete(
array([3., 4.]),
array([1., 2.]),
dt: 0.1
)