Spec-Zone.ru › Matplotlib 3.4

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.

lineLine2D

Линия, созданная этой функцией. Возвращается только если return_line равно True.

Другие параметры:
**kwargs

Параметры ключевого слова управляют свойствами Line2D:

Свойство Описание
agg_filter функция фильтра, которая принимает массив с плавающей точкой (m, n, 3) и значение dpi, и возвращает массив (m, n, 3)
alpha скаляр или None
animated bool
antialiased или aa bool
clip_box Bbox
clip_on bool
clip_path Объект Patch или (Path, Transform) или None
color или c цвет
contains неизвестно
dash_capstyle CapStyle или {'butt', 'projecting', 'round'}
dash_joinstyle 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 bool
label объект
linestyle или ls {'-', '--', '-.', ':', '', (смещение, последовательность включения-выключения), ...}
linewidth или lw число с плавающей точкой
marker строка стиля маркера, Path или MarkerStyle
markeredgecolor или mec цвет
markeredgewidth или mew число с плавающей точкой
markerfacecolor или mfc цвет
markerfacecoloralt или mfcalt цвет
markersize или ms число с плавающей точкой
markevery None или int или (int, int) или slice или список[int] или число с плавающей точкой или (число с плавающей точкой, число с плавающей точкой) или список[bool]
path_effects AbstractPathEffect
picker число с плавающей точкой или вызываемая функция [[Artist, Event], кортеж[bool, dict]]
pickradius число с плавающей точкой
rasterized bool
sketch_params (масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой)
snap bool или None
solid_capstyle CapStyle или {'butt', 'projecting', 'round'}
solid_joinstyle JoinStyle или {'miter', 'round', 'bevel'}
transform matplotlib.transforms.Transform
url строка
visible bool
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

Psd Demo

Демонстрация 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

Spec-Zone.ru

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