dlti#
- класс scipy.signal.dlti(*система, **kwargs)[источник]#
Базовый класс дискретных линейных инвариантных во времени систем.
- Параметры:
- *system: аргументы
The
dltiкласс может быть создан с 2, 3 или 4 аргументами. Ниже указано количество аргументов и соответствующий подкласс дискретного времени, который создается:2:
TransferFunction: (числитель, знаменатель)3:
ZerosPolesGain: (нули, полюсы, коэффициент усиления)4:
StateSpace: (A, B, C, D)
Каждый аргумент может быть массивом или последовательностью.
- dt: float, опционально
Время дискретизации [с] для дискретных систем. По умолчанию
True(неопределённое время дискретизации). Должно быть указано как именованный аргумент, например,dt=0.1.
- Атрибуты:
Методы
bode([w, n])Вычислить данные амплитуды и фазы Боде для дискретной системы.
freqresp([w, n, whole])Вычислите частотную характеристику дискретной системы.
impulse([x0, t, n])Возвращает импульсную характеристику дискретного времени
dltiсистема.output(u, t[, x0])Возвращает отклик дискретной системы на входной сигнал u.
step([x0, t, n])Верните переходную характеристику дискретного времени
dltiсистема.Смотрите также
Примечания
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 )