matplotlib.mlab
Функции Numerical Python, написанные для совместимости с командами MATLAB с одинаковыми именами. Большинство численных функций Python можно найти в библиотеках NumPy и SciPy. Здесь остаётся код для выполнения спектральных вычислений и оценки плотности ядра.
Спектральные функции
cohere-
Когерентность (нормализованная кросс-спектральная плотность)
csd-
Кросс-спектральная плотность с использованием усреднённой периодограммы Уэлча
detrend-
Удалить среднее значение или линию наилучшей аппроксимации из массива
psd-
Плотность спектральной мощности с использованием усреднённой периодограммы Уэлча
specgram-
Спектрограмма (спектр по сегментам времени)
complex_spectrum-
Возвращает комплекснозначный спектральный анализ частоты сигнала
magnitude_spectrum-
Возвращает величину спектральной частоты сигнала
angle_spectrum-
Возвращает угол (упакованную фазу) спектральной частоты сигнала
phase_spectrum-
Возвращает фазу (неупакованный угол) спектральной частоты сигнала
detrend_mean-
Удалить среднее значение из линии.
detrend_linear-
Удалить линию наилучшей аппроксимации из линии.
detrend_none-
Возвращает исходную линию.
stride_windows-
Получить все окна в массиве с высокой эффективностью использования памяти
- classmatplotlib.mlab.GaussianKDE(dataset, bw_method=None)[source]
-
Bases:
objectПредставление оценки плотности ядра с использованием гауссовских ядер.
- Parameters
-
- datasetarray-like
-
Точки данных для оценки. В случае одномерных данных это одномерный массив, в противном случае двумерный массив с формой (# измерений, # данных).
- bw_methodstr, скаляр или вызываемый объект, необязательно
-
Метод, используемый для расчёта ширины полосы оценивателя. Это может быть 'scott', 'silverman', скалярная константа или вызываемый объект. Если скаляр, это будет использоваться напрямую как
kde.factor. Если вызываемый объект, он должен принимать экземплярGaussianKDEв качестве единственного параметра и возвращать скаляр. Если None (по умолчанию), используется 'scott'.
- Attributes
-
- datasetndarray
-
Набор данных, с которым
gaussian_kdeбыл инициализирован. - 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 на заданном наборе точек.
- Parameters
-
- points(# of dimensions, # of points)-array
-
В качестве альтернативы можно передать вектор (# of dimensions,) и обработать его как одну точку.
- Returns
-
- (# of points,)-array
-
Значения в каждой точке.
- 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, в циклах за единицу времени.
-
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, которое определяет количество точек данных, используемых.
- 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
-
Определяет, следует ли масштабировать значения плотности полученных данных с помощью масштабирующей частоты, что обеспечивает плотность в единицах Hz-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, и к сигналу применяется функция оконeния 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
-
Количество точек данных, используемых в каждом блоке для БПФ. Степень 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
-
Признак того, должны ли значения плотности масштабироваться по шкале частоты, что даёт плотность в единицах Hz^-1. Это позволяет интегрировать по возвращаемым значениям частоты. По умолчанию True для совместимости с MATLAB.
- noverlapint, по умолчанию: 0 (без перекрытия)
-
Количество перекрывающихся точек между сегментами.
- Возвращает
-
- Pxyодномерный массив
-
Значения для спектра перекрестной корреляции \(P_{xy}\) до масштабирования (вещественные значения)
- freqsодномерный массив
-
Частоты, соответствующие элементам в Pxy
См. также
psd-
эквивалентно установлению
y = x.
Ссылки
Бендат и Пьерсоль — Случайные данные: методы анализа и измерения, 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_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, необязательно
-
Количество точек, до которого дополняются сегменты данных при выполнении БПФ. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешимыми пиками), это может дать больше точек на графике, что позволит получить больше деталей. Это соответствует параметру 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Одномерный массив или последовательность
-
Массив или последовательность, содержащая данные
- 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
-
Количество точек данных, используемых в каждом блоке для БПФ. Мощность 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
-
Указывает, должны ли возвращаемые значения плотности масштабироваться с учётом частоты, что даёт плотность в единицах Hz^-1. Это позволяет интегрировать возвращаемые частотные значения. По умолчанию True для совместимости с MATLAB.
- noverlapint, по умолчанию: 0 (без перекрытия)
-
Количество перекрывающихся точек между сегментами.
- Возвращает
-
- PxxОдномерный массив
-
Значения для спектра мощности \(P_{xx}\) (вещественные)
- freqsОдномерный массив
-
Частоты, соответствующие элементам в Pxx
См. также
specgram-
specgramотличается по умолчанию перекрытием; не возвращает среднее значение периодограмм сегмента; и возвращает время сегментов. magnitude_spectrum-
возвращает спектр амплитуды.
csd-
возвращает спектральную плотность между двумя сигналами.
Ссылки
Bendat & Piersol — Случайные данные: процедуры анализа и измерения, John Wiley & Sons (1986)
- matplotlib.mlab.specgram(x, NFFT=None, Fs=None, detrend=None, window=None, noverlap=None, pad_to=None, sides=None, scale_by_freq=None, mode=None)[source]
-
Вычислить спектр зависимости от времени.
Вычислить и построить спектр зависимости от времени данных в x. Данные разбиваются на сегменты длиной NFFT, и вычисляется спектр каждого сегмента. К каждому сегменту применяется функция оконного преобразования window, а количество перекрытия каждого сегмента задаётся параметром noverlap.
- Параметры
-
- xarray-like
-
Одномерный массив или последовательность.
- Fsfloat, по умолчанию: 2
-
Частота дискретизации (образцов в единицу времени). Она используется для вычисления частот Фурье, freqs, в циклах за единицу времени.
-
windowcallable или ndarray, по умолчанию:
window_hanning -
Функция или вектор длины NFFT. Для создания векторов окон см.
window_hanning,window_none,numpy.blackman,numpy.hamming,numpy.bartlett,scipy.signal,scipy.signal.get_windowи т. д. Если в качестве аргумента передаётся функция, она должна принимать сегмент данных и возвращать оконную версию сегмента. - sides{'default', 'onesided', 'twosided'}, необязательно
-
Какие стороны спектра возвращать. 'default' — односторонняя для вещественных данных и двусторонняя для комплексных данных. 'onesided' принудительно возвращает односторонний спектр, а 'twosided' — двусторонний.
- pad_toint, необязательно
-
Количество точек, до которых дополняется сегмент данных при выполнении FFT. Это может отличаться от NFFT, которое определяет количество точек данных, используемых для вычислений. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешимыми пиками), это может дать больше точек на графике, позволяя получить более подробную информацию. Соответствует параметру 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
-
Нужно ли масштабировать возвращаемые значения плотности с учётом частоты, что даёт плотность в единицах Hz^-1. Это позволяет интегрировать по возвращаемым частотам. По умолчанию True для совместимости с MATLAB.
- noverlapint, по умолчанию: 128
-
Количество перекрывающихся точек между блоками.
- modestr, по умолчанию: 'psd'
-
- Какой тип спектра использовать:
-
- 'psd'
-
Возвращает плотность спектральной мощности.
- 'complex'
-
Возвращает комплекснозначный спектр частот.
- 'magnitude'
-
Возвращает спектр по величине.
- 'angle'
-
Возвращает спектр фаз без развёртывания.
- 'phase'
-
Возвращает спектр фаз с развёртыванием.
- Возвращает
-
- spectrumarray-like
-
2D массив, столбцы — периодограммы последовательных сегментов.
- freqsarray-like
-
1D массив, частоты, соответствующие строкам в spectrum.
- tarray-like
-
1D массив, моменты времени, соответствующие серединам сегментов (т. е. столбцам в spectrum).
См. также
psd-
отличается перекрытием и значениями возвращаемых данных.
complex_spectrum-
аналогично, но с комплекснозначными частотами.
magnitude_spectrum-
аналогично одиночному сегменту, когда mode — 'magnitude'.
angle_spectrum-
аналогично одиночному сегменту, когда mode — 'angle'.
phase_spectrum-
аналогично одиночному сегменту, когда mode — 'phase'.
Примечания
detrend и scale_by_freq применяются только тогда, когда mode установлен в 'psd'.
- matplotlib.mlab.stride_windows(x, n, noverlap=None, axis=0)[source]
-
Получить все окна x длиной n в виде одного массива, используя сдвиги для предотвращения дублирования данных.
Предупреждение
Небезопасно записывать в выходной массив. Несколько элементов могут указывать на один и тот же фрагмент памяти, поэтому изменение одного значения может изменить другие.
- Параметры
-
- x1D массив или последовательность
-
Массив или последовательность, содержащая данные.
- nint
-
Количество точек данных в каждом окне.
- noverlapint, по умолчанию: 0 (без перекрытия)
-
Перекрытие между соседними окнами.
- axisint
-
Ось, вдоль которой будут выполняться вычисления окна.
Ссылки
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–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.5.1/api/mlab_api.html