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, которое определяет количество точек данных, используемых.
- NFFTint, по умолчанию: 256
-
Количество точек данных, используемых в каждом блоке для преобразования Фурье. Степень двойки наиболее эффективна. Не следует использовать для получения нулевого заполнения, так как масштабирование результата будет некорректным. Используйте 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
-
Определяет, следует ли масштабировать значения плотности с учётом частоты, что даёт плотность в единицах Hz^-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'}
строка
bool
объект
linestyleили ls{'-', '--', '-.', ':', '', (смещение, последовательность включения/выключения), ...}
linewidthили lwвещественное число
строка стиля маркера,
PathилиMarkerStylemarkeredgecolorили mecцвет
markeredgewidthили mewвещественное число
markerfacecolorили mfcцвет
markerfacecoloraltили mfcaltцвет
markersizeили msвещественное число
None или int или (int, int) или срез или список[int] или вещественное число или (вещественное число, вещественное число) или список[bool]
вещественное число или вызываемая функция [[Artist, Event], tuple[bool, dict]]
вещественное число
bool
(масштаб: вещественное число, длина: вещественное число, случайность: вещественное число)
bool или None
CapStyleили {'butt', 'projecting', 'round'}JoinStyleили {'miter', 'round', 'bevel'}неизвестно
строка
bool
одномерный массив
одномерный массив
вещественное число
-
См. также
psd-
эквивалентно настройке
y = x.
Примечания
Для построения графиков мощность отображается как \(10 \log_{10}(P_{xy})\) в децибелах, хотя возвращается сама \(P_{xy}\).
Ссылки
Bendat & Piersol -- Random Data: Analysis and Measurement Procedures, John Wiley & Sons (1986)
Примеры использования matplotlib.axes.Axes.csd
© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.5.1/api/_as_gen/matplotlib.axes.Axes.csd.html