Извлечение функций тактового сигнала

Насколько резко включается и выключается сигнал включения/выключения? Как часто и как долго он активируется? Определите все эти характеристики для выхода синхроимпульса.

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

load('clock.mat')

plot(tclock,clocksig)
xlabel('Time (s)')
ylabel('Level (V)')

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

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

levels = statelevels(clocksig)
levels = 1×2

    0.0138    5.1848

statelevels(clocksig);

Figure State Level Information contains 2 axes. Axes 1 with title Histogram of signal levels (100 bins) contains an object of type line. Axes 2 with title Signal contains 3 objects of type line.

Определите, насколько быстро сигнал повышается при каждом переходе. risetime использует нижний и верхний уровни, найденные по statelevels. Это определяет время нарастания как время, в течение которого сигнал увеличивается с 10% до 90% различия между уровнями.

[Rise,LoTime,HiTime,LoLev,HiLev] = risetime(clocksig,tclock);

Levels = [LoLev HiLev; (levels(2)-levels(1))*[0.1 0.9]+levels(1)]
Levels = 2×2

    0.5309    4.6677
    0.5309    4.6677

Если вы звоните risetime без выходов функция рисует аннотированный график сигнала. Времена нарастания затенены, точки пересечения отмечены, а уровни отображены. Можно использовать временной вектор или частоту дискретизации как вход.

risetime(clocksig,Fs);

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.

overshoot и undershoot показать, как далеко сигнал отклоняется от уровней состояния на каждом переходе. Результаты выражены в процентах от различия между уровнями. Дальнейшие выходы определяют фактическое время и значения сигналов.

overshoot(clocksig,Fs);

[pctgs,values,times] = undershoot(clocksig,Fs);

hold on
text(1.1e-3,2,'     Undershoot','Background','w','Edge','k')
plot([times;1.17e-3],[values;2],'^m','HandleVisibility','off')
hold off

Figure Overshoot Plot contains an axes. The axes contains 13 objects of type line, text. These objects represent signal, upper cross, lower cross, post-overshoot, upper boundary, upper state, lower boundary, upper reference, lower reference, lower state.

Определите, как быстро падает сигнал falltime. Уровни состояния и процентные базовые уровни можно задать вручную. То же самое можно сделать и с risetime.

falltime(clocksig,tclock, ...
    'PercentReferenceLevels',[30 80],'StateLevels',[0 5]);

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

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

per = pulseperiod(clocksig,tclock)
per = 4×1
10-3 ×

    0.4143
    0.4200
    0.4188
    0.4111

pulseperiod(clocksig,Fs,'Polarity','negative','MidPct',25);

Figure Pulse Period Plot contains an axes. The axes contains 10 objects of type patch, line. These objects represent pulse period, signal, mid cross, upper boundary, upper state, lower boundary, mid reference, lower state.

Коэффициент заполнения является отношением ширины импульса к периоду импульса. Определите его непосредственно или с помощью специальной функции.

dut = dutycycle(clocksig,Fs);

wdt = pulsewidth(clocksig,Fs);

compare = [wdt./per dut]
compare = 4×2

    0.4862    0.4862
    0.4756    0.4756
    0.4871    0.4871
    0.4886    0.4886

См. также

| | | | | | | |

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте