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)[исходный код]
-
Базовые классы:
objectПредставление оценки плотности ядра с использованием гауссовых ядер.
- Параметры:
-
- datasetarray-like
-
Точки данных, по которым выполняется оценка. Для одномерных данных это одномерный массив, в противном случае — двумерный массив формы (# измерений, # точек данных).
- bw_method{'scott', 'silverman'} or float or callable, optional
-
Метод, используемый для вычисления ширины полосы оценивателя. Если задано число с плавающей точкой, оно будет использоваться напрямую как
kde.factor. Если задан вызываемый объект, он должен принимать экземплярGaussianKDEв качестве единственного параметра и возвращать число с плавающей точкой. Если задано None (по умолчанию), используется 'scott'.
- Атрибуты:
-
- 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()[исходный код]
- evaluate(points)[исходный код]
-
Вычислить оценённую функцию плотности вероятности для набора точек.
- Параметры:
-
- points(# of dimensions, # of points)-array
-
В качестве альтернативы можно передать вектор формы (# измерений,) и обработать его как единственную точку.
- Возвращает:
-
- (# of points,)-array
-
Значения в каждой точке.
- Вызывает исключение:
-
- ValueErrorесли размерность входных точек отличается
-
от размерности KDE.
- scotts_factor()[исходный код]
- silverman_factor()[исходный код]
- matplotlib.mlab.angle_spectrum(x, Fs=None, window=None, pad_to=None, sides=None)
-
Вычислить угол частотного спектра (спектр фаз с приведённым значением) x. Данные дополняются до длины pad_to, а к сигналу применяется оконная функция window.
- Параметры:
-
- x1-D array or sequence
-
Массив или последовательность, содержащая данные
- Fsfloat, default: 2
-
Частота дискретизации (количество отсчётов на единицу времени). Используется для вычисления частот Фурье freqs в циклах на единицу времени.
-
windowcallable or ndarray, default:
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
-
Количество точек, до которого дополняется сегмент данных при выполнении БПФ. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между различимыми пиками), на графике может появиться больше точек, что позволяет отобразить больше деталей. Это соответствует параметру n при вызове
fft. По умолчанию задано None, при котором pad_to равен длине входного сигнала (то есть дополнение не выполняется).
- Возвращает:
-
- spectrum1-D array
-
Угол частотного спектра (спектр фаз с приведённым значением).
- freqs1-D array
-
Частоты, соответствующие элементам 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)[исходный код]
-
Когерентность между x и y. Когерентность — это нормированная взаимная спектральная плотность:
\[C_{xy} = \frac{|P_{xy}|^2}{P_{xx}P_{yy}}\]- Параметры:
-
- x, y
-
Массив или последовательность, содержащая данные
- Fsfloat, default: 2
-
Частота дискретизации (количество отсчётов на единицу времени). Используется для вычисления частот Фурье freqs в циклах на единицу времени.
-
windowcallable or ndarray, default:
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, default: 256
-
Количество точек данных, используемых в каждом блоке для БПФ. Наиболее эффективно использовать степень двойки. Этот параметр НЕ следует использовать для дополнения нулями, иначе масштабирование результата будет неправильным; для этого используйте pad_to.
- detrend{'none', 'mean', 'linear'} or callable, default: 'none'
-
Функция, применяемая к каждому сегменту перед вычислением БПФ для удаления среднего значения или линейного тренда. В отличие от MATLAB, где параметр detrend является вектором, в Matplotlib это функция. Модуль
mlabопределяет функцииdetrend_none,detrend_meanиdetrend_linear, но вы также можете использовать пользовательскую функцию. Для выбора одной из функций можно использовать строку: 'none' вызываетdetrend_none. 'mean' вызываетdetrend_mean. 'linear' вызываетdetrend_linear. - scale_by_freqbool, default: True
-
Следует ли масштабировать итоговые значения плотности с учётом частоты масштабирования, что даёт плотность в единицах 1/Гц. Это позволяет интегрировать по возвращаемым значениям частот. Значение по умолчанию — True для совместимости с MATLAB.
- noverlapint, default: 0 (no overlap)
-
Количество перекрывающихся точек между сегментами.
- Возвращает:
-
- Cxy1-D array
-
Вектор когерентности.
- freqs1-D array
-
Частоты для элементов Cxy.
- matplotlib.mlab.complex_spectrum(x, Fs=None, window=None, pad_to=None, sides=None)
-
Вычислить комплексный частотный спектр x. Данные дополняются до длины pad_to, а к сигналу применяется оконная функция window.
- Параметры:
-
- x1-D array or sequence
-
Массив или последовательность, содержащая данные
- Fsfloat, default: 2
-
Частота дискретизации (количество отсчётов на единицу времени). Используется для вычисления частот Фурье freqs в циклах на единицу времени.
-
windowcallable or ndarray, default:
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
-
Количество точек, до которого дополняется сегмент данных при выполнении БПФ. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между различимыми пиками), на графике может появиться больше точек, что позволяет отобразить больше деталей. Это соответствует параметру n при вызове
fft. По умолчанию задано None, при котором pad_to равен длине входного сигнала (то есть дополнение не выполняется).
- Возвращает:
-
- spectrum1-D array
-
Комплексный частотный спектр.
- freqs1-D array
-
Частоты, соответствующие элементам 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)[исходный код]
-
Вычисляет взаимную спектральную плотность.
Взаимная спектральная плотность \(P_{xy}\) вычисляется методом усреднения периодограмм Уэлча. Векторы x и y разбиваются на сегменты длиной NFFT. Тренд каждого сегмента удаляется функцией detrend, а к сегменту применяется оконная функция window. noverlap задаёт длину перекрытия сегментов. Произведения прямых преобразований Фурье для x и y усредняются по каждому сегменту для вычисления \(P_{xy}\) с масштабированием, компенсирующим потерю мощности из-за применения окна.
Если len(x) < NFFT или len(y) < NFFT, массивы будут дополнены нулями до длины NFFT.
- Параметры:
-
- x, y1-мерные массивы или последовательности
-
Массивы или последовательности, содержащие данные
- Fsвещественное число, по умолчанию: 2
-
Частота дискретизации (число отсчётов на единицу времени). Используется для вычисления частот Фурье freqs в циклах на единицу времени.
-
windowвызываемый объект или 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_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 (без перекрытия)
-
Число перекрывающихся точек между сегментами.
- Возвращает:
-
- Pxy1-мерный массив
-
Значения взаимного спектра \(P_{xy}\) до масштабирования (вещественные числа)
- freqs1-мерный массив
-
Частоты, соответствующие элементам Pxy
См. также
psd-
Эквивалентно заданию
y = x.
Литература
Bendat и Piersol — Random Data: Analysis and Measurement Procedures, John Wiley & Sons (1986)
- matplotlib.mlab.detrend(x, key=None, axis=None)[исходный код]
-
Возвращает x с удалённым трендом.
- Параметры:
-
- 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)[исходный код]
-
Возвращает x за вычетом прямой наилучшего приближения; удаление линейного тренда.
- Параметры:
-
- y0-мерный или 1-мерный массив либо последовательность
-
Массив или последовательность, содержащие данные
См. также
detrend_mean-
Другой алгоритм удаления тренда.
detrend_none-
Другой алгоритм удаления тренда.
detrend-
Обёртка для всех алгоритмов удаления тренда.
- matplotlib.mlab.detrend_mean(x, axis=None)[исходный код]
-
Возвращает x за вычетом среднего значения(x).
- Параметры:
-
- xмассив или последовательность
-
Массив или последовательность, содержащие данные. Может иметь любую размерность.
- axisцелое число
-
Ось, вдоль которой вычисляется среднее значение. Описание этого аргумента см. в документации
numpy.mean.
См. также
detrend_linear-
Другой алгоритм удаления тренда.
detrend_none-
Другой алгоритм удаления тренда.
detrend-
Обёртка для всех алгоритмов удаления тренда.
- matplotlib.mlab.detrend_none(x, axis=None)[исходный код]
-
Возвращает x: тренд не удаляется.
- Параметры:
-
- xлюбой объект
-
Объект, содержащий данные
- axisцелое число
-
Этот параметр игнорируется. Он включён для совместимости с 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-мерный массив или последовательность
-
Массив или последовательность, содержащие данные
- Fsвещественное число, по умолчанию: 2
-
Частота дискретизации (число отсчётов на единицу времени). Используется для вычисления частот Фурье freqs в циклах на единицу времени.
-
windowвызываемый объект или 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_toцелое число, необязательный
-
Число точек, до которого дополняется сегмент данных при выполнении БПФ. Это не повышает фактическое разрешение спектра (минимальное расстояние между различимыми пиками), но позволяет получить больше точек на графике и отобразить больше деталей. Соответствует параметру 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.
- Параметры:
-
- x1-мерный массив или последовательность
-
Массив или последовательность, содержащие данные
- Fsвещественное число, по умолчанию: 2
-
Частота дискретизации (число отсчётов на единицу времени). Используется для вычисления частот Фурье freqs в циклах на единицу времени.
-
windowвызываемый объект или 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_toцелое число, необязательный
-
Число точек, до которого дополняется сегмент данных при выполнении БПФ. Это не повышает фактическое разрешение спектра (минимальное расстояние между различимыми пиками), но позволяет получить больше точек на графике и отобразить больше деталей. Соответствует параметру 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.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вызываемый объект или 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_toцелое число, необязательно
-
Количество точек, до которого дополняется сегмент данных при выполнении БПФ. Это значение может отличаться от NFFT, задающего число используемых точек данных. Хотя это не повышает фактическое разрешение спектра (минимальное расстояние между различимыми пиками), на графике появляется больше точек, что позволяет рассмотреть больше деталей. Это соответствует параметру n при вызове
fft. По умолчанию используется None, при котором pad_to равен NFFT - NFFTцелое число, по умолчанию: 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_freqлогическое значение, по умолчанию: True
-
Следует ли масштабировать значения полученной плотности с учётом частоты масштабирования, что даёт плотность в единицах 1/Hz. Это позволяет интегрировать по возвращённым значениям частоты. По умолчанию 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.
- Параметры:
-
- xподобный массиву объект
-
Одномерный массив или последовательность.
- Fsчисло с плавающей точкой, по умолчанию: 2
-
Частота дискретизации (отсчёты на единицу времени). Используется для вычисления частот Фурье freqs в циклах на единицу времени.
-
windowвызываемый объект или 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_toцелое число, необязательно
-
Количество точек, до которого дополняется сегмент данных при выполнении БПФ. Это значение может отличаться от NFFT, задающего число используемых точек данных. Хотя это не повышает фактическое разрешение спектра (минимальное расстояние между различимыми пиками), на графике появляется больше точек, что позволяет рассмотреть больше деталей. Это соответствует параметру n при вызове
fft. По умолчанию используется None, при котором pad_to равен NFFT - NFFTцелое число, по умолчанию: 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_freqлогическое значение, по умолчанию: True
-
Следует ли масштабировать значения полученной плотности с учётом частоты масштабирования, что даёт плотность в единицах 1/Hz. Это позволяет интегрировать по возвращённым значениям частоты. По умолчанию True для совместимости с MATLAB.
- noverlapцелое число, по умолчанию: 128
-
Количество точек перекрытия между блоками.
- modeстрока, по умолчанию: 'psd'
-
- Тип используемого спектра:
-
- 'psd'
-
Возвращает спектральную плотность мощности.
- 'complex'
-
Возвращает частотный спектр с комплексными значениями.
- 'magnitude'
-
Возвращает амплитудный спектр.
- 'angle'
-
Возвращает фазовый спектр без развёртки.
- 'phase'
-
Возвращает фазовый спектр с развёрткой.
- Возвращает:
-
- spectrumподобный массиву объект
-
Двумерный массив; столбцы содержат периодограммы последовательных сегментов.
- freqsподобный массиву объект
-
Одномерный массив частот, соответствующих строкам в spectrum.
- tподобный массиву объект
-
Одномерный массив времени, соответствующего серединам сегментов (то есть столбцам в spectrum).
См. также
psd-
отличается перекрытием и возвращаемыми значениями.
complex_spectrum-
аналогична, но возвращает комплексные значения частот.
magnitude_spectrum-
аналогична спектру одного сегмента, если mode имеет значение 'magnitude'.
angle_spectrum-
аналогична спектру одного сегмента, если mode имеет значение 'angle'.
phase_spectrum-
аналогична спектру одного сегмента, если mode имеет значение 'phase'.
Примечания
detrend и scale_by_freq применяются только при значении 'psd' параметра mode.
- matplotlib.mlab.window_hanning(x)[source]
-
Возвращает произведение x на окно Ханнинга (или Ханна) длиной len(x).
См. также
window_none-
Другой алгоритм оконной функции.
- matplotlib.mlab.window_none(x)[source]
-
Без оконной функции; просто возвращает x.
См. также
window_hanning-
Другой алгоритм оконной функции.
© 2012–2026 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/mlab_api.html