Spec-Zone.ru › Matplotlib 2.1

matplotlib.pyplot.psd

matplotlib.pyplot.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, hold=None, data=None, **kwargs)

Построение плотности спектральной мощности.

Вызов:

psd(x, NFFT=256, Fs=2, Fc=0, detrend=mlab.detrend_none,
    window=mlab.window_hanning, noverlap=0, pad_to=None,
    sides='default', scale_by_freq=None, return_line=None, **kwargs)

Плотность спектральной мощности методом усреднённой периодограммы Уэлча. Вектор x делится на сегменты длиной NFFT. Каждый сегмент обрабатывается функцией detrend и окончивается функцией window. noverlap задаёт длину перекрытия между сегментами. каждого сегмента усредняются для вычисления , с учётом потери мощности из-за оконёнки.

Если len(x) < NFFT, данные дополняются нулями до NFFT.

Параметры:

x : одномерный массив или последовательность

Массив или последовательность, содержащая данные

Fs : скаляр

Частота дискретизации (образцов в единицу времени). Используется для вычисления частот Фурье, freqs, в циклах на единицу времени. Значение по умолчанию — 2.

window : вызываемая функция или одномерный массив

Функция или вектор длиной NFFT. Для создания векторов окон см. window_hanning(), window_none(), numpy.blackman(), numpy.hamming(), numpy.bartlett(), scipy.signal(), scipy.signal.get_window() и др. Значение по умолчанию — window_hanning(). Если в качестве аргумента передаётся функция, она должна принимать сегмент данных и возвращать оконченную версию сегмента.

sides : [ ‘default’ | ‘onesided’ | ‘twosided’ ]

Указывает, какие стороны спектра возвращать. Значение по умолчанию соответствует стандартному поведению, возвращает односторонний спектр для вещественных данных и двусторонний для комплексных. ‘onesided’ принудительно возвращает односторонний спектр, а ‘twosided’ - двусторонний.

pad_to : целое число

Количество точек, до которых дополняются данные сегмента при выполнении БПФ. Может отличаться от NFFT, которое определяет количество точек данных, используемых. Хотя не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешаемыми пиками), это может дать больше точек в графике, что позволит отобразить больше деталей. Соответствует параметру n в вызове fft(). Значение по умолчанию — None, что устанавливает pad_to равным NFFT

NFFT : целое число

Количество точек данных, используемых в каждом блоке для БПФ. Степень двойки наиболее эффективна. Значение по умолчанию — 256. Не следует использовать для получения нулевого заполнения, в противном случае масштабирование результата будет некорректным. Используйте pad_to для этого вместо этого.

detrend : {‘default’, ‘constant’, ‘mean’, ‘linear’, ‘none’} или вызываемая функция

Функция, применяемая к каждому сегменту перед БПФ, предназначенная для удаления среднего значения или линейной тенденции. В отличие от MATLAB, где параметр detrend является вектором, в matplotlib он является функцией. Модуль pylab определяет функции detrend_none(), detrend_mean(), и detrend_linear(), но вы также можете использовать пользовательскую функцию. Вы также можете использовать строку для выбора одной из функций. ‘default’, ‘constant’, и ‘mean’ вызывают detrend_mean(). ‘linear’ вызывает detrend_linear(). ‘none’ вызывает detrend_none().

scale_by_freq : булево значение, необязательно

Указывает, следует ли масштабировать значения плотности на масштабирующую частоту, что даёт плотность в единицах Hz^-1. Это позволяет интегрировать по возвращаемым значениям частоты. Значение по умолчанию — True для совместимости с MATLAB.

noverlap : целое число

Количество перекрывающихся точек между сегментами. Значение по умолчанию — 0 (нет перекрытия).

Fc : целое число

Центральная частота x (по умолчанию 0), которая смещает границы x графика, чтобы отразить диапазон частот, используемый при получении сигнала, а затем фильтрации и сэмплировании до базовой полосы.

return_line : bool

Включать ли объект линии, нарисованный в возвращаемых значениях. Значение по умолчанию — False.

Возвращает:

Pxx : одномерный массив

Значения для спектра мощности P_{xx} до масштабирования (вещественные значения)

freqs : одномерный массив

Частоты, соответствующие элементам в Pxx

line : экземпляр Line2D

Линия, созданная этой функцией. Возвращается только если return_line равно True.

Другие параметры:

**kwargs :

Ключевые аргументы управляют свойствами Line2D:

Свойство Описание
agg_filter неизвестно
alpha число с плавающей точкой (от 0,0 — прозрачный до 1,0 — непрозрачный)
animated [True | False]
antialiased или aa [True | False]
clip_box экземпляр matplotlib.transforms.Bbox
clip_on [True | False]
clip_path [ (Path, Transform) | Patch | None ]
color или c любой цвет matplotlib
contains вызываемая функция
dash_capstyle [‘butt’ | ‘round’ | ‘projecting’]
dash_joinstyle [‘miter’ | ‘round’ | ‘bevel’]
dashes последовательность включения/выключения чернил в пунктах
drawstyle [‘default’ | ‘steps’ | ‘steps-pre’ | ‘steps-mid’ | ‘steps-post’]
figure экземпляр matplotlib.figure.Figure
fillstyle [‘full’ | ‘left’ | ‘right’ | ‘bottom’ | ‘top’ | ‘none’]
gid строка идентификатора
label строка или любой печатаемый объект с преобразованием ‘%s’.
linestyle или ls [‘solid’ | ‘dashed’, ‘dashdot’, ‘dotted’ | (смещение, последовательность включения-выключения штрихов) | '-' | '--' | '-.' | ':' | 'None' | ' ' | '']
linewidth или lw значение в пунктах
marker A valid marker style
markeredgecolor или mec любой цвет matplotlib
markeredgewidth или mew значение в пунктах
markerfacecolor или mfc любой цвет matplotlib
markerfacecoloralt или mfcalt любой цвет matplotlib
markersize или ms число с плавающей точкой
markevery [None | целое число | кортеж длиной 2 из целых чисел | срез | список/массив целых чисел | число с плавающей точкой | кортеж длиной 2 из чисел с плавающей точкой]
path_effects неизвестно
picker расстояние в пунктах или вызываемая функция выбора fn(artist, event)
pickradius расстояние в пунктах
rasterized [True | False | None]
sketch_params неизвестно
snap неизвестно
solid_capstyle [‘butt’ | ‘round’ | ‘projecting’]
solid_joinstyle [‘miter’ | ‘round’ | ‘bevel’]
transform экземпляр matplotlib.transforms.Transform
url строка url
visible [True | False]
xdata одномерный массив
ydata одномерный массив
zorder любое число
END_OF_DOCUMENT_MARKER

См. также

specgram()
specgram() отличается по умолчанию перекрытием; не возвращает среднее значение периодограмм сегмента; возвращает время сегментов; и строит цветовое отображение вместо линии.
magnitude_spectrum()
magnitude_spectrum() строит спектр амплитуд.
csd()
csd() строит спектральную плотность между двумя сигналами.
В дополнение к вышеописанным аргументам, эта функция может принимать ключевой аргумент data. Если такой аргумент data задан, следующие аргументы заменяются на data[<arg>]: * Все аргументы с именами: ‘x’.

Примечания

Для построения графиков мощность отображается как в децибелах, хотя Pxx само возвращается.

Ссылки

Bendat & Piersol – Random Data: Analysis and Measurement Procedures, John Wiley & Sons (1986)

Примеры использования matplotlib.pyplot.psd

../../_images/sphx_glr_psd_demo_thumb.png

Демонстрация PSD

© 2012–2017 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
http://matplotlib.org/2.1.0/api/_as_gen/matplotlib.pyplot.psd.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API