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_toцелое число, необязательно
-
Количество точек, до которых дополняется сегмент данных при выполнении БПФ. Может отличаться от NFFT, которое задаёт количество точек данных, используемых. Не следует использовать для получения нулевого заполнения, или масштабирование результата будет некорректным; используйте pad_to для этого вместо этого. По умолчанию None, что задаёт pad_to равным NFFT
- NFFTцелое число, по умолчанию: 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
-
Указывает, следует ли масштабировать возвращаемые значения плотности на масштабирующую частоту, что даёт плотность в единицах 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
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
строка
bool
объект
linestyleили ls{'-', '--', '-.', ':', '', (смещение, последовательность включения/выключения), ...}
linewidthили lwчисло с плавающей точкой
строка стиля маркера,
PathилиMarkerStylemarkeredgecolorили mecцвет
markeredgewidthили mewчисло с плавающей точкой
markerfacecolorили mfcцвет
markerfacecoloraltили mfcaltцвет
markersizeили msчисло с плавающей точкой
None или целое число или (целое число, целое число) или срез или список целых чисел или число с плавающей точкой или (число с плавающей точкой, число с плавающей точкой) или список логических значений
bool
число с плавающей точкой или вызываемая функция [[Artist, Event], кортеж[bool, словарь]]
неизвестно
bool
(масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой)
bool или None
CapStyleили {'butt', 'projecting', 'round'}JoinStyleили {'miter', 'round', 'bevel'}неизвестно
строка
bool
одномерный массив
-
См. также
psd-
эквивалентно настройке
y = x.
Примечания
Для построения графиков мощность отображается как \(10 \log_{10}(P_{xy})\) в децибелах, хотя возвращается сама \(P_{xy}\).
Ссылки
Бендат и Пирсол — Случайные данные: методы анализа и измерений, издательство John Wiley & Sons (1986)
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.7.5/api/_as_gen/matplotlib.pyplot.csd.html