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Одномерные массивы или последовательности
-
Массивы или последовательности, содержащие данные.
- 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_toint, необязательно
-
Число точек, до которого дополняется сегмент данных при выполнении БПФ. Может отличаться от NFFT, который определяет количество точек данных, используемых. Хотя не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешаемыми пиками), это может дать больше точек на графике, позволяя получить больше деталей. Соответствует параметру n в вызове fft(). По умолчанию None, что устанавливает pad_to равным 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:
Свойство
Описание
функция фильтра, которая принимает массив чисел с плавающей точкой (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 или целое число или (целое число, целое число) или срез или список целых чисел или число с плавающей точкой или (число с плавающей точкой, число с плавающей точкой) или список логических значений
число с плавающей точкой или вызываемая функция [[Artist, Event], кортеж[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 -- Случайные данные: методы анализа и измерений, John Wiley & Sons (1986)
© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.5.1/api/_as_gen/matplotlib.pyplot.csd.html