dimpulse#
- scipy.signal.dimpulse(система, x0=None, t=None, n=None)[источник]#
Импульсная характеристика дискретной системы.
- Параметры:
- системаdlti | кортеж
Экземпляр класса LTI
dltiили кортеж, описывающий систему. Количество элементов в кортеже определяет интерпретацию. Т.е.:system: Экземпляр класса LTIdlti. Обратите внимание, что производные экземпляры, такие как экземплярыTransferFunction,ZerosPolesGain, илиStateSpace, также допускаются.(num, den, dt): Рациональный полином, как описано вTransferFunction. Коэффициенты полиномов должны быть указаны в порядке убывания степеней, например, z² + 3z + 5 должно быть представлено как[1, 3, 5].(zeros, poles, gain, dt): Форма нулей, полюсов и коэффициента усиления, как описано вZerosPolesGain.(A, B, C, D, dt): Форма пространства состояний, как описано вStateSpace.
- x0array_like, необязательный
Начальный вектор состояния. По умолчанию ноль.
- tarray_like, необязательный
Временные точки. Вычисляются, если не заданы.
- nint, необязательный
Количество временных точек для вычисления (если t не указан).
- Возвращает:
- toutndarray
Значения времени для вывода, как одномерный массив.
- youtкортеж ndarray
Импульсная характеристика системы. Каждый элемент кортежа представляет выход системы на основе импульса в каждом входе.
Смотрите также
Примеры
>>> import numpy as np >>> from scipy import signal >>> import matplotlib.pyplot as plt ... >>> dt = 1 # sampling interval is one => time unit is sample number >>> bb, aa = signal.butter(3, 0.25, fs=1/dt) >>> t, y = signal.dimpulse((bb, aa, dt), n=25) ... >>> fig0, ax0 = plt.subplots() >>> ax0.step(t, np.squeeze(y), '.-', where='post') >>> ax0.set_title(r"Impulse Response of a $3^\text{rd}$ Order Butterworth Filter") >>> ax0.set(xlabel='Sample number', ylabel='Amplitude') >>> ax0.grid() >>> plt.show()