Spec-Zone.ru › Matplotlib 3.7

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, необязательно

Число точек, до которого заполняется сегмент данных при выполнении FFT. Это может отличаться от NFFT, которое определяет количество точек данных, используемых.

NFFTint, по умолчанию: 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' возвращает спектр фазы с развёртыванием.

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

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

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

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

Spec-Zone.ru

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