exponenta event banner

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' пара имя-значение.

Подробнее

свернуть все

Позитивный переход

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

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

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

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

S1+U100(S2−S1).

Если L - нижний процентный опорный уровень, то значение формы сигнала, соответствующее нижнему процентному опорному уровню, равно

S1+L100(S2−S1).

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

Каждый уровень состояния может иметь связанные границы нижнего и верхнего состояний. Эти границы состояния определяются как уровень состояния плюс или минус скалярное кратное разности между высоким состоянием и низким состоянием. Для обеспечения полезной области допуска скаляр обычно представляет собой небольшое число, такое как 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++ с помощью MATLAB ® Coder™

.

См. также

| |

Представлен в R2012a