Spec-Zone.ru › Matplotlib 3.4

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

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

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, необязательно

Количество точек, до которого дополняются данные сегмента при выполнении БПФ. Может отличаться от NFFT, которое определяет количество точек данных, используемых. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешаемыми пиками), это может дать больше точек на графике, что позволит более детально отобразить результаты. Соответствует параметру n в вызове fft(). По умолчанию None, что устанавливает pad_to равным NFFT.

NFFTint, по умолчанию: 256

Количество точек данных, используемых в каждом блоке для БПФ. Степень двойки наиболее эффективна. Не следует использовать для добавления нулей, так как это повлияет на масштабирование результата; используйте pad_to для этого вместо этого.

detrend{'none', 'mean', 'linear'} или функция, по умолчанию: 'none'

Функция, применяемая к каждому сегменту перед БПФ, предназначенная для удаления среднего значения или линейной тенденции. В отличие от 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.

END_OF_DOCUMENT_MARKER
Другие параметры:
**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 цвет
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 или целое число или (целое число, целое число) или срез или список целых чисел или вещественное число или (вещественное число, вещественное число) или список булевых значений
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 -- Случайные данные: процедуры анализа и измерения, John Wiley & Sons (1986)

Примечание

В дополнение к вышеописанным аргументам эта функция может принять аргумент data. Если такой аргумент data задан, следующие аргументы также могут быть строками s, которые интерпретируются как data[s] (если это не вызывает исключение): x.

Объекты, переданные как data, должны поддерживать доступ к элементам (data[s]) и проверку на членство (s in data).

Примеры использования matplotlib.pyplot.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.pyplot.psd.html

Spec-Zone.ru

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