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 графика, чтобы отразить диапазон частот, используемых при получении сигнала, а затем его фильтрации и дискретизации до базовой полосы.
-
cmap
Colormap, по умолчанию: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).
-
im
AxesImage -
Изображение, созданное 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