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] -
Построить спектrogramm.
Вызов:
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)Вычислить и отобразить спектrogramm данных в x. Данные разбиваются на сегменты длиной NFFT, и вычисляется спектр каждого сегмента. Функция окон window применяется к каждому сегменту, а количество перекрытия каждого сегмента указывается с помощью noverlap. Спектrogramm отображается как цветовая карта (с использованием 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 : integer -
Количество точек, до которых заполняется сегмент данных при выполнении БПФ. Это может отличаться от NFFT, которое указывает количество точек данных, используемых. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешимыми пиками), это может дать больше точек на графике, что позволит получить больше деталей. Это соответствует параметру n в вызове fft(). Значение по умолчанию — None, которое устанавливает pad_to равным NFFT
-
NFFT : integer -
Количество точек данных, используемых в каждом блоке для БПФ. Степень двойки наиболее эффективна. Значение по умолчанию — 256. Это НЕЛЬЗЯ использовать для получения нулевого заполнения, иначе масштабирование результата будет неправильным. Для этого используйте pad_to.
-
detrend : {'default', 'constant', 'mean', 'linear', 'none'} or callable -
Функция, применяемая к каждому сегменту перед выполнением БПФ, предназначенная для удаления среднего значения или линейной тенденции. В отличие от MATLAB, где параметр detrend — вектор, в matplotlib он — функция. Модуль
pylabопределяетdetrend_none(),detrend_mean(), иdetrend_linear(), но вы также можете использовать пользовательскую функцию. Вы также можете использовать строку для выбора одной из функций. 'default', 'constant', и 'mean' вызываютdetrend_mean(). 'linear' вызываетdetrend_linear(). 'none' вызываетdetrend_none(). -
scale_by_freq : boolean, optional -
Указывает, должны ли возвращаемые значения плотности масштабироваться с частотой масштабирования, что дает плотность в единицах Hz^-1. Это позволяет интегрировать возвращаемые значения частоты. Значение по умолчанию — True для совместимости с MATLAB.
-
mode : [ 'default' | 'psd' | 'magnitude' | 'angle' | 'phase' ] -
Какой тип спектра использовать. Значение по умолчанию — 'psd', которое принимает спектральную плотность мощности. 'complex' возвращает комплекснозначный спектр частоты. 'magnitude' возвращает спектр величины. 'angle' возвращает фазовый спектр без распаковки. 'phase' возвращает фазовый спектр с распаковкой.
-
noverlap : integer -
Количество перекрывающихся точек между блоками. Значение по умолчанию — 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 : integer -
Центральная частота x (по умолчанию 0), которая смещает x-пределы графика, чтобы отразить диапазон частот, используемый при получении сигнала, а затем фильтровании и сэмплировании до базовой полосы.
- cmap :
-
Объект
matplotlib.colors.Colormap; если None, используется значение по умолчанию, определяемое rc -
xextent : [None | (xmin, xmax)] -
Диапазон изображения по оси x. Значение по умолчанию устанавливает xmin в левый край первого бина (столбец spectrum) и xmax в правый край последнего бина. Обратите внимание, что для noverlap>0 ширина бинов меньше, чем у сегментов.
- **kwargs :
-
Дополнительные kwargs передаются в imshow, чтобы создать изображение specgramm
Возвращает: -
spectrum : 2-D array -
Столбцы — периодограммы последовательных сегментов.
-
freqs : 1-D array -
Частоты, соответствующие строкам в spectrum.
-
t : 1-D array -
Время, соответствующее серединам сегментов (т. е. столбцам в spectrum).
-
im : instance of class AxesImage -
Изображение, созданное imshow, содержащее спектrogramm
См. также
-
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'.
-
Примеры использования matplotlib.axes.Axes.specgram
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/2.2.3/api/_as_gen/matplotlib.axes.Axes.specgram.html