risetime

Время нарастания положительных переходов двухуровневых сигналов

Описание

пример

r = risetime(x) возвращает вектор, r, содержащий время каждого перехода вход двухуровневого сигнала, x, принимает, чтобы пересечь от 10% до 90% эталонных уровней. Для определения переходов, risetime оценивает уровни состояния формы волны входа методом гистограммы. risetime определяет все области, которые пересекают контур низкого состояния и нижний контур высокого состояния. Контуры низкого и высокого состояний выражаются как уровень состояния плюс или минус кратное различие между уровнями состояния. См. «Допуски уровня состояния». Поскольку risetime использует интерполяцию, r может содержать значения, которые не соответствуют моментам дискретизации двухуровневого сигнала, x.

r = risetime(x,fs) задает частоту дискретизации в герцах. Частота дискретизации определяет моменты дискретизации, соответствующие элементам в x. Первая выборка в x соответствует t = 0. Поскольку risetime использует интерполяцию, r может содержать значения, которые не соответствуют моментам дискретизации двухуровневого сигнала, x.

r = risetime(x,t) задает примеры моментов, t, как вектор с таким же количеством элементов, как x.

пример

[r,lt,ut] = risetime(___) возвращает векторы, lt и ut, элементы которого соответствуют моментам времени, где x пересекает нижние и верхние опорные уровни.

пример

[r,lt,ut,ll,ul] = risetime(___) возвращает уровни, ll и ul, которые соответствуют нижнему и верхнему процентным эталонным уровням.

пример

[___] = risetime(___,Name,Value) возвращает времена нарастания с дополнительными опциями, заданными одним или несколькими Name,Value аргументы в виде пар.

risetime(___) строит график сигнала и темнеет области каждого перехода, где вычисляется время нарастания. График помечает нижний и верхний переходы и соответствующие опорные уровни. Уровни состояния и соответствующие связанные контуры нижнего и верхнего состояний также построены.

Примеры

свернуть все

Определите время нарастания в выборках для формы волны 2,3 В синхроимпульса.

Загрузите данные синхроимпульса 2.3 В. Определите время нарастания выборок. Используйте уровни ссылки по умолчанию 10% и 90% процентов.

load('transitionex.mat','x','t')
R = risetime(x)
R = 0.7120

Время нарастания меньше 1, что указывает на то, что переход произошел в части выборки. Постройте график данных, включая информацию о времени, и аннотируйте время нарастания.

risetime(x,t);

Figure Rise Time Plot contains an axes. The axes contains 12 objects of type patch, line. These objects represent rise time, signal, upper cross, lower cross, upper boundary, upper state, lower boundary, upper reference, lower reference, lower state.

Сгенерируйте два сигнала, которые представляют двухуровневым сигналам. Сигналы дискретизируются на частоте 50 Гц в течение 20 секунд. Для первого сигнала переход происходит через 13 секунд после начала измерения. Для второго сигнала переход происходит через 5 секунд после начала измерения. Сигналы имеют различные амплитуды и встроены в белый Гауссов шум различных отклонений. Постройте график сигналов.

tt = linspace(0,20,1001)';
e1 = 1.4*tanh(tt-13)+randn(size(tt))/3;
e2 = tanh(3*(tt-5))+randn(size(tt))/5;

plot(tt,e1,tt,e2)

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

Выровняйте сигналы так, чтобы их время перехода совпадало. Основанные на корреляции методы не могут адекватно выровнять этот тип сигналов.

[y1,y2,D] = alignsignals(e1,e2);

plot(y1)
hold on
plot(y2)
hold off

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

Использование risetime для выравнивания сигналов. Для каждого сигнала найдите время перехода как среднее значение момента, в который сигнал пересекает нижний эталонный уровень, и момента, в который он пересекает верхний эталонный уровень. Постройте график выровненных осей.

[~,l1,u1] = risetime(e1,tt);
[~,l2,u2] = risetime(e2,tt);

t1 = tt-(l1+u1)/2;
t2 = tt-(l2+u2)/2;

plot(t1,e1,t2,e2)

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

Определите время нарастания в форме волны 2,3 В синхроимпульса, выбранной на 4 МГц. Вычислите время нарастания с помощью 20% и 80% эталонных уровней.

Загрузите данные синхроимпульса 2.3 В с моментами дискретизации. Вычислите частоту дискретизации как обратную временного различия между последовательными выборками. Определите время нарастания с помощью 20% и 80% эталонных уровней. Постройте график аннотированной формы волны.

load('transitionex.mat','x','t')

fs = 1/(t(2)-t(1));

risetime(x,'PercentReferenceLevels',[20 80])

Figure Rise Time Plot contains an axes. The axes contains 12 objects of type patch, line. These objects represent rise time, signal, upper cross, lower cross, upper boundary, upper state, lower boundary, upper reference, lower reference, lower state.

ans = 0.5340

Определите время нарастания, моменты опорного уровня и эталонные уровни в форме волны 2,3 В синхроимпульса, выбранной на 4 МГц.

Загрузите сигнал синхроимпульса 2.3 В вместе с моментами дискретизации.

load('transitionex.mat','x','t')

Определите время нарастания, моменты опорного уровня и уровни ссылки.

[R,lt,ut,ll,ul] = risetime(x,t);

Постройте график формы волны с нижним и верхним эталонными уровнями и моментами опорного уровня. Покажите, что время нарастания является различием между моментами верхнего и нижнего эталонного уровня.

plot(t,x)
xlabel('seconds')
ylabel('Volts')

hold on
plot([lt ut],[ll ul],'o')
hold off

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

fprintf('Rise time is %g seconds.',ut-lt)
Rise time is 1.78e-07 seconds.

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

свернуть все

Двухуровневый сигнал, заданный как действительный вектор.

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

Дискретизация моментов, заданная как вектор. Длина t должен равняться длине двухуровневого сигнала x.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: 'StateLevels',[0,0.8],'Tolerance',10,'PercentReferenceLevels',[20 50] задает, что низкий и высокий уровни составляют 0 ± 10% и 0,8 ± 10% соответственно, и что переход происходит, когда сигнал пересекает от 0,8 × 0,2 до 0,8 × 0,5.

Базовые уровни в процентах от амплитуды формы волны, заданные как разделенная разделенными запятой парами, состоящая из 'PercentReferenceLevels'и двухэлементный положительный вектор-строка. Элементы вектора-строки соответствуют нижнему и верхнему процентным эталонным уровням. Высокий уровень состояния определяется как 100 процентов, а низкий уровень состояния - как 0 процентов. Для получения дополнительной информации см. Процентные эталонные уровни.

Низкий и высокий уровни состояния, заданные как разделенная разделенными запятой парами, состоящая из 'StateLevels' и двухэлементный положительный вектор-строка. Первый и второй элементы вектора соответствуют низкому и высокому уровням состояния.

Нижние и верхние контуры, заданные как разделенные запятой пары, состоящие из 'Tolerance' и действительная положительная скалярная величина в процентном значении. Смотрите Допуски уровня состояния для получения дополнительной информации об этой паре "имя-значение".

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

свернуть все

Длительность положительного перехода, возвращенная как вектор. Если вы задаете частоту дискретизации Fs или образец мгновенного t, времена нарастания указаны в секундах. Если вы не задаете частоту дискретизации или моменты дискретизации, времена нарастания приходится на выборки.

Момент пересечения нижнего опорного уровня, возвращенный как вектор. Векторная lt содержит моменты времени, когда положительный переход пересекает нижний базовый уровень. По умолчанию нижним эталонным уровнем является 10% -ный эталонный уровень. Можно изменить базовые уровни по умолчанию, задав 'PercentReferenceLevels' Пара "имя-значение".

Пересечение верхнего опорного уровня мгновенно, возвращается как вектор. Векторная ut содержит моменты времени, когда положительный переход пересекает верхний базовый уровень. По умолчанию верхним эталонным уровнем является 90% -ный эталонный уровень. Можно изменить базовые уровни по умолчанию, задав 'PercentReferenceLevels' Пара "имя-значение".

Более низкий эталонный уровень в единицах амплитуды формы волны, возвращаемый как действительный числовой скаляр. ll является вектором, содержащим значения формы волны, соответствующие нижнему опорному уровню в каждом положительном переходе. По умолчанию нижним эталонным уровнем является 10% -ный эталонный уровень. Можно изменить эталонные уровни по умолчанию, задав 'PercentReferenceLevels' Пара "имя-значение".

Верхний эталонный уровень в единицах амплитуды формы волны, возвращаемый как действительный числовой скаляр. ul является вектором, содержащим значения формы волны, соответствующие верхнему опорному уровню в каждом положительном переходе. По умолчанию верхним эталонным уровнем является 90% -ный эталонный уровень. Можно изменить базовые уровни по умолчанию, задав 'PercentReferenceLevels' Пара "имя-значение".

Подробнее о

свернуть все

Положительный переходный процесс

A positive-going transition в двухуровневый сигнал является переходом от низкого уровня к высокому уровню. Импульс положительной полярности (положительная полярность) имеет оконечное состояние более положительное, чем исходное состояние. Если форма волны дифференцируема по соседству перехода, эквивалентное определение является переходом с положительной первой производной. Этот рисунок показывает положительный переход.

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

Процентные эталонные уровни

Если S1 - низкое состояние, S2 - высокое состояние, и U - верхний процент эталонного уровня, значение формы волны, соответствующее верхнему проценту эталонного уровня,

S1+U100(S2S1).

Если L является уровнем ссылки с более низким процентом, значение формы волны, соответствующее уровню ссылки с более низким процентом, является

S1+L100(S2S1).

Допуски уровня состояния

Каждый уровень состояния может иметь сопоставленные контуры нижнего и верхнего состояний. Эти контуры состояний заданы как уровень состояния плюс или минус скалярный, кратный различия между высоким состоянием и низким состоянием. Для обеспечения полезной области допуска скаляром обычно является небольшое число, такое как 2/100 или 3/100. В целом область$\alpha\%$ для низкого состояния определяется как

$$S_1\pm{\alpha\over{100}}(S_2-S_1),$$

где$S_1$ - уровень низкого состояния и$S_2$ уровень высокого состояния. Замените первый член уравнения на, чтобы$S_2$ получить$\alpha\%$ область допуска для высокого состояния.

Следующий рисунок иллюстрирует нижние и верхние контуры состояний 2% (области допуска) для двухуровневого сигнала положительной полярности. Красные штриховые линии указывают на предполагаемые уровни состояния.

Ссылки

[1] IEEE® Стандарт на переходы, импульсы и связанные формы волны, стандарт IEEE 181, 2003, стр. 15-17.

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

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.

См. также

| |

Введенный в R2012a