Spec-Zone.ru › Matplotlib 3.2

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).

Параметры:
x1-D array or sequence

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

Fsscalar

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

windowcallable or ndarray

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

sides{'default', 'onesided', 'twosided'}

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

pad_toint

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

NFFTint

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

detrend{'none', 'mean', 'linear'} or callable, default 'none'

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

scale_by_freqbool, optional

Указывает, должны ли возвращаемые значения плотности масштабироваться с учётом частоты масштабирования, что даёт плотность в единицах Hz^-1. Это позволяет для интегрирования по возвращаемым значениям частот. Значение по умолчанию — True для совместимости с MATLAB.

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

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

noverlapint

Количество перекрывающихся точек между блоками. Значение по умолчанию — 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'.

Fcint

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

cmap

Объект matplotlib.colors.Colormap; если None, используется значение по умолчанию, задаваемое rc

xextentNone or (xmin, xmax)

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

**kwargs

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

Возвращает:
spectrum2-D array

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

freqs1-D array

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

t1-D array

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

iminstance of class AxesImage

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

См. также

psd()
psd() отличается значением перекрытия по умолчанию; возвращает среднее значение периодограмм сегмента; не возвращает время; и генерирует линейный график вместо цветовой карты.
magnitude_spectrum()
Один спектр, аналогично одному сегменту, когда mode — 'magnitude'. Строит линию вместо цветовой карты.
angle_spectrum()
Один спектр, аналогично одному сегменту, когда mode — 'angle'. Строит линию вместо цветовой карты.
phase_spectrum()
Один спектр, аналогично одному сегменту, когда mode — 'phase'. Строит линию вместо цветовой карты.

Примечания

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

Примечание

В дополнение к вышеописанным аргументам, эта функция может принимать ключевой аргумент data. Если такой аргумент data предоставлен, следующие аргументы заменяются на data[<arg>]:

  • Все аргументы с следующими именами: 'x'.

Объекты, передаваемые как data, должны поддерживать доступ к элементам (data[<arg>]) и проверку принадлежности (<arg> in data).

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

Spectrogram Demo

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

Sample plots in Matplotlib

Примеры графиков в Matplotlib

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

Spec-Zone.ru

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