Spec-Zone.ru › Matplotlib 3.6

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Одномерный массив или последовательность

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

Fsfloat, по умолчанию: 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_toint, необязательно

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

NFFTint, по умолчанию: 256

Количество точек данных, используемых в каждом блоке для БПФ. Мощность 2 наиболее эффективна. Это НЕ следует использовать для нулевого заполнения, или масштабирование результата будет неверным; для этого используйте 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_freqbool, по умолчанию: True

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

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

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

noverlapint, по умолчанию: 128

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

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

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

Fcint, по умолчанию: 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 не поддерживается.

Возвращаемое значение:
spectrum2D массив

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

freqs1D массив

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

t1D массив

Время, соответствующее серединам сегментов (т.е., столбцам в 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–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.6.0/api/_as_gen/matplotlib.axes.Axes.specgram.html

Spec-Zone.ru

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