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