Spec-Zone.ru › Matplotlib 3.3

matplotlib.axes.Axes.specgram

Axes.specgram(self, 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]

Построить спектrogramму.

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

Parameters:
x1-D array or sequence

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

Fsfloat, default: 2

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

windowcallable or ndarray, default: window_hanning

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

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

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

pad_toint, optional

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

NFFTint, default: 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, default: True

Следует ли масштабировать результирующие значения плотности с помощью частоты масштабирования, что дает плотность в единицах Гц^-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, default: 0

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

cmapColormap, default: rcParams["image.cmap"] (default: 'viridis')
xextentNone or (xmin, xmax)

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

**kwargs**

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

Returns:
spectrum2-D array

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

freqs1-D array

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

t1-D array

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

imAxesImage

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

См. также

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

Примечания

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

Примечание

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

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

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

Spectrogram Demo

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

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

Spec-Zone.ru

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