Spec-Zone.ru › Matplotlib 3.8

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.

Параметры:
x1-D массив или последовательность

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

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 для этого вместо этого. Соответствует параметру n в вызове fft. По умолчанию None, что устанавливает pad_to равным NFFT.

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

Если значения плотности должны быть отмасштабированы по масштабу частоты, что даёт плотность в единицах 1/Гц. Это позволяет интегрировать значения частоты.

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

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

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

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

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

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

Возвращает:
Pxx1-D массив

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

freqs1-D массив

Частоты, соответствующие элементам в 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) массив или два 1D массива

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 или целое число или (целое число, целое число) или срез или список целых чисел или число с плавающей точкой или (число с плавающей точкой, число с плавающей точкой) или список булевых значений

mouseover

bool

path_effects

список AbstractPathEffect

picker

число с плавающей точкой или вызываемый объект[[Художник, Событие], кортеж[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

bool

xdata

1D массив

ydata

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

zorder

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

См. также

specgram

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

magnitude_spectrum

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

csd

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

Примечания

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

Ссылки

Bendat & Piersol -- Random Data: Analysis and Measurement Procedures, John Wiley & Sons (1986)

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

Spec-Zone.ru

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