Spec-Zone.ru › Matplotlib

matplotlib.pyplot.psd

matplotlib.pyplot.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'}, необязательно

Какие стороны спектра возвращать. 'default' - односторонняя для вещественных данных и двухсторонняя для комплексных данных. 'onesided' принудительно возвращает односторонний спектр, 'twosided' - двухсторонний.

pad_toint, необязательно

Количество точек, до которых заполняется сегмент данных при выполнении FFT. Может отличаться от NFFT, которое определяет количество точек данных, используемых. Не следует использовать для нулевого заполнения, так как это повлияет на масштабирование результата; для этого используйте pad_to. По умолчанию None, что устанавливает pad_to равным 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

Функция фильтра, которая принимает (m, n, 3) массив чисел с плавающей точкой и значение dpi, и возвращает (m, n, 3) массив и два смещения от левого нижнего угла изображения

alpha

скаляр или None

animated

bool

antialiased или aa

bool

clip_box

BboxBase или None

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

строка

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

строка

visible

булево

xdata

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

ydata

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

zorder

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

См. также

specgram

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

magnitude_spectrum

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

csd

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

Примечания

Примечание

Это обёртка pyplot для axes.Axes.psd.

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

Ссылки

Bendat & Piersol -- Случайные данные: методы анализа и измерения, John Wiley & Sons (1986)

© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.psd.html

Spec-Zone.ru

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