Spec-Zone.ru › Matplotlib 3.7

matplotlib.mlab

Функции числового Python, написанные для совместимости с командами MATLAB с такими же именами. Большинство числовых функций Python можно найти в библиотеках NumPy и SciPy. Здесь остаётся код для выполнения спектральных вычислений и оценок плотности ядра.

Спектральные функции

cohere

Когерентность (нормализованная кросс-спектральная плотность)

csd

Кросс-спектральная плотность с использованием усреднённой периодограммы Уэлча

detrend

Удалить среднее значение или линию наилучшей аппроксимации из массива

psd

Плотность спектральной мощности с использованием усреднённой периодограммы Уэлча

specgram

Спектрограмма (спектр по сегментам времени)

complex_spectrum

Возвращает комплекснозначный частотный спектр сигнала

magnitude_spectrum

Возвращает величину частотного спектра сигнала

angle_spectrum

Возвращает угол (упакованная фаза) частотного спектра сигнала

phase_spectrum

Возвращает фазу (неупакованный угол) частотного спектра сигнала

detrend_mean

Удалить среднее значение с прямой.

detrend_linear

Удалить прямую наилучшей аппроксимации с прямой.

detrend_none

Возвращает исходную прямую.

stride_windows

Получить все окна в массиве эффективным способом с точки зрения памяти

classmatplotlib.mlab.GaussianKDE(dataset, bw_method=None)[source]

Основано на object

Представление оценки плотности ядра с использованием гауссовых ядер.

Параметры:
datasetarray-like

Точки данных для оценки. В случае одномерных данных это одномерный массив, в противном случае двумерный массив с формой (# измерений, # данных).

bw_methodstr, скаляр или вызываемый объект, необязательно

Метод, используемый для вычисления ширины полосы оценки. Это может быть 'scott', 'silverman', скалярная константа или вызываемый объект. Если скаляр, он будет использоваться непосредственно как kde.factor. Если вызываемый объект, он должен принимать экземпляр GaussianKDE в качестве единственного параметра и возвращать скаляр. Если None (по умолчанию), используется 'scott'.

Атрибуты:
datasetndarray

Набор данных, переданный конструктору.

dimint

Количество измерений.

num_dpint

Количество точек данных.

factorfloat

Фактор ширины полосы, полученный из kde.covariance_factor, с которым умножается матрица ковариаций.

covariancendarray

Матрица ковариаций dataset, масштабированная вычисленной шириной полосы (kde.factor).

inv_covndarray

Обратная матрица covariance.

Методы

kde.evaluate(points)

(ndarray) Оценить pdf на предоставленном наборе точек.

kde(points)

(ndarray) То же самое, что и kde.evaluate(points)

covariance_factor()[source]
evaluate(points)[source]

Оценить pdf на наборе точек.

Параметры:
points(# измерений, # точек)-массив

В качестве альтернативы можно передать вектор (# измерений,) и обработать его как одну точку.

Возвращает:
(# точек,)-массив

Значения в каждой точке.

Исключения:
ValueErrorесли размерность входных точек отличается

от размерности KDE.

scotts_factor()[source]
silverman_factor()[source]
matplotlib.mlab.angle_spectrum(x, Fs=None, window=None, pad_to=None, sides=None)

Вычислить угол спектра частот (спектра фаз, перевёрнутого в оболочке) x. Данные дополняются до длины pad_to, и к сигналу применяется функция окна window.

Параметры:
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_toint, необязательно

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

Возвращает:
spectrumОдномерный массив

Угол спектра частот (спектр фаз, перевёрнутый в оболочке).

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

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

См. также

psd

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

complex_spectrum

Возвращает комплекснозначный спектр частот.

magnitude_spectrum

Возвращает абсолютное значение complex_spectrum.

angle_spectrum

Возвращает угол complex_spectrum.

phase_spectrum

Возвращает фазу (разворот угла) complex_spectrum.

specgram

Может вернуть комплексный спектр сегментов внутри сигнала.

matplotlib.mlab.cohere(x, y, NFFT=256, Fs=2, detrend=<function detrend_none>, window=<function window_hanning>, noverlap=0, pad_to=None, sides='default', scale_by_freq=None)[source]

Когерентность между x и y. Когерентность — это нормированная кросс-спектральная плотность:

\[C_{xy} = \frac{|P_{xy}|^2}{P_{xx}P_{yy}}\]
Параметры:
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, которое определяет количество точек данных. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешимыми пиками), это может дать больше точек в графике, позволяя получить больше деталей. Это соответствует параметру 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 (нет перекрытия)

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

Возвращает:
Cxyодномерный массив

Вектор когерентности.

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

Частоты для элементов в Cxy.

См. также

psd(), csd()

Для получения информации о методах вычисления \(P_{xy}\), \(P_{xx}\) и \(P_{yy}\).

matplotlib.mlab.complex_spectrum(x, Fs=None, window=None, pad_to=None, sides=None)

Вычислить комплексное частотное спектр x. Данные дополняются до длины pad_to, и к сигналу применяется функция оконной обработки window.

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

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

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, необязательно

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

Возвращает:
spectrumОдномерный массив

Комплексный частотный спектр.

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

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

См. также

psd

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

complex_spectrum

Возвращает комплексный частотный спектр.

magnitude_spectrum

Возвращает абсолютное значение complex_spectrum.

angle_spectrum

Возвращает угол complex_spectrum.

phase_spectrum

Возвращает фазу (развёрнутый угол) complex_spectrum.

specgram

Может возвращать комплексный спектр фрагментов внутри сигнала.

matplotlib.mlab.csd(x, y, NFFT=None, Fs=None, detrend=None, window=None, noverlap=None, pad_to=None, sides=None, scale_by_freq=None)[source]

Вычислить кросс-спектральную плотность.

Кросс-спектральная плотность \(P_{xy}\) методом усреднённой периодограммы Уэлча. Векторы x и y делятся на сегменты длиной NFFT. Каждый сегмент сглаживается функцией detrend и окончивается функцией window. noverlap задаёт длину перекрытия между сегментами. Произведение прямых преобразований Фурье для x и y усредняется по каждому сегменту для вычисления \(P_{xy}\), со шкалированием для исправления потерь мощности из-за окон.

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

Parameters:
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, которое задаёт количество точек данных, используемых. Хотя не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешаемыми пиками), это может дать больше точек на графике, позволяя получить больше деталей. Соответствует параметру n в вызове fft. По умолчанию 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 (без перекрытия)

Количество точек перекрытия между сегментами.

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

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

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

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

См. также

psd

эквивалентно установке y = x.

Ссылки

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

matplotlib.mlab.detrend(x, key=None, axis=None)[source]

Возвращает x со своей тенденцией, удалённой.

Parameters:
xмассив или последовательность

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

key{'default', 'constant', 'mean', 'linear', 'none'} или функция

Алгоритм сглаживания. 'default', 'mean', и 'constant' — то же, что detrend_mean. 'linear' — то же, что detrend_linear. 'none' — то же, что detrend_none. По умолчанию 'mean'. См. соответствующие функции для получения более подробной информации об алгоритмах. Также может быть функцией, которая выполняет операцию сглаживания.

axisцелое число

Ось, вдоль которой выполнять сглаживание.

См. также

detrend_mean

Реализация алгоритма 'mean'.

detrend_linear

Реализация алгоритма 'linear'.

detrend_none

Реализация алгоритма 'none'.

END_OF_DOCUMENT_MARKER
matplotlib.mlab.detrend_linear(y)[source]

Возвращает x минус лучшую линию подгонки; 'линейная' обработка тренда.

Параметры:
y0-мерный или 1-мерный массив или последовательность

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

См. также

detrend_mean

Другой алгоритм обработки тренда.

detrend_none

Другой алгоритм обработки тренда.

detrend

Обёртка вокруг всех алгоритмов обработки тренда.

matplotlib.mlab.detrend_mean(x, axis=None)[source]

Возвращает x минус среднее значение(x).

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

Массив или последовательность, содержащая данные. Может иметь любую размерность

axisint

Ось, по которой вычисляется среднее значение. См. numpy.mean для описания этого аргумента.

См. также

detrend_linear

Другой алгоритм обработки тренда.

detrend_none

Другой алгоритм обработки тренда.

detrend

Обёртка вокруг всех алгоритмов обработки тренда.

matplotlib.mlab.detrend_none(x, axis=None)[source]

Возвращает x: без обработки тренда.

Параметры:
xлюбой объект

Объект, содержащий данные

axisint

Этот параметр игнорируется. Он включён для совместимости с detrend_mean

См. также

detrend_mean

Другой алгоритм обработки тренда.

detrend_linear

Другой алгоритм обработки тренда.

detrend

Обёртка вокруг всех алгоритмов обработки тренда.

matplotlib.mlab.magnitude_spectrum(x, Fs=None, window=None, pad_to=None, sides=None)

Вычисляет величину (абсолютное значение) спектра частот x. Данные дополняются до длины pad_to, и к сигналу применяется функция окна window.

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

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

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. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешаемыми пиками), это может дать больше точек в графике, что позволит получить больше деталей. Это соответствует параметру n в вызове fft. По умолчанию None, что задаёт pad_to равным длине входного сигнала (т.е. без дополнения).

Возвращает:
spectrum1-мерный массив

Величина (абсолютное значение) спектра частот.

freqs1-мерный массив

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

См. также

psd

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

complex_spectrum

Возвращает комплекснозначный спектр частот.

magnitude_spectrum

Возвращает абсолютное значение complex_spectrum.

angle_spectrum

Возвращает угол complex_spectrum.

phase_spectrum

Возвращает фазу (непрерывный угол) complex_spectrum.

specgram

Может возвращать комплексный спектр сегментов внутри сигнала.

matplotlib.mlab.phase_spectrum(x, Fs=None, window=None, pad_to=None, sides=None)

Вычислить фазу спектра частот (непрерывный спектр фаз) x. Данные заполняются до длины pad_to, а функция оконного фильтра window применяется к сигналу.

Параметры:
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. Несмотря на то, что это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешаемыми пиками), это может дать больше точек в графике, что позволит отобразить больше деталей. Это соответствует параметру n в вызове fft. Значение по умолчанию — None, что устанавливает pad_to равным длине входного сигнала (т.е. без заполнения).

Возвращает:
spectrumОдномерный массив

Фаза спектра частот (непрерывный спектр фаз).

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

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

См. также

psd

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

complex_spectrum

Возвращает комплекснозначный спектр частот.

magnitude_spectrum

Возвращает абсолютное значение complex_spectrum.

angle_spectrum

Возвращает угол complex_spectrum.

phase_spectrum

Возвращает фазу (непрерывный угол) complex_spectrum.

specgram

Может вернуть комплексный спектр сегментов в сигнале.

matplotlib.mlab.psd(x, NFFT=None, Fs=None, detrend=None, window=None, noverlap=None, pad_to=None, sides=None, scale_by_freq=None)[source]

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

Плотность спектральной мощности \(P_{xx}\) методом усреднённого периодограммы Уэлча. Вектор x делится на сегменты длиной NFFT. Каждый сегмент сглаживается функцией detrend и окончивается функцией window. noverlap задаёт длину перекрытия между сегментами. Значение \(|\mathrm{fft}(i)|^2\) каждого сегмента \(i\) усредняются для вычисления \(P_{xx}\).

Если len(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'}, optional

Какие стороны спектра возвращать. 'default' — односторонняя для вещественных данных и двусторонняя для комплексных данных. 'onesided' принудительно возвращает односторонний спектр, а 'twosided' — двусторонний.

pad_toцелое число, необязательно

Количество точек, до которого дополняется сегмент данных при выполнении БПФ. Это может отличаться от NFFT, которое определяет количество используемых точек данных. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешаемыми пиками), это может дать больше точек на графике, позволяя получить больше деталей. Это соответствует параметру n в вызове fft. По умолчанию равно 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_freqбулево значение, по умолчанию: True

Определяет, должны ли значения плотности масштабироваться с учётом частоты масштабирования, что даёт плотность в единицах 1/Гц. Это позволяет интегрировать по возвращаемым частотам. По умолчанию True для совместимости с MATLAB.

noverlapцелое число, по умолчанию: 0 (без перекрытия)

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

Возвращаемые значения:
PxxОдномерный массив

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

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

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

См. также

specgram

specgram отличается по умолчанию перекрытием; не возвращает среднее значение периодограмм сегмента; и возвращает время сегментов.

magnitude_spectrum

возвращает спектр величины.

csd

возвращает плотность спектра между двумя сигналами.

Ссылки

Bendat & Piersol — Случайные данные: анализ и процедуры измерения, John Wiley & Sons (1986)

matplotlib.mlab.specgram(x, NFFT=None, Fs=None, detrend=None, window=None, noverlap=None, pad_to=None, sides=None, scale_by_freq=None, mode=None)[source]

Вычислить спектр зависимости.

Вычислите и отобразите спектр зависимости данных в x. Данные разбиваются на сегменты длиной NFFT, и вычисляется спектр каждого сегмента. К каждому сегменту применяется функция окна window, а количество перекрытия каждого сегмента задаётся параметром noverlap.

Параметры:
xarray-like

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

Fsfloat, по умолчанию: 2

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

windowcallable или ndarray, по умолчанию: window_hanning

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

sides{'default', 'onesided', 'twosided'}, optional

Какие стороны спектра возвращать. 'default' — односторонняя для вещественных данных и двусторонняя для комплексных данных. 'onesided' принудительно возвращает односторонний спектр, а 'twosided' — двусторонний.

pad_toint, optional

Число точек, до которого заполняются сегменты данных при выполнении БПФ. Это может отличаться от NFFT, которое определяет количество точек данных, используемых.

NFFTint, по умолчанию: 256

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

detrend{'none', 'mean', 'linear'} или callable, по умолчанию: '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.

noverlapint, по умолчанию: 128

Количество перекрывающихся точек между блоками.

modestr, по умолчанию: 'psd'

Тип спектра, который нужно использовать:

'psd' — Возвращает плотность спектральной мощности. 'complex' — Возвращает комплекснозначный спектр частоты. 'magnitude' — Возвращает спектр величины. 'angle' — Возвращает фазовый спектр без развёртывания. 'phase' — Возвращает фазовый спектр с развёртыванием.

Возвращает:
spectrumarray-like

Двумерный массив, столбцы — периодограммы последовательных сегментов.

freqsarray-like

Одномерный массив, частоты, соответствующие строкам в spectrum.

tarray-like

Одномерный массив, моменты времени, соответствующие серединам сегментов (т. е. столбцам в spectrum).

См. также

psd

отличается перекрытием и возвращаемыми значениями.

complex_spectrum

аналогично, но с комплекснозначными частотами.

magnitude_spectrum

аналогично одиночному сегменту, когда mode равен 'magnitude'.

angle_spectrum

аналогично одиночному сегменту, когда mode равен 'angle'.

phase_spectrum

аналогично одиночному сегменту, когда mode равен 'phase'.

Примечания

detrend и scale_by_freq применяются только тогда, когда mode установлен в 'psd'.

END_OF_DOCUMENT_MARKER
matplotlib.mlab.stride_windows(x, n, noverlap=None, axis=0)[source]

[Устаревшее] Получить все окна длины n массива x как единый массив, используя смещения для избежания дублирования данных.

Предупреждение

Небезопасно записывать в выходной массив. Несколько элементов могут указывать на один и тот же фрагмент памяти, поэтому изменение одного значения может изменить другие.

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

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

nint

Количество точек данных в каждом окне.

noverlapint, по умолчанию: 0 (без перекрытия)

Перекрытие между соседними окнами.

axisint

Ось, вдоль которой будут проходить окна.

Примечания

Устарело начиная с версии 3.6.

Ссылки

stackoverflow: Rolling window for 1D arrays in Numpy? stackoverflow: Using strides for an efficient moving average filter

matplotlib.mlab.window_hanning(x)[source]

Возвращает x, умноженное на окно Ханна (или ханнинга) длиной len(x).

См. также

window_none

Другой алгоритм окна.

matplotlib.mlab.window_none(x)[source]

Функция окна не используется; просто возвращает x.

См. также

window_hanning

Другой алгоритм окна.

© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.7.5/api/mlab_api.html

Spec-Zone.ru

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