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

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

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

load('clock.mat')

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

Figure contains an axes object. The axes object 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 objects. Axes object 1 with title Histogram of signal levels (100 bins) contains an object of type line. Axes object 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 object. The axes object 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 object. The axes object 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 object. The axes object 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 object. The axes object 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

Смотрите также

| | | | | | | |

Похожие темы