Spec-Zone.ru › Matplotlib 3.2

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]

Построение спектрограммы.

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

Параметры:
x1-D array or sequence

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

Fsscalar

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

windowcallable or ndarray

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

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

Определяет, какие стороны спектра возвращать. Значение по умолчанию обеспечивает стандартное поведение: односторонний спектр для вещественных данных и двусторонний для комплексных. 'onesided' принудительно возвращает односторонний спектр, а 'twosided' — двусторонний.

pad_toint

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

NFFTint

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

detrend{'none', 'mean', 'linear'} or callable, default 'none'

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

scale_by_freqbool, optional

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

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

cmap

Экземпляр matplotlib.colors.Colormap; если None, используется значение по умолчанию, определяемое rc

xextentNone or (xmin, xmax)

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

**kwargs

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

Возвращает:
spectrum2-D array

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

freqs1-D array

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

t1-D array

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

iminstance of class AxesImage

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

См. также

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

Примечания

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

Примечание

Помимо описанных выше аргументов, эта функция может принимать аргумент data. Если такой аргумент data предоставлен, следующие аргументы заменяются data[<arg>]:

  • Все аргументы с такими именами: 'x'.

Объекты, передаваемые как data, должны поддерживать доступ по элементам (data[<arg>]) и проверку на членство (<arg> 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.2.2/api/_as_gen/matplotlib.axes.Axes.specgram.html

Spec-Zone.ru

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