scipy.signal.
квадрат#
- scipy.signal.квадрат(t, скважность=0.5)[источник]#
Вернуть периодическую прямоугольную волну.
Прямоугольный сигнал имеет период
2*pi, имеет значение +1 от 0 до2*pi*dutyи -1 из2*pi*dutyto2*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)