Spec-Zone.ru › Matplotlib 3.7

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Одномерный массив или последовательность

Массив или последовательность, содержащая данные

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. Степень двойки обеспечивает максимальную эффективность. Не следует использовать для нулевого заполнения, так как масштабирование результата будет неверным; используйте 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.

noverlapint, по умолчанию: 0 (без перекрытия)

Количество перекрывающихся точек между сегментами.

Fcint, по умолчанию: 0

Центральная частота x, которая смещает области значений по оси x для отражения частотного диапазона, используемого при получении сигнала, а затем его фильтрации и понижении частоты до базовой полосы.

return_linebool, по умолчанию: False

Указывает, следует ли включать объект линии, нарисованной в возвращаемых значениях.

Возвращаемое значение:
PxxОдномерный массив

Значения спектральной плотности \(P_{xx}\) до масштабирования (вещественные значения).

freqsОдномерный массив

Частоты, соответствующие элементам в Pxx.

lineLine2D

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

Другие параметры:
dataиндексируемый объект, необязательно

Если задан, следующие параметры также принимают строку s, которая интерпретируется как data[s] (если это не вызывает исключение):

x

**kwargs

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

Свойство

Описание

agg_filter

функция фильтра, которая принимает массив float (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

цвет

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'}

gapcolor

цвет или None

gid

str

in_layout

bool

label

объект

linestyle или ls

{'-', '--', '-.', ':', '', (смещение, последовательность включения/выключения), ...}

linewidth или lw

число с плавающей точкой

marker

строка стиля маркера, Path или MarkerStyle

markeredgecolor или mec

цвет

markeredgewidth или mew

число с плавающей точкой

markerfacecolor или mfc

цвет

markerfacecoloralt или mfcalt

цвет

markersize или ms

число с плавающей точкой

markevery

None или целое число или (целое число, целое число) или срез или список целых чисел или число с плавающей точкой или (число с плавающей точкой, число с плавающей точкой) или список bool

mouseover

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

неизвестно

url

str

visible

bool

xdata

одномерный массив

ydata

Одномерный массив

zorder

вещественное число

См. также

specgram

Отличается по умолчанию перекрытием; не возвращает среднее значение сегментных периодограмм; возвращает время сегментов; и строит цветовое отображение вместо линии.

magnitude_spectrum

Строит спектр величин.

csd

Строит спектральную плотность между двумя сигналами.

Примечания

Для построения мощность отображается как \(10\log_{10}(P_{xx})\) в децибелах, хотя само Pxx возвращается.

Ссылки

Бендат и Пирсол — Случайные данные: методы анализа и измерения, John Wiley & Sons (1986)

Примеры использования matplotlib.axes.Axes.psd

Демонстрация PSD

Демонстрация PSD

© 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.psd.html

Spec-Zone.ru

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