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Одномерные массивы или последовательности
-
Массивы или последовательности, содержащие данные.
- Fsчисло, по умолчанию: 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_toцелое число, необязательно
-
Количество точек, до которых дополняются нулями сегменты данных при выполнении FFT. Может отличаться от NFFT, который определяет количество точек данных, используемых. Хотя не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешаемыми пиками), это может дать больше точек на графике, позволяя увидеть больше деталей. Это соответствует параметру n в вызове
fft. По умолчанию None, что устанавливает pad_to равным NFFT - NFFTцелое число, по умолчанию: 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
-
Учитывается ли масштабирование частоты в возвращаемых значениях плотности, что даёт плотность в единицах 1/Гц. Это позволяет интегрировать по возвращаемым значениям частот. По умолчанию True для совместимости с MATLAB.
- noverlapцелое число, по умолчанию: 0 (нет перекрытия)
-
Количество перекрывающихся точек между сегментами.
- Fcцелое число, по умолчанию: 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 или int или (int, int) или срез или список[int] или число с плавающей точкой или (число с плавающей точкой, число с плавающей точкой) или список[bool]
bool
список
AbstractPathEffectчисло с плавающей точкой или вызываемый объект [[Artist, Event], кортеж[bool, dict]]
число с плавающей точкой
bool
(масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой)
bool или None
CapStyleили {'butt', 'projecting', 'round'}JoinStyleили {'miter', 'round', 'bevel'}
-
См. также
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–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.csd.html