ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
22 июля
1115413 Топик полностью
OldHobo (08.07.2021 23:09, просмотров: 7) ответил IBAH на Олимпийская задачка. Дано: Двоичной число (0/1) разрядностью N, закодировать/раскодировать так, чтобы подряд шло не более К нулей. Например N=8 K=2 число 10000010, результат 10010010
См. "dc balanced codes". Эти коды широко применяются в компьютерных интерфейсах. Очень популярен 8B/10В, поскольку хорошо ложится на байты. Есть и с более длинными блоками, например 64В/66В. Само собой, чем больше блок, тем меньше избыточность. https://en.wikipedia.org/wiki/8b/10b_encoding.

Декодируется просто. На Атмеге 8B/10B получалось декодировать до 19,2 кбит/с вместе с фазовой подстройкой.