код манчестер 2 используется в частности и в протоколе ethernet
Возник вопрос популярного демо-описания алгоритма кодирования/декодирования манчестер и его реализацией несложной прогой на С без разработки электронных устройств или цифровых автоматов.
Правильно ли понимаю алгоритм?Исходные данные: двоичная последовательность
i=1..n
T -длительность такта -время появления очередного
Выходные данные: -последовательность перепадов ступеней,
j=1..K
- логический или 2-ичн признак b
(b=0 означает что 1я cтупень -низкого уровня, иначе - высокого}
Алгоритм кодирования манчестер 2Фактически он почти эквивалентен алгоритму кодирования повторений:
1)по исходной последовательности
строится последовательность количеств повторений
одинаковых соседних значений
и находится ее
длина K
2)
если A1=0 то b=0 ИНАЧЕ b=1
//0.5 из-за того что ступень получается в середине интервала T смены цифры
3)в цикле j=2 до n
------------------------------------------------------------
если расписать п.1 как алгоритм то запишем так
1)
если A1=0 то b=0 ИНАЧЕ b=1
2)
ЕСЛИ i>n ТО ВЫХОД
ЕСЛИ
ТО
ИНАЧЕ