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] -
Построение кросс-спектральной плотности.
Вызов функции:
csd(x, y, 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 и y разбиваются на сегменты длиной NFFT. Каждый сегмент обрабатывается функцией detrend и окончивается функцией window. noverlap задаёт длину перекрытия между сегментами. Произведение прямых преобразований Фурье для x и y усредняется по каждому сегменту для вычисления
, с масштабированием для компенсации потерь мощности из-за окон.Если 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 : {'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.
Возвращаемые значения: -
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 antialiasedbool clip_boxBboxclip_onbool 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_layoutbool labelобъект linestyle{'-', '--', '-.', ':', '', (смещение, последовательность включения/выключения), ...} linewidthfloat markerнеизвестно markeredgecolorцвет markeredgewidthfloat markerfacecolorцвет markerfacecoloraltцвет markersizefloat markeveryнеизвестно path_effectsAbstractPathEffectpickerfloat или вызываемый объект [[Artist, Event], Tuple[bool, dict]] pickradiusfloat rasterizedbool или None sketch_params(масштаб: float, длина: float, случайность: float) snapbool или None solid_capstyle{'butt', 'round', 'projecting'} solid_joinstyle{'miter', 'round', 'bevel'} transformmatplotlib.transforms.Transform urlстрока visiblebool xdataодномерный массив ydataодномерный массив zorderfloat
Примечания
Для построения графиков мощность отображается как
в децибелах, хотя P_{xy}возвращается само по себе.Ссылки
Bendat & Piersol -- Random Data: Analysis and Measurement Procedures, John Wiley & Sons (1986)
Примечание
В дополнение к вышеописанным аргументам, эта функция может принять ключевой аргумент data. Если такой аргумент data задан, следующие аргументы заменяются на data[<arg>]:
- Все аргументы с именами: 'x', 'y'.
Объекты, переданные как data, должны поддерживать доступ к элементам (
data[<arg>]) и проверку на членство (<arg> in data).
© 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.csd.html