Spec-Zone.ru › Matplotlib 3.3

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.

Параметры:
x1-D array or sequence

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

Fsfloat, default: 2

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

windowcallable or ndarray, default: window_hanning

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

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

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

pad_toint, optional

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

NFFTint, default: 256

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

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

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

scale_by_freqbool, default: True

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

noverlapint, default: 0 (no overlap)

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

Fcint, default: 0

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

return_linebool, default: False

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

Возвращает:
Pxx1-D array

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

freqs1-D array

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

lineLine2D

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

Другие параметры:
**kwargs

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

Свойство Описание
agg_filter функция фильтра, которая принимает массив чисел с плавающей точкой (m, n, 3) и значение dpi, и возвращает массив чисел с плавающей точкой (m, n, 3)
alpha число с плавающей точкой или None
animated логическое значение
antialiased или aa логическое значение
clip_box Bbox
clip_on логическое значение
clip_path Объект Patch или (Path, Transform) или None
color или c цвет
contains неизвестно
dash_capstyle {'butt', 'round', 'projecting'}
dash_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 логическое значение
label объект
linestyle или ls {'-', '--', '-.', ':', '', (смещение, последовательность включения-выключения), ...}
linewidth или lw число с плавающей точкой
marker строка стиля маркера, Path или MarkerStyle
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
Отличается по умолчанию перекрытием; не возвращает среднее значение сегментных периодограмм; возвращает время сегментов; и строит цветовой карту вместо линии.
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.axes.Axes.psd

Psd Demo

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

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

Spec-Zone.ru

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