Spec-Zone.ru › Matplotlib 3.7

matplotlib.pyplot.specgram

matplotlib.pyplot.specgram(x, NFFT=None, Fs=None, Fc=None, detrend=None, window=None, noverlap=None, cmap=None, xextent=None, pad_to=None, sides=None, scale_by_freq=None, mode=None, scale=None, vmin=None, vmax=None, *, data=None, **kwargs)[source]

Построение спектрограммы.

Вычисление и построение спектрограммы данных в x. Данные разбиваются на сегменты длиной NFFT, и вычисляется спектр каждого сегмента. Функция оконного анализа window применяется к каждому сегменту, а степень перекрытия сегментов задаётся параметром noverlap. Спектрограмма отображается как цветовая карта (с помощью imshow).

Параметры:
xОдномерный массив или последовательность

Массив или последовательность, содержащие данные.

Fsчисло, по умолчанию: 2

Частота дискретизации (образцов в единицу времени). Используется для вычисления частот Фурье, freqs, в циклах на единицу времени.

windowвызываемая функция или одномерный массив, по умолчанию: window_hanning

Функция или вектор длиной NFFT. Для создания векторов окон см. window_hanning, window_none, numpy.blackman, numpy.hamming, numpy.bartlett, scipy.signal, scipy.signal.get_window и т.д. Если в качестве аргумента передана функция, она должна принимать сегмент данных и возвращать оконную версию сегмента.

sides{'default', 'onesided', 'twosided'}, необязательно

Какие стороны спектра вернуть. 'default' — односторонняя для вещественных данных и двухсторонняя для комплексных данных. 'onesided' принудительно возвращает односторонний спектр, а 'twosided' — двухсторонний.

pad_toцелое число, необязательно

Количество точек, до которого дополняется сегмент данных при выполнении БПФ. Это может отличаться от NFFT, которое задаёт количество точек данных, используемых в вычислении. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешаемыми пиками), это может обеспечить больше точек на графике, что позволит получить более подробную информацию. Соответствует параметру n в вызове fft. По умолчанию None, что устанавливает pad_to равным NFFT

NFFTцелое число, по умолчанию: 256

Количество точек данных, используемых в каждом блоке для БПФ. Степень двойки наиболее эффективна. Это не должно использоваться для получения нулевого заполнения, иначе масштабирование результата будет неправильным; используйте pad_to для этого вместо этого.

detrend{'none', 'mean', 'linear'} или вызываемая функция, по умолчанию: 'none'

Функция, применяемая к каждому сегменту перед выполнением БПФ, предназначенная для удаления среднего значения или линейной тенденции. В отличие от MATLAB, где параметр detrend является вектором, в Matplotlib это функция. Модуль mlab определяет detrend_none, detrend_mean и detrend_linear, но вы также можете использовать пользовательскую функцию. Вы также можете использовать строку для выбора одной из функций: 'none' вызывает detrend_none. 'mean' вызывает detrend_mean. 'linear' вызывает detrend_linear.

scale_by_freqбулево значение, по умолчанию: True

Являются ли возвращаемые значения плотности масштабированными с учётом частоты масштабирования, что обеспечивает плотность в единицах 1/Гц. Это позволяет интегрировать по возвращаемым частотным значениям. По умолчанию True для совместимости с MATLAB.

mode{'default', 'psd', 'magnitude', 'angle', 'phase'}

Какой тип спектра использовать. По умолчанию 'psd', который возвращает плотность спектральной мощности. 'magnitude' возвращает спектр по величине. 'angle' возвращает спектр фаз без разворачивания. 'phase' возвращает спектр фаз с разворачиванием.

noverlapцелое число, по умолчанию: 128

Количество перекрывающихся точек между блоками.

scale{'default', 'linear', 'dB'}

Масштабирование значений в spec. 'linear' — без масштабирования. 'dB' возвращает значения в логарифмическом масштабе (dB). При mode = 'psd' это мощность в dB (10 * log10). В противном случае — амплитуда в dB (20 * log10). 'default' — 'dB', если mode = 'psd' или 'magnitude', и 'linear' в противном случае. Должно быть 'linear', если mode = 'angle' или 'phase'.

Fcцелое число, по умолчанию: 0

Центральная частота x, которая смещает диапазон значений x на графике, отражая частотный диапазон, используемый при получении сигнала, а затем его фильтрации и сэмплировании до базовой полосы.

cmapColormap, по умолчанию: rcParams["image.cmap"] (по умолчанию: 'viridis')
xextentNone или (xmin, xmax)

Диапазон изображений по оси x. По умолчанию xmin устанавливается в левой границе первого бина (колонка spectrum), а xmax — в правой границе последнего бина. Обратите внимание, что при noverlap>0 ширина бинов меньше, чем у сегментов.

dataиндексируемый объект, необязательно

Если задано, следующие параметры также принимают строку s, которая интерпретируется как data[s] (если это не вызывает исключение):

x

**kwargs

Дополнительные ключевые аргументы передаются в imshow, что создаёт изображение specgram. Ключевой аргумент origin не поддерживается.

Возвращаемые значения:
spectrumдвумерный массив

Столбцы — периодограммы последовательных сегментов.

freqsодномерный массив

Частоты, соответствующие строкам в spectrum.

tодномерный массив

Времена, соответствующие срединным точкам сегментов (т.е. столбцам в spectrum).

imAxesImage

Изображение, созданное с помощью imshow, содержащее спектрограмму.

См. также

psd

Отличается по умолчанию перекрытием; по возврату среднего значения периодограмм сегментов; по отсутствию возврата времен; и по генерации линейного графика вместо цветовой карты.

magnitude_spectrum

Один спектр, аналогично одному сегменту при mode = 'magnitude'. Строит линию вместо цветовой карты.

angle_spectrum

Один спектр, аналогично одному сегменту при mode = 'angle'. Строит линию вместо цветовой карты.

phase_spectrum

Один спектр, аналогично одному сегменту при mode = 'phase'. Строит линию вместо цветовой карты.

Примечания

Параметры detrend и scale_by_freq применяются только тогда, когда mode установлен в 'psd'.

Примеры использования matplotlib.pyplot.specgram

Демонстрация спектрограммы

Демонстрация спектрограммы

© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.7.5/api/_as_gen/matplotlib.pyplot.specgram.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API