Spec-Zone.ru › Matplotlib 3.6
matplotlib.axes.Axes.psd Axes. psd ( x , 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_{xx}\) методом усреднённой периодограммы Велча. Вектор x делится на сегменты длиной NFFT . Каждый сегмент сглаживается функцией detrend и удваивается функцией window . noverlap определяет длину перекрытия между сегментами. Среднее значение \(|\mathrm{fft}(i)|^2\) каждого сегмента \(i\) используется для вычисления \(P_{xx}\) с масштабированием, учитывающим потери мощности из-за применения окна.
Если длина(x ) < NFFT , она дополняется нулями до NFFT .
Параметры:
x одномерный массив или последовательность
Массив или последовательность, содержащая данные.
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 , которое определяет количество точек данных, используемых. Не следует использовать для получения нулевого заполнения, так как это повлияет на масштабирование результата; для этого используйте pad_to . Соответствует параметру 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_freq bool, по умолчанию: True
Применять ли масштабирование значений плотности по частоте, что даёт плотность в единицах 1/Гц. Это позволяет интегрировать по возвращаемым частотам. По умолчанию True для совместимости с MATLAB.
noverlap целое число, по умолчанию: 0 (без перекрытия)
Количество перекрывающихся точек между сегментами.
Fc целое число, по умолчанию: 0
Центральная частота x , которая смещает область значений по оси x для отражения частотного диапазона, используемого при получении сигнала, его фильтрации и сэмплировании до базовой полосы.
return_line bool, по умолчанию: False
Возвращать ли объект линии, нарисованный функцией.
Возвращает:
Pxx одномерный массив
Значения спектра мощности \(P_{xx}\) до масштабирования (вещественные значения).
freqs одномерный массив
Частоты, соответствующие элементам в Pxx .
line Line2D
Линия, созданная данной функцией. Возвращается только если return_line равно True.
Другие параметры:
data индексируемый объект, необязательно
Если задан, следующие параметры также принимают строку s, которая интерпретируется как data[s], за исключением случаев, когда это вызывает исключение:
x
**kwargs
Ключевые аргументы управляют свойствами Line2D :
Свойство
Описание
agg_filter
функция фильтра, которая принимает массив float (m, n, 3) и значение dpi, и возвращает массив (m, n, 3) и два смещения от нижнего левого угла изображения
alpha
скаляр или None
animated
bool
antialiased или aa
bool
clip_box
Bbox
clip_on
bool
clip_path
Объект Patch или (Path, Transform) или None
color или c
цвет
dash_capstyle
CapStyle или {'butt', 'projecting', 'round'}
dash_joinstyle
JoinStyle или {'miter', 'round', 'bevel'}
dashes
последовательность чисел с плавающей точкой (включено/выключено чернила в пунктах) или (None, None)
data
массив (2, N) или два одномерных массива
drawstyle или ds
{'default', 'steps', 'steps-pre', 'steps-mid', 'steps-post'}, по умолчанию: 'default'
figure
Figure
fillstyle
{'full', 'left', 'right', 'bottom', 'top', 'none'}
gapcolor
цвет или None
gid
строка
in_layout
bool
label
объект
linestyle или ls
{'-', '--', '-.', ':', '', (смещение, последовательность включения/выключения), ...}
linewidth или lw
число с плавающей точкой
marker
строка стиля маркера, Path или MarkerStyle
markeredgecolor или mec
цвет
markeredgewidth или mew
число с плавающей точкой
markerfacecolor или mfc
цвет
markerfacecoloralt или mfcalt
цвет
markersize или ms
число с плавающей точкой
markevery
None или int или (int, int) или slice или список[int] или число с плавающей точкой или (число с плавающей точкой, число с плавающей точкой) или список[bool]
mouseover
bool
path_effects
AbstractPathEffect
picker
число с плавающей точкой или вызываемый объект [[Artist, Event], кортеж[bool, dict]]
pickradius
неизвестно
rasterized
bool
sketch_params
(масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой)
snap
bool или None
solid_capstyle
CapStyle или {'butt', 'projecting', 'round'}
solid_joinstyle
JoinStyle или {'miter', 'round', 'bevel'}
transform
неизвестно
url
строка
visible
bool
xdata
одномерный массив
ydata
одномерный массив
См. также
specgram
Отличается по умолчанию перекрытием; не возвращает среднее значение периодограмм сегмента; возвращает время сегментов; и строит цветовое отображение вместо линии.
magnitude_spectrum
Строит график спектра амплитуды.
csd
Строит график спектральной плотности между двумя сигналами.
Примечания Для построения графика мощность отображается как \(10\log_{10}(P_{xx})\) для децибелов, хотя Pxx само по себе возвращается.
Ссылки Bendat & Piersol -- Random Data: Analysis and Measurement Procedures, John Wiley & Sons (1986)
Примеры использования matplotlib.axes.Axes.psd
<img alt="Демонстрация PSD" src="data:image/png;base64,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