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Одномерные массивы или последовательности
-
Массивы или последовательности, содержащие данные.
- Fsfloat, по умолчанию: 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
-
Надо ли масштабировать значения плотности с учётом частоты, что даёт плотность в единицах Hz^-1. Это позволяет интегрировать по возвращённым частотным значениям. По умолчанию True для совместимости с MATLAB.
- noverlapint, по умолчанию: 0 (без перекрытия)
-
Число перекрывающихся точек между сегментами.
- Fcint, по умолчанию: 0
-
Центральная частота x, которая смещает границы x графика, чтобы отразить диапазон частот, используемый при получении сигнала, а затем фильтрации и сэмплировании по времени, чтобы вернуть его в основной диапазон.
- return_linebool, по умолчанию: False
-
Включать ли в возвращаемые значения объект линии графика.
Возвращает: - PxyОдномерный массив
-
Значения взаимного спектра \(P_{xy}\) до масштабирования (комплексного значения).
- freqsОдномерный массив
-
Частоты, соответствующие элементам в Pxy.
-
line
Line2D -
Линия, созданная этой функцией. Возвращается только если return_line True.
Другие параметры: - **kwargs
-
Параметры ключевых слов управляют свойствами
Line2D:Свойство Описание agg_filterфункция фильтра, которая принимает массив float (m, n, 3) и значение dpi, и возвращает массив (m, n, 3) alphaскаляр или None animatedbool antialiasedили aabool clip_boxBboxclip_onbool clip_pathPatch или (Path, Transform) или None colorили cцвет containsнеизвестно dash_capstyleCapStyleили {'butt', 'projecting', 'round'}dash_joinstyleJoinStyleили {'miter', 'round', 'bevel'}dashesпоследовательность чисел с плавающей точкой (чернила включено/выключено в пунктах) или (None, None) dataмассив (2, N) или два одномерных массива 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или lwчисло с плавающей точкой markerстрока стиля маркера, PathилиMarkerStylemarkeredgecolorили mecцвет markeredgewidthили mewчисло с плавающей точкой markerfacecolorили mfcцвет markerfacecoloraltили mfcaltцвет markersizeили msчисло с плавающей точкой markeveryNone или int или (int, int) или срез или список[int] или число с плавающей точкой или (число с плавающей точкой, число с плавающей точкой) или список[bool] path_effectsAbstractPathEffectpickerчисло с плавающей точкой или вызываемая функция [[Artist, Event], кортеж[bool, dict]] pickradiusчисло с плавающей точкой rasterizedbool sketch_params(масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой) snapbool или None solid_capstyleCapStyleили {'butt', 'projecting', 'round'}solid_joinstyleJoinStyleили {'miter', 'round', 'bevel'}transformmatplotlib.transforms.Transformurlстрока visiblebool xdataодномерный массив ydataодномерный массив zorderчисло с плавающей точкой
См. также
psd- эквивалентно установлению
y = x.
Примечания
Для построения графиков мощность выводится как \(10 \log_{10}(P_{xy})\) для децибел, хотя значение \(P_{xy}\) возвращается само по себе.
Ссылки
Bendat & Piersol -- Random Data: Analysis and Measurement Procedures, John Wiley & Sons (1986)
Примечание
Помимо перечисленных выше аргументов, эта функция может принимать аргумент data. Если такой аргумент data указан, следующие аргументы также могут быть строками
s, которые интерпретируются какdata[s](если это не вызывает исключения): x, y.Объекты, переданные в качестве data, должны поддерживать доступ к элементам (
data[s]) и проверку на принадлежность (s in data).
Примеры использования matplotlib.pyplot.csd
© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.4.3/api/_as_gen/matplotlib.pyplot.csd.html