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] -
Построение плотности спектральной мощности.
Вызов функции:
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 : int -
Количество точек, до которого дополняются нулями сегменты данных при выполнении преобразования Фурье. Это может отличаться от NFFT, которое задаёт количество точек данных, используемых. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешимыми пиками), это может дать больше точек на графике, позволяя получить больше деталей. Соответствует параметру n в вызове fft(). По умолчанию равно None, что устанавливает pad_to равным NFFT
-
NFFT : int -
Количество точек данных, используемых в каждом блоке для преобразования Фурье. Мощность 2 наиболее эффективна. Значение по умолчанию равно 256. Это НЕ следует использовать для получения нулевого заполнения, иначе масштабирование результата будет неверным. Используйте pad_to для этого.
-
detrend : {'default', 'constant', 'mean', 'linear', 'none'} or callable -
Функция, применяемая к каждому сегменту перед вычислением преобразования Фурье, предназначенная для удаления среднего значения или линейной тенденции. В отличие от MATLAB, где параметр detrend — это вектор, в matplotlib он является функцией. Модуль
mlabопределяетdetrend_none(),detrend_mean()иdetrend_linear(), но вы также можете использовать пользовательскую функцию. Также можно использовать строку для выбора одной из функций. 'default', 'constant', и 'mean' вызываютdetrend_mean(). 'linear' вызываетdetrend_linear(). 'none' вызываетdetrend_none(). -
scale_by_freq : bool, optional -
Указывает, нужно ли масштабировать полученные значения плотности с помощью масштабирующей частоты, что даёт плотность в единицах Hz^-1. Это позволяет интегрировать по возвращаемым значениям частоты. По умолчанию True для совместимости с MATLAB.
-
noverlap : int -
Количество перекрывающихся точек между сегментами. Значение по умолчанию равно 0 (без перекрытия).
-
Fc : int -
Центральная частота 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вещественное число animatedлогическое значение antialiasedлогическое значение clip_boxBboxclip_onлогическое значение clip_path[( Path,Transform) |Patch| None]colorцвет containsвызываемый объект dash_capstyle{'butt', 'round', 'projecting'} dash_joinstyle{'miter', 'round', 'bevel'} dashesпоследовательность чисел с плавающей запятой (чернила включения/выключения в точках) или (None, None) drawstyle{'default', 'steps', 'steps-pre', 'steps-mid', 'steps-post'} figureFigurefillstyle{'full', 'left', 'right', 'bottom', 'top', 'none'} gidстрока in_layoutлогическое значение labelобъект linestyle{'-', '--', '-.', ':', '', (смещение, последовательность включения/выключения), ...} linewidthвещественное число markerнеизвестно markeredgecolorцвет markeredgewidthвещественное число markerfacecolorцвет markerfacecoloraltцвет markersizeвещественное число markeveryнеизвестно path_effectsAbstractPathEffectpickerвещественное число или вызываемый объект [[Художник, Событие], Кортеж[логическое значение, словарь]] pickradiusвещественное число rasterizedлогическое значение или None sketch_params(масштаб: вещественное число, длина: вещественное число, случайность: вещественное число) snapлогическое значение или None solid_capstyle{'butt', 'round', 'projecting'} solid_joinstyle{'miter', 'round', 'bevel'} transformmatplotlib.transforms.Transform urlстрока visibleлогическое значение xdataодномерный массив ydataодномерный массив zorderвещественное число
См. также
-
specgram() -
specgram()отличается по умолчанию от перекрытия; не возвращает среднее значение периодограмм сегмента; возвращает время сегментов; и строит цветовое отображение вместо линии. -
magnitude_spectrum() -
magnitude_spectrum()строит спектр амплитуды. -
csd() -
csd()строит спектральную плотность между двумя сигналами.
Примечания
Для построения графиков мощность отображается как
для децибел, хотя Pxx само возвращается.Ссылки
Bendat & Piersol -- Случайные данные: методы анализа и измерения, John Wiley & Sons (1986)
Примечание
Помимо описанных выше аргументов, эта функция может принимать ключевой аргумент data. Если такой аргумент data задан, следующие аргументы заменяются на data[<arg>]:
- Все аргументы со следующими именами: 'x'.
Объекты, передаваемые как data, должны поддерживать доступ к элементам (
data[<arg>]) и проверку принадлежности (<arg> in data).-
Примеры использования matplotlib.pyplot.psd
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.0.0/api/_as_gen/matplotlib.pyplot.psd.html