matplotlib.pyplot.psd
-
matplotlib.pyplot.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, hold=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 : целое число
Количество точек, до которых дополняются данные сегмента при выполнении БПФ. Может отличаться от NFFT, которое определяет количество точек данных, используемых. Хотя не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешаемыми пиками), это может дать больше точек в графике, что позволит отобразить больше деталей. Соответствует параметру n в вызове fft(). Значение по умолчанию — None, что устанавливает pad_to равным NFFT
NFFT : целое число
Количество точек данных, используемых в каждом блоке для БПФ. Степень двойки наиболее эффективна. Значение по умолчанию — 256. Не следует использовать для получения нулевого заполнения, в противном случае масштабирование результата будет некорректным. Используйте pad_to для этого вместо этого.
detrend : {‘default’, ‘constant’, ‘mean’, ‘linear’, ‘none’} или вызываемая функция
Функция, применяемая к каждому сегменту перед БПФ, предназначенная для удаления среднего значения или линейной тенденции. В отличие от MATLAB, где параметр detrend является вектором, в matplotlib он является функцией. Модуль
pylabопределяет функцииdetrend_none(),detrend_mean(), иdetrend_linear(), но вы также можете использовать пользовательскую функцию. Вы также можете использовать строку для выбора одной из функций. ‘default’, ‘constant’, и ‘mean’ вызываютdetrend_mean(). ‘linear’ вызываетdetrend_linear(). ‘none’ вызываетdetrend_none().scale_by_freq : булево значение, необязательно
Указывает, следует ли масштабировать значения плотности на масштабирующую частоту, что даёт плотность в единицах 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)
-
Примеры использования matplotlib.pyplot.psd
© 2012–2017 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
http://matplotlib.org/2.1.0/api/_as_gen/matplotlib.pyplot.psd.html