envelope

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

Описание

пример

[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 object. The axes object 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 object. The axes object contains 3 objects of type line. These objects represent q, up, lo.

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

Используйте envelope без выходных аргументов, чтобы построить сигнал и конверты в зависимости от демонстрационного номера.

envelope(q)

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

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

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

  • Другой канал является перемещенным временем Модулируемым гауссовым образом щебетом со значением DC 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 object. The axes object 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 object. The axes object contains 6 objects of type line.

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

envelope(q,300)

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

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

load('train')

envelope(y,150,'rms')

Figure contains an axes object. The axes object 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 object. The axes object 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 object. The axes object contains an object of type line.

Определите конверты последовательности с помощью величины ее аналитического сигнала. Постройте конверты.

envelope(z)

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

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

envelope(z,50,'analytic')

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

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

envelope(z,40,'rms')

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

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

envelope(z,10,'peak')

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

Входные параметры

свернуть все

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

Пример: 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