В этом примере показано, как оценить высокие и низкие государственные уровни для данных об электронных часах. В отличие от аналоговых сигналов напряжения, сигналы в цифровых схемах имеют только два состояния: HIGH и LOW. Информация передается шаблоном высоких и низких государственных уровней.
Загрузите clockex.mat
в рабочую область MATLAB®. clockex.mat
содержит форму волны электронных часов на 2,3 вольта, произведенную на уровне 4 мегагерц. Загрузите данные о часах в переменную x
и вектор времени выборки в переменной t
. Отобразите данные на графике.
load('clockex.mat','x','t') stem(t,x,'filled')
Определите высокие и низкие государственные уровни для данных о часах с помощью 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\}')
Правило решения присвоило все напряжения правильному состоянию.