matplotlib.mlab
Числовые функции Python, написанные для совместимости с командами MATLAB с такими же именами. Большинство числовых функций Python можно найти в библиотеках numpy и scipy. Здесь остаётся код для выполнения спектральных вычислений.
Спектральные функции
cohere- Когерентность (нормализованная взаимная спектральная плотность)
csd- Взаимная спектральная плотность с использованием усреднённой периодограммы Уэлча
detrend- Удаление среднего значения или линии наилучшей аппроксимации из массива
psd- Плотность спектральной мощности с использованием усреднённой периодограммы Уэлча
specgram- Спектрограмма (спектр по сегментам времени)
complex_spectrum- Возвращает комплекснозначный частотный спектр сигнала
magnitude_spectrum- Возвращает величину частотного спектра сигнала
angle_spectrum- Возвращает угол (упакованную фазу) частотного спектра сигнала
phase_spectrum- Возвращает фазу (неупакованный угол) частотного спектра сигнала
detrend_mean- Удаление среднего значения из линии.
detrend_linear- Удаление линии наилучшей подгонки из линии.
detrend_none- Возвращает исходную линию.
stride_windows- Получение всех окон в массиве с высокой эффективностью использования памяти
- class
matplotlib.mlab.GaussianKDE(dataset, bw_method=None)[source] -
Основывается на
objectПредставление оценки плотности ядра с использованием гауссовых ядер.
Параметры: - datasetarray-like
-
Точки данных для оценки. В случае одномерных данных это одномерный массив, в противном случае двумерный массив с формой (# измерений, # данных).
- bw_methodstr, скаляр или вызываемая функция, необязательно
-
Метод, используемый для вычисления ширины полосы оценки. Это может быть 'scott', 'silverman', скалярная константа или вызываемая функция. Если скаляр, это будет использоваться непосредственно как
kde.factor. Если вызываемая функция, она должна принимать экземплярGaussianKDEв качестве единственного параметра и возвращать скаляр. Если None (по умолчанию), используется 'scott'.
Атрибуты: - datasetndarray
-
Набор данных, с помощью которого
gaussian_kdeбыл инициализирован. - dimint
-
Количество измерений.
- num_dpint
-
Количество точек данных.
- factorfloat
-
Коэффициент ширины полосы, полученный из
kde.covariance_factor, с которым умножается матрица ковариации. - covariancendarray
-
Матрица ковариации dataset, масштабированная вычисленной шириной полосы (
kde.factor). - inv_covndarray
-
Обратная матрица covariance.
Методы
kde.evaluate(points) (ndarray) Оценить вычисленную плотность вероятности в заданном наборе точек. kde(points) (ndarray) То же, что и kde.evaluate(points) -
covariance_factor()
-
evaluate(points)[source] -
Оценить вычисленную плотность вероятности в заданном наборе точек.
Параметры: - points(# измерений, # точек)-массив
-
В качестве альтернативы можно передать вектор (# измерений,) и обработать его как отдельную точку.
Возвращает: - (# точек,)-массив
-
Значения в каждой точке.
Возможные исключения: - ValueErrorесли размерность входных точек отличается
-
от размерности KDE.
-
scotts_factor()[source]
-
silverman_factor()[source]
-
matplotlib.mlab.angle_spectrum(x, Fs=None, window=None, pad_to=None, sides=None) -
Вычислить угол спектра частот (обёрнутый фазовый спектр) x. Данные дополняются до длины pad_to, и к сигналу применяется функция оконного усреднения window.
Параметры: - xОдномерный массив или последовательность
-
Массив или последовательность, содержащие данные
- Fsвещественное число, по умолчанию: 2
-
Частота дискретизации (образец в единицу времени). Используется для вычисления частот Фурье, freqs, в циклах за единицу времени.
-
windowвызываемый объект или одномерный массив, по умолчанию:
window_hanning -
Функция или вектор длины NFFT. Для создания векторов окна см.
window_hanning,window_none,numpy.blackman,numpy.hamming,numpy.bartlett,scipy.signal,scipy.signal.get_windowи т.д. Если в качестве аргумента передается функция, она должна принимать фрагмент данных в качестве аргумента и возвращать окно фрагмента. - sides{'default', 'onesided', 'twosided'}, необязательно
-
Какие стороны спектра возвращать. 'default' — односторонняя для вещественных данных и двухсторонняя для комплексных данных. 'onesided' принудительно возвращает односторонний спектр, а 'twosided' — двухсторонний.
- pad_toцелое число, необязательно
-
Количество точек, до которых дополняется фрагмент данных при выполнении FFT. Несмотря на то, что это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешаемыми пиками), это может обеспечить больше точек на графике, что позволит получить больше деталей. Это соответствует параметру n в вызове fft(). По умолчанию значение None, что устанавливает pad_to равным длине входного сигнала (т.е. без дополнения).
Возвращает: - spectrumОдномерный массив
-
Угол спектра частот (обёрнутый фазовый спектр).
- freqsОдномерный массив
-
Частоты, соответствующие элементам в spectrum.
См. также
psd- Возвращает плотность спектральной мощности.
complex_spectrum- Возвращает комплекснозначный спектр частот.
magnitude_spectrum- Возвращает абсолютное значение
complex_spectrum. angle_spectrum- Возвращает угол
complex_spectrum. phase_spectrum- Возвращает фазу (необёрнутый угол)
complex_spectrum. specgram- Может возвращать комплексный спектр фрагментов внутри сигнала.
-
matplotlib.mlab.cohere(x, y, NFFT=256, Fs=2, detrend=<function detrend_none>, window=<function window_hanning>, noverlap=0, pad_to=None, sides='default', scale_by_freq=None)[source] -
Когерентность между x и y. Когерентность — это нормированная кросс-спектральная плотность:
\[C_{xy} = \frac{|P_{xy}|^2}{P_{xx}P_{yy}}\]Параметры: - x, y
-
Массив или последовательность, содержащая данные.
- Fsfloat, по умолчанию: 2
-
Частота дискретизации (образцов в единицу времени). Используется для вычисления частот Фурье, freqs, в циклах на единицу времени.
-
windowвызываемая функция или массив, по умолчанию:
window_hanning -
Функция или вектор длиной NFFT. Для создания векторов окон см.
window_hanning,window_none,numpy.blackman,numpy.hamming,numpy.bartlett,scipy.signal,scipy.signal.get_windowи т.д. Если в качестве аргумента передана функция, она должна принимать сегмент данных и возвращать оконную версию сегмента. - sides{'default', 'onesided', 'twosided'}, необязательно
-
Какие стороны спектра возвращать. 'default' — односторонняя для вещественных данных и двухсторонняя для комплексных данных. 'onesided' — принудительное возвращение одностороннего спектра, а 'twosided' — двухстороннего.
- pad_toint, необязательно
-
Количество точек, до которого дополняется сегмент данных при выполнении БПФ. Это может отличаться от NFFT, которое определяет количество точек данных, используемых. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешаемыми пиками), это может обеспечить больше точек на графике, что позволит получить больше деталей. Это соответствует параметру n в вызове fft(). По умолчанию None, что устанавливает pad_to равным NFFT.
- NFFTint, по умолчанию: 256
-
Количество точек данных, используемых в каждом блоке для БПФ. Степень 2 наиболее эффективна. Это НЕ должно использоваться для получения нулевого заполнения, иначе масштабирование результата будет неправильным; для этого используйте pad_to.
- detrend{'none', 'mean', 'linear'} или вызываемая функция, по умолчанию: 'none'
-
Функция, применяемая к каждому сегменту перед БПФ, предназначенная для удаления среднего или линейной тенденции. В отличие от MATLAB, где параметр detrend — вектор, в Matplotlib он является функцией. Модуль
mlabопределяетdetrend_none,detrend_meanиdetrend_linear, но вы также можете использовать пользовательскую функцию. Вы также можете использовать строку для выбора одной из функций: 'none' вызываетdetrend_none. 'mean' вызываетdetrend_mean. 'linear' вызываетdetrend_linear. - scale_by_freqbool, по умолчанию: True
-
Определяет, должны ли возвращаемые значения плотности масштабироваться по частоте масштабирования, что дает плотность в единицах Гц^-1. Это позволяет интегрировать по возвращаемым частотным значениям. По умолчанию True для совместимости с MATLAB.
- noverlapint, по умолчанию: 0 (без перекрытия)
-
Количество перекрывающихся точек между сегментами.
Возвращаемое значение: - Cxyодномерный массив
-
Вектор когерентности.
- freqsодномерный массив
-
Частоты для элементов в Cxy.
-
matplotlib.mlab.complex_spectrum(x, Fs=None, window=None, pad_to=None, sides=None) -
Вычислить комплексное частотное спектр x. Данные дополняются до длины pad_to, и к сигналу применяется функция оконного фильтра window.
Параметры: - xОдномерный массив или последовательность
-
Массив или последовательность, содержащие данные
- Fsчисло, по умолчанию: 2
-
Частота дискретизации (образцов в единицу времени). Она используется для расчета частот Фурье, freqs, в циклах на единицу времени.
-
windowвызываемый объект или массив, по умолчанию:
window_hanning -
Функция или вектор длиной NFFT. Для создания векторов окон см.
window_hanning,window_none,numpy.blackman,numpy.hamming,numpy.bartlett,scipy.signal,scipy.signal.get_windowи др. Если в качестве аргумента передается функция, она должна принимать сегмент данных и возвращать оконную версию сегмента. - sides{'default', 'onesided', 'twosided'}, необязательно
-
Какие части спектра возвращать. 'default' — односторонняя для вещественных данных и двусторонняя для комплексных данных. 'onesided' принудительно возвращает односторонний спектр, а 'twosided' — двусторонний.
- pad_toцелое число, необязательно
-
Количество точек, до которых дополняется сегмент данных при выполнении БПФ. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешаемыми пиками), это может дать больше точек на графике, что позволит получить больше деталей. Это соответствует параметру n в вызове fft(). По умолчанию значение None, которое устанавливает pad_to равным длине входного сигнала (т. е. без дополнения).
Возвращаемое значение: - spectrumОдномерный массив
-
Комплексный частотный спектр.
- freqsОдномерный массив
-
Частоты, соответствующие элементам в spectrum.
См. также
psd- Возвращает плотность спектральной мощности.
complex_spectrum- Возвращает комплексный частотный спектр.
magnitude_spectrum- Возвращает абсолютное значение
complex_spectrum. angle_spectrum- Возвращает угол
complex_spectrum. phase_spectrum- Возвращает фазу (развернутый угол)
complex_spectrum. specgram- Может вернуть комплексный спектр сегментов внутри сигнала.
-
matplotlib.mlab.csd(x, y, NFFT=None, Fs=None, detrend=None, window=None, noverlap=None, pad_to=None, sides=None, scale_by_freq=None)[source] -
Вычислить кросс-спектральную плотность.
Кросс-спектральная плотность \(P_{xy}\) методом усреднённой периодограммы Велча. Векторы x и y делятся на сегменты длиной NFFT. Каждый сегмент обрабатывается функцией detrend и окончивается функцией window. noverlap задаёт длину перекрытия между сегментами. Произведение прямых преобразований Фурье x и y усредняется по каждому сегменту для вычисления \(P_{xy}\), со шкалированием для коррекции потерь мощности из-за окон.
Если len(x) < NFFT или len(y) < NFFT, они будут дополнены нулями до NFFT.
Параметры: - x, yОдномерные массивы или последовательности
-
Массивы или последовательности, содержащие данные
- Fsfloat, по умолчанию: 2
-
Частота дискретизации (образцов в единицу времени). Она используется для вычисления частот Фурье, freqs, в циклах за единицу времени.
-
windowвызываемая функция или массив, по умолчанию:
window_hanning -
Функция или вектор длиной NFFT. Для создания векторов окна см.
window_hanning,window_none,numpy.blackman,numpy.hamming,numpy.bartlett,scipy.signal,scipy.signal.get_windowи т.д. Если в качестве аргумента передана функция, она должна принимать сегмент данных и возвращать оконченную версию сегмента. - sides{'default', 'onesided', 'twosided'}, необязательно
-
Какие стороны спектра возвращать. 'default' - односторонняя для вещественных данных и двусторонняя для комплексных данных. 'onesided' принудительно возвращает односторонний спектр, а 'twosided' - двусторонний.
- pad_toint, необязательно
-
Количество точек, до которых дополняется сегмент данных при выполнении БПФ. Может отличаться от NFFT, который определяет количество точек данных, используемых. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешимыми пиками), это может дать больше точек на графике, позволяя получить более подробную информацию. Это соответствует параметру n в вызове fft(). По умолчанию None, что устанавливает pad_to равным NFFT
- NFFTint, по умолчанию: 256
-
Количество точек данных, используемых в каждом блоке для БПФ. Мощность 2 наиболее эффективна. Это НЕ следует использовать для получения нулевого заполнения, или масштабирование результата будет неправильным; для этого используйте pad_to.
- detrend{'none', 'mean', 'linear'} или вызываемая функция, по умолчанию: 'none'
-
Функция, применяемая к каждому сегменту перед БПФ, предназначенная для удаления среднего значения или линейной тенденции. В отличие от MATLAB, где параметр detrend является вектором, в Matplotlib он является функцией. Модуль
mlabопределяетdetrend_none,detrend_meanиdetrend_linear, но вы также можете использовать пользовательскую функцию. Вы также можете использовать строку для выбора одной из функций: 'none' вызываетdetrend_none. 'mean' вызываетdetrend_mean. 'linear' вызываетdetrend_linear. - scale_by_freqbool, по умолчанию: True
-
Необходимо ли масштабировать значения плотности с помощью масштабирующей частоты, что даёт плотность в единицах Hz^-1. Это позволяет интегрировать по возвращаемым частотным значениям. По умолчанию True для совместимости с MATLAB.
- noverlapint, по умолчанию: 0 (без перекрытия)
-
Количество перекрывающихся точек между сегментами.
Возвращаемое значение: - PxyОдномерный массив
-
Значения кросс-спектра \(P_{xy}\) до масштабирования (вещественные)
- freqsОдномерный массив
-
Частоты, соответствующие элементам в Pxy
См. также
psd- эквивалентно установке
y = x.
Ссылки
Bendat & Piersol -- Random Data: Analysis and Measurement Procedures, John Wiley & Sons (1986)
-
matplotlib.mlab.detrend(x, key=None, axis=None)[source] -
Возвращает x с удалённой тенденцией.
Параметры: - xмассив или последовательность
-
Массив или последовательность, содержащая данные.
- key{'default', 'constant', 'mean', 'linear', 'none'} или функция
-
Алгоритм удаления тенденции. 'default', 'mean', и 'constant' — то же, что
detrend_mean. 'linear' — то же, чтоdetrend_linear. 'none' — то же, чтоdetrend_none. По умолчанию 'mean'. Подробнее об алгоритмах см. соответствующие функции. Также может быть функцией, выполняющей операцию удаления тенденции. - axisint
-
Ось, по которой выполнять удаление тенденции.
См. также
detrend_mean- Реализация алгоритма 'mean'.
detrend_linear- Реализация алгоритма 'linear'.
detrend_none- Реализация алгоритма 'none'.
-
matplotlib.mlab.detrend_linear(y)[source] -
Возвращает x минус прямую наилучшей подгонки; линейная деконволюция.
Параметры: - y0-мерный или 1-мерный массив или последовательность
-
Массив или последовательность, содержащая данные
- axisint
-
Ось, по которой вычисляется среднее значение. См. numpy.mean для описания этого аргумента.
См. также
detrend_mean- Другой алгоритм деконволюции.
detrend_none- Другой алгоритм деконволюции.
detrend- Обёртка вокруг всех алгоритмов деконволюции.
-
matplotlib.mlab.detrend_mean(x, axis=None)[source] -
Возвращает x минус среднее значение(x).
Параметры: - xмассив или последовательность
-
Массив или последовательность, содержащая данные. Может иметь любую размерность
- axisint
-
Ось, по которой вычисляется среднее значение. См. numpy.mean для описания этого аргумента.
См. также
detrend_linear- Другой алгоритм деконволюции.
detrend_none- Другой алгоритм деконволюции.
detrend- Обёртка вокруг всех алгоритмов деконволюции.
-
matplotlib.mlab.detrend_none(x, axis=None)[source] -
Возвращает x: без деконволюции.
Параметры: - xлюбой объект
-
Объект, содержащий данные
- axisint
-
Этот параметр игнорируется. Он включен для совместимости с detrend_mean
См. также
detrend_mean- Другой алгоритм деконволюции.
detrend_linear- Другой алгоритм деконволюции.
detrend- Обёртка вокруг всех алгоритмов деконволюции.
-
matplotlib.mlab.magnitude_spectrum(x, Fs=None, window=None, pad_to=None, sides=None) -
Вычисляет величину (абсолютное значение) спектра частоты x. Данные дополняются до длины pad_to, и к сигналу применяется функция окна window.
Параметры: - x1-мерный массив или последовательность
-
Массив или последовательность, содержащая данные
- Fsfloat, по умолчанию: 2
-
Частота дискретизации (образцы в единицу времени). Она используется для вычисления частот Фурье, freqs, в циклах за единицу времени.
-
windowвызываемый объект или массив, по умолчанию:
window_hanning -
Функция или вектор длиной NFFT. Для создания векторов окон см.
window_hanning,window_none,numpy.blackman,numpy.hamming,numpy.bartlett,scipy.signal,scipy.signal.get_window, и т. д. Если в качестве аргумента передаётся функция, она должна принимать сегмент данных в качестве аргумента и возвращать окно версии сегмента. - sides{'default', 'onesided', 'twosided'}, необязательно
-
Какие стороны спектра возвращать. 'default' - односторонний для вещественных данных и двухсторонний для комплексных данных. 'onesided' принудительно возвращает односторонний спектр, а 'twosided' - двухсторонний.
- pad_toint, необязательно
-
Количество точек, до которых дополняется сегмент данных при выполнении FFT. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешимыми пиками), это может дать больше точек в графике, что позволит получить больше деталей. Это соответствует параметру n в вызове fft(). По умолчанию None, что устанавливает pad_to равным длине входного сигнала (т. е. без дополнения).
Возвращает: - spectrum1-мерный массив
-
Величина (абсолютное значение) спектра частоты.
- freqs1-мерный массив
-
Частоты, соответствующие элементам в spectrum.
См. также
psd- Возвращает плотность спектральной мощности.
complex_spectrum- Возвращает комплексный спектр частоты.
magnitude_spectrum- Возвращает абсолютное значение
complex_spectrum. angle_spectrum- Возвращает угол
complex_spectrum. phase_spectrum- Возвращает фазу (неупакованный угол)
complex_spectrum. specgram- Может возвращать комплексный спектр сегментов внутри сигнала.
-
matplotlib.mlab.phase_spectrum(x, Fs=None, window=None, pad_to=None, sides=None) -
Вычислите фазу спектра частот (неразвернутый спектр фаз) x. Данные дополняются до длины pad_to, и к сигналу применяется функция окна window.
Параметры: - xОдномерный массив или последовательность
-
Массив или последовательность, содержащие данные
- Fsчисло, по умолчанию: 2
-
Частота дискретизации (образцов в единицу времени). Она используется для вычисления частот Фурье, freqs, в циклах на единицу времени.
-
windowвызываемый объект или массив, по умолчанию:
window_hanning -
Функция или вектор длиной NFFT. Для создания векторов окна см.
window_hanning,window_none,numpy.blackman,numpy.hamming,numpy.bartlett,scipy.signal,scipy.signal.get_windowи т. д. Если в качестве аргумента передается функция, она должна принимать фрагмент данных и возвращать оконную версию фрагмента. - sides{'default', 'onesided', 'twosided'}, необязательно
-
Какие стороны спектра вернуть. 'default' — односторонняя для вещественных данных и двусторонняя для комплексных данных. 'onesided' принудительно возвращает односторонний спектр, а 'twosided' — двусторонний.
- pad_toцелое число, необязательно
-
Количество точек, до которых дополняется фрагмент данных при выполнении FFT. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешаемыми пиками), это может дать больше точек на графике, что позволит получить больше деталей. Это соответствует параметру n в вызове fft(). По умолчанию равно None, что устанавливает pad_to равным длине входного сигнала (т. е. без заполнения).
Возвращаемое значение: - spectrumОдномерный массив
-
Фаза спектра частот (неразвернутый спектр фаз).
- freqsОдномерный массив
-
Частоты, соответствующие элементам в spectrum.
См. также
psd- Возвращает плотность спектральной мощности.
complex_spectrum- Возвращает комплексный спектр частот.
magnitude_spectrum- Возвращает абсолютное значение
complex_spectrum. angle_spectrum- Возвращает угол
complex_spectrum. phase_spectrum- Возвращает фазу (неразвернутый угол)
complex_spectrum. specgram- Может вернуть комплексный спектр сегментов в сигнале.
-
matplotlib.mlab.psd(x, NFFT=None, Fs=None, detrend=None, window=None, noverlap=None, pad_to=None, sides=None, scale_by_freq=None)[source] -
Вычисление спектральной плотности мощности.
Спектральная плотность мощности \(P_{xx}\) методом усреднённого периодограммы Уэлча. Вектор x делится на сегменты длиной NFFT. Каждый сегмент обрабатывается функцией detrend и функцией window. noverlap задаёт длину перекрытия между сегментами. \(|\mathrm{fft}(i)|^2\) каждого сегмента \(i\) усредняются для вычисления \(P_{xx}\).
Если len(x) < NFFT, данные дополняются нулями до NFFT.
Параметры: - xОдномерный массив или последовательность
-
Массив или последовательность, содержащая данные
- Fsfloat, по умолчанию: 2
-
Частота дискретизации (образцов в единицу времени). Используется для вычисления частот Фурье, freqs, в циклах на единицу времени.
-
windowвызываемая функция или массив, по умолчанию:
window_hanning -
Функция или вектор длиной NFFT. Для создания векторов окон см.
window_hanning,window_none,numpy.blackman,numpy.hamming,numpy.bartlett,scipy.signal,scipy.signal.get_windowи т.д. Если в качестве аргумента передаётся функция, она должна принимать сегмент данных и возвращать оконную версию сегмента. - sides{'default', 'onesided', 'twosided'}, необязательно
-
Какие стороны спектра возвращать. 'default' — односторонняя для вещественных данных и двухсторонняя для комплексных данных. 'onesided' — принудительно возвращает односторонний спектр, а 'twosided' — двухсторонний.
- pad_toint, необязательно
-
Количество точек, до которых дополняются нулями сегмент данных при выполнении FFT. Может отличаться от NFFT, который определяет число точек данных, используемых. Не следует использовать для получения нулевого заполнения, так как это повлияет на масштабирование результата; для этого используйте pad_to. Соответствует параметру n в вызове fft(). По умолчанию None, что устанавливает pad_to равным NFFT
- NFFTint, по умолчанию: 256
-
Количество точек данных, используемых в каждом блоке для FFT. Степень двойки обеспечивает максимальную эффективность. Не следует использовать для получения нулевого заполнения, так как это повлияет на масштабирование результата; для этого используйте pad_to.
- detrend{'none', 'mean', 'linear'} или вызываемая функция, по умолчанию: 'none'
-
Функция, применяемая к каждому сегменту перед fft, предназначена для удаления среднего или линейной тенденции. В отличие от MATLAB, где параметр detrend является вектором, в Matplotlib это функция. Модуль
mlabопределяетdetrend_none,detrend_meanиdetrend_linear, но вы также можете использовать пользовательскую функцию. Можно также использовать строку для выбора одной из функций: 'none' вызываетdetrend_none, 'mean' вызываетdetrend_mean, 'linear' вызываетdetrend_linear. - scale_by_freqbool, по умолчанию: True
-
Указывает, следует ли масштабировать полученные значения плотности с помощью частоты масштабирования, что даёт плотность в единицах Hz^-1. Это позволяет интегрировать значения возвращённых частот. По умолчанию True для совместимости с MATLAB.
- noverlapint, по умолчанию: 0 (без перекрытия)
-
Количество перекрывающихся точек между сегментами.
Возвращаемое значение: - PxxОдномерный массив
-
Значения спектральной плотности мощности \(P_{xx}\) (вещественные значения)
- freqsОдномерный массив
-
Частоты, соответствующие элементам в Pxx
См. также
specgram-
specgramотличается по умолчанию перекрытием; не возвращает среднее значение периодограммы сегмента; возвращает время сегментов. magnitude_spectrum- возвращает спектр амплитуды.
csd- возвращает спектральную плотность между двумя сигналами.
Ссылки
Bendat & Piersol — Random Data: Analysis and Measurement Procedures, John Wiley & Sons (1986)
-
matplotlib.mlab.specgram(x, NFFT=None, Fs=None, detrend=None, window=None, noverlap=None, pad_to=None, sides=None, scale_by_freq=None, mode=None)[source] -
Вычисление спектрограммы.
Вычисление и построение спектрограммы данных в x. Данные разбиваются на сегменты длиной NFFT, и вычисляется спектр каждого сегмента. Функция оконного преобразования window применяется к каждому сегменту, а величина перекрытия каждого сегмента задаётся параметром noverlap.
Параметры: - xarray-like
-
Одномерный массив или последовательность.
- Fsfloat, по умолчанию: 2
-
Частота дискретизации (образцов в единицу времени). Она используется для вычисления частот Фурье, freqs, в циклах за единицу времени.
-
windowcallable или ndarray, по умолчанию:
window_hanning -
Функция или вектор длиной NFFT. Для создания векторов окон см.
window_hanning,window_none,numpy.blackman,numpy.hamming,numpy.bartlett,scipy.signal,scipy.signal.get_windowи т.д. Если в качестве аргумента передаётся функция, она должна принимать сегмент данных и возвращать оконную версию сегмента. - sides{'default', 'onesided', 'twosided'}, необязательно
-
Какие стороны спектра возвращать. 'default' — односторонняя для вещественных данных и двусторонняя для комплексных данных. 'onesided' принудительно возвращает односторонний спектр, а 'twosided' — двусторонний.
- pad_toint, необязательно
-
Количество точек, до которых дополняется сегмент данных при выполнении БПФ. Это может отличаться от NFFT, которое определяет количество точек данных, используемых. Несмотря на то, что это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешимыми пиками), это может дать больше точек на графике, что позволит получить больше деталей. Это соответствует параметру n в вызове fft(). По умолчанию None, что устанавливает pad_to равным NFFT
- NFFTint, по умолчанию: 256
-
Количество точек данных, используемых в каждом блоке для БПФ. Степени двойки являются наиболее эффективными. Не следует использовать для получения нулевого заполнения, так как масштабирование результата будет неверным; для этого используйте pad_to.
- detrend{'none', 'mean', 'linear'} или callable, по умолчанию: 'none'
-
Функция, применяемая к каждому сегменту перед выполнением БПФ, предназначенная для удаления среднего или линейной тенденции. В отличие от MATLAB, где параметр detrend является вектором, в Matplotlib он является функцией. Модуль
mlabопределяетdetrend_none,detrend_meanиdetrend_linear, но вы также можете использовать пользовательскую функцию. Вы также можете использовать строку для выбора одной из функций: 'none' вызываетdetrend_none. 'mean' вызываетdetrend_mean. 'linear' вызываетdetrend_linear. - scale_by_freqbool, по умолчанию: True
-
Указывает, следует ли масштабировать возвращаемые значения плотности в соответствии с масштабом частоты, что даёт плотность в единицах Hz^-1. Это позволяет интегрировать возвращённые значения частот. По умолчанию True для совместимости с MATLAB.
- noverlapint, по умолчанию: 128
-
Количество перекрывающихся точек между блоками.
- modestr, по умолчанию: 'psd'
-
- Какой тип спектра использовать:
-
- 'psd'
-
Возвращает плотность спектральной мощности.
- 'complex'
-
Возвращает комплекснозначный спектр частот.
- 'magnitude'
-
Возвращает спектр по величине.
- 'angle'
-
Возвращает спектр фаз без развёртывания.
- 'phase'
-
Возвращает спектр фаз с развёртыванием.
Возвращаемые значения: - spectrumarray-like
-
Двумерный массив, столбцы — периодограммы последовательных сегментов.
- freqsarray-like
-
Одномерный массив, частоты, соответствующие строкам в spectrum.
- tarray-like
-
Одномерный массив, моменты времени, соответствующие серединам сегментов (т. е. столбцам в spectrum).
См. также
psd- отличается перекрытием и значениями возвращаемых данных.
complex_spectrum- аналогично, но с комплекснозначными частотами.
magnitude_spectrum- аналогично для одного сегмента, когда режим 'magnitude'.
angle_spectrum- аналогично для одного сегмента, когда режим 'angle'.
phase_spectrum- аналогично для одного сегмента, когда режим 'phase'.
Примечания
detrend и scale_by_freq применяются только когда mode установлен в 'psd'.
-
matplotlib.mlab.stride_windows(x, n, noverlap=None, axis=0)[source] -
Получение всех окон x длиной n в виде одного массива, используя смещения для предотвращения дублирования данных.
Предупреждение
Небезопасно записывать в выходной массив. Несколько элементов могут указывать на один и тот же кусок памяти, поэтому изменение одного значения может изменить другие.
Параметры: - xОдномерный массив или последовательность
-
Массив или последовательность, содержащая данные.
- nint
-
Количество точек данных в каждом окне.
- noverlapint, по умолчанию: 0 (нет перекрытия)
-
Перекрытие между смежными окнами.
- axisint
-
Ось, по которой будут идти окна.
Ссылки
stackoverflow: Rolling window for 1D arrays in Numpy? stackoverflow: Using strides for an efficient moving average filter
-
matplotlib.mlab.window_hanning(x)[source] -
Возвращает x, умноженный на окно Ханна длиной len(x).
См. также
window_none- Другой алгоритм окна.
-
matplotlib.mlab.window_none(x)[source] -
Функция окна отсутствует; просто возвращает x.
См. также
window_hanning- Другой алгоритм окна.
© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.4.3/api/mlab_api.html