Состояние оценки для цифрового синхроимпульса

Этот пример показов, как оценить высокий и низкий уровни состояния для цифровых тактовых данных. В отличие от аналоговых сигналов напряжения, сигналы в цифровых схемах имеют только два состояния: HIGH и LOW. Информация передается шаблоном высоких и низких уровней состояния.

Загрузка clockex.mat в рабочую область MATLAB ®. clockex.mat содержит цифровую форму синхроимпульса 2,3 В, дискретизированную в 4 мегагерц. Загрузите данные синхроимпульса в переменную x и вектор времени дискретизации в переменной t. Постройте график данных.

load('clockex.mat','x','t')
stem(t,x,'filled')

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

Определите высокий и низкий уровни состояния для данных синхроимпульса используя statelevels.

levels = statelevels(x)
levels = 1×2

    0.0027    2.3068

Это ожидаемый результат для данных синхроимпульса 2,3 В, где уровень невысокого состояния без шума составляет 0 В, а уровень высокого состояния без шума - 2,3 В.

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

  • Присвойте любому напряжению в области 3% -допуски уровня низкого состояния значение 0.

  • Присвойте любому напряжению в области 3% -допуски высокого уровня значение 1.

Определите ширины областей 3% -допуски вокруг уровней низкого и высокого состояния.

tolwd = 3/100*diff(levels);

Используйте логическую индексацию, чтобы определить напряжения в области 3% -допуски низкого уровня и напряжения в области 3% -допуски высокого уровня. Присвойте значение 0 напряжениям в области допуска низкого уровня и 1 напряжениям в области допуска высокого уровня. Постройте график результата.

y = zeros(size(x));
y(abs(x-min(levels))<=tolwd) = 0;
y(abs(x-max(levels))<=tolwd) = 1;

subplot(2,1,1)
stem(t,x,'filled')
ylabel('Volts')
subplot(2,1,2)
stem(t,y,'filled')
ylabel('\{0,1\}')

Figure contains 2 axes. Axes 1 contains an object of type stem. Axes 2 contains an object of type stem.

Правило принятия решения присвоило все напряжения правильному состоянию.