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) -
Построение спектрограммы.
Вызов функции:
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 : одномерный массив или последовательность
Массив или последовательность, содержащие данные.
Fs : скаляр
Частота дискретизации (образцов в единицу времени). Используется для вычисления частот Фурье, freqs, в циклах за единицу времени. Значение по умолчанию — 2.
window : вызываемая функция или массив
Функция или вектор длиной 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 : целое число
Количество точек, до которых заполняется сегмент данных при выполнении FFT. Это может отличаться от NFFT, которое определяет количество точек данных, используемых. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешаемыми пиками), это может дать больше точек на графике, что позволит получить больше деталей. Соответствует параметру n в вызове fft(). По умолчанию None, который устанавливает pad_to равным NFFT
NFFT : целое число
Количество точек данных, используемых в каждом блоке для FFT. Мощность 2 является наиболее эффективной. Значение по умолчанию — 256. Не следует использовать для получения нулевого заполнения, или масштабирование результата будет некорректным. Для этого используйте pad_to.
detrend : {‘default’, ‘constant’, ‘mean’, ‘linear’, ‘none’} или вызываемая функция
Функция, применяемая к каждому сегменту перед вычислением fft, предназначенная для удаления среднего значения или линейной тенденции. В отличие от MATLAB, где параметр detrend является вектором, в matplotlib он является функцией. Модуль
pylabопределяетdetrend_none(),detrend_mean(), иdetrend_linear(), но также можно использовать пользовательскую функцию. Можно также использовать строку для выбора одной из функций. ‘default’, ‘constant’ и ‘mean’ вызываютdetrend_mean(). ‘linear’ вызываетdetrend_linear(). ‘none’ вызываетdetrend_none().scale_by_freq : булево значение, необязательно
Указывает, следует ли масштабировать возвращаемые значения плотности с учётом масштаба частоты, что даёт плотность в единицах Hz^-1. Это позволяет производить интегрирование по возвращённым значениям частоты. По умолчанию True для совместимости с MATLAB.
mode : [ ‘default’ | ‘psd’ | ‘magnitude’ | ‘angle’ | ‘phase’ ]
Какой тип спектра использовать. Значение по умолчанию — ‘psd’, которое возвращает плотность спектральной мощности. ‘complex’ возвращает комплекснозначный спектр частот. ‘magnitude’ возвращает спектр величин. ‘angle’ возвращает спектр фаз без развёртывания. ‘phase’ возвращает спектр фаз с развёртыванием.
noverlap : целое число
Количество перекрывающихся точек между блоками. Значение по умолчанию — 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 : целое число
Центральная частота x (по умолчанию 0), которая смещает x-диапазон графика для отражения диапазона частот, используемого при получении сигнала, а затем его фильтрации и сэмплирования до базовой полосы.
cmap :
Экземпляр
matplotlib.colors.Colormap; если None, используется значение по умолчанию, определяемое rcxextent : [None | (xmin, xmax)]
Диапазон изображения по оси x. Значение по умолчанию устанавливает xmin на левой границе первого бина (колонка spectrum) и xmax на правой границе последнего бина. Обратите внимание, что при noverlap>0 ширина бинов меньше, чем у сегментов.
**kwargs :
Дополнительные kwargs передаются в imshow, что создаёт изображение specgram
Возвращаемые значения: spectrum : двумерный массив
Столбцы — периодограммы последовательных сегментов.
freqs : одномерный массив
Частоты, соответствующие строкам в spectrum.
t : одномерный массив
Временные метки, соответствующие серединам сегментов (т. е. столбцам в spectrum).
im : экземпляр класса
AxesImageИзображение, созданное imshow, содержащее спектрограмму
См. также
-
psd() -
psd()отличается по умолчанию перекрытием; по возвращению среднего значения периодограмм сегментов; по отсутствию возвращаемых временных меток; и по генерации линейного графика вместо цветовой карты. -
magnitude_spectrum() - Один спектр, аналогично одному сегменту, когда mode — ‘magnitude’. Строит линию вместо цветовой карты.
-
angle_spectrum() - Один спектр, аналогично одному сегменту, когда mode — ‘angle’. Строит линию вместо цветовой карты.
-
phase_spectrum() - Один спектр, аналогично одному сегменту, когда mode — ‘phase’. Строит линию вместо цветовой карты.
- Помимо описанных выше аргументов, эта функция может принимать аргумент data. Если такой аргумент data задан, следующие аргументы заменяются на data[<arg>]: * Все аргументы с именами: ‘x’.
Примечания
detrend и scale_by_freq применяются только когда mode установлено в ‘psd’
-
© 2012–2017 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
http://matplotlib.org/2.1.0/api/_as_gen/matplotlib.axes.Axes.specgram.html