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-
Возвращает исходную линию.
- classmatplotlib.mlab.GaussianKDE(dataset, bw_method=None)[source]
-
Bases:
objectПредставление оценки плотности ядра с использованием гауссовских ядер.
- Parameters:
-
- datasetarray-like
-
Точки данных для оценки. В случае одномерных данных это одномерный массив, в противном случае двумерный массив с формой (# измерений, # данных).
- bw_method{'scott', 'silverman'} или float или вызываемый объект, необязательно
-
Метод, используемый для вычисления ширины полосы оценивателя. Если float, это значение будет использовано напрямую как
kde.factor. Если вызываемый объект, он должен принимать экземплярGaussianKDEв качестве единственного параметра и возвращать float. Если None (по умолчанию), используется 'scott'.
- Attributes:
-
- datasetndarray
-
Набор данных, переданный конструктору.
- 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()[source]
- evaluate(points)[source]
-
Вычислить оценённую функцию плотности вероятностей на заданном наборе точек.
- Parameters:
-
- points(# измерений, # точек)-массив
-
В качестве альтернативы можно передать вектор (# измерений,) и обработать его как одну точку.
- Returns:
-
- (# точек,)-массив
-
Значения в каждой точке.
- Raises:
-
- 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
-
Количество точек данных, используемых в каждом блоке для БПФ. Степени двойки наиболее эффективны. Это не следует использовать для получения нулевого заполнения, или масштабирование результата будет неправильным; используйте 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целое число, необязательный
-
Количество точек, до которого дополняется фрагмент данных при выполнении 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, которое определяет количество точек данных, используемых. Хотя не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешаемыми пиками), это может дать больше точек на графике, что позволит увидеть больше деталей. Соответствует параметру 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 минус линию наилучшей подгонки; 'линейная' детерденция.
- Параметры:
-
- 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_linear-
Другой алгоритм сглаживания.
detrend-
Обёртка вокруг всех алгоритмов сглаживания.
- matplotlib.mlab.magnitude_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, необязательно
-
Количество точек, до которых дополняются данные фрагмента при выполнении БПФ. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешаемыми пиками), это может дать больше точек в графике, позволяя получить больше деталей. Это соответствует параметру 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.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.
- Parameters:
-
- 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, которое задаёт количество точек данных, используемых в вычислении. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешаемыми пиками), это может дать больше точек в графике, что позволяет увидеть больше деталей. Это соответствует параметру 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 (без перекрытия)
-
Число перекрывающихся точек между сегментами.
- Returns:
-
- 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]
-
Вычисление спектrogram.
Вычисление и построение спектrogram данных в 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, необязательно
-
Число точек, до которого дополняется сегмент данных при выполнении FFT. Это может отличаться от NFFT, которое определяет число точек данных, используемых.
- NFFTint, по умолчанию: 256
-
Количество точек данных, используемых в каждом блоке для FFT. Мощность 2 наиболее эффективна. Не следует использовать для получения нулевого заполнения, иначе масштабирование результата будет неверным; для этого используйте pad_to.
- detrend{'none', 'mean', 'linear'} или callable, по умолчанию: '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, по умолчанию: 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.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/stable/api/mlab_api.html