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) -
Построение плотности спектральной мощности.
Вызов функции:
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 : одномерный массив или последовательность
Массив или последовательность, содержащие данные
Fs : скаляр
Частота дискретизации (образцов в единицу времени). Она используется для вычисления частот Фурье, freqs, в циклах в единицу времени. Значение по умолчанию — 2.
window : вызываемая функция или одномерный массив
Функция или вектор длиной 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 : целое число
Количество точек, до которых дополняется сегмент данных при выполнении FFT. Это может отличаться от NFFT, которое задаёт количество точек данных, используемых. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешаемыми пиками), это может дать больше точек на графике, что позволит получить больше деталей. Это соответствует параметру n в вызове fft(). Значение по умолчанию — None, которое устанавливает pad_to равным NFFT
NFFT : целое число
Количество точек данных, используемых в каждом блоке для FFT. Степени двойки являются наиболее эффективными. Значение по умолчанию — 256. Не следует использовать для получения нулевого заполнения, так как масштабирование результата будет некорректным. Используйте pad_to для этого вместо.
detrend : {‘default’, ‘constant’, ‘mean’, ‘linear’, ‘none’} или вызываемая функция
Функция, применяемая к каждому сегменту перед выполнением fft, предназначенная для удаления среднего значения или линейной тенденции. В отличие от MATLAB, где параметр detrend является вектором, в matplotlib он является функцией. Модуль
pylabопределяетdetrend_none(),detrend_mean(), иdetrend_linear(), но вы также можете использовать пользовательскую функцию. Вы также можете использовать строку, чтобы выбрать одну из функций. ‘default’, ‘constant’, и ‘mean’ вызываютdetrend_mean(). ‘linear’ вызываетdetrend_linear(). ‘none’ вызываетdetrend_none().scale_by_freq : boolean, необязательно
Указывает, следует ли масштабировать значения плотности с учётом масштабирующей частоты, что даёт плотность в единицах Hz^-1. Это позволяет интегрировать по возвращаемым значениям частоты. По умолчанию True для совместимости с MATLAB.
noverlap : целое число
Количество перекрывающихся точек между сегментами. Значение по умолчанию — 0 (без перекрытия).
Fc : целое число
Центральная частота x (по умолчанию 0), которая смещает границы оси x графика для отражения диапазона частот, используемого при получении сигнала, а затем фильтрации и понижения частоты до базовой полосы.
return_line : bool
Включать ли объект линии, нарисованный на графике, в возвращаемые значения. По умолчанию False.
Возвращаемые значения: Pxx : одномерный массив
Значения для спектра мощности
P_{xx}до масштабирования (вещественные)freqs : одномерный массив
Частоты, соответствующие элементам в Pxx
line : экземпляр
Line2DЛиния, созданная этой функцией. Возвращается только если return_line равно True.
Другие параметры:
**kwargs :
Ключевые аргументы управляют свойствами
Line2D:Свойство Описание agg_filterнеизвестно alphaчисло с плавающей точкой (от 0,0 — прозрачный до 1,0 — непрозрачный) animated[True | False] antialiasedили aa[True | False] clip_boxэкземпляр matplotlib.transforms.Bboxclip_on[True | False] clip_path[ ( Path,Transform) |Patch| None ]colorили cлюбой цвет matplotlib containsфункция-вызов dash_capstyle[‘butt’ | ‘round’ | ‘projecting’] dash_joinstyle[‘miter’ | ‘round’ | ‘bevel’] dashesпоследовательность включений/выключений чернил в точках drawstyle[‘default’ | ‘steps’ | ‘steps-pre’ | ‘steps-mid’ | ‘steps-post’] figureэкземпляр matplotlib.figure.Figurefillstyle[‘full’ | ‘left’ | ‘right’ | ‘bottom’ | ‘top’ | ‘none’] gidстрока-идентификатор labelстрока или любой вывод с преобразованием «%s» linestyleили ls[‘solid’ | ‘dashed’, ‘dashdot’, ‘dotted’ | (смещение, последовательность вкл/выкл штрихов) | '-'|'--'|'-.'|':'|'None'|' '|'']linewidthили lwвещественное значение в точках markerA valid marker stylemarkeredgecolorили mecлюбой цвет matplotlib markeredgewidthили mewвещественное значение в точках markerfacecolorили mfcлюбой цвет matplotlib markerfacecoloraltили mfcaltлюбой цвет matplotlib markersizeили msвещественное число markevery[None | целое число | кортеж длиной 2 из целых чисел | срез | список/массив целых чисел | вещественное число | кортеж длиной 2 из вещественных чисел] path_effectsнеизвестно pickerвещественное расстояние в точках или вызываемая функция выбора fn(artist, event)pickradiusвещественное расстояние в точках rasterized[True | False | None] sketch_paramsнеизвестно snapнеизвестно solid_capstyle[‘butt’ | ‘round’ | ‘projecting’] solid_joinstyle[‘miter’ | ‘round’ | ‘bevel’] transformэкземпляр matplotlib.transforms.Transformurlстрока url visible[True | False] xdataодномерный массив ydataодномерный массив zorderлюбое число
См. также
-
specgram() -
specgram()отличается по значению перекрытия по умолчанию; не возвращает среднее значение периодограмм сегментов; возвращает время сегментов; и отображает карту цветов вместо линии. -
magnitude_spectrum() -
magnitude_spectrum()отображает спектр по величине. -
csd() -
csd()отображает спектральную плотность между двумя сигналами. - В дополнение к вышеописанным аргументам, эта функция может принять ключевой аргумент data. Если такой аргумент data задан, следующие аргументы заменяются на data[<arg>]: * Все аргументы со следующими именами: ‘x’.
Примечания
Для отображения мощность отображается как
для децибелов, хотя Pxx само по себе возвращается.
Ссылки
Bendat & Piersol – Random Data: Analysis and Measurement Procedures, John Wiley & Sons (1986)
-
© 2012–2017 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
http://matplotlib.org/2.1.0/api/_as_gen/matplotlib.axes.Axes.psd.html