matplotlib.axes.Axes.psd
-
Axes.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] -
Построение плотности спектральной мощности.
Вызов функции:
psd(x, NFFT=256, Fs=2, Fc=0, detrend=mlab.detrend_none, window=mlab.window_hanning, noverlap=0, pad_to=None, sides='default', scale_by_freq=None, return_line=None, **kwargs)Плотность спектральной мощности
методом усреднения периодограммы Вельча. Вектор x делится на сегменты длиной NFFT. Каждый сегмент обрабатывается функцией detrend и окнуется функцией window. noverlap задаёт длину перекрытия между сегментами.
каждого сегмента
усредняются для вычисления
, с масштабированием для коррекции потерь мощности из-за окон. Если 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 : {'default', 'constant', 'mean', 'linear', 'none'} or callable -
Функция, применяемая к каждому сегменту перед преобразованием Фурье, предназначенная для удаления среднего значения или линейной тенденции. В отличие от MATLAB, где параметр detrend является вектором, в matplotlib он является функцией. Модуль
mlabопределяетdetrend_none(),detrend_mean()иdetrend_linear(), но вы также можете использовать пользовательскую функцию. Вы также можете использовать строку для выбора одной из функций. 'default', 'constant' и 'mean' вызываютdetrend_mean(). 'linear' вызываетdetrend_linear(). 'none' вызываетdetrend_none(). -
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функция фильтра, которая принимает массив float (m, n, 3) и значение dpi, и возвращает массив (m, n, 3) alphaчисло с плавающей точкой animatedлогическое значение antialiasedлогическое значение clip_boxBboxclip_onлогическое значение clip_path[( Path,Transform) |Patch| None]colorцвет containsвызываемый объект dash_capstyle{'butt', 'round', 'projecting'} dash_joinstyle{'miter', 'round', 'bevel'} dashesпоследовательность чисел с плавающей точкой (вкл/выкл чернила в точках) или (None, None) drawstyle{'default', 'steps', 'steps-pre', 'steps-mid', 'steps-post'} figureFigurefillstyle{'full', 'left', 'right', 'bottom', 'top', 'none'} gidстрока in_layoutлогическое значение labelобъект linestyle{'-', '--', '-.', ':', '', (смещение, последовательность вкл/выкл), ...} linewidthчисло с плавающей точкой markerнеизвестно markeredgecolorцвет markeredgewidthчисло с плавающей точкой markerfacecolorцвет markerfacecoloraltцвет markersizeчисло с плавающей точкой markeveryнеизвестно path_effectsAbstractPathEffectpickerчисло с плавающей точкой или вызываемый объект[[Художник, Событие], Кортеж[логическое значение, словарь]] pickradiusчисло с плавающей точкой rasterizedлогическое значение или None sketch_params(масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой) snapлогическое значение или None solid_capstyle{'butt', 'round', 'projecting'} solid_joinstyle{'miter', 'round', 'bevel'} transformmatplotlib.transforms.Transform urlстрока visibleлогическое значение xdataодномерный массив ydataодномерный массив zorderчисло с плавающей точкой
См. также
-
specgram() -
specgram()отличается по значению перекрытия по умолчанию; не возвращает среднее значение периодограмм сегмента; возвращает время сегментов; и строит цветовой карту вместо линии. -
magnitude_spectrum() -
magnitude_spectrum()строит спектр величин. -
csd() -
csd()строит спектральную плотность между двумя сигналами.
Примечания
Для построения графиков мощность отображается как
в децибелах, хотя Pxx возвращается само по себе.Ссылки
Bendat & Piersol -- Random Data: Analysis and Measurement Procedures, John Wiley & Sons (1986)
Примечание
Помимо вышеописанных аргументов, эта функция может принимать ключевой аргумент data. Если такой аргумент data задан, следующие аргументы заменяются на data[<arg>]:
- Все аргументы с такими именами: 'x'.
Объекты, передаваемые как data, должны поддерживать доступ к элементам (
data[<arg>]) и проверку на вхождение (<arg> in data).-
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.0.0/api/_as_gen/matplotlib.axes.Axes.psd.html