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