NRZI код (Non Return to Zero Invertive) — один из способов линейного кодирования. Обладает двумя уровнями сигнала и используется для передачи битовых последовательностей, содержащих только 0 и 1. NRZI применяется, например, в оптических кабелях, где устойчиво распознаются только два состояния сигнала — свет и темнота.
Принцип кодирования
При передаче логического нуля на вход кодирующего устройства передается потенциал, установленный на предыдущем такте (то есть состояние потенциала не меняется), а при передаче логической единицы потенциал инвертируется на противоположный.
solution.js
Реализуйте и экспортируйте по умолчанию функцию, которая принимает cтроку в виде графического представления линейного сигнала и возвращает строку с бинарным кодом.
Примеры использования:
const signal1 = '_|¯|____|¯|__|¯¯¯';
nrzi(signal1); // '011000110100'
const signal2 = '|¯|___|¯¯¯¯¯|___|¯|_|¯';
nrzi(signal2); // '110010000100111'
const signal3 = '¯|___|¯¯¯¯¯|___|¯|_|¯';
nrzi(signal3); // '010010000100111'
Подсказки
- Символ
|
в строке указывает на переключение сигнала и означает, что уровень сигнала в следующем такте, будет изменён на противоположный по сравнению с предыдущим.
Для полного доступа к испытанию нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.