Spec-Zone.ru › Matplotlib 3.1

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 : 1-D array or sequence

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

Fs : scalar

Частота дискретизации (образцов в единицу времени). Используется для вычисления частот Фурье, freqs, в циклах за единицу времени. Значение по умолчанию — 2.

window : callable or ndarray

Функция или вектор длиной NFFT. Для создания векторов окна см. window_hanning, window_none, numpy.blackman, numpy.hamming, numpy.bartlett, scipy.signal, scipy.signal.get_window и т. д. Значение по умолчанию — window_hanning. Если в качестве аргумента передана функция, она должна принимать сегмент данных и возвращать его обработанную версию с применением окна.

sides : {'default', 'onesided', 'twosided'}

Определяет, какие стороны спектра возвращать. По умолчанию используется поведение по умолчанию, которое возвращает односторонний спектр для вещественных данных и двусторонний для комплексных. 'onesided' принудительно возвращает односторонний спектр, 'twosided' — двусторонний.

pad_to : int

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

NFFT : int

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

detrend : {'none', 'mean', 'linear'} or callable, default 'none'

Функция, применяемая к каждому сегменту перед БПФ, предназначенная для удаления среднего значения или линейной тенденции. В отличие от MATLAB, где параметр detrend является вектором, в Matplotlib он является функцией. Модуль mlab определяет detrend_none, detrend_mean и detrend_linear, но вы также можете использовать пользовательскую функцию. Можно также использовать строку для выбора одной из функций: 'none' вызывает detrend_none. 'mean' вызывает detrend_mean. 'linear' вызывает detrend_linear.

scale_by_freq : bool, optional

Указывает, нужно ли масштабировать значения плотности с учётом частоты масштабирования, что обеспечивает плотность в единицах Hz^-1. Это позволяет интегрировать по возвращённым значениям частоты. По умолчанию True для совместимости с MATLAB.

noverlap : int

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

Fc : int

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

return_line : bool

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

Возвращаемые значения:
Pxx : 1-D array

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

freqs : 1-D array

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

line : a Line2D instance

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

Дополнительные параметры:
**kwargs

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

Свойство Описание
agg_filter функция фильтра, которая принимает массив чисел с плавающей точкой (m, n, 3) и значение dpi, а возвращает массив чисел с плавающей точкой (m, n, 3)
alpha вещественное число
animated логическое значение
antialiased или aa логическое значение
clip_box Bbox
clip_on логическое значение
clip_path [(Path, Transform) | Patch | None]
color или c цвет
contains вызываемая функция
dash_capstyle {'butt', 'round', 'projecting'}
dash_joinstyle {'miter', 'round', 'bevel'}
dashes последовательность чисел с плавающей точкой (чернила/пробелы в пунктах) или (None, None)
drawstyle или ds {'default', 'steps', 'steps-pre', 'steps-mid', 'steps-post'}, по умолчанию: 'default'
figure Figure
fillstyle {'full', 'left', 'right', 'bottom', 'top', 'none'}
gid строка
in_layout логическое значение
label объект
linestyle или ls {'-', '--', '-.', ':', '', (смещение, последовательность вкл/выкл), ...}
linewidth или lw вещественное число
marker стиль маркера
markeredgecolor или mec цвет
markeredgewidth или mew вещественное число
markerfacecolor или mfc цвет
markerfacecoloralt или mfcalt цвет
markersize или ms вещественное число
markevery None или целое число или (целое число, целое число) или срез или Список[int] или вещественное число или (вещественное число, вещественное число)
path_effects AbstractPathEffect
picker вещественное число или вызываемая функция [[Художник, Событие], Кортеж[логическое значение, словарь]]
pickradius вещественное число
rasterized логическое значение или None
sketch_params (масштаб: вещественное число, длина: вещественное число, случайность: вещественное число)
snap логическое значение или None
solid_capstyle {'butt', 'round', 'projecting'}
solid_joinstyle {'miter', 'round', 'bevel'}
transform matplotlib.transforms.Transform
url строка
visible логическое значение
xdata одномерный массив
ydata одномерный массив
zorder вещественное число

См. также

specgram()
specgram() отличается по умолчанию перекрытием; не возвращает среднее значение периодограмм сегмента; возвращает время сегментов; и строит цветовой карту вместо линии.
magnitude_spectrum()
magnitude_spectrum() строит спектр амплитуд.
csd()
csd() строит спектральную плотность между двумя сигналами.

Примечания

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

Ссылки

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

Примечание

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

  • Все аргументы с следующими именами: 'x'.

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

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

../../_images/sphx_glr_psd_demo_thumb.png

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

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

Spec-Zone.ru

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