envelope
Огибающая сигнала.
| Библиотека |
|
Синтаксис
Вызов функции
-
yupper,ylower = envelope(x)— возвращает верхнюю и нижнюю огибающую входной последовательностиxв качестве амплитуды ее аналитического сигнала. Аналитический сигналxнаходится с помощью дискретного преобразования Фурье, реализованного в функцииhilbert. Функция сначала удаляет среднее значениеxи добавляет его обратно после вычисления огибающей. Еслиx— матрица, тоenvelopeдействует независимо над каждым столбцомx.
-
yupper,ylower = envelope(x,wl,"rms")— возвращает верхнюю и нижнюю среднеквадратичные огибающиеx. Огибающие определяются с помощью скользящего окна длинойwlотсчетов.
-
yupper,ylower = envelope(x,np,"peak")— возвращает верхнюю и нижнюю пиковые огибающиеx. Огибающие определяются с помощью сплайн-интерполяции по локальным максимумам, разделенным как минимумnpотсчетами.
-
envelope(___)— без выходных аргументов строит график сигнала и его верхней и нижней огибающих. Этот синтаксис принимает любые входные аргументы из предыдущих синтаксисов.
Аргументы
Входные аргументы
#
x —
входная последовательность
вектор | матрица
Details
Входная последовательность, заданная как вектор или матрица. Если x — вектор, он рассматривается как один канал. Если x — матрица, то функция envelope вычисляет оценки огибающей независимо для каждого столбца. Все элементы x должны быть конечными.
| Типы данных |
|
#
fl —
длина фильтра Гильберта
положительный целочисленный скаляр
Details
Длина фильтра Гильберта, заданная как положительный целочисленный скаляр. Фильтр создан путем наложения окна идеального фильтра с прямоугольной амплитудной характеристикой с окном Кайзера длиной fl и параметром формы .
| Типы данных |
|
#
wl —
длина окна
положительный целочисленный скаляр
Details
Длина окна, заданная как положительный целочисленный скаляр.
| Типы данных |
|
#
np —
интервал между пиками
положительный целочисленный скаляр
Details
Расстояние между пиками, заданное как положительный целочисленный скаляр.
| Типы данных |
|
Входные аргументы «имя-значение»
#
out —
тип выходных данных
:plot (по умолчанию) | :data
Details
Тип выходных данных:
-
:plot— функция возвращает график. -
:data— функция возвращает данные.
Выходные аргументы
#
yupper, ylower —
верхняя и нижняя огибающие сигнала
векторы | матрицы
Details
Верхняя и нижняя огибающие сигнала, возвращаемые в виде векторов или матриц.
Примеры
Огибающая асимметричной последовательности
Details
Создадим и отобразим сигнал, напоминающий первоначальное обнаружение светового импульса, распространяющегося через дисперсионную среду.
t = 0.5:-1/100:-2.49
z = airy.(t*10) .* exp.(-t.^2)
plot(z)
Определим огибающие последовательности, используя величину ее аналитического сигнала. Построим графики огибающих.
import EngeeDSP.Functions: envelope
envelope(z)
Вычислим аналитическую огибающую сигнала, используя 50-звенный фильтр Гильберта.
envelope(z, 50, "analytic")
Вычислим среднеквадратичную огибающую сигнала, используя 40-отсчетное скользящее окно. Построим график результата.
envelope(z, 40, "rms")
Определим огибающие пиков. Используем сплайн-интерполяцию с граничными условиями «not-a-knot» для локальных максимумов, отстоящих друг от друга не менее чем на 10 отсчетов.
envelope(z, 10, "peak")