Spec-Zone.ru › Matplotlib 3.3

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

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

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

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

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

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

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

**kwargs

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

Возвращает:
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.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.3.3/api/_as_gen/matplotlib.pyplot.specgram.html

Spec-Zone.ru

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