get_window#
- scipy.signal.windows.get_window(window, Nx, fftbins=True, *, xp=None, device=None)[источник]#
Возвращает окно заданной длины и типа.
- Параметры:
- windowстрока, число с плавающей точкой или кортеж
Тип создаваемого окна. Подробнее см. ниже.
- Nxint
Количество выборок в окне.
- fftbinsbool, необязательно
Если True (по умолчанию), создаёт «периодическое» окно, готовое к использованию с ifftshift и умножаться на результат БПФ (см. также
fftfreq). Если False, создаётся «симметричное» окно для использования в проектировании фильтров.- xparray_namespace, опционально
Опциональное пространство имён массивов. Должно быть совместимо со стандартом array API или поддерживаться array-api-compat. По умолчанию:
numpy- устройство: любое
необязательная спецификация устройства для вывода. Должна соответствовать одной из поддерживаемых спецификаций устройств в
xp.
- Возвращает:
- get_windowndarray
Возвращает окно длиной Nx и тип window
Примечания
Типы окон:
kaiser(требуется beta)kaiser_bessel_derived(требуется beta)gaussian(требуется стандартное отклонение)general_cosine(требует весовых коэффициентов)general_gaussian(требует мощность, ширина)general_hamming(требуется коэффициент окна)dpss(требуется нормированная половинная ширина полосы)chebwin(требуется затухание)
Если окно не требует параметров, то window может быть строкой.
Если окно требует параметров, то window должен быть кортежем с первым аргументом — строковым именем окна, и следующими аргументами — необходимыми параметрами.
Если window является числом с плавающей точкой, оно интерпретируется как бета- параметр
kaiserокно.Каждый из перечисленных выше типов окон также является именем функции, которую можно вызвать напрямую для создания окна этого типа.
Примеры
>>> from scipy import signal >>> signal.get_window('triang', 7) array([ 0.125, 0.375, 0.625, 0.875, 0.875, 0.625, 0.375]) >>> signal.get_window(('kaiser', 4.0), 9) array([ 0.08848053, 0.29425961, 0.56437221, 0.82160913, 0.97885093, 0.97885093, 0.82160913, 0.56437221, 0.29425961]) >>> signal.get_window(('exponential', None, 1.), 9) array([ 0.011109 , 0.03019738, 0.082085 , 0.22313016, 0.60653066, 0.60653066, 0.22313016, 0.082085 , 0.03019738]) >>> signal.get_window(4.0, 9) array([ 0.08848053, 0.29425961, 0.56437221, 0.82160913, 0.97885093, 0.97885093, 0.82160913, 0.56437221, 0.29425961])