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)[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 : integer -
Количество точек, на которое дополняются нулями сегменты данных при выполнении FFT. Может отличаться от NFFT, которое задаёт количество точек данных. Не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешимыми пиками), но может дать больше точек на графике, что позволит получить больше деталей. Соответствует параметру n в вызове fft(). По умолчанию None, что устанавливает pad_to равным NFFT
-
NFFT : integer -
Количество точек данных, используемых в каждом блоке для FFT. Мощность 2 наиболее эффективна. Значение по умолчанию — 256. Не следует использовать для получения нулевого заполнения, иначе масштабирование результата будет неверным. Используйте pad_to для этого.
-
detrend : {'default', 'constant', 'mean', 'linear', 'none'} or callable -
Функция, применяемая к каждому сегменту перед вычислением 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, optional -
Указывает, следует ли масштабировать значения плотности с учётом частоты масштабирования, что даёт плотность в единицах Hz^-1. Это позволяет интегрировать по возвращаемым частотным значениям. По умолчанию True для совместимости с MATLAB.
-
noverlap : integer -
Количество перекрывающихся точек между сегментами. Значение по умолчанию — 0 (нет перекрытия).
-
Fc : integer -
Центральная частота 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вещественное число (от 0,0 — прозрачный до 1,0 — непрозрачный) animatedбулево значение antialiasedили aaбулево значение clip_boxэкземпляр Bboxclip_onбулево значение 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экземпляр Figurefillstyle['full' | 'left' | 'right' | 'bottom' | 'top' | 'none'] gidстрока идентификатора labelобъект 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_effectsAbstractPathEffectpickerрасстояние в точках или вызываемая функция выбора fn(artist, event)pickradiusрасстояние в точках rasterizedбулево значение или None sketch_params(масштаб: число, длина: число, случайность: число) snapбулево значение или None solid_capstyle['butt' | 'round' | 'projecting'] solid_joinstyle['miter' | 'round' | 'bevel'] transformэкземпляр matplotlib.transforms.Transformurlстрока 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'.
-
Примеры использования matplotlib.pyplot.psd
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/2.2.3/api/_as_gen/matplotlib.pyplot.psd.html