matplotlib.axes.Axes.psd
-
Axes.psd(self, 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.
Параметры: -
x1-D array or sequence -
Массив или последовательность, содержащая данные
-
Fsscalar -
Частота дискретизации (образец в единицу времени). Используется для вычисления частот Фурье, freqs, в циклах на единицу времени. Значение по умолчанию — 2.
-
windowcallable 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_toint -
Количество точек, до которых дополняются нулями сегменты данных при выполнении FFT. Это может отличаться от NFFT, которое определяет количество точек данных, используемых. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешимыми пиками), это может дать больше точек в графике, что позволит получить больше деталей. Это соответствует параметру n в вызове fft(). Значение по умолчанию — None, что устанавливает pad_to равным NFFT.
-
NFFTint -
Количество точек данных, используемых в каждом блоке для FFT. Мощность 2 является наиболее эффективной. Значение по умолчанию — 256. Не следует использовать для получения нулевого дополнения, так как масштабирование результата будет некорректным. Для этого используйте pad_to.
-
detrend{'none', 'mean', 'linear'} or callable, default 'none' -
Функция, применяемая к каждому сегменту перед выполнением FFT, предназначенная для удаления среднего значения или линейной тенденции. В отличие от MATLAB, где параметр detrend является вектором, в Matplotlib он является функцией. Модуль
mlabопределяетdetrend_none,detrend_meanиdetrend_linear, но вы также можете использовать пользовательскую функцию. Вы также можете использовать строку для выбора одной из функций: 'none' вызываетdetrend_none, 'mean' вызываетdetrend_mean, 'linear' вызываетdetrend_linear. -
scale_by_freqbool, optional -
Указывает, нужно ли масштабировать возвращаемые значения плотности с помощью масштабирующей частоты, что даёт плотность в единицах Hz^-1. Это позволяет интегрировать по возвращаемым значениям частоты. По умолчанию — True для совместимости с MATLAB.
-
noverlapint -
Количество перекрывающихся точек между сегментами. Значение по умолчанию — 0 (нет перекрытия).
-
Fcint -
Центральная частота x (по умолчанию 0), которая смещает область значений x графика, чтобы отразить диапазон частот, используемый при получении сигнала, а затем его фильтрации и понижения частоты до базовой полосы.
-
return_linebool -
Включать ли объект линии, нарисованный в возвращаемых значениях. Значение по умолчанию — False.
Возвращает: -
Pxx1-D array -
Значения спектра мощности
P_{xx}до масштабирования (вещественные значения). -
freqs1-D array -
Частоты, соответствующие элементам в Pxx.
-
lineLine2D -
Линия, созданная этой функцией. Возвращается только если return_line — True.
-
Другие параметры: - **kwargs
-
Ключевые аргументы управляют свойствами
Line2D:Свойство Описание agg_filterфункция фильтра, принимающая массив float (m, n, 3) и значение dpi, и возвращающая массив (m, n, 3) alphaчисло с плавающей точкой или None animatedбулево значение antialiasedили aaбулево значение clip_boxBboxclip_onбулево значение clip_pathОбъект Patch или (Path, Transform) или None colorили cцвет containsвызываемый объект dash_capstyle{'butt', 'round', 'projecting'} dash_joinstyle{'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_layoutбулево значение labelобъект linestyleили ls{'-', '--', '-.', ':', '', (смещение, последовательность вкл/выкл), ...} linewidthили lwчисло с плавающей точкой markerстиль маркера markeredgecolorили mecцвет markeredgewidthили mewчисло с плавающей точкой markerfacecolorили mfcцвет markerfacecoloraltили mfcaltцвет markersizeили msчисло с плавающей точкой markeveryNone или int или (int, int) или срез или Список[int] или float или (float, float) path_effectsAbstractPathEffectpickerчисло с плавающей точкой или вызываемый объект [[Artist, Event], Кортеж[bool, dict]] pickradiusчисло с плавающей точкой rasterizedбулево значение или None sketch_params(масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой) snapбулево значение или None solid_capstyle{'butt', 'round', 'projecting'} solid_joinstyle{'miter', 'round', 'bevel'} transformmatplotlib.transforms.Transformurlстрока visibleбулево значение xdataодномерный массив ydataодномерный массив zorderчисло с плавающей точкой
См. также
-
specgram() -
specgram()отличается по умолчанию перекрытием; не возвращает среднее значение периодограмм отрезков; возвращает время отрезков; и строит цветовое отображение вместо линии. -
magnitude_spectrum() -
magnitude_spectrum()строит спектр величин. -
csd() -
csd()строит спектральную плотность между двумя сигналами.
Примечания
Для построения графика мощность выводится как \(10\log_{10}(P_{xx})\) для децибел, хотя само Pxx возвращается.
Ссылки
Bendat & Piersol -- Random Data: Analysis and Measurement Procedures, John Wiley & Sons (1986)
Примечание
Помимо вышеописанных аргументов, эта функция может принимать ключевой аргумент data. Если такой аргумент data задан, следующие аргументы заменяются на data[<arg>]:
- Все аргументы с именами: 'x'.
Объекты, переданные в качестве data, должны поддерживать доступ по элементам (
data[<arg>]) и проверку на членство (<arg> in data).-
Примеры использования matplotlib.axes.Axes.psd
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.2.2/api/_as_gen/matplotlib.axes.Axes.psd.html