matplotlib.mlab
Функции NumPy, написанные для совместимости с командами MATLAB с одинаковыми именами. Большинство числовых функций NumPy можно найти в библиотеках 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_methodstr, скаляр или вызываемый объект, необязательно
-
Метод, используемый для вычисления ширины полосы оценивателя. Может быть 'scott', 'silverman', скалярная константа или вызываемый объект. Если скаляр, это будет использовано непосредственно как
kde.factor. Если вызываемый объект, он должен принимать экземплярGaussianKDEв качестве единственного параметра и возвращать скаляр. Если 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целое число, необязательно
-
Количество точек, до которого дополняется сегмент данных при выполнении БПФ. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешаемыми пиками), это может дать больше точек на графике, позволяя получить больше деталей. Это соответствует параметру 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, в циклах в единицу времени.
-
windowcallable или ndarray, по умолчанию:
window_hanning -
Функция или вектор длины NFFT. Для создания векторов окон см.
window_hanning,window_none,numpy.blackman,numpy.hamming,numpy.bartlett,scipy.signal,scipy.signal.get_windowи т. д. Если в качестве аргумента передана функция, она должна принять сегмент данных и вернуть окно этого сегмента. - sides{'default', 'onesided', 'twosided'}, необязательно
-
Какие стороны спектра возвращать. 'default' — односторонняя для вещественных данных и двухсторонняя для комплексных данных. 'onesided' принудительно возвращает односторонний спектр, а 'twosided' — двухсторонний.
- pad_toint, необязательно
-
Количество точек, до которых дополняется сегмент данных при выполнении БПФ. Это может отличаться от NFFT, которое определяет количество точек данных, используемых. Не следует использовать для получения нулевых дополнений, так как это повлияет на масштабирование результата; используйте pad_to для этого вместо этого. По умолчанию равно NFFT.
- NFFTint, по умолчанию: 256
-
Количество точек данных, используемых в каждом блоке для БПФ. Мощность 2 наиболее эффективна. Не следует использовать для получения нулевого заполнения, так как это повлияет на масштабирование результата; используйте 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, по умолчанию: 0 (без перекрытия)
-
Количество перекрывающихся точек между сегментами.
- Возвращает:
-
- Cxy1-D массив
-
Вектор когерентности.
- freqs1-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целое число, необязательно
-
Число точек, до которого дополняется фрагмент данных при выполнении преобразования Фурье. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешаемыми пиками), это может дать больше точек на графике, что позволит получить больше деталей. Это соответствует параметру 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Одномерные массивы или последовательности
-
Массивы или последовательности, содержащие данные
- 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, которое определяет количество точек данных, используемых. Не следует использовать для добавления нулей, так как это повлияет на масштабирование результата; вместо этого используйте pad_to. Соответствует параметру 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 (без перекрытия)
-
Количество перекрывающихся точек между сегментами.
- Возвращаемое значение:
-
- Pxyодномерный массив
-
Значения кросс-спектра \(P_{xy}\) до масштабирования (вещественные)
- freqsодномерный массив
-
Частоты, соответствующие элементам в Pxy
См. также
psd-
эквивалентно установке
y = x.
Ссылки
Bendat & Piersol -- Случайные данные: анализ и методики измерения, 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'. См. соответствующие функции для получения более подробной информации об алгоритмах. Также может быть функцией, которая выполняет операцию удаления тренда. - axisцелое число
-
Ось, по которой выполняется удаление тренда.
См. также
detrend_mean-
Реализация алгоритма 'mean'.
detrend_linear-
Реализация алгоритма 'linear'.
detrend_none-
Реализация алгоритма 'none'.
- matplotlib.mlab.detrend_linear(y)[source]
-
Возвращает x минус прямую наилучшей подгонки; линеаризация.
- Параметры:
-
- yмассив 0 или 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.
- Параметры:
-
- xмассив 1-й размерности или последовательность
-
Массив или последовательность, содержащая данные
- 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-й размерности
-
Модуль (абсолютное значение) спектра частот.
- freqsмассив 1-й размерности
-
Частоты, соответствующие элементам в 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'}, необязательно
-
Какие стороны спектра возвращать. '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_freqbool, по умолчанию: 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
-
Количество точек, до которого расширяется сегмент данных при выполнении FFT. Может отличаться от NFFT, которое определяет количество точек данных, используемых для FFT. Не следует использовать это для добавления нулей, так как масштабирование результата будет неверным. Для этого следует использовать pad_to. Соответствует параметру n в вызове
fft. По умолчанию None, что устанавливает pad_to равным 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/3.8.4/api/mlab_api.html