Spec-Zone.ru › Matplotlib 3.3

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

Bases: object

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

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

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

bw_methodstr, scalar or callable, optional

Метод, используемый для вычисления ширины полосы оценивателя. Это может быть '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(self)
evaluate(self, points) [source]

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

Параметры:
points(# of dimensions, # of points)-array

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

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

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

Исключения:
ValueErrorif the dimensionality of the input points is different

чем размерность KDE.

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

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

Параметры:
x1-D array or sequence

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

Fsfloat, default: 2

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

windowcallable or ndarray, default: 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

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

Возвращаемое значение:
spectrum1-D array

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

freqs1-D array

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

См. также

psd
Возвращает плотность спектральной мощности.
complex_spectrum
Возвращает комплексный спектр частот.
magnitude_spectrum
Возвращает абсолютное значение complex_spectrum.
angle_spectrum
Возвращает угол complex_spectrum.
phase_spectrum
Возвращает фазу (развёрнутый угол) complex_spectrum.
specgram
Может вернуть комплексный спектр сегментов внутри сигнала.
matplotlib.mlab.apply_window(x, window, axis=0, return_window=None) [source]

[Устаревшее] Применить заданное окно к заданному одномерному или двумерному массиву по заданной оси.

Параметры:
x1D or 2D array or sequence

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

windowfunction or array.

Функция для создания окна или массив длиной x.shape[axis]

axisint

Ось, по которой следует выполнить повторение. Должна быть 0 или 1. Значение по умолчанию — 0.

return_windowbool

Если True, также возвращаются одномерные значения применённого окна.

Примечания

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

matplotlib.mlab.cohere(x, y, NFFT=256, Fs=2, detrend=<function detrend_none at 0x7fba54bf6820>, window=<function window_hanning at 0x7fba54bf6160>, 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, default: 2

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

windowcallable or ndarray, default: 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, default: 256

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

detrend{'none', 'mean', 'linear'} or callable, default 'none'

Функция, применяемая к каждому фрагменту перед БПФ, предназначенная для удаления среднего значения или линейной тенденции. В отличие от MATLAB, где параметр detrend — вектор, в Matplotlib это функция. Модуль mlab определяет detrend_none, detrend_mean и detrend_linear, но вы также можете использовать пользовательскую функцию. Вы также можете использовать строку, чтобы выбрать одну из функций: 'none' вызывает detrend_none. 'mean' вызывает detrend_mean. 'linear' вызывает detrend_linear.

scale_by_freqbool, default: True

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

noverlapint

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

Возвращаемые значения:
Возвращаемое значение — кортеж (Cxy, f), где f — частоты вектора
когерентности. Для cohere масштабирование
индивидуальных плотностей частотой дискретизации
не оказывает никакого влияния, так как множители
сокращаются.

См. также

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.

Параметры:
x1-D array or sequence

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

Fsfloat, default: 2

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

windowcallable or ndarray, default: 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

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

Возвращаемые значения:
spectrum1-D array

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

freqs1-D array

Частоты, соответствующие элементам в 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, y1-D arrays or sequences

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

Fsfloat, default: 2

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

windowcallable or ndarray, default: 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, default: 256

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

detrend{'none', 'mean', 'linear'} or callable, default 'none'

Функция, применяемая к каждому сегменту перед БПФ, предназначенная для удаления среднего или линейной тенденции. В отличие от MATLAB, где параметр detrend — вектор, в Matplotlib он функция. Модуль mlab определяет detrend_none, detrend_mean и detrend_linear, но вы можете использовать и пользовательскую функцию. Вы также можете использовать строку для выбора одной из функций: 'none' вызывает detrend_none. 'mean' вызывает detrend_mean. 'linear' вызывает detrend_linear.

scale_by_freqbool, default: True

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

noverlapint

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

Возвращает:
Pxy1-D array

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

freqs1-D array

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

См. также

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

Ссылки

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

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

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

Параметры:
xarray or sequence

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

key{'default', 'constant', 'mean', 'linear', 'none'} or function

Алгоритм удаления тенденции. '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-D or 1-D array or sequence

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

axisint

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

См. также

detrend_mean
Другой алгоритм удаления тенденции.
detrend_none
Другой алгоритм удаления тенденции.
detrend
Обёртка вокруг всех алгоритмов удаления тенденции.
matplotlib.mlab.detrend_mean(x, axis=None) [source]

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

Параметры:
xarray or sequence

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

axisint

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

См. также

detrend_linear
Другой алгоритм удаления тенденции.
detrend_none
Другой алгоритм удаления тенденции.
detrend
Обёртка вокруг всех алгоритмов удаления тенденции.
matplotlib.mlab.detrend_none(x, axis=None) [source]

Возвращает x: без сглаживания.

Параметры:
xany object

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

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-D array or sequence

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

Fsfloat, default: 2

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

windowcallable or ndarray, default: 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

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

Возвращает:
spectrum1-D array

Модуль (абсолютное значение) спектра частот.

freqs1-D array

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

Параметры:
x1-D array or sequence

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

Fsfloat, default: 2

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

windowcallable or ndarray, default: 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

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

Возвращает:
spectrum1-D array

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

freqs1-D array

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

Параметры:
x1-D array or sequence

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

Fsfloat, default: 2

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

windowcallable or ndarray, default: 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

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

NFFTint, default: 256

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

detrend{'none', 'mean', 'linear'} or callable, default 'none'

Функция, применяемая к каждому сегменту до fft, предназначенная для удаления среднего значения или линейной тенденции. В отличие от MATLAB, где параметр detrend является вектором, в Matplotlib это функция. Модуль mlab определяет detrend_none, detrend_mean и detrend_linear, но вы также можете использовать пользовательскую функцию. Также можно использовать строку для выбора одной из функций: 'none' вызывает detrend_none, 'mean' вызывает detrend_mean, 'linear' вызывает detrend_linear.

scale_by_freqbool, default: True

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

noverlapint

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

Возвращаемые значения:
Pxx1-D array

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

freqs1-D array

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

См. также

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

Ссылки

Бендат и Пирсол — Случайные данные: анализ и измерения, 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]

Вычислить спектrogram.

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

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

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

Fsfloat, default: 2

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

windowcallable or ndarray, default: 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

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

NFFTint, default: 256

Количество точек данных, используемых в каждом блоке для FFT. Степень 2 наиболее эффективна. Это НЕЛЬЗЯ использовать для получения нулевого заполнения, иначе масштабирование результата будет неверным; для этого используйте pad_to.

detrend{'none', 'mean', 'linear'} or callable, default 'none'

Функция, применяемая к каждому сегменту перед fft, предназначенная для удаления среднего значения или линейной тенденции. В отличие от MATLAB, где параметр detrend — вектор, в Matplotlib это функция. Модуль mlab определяет detrend_none, detrend_mean и detrend_linear, но вы также можете использовать пользовательскую функцию. Вы также можете использовать строку для выбора одной из функций: 'none' вызывает detrend_none. 'mean' вызывает detrend_mean. 'linear' вызывает detrend_linear.

scale_by_freqbool, default: True

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

noverlapint, optional

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

modestr, default: '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_repeat(x, n, axis=0) [source]

[Устарело] Повторить значения в массиве эффективно с точки зрения памяти. Массив x складывается вертикально n раз.

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

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

Параметры:
x1D array or sequence

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

nint

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

axisint

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

Примечания

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

Ссылки

stackoverflow: Повторить массив NumPy без дублирования данных?

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

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

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

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

Параметры:
x1D array or sequence

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

nint

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

noverlapint

Перекрытие между соседними окнами. По умолчанию 0 (без перекрытия).

axisint

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

Ссылки

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

matplotlib.mlab.window_hanning(x) [source]

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

См. также

window_none
Другой алгоритм окна.
END_OF_DOCUMENT_MARKER
matplotlib.mlab.window_none(x) [source]

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

См. также

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

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

Spec-Zone.ru

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