Spec-Zone.ru › Matplotlib 3.6

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]

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

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

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.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

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

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

NFFTцелое число, по умолчанию: 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.

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

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

Возвращаемое значение:
Cxyмассив 1-D

Вектор взаимной когерентности.

freqsмассив 1-D

Частоты для элементов в 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Целое число, необязательно

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

NFFTint, по умолчанию: 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.

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'.

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

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

Параметры:
yмассив 0-D или 1-D или последовательность

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

См. также

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, и к сигналу применяется функция окон.

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

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

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массив 1-D

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

freqsмассив 1-D

Частоты, соответствующие элементам в 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, необязательно

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

NFFTint, по умолчанию: 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.

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

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

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

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

modestr, по умолчанию: 'psd'
Тип спектра:
'psd'

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

'complex'

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

'magnitude'

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

'angle'

Возвращает спектр фаз без разматывания.

'phase'

Возвращает спектр фаз с разматыванием.

Возвращаемые значения:
spectrumarray-like

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

freqsarray-like

1D массив, частоты, соответствующие строкам в spectrum.

tarray-like

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

См. также

psd

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

complex_spectrum

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

magnitude_spectrum

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

angle_spectrum

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

phase_spectrum

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

Примечания

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

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

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

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

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

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

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

nint

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

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

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

axisint

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

Примечания

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

Ссылки

stackoverflow: Окна скользящего среднего для одномерных массивов в NumPy? stackoverflow: Использование смещений для эффективного фильтра скользящего среднего

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.6.0/api/mlab_api.html

Spec-Zone.ru

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