Spec-Zone.ru › Matplotlib 3.1

matplotlib.axes.Axes.psd

Axes.psd(self, 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

Количество точек данных, используемых в каждом блоке для БПФ. Мощность 2 наиболее эффективна. Значение по умолчанию — 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 или целое число или (целое число, целое число) или срез или список [целое число] или вещественное число или (вещественное число, вещественное число)
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 -- Случайные данные: методы анализа и измерения, John Wiley & Sons (1986)

Примечание

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

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

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

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

Spec-Zone.ru

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