exponenta event banner

конверт

Огибающая сигнала

Описание

пример

[yupper,ylower] = envelope(x) возвращает верхнюю и нижнюю огибающие входной последовательности, x, как величина его аналитического сигнала. Аналитический сигнал x найдено с использованием дискретного преобразования Фурье, реализованного в hilbert. Функция первоначально удаляет среднее значение x и добавляет его обратно после вычисления конвертов. Если x является матрицей, то envelope работает независимо над каждым столбцом x.

пример

[yupper,ylower] = envelope(x,fl,'analytic') возвращает конверты x определяют по величине его аналитического сигнала. Аналитический сигнал вычисляется фильтрацией x с КИХ-фильтром Гильберта длиной fl. Этот синтаксис используется, если указаны только два аргумента.

пример

[yupper,ylower] = envelope(x,wl,'rms') возвращает верхнюю и нижнюю среднеквадратические огибающие x. Определяют конверты с помощью скользящего окна длиной wl образцы.

пример

[yupper,ylower] = envelope(x,np,'peak') возвращает верхний и нижний пиковые огибающие x. Определяют огибающие с помощью сплайн-интерполяции по локальным максимумам, разделенным по меньшей мере np образцы.

пример

envelope(___) без выходных аргументов строит график сигнала и его верхней и нижней огибающих. Этот синтаксис принимает любой из входных аргументов из предыдущих синтаксисов.

Примеры

свернуть все

Генерировать квадратичную чирпу, модулированную гауссовым. Укажите частоту дискретизации 2 кГц и длительность сигнала 2 секунды.

t = 0:1/2000:2-1/2000;
q = chirp(t-2,4,1/2,6,'quadratic',100,'convex').*exp(-4*(t-1).^2);
plot(t,q)

Figure contains an axes. The axes contains an object of type line.

Вычислите верхнюю и нижнюю огибающие чирпа с помощью аналитического сигнала.

[up,lo] = envelope(q);
hold on
plot(t,up,t,lo,'linewidth',1.5)
legend('q','up','lo')
hold off

Figure contains an axes. The axes contains 3 objects of type line. These objects represent q, up, lo.

Сигнал асимметричен из-за ненулевого среднего.

Использовать envelope без выходных аргументов для построения графика сигнала и огибающих как функции номера выборки.

envelope(q)

Figure contains an axes. The axes with title Analytic Envelope contains 3 objects of type line. These objects represent signal, envelope.

Создайте двухканальный сигнал, дискретизированный на частоте 1 кГц в течение 3 секунд:

  • Один канал является экспоненциально затухающей синусоидой. Укажите частоту 7 Гц и постоянную времени 2 секунды.

  • Другой канал представляет собой смещенную во времени гауссову модулированную чирпу с постоянным значением 2. Укажите начальную частоту чирпа 30 Гц, которая затухает до 5 Гц через 2 секунды.

Постройте график сигнала.

t = 0:1/1000:3;
q1 = sin(2*pi*7*t).*exp(-t/2);
q2 = chirp(t,30,2,5).*exp(-(2*t-3).^2)+2;
q = [q1;q2]';

plot(t,q)

Figure contains an axes. The axes contains 2 objects of type line.

Вычислите верхнюю и нижнюю огибающие сигнала. Используйте фильтр Гильберта длиной 100. Постройте графики каналов и конвертов. Используйте сплошные линии для верхних оболочек и пунктирные линии для нижних оболочек.

[up,lo] = envelope(q,100,'analytic');
hold on
plot(t,up,'-',t,lo,'--')
hold off

Figure contains an axes. The axes contains 6 objects of type line.

Звонить envelope без выходных аргументов для получения графика сигнала и его огибающих как функции номера выборки. Увеличьте длину фильтра до 300, чтобы получить более гладкую форму. 'analytic' при указании двух входных аргументов по умолчанию используется флаг.

envelope(q,300)

Figure contains an axes. The axes with title Analytic Envelope contains 6 objects of type line.

Вычислите и постройте график движущихся RMS-конвертов записи свистка поезда. Используйте окно длиной 150 образцов.

load('train')

envelope(y,150,'rms')

Figure contains an axes. The axes with title RMS Envelope contains 3 objects of type line. These objects represent signal, envelope.

Постройте график верхнего и нижнего пиковых огибающих речевого сигнала, сглаженного на 30-отсчетных интервалах.

load('mtlb')

envelope(mtlb,30,'peak')

Figure contains an axes. The axes with title Peak Envelope contains 3 objects of type line. These objects represent signal, envelope.

Создайте и постройте график сигнала, который напоминает начальное обнаружение светового импульса, распространяющегося через дисперсионную среду.

t = 0.5:-1/100:-2.49;
z = airy(t*10).*exp(-t.^2);

plot(z)

Figure contains an axes. The axes contains an object of type line.

Определите огибающие последовательности, используя величину ее аналитического сигнала. Постройте график конвертов.

envelope(z)

Figure contains an axes. The axes with title Analytic Envelope contains 3 objects of type line. These objects represent signal, envelope.

Вычислите аналитическую огибающую сигнала с помощью 50-отводного фильтра Гильберта.

envelope(z,50,'analytic')

Figure contains an axes. The axes with title Analytic Envelope contains 3 objects of type line. These objects represent signal, envelope.

Вычислите среднеквадратичную огибающую сигнала, используя 40-образное подвижное окно. Постройте график результата.

envelope(z,40,'rms')

Figure contains an axes. The axes with title RMS Envelope contains 3 objects of type line. These objects represent signal, envelope.

Определите пиковые огибающие. Используйте сплайновую интерполяцию с не-узловыми условиями над локальными максимумами, разделенными не менее чем 10 выборками.

envelope(z,10,'peak')

Figure contains an axes. The axes with title Peak Envelope contains 3 objects of type line. These objects represent signal, envelope.

Входные аргументы

свернуть все

Входная последовательность, заданная как вектор или матрица. Если x является вектором, он обрабатывается как один канал. Если x является матрицей, то envelope вычисляет оценки огибающей независимо для каждого столбца. Все элементы x должны быть конечными.

Пример: cos(pi/4*(0:159))+randn(1,160) - одноканальный строково-векторный сигнал.

Пример: cos(pi./[4;2]*(0:159))'+randn(160,2) является двухканальным сигналом.

Типы данных: single | double

Длина фильтра Гильберта, заданная как положительный целочисленный скаляр. Фильтр создается при помощи окна идеального кирпично-настенного фильтра с окном Кайзера длиной fl и параметр формы β = 8.

Типы данных: single | double

Длина окна, заданная как положительный целочисленный скаляр.

Типы данных: single | double

Пиковое разделение, указанное как положительный целочисленный скаляр.

Типы данных: single | double

Выходные аргументы

свернуть все

Верхняя и нижняя огибающие сигнала, возвращаемые в виде векторов или матриц.

Расширенные возможности

.
Представлен в R2015b