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]
-
Основано на
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Одномерный массив или последовательность
-
Массив или последовательность, содержащая данные
- 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_toint, необязательно
-
Количество точек, до которого дополняется сегмент данных при выполнении 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, необязательно
-
Количество точек, до которых дополняется фрагмент данных при выполнении FFT. Это может отличаться от NFFT, которое определяет количество точек данных. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешимыми пиками), это может дать больше точек в графике, позволяя получить больше деталей. Это соответствует параметру n в вызове
fft. По умолчанию None, что устанавливает pad_to равным NFFT - NFFTint, по умолчанию: 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.
- noverlapint, по умолчанию: 0 (нет перекрытия)
-
Количество перекрывающихся точек между сегментами.
- Возвращает:
-
- Cxyодномерный массив
-
Вектор когерентности.
- freqsодномерный массив
-
Частоты для элементов в Cxy.
- matplotlib.mlab.complex_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.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.
- Parameters:
-
- 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целое число, необязательно
-
Количество точек, до которых дополняется сегмент данных при выполнении БПФ. Это может отличаться от NFFT, которое задаёт количество точек данных, используемых. Хотя не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешаемыми пиками), это может дать больше точек на графике, позволяя получить больше деталей. Соответствует параметру n в вызове
fft. По умолчанию None, что устанавливает pad_to равным NFFT - NFFTцелое число, по умолчанию: 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.
- noverlapцелое число, по умолчанию: 0 (без перекрытия)
-
Количество точек перекрытия между сегментами.
- Returns:
-
- 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 со своей тенденцией, удалённой.
- Parameters:
-
- xмассив или последовательность
-
Массив или последовательность, содержащая данные.
- key{'default', 'constant', 'mean', 'linear', 'none'} или функция
-
Алгоритм сглаживания. 'default', 'mean', и 'constant' — то же, что
detrend_mean. 'linear' — то же, чтоdetrend_linear. 'none' — то же, чтоdetrend_none. По умолчанию 'mean'. См. соответствующие функции для получения более подробной информации об алгоритмах. Также может быть функцией, которая выполняет операцию сглаживания. - axisцелое число
-
Ось, вдоль которой выполнять сглаживание.
См. также
detrend_mean-
Реализация алгоритма 'mean'.
detrend_linear-
Реализация алгоритма 'linear'.
detrend_none-
Реализация алгоритма 'none'.
- matplotlib.mlab.detrend_linear(y)[source]
-
Возвращает x минус лучшую линию подгонки; 'линейная' обработка тренда.
- Параметры:
-
- y0-мерный или 1-мерный массив или последовательность
-
Массив или последовательность, содержащая данные
См. также
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Одномерный массив или последовательность
-
Массив или последовательность, содержащие данные
- 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'}, optional
-
Какие стороны спектра возвращать. 'default' — односторонняя для вещественных данных и двусторонняя для комплексных данных. 'onesided' принудительно возвращает односторонний спектр, а 'twosided' — двусторонний.
- pad_toцелое число, необязательно
-
Количество точек, до которого дополняется сегмент данных при выполнении БПФ. Это может отличаться от NFFT, которое определяет количество используемых точек данных. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешаемыми пиками), это может дать больше точек на графике, позволяя получить больше деталей. Это соответствует параметру n в вызове
fft. По умолчанию равно None, что устанавливает pad_to равным NFFT - NFFTцелое число, по умолчанию: 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_freqбулево значение, по умолчанию: True
-
Определяет, должны ли значения плотности масштабироваться с учётом частоты масштабирования, что даёт плотность в единицах 1/Гц. Это позволяет интегрировать по возвращаемым частотам. По умолчанию True для совместимости с MATLAB.
- noverlapцелое число, по умолчанию: 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, которое определяет количество точек данных, используемых.
- 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
-
Двумерный массив, столбцы — периодограммы последовательных сегментов.
- freqsarray-like
-
Одномерный массив, частоты, соответствующие строкам в spectrum.
- tarray-like
-
Одномерный массив, моменты времени, соответствующие серединам сегментов (т. е. столбцам в 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: 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–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.7.5/api/mlab_api.html