Spec-Zone.ru › Matplotlib 3.0

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]

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

Вызов:

specgram(x, NFFT=256, Fs=2, Fc=0, detrend=mlab.detrend_none,
         window=mlab.window_hanning, noverlap=128,
         cmap=None, xextent=None, pad_to=None, sides='default',
         scale_by_freq=None, mode='default', scale='default',
         **kwargs)

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

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

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

Fs : scalar

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

window : callable 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_to : int

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

NFFT : int

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

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

Функция, применяемая к каждому сегменту перед fft-преобразованием, предназначенная для удаления среднего значения или линейной тенденции. В отличие от MATLAB, где параметр detrend — вектор, в matplotlib — функция. Модуль mlab определяет detrend_none(), detrend_mean() и detrend_linear(), но вы также можете использовать пользовательскую функцию. Вы можете использовать строку, чтобы выбрать одну из функций. 'default', 'constant' и 'mean' вызывают detrend_mean(). 'linear' вызывает detrend_linear(). 'none' вызывает detrend_none().

scale_by_freq : bool, optional

Указывает, должны ли возвращаемые значения плотности масштабироваться по частоте, что даёт плотность в единицах Hz^-1. Это позволяет интегрировать по возвращаемым значениям частоты. По умолчанию True для совместимости с MATLAB.

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

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

noverlap : int

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

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

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

Fc : int

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

cmap :

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

xextent : None or (xmin, xmax)

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

**kwargs :

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

Возвращаемые значения:
spectrum : 2-D array

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

freqs : 1-D array

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

t : 1-D array

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

im : instance 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

../../_images/sphx_glr_specgram_demo_thumb.png

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

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

Spec-Zone.ru

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