Spec-Zone.ru › Matplotlib 3.2

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_box Bbox
clip_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'
figure Figure
fillstyle {'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 число с плавающей точкой
markevery None или int или (int, int) или срез или Список[int] или float или (float, float)
path_effects AbstractPathEffect
picker число с плавающей точкой или вызываемый объект [[Artist, Event], Кортеж[bool, dict]]
pickradius число с плавающей точкой
rasterized булево значение или None
sketch_params (масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой)
snap булево значение или None
solid_capstyle {'butt', 'round', 'projecting'}
solid_joinstyle {'miter', 'round', 'bevel'}
transform matplotlib.transforms.Transform
url строка
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

Psd Demo

Демо 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API