无线网络中的信道编码综述
2021-05-25周宇翔
周宇翔,周 华
(1.南京信息工程大学 长望学院,江苏 南京 210044;2.南京信息工程大学 通信工程系,江苏 南京 210044)
0 引 言
信源向信宿发送数据主要受信道带宽等因素约束,在有限的带宽中通常用吞吐量、误码率(Symbol Error Rate,SER)和信噪比(Signal-to-Noise Ratio,SNR)等数值衡量各类信道编码的性能。在信道编码中引入冗余位往往可以降低误码率。在分组码中,信息被分成大小恒定的码块在信道中传输,这些在无记忆信道中被发送到接受节点的码块将一定程度上降低误码率。奇偶校验矩阵的意义在于获取高质量的码块,从而提高信道的传输质量[1]。分组码有线性、循环、BCH等形式。卷积码是一种性能更好的码字,通常应用于数字无记忆信道传输。在这种码字中,数据串行传输,而冗余的码字被用于卷积编码[2]。
当信道带宽受限时,网格编码调制(Trellis Coded Modulation,TCM)方案就发挥了相应作用。该方案采用移相键控(Phase Shift Keying,PSK)和幅度调制,使得在有限的带宽内编码调制的误码率得到有效改善[3]。低密度奇偶校验码(Low Density Parity Check Code,LDPC)使用奇偶校验矩阵降低误码率,包括结构化LDPC码和随机LDPC码两种类型[4]。为了实现快速编译码操作,引入了喷泉码,其中的LT码和Raptor码被验证了具有较为优异的性能[5-7]。
1 线性分组码
在线性分组码中,信息以比特流的形式传递,这些比特流按某种规律分组后作为信道的输入。在该编码过程中,存在冗余项作为纠错码被一起发送至接收端,用于纠正实际传输信息的码字中的错误。在接收端,这些码字再次被转化为比特流,从中检索出原有的信息。码字传输原理如图1所示。
图1 码字传输原理
在分组码中,信息序列被划分成固定长度的消息分组,每一个消息分组含有k个信息比特,一共有2k个不同的消息。在(n,k)分组码中,这k个消息比特按照一定的编码规则被编码成长为n(n>k)的二进制序列c=(c1,c1,…,cn-1),由编码器产生的n-k个添加到每个输入消息中的比特称为冗余比特。在接收节点处对码字进行译码后,接收端得到原始信息。
常用的线性分组码有汉明码、循环码、二进制BCH码以及RS码。令v和w是GF(2)上的两个n维向量,v和w之间的汉明距离记为d(v,w),即v和w相应位置元素不相同的元素个数。对于线性码,dH((v,w)=d(0,w-(v)=d(0,c)=w(c)。其中w(c)为c的汉明重量,表示c中非零元素的个数[8]。
在汉明码中,两个码字之间的距离小于或等于汉明距离,其纠错上限为:
式中,Dm表示该分(n,k)组码中两个不同码字之间的最小汉明距离。
循环码任一码字的循环移位(左移或右移)构成该码的另一个码字,其编码电路和伴随式运算电路可以用简单的反馈移位寄存器来实现。因为线性循环码具有相当多固有的代数结构,可以找到各种简单有效的译码方法,所以得到了广泛应用[9]。
BCH码和RS码是两类能够先确定纠错能力或最小码距,然后设计码长和生成多项式的循环码。BCH码在二元域中寻找最小多项式,而RS码是BCH码的一个子类,其码字向量的每一个分量称为一个符号,并且每个符号均可表示为m比特。一个可以纠正任意小于等于t个符号差错的RS码的基本参数为:
式中,n为码长;r为校验位长。多项式误差定位器找到发生差错的位置并计算差错的大小,然后从传输的码字中纠正该误差,恢复得到原有的信息。
2 卷积码
卷积码的编码器是有记忆的,在一定的时间内编码器的输出不仅取决于该时刻的输入,也与一定数量以前的输入相关。以码率为R=k/n的卷积编码器为例,信息序列u被划分为长度为k的数据帧,在任意时刻一个k比特长的数据帧被作为信息序列送入卷积编码器,相应的输出是n比特的编码序列。每n比特的编码输出块不仅依赖于当前时刻的k比特输入序列,也依赖于m个以前输入的k比特序列。
图2给出了一个存储级数m=2、码率R=1/2的卷积码编码器,该编码器有1路输入、两路输出。其中,删余卷积码定期删除编码位,使得码率提高,性能也更加优异。
图2 卷积码编码器
3 Turbo码
Turbo码又称为并行级联卷积码(Parallel Concatenated Convohtional Code,PCCC),它巧妙地将卷积码和随机交织器结合在一起,实现了Shannon随机编码的思想,同时采用软输出迭代译码来逼近最大似然译码。Turbo码的一个重要特点在于它的分量码采用递归系统卷积码(Recursive Systematic Convolutional,RSC)。不同于一般的卷积码器,Turbo码编码器中不仅有前向结构,而且还有后向反馈结构,如图3所示。
图3 Turbo码编码器
RSC编码器一般有2~5级移位寄存器,用生成多项式表示为:
式中,1表示系统比特;g1和g2分别表示编码器的前馈多项式和反馈多项式。
4 LDPC码
LDPC码是一类具有逼近信道容量限性能的(n,k)线性分组码,其校验矩阵H=[hij]是m×n的稀疏矩阵,包含有更多的零元素和较少的非零元素。根据H矩阵中非零元素的分布情况,该码可以分为规则LDPC码和不规则LDPC码。若矩阵H具有恒定的列重和行重(即每行或每列上的非零元素个数相同),则称为规则LDPC码。矩阵H可以用Tanner图表示,其中一个顶点集合表示符号变量,称为变量节点;另一个顶点集合表示局部约束,称为约束节点或校验节点[10]。H矩阵的列数等于Tanner图中的变量节点数,行数等于校验节点数。(10,5)线性分组码的Tanner图如图4所示。
图4 (10,5)线性分组码的Tanner图
图4中共有5个校验节点和10个变量节点,这意味着它对应的H矩阵是5行、10列。两种节点间的连线表示行与列之间的连接,对应于H矩阵里的非零元素,代表变量节点将信息发送到了相应的校验节点。图4对应的矩阵为:
图4中变量节点c1分别连接着校验节点s1、s2、s4,对应式(4)中矩阵H第1列的非零元素位于第1、2、4行。同理,变量节点c10分别连接着校验节点s3、s4,对应式(4)中矩阵H第10列的非零元素位于第3、4行。
图4 上电时序
5 编码方式
一个二元(n,k)线性分组码C是GF(2)上所有n维向量组成的向量空间的一个k维子空间,C中存在k个线性独立的码字g0,g1,…,gk-1,C中每个码字ci是这k个线性独立码字的线性组合,即:
将这k个线性独立的码字写作矩阵的形式:
令待编码的消息u=(u0,u1,…,uk-1),则该消息对应的码字可表示为:
6 译码方式
基于接受序列、编码规则以及信道的噪声特征,接收机判断哪一个消息是实际发送的,这个判决操作称为译码。LDPC码中常用的译码方法有两种,即二进制擦除译码和位翻转译码[11]。二进制擦除译码通过在变量节点和校验节点之间多次传递消息来完成校验,直到恢复出正确的信息,这种校验方法又被称为迭代。位翻转译码也是一个迭代的过程,每迭代一次后便计算信道输出中“1”的个数,若不满足原有的奇偶性则翻转消息中的比特,直到获取正确的码字[12]。
7 结 论
随着通信技术的不断发展,与有线通信相比,无线通信具有便捷、限制小等优点。但与此同时,无线通信也面临着稳定性差、易受干扰等问题。信道编码技术有效解决了传输信道的相关问题,对传输过程中的误差进行了一定程度的控制,值得推广应用。