scipy.signal.

квадрат#

scipy.signal.квадрат(t, скважность=0.5)[источник]#

Вернуть периодическую прямоугольную волну.

Прямоугольный сигнал имеет период 2*pi, имеет значение +1 от 0 до 2*pi*duty и -1 из 2*pi*duty to 2*pi. скважность должен находиться в интервале [0,1].

Обратите внимание, что это не ограничено по полосе. Он генерирует бесконечное число гармоник, которые накладываются и отражаются по частотному спектру.

Параметры:
tarray_like

Входной массив времени.

скважностьarray_like, необязательный

Скважность. По умолчанию 0.5 (50% скважность). Если задан массив, форма волны меняется со временем и должна иметь ту же длину, что и t.

Возвращает:
yndarray

Выходной массив, содержащий прямоугольный сигнал.

Примеры

Сигнал частотой 5 Гц, дискретизированный с частотой 500 Гц в течение 1 секунды:

>>> import numpy as np
>>> from scipy import signal
>>> import matplotlib.pyplot as plt
>>> t = np.linspace(0, 1, 500, endpoint=False)
>>> plt.plot(t, signal.square(2 * np.pi * 5 * t))
>>> plt.ylim(-2, 2)

Синусоидальная волна с широтно-импульсной модуляцией:

>>> plt.figure()
>>> sig = np.sin(2 * np.pi * t)
>>> pwm = signal.square(2 * np.pi * 30 * t, duty=(sig + 1)/2)
>>> plt.subplot(2, 1, 1)
>>> plt.plot(t, sig)
>>> plt.subplot(2, 1, 2)
>>> plt.plot(t, pwm)
>>> plt.ylim(-1.5, 1.5)
../../_images/scipy-signal-square-1_00.png
../../_images/scipy-signal-square-1_01.png