Испытания

NRZI кодирование

JS: Коллекции

NRZI код (Non Return to Zero Invertive) — один из способов линейного кодирования. Обладает двумя уровнями сигнала и используется для передачи битовых последовательностей, содержащих только 0 и 1. NRZI применяется, например, в оптических кабелях, где устойчиво распознаются только два состояния сигнала — свет и темнота.

Принцип кодирования

При передаче логического нуля на вход кодирующего устройства передается потенциал, установленный на предыдущем такте (то есть состояние потенциала не меняется), а при передаче логической единицы потенциал инвертируется на противоположный.

nrzi

solution.js

Реализуйте и экспортируйте по умолчанию функцию, которая принимает cтроку в виде графического представления линейного сигнала и возвращает строку с бинарным кодом.

Примеры использования:

const signal1 = '_|¯|____|¯|__|¯¯¯';
nrzi(signal1); // => '011000110100'

const signal2 = '|¯|___|¯¯¯¯¯|___|¯|_|¯';
nrzi(signal2); // => '110010000100111'

const signal3 = '¯|___|¯¯¯¯¯|___|¯|_|¯';
nrzi(signal3); // => '010010000100111'

Подсказки

  • Символ | в строке указывает на переключение сигнала и означает, что уровень сигнала в следующем такте, будет изменён на противоположный по сравнению с предыдущим.
Успешных завершений: 87%

Последние код-ревью

Автор Дата обновления Версий
gorkiy 21 окт., 19:07 1
1ocke 21 окт., 15:44 3
user-489606248aeedd4d 16 окт., 07:15 1
gabit-zhanabaev 16 окт., 01:18 1
user-5d06dc716112d140 14 окт., 13:19 1