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, которое задаёт количество точек данных, используемых. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешаемыми пиками), это может дать больше точек на графике, что позволит получить больше деталей. Соответствует параметру n в вызове
fft. По умолчанию None, что устанавливает pad_to равным NFFT. - NFFTint, по умолчанию: 256
-
Количество точек данных, используемых в каждом блоке для FFT. Степень 2 наиболее эффективна. Это не следует использовать для получения нулевого дополнения, иначе масштабирование результата будет неверным; используйте 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
-
Определяет, следует ли масштабировать полученные значения плотности с учётом частоты масштабирования, что даёт плотность в единицах 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:Свойство
Описание
функция фильтра, которая принимает (m, n, 3) массив с плавающей точкой и значение dpi, и возвращает (m, n, 3) массив и два смещения от нижнего левого угла изображения
скаляр или None
bool
antialiasedили aabool
BboxBaseили Nonebool
Объект Patch или (объект Path, Transform) или None
colorили cCapStyleили {'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
строка
bool
объект
linestyleили ls{'-', '--', '-.', ':', '', (смещение, последовательность включение/выключение), ...}
linewidthили lwвещественное число
строка стиля маркера,
PathилиMarkerStylemarkeredgecolorили mecmarkeredgewidthили mewвещественное число
markerfacecolorили mfcmarkerfacecoloraltили mfcaltmarkersizeили msвещественное число
None или целое число или (целое число, целое число) или срез или список [целое число] или вещественное число или (вещественное число, вещественное число) или список [булево]
bool
список
AbstractPathEffectвещественное число или вызываемый объект [[Художник, Событие], кортеж[bool, dict]]
вещественное число
bool
(масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой)
bool или None
CapStyleили {'butt', 'projecting', 'round'}JoinStyleили {'miter', 'round', 'bevel'}
-
См. также
psd-
эквивалентно настройке
y = x.
Примечания
Примечание
Это оболочка pyplot для
axes.Axes.csd.Для построения графиков мощность выводится как \(10 \log_{10}(P_{xy})\) в децибелах, хотя сам \(P_{xy}\) возвращается.
Ссылки
Bendat & Piersol -- Random Data: Analysis and Measurement Procedures, John Wiley & Sons (1986)
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.csd.html