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