matplotlib.axes.Axes.psd
-
Axes.psd(x, NFFT=None, Fs=None, Fc=None, detrend=None, window=None, noverlap=None, pad_to=None, sides=None, scale_by_freq=None, return_line=None, *, data=None, **kwargs)[source] -
Построение плотности спектральной мощности.
Плотность спектральной мощности \(P_{xx}\) методом усреднённого периодограммы Уэлча. Вектор x делится на сегменты длиной NFFT. Каждый сегмент обрабатывается функцией detrend и оконной функцией window. noverlap задаёт длину перекрытия между сегментами. \(|\mathrm{fft}(i)|^2\) каждого сегмента \(i\) усредняются для вычисления \(P_{xx}\) с учётом потери мощности из-за применения окна.
Если длина (len(x)) меньше NFFT, данные дополняются нулями до NFFT.
Параметры: - 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'}, optional
-
Какие стороны спектра вернуть. 'default' — односторонняя для вещественных данных и двухсторонняя для комплексных. 'onesided' — односторонняя, 'twosided' — двухсторонняя.
- pad_toint, optional
-
Количество точек, до которых дополняются нулями сегменты данных при выполнении FFT. Может отличаться от NFFT, которое определяет количество точек данных, используемых. Не следует использовать для нулевого заполнения, т.к. это повлияет на масштабирование результата; используйте pad_to для этого вместо.
- 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
-
Масштабировать ли полученные значения плотности с учётом частоты, что даёт плотность в единицах Hz^-1. Это позволяет интегрировать по возвращённым частотам. По умолчанию True для совместимости с MATLAB.
- noverlapint, по умолчанию: 0 (без перекрытия)
-
Количество перекрывающихся точек между сегментами.
- Fcint, по умолчанию: 0
-
Центральная частота x, которая смещает диапазон по оси x графика, чтобы отразить используемый диапазон частот при получении сигнала, а затем его фильтрации и дискретизации до базовой полосы.
- return_linebool, по умолчанию: False
-
Включать ли объект линии, нарисованной этой функцией, в возвращаемые значения.
Возвращает: - PxxОдномерный массив
-
Значения спектральной мощности \(P_{xx}\) до масштабирования (вещественные).
- freqsОдномерный массив
-
Частоты, соответствующие элементам в Pxx.
-
line
Line2D -
Линия, созданная этой функцией. Возвращается только если return_line равно True.
Другие параметры: - **kwargs
-
Параметры ключевого слова управляют свойствами
Line2D:Свойство Описание agg_filterфункция фильтра, которая принимает массив с плавающей точкой (m, n, 3) и значение dpi, и возвращает массив (m, n, 3) alphaскаляр или None animatedbool antialiasedили aabool clip_boxBboxclip_onbool clip_pathОбъект Patch или (Path, Transform) или None colorили cцвет containsнеизвестно dash_capstyleCapStyleили {'butt', 'projecting', 'round'}dash_joinstyleJoinStyleили {'miter', 'round', 'bevel'}dashesпоследовательность чисел с плавающей точкой (чернила включено/выключено в точках) или (None, None) dataмассив (2, N) или два одномерных массива drawstyleили ds{'default', 'steps', 'steps-pre', 'steps-mid', 'steps-post'}, по умолчанию: 'default' figureFigurefillstyle{'full', 'left', 'right', 'bottom', 'top', 'none'} gidстрока in_layoutbool labelобъект linestyleили ls{'-', '--', '-.', ':', '', (смещение, последовательность включения-выключения), ...} linewidthили lwчисло с плавающей точкой markerстрока стиля маркера, PathилиMarkerStylemarkeredgecolorили mecцвет markeredgewidthили mewчисло с плавающей точкой markerfacecolorили mfcцвет markerfacecoloraltили mfcaltцвет markersizeили msчисло с плавающей точкой markeveryNone или int или (int, int) или slice или список[int] или число с плавающей точкой или (число с плавающей точкой, число с плавающей точкой) или список[bool] path_effectsAbstractPathEffectpickerчисло с плавающей точкой или вызываемая функция [[Artist, Event], кортеж[bool, dict]] pickradiusчисло с плавающей точкой rasterizedbool sketch_params(масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой) snapbool или None solid_capstyleCapStyleили {'butt', 'projecting', 'round'}solid_joinstyleJoinStyleили {'miter', 'round', 'bevel'}transformmatplotlib.transforms.Transformurlстрока visiblebool xdataодномерный массив ydataодномерный массив zorderчисло с плавающей точкой
См. также
specgram- Отличается по умолчанию перекрытием; не возвращает среднее значение периодограмм сегмента; возвращает временные метки сегментов; и отображает цветовые карты вместо линий.
magnitude_spectrum- Выводит спектр по величине.
csd- Выводит спектральную плотность между двумя сигналами.
Примечания
Для построения графиков мощность отображается как \(10\log_{10}(P_{xx})\) для децибел, хотя само Pxx возвращается.
Ссылки
Bendat & Piersol -- Random Data: Analysis and Measurement Procedures, John Wiley & Sons (1986)
Примечание
В дополнение к вышеописанным аргументам, эта функция может принимать ключевой аргумент data. Если такой аргумент data задан, следующие аргументы также могут быть строками
s, которые интерпретируются какdata[s](если это не вызывает исключения): x.Объекты, переданные как data, должны поддерживать доступ к элементам (
data[s]) и проверку на вхождение (s in data).
Примеры использования matplotlib.axes.Axes.psd
© 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.psd.html