Циклические коды являются частным случаем линейных и представляют собой наиболее разработанную часть последних. Основным их достоинством является простота технической реализации, благодаря чему они и обратили на себя внимание специалистов. Ценным свойством таких кодов является способность обнаруживать не только одиночные ошибки, но и пакеты ошибок. Пакетом ощибок длиной L называют число разрядов сообщения, искаженных подряд.
Свое название циклические коды получили из-за следующего свойства: если комбинация
an-1an-2 ... a1a0
относится к коду, то комбинация, полученная путем циклического сдвига элементов, т.е. комбинация
an-2 ... a1a0an-1,
также относится к коду. Направление сдвига не имеет значения. Один сдвиг в одном направлении эквивалентен n-1 сдвигам в другом направлении.
Математической основой построения циклических кодов является представление кодовых комбинаций в виде многочленов от некоторой переменной x с коэффициентами, равными элементам кодовых комбинаций, и операцией по mod2. Кодовая комбинация
an-1an-2 ... a1a0
представляется многочленом
an-1xn-1 + a n-2xn-2 + ... + a1x + a0
Циклический код строится с помощью так называемого порождающего многочлена g(x) степени r. Признаком принадлежности n-разрядной комбинации данному коду является делимось соответствующего ей многочлена на порождающий. Если многочлен принятой комбинации делится на порождающий, то считается, что она совпадает с посланной. Если деление происходит с остатком, то принятая комбинация к коду не относится, т.е. произошло наложение ошибки. Вид остатка при достаточной избыточности позволяет указать место ошибки.