Spec-Zone.ru › Matplotlib 3.1

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

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

Параметры:
dataset : array_like

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

bw_method : str, scalar or callable, optional

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

Атрибуты:
dataset : ndarray

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

dim : int

Число измерений.

num_dp : int

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

factor : float

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

covariance : ndarray

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

inv_cov : ndarray

Обратная величина covariance.

Методы

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

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

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

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

Возвращает:
values : (# of points,)-array

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

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

больше, чем размерность KDE.

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

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

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

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

Fs : scalar

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

window : callable or ndarray

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

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

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

pad_to : int

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

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

Значения для спектра угла в радианах (вещественные)

freqs : 1-D array

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

См. также

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

Применение заданного окна к заданному массиву 1D или 2D вдоль заданной оси.

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

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

window : function or array.

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

axis : integer

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

return_window : bool

Если True, также возвращаются 1D значения окна, которое было применено

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

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

window : callable or ndarray

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

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

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

pad_to : int

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

NFFT : int

Количество точек данных, используемых в каждом блоке для FFT. Мощность 2 наиболее эффективна. Значение по умолчанию равно 256. Это НЕ должно использоваться для получения нулевого заполнения, или масштабирование результата будет неправильным. Для этого используйте 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_freq : bool, optional

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

noverlap : integer

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

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

См. также

psd(), csd()
Для получения информации о методах вычисления \(P_{xy}\), \(P_{xx}\) и \(P_{yy}\).
matplotlib.mlab.complex_spectrum(x, Fs=None, window=None, pad_to=None, sides=None) [source]

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

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

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

Fs : scalar

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

window : callable or ndarray

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

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

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

pad_to : int

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

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

Значения комплексного спектра (комплексные)

freqs : 1-D array

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

См. также

magnitude_spectrum
Возвращает абсолютное значение этой функции.
angle_spectrum
Возвращает угол этой функции.
phase_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 : 1-D arrays or sequences

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

Fs : scalar

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

window : callable or ndarray

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

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

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

pad_to : int

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

NFFT : int

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

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

noverlap : integer

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

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

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

freqs : 1-D array

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

См. также

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

Ссылки

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

matplotlib.mlab.demean(x, axis=0) [source]

[Устарело] Возвращает x минус его среднее значение по указанной оси.

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

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

axis : integer

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

См. также

detrend_mean
То же, что demean, за исключением значения по умолчанию для axis.

Замечания

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

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

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

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

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

key : [ 'default' | 'constant' | 'mean' | 'linear' | 'none'] or function

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

axis : integer

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

См. также

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

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

Параметры:
y : 0-D or 1-D array or sequence

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

axis : integer

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

См. также

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

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

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

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

axis : integer

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

См. также

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

Возвращает x: без линеаризации.

Параметры:
x : any object

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

axis : integer

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

См. также

detrend_mean
Другой алгоритм линеаризации.
detrend_linear
Другой алгоритм линеаризации.
detrend
Обёртка вокруг всех алгоритмов линеаризации.
matplotlib.mlab.magnitude_spectrum(x, Fs=None, window=None, pad_to=None, sides=None) [source]

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

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

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

Fs : scalar

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

window : callable or ndarray

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

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

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

pad_to : int

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

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

Значения для спектра величины (вещественные значения)

freqs : 1-D array

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

См. также

psd
Возвращает плотность спектральной мощности.
complex_spectrum
Эта функция возвращает абсолютное значение complex_spectrum.
angle_spectrum
Возвращает углы соответствующих частот.
phase_spectrum
Возвращает фазу (неупакованный угол) соответствующих частот.
specgram
Может возвращать комплексный спектр сегментов в пределах сигнала.
matplotlib.mlab.phase_spectrum(x, Fs=None, window=None, pad_to=None, sides=None) [source]

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

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

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

Fs : scalar

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

window : callable or ndarray

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

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

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

pad_to : int

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

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

Значения спектра фазы в радианах (вещественные значения)

freqs : 1-D array

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

См. также

complex_spectrum
Эта функция возвращает значение фазы complex_spectrum.
magnitude_spectrum
Возвращает величины соответствующих частот.
angle_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 : 1-D array or sequence

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

Fs : scalar

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

window : callable or ndarray

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

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

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

pad_to : int

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

NFFT : int

Количество точек данных, используемых в каждом блоке для FFT. Степень двойки наиболее эффективна. Значение по умолчанию — 256. Не следует использовать для получения нулевого заполнения, так как это повлияет на масштабирование результата. Используйте 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_freq : bool, optional

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

noverlap : integer

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

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

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

freqs : 1-D array

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

Параметры:
x : array_like

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

Fs : scalar

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

window : callable or ndarray

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

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

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

pad_to : int

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

NFFT : int

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

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

noverlap : int, optional

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

mode : str, optional
Какой тип спектра использовать, по умолчанию 'psd'.
'psd'

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

'complex'

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

'magnitude'

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

'angle'

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

'phase'

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

Возвращает:
spectrum : array_like

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

freqs : array_like

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

t : array_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 раз.

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

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

Параметры:
x : 1D array or sequence

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

n : integer

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

axis : integer

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

Ссылки

stackoverflow: Repeat NumPy array without replicating data?

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

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

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

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

Параметры:
x : 1D array or sequence

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

n : integer

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

noverlap : integer

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

axis : integer

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

Ссылки

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

Spec-Zone.ru

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