Spec-Zone.ru › Matplotlib 3.8

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

Количество точек, до которого дополняется сегмент данных при выполнении 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

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

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

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

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

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

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

Масштабирование значений в spec. 'linear' — без масштабирования. '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.8.4/api/_as_gen/matplotlib.pyplot.specgram.html

Spec-Zone.ru

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