​ 信道编码的引入主要是为了解决数据在信道中传输时引入的误码问题。解决误码问题有两个办法:前向纠错、后向纠错。

一.FEC(Forward erro correction)

1.重复码

​ 将每一个信息比特重复3次编码:0→000,1→111。
​ 接收端根据少数服从多数的原则进行译码。
​ 传输效率低

2.分组码

​ 为了提高传输效率,将k位信息比特分为一组,增加少量多余码元,共计n位,这就是分组码。
​ 包含k位信息比特的n位分组码,一般记为(n,k)分组码,如图5所示。

​ 奇偶校验码:只能查错(奇数个错误)不能纠错
​ 汉明码:可检测两位错误,纠正一位错误
​ 检错原理:如(7,4)汉明码
​ s2=a6⊕a5⊕a4⊕a2
​ s1=a6⊕a5⊕a3⊕a1
​ s0=a6⊕a4⊕a3⊕a0
​ 根据计算结果s2s1s0,可以判断出是否出错,如果出错,具体是哪个码元出错,
​ 纠错原理:发现错误位后将其取反
3.卷积码

​ 编码原理:
(1)编码器工作原理
​ 用(n,k,K)来表示卷积码,其中:
​ n:编码器每次输出的码元个数;
​ k:编码器每次输入的信息码元个数,一般k=1;
​ K:约束长度,在k=1的情况下,表示编码器的输出与本次及之前输入的K个码元相关。
​ 例如:(2,1,3)卷积编码器则需要两个移位寄存器

​ 编码器输入:mi,输出:u1和u2。
​ u1=mi⊕mi-1⊕mi-2
​ u2=mi⊕mi-2
​ 两个移位寄存器的初始状态为:00;
(2)编码器网格图
​ 两个寄存器的输出共有4种可能状态:00、10、01、11,沿纵轴排列,以时间为横轴,将寄存器状态和编码器输出随输入的变化画出来,这就是编码器网格图,如图所示。

​ 实线表示输入0,虚线表示输入1。
​ 实线和虚线旁边的数字表示编码器输出。
​ t1时刻:寄存器状态为00。
​ t2时刻:
​ 如果输入为0,寄存器状态保持00,编码器输出00;
​ 如果输入为1,寄存器状态变为10,编码器输出11。
​ 以此类推得到输出
​ 例子:如果输入11011,输出11 01 01 00 01
​ 译码原理:
​ 卷积码译码一般采用最大似然译码
(1)最大似然译码
​ 假定信道的误码率为Pe,且Pe<0.5。
​ 编码器的输入信息序列长度为L,输出的码字序列有2L种可能:Ai=(i=1,2,…,2L),如图所示。

​ 译码器在接收到码字序列B后,遍历Ai(i=1,2,…,2L),计算发送码字序列为Ai、接收码字序列为B的发生概率,将发生概率最大的发送码字序列对应的发送信息序列作为译码结果,这就是最大似然译码。
​ 接上例:假定接收11 01 01 00 01,L=5,发送序列11011,编码器输出11 01 01 00 01,全部正确,概率为(1-pe)^10;
​ 但如果发送序列为10011,编码器输出11 10 11 11 01,与接收序列相比错了5个码元,概率为pe^5 * (1-pe)^5;
​ 其他情况略,很明显11011的概率最高,
​ 错误的码元越少,发生概率越高。要找到发生概率最高的发送序列,只要找出误码数最少的发送码字序列就可以了。而两码字间对应位不同的个数总和称为汉明距离,所以只要找出汉明距离之和最小的发送码字序列就行了。

​ 要经过遍历2^L次可能码字序列计算概率完成译码,译码过程的计算量随L的增大而指数增长,难以实现。维特比发现了一种方法,可以大大减小译码的计算量,将最大似然译码推向实用
(2)维特比译码
​ 维特比译码的原理可以结合译码器网格图来理解。译码器网格图与编码器网格图类似,唯一的不同是:实线和虚线旁的数字不再表示编码器的输出,而是表示接收码字序列与编码器输出码字序列的汉明距离。
接上例:假定接收码字序列为11 01 01 10 01(11 01 01 00 01错了一个码元)

​ t1t2:接收到11,存在两条可能路径,汉明距离分别为2和0,
​ t2
t3:接收到01, t1t3间存在4条可能路径,汉明距离分别为3、3、2、0
​ t3
t4: 接收到01,t1~t4间存在8条可能路径,到每个状态存在2条可能路径
​ 最终选取汉明距离之和最短的那条

二.交织

​ 交织和去交织是通过对寄存器按行写入按列读出实现的。

​ 信道编码后的码字逐行写入交织寄存器,再逐列读出并发送出去

交织的实质是将突发错误分散开来,而且交织深度越深,抗突发错误的能力越强。补充:交织前相邻的符号在交织后的最小距离称为交织深度(也叫交织距离,GSM采用的交织深度为8). 交织深度应不小于信道上可能的突发错长度,否则解交织后仍可能存在一定的突发错误。

​ 接收到的数据逐行写入去交织寄存器,再逐列读出码字用于信道译码

​ 输过程中如果出现了如图中所示的连续误码,去交织后,恢复出的第3、第4、第5、第6码字的第3码元出错,对于出错的几个码字来讲,每个码字只是错了1个码元,信道译码时很容易纠错。
​ 解决连续误码问题

三.反馈重传

一、ARQ
自动请求重传:发送端发送具有一定检错能力的码,接收端发现出错后,立即通知发送端重传,如果还是错,再次请求重传,直至接收正确为止

二、HARQ
混合ARQ:是FEC和ARQ的结合,发送端发送具有一定检错和纠错能力的FEC码,接收端发现出错后,尽其所能进行纠错,纠正不了,则立即通知发送端重传,如果还是接收错误,再次请求重传,直至接收正确为止

三、HARQ+ARQ
很明显,HARQ的性能是优于ARQ的,但如果单纯使用HARQ重传,会导致解调门限大大提高。这是因为:重传次数一般都要受到最大重传次数的限制,要满足最恶劣信道条件下在达到最大重传次数之前能将数据传输正确,对解调门限提出了很高的要求。为了降低对解调门限的要求,移动通信系统中一般将二者结合起来使用

​ 利用HARQ重传将误码控制在一定水平,残留一部分误码给ARQ进行重传,这样系统性能可以达到最优。