matplotlib.axes.Axes.csd
- Axes.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, необязательно
-
Количество точек, до которого дополняется сегмент данных при выполнении БПФ. Это может отличаться от NFFT, который определяет количество точек данных, используемых. Хотя не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешаемыми пиками), это может дать больше точек в графике, позволяя более детальный анализ. Это соответствует параметру n в вызове
fft. По умолчанию None, что устанавливает pad_to равным NFFT - NFFTint, по умолчанию: 256
-
Количество точек данных, используемых в каждом блоке для БПФ. Мощность 2 наиболее эффективна. Это НЕЛЬЗЯ использовать для получения нулевого дополнения, или масштабирование результата будет неверным; используйте pad_to для этого вместо этого.
- detrend{'none', 'mean', 'linear'} или вызываемая функция, по умолчанию: 'none'
-
Функция, применяемая к каждому сегменту перед БПФ, предназначенная для удаления среднего или линейной тенденции. В отличие от 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
-
Включать ли объект линии, нарисованный в возвращаемых значениях.
- Возвращает:
-
- PxyОдномерный массив
-
Значения для кросс-спектра \(P_{xy}\) до масштабирования (комплексные).
- freqsОдномерный массив
-
Частоты, соответствующие элементам в Pxy.
-
line
Line2D -
Линия, созданная этой функцией. Возвращается только если return_line равно True.
- Другие параметры:
-
- dataиндексируемый объект, необязательно
-
Если задано, следующие параметры также принимают строку
s, которая интерпретируется какdata[s](если это не вызывает исключение):x, y
- **kwargs
-
Ключевые аргументы контролируют свойства
Line2D:
Свойство
Описание
функция фильтра, которая принимает массив float (m, n, 3) и значение dpi, и возвращает массив (m, n, 3) и два смещения от нижнего левого угла изображения
скаляр или None
bool
antialiasedили aabool
bool
Объект 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
str
bool
объект
linestyleили ls{'-', '--', '-.', ':', '', (смещение, последовательность включения/выключения), ...}
linewidthили lwчисло с плавающей точкой
строка стиля маркера,
PathилиMarkerStylemarkeredgecolorили mecцвет
markeredgewidthили mewчисло с плавающей точкой
markerfacecolorили mfcцвет
markerfacecoloraltили mfcaltцвет
markersizeили msчисло с плавающей точкой
None или целое число или (целое число, целое число) или срез или список целых чисел или число с плавающей точкой или (число с плавающей точкой, число с плавающей точкой) или список bool
bool
число с плавающей точкой или вызываемая функция [[Artist, Event], кортеж [bool, dict]]
неизвестно
bool
(масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой)
bool или None
CapStyleили {'butt', 'projecting', 'round'}JoinStyleили {'miter', 'round', 'bevel'}неизвестно
str
bool
одномерный массив
-
См. также
psd-
эквивалентно установлению
y = x.
Примечания
Для построения графиков мощность отображается как \(10 \log_{10}(P_{xy})\) в децибелах, хотя возвращается сама \(P_{xy}\).
Ссылки
Бендат и Пирсол — Случайные данные: анализ и измерительные процедуры, John Wiley & Sons (1986)
Примеры использования matplotlib.axes.Axes.csd
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.6.0/api/_as_gen/matplotlib.axes.Axes.csd.html