exponenta event banner

Состояние оценки для цифровых часов

В этом примере показано, как оценить высокий и низкий уровни состояния для цифровых тактовых данных. В отличие от аналоговых сигналов напряжения, сигналы в цифровых схемах имеют только два состояния: ВЫСОКОЕ и НИЗКОЕ. Информация передается по схеме высокого и низкого уровней состояния.

Груз 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.

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

Определите ширину 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.

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