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_boxBboxclip_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' figureFigurefillstyle{'full', 'left', 'right', 'bottom', 'top', 'none'} gidстрока in_layoutлогическое значение labelобъект linestyleили ls{'-', '--', '-.', ':', '', (смещение, последовательность включения-выключения), ...} linewidthили lwчисло с плавающей точкой markerстрока стиля маркера, PathилиMarkerStylemarkeredgecolorили 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 - Отличается по умолчанию перекрытием; не возвращает среднее значение сегментных периодограмм; возвращает время сегментов; и строит цветовой карту вместо линии.
-
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
© 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