matplotlib.pyplot.csd
-
matplotlib.pyplot.csd(x, y, 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_{xy}\) методом усреднения периодограммы Уэлча. Векторы x и y делятся на сегменты длиной NFFT. Каждый сегмент обрабатывается функцией detrend и окончивается функцией window. noverlap задаёт длину перекрытия между сегментами. Произведение прямых преобразований Фурье для x и y усредняется по каждому сегменту для вычисления \(P_{xy}\), с масштабированием для компенсации потерь мощности из-за окон.
Если len(x) < NFFT или len(y) < NFFT, они будут дополнены нулями до NFFT.
Параметры: -
x, y : 1-D arrays or sequences -
Массивы или последовательности, содержащие данные.
-
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 -
Количество точек данных, используемых в каждом блоке для преобразования Фурье. Степень двойки обеспечивает максимальную эффективность. Значение по умолчанию — 256. Это НЕ должно использоваться для получения нулевого заполнения, иначе масштабирование результата будет неверным. Используйте pad_to для этого вместо этого.
-
detrend : {'none', 'mean', 'linear'} or callable, default 'none' -
Функция, применяемая к каждому сегменту перед преобразованием Фурье, предназначенная для удаления среднего значения или линейной тенденции. В отличие от MATLAB, где параметр detrend является вектором, в Matplotlib он является функцией. Модуль
mlabопределяетdetrend_none,detrend_meanиdetrend_linear, но вы также можете использовать пользовательскую функцию. Вы также можете использовать строку для выбора одной из функций: 'none' вызываетdetrend_none, 'mean' вызываетdetrend_mean, 'linear' вызываетdetrend_linear. -
scale_by_freq : bool, optional -
Указывает, следует ли масштабировать полученные значения плотности на частоту масштабирования, что даёт плотность в единицах Гц^-1. Это позволяет интегрировать возвращаемые значения частот. Значение по умолчанию равно True для совместимости с MATLAB.
-
noverlap : int -
Количество перекрывающихся точек между сегментами. Значение по умолчанию равно 0 (без перекрытия).
-
Fc : int -
Центральная частота x (по умолчанию 0), смещающая область x графика, чтобы отразить диапазон частот, используемых при получении сигнала, а затем фильтрации и дискретизации до базовой полосы.
-
return_line : bool -
Включать ли объект линии, нарисованной в возвращаемых значениях. Значение по умолчанию — False.
Возвращаемое значение: -
Pxy : 1-D array -
Значения взаимного спектра
P_{xy}до масштабирования (комплексного типа). -
freqs : 1-D array -
Частоты, соответствующие элементам в Pxy.
-
line : a Line2D instance -
Линия, созданная этой функцией. Возвращается только если return_line равно True.
-
Другие параметры: - **kwargs
-
Ключевые аргументы управляют свойствами
Line2D:Свойство Описание agg_filterфункция фильтра, которая принимает массив float (m, n, 3) и значение dpi, и возвращает массив (m, n, 3) alphafloat animatedbool antialiasedили aabool clip_boxBboxclip_onbool clip_path[( Path,Transform) |Patch| None]colorили cцвет containsвызываемая функция dash_capstyle{'butt', 'round', 'projecting'} dash_joinstyle{'miter', 'round', 'bevel'} dashesпоследовательность чисел с плавающей точкой (вкл/выкл чернила в точках) или (None, None) drawstyleили ds{'default', 'steps', 'steps-pre', 'steps-mid', 'steps-post'}, по умолчанию: 'default' figureFigurefillstyle{'full', 'left', 'right', 'bottom', 'top', 'none'} gidстрока in_layoutbool labelобъект linestyleили ls{'-', '--', '-.', ':', '', (смещение, последовательность вкл/выкл), ...} linewidthили lwfloat markerстиль маркера markeredgecolorили mecцвет markeredgewidthили mewfloat markerfacecolorили mfcцвет markerfacecoloraltили mfcaltцвет markersizeили msfloat markeveryNone или int или (int, int) или срез или список [int] или float или (float, float) path_effectsAbstractPathEffectpickerfloat или вызываемая функция[[Художник, событие], кортеж[bool, dict]] pickradiusfloat rasterizedbool или None sketch_params(масштаб: float, длина: float, случайность: float) snapbool или None solid_capstyle{'butt', 'round', 'projecting'} solid_joinstyle{'miter', 'round', 'bevel'} transformmatplotlib.transforms.Transformurlстрока visiblebool xdataодномерный массив ydataодномерный массив zorderfloat
Примечания
Для построения графиков мощность отображается как \(10\log_{10}(P_{xy})\) для децибел, хотя
P_{xy}возвращается сама.Ссылки
Bendat & Piersol — Случайные данные: анализ и процедуры измерения, John Wiley & Sons (1986)
Примечание
В дополнение к вышеописанным аргументам, эта функция может принять ключевой аргумент данные. Если такой аргумент данные задан, следующие аргументы заменяются на данные[<arg>]:
- Все аргументы со следующими именами: 'x', 'y'.
Объекты, переданные в качестве данных, должны поддерживать доступ к элементам (
data[<arg>]) и проверку на членство (<arg> in data).
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.csd.html