К настоящему моменту времени разработано большое количество классов помехоустойчивых кодов, которые отличаются принципом построения, основанием кода (q), кодовым расстоянием (d0), избыточностью (r), структурой, функциональным назначением, алгоритмами декодирования, способом передачи кодовых символов и т.д.
Для лучшего понимания и практического использования помехоустойчивых кодов вводят классификацию кодов, по характерным признакам их отличия.
1. По форме представления передаваемой информации —
помехоустойчивый код можно разделить на две группы или на два способа представления информации, а именно: семантические коды и элементные (цифровые, дискретные) коды.
Семантические коды - используют короткие комбинации букв, обозначающие целые фразы, например, SOS - сигнал опасности.
Элементные (дискретные) коды - характеризуются тем, что каждому символу источника присваивается определенное число в заданной системе счисления и которое отображается соответствующей кодовой последовательностью, например, 10, 00 или 100, 000, 010 и т.д. Здесь элемент "1" и "0";
2.По основанию кода или по количеству единичных элементов, используемых для формирования кодовой последовательности, коды делятся на двоичные (т.е. q=2, GF(q)=GF(2)) и недвоичные, когда q>2.
3. По способу преобразования "k" информационных символов в "n"кодовых символов делятся нa блоковые и непрерывные. В блоковых кодах из "k" информационных символов формируется " l " проверочных символов и " l " проверочных символов совместно c "k" информационными символами образуют кодовую последовательность из n=(k+ l) кодовых символов (информационные символы каждого входного блока не оказывают влияния на формирование проверочных символов предшествующей кодовой последовательности и последующих кодовых последовательностей).
В непрерывных кодах каждый информационный символ может оказывать влияние на формирование проверочных символов. В данных кодах нет четкого деления на кодовые последовательности из "n" кодовых символов.
4. По алгоритму формирования (l) проверочных символов – на линейные и нелинейные. В линейных кодах проверочные символы формируются путем суммирования по модулю два информационных символов, стоящих на определенных позициях. В нелинейных кодах проверочные символы формируются путем суммирования информационных символов по модулю отличному от два.
5. По количеству символов в кодовых последовательностях – на равномерные и неравномерные коды. В равномерных кодах все кодовые последовательности помехоустойчивого кода имеют одинаковую длину, т.е. "n"=const. У неравномерных кодов один и тот же помехоустойчивый код может иметь кодовые последовательности с разной длиной, т.е. "n"¹const;
6. По структуре кодовых последовательностей – на разделимые и неразделимые. К разделимым кодам относятся такие помехоустойчивые коды у которых есть четкое деление на блоки из "k" информационных символов, l -проверочных символов и на кодовые последовательности из "n" символов; такое деление справедливо для всех кодовых последовательностей. К неразделимым относятся коды у которых нет четкого деления на информационные, проверочные блоки и на кодовые последовательности;
7. По способу передачи кодовых символов – на систематические и несистематические. В систематических кодах в канал связи первоначально передается информационные символы (блок из "k" информационных символов), а затем блок из " l " проверочных символов. В систематических кодах сохраняются статистические связи между "k" информационными символами данной кодовой последовательности. В несистематических кодах нет четкого деления на блоки информационных символов и проверочных и, следовательно, нет статистической связи между информационными символами и в канал связи кодовые символы передаются по "псевдослучайному закону", т.е. может переданы проверочныйе символы, например, два проверочных символа, а затем переданы три информационных символа, а затем один проверочный, два - информационных и т.д. Примером несистематических кодов являются коды Плоткина и коды с постоянным весом (с равным количеством логических "1").
К систематическим кодам, в первую очередь, относятся двоичные равномерные групповые линейные коды БЧХ, Файра, РС-коды, СК и др., которые в дальнейшем будем рассматривать.
8. По количеству используемых помехоустойчивых кодов – на однокаскадные и каскадные. Однокаскадные коды используют только один помехоустойчивый код того или иного класса, а в противном случае помехоустойчивые коды называются каскадными, которые могут быть 2-х каскадные (два кода, например, один тип помехоустойчивого кода - блоковый, а второй - СК), 3-х каскадные - три помехоустойчивых кода и т.д.
Примечание: в теоретической и технической литературе по помехоустойчивым кодам применяются другие методики классификации помехоустойчивых кодов, которые могут отличаться несколько от рассмотренной, но только в некоторых деталях.