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 -
Ось, по которой будут выполняться данные.
Ссылки
-
-
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