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_boxBboxclip_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' figureFigurefillstyle{'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вещественное число markeveryNone или целое число или (целое число, целое число) или срез или список [целое число] или вещественное число или (вещественное число, вещественное число) path_effectsAbstractPathEffectpickerвещественное число или вызываемый объект [[Художник, Событие], Кортеж[логическое значение, словарь]] pickradiusвещественное число rasterizedлогическое значение или None sketch_params(масштаб: вещественное число, длина: вещественное число, случайность: вещественное число) snapлогическое значение или None solid_capstyle{'butt', 'round', 'projecting'} solid_joinstyle{'miter', 'round', 'bevel'} transformmatplotlib.transforms.Transformurlстрока 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