scipy.signal.

freqresp#

scipy.signal.freqresp(система, w=None, n=10000)[источник]#

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

Параметры:
системаэкземпляр lti класса или кортежа, описывающего систему.

Следующее дает количество элементов в кортеже и их интерпретацию:

  • 1 (экземпляр lti)

  • 2 (num, den)

  • 'norm'

  • 4 (A, B, C, D)

warray_like, необязательный

Массив частот (в рад/с). Данные амплитуды и фазы вычисляются для каждого значения в этом массиве. Если не задано, будет вычислен разумный набор.

nint, необязательный

Количество частотных точек для вычисления, если w не задан. n частоты логарифмически распределены в интервале, выбранном так, чтобы включить влияние полюсов и нулей системы.

Возвращает:
w1D ndarray

Массив частот [рад/с]

H1D ndarray

Массив значений комплексной амплитуды

Примечания

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

Примеры

Генерация диаграммы Найквиста для передаточной функции

>>> from scipy import signal
>>> import matplotlib.pyplot as plt

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

>>> s1 = signal.ZerosPolesGain([], [1, 1, 1], [5])
>>> w, H = signal.freqresp(s1)
>>> plt.figure()
>>> plt.plot(H.real, H.imag, "b")
>>> plt.plot(H.real, -H.imag, "r")
>>> plt.show()
../../_images/scipy-signal-freqresp-1.png