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, *, data=None, **kwargs)[source]
-
Построение плотности спектральной мощности.
Плотность спектральной мощности \(P_{xx}\) методом усреднённого периодограммы Уэлча. Вектор x делится на сегменты длиной NFFT. Каждый сегмент сглаживается функцией detrend и окончивается функцией window. noverlap определяет длину перекрытия между сегментами. Среднее значение \(|\mathrm{fft}(i)|^2\) для каждого сегмента \(i\) используется для вычисления \(P_{xx}\) с масштабированием, учитывающим потерю мощности из-за окон.
Если len(x) < NFFT, данные заполняются нулями до длины NFFT.
- Параметры:
-
- xОдномерный массив или последовательность
-
Массив или последовательность, содержащая данные.
- Fsчисло, по умолчанию: 2
-
Частота дискретизации (образцов в единицу времени). Используется для расчёта частот Фурье, freqs, в циклах на единицу времени.
-
windowвызываемая функция или массив, по умолчанию:
window_hanning -
Функция или вектор длиной NFFT. Для создания векторов окон смотрите
window_hanning,window_none,numpy.blackman,numpy.hamming,numpy.bartlett,scipy.signal,scipy.signal.get_windowи т.д. Если в качестве аргумента передаётся функция, она должна принимать сегмент данных и возвращать оконченную версию сегмента. - sides{'default', 'onesided', 'twosided'}, необязательно
-
Какие стороны спектра возвращать. 'default' - односторонняя для вещественных данных и двухсторонняя для комплексных данных. 'onesided' принудительно возвращает односторонний спектр, 'twosided' - двухсторонний.
- pad_toint, необязательно
-
Количество точек, до которых заполняется сегмент данных при выполнении FFT. Может отличаться от NFFT, которое определяет количество точек данных, используемых. Не следует использовать для нулевого заполнения, так как это повлияет на масштабирование результата; для этого используйте pad_to. По умолчанию None, что устанавливает pad_to равным NFFT.
- NFFTint, по умолчанию: 256
-
Количество точек данных, используемых в каждом блоке для FFT. Степень двойки наиболее эффективна. Не следует использовать для нулевого заполнения, или масштабирование результата будет неправильным; используйте pad_to для этого вместо этого.
- detrend{'none', 'mean', 'linear'} или вызываемая функция, по умолчанию: 'none'
-
Функция, применяемая к каждому сегменту перед выполнением fft, предназначенная для удаления среднего значения или линейной тенденции. В отличие от MATLAB, где параметр detrend является вектором, в Matplotlib это функция. Модуль
mlabопределяетdetrend_none,detrend_meanиdetrend_linear, но вы также можете использовать пользовательскую функцию. Вы также можете использовать строку для выбора одной из функций: 'none' вызываетdetrend_none. 'mean' вызываетdetrend_mean. 'linear' вызываетdetrend_linear. - scale_by_freqbool, по умолчанию: True
-
Применяется ли масштабирование значений плотности по частоте, что даёт плотность в единицах 1/Гц. Это позволяет интегрировать по возвращённым значениям частот. По умолчанию True для совместимости с MATLAB.
- noverlapint, по умолчанию: 0 (без перекрытия)
-
Количество перекрывающихся точек между сегментами.
- Fcint, по умолчанию: 0
-
Центральная частота x, которая смещает области x графика, чтобы отразить диапазон частот, используемый при получении сигнала, а затем фильтрации и сэмплирования до базовой полосы.
- return_linebool, по умолчанию: False
-
Включать ли объект линии, нарисованный в возвращённых значениях.
- Возвращает:
-
- PxxОдномерный массив
-
Значения спектральной мощности \(P_{xx}\) до масштабирования (вещественные).
- freqsОдномерный массив
-
Частоты, соответствующие элементам в Pxx.
-
line
Line2D -
Линия, созданная этой функцией. Возвращается только если return_line равно True.
- Другие параметры:
-
- dataиндексируемый объект, необязательно
-
Если задано, следующие параметры также принимают строку
s, которая интерпретируется какdata[s](если это не вызывает исключения):x
- **kwargs
-
Ключевые аргументы управляют свойствами
Line2D:Свойство
Описание
Функция фильтра, которая принимает (m, n, 3) массив чисел с плавающей точкой и значение dpi, и возвращает (m, n, 3) массив и два смещения от левого нижнего угла изображения
скаляр или None
bool
antialiasedили aabool
BboxBaseили Nonebool
Объект Patch или (Path, Transform) или None
colorили cCapStyleили {'butt', 'projecting', 'round'}JoinStyleили {'miter', 'round', 'bevel'}последовательность чисел с плавающей точкой (чернила/пробелы в пунктах) или (None, None)
(2, N) массив или два одномерных массива
drawstyleили ds{'default', 'steps', 'steps-pre', 'steps-mid', 'steps-post'}, по умолчанию: 'default'
{'full', 'left', 'right', 'bottom', 'top', 'none'}
цвет или None
строка
bool
объект
linestyleили ls{'-', '--', '-.', ':', '', (смещение, последовательность включения/выключения), ...}
linewidthили lwчисло с плавающей точкой
строка стиля маркера,
PathилиMarkerStylemarkeredgecolorили mecmarkeredgewidthили mewчисло с плавающей точкой
markerfacecolorили mfcmarkerfacecoloraltили mfcaltmarkersizeили msчисло с плавающей точкой
None или целое число или (целое число, целое число) или срез или список целых чисел или число с плавающей точкой или (число с плавающей точкой, число с плавающей точкой) или список bool
bool
список
AbstractPathEffectчисло с плавающей точкой или вызываемая функция[[Artist, Event], кортеж[bool, dict]]
число с плавающей точкой
bool
(масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой)
bool или None
CapStyleили {'butt', 'projecting', 'round'}JoinStyleили {'miter', 'round', 'bevel'}
-
См. также
specgram-
Отличается по умолчанию перекрытием; не возвращает среднее значение периодограмм сегментов; возвращает время сегментов; и строит цветовое отображение вместо линии.
magnitude_spectrum-
Строит спектр величины.
csd-
Строит спектральную плотность между двумя сигналами.
Примечания
Примечание
Это обёртка pyplot для
axes.Axes.psd.Для построения графиков мощность выводится как \(10\log_{10}(P_{xx})\) для децибелов, хотя само Pxx возвращается.
Ссылки
Bendat & Piersol -- Случайные данные: методы анализа и измерения, John Wiley & Sons (1986)
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.psd.html