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, которое определяет количество точек данных, используемых.
- 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
логическое значение
antialiasedили aaлогическое значение
логическое значение
объект Patch или (Path, Transform) или None
colorили cцвет
CapStyleили {'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
строка
логическое значение
объект
linestyleили ls{'-', '--', '-.', ':', '', (смещение, последовательность включения/выключения), ...}
linewidthили lwчисло с плавающей точкой
строка стиля маркера,
PathилиMarkerStylemarkeredgecolorили mecцвет
markeredgewidthили mewчисло с плавающей точкой
markerfacecolorили mfcцвет
markerfacecoloraltили mfcaltцвет
markersizeили msчисло с плавающей точкой
None или целое число или (целое число, целое число) или срез или список [целое число] или число с плавающей точкой или (число с плавающей точкой, число с плавающей точкой) или список [логическое значение]
логическое значение
число с плавающей точкой или вызываемый объект [[Artist, Event], tuple[bool, dict]]
неизвестно
логическое значение
(масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой)
логическое значение или None
CapStyleили {'butt', 'projecting', 'round'}JoinStyleили {'miter', 'round', 'bevel'}неизвестно
строка
логическое значение
одномерный массив
одномерный массив
-
вещественное число
См. также
specgram-
Отличается по умолчанию перекрытием; не возвращает среднее значение сегментных периодограмм; возвращает времена сегментов; и строит цветовой карту вместо линии.
magnitude_spectrum-
Строит спектр амплитуды.
csd-
Строит спектральную плотность между двумя сигналами.
Примечания
Для построения мощность отображается как \(10\log_{10}(P_{xx})\) для децибел, хотя само Pxx возвращается.
Ссылки
Бендат и Пирсол -- Случайные данные: методы анализа и измерения, John Wiley & Sons (1986)
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.6.0/api/_as_gen/matplotlib.pyplot.psd.html