差错控制系统中使用的信道编码可以有多种。
按照差错控制编码的不同功能,可以将其分为检错码、纠错码和纠删码。检错码仅能检测误码;纠错码仅可纠正误码;纠删码则兼有纠错和检错能力,当发现不可纠正的错误时可以发出错误只是或者简单地删除不可纠正错误的信息段落。
按照信息码元和附加的监督码元之间的检验关系可以分为线性码和非线性码。若信息码元与监督码元之间的关系为线性关系,即满足一组线性方程式,则称为线性码。反之,若两者不存在线性关系,则称为非线性码。
按照信息码元和监督码元之间的约束方式不同可以分为分组码和卷积码。在分组码中,编码后的码元序列每n位分为一组,其中k个是信息码元,r个是附加的监督码元,r=n-k。监督码元仅与本码组的信息码元有关,而与其它码组的信息码元无关。卷积码则不然,虽然编码后序列也划分为码组,但监督码元不但与本组信息码元有关,而且与前面码组的信息码元也有约束关系。
按照信息码元在编码后是否保持原来的形式不变,可划分为系统码和非系统码。在差错控制编码中,通常信息码元和监督码元在分组内有确定的位置,一般是信息码元集中在码组的前k位,而监督码元集中在后r=n-k位(有时两者倒过来放置)。在系统码中,编码后的信息码保持原样不变,而非系统码中信息码元则改变了原有的信号形式。系统码的性能大体上与非系统码相同,但是在某些卷积码中非系统码的系统优于系统码。优于非系统码中的信息位已“面目全非”,这对观察和译码都带来麻烦,因此很少应用。系统码的编码和译码相对比较简单些,因而得到广泛应用。
按照纠正错误的类型不同,可以分为纠正随机错误的码和纠正突发错误的码。前者主要用于发生零星独立错误的信道,而后者则用于对付以突发错误为主的信道。
按照构造差错控制编码的数学方法来分类,可以分为代数码、几何码和算术码。代数码建立在近世代数学基础上,是目前发展最为完善的编码。线性码是代数码的一个最重要的分支。
按照每个码元取值不同,可以分为二进制码和多进制码。