Spec-Zone.ru › Matplotlib 3.5

matplotlib.axes.Axes.specgram

Axes.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целое число, необязательно

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

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

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

detrend{'none', 'mean', 'linear'} или вызываемый объект, по умолчанию: 'none'

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

scale_by_freqbool, по умолчанию: True

Указывает, следует ли масштабировать возвращаемые значения плотности с учётом частоты масштабирования, что даёт плотность в единицах Hz^-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.axes.Axes.specgram

Spectrogram Demo

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

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

Spec-Zone.ru

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