Spec-Zone.ru › Matplotlib 3.4

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
Получение всех окон в массиве с высокой эффективностью использования памяти
class matplotlib.mlab.GaussianKDE(dataset, bw_method=None)[source]

Основывается на object

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

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

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

bw_methodstr, скаляр или вызываемая функция, необязательно

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

Атрибуты:
datasetndarray

Набор данных, с помощью которого gaussian_kde был инициализирован.

dimint

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

num_dpint

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

factorfloat

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

covariancendarray

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

inv_covndarray

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

Методы

kde.evaluate(points) (ndarray) Оценить вычисленную плотность вероятности в заданном наборе точек.
kde(points) (ndarray) То же, что и kde.evaluate(points)
covariance_factor()
evaluate(points)[source]

Оценить вычисленную плотность вероятности в заданном наборе точек.

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

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

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

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

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

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

scotts_factor()[source]
silverman_factor()[source]
END_OF_DOCUMENT_MARKER
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_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.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, необязательно

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

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

Количество точек данных, используемых в каждом блоке для БПФ. Степень 2 наиболее эффективна. Это НЕ должно использоваться для получения нулевого заполнения, иначе масштабирование результата будет неправильным; для этого используйте 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.

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Одномерный массив или последовательность

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

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

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

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

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

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

Количество точек данных, используемых в каждом блоке для БПФ. Мощность 2 наиболее эффективна. Это НЕ следует использовать для получения нулевого заполнения, или масштабирование результата будет неправильным; для этого используйте 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

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

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

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

Возвращаемое значение:
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 с удалённой тенденцией.

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

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

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

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

axisint

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

См. также

detrend_mean
Реализация алгоритма 'mean'.
detrend_linear
Реализация алгоритма 'linear'.
detrend_none
Реализация алгоритма 'none'.
matplotlib.mlab.detrend_linear(y)[source]

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

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

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

axisint

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

См. также

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Одномерный массив или последовательность

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

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. Степень двойки обеспечивает максимальную эффективность. Не следует использовать для получения нулевого заполнения, так как это повлияет на масштабирование результата; для этого используйте 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

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

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

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

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

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

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

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

См. также

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

Ссылки

Bendat & Piersol — Random Data: Analysis and Measurement Procedures, 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'}, необязательно

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

pad_toint, необязательно

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

Указывает, следует ли масштабировать возвращаемые значения плотности в соответствии с масштабом частоты, что даёт плотность в единицах Hz^-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
аналогично для одного сегмента, когда режим 'magnitude'.
angle_spectrum
аналогично для одного сегмента, когда режим 'angle'.
phase_spectrum
аналогично для одного сегмента, когда режим 'phase'.

Примечания

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

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

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

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

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

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

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

nint

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

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

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

axisint

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

Ссылки

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–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.4.3/api/mlab_api.html

Spec-Zone.ru

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