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, который определяет количество точек данных, используемых. Не следует использовать для получения нулевого заполнения, так как масштабирование результата будет неверным; используйте pad_to вместо этого. Это соответствует параметру 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или cцвет
CapStyleили {'butt', 'projecting', 'round'}JoinStyleили {'miter', 'round', 'bevel'}последовательность чисел с плавающей точкой (включен/выключен чернила в пунктах) или (None, None)
(2, N) массив или два 1D массива
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
список
AbstractPathEffectчисло с плавающей точкой или вызываемый объект[[Художник, Событие], кортеж[bool, dict]]
число с плавающей точкой
bool
(масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой)
bool или None
CapStyleили {'butt', 'projecting', 'round'}JoinStyleили {'miter', 'round', 'bevel'}неизвестно
строка
bool
1D массив
-
См. также
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.8.4/api/_as_gen/matplotlib.pyplot.csd.html