exponenta event banner

Извлечение характеристик тактового сигнала

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

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

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

См. также

| | | | | | | |

Связанные темы