第3章
CHAPTER 3


卫星通信中的编码与


信号处理技术



卫星通信系统是典型的无线通信系统,根据各自的通信环境、应用对象、传输速率、系统性能等不同要求,它们都使用了各种编码技术及信号处理技术。通常将信息转换为适合在信道中传输的信号序列的过程称为编码。根据编码的目的不同,可以将编码技术分为信源编码和信道编码两大类。本章将重点介绍卫星通信系统中使用的信源编码和信道编码技术以及信号处理技术。
3.1信源编码技术
信源编码是指通过压缩编码去掉信号源中的冗余成分,以达到压缩码元速率和带宽、实现信号有效传输的目的,即提高通信系统的“有效性”。因此,信源编码实际上就是把话音、图像等模拟信号变换成数字信号,并利用传输信息的性质,采用适当的编码方法,降低传输速率,即实现话音或图像的频带压缩传输,提高通信系统的效率。而译码则是编码的逆过程。
为了用数字卫星线路传输话音、图像等模拟信号,就必须对模拟信号进行数字化处理,即A/D变换。变换后的数字信号再进行多路复接,经过调制后形成已调信号经由卫星传输线路传输后在接收端进行相应地解调、分接、模/数(D/A)变换,从而恢复出传送的模拟信号。
3.1.1卫星通信系统对信源编码的要求
在目前普遍使用的通信系统中,最基本的语音编码方式为脉冲编码调制(Pulse Code Modulation,PCM),即以奈奎斯特抽样定理为基准,对主频范围为300~3400Hz的语音信号以8KHz的采样频率进行采样后,经过量化编码编为8位码,最终形成速率为64Kb/s的数字信号。
在数字卫星通信系统中,为了充分利用有限的频率资源,进一步降低传输速率,采用了信号频带压缩技术,提出了多种信源编码方案。由于卫星通信信号在无线信道中传输时通常会受到多径衰落、多普勒效应等因素的影响,因此卫星系统对语音和图像,尤其是语音等信源编码方式会提出如下要求: 
(1) 在有限的频带内,尽量提高频谱利用率。
(2) 一般数字卫星通信中话音的编码传输速率为16~64Kb/s,而卫星移动通信中的编码传输速率为1.2~9.6Kb/s。在一定的编码传输速率下,应尽可能提高话音质量。应对编码译码过程所用的时间进行严格控制,因此需采用编译码时延较短的方案,并要求限制在几十毫秒之内。表31以平均主观意见分(Mean Opinion Score,MOS)列出了人们对话音质量的直接感受。



表31话音质量主观评分等级表



MOS语音质量对信号畸变的主观感受

5非常好无
4好在可接受的范围内
3中轻微的讨厌感
2差很讨厌、但可忍受
1很差无法忍受

(3) 由于系统中的信号传输环境有时非常恶劣,会遇到雨、雾等不利气候条件及移动通信信道中多径衰落的影响,因此要求信源编码的算法本身具有较好的抗误码性能,以保证话音传输质量。
(4) 不同的压缩编码方式所采用的基本算法及不同程序实现的复杂程度也不相同,应选用复杂程度适中的算法和程序,便于电路的集成化。




3.1.2信源编码方式
人们通过观察发现,人在发音过程中是存在冗余度的。而且,人的听觉系统对不同频段的感觉灵敏度也不一样,具有有限的动态范围。语音编码技术就是根据这些特点研究如何降低传输速率的。为此,有时也称为语音压缩编码技术。目前,语音编码可分为波形编码、参量编码及混合编码三类。
1. 波形编码
波形编码是将时域信号直接变换为数字代码的一种编码方式。由于在信号采样和量化过程中考虑到了人的听觉特性,因此采用这种编码方式恢复的信号与原输入信号具有很高的相似度。为此,通常也将波形编码称为真迹编码。波形编码包括时域编码和频域编码。
1) 时域编码
时域编码主要有脉冲编码调制(PCM)、增量调制(ΔM)、自适应差分脉码调制(ADPCM)、自适应增量调制(ADM)、自适应预测编码(APC)等。这种编码数码率一般在16~64Kb/s之间,量化信噪比高,语音质量好。当数码率低于16Kb/s时,语音质量将迅速下降。
线性PCM对语音信号幅度直接进行均匀量化,没有利用声音的性质,所以信息没有得到压缩。而对数PCM利用了语音信号幅度的统计特性,对幅度按对数变换压缩,将压缩的结果作线性编码,在接收端译码时按指数扩展,比如传输速率为64Kb/s的A律和μ律。由于线性PCM可以直接进行二进制运算,所以一般速率低于64Kb/s的语音编码系统多是先进行对数PCM线性PCM变换后,再采用信号处理器进行语音信号数字处理。PCM最大缺点是传输速率高,在传输时所占频带较宽。

DPCM(Differential Pulse Code Modulation)是根据相邻采样值的差值信号进行编码,其量化器与预测器的参数能根据输入信号的统计特性自适应于最佳或接近于最佳参数状态。ADPCM是语音编码中复杂程度较低的一种方法。
ΔM是根据信号的增量进行编码,即用一位二进制码序列对模拟信号进行编码。这种方法简单,实现容易。但由于量阶固定,所以当信号下降时,信噪比(SNR)下降。为此采用自适应技术,让量阶的大小随输入信号的统计特性变化而变,这种方法称为ADM,其编码器简易,同步简单,成本低。连续可变斜率增量调制(CVSD)就是ADM中的一种,它是让量阶的大小随音节时间间隔(5~20ms)中信号平均斜率变化,信号的斜率通过输出连“0”或连“1”来检测。这种方法具有较强的抗误码能力,且擅长处理丢失和被损坏的语音采样。
此外,自适应预测编码(APC)是根据语音的统计特性,由过去的采样值精确预测出当前样值的一种编码方法,它通过自适应预测器来提高预测精度。预测得越精确,编码后的传输速率越低,这种方法可以做到低速率(≤10Kb/s),并且音质与电话音质相似。
2) 频域编码
频域编码也是一类不基于声学模型的编码方法,主要有子带编码(Subband Coding,SBC)和自适应变换编码(Adaptive Transform Coding,ATC)。
子带编码是利用带通滤波器将语音频带分成若干子带,并且分别进行采样、编码,编码方式可以用ADPCM或ADM,SBC的速率可以达到9.6Kb/s。可变SBC可使子带的设计不固定,随共振峰变化,使编码传输速率进一步提高,这种方式在速率为4.8Kb/s时可具有相当于7.2Kb/s的固定SBC的语音质量。
自适应变换编码(ATC)是先将语音信号在时间上分段,每一段信号一般有64~512个采样,再将每段时域语音数据经正交变换转换到频域,得到相应的各组频域系数,然后分别对每一组系数的每个分量单独量化、编码和传输,在接收端译码得到的每组系数再进行频域至时域的反变换,恢复时域信号,最后将各时段连接成语音信号,ATC编码在速率为12~16Kb/s时可得到优质语音。
2. 参量编码
人的语音是由发声器官的作用产生的,按照语音的生成机构,它分为音源、声道和辐射三个部分。
大部分语音可分为浊音和清音。浊音是由声带振动产生的声带音源通过声道(口腔、鼻腔),从嘴唇辐射出的声波。声带音源的特点是准周期性脉冲波形,其频谱是离散的,由基波和谐波组成。谐波每倍频程衰减12~18dB,且女声的基音频率高于男声。清音是由摩擦音源、爆破音源产生,而声带并不振动。清音的音源是一随机噪声,其频谱是连续的。因此,标志音源的参量是浊音的基音周期和浊音与清音的强度等。
因此,可以根据发音模型分析并提取语音信号的特征参量,只传送能够合成语音信息的参量,不需要再现原语音的波形,这就是声码器(参量编码)方式,其完成的作用就是对语音信号进行分析和合成。采用声码器传输语音信号可以获得更低的传输速率。典型的声码器由谱带式、共振峰式和按线性预测分析等所组成的声码器等。
参量编码是以人的发音机制模型作为基础,直接提取语音信号的一些特征参量,并对其编码。其基本原理是基于语音产生的条件,建立语音信号产生模型,然后提取语音信息中的主要参量,经编码发送到接收端。接收端经译码恢复成与发端相应的参量,再根据语音产生的物理模型合成输出相应语音,即采取的是语音分析与合成的方法。其特点是可以大大压缩数码率,因而获得了广泛的应用。
由于参量编码的压缩比很高,计算量大,因而语音质量比波形编码要差一点,通常只能达到中等水平。如卫星移动通信系统中使用的线性预测编码(Linear Predictive Coding,LPC)及其改进型,编码速率可压缩到2~4.8Kb/s,甚至更低。
3. 混合编码
混合编码是将波形编码和参量编码结合起来的一种综合编码方式。码字中既包括语音特征参量,又包括部分波形编码信息,将波形编码的高质量和参量编码的高效压缩融为一体,从而可以获得更低的数码率(4~16Kb/s)及较高的话音质量。如规则脉冲激励长期预测编码(Regular Pulse ExcitationLong Term Prediction,RPELTP)、码激励线性预测编码(Code Excited Linear Prediction,CELP)、自适应差分脉冲编码调制(Adaptive Difference PCM,ADPCM)、矢量和激励线性预测(Vector Sum Excited Linear Predictive,VSELP)等。混合编码可将速率压缩至4~16Kb/s,而在8~16Kb/s范围内能够获得良好的语音效果。表32列举了卫星通信系统中常见的语音编码。


表32卫星通信系统中的语音编码



数据速率(Kb/s)语音编码方法应 用 场 合

64PCM
32ADPCM
16LDCELP(Low Delay CELP,低时延CELP)
卫星长途通信网

4.8~16CELP
13.2RPELTP
8VSELP
16LDCELP/APC
6.4LPC
4.8~8VSELP
2.4~4.8MBE
(Multiband Excitation,多带激励)卫星移动通信

对于图像信号来说,可分为两种情况考虑: 一种是广播电视信号; 另一种是会议电视信号(幅度变化比较小)。
(1) 对于广播电视信号,不进行频带压缩的传输速率高达160Mb/s,一般采用帧内差值脉冲编码方式(DPCM),把传输速率压缩到34Mb/s以下。对差值的量化仍采用非线性压扩特征,如A律压扩和m律压扩。对于彩色电视信号则有两种基本编码方式: 一种是对每个彩色成分进行编码,即所谓的分离编码方式; 另一种是像NTSC制式那样,对由几种彩色重叠而形成的复合彩色信号直接进行编码,即所谓的直接编码方式。若考虑到模拟信道混合使用的现状,采用直接编码方式更适宜,而且设备组成也比较简单。目前国际上已有了很多高效的图像编码技术和标准,如MPEG2、MPEG4、H.264等。对于PAL制式的彩电信号,利用MPEG2标准,压缩编码后的速率约为4.42Mb/s; 高清电视(High Definition Television,HDTV)利用MPEG4AVC可压缩至7Mb/s。
(2) 对于变化较小的会议电视信号,一般编码传输速率倾向于采用1.5~2.0Mb/s。对这种信号的编码,多采用帧间和帧内预测相结合的方法。
3.2信道编码的一般概念
信道编码是指在数据发送之前,在信息码之外附加一定比特数的监督码元,使监督码元与信息码元构成某种特定的关系,接收端根据这种特定的关系来进行校验。
信道编码不同于信源编码。信源编码的目的是为了提高数字信号的有效性,具体地讲就是尽可能压缩信源的冗余度。其去掉的冗余度是随机的、无规律的; 而信道编码的目的在于提高数字通信的可靠性,它通过加入冗余码元来减少误码,其代价是降低了信息的传输速率,即以减少有效性来增加可靠性。其增加的冗余度是特定的、有规律的,故可利用其在接收端进行检错和纠错,保证传输质量。因此,信道编码技术亦称差错控制编码技术。
3.2.1差错控制编码技术分类
在实际信道上传输数字信号时,由于信道传输特性不理想及信道噪声的影响,接收到的数字信号不可避免地会发生错误。为了在已知信噪比的情况下达到一定的误比特率指标,首先应合理设计基带信号,选择调制、解调方式,采用频域均衡和时域均衡,使误比特率尽可能降低,若误比特率仍不能满足要求,则必须采用信道编码,即差错控制编码,将误比特率进一步降低,以满足指标要求。通常差错控制技术可分为三种: 前向纠错(Forward Error Correction,FEC)、自动请求重发(Automatic Repeat Request,ARQ)以及FEC和ARQ的混合纠错方式(Hybrid Error Correction,HEC)。
1. 前向纠错
前向纠错又称为自动纠错,它是指在接收端检测到所接收的信息出现误码时,按一定的算法自动确定发生误码的位置,并自动予以纠正。FEC系统的主要优点是信号单向传输、不需要反向信道,实时性好,但译码设备复杂。对于实时性要求较高的语音通信系统而言,通常使用前向纠错的差错控制方式。
2. 检错重发
检错重发也称为自动请求重发,接收端根据监督码元检测到有错码时,利用反向信道通知发送端重发,直到正确接收为止。在这种系统中,发送端将数据按分组发送,接收端对于每个接收到的数据组都发回确认(ACK)或否认(NAK)答复。根据发送端发送分组信息的不同方式,将ARQ分为停止等待(stopandwait)ARQ、拉后(pullback)ARQ以及选择重发(selective repeat)ARQ,分别如图31所示。


图31ARQ系统工作原理示意图


对比图31所示的3种ARQ系统可知,传输效率最低的是停止等待ARQ,最高的是选择重发ARQ,由于后面两种方式中发送端在不停地发送分组码的同时,还要利用反向信道接收答复信息,因此要对每一个分组码信息进行编号。对比于前向纠错方式,ARQ的主要优点: 
(1) 利用较少的监督码元就可以使误码率降到很低,即编码效率较高; 
(2) 检错的计算复杂度较低; 
(3) 检错用的编码方法和加性干扰的统计特性基本无关,能适应不同特性的信道。
ARQ的主要缺点: 
(1) 需要双向信道来重发,不能用于单向信道,也不能用于一点到多点的通信系统。

(2) 因为重发而使ARQ系统的传输效率降低,不适合实时通信的场合,例如电话通信。
(3) 在信道干扰严重时,可能发生因不断反复重发而造成事实上的通信中断。
3. 混合纠错
混合纠错是FEC和ARQ的结合。在这种方式中,当接收端检测到所接收的信息存在差错时,只对其中少量的错误自动进行纠正,而超过纠正能力的差错仍通过反向信道发回信息,要求重发此分组。这种方式具有自动纠错和检错重发的双重优点,可达到较低的误码率,因此应用较为广泛,但它需要双向信道以及较复杂的译码设备和控制系统。
3.2.2抗干扰码的分类
在上述各种差错控制系统中,一般所用的抗干扰编码主要分为三类: 第一类,在译码器中能自动发现错误的检错码; 第二类,不仅能自动发现错误而且能自动纠正错误的纠错码; 第三类,能纠正删除错误的纠删码。但这三类码并没有明显的界限,有的纠错码也可用来检错和纠删,反之,有的检错码和纠删码也可作纠错码,而有的码既能发现错误,又能纠正错误或纠删错误。除此之外,也可根据监督码和信息码的关系是否为线性分为线性码和非线性码。按照监督码元是否仅与本码组的信息码有关分为分组码和卷积码。按照码的结构是否具有循环性分为循环码和非循环码。按照纠正错误的类型分为纠正随机(独立)错误的码和纠正突发错误的码、纠正同步错误码以及既能纠正随机错误又能纠正突发错误的码,如图32所示。


图32抗干扰码分类


上述差错控制方式中,ARQ主要采用的抗干扰码是检错码,如奇偶监督码、方阵码、恒比码以及BCH码等。在固定卫星系统中使用的抗干扰码有线性分组码、循环码、BCH码和卷积码等。同时还有融合调制技术与差错控制技术形成的网格编码调制(Trellis Coded Modulation,TCM),它在频率受限的有扰信道中,既能做到信息的高效传输,又能保证其传输的可靠性。在同步数字体系(Synchronous Digital Hierarchy,SDH)系统中,还使用了位交织奇偶校验码(Bit Interlaced Parity,BIP)用以再生段和复用段的通道检错。数字卫星通信系统中的差错既有随机性差错,也有突发性差错,而且发生突发性差错的概率远大于发生随机性差错的概率。因此,在数字卫星通信系统中,主要采用的抗干扰码是分组码和卷积码交织编码以及Turbo码等。
3.3分组码
差错控制编码通常是采用给信息码组增加监督码元的方式来进行检错和纠错的。通常将发送的信息码进行分组,为每组信息码附加若干监督码的编码方式称为分组码。分组码中,监督码元只与本信息码组有关。
3.3.1相关概念
1. 分组码结构


通常将分组码表示为(n,k),其中n为码组的总位数,又称为码组的长度(码长),k为码组中信息码元的位数,则r=n-k为码组中的监督码元位数,如图33所示。


图33分组码结构



2. 编码效率及编码冗余度
定义1: (n,k)分组码中编码效率为信息码组位数与总码长的比值,即
η=kn(31)
定义2: (n,k)分组码中编码冗余度为监督码位数与信息码组位数的比值,即
E=rk(32)
3. 码重和码距
在分组码中,通常将码组中“1”码的个数称为码组的重量,简称码重(Code Weight)。将两个码组中对应位上码元不同的位数称为码组的距离,简称码距,又称汉明(Hamming)距离。对于某种编码方式而言,将各个码组距离的最小值称为最小码距(dmin),它直接决定着这种编码方式的检错和纠错能力,具体如下: 
(1) 若要求检测e个错码,则最小码距满足
dmin≥e+1(33)
(2) 若要求纠正t个错码,则最小码距满足
dmin≥2t+1(34)
(3) 若要求检测e个错码同时纠正t个错码,则最小码距满足
dmin≥e+t+1(e>t)(35)
其中,第三种情况通常被称为纠检结合,这种方式自动在纠错和检错之间转换。当错码数量少时,系统按前向纠错方式工作,以节省重发时间,提高传输效率; 当错码数量多时,系统按检错重发方式纠错,以降低系统的总误码率。所以,它适用于大多数时间中错码数量很少,少数时间中错码数量较多的情形。
4. 许用码组和禁用码组
通常称一个码组中可能出现的码组为许用码组,反之,不可能出现的码组为禁用码组。如3位二进制码可构成8个码组,如果用其中的“000”代表天气情况“晴”,“111”代表天气情况“雨”,则8个码组中只有“000”和“111”位许用码组,其余6个码组都为禁用码组,当接收端收到禁用码组时可判定接收出错。
3.3.2常用编码
1. 奇偶监督码

奇偶监督(Parity Check,PC)码分为奇数监督码和偶数监督码两种,两者都是无论信息位有多少位,只增加1位监督位,所不同的是奇数监督码要求增加了1位监督位后码组中“1”码的个数为奇数,而偶数监督码则要求“1”码的个数为偶数。
不论是奇数监督码还是偶数监督码都只可能检测出奇数个错码,且不可以独立纠错。奇偶监督码只适合于检测随机错码。
2. 方阵码
方阵码也称二维奇偶监督码。它是将上述奇偶监督码的若干码组按行排列后,再按列对每列再进行一次奇偶监督码的编码,即形成第二维的监督位。这样,按照行、列相交进行检错时就有可能检测出偶数个错码。
方阵码适合检测长度不大于行数或列数的突发错码。因为突发错码通常是成串集中出现,之后又有较长一段无错区间,所以在某一行中出现多个奇数或偶数错码的机会较多。
3. 恒比码
恒比码中,每个码组中“1”码和“0”码的数目相同。因此在检测时只需要计算接收码组中“1”码的数目是否为总码长的一半即可判定有无错码。
恒比码的主要优点是简单,适合用来传输电传机或其他键盘设备产生的字母和符号,对于信源产生的二进制随机数字序列不适用。
4. 正反码
正反码是一种简单的能够纠正错码的编码,其监督位数目与信息位数目相同,监督码元与信息码元相同或者相反则由信息码中“1”码的个数而定。如对于总码长为10的正反码而言,通常其编码规则为: 当信息位中有奇数个“1”码时,监督位和信息位相同; 当信息位有偶数个“1”码时,监督位是信息位的反码。
在接收端译码时,首先由信息位和监督位按位“模2”相加,生成一个5位的合成码组,然后再由合成码组生成一个校验码组,校验码组生成规则: 若接收码组的信息位中有奇数个“1”码时,合成码组等于校验码组; 若接收码组的信息位中有偶数个“1”码时,校验码组是合成码组的反码。得到校验码组后按照表33进行检错和纠错。


表33(10,5)正反码校验码组和错误的关系



校验码组的组成错 码 情 况

1全为“0”无错码
2有4个“1”和1个“0”信息码中有1位错码,其位置对应校验码组中“0”的位置
3有4个“0”和1个“1”监督码中有1位错码,其位置对应校验码组中“1”的位置
4其他组成错码多于1个



3.3.3线性分组码
所谓线性分组码就是信息码元和监督码元之间呈现线性关系的分组码。在线性分组码(n,k)中,每一个监督码元都是码组中某些信息码元按“模2和”而得到的。线性分组码是一类重要的纠错码,在数字卫星通信系统中应用很广。
一般说来,对于线性分组码(n,k)而言,监督位数目r=n-k,如果希望用r个监督位构造出r个监督关系式来指示一位错码的n种可能位置,则要求
2r-1≥n或2r≥k+r+1(36)
1. 监督矩阵H
设分组码(n,k)中k=4,为了纠正1位错码,由式(36)可知,要求监督位r≥3,若取r=3,则构成(7,4)线性分组码。按照信息位在前,监督位在后的方式将码组表示为A=[a6a5a4a3a2a1a0]。由于监督位有3位,因此有3个校正子,共构成23=8种组合,如果每种组合对应仅错1位时的错码位置,则校正子和错码位置的关系可以表示为表34。


表34校正子和错码位置对应关系



S1S2S3错 码 位 置S1S2S3错 码 位 置

001a0101a4
010a1110a5
100a2111a6
011a3000无错码


由表34可以看出,仅当一位错码位置在a2、a4、a5或a6时,校正子S1为1,否则S1=0,即a2、a4、a5和a6构成偶数监督关系式
S1=a6a5a4a2(37)
其中,“”为“模2加”,即二进制加法。
同理可得
S2=a6a5a3a1(38)

S3=a6a4a3a0(39)
当接收端收到码组时即可根据式(37)~式(39)计算出校正子,然后查表34进行检错和纠错。当无错码出现时,校正子的值均为0,即
a6a5a4a2=0
a6a5a3a1=0
a6a4a3a0=0(310)
由式(310)可得
a2=a6a5a4

a1=a6a5a3

a0=a6a4a3(311)
式(311)表明了监督位和信息位的关系,通常也称为监督关系式。由此可见,每个监督码元是本码组中某些信息码的模2加。因此,每个信息码元将受到几个监督码元的多重监督。按照式(311)可知,只要给出4位信息码,就可计算出3位监督位,从而构成分组码的一个码组。经计算可得(7,4)码的16种许用码组,如表35所示。


表35(7,4)码的16个许用码组



信息位

(a6,a5,a4,a3)监督位

(a2,a1,a0)信息位

(a6,a5,a4,a3)监督位

(a2,a1,a0)

00000001000111
00010111001100
00101011010010
00111101011001
01001101100001
01011011101010
01100111110100
01110001111111

按照上述方法构造的码称为汉明码。不难看出,上述(7,4)码的最小码距d0=3,它能纠正一个错码或检测两个错码。
将式(310)的3个监督方程关系式改写为
1·a6+1·a5+1·a4+0·a3+1·a2+0·a1+0·a0=0

1·a6+1·a5+0·a4+1·a3+0·a2+1·a1+0·a0=0

1·a6+0·a5+1·a4+1·a3+0·a2+0·a1+1·a0=0(312)
其中,符号“+”等同于“”。式(312)可以表示为如下矩阵形式
1110100
1101010
1011001a6
a5
a4
a3
a2
a1
a0=0
0
0(模2)(313)
式(313)还可以简记为
H·AT=0T或A·HT=0(314)
其中,H=1110100
1101010
1011001; A=[a6a5a4a3a2a1a0]; 0=[000],上角“T”表示矩阵的转置。由于H为监督关系式的系数矩阵,因此称为监督矩阵(Check Matrix),H的行数为监督位的个数,列数为码长,其各行是线性无关的。通常也可将H典型化为典型阵[Pr×kIr]的形式,其中Ir为r阶单位阵,此时H称为典型监督矩阵。比如上面的H可以典型化为
H3×7=1110︙100

1101︙010

1011︙001=[P3×4I3](315)
2. 生成矩阵G
类似地,将式(311)表示为矩阵形式
[a2a1a0]=[a6a5a4a3]111
110
101
011=[a6a5a4a3]Qk×r(316)
对比式(315)和式(316)可得
Q=PT(317)
在矩阵Q的左边加上一个Ik,即可构成矩阵G
Gk×n=[IkQk×r](318)
由式(318)可知,G的行数为信息位个数,列数为码组的长度,其各行同样是线性无关的。由于通过矩阵G可以生成整个码组,因此通常称其为生成矩阵(Generator Matrix),即有
[a6a5a4a3a2a1a0]=[a6a5a4a3]·G(319)
或者
A=[a6a5a4a3]·G(320)
因此,只要找到了某种线性分组码的生成矩阵G,则可编码得到其全部许用码组。通常称具有[IkQk×r]形式的生成矩阵为典型生成矩阵。由典型生成矩阵得到的码组中,信息位的位置不变,监督位附加于其后,这种形式的码称为系统码(Systematic Code)。
3. 校正子
假设接收端接收到的码组为B,由式(314)可知,无错码时
B·HT=0(321)
如果式(321)不满足,则接收端就会判定接收到的码组B错误。记
S=B·HT(322)
其中,S为校正子。
令
E=B-A(323)
其中,E为错误矩阵,代入式(322)可得
S=(A+E)·HT=A·HT+E·HT=E·HT(324)
由式(324)可知,校正子S只与错码矩阵E有关,与码组A无关。若S和E之间有一一对应关系,则可以根据S来纠错。
4. 封闭性
设某种线性分组码的两个许用码组分别为A1和A2,则根据式(314)知
A1·HT=0,A2·HT=0
将上面两个式子相加,得
(A1+A2)·HT=0(325)
式(325)表明码组A1和A2的合成码组也是该编码方式中的一个许用码组,称该特性为线性分组码的封闭性。
由于合成码组的码重代表了两个码组的码距,因此线性分组码的最小码距就是所有许用码组的最小码重(除全“0”码组外)。
3.3.4交织码
线性分组码主要是用于纠正随机错误的,但实际通信中常常会遇到突发性干扰,会出现成串或成片的多个错误,这时就需要采用交织码来进行纠错,它被广泛应用于卫星通信中。
交织码是将已编码的码字(例如按线性分组码的规律构成的(n,k)分组码)按行读入,每行包含一个(n,k)分组码,共排成m行,这样就构成一个m行n列的矩阵,如图34所示。其中,aij(i=1,…,m; j=0,…,n-1)表示第i个码组的第j个码字,“×”表示突发错误所在位置。


图34交织过程示意图


从图34可以看出,交织器的交织原则是按行取按列存,而解交织恰好与其相反。这样,即使在传输过程中产生了成串突发错误,但是解交织后错误被分散到了不同行,即将突发错误分散到了不同码字,等效于将突发错误转变为了随机错误。因此,只要错误的数目在码组的差错控制范围内便可实现检错和纠错。交织码的交织深度越大,离散度就越大,抗突发差错能力也就越强。
3.3.5循环码
循环码(Cyclic Code)是一类具有循环性的线性分组码。循环性是指任一码组循环移位后,仍然为该码的一个许用码组。表36列出了一种(7,3)循环码的全部许用码组。


表36一种(7,3)循环码的全部许用码组



码 组 编 号信息位
(a6,a5,a4)监督位
(a3,a2,a1,a0)码 组 编 号信息位
(a6,a5,a4)监督位
(a3,a2,a1,a0)

1000000051001011
2001011161011100
3010111071100101
4011100181110010


1. 码多项式及其运算
在代数编码理论中,为了便于计算,把码组中各码元当作是一个多项式(Polynomial)的系数,即把一个长度为n的码组表示为
A(x)=an-1xn-1+an-2xn-2+…+a1x+a0(326)
例如,表36中的任意一个码组可以表示为
A(x)=a6x6+a5x5+a4x4+a3x3+a2x2+a1x+a0(327)
其中编号为5的码组的码多项式为
A(x)=1·x6+0·a5x5+0·x4+1·x3+0·x2+1·x+1=x6+x3+x+1
(328)
若一任意多项式F(x)被一个n次多项式N(x)除,得到商式Q(x)和一个次数小于n的余式R(x),即
F(x)N(x)=Q(x)+R(x)N(x)(329)
等价于
F(x)=N(x)Q(x)+R(x)(330)
则
F(x)≡R(x)(模N(x))(331)
注意: 码多项式按模运算中所有的系数是按“模2”运算的,即系数只取0和1。例如,在模(x3+1)运算下,x3≡1,x4+x2+1≡x2+x+1。
在循环码中,若A(x)是一个长为n的许用码组,则xi·A(x)在按模(xn+1)运算下,也是该编码中的一个许用码组,即若
xi·A(x)≡A′(x)(模(xn+1))(332)
则A′(x)也是该编码中的一个许用码组。因此,一个长为n的循环码必定是按模(xn+1)运算的一个余式。实际上,xi·A(x)表示将A(x)对应地码组循环左移i位。
2. 生成多项式g(x)及生成矩阵G
循环码的生成多项式是(xn+1)的一个常数项为1的(n-k)次因子,即前面(k-1)位均为“0”。例如,
x7+1=(x+1)(x3+x2+1)(x3+x+1)(333)
从式(333)中寻找常数项为1的(n-k)=4次因子,这样的因子有两个,即
(x+1)(x3+x2+1)=x4+x2+x+1(334)

(x+1)(x3+x+1)=x4+x3+x2+1(335)
式(334)和式(335)都可以作为生成多项式。但是,选用的生成多项式不同,生成的循环码组也不同。用式(334)作为生成多项式生成的循环码即为表36所示的(7,3)循环码。
循环码的生成矩阵G可以表示为
G(x)=xk-1g(x)

xk-2g(x)

︙

xg(x)

g(x)(336)
容易验证,式(336)中的各行是线性无关的。基于式(336)可将上述(7,3)循环码的码组表示为
A(x)=[a6a5a4]G(x)=[a6a5a4]x2g(x)
xg(x)
g(x)

=a6x2g(x)+a5xg(x)+a4g(x)

=(a6x2+a5x+a4)g(x)(337)
式(337)表明,所有码多项式A(x)都可以被生成多项式g(x)整除,而且任意一个次数不大于(k-1)的多项式乘以g(x)都是码多项式,g(x)本身也是一个码多项式,对应前(k-1)位皆为“0”的码组。
3. 循环码的编码
循环码编码可以分为如下5个步骤: 
(1) 首先根据给定的(n,k)值选定生成多项式g(x),即从xn+1的因式分解中选一个常数项为1的(n-k)次多项式作为g(x)。
(2) 将信息码表示为多项式m(x),其幂次小于k。
(3) 用xn-k乘m(x),得到的xn-km(x)的幂次必定小于n。
(4) 用g(x)除xn-km(x),得到余式r(x),r(x)的幂次必定小于g(x)的幂次,即小于(n-k)。
(5) 将此余式r(x)加于信息位之后作为监督位,即将r(x)和xn-km(x)相加,得到的多项式即为码多项式,即编出的码组A(x)为: A(x)=xn-km(x)+r(x)。
4. 循环码的解码
由前面的分析知循环码的码多项式都应该能被生成多项式g(x)整除,设接收到的码多项式为B(x),如果B(x)正确,B(x)也应该能被g(x)整除,如果不能整除,则可判定接收码组错误。当然,有错码的接收码组也有可能能被g(x)整除,称这种错误为不可检错误。如果在检错的基础上还要纠错,就必须存在余式r(x)和错误图样的一一对应关系,据此关系可实现纠错。通常,将如上解码方法称为捕错解码法。除此之外,还有大数逻辑(Majority Logic)解码等算法。判决也有硬判决和软判决之分。
3.3.6截短循环码
设给定一个(n,k)循环码,它共有2k个许用码组,现使其前i(0<i<k)位信息位全为“0”,于是它变成仅有2k-i个许用码组。然后从中删去这i位全“0”的信息位,最终得到一个(n-i,k-i)的线性码,将这种码称为截短循环码。循环码截短前后至少具有相同的纠错能力,并且编解码方法仍和截短前一样。
3.3.7BCH码
BCH码是一种获得广泛应用的能够纠正多个错码的循环码,是以3位发明人的名字(Bose,Chaudhuri,Hocguenghem)命名的。它是建立在现代代数理论基础上的,数学结构严谨、译码同步等方面有许多独特的优点,故在数字卫星传输设备中经常使用这种能纠正多重错误的BCH码来降低传输误码率。BCH码的重要性在于它解决了生成多项式与纠错能力的关系问题,可以在给定纠错能力要求的条件下寻找到码的生成多项式。
1. BCH码分类
BCH码可以分为本原BCH码和非本原BCH码。本原BCH码的生成多项式g(x)中含有最高次数为m的本原多项式,且码长n=2m-1(m≥3为正整数); 非本原BCH码的生成多项式中不含这种本原多项式,且码长n是(2m-1)的一个因子,即码长n一定除得尽(2m-1)。
BCH码的码长n与监督位(n-k)、纠错个数t之间满足如下关系: 对于正整数m(m≥3)和正整数t(t<m/2),必定存在一个码长为n=2m-1、监督位为n-k≤mt、能纠正所有不多于t个随机错误的BCH码。若码长n=(2m-1)/i(i>1且除得尽(2m-1)),则为非本原BCH码。
汉明码是能够纠正单个随机错误的码。可以证明,具有循环性质的汉明码就是能纠正单个随机错误的本原BCH码。例如,(7,4)汉明码就是以g1(x)=x3+x+1或g2(x)=x3+x2+1生成的BCH码,而用g3(x)=x4+x+1或g4(x)=x4+x3+1都能生成(15,11)汉明码。
2. BCH码生成多项式
由于BCH码也是循环码,因此只要找到它的生成多项式即可实现编码。由于前人已经将典型的BCH码的生成多项式归纳成表,因此在工程设计中,一般不需要用计算方法去寻找生成多项式,直接查表即可。表37给出了码长n≤127、最多可以纠正t个随机错误的二进制本原BCH码生成多项式系数。


表37n≤127的二进制本原BCH码生成多项式系数



n=3n=63

ktg(x)ktg(x)
117131全部为1

n=77155231045543503271737

ktg(x)1013472622305527250155
137716116331141367235453
411318101363026512351725

n=1524714323260404441

ktg(x)306157464165347
1777773651033500423
532467394166623567
727214531701317
1112351212471
571103

n=31n=127

ktg(x)ktg(x)
11517777777777163全部为1
673133650478≥317047264052751030651476224271567733130217
115542332515≥2722057042445604554770523013762217604353
16310765722≥23123376070404722522435445626637647043
212355129≥22403114461367670603667530141176155
2614536≥153146074666522075044764574721735
431354446512523314012421501421
5711235265252505705053517721
64101206534025570773100045
7196255010713253127753
78726230002166130115
856130704476322273
925624730022327
9943447023271
106311554743
113241567
1201211


表37中生成多项式的系数均是以八进制数字给出的。例如,可以纠正2位错码的(127,113)BCH码生成多项式g(x)的系数为(41567)8表示g(x)=x14+x9+x8+x6+x5+x4+x2+x+1。表38给出了部分二进制非本原BCH码的生成多项式系数。


表38部分二进制非本原BCH码生成多项式系数



nktg(x)nktg(x)

17927274724543073357
2112216636553210761
23123534365404354300067
332225145734641717773537
412146647133


此外,BCH码的长度都为奇数。在应用中,为了得到偶数长度的码,并增大检错能力,可以在BCH码生成多项式中乘上一个因式(x+1),从而得到扩展BCH码(n+1,k)。扩展BCH码相当于在原BCH码上增加了一个校验位,因此码距比原BCH码增加1。但是,扩展BCH码已经不再具有循环性。
3.3.8戈莱码
戈莱码(Golay Code)即表38中的(23,12)码。它能纠正3个随机错码,并且容易解码,实际应用较多。和其他可以纠正3个随机差错的码相比,戈莱码需要的监督码元数最少,因此其监督位得到了最充分的利用。
扩展戈莱码(24,12)码是戈莱码(23,12)码扩展形成的,其最小码距为8,码率为1/2,能够检测4个错码并纠正3个错码。它比汉明码的纠错能力强很多,付出的代价是解码更复杂,码率也比汉明码低。而且,它不再是循环码了。
3.3.9RS码
RS码即里德索洛蒙码,是以其发明人的名字Reed和Solomon命名的。如果BCH码的码元不取二进制的“0”和“1”,而取多进制中的一个元素,如BCH码的每个码元用2m进制中的一个m位的二进制码组表示,则称这种多进制BCH码为RS码。例如对于信息位为10101010101的本原(15,11)码,其码序列为10101010101011。如果进行RS编码,取m=2,即每一位将用一个2位的二进制码表示(若用“01”表示“0”码,“10”表示“1”码),那么输出的RS码就是1001100110011001100110011010。由此可见,当以2b为一组计算时,一旦出现“00”或“11”或不符合循环码的循环关系时,则可以判定该序列出现差错。因此,RS码是一类具有很强纠错能力的多进制BCH码。
一个可以纠正t个符号错误的2m进制(n,k)RS码的参数如表39所示。


表39(n,k)RS码的相关参数



参数符 号 个 数比特数

码长n=2m-1m(2m-1)
信息位kmk
监督位n-k=2tm(n-k)
最小码距d=2t+1m(2t+1)


RS码特别适用于纠正突发性错误,它可以纠正的差错长度(第1位误码与最后1位误码之间的比特序列)如下: 
总长度为b1=(t-1)m+1比特的1个突发错误; 
总长度为b2=(t-3)m+3比特的2个突发错误; 
…
总长度为bi=(t-2i+1)m+2i-1比特的i个突发错误。
3.4卷积码
卷积码(Convolutional Code)是由伊利亚斯(P.Elias)发明的一种非分组码。通常它更适用于前向纠错,因为在许多实际情况下它的性能优于分组码,而且运算较简单。
3.4.1卷积码的基本概念
通常将卷积码记作(n,k,N),其中n为码长,k为信息位数目,N为编码约束度。对比于分组码可以看出,卷积码多了个编码约束度N。在分组码中监督位只与本码组的信息位有关,换句话说,监督位只监督1个信息段,但是卷积码中监督位监督着N个信息段,即监督位不仅与当前的k比特信息段有关,而且还与前面(N-1)个信息段有关。卷积码中,通常将nN称为编码约束长度,其码率仍然为k/n。
卷积码的纠错性能随N的增加而增大,而差错率随N的增加指数下降。在编码器复杂性相同的情况下,卷积码的性能优于分组码。但卷积码没有分组码那样严密的数学分析手段,目前大多是通过计算机进行码字的搜索。
图35为卷积码编码器的结构示意图。编码器主要包括: 一个由N段寄存器组成的输入移位寄存器,每段有k个,共Nk个寄存器; 一组n个模2加法器; 一个n级的输出移位寄存器。每个模2加法器的输入端数目可以不同,它连接到Nk个寄存器中的一些寄存器输出端,输出端连接到输出移位寄存器。若将时间分成等间隔的时隙,则在每个时隙中有k位从左端进入移位寄存器,并且移位寄存器各级暂存的信息向右移k位,输出端输出n位。



图35卷积码编码器结构示意图


由图35可以看出,n个输出位不仅与当前的k个输入信息有关,还与前(N-1)k个信息有关。
3.4.2卷积码编码器
图36给出了(3,1,3)卷积码编码器的结构图。


图36(3,1,3)卷积码编码器结构图


图36中D1、D2和D3为移位寄存器,b1代表当前输入状态,b2、b3分别表示移位寄存器以前存储的信息位。设移位寄存器的初始状态均为零,根据图36可以得到该(3,1,3)卷积码的编码规则
y1=b1+b2+b3

y2=b1

y3=b1+b2(338)
由此可见,当转换开关在输出端y1、y2、y3之间交替变换时,每输入1个信息比特,编码器输出3个输出比特。现以输入序列“101”为例进行说明。输入第1位信息码“1”时,b1=1,b2=0,b3=0,故根据式(338)可知输出(y1y2y3)=(111); 输入第2位信息码“1”时,b1=0,b2=1,b3=0,则输出(y1y2y3)=(101); 以此类推,可得表310所示输出。



表310(3,1,3)卷积码输出



b110100
b2b30010011001
y1y2y3111101011101100


说明: 为了保证输入的全部信息都能顺利地从移位寄存器移出,当最后一位信息位移入D2时,默认后续移入的信息位全为“0”码。
由表310可知,图36所示(3,1,3)卷积码编码器当输入序列为“101”时,该卷积码输出为“111 101 011 101 100”。此过程也可以表示为图37所示的码树。码树上每个枝上的数字代表当前的信息位,括号内的三个码代表编码后的码组(即当前输出)。编码过程等于在码树中沿一确定路径行进的过程。信息位决定了行进方向,即码树节点信息比特为“1”,则走下枝,否则走上枝。若观察在新码元输入时编码器的过去状态,即观察D2、D3的状态和输入信息位的关系,可以得出图中的a、b、c、d四种状态。
由图37可见,从上一个状态转到下一状态时,并不可以到达任意状态。例如,由a状态只能到达a或b状态,由b状态只能到达c或d状态等等,详见表311。



图37(3,1,3)卷积码的码树




表311移位寄存器状态和输入输出码元关系



移存器前一状态D3D2当前输入信息位bi输出码元y1y2y3移存器下一状态D3D2

a(00)0
1000
111a(00)
b(01)
b(01)0
1101
010c(10)
d(11)
c(10)0
1100
011a(00)
b(01)
d(11)0
1001
110c(10)
d(11)


表311所示移位寄存器状态也可以表示为图38所示状态图(State Diagram)。其中,实线表示输入信息位为“0”时状态转变路线,虚线表示输入信息位为“1”时状态转变路线,线旁的3位数表示编码输出码组。利用这种图可以方便地由输入序列得到输出序列。


图38(3,1,3)卷积码状态图


从图37可以看出,卷积码可以用一个无限延展的码树表示。在实际应用中,编码总是被限制在固定长度的码树上。编码的过程就是编码器根据输入的信息码位通过码树某一路径的过程。当然,在编码器中移位寄存器的抽头不同,构成的码树也不同。该码树的每个分枝上有3个码符,码率为1/3。每个节点上生长出的只有2个分支,这是二进制码树的主要特征,如果是多进制(如M进制),则每个节点将连接到2M个节点上。同时,观察图37可以发现,从第4支路开始,码树的上半部和下半部完全相同,即码树结构具有重复性。因此,不必画出一颗无穷码树来表示卷积码的编码,可以将码树中具有相同后续分枝的各节点连接起来,以后的分枝就合并在一起,形成如图39所示的网格图形,简称网格图(Trellis Diagram)。为了便于分析,图中输入信息位“0”时,沿实线分枝行进,反之,沿虚线分枝行进。


图39(3,1,3)卷积码网格图


从图39可以看出,从第4支路开始的网格图是第3支路的重复,这也说明了该(3,1,3)卷积码的约束长度是3。
图310给出了输入序列为“101”时,(3,1,3)卷积码的编码路径。从图中可以看出输出序列等同于码树图,但是用网格图表示的编码过程和输入/输出关系要比码树图简练得多。


图310输入为“101”时的(3,1,3)卷积码编码路径



3.4.3维特比译码
卷积码的解码方法可以分为代数解码和概率解码两大类。代数解码是利用编码本身的代数结构进行解码,不考虑信道的统计特性。大数逻辑解码,又称门限解码,是卷积码代数解码的最主要一种方法,它也可以应用于循环码的解码。大数逻辑解码对于约束长度较短的卷积码最为有效,而且设备较简单。概率解码又称最大似然解码。它基于信道的统计特性和卷积码的特点进行计算。针对无记忆信道提出的序贯解码就是概率解码方法之一,另一种概率解码方法是维特比(Viterbi)算法。当码的约束长度较短时,它比序贯解码算法的效率更高、速度更快,而且结构简单,因此在数字卫星系统中得到了广泛应用。本节就上面(3,1,3)卷积码的例子来简述维特比译码的解码思路。
由上面分析知,当输入序列为“101”时,该卷积码的正确输出应该为“111 101 011 101 100”,假设接收到的序列第3位和第10位出错,即接收到序列“110 101 011 001 100”。由于码长为3,因而当这种存在差错的序列输入维特比译码器后,将分别计算各路与接收序列之间的距离,即码距,见图311中节点处括号内数字。首先从起点出发,可能出现两条路径,上支路对应输入信息为“0”,输出序列为“000”; 下支路对应输入信息为“1”,输出序列为“111”,由于当前接收到的码元序列前3位为“110”,因此计算可得两条支路与“110”之间的码距分别为2和1,如图311(a)所示。在图311(b)中所示的第2级出现4条互不重叠的支路,它们的支路码距依次为2,1,0,3。这4条支路与前面的两条支路合起来共构成4条路径,码距分别为2+2=4,2+1=3,1+0=1,1+3=4。在图311(c)中所示的第3级共有8条支路,从而构成8条路径。这时在每个状态节点上均存在两条路径,每个节点上均去掉累积码距较大的路径,而保留累积码距较小的一条路径。因而,总体上仍然保留了4条路径,即“111 101 111”“111 101 011”“111 010 001”“000 111 010”,码距依次为4、1、4、4。当进入第4级节点时,由于第3级和第4级之间同样存在8条支路,从而又构成8条路径,并且每个节点处都有2条路径,同样经过码距计算之后,保留码距小的一条支路,如图311(d)所示。按照同样的方法,在第5级也得到了4条路径,如图311(e)所示。图311(d)中有一条路径终止于节点为a的路径,这条路径就是解码路径,如图311(f)所示,对比图310可知,该路径正是信息序列“101”的编码路径,从而得到正确的解码序列为“111 101 011 101 100”,对应的信息序列为“101”。此例说明,采用维特比译码算法实现了2位纠错。
卷积码的纠错能力是用最小距离dmin来衡量的。参见图39可以看出,路径abca输出序列“111 101 100”与路径aaaa输出序列“000 000 000 000”之间的码距为6,因此该码的最小码距dmin=6,最多可纠正2位错码(dmin≥2t+1),上例符合该情况。当然,当在一个约束长度内出现的错码个数超过该码的纠错能力时,译码序列会存在错误。



图311维特比译码过程网格图




3.5Turbo码
Turbo码是C.Berrou于1993年在并行级联的思想上提出的一种特殊的链接码。由于其大大地提高了编码效率,而且纠错能力极其接近理论上信息能够达到的极限能力,所以在编码理论上是带有革命性的进步,很快得到了广泛关注。这种码,特别是解码运算,非常复杂,这里只对其基本概念作一简明介绍。
由于分组码和卷积码的复杂度随码组长度或约束度的增大按指数规律增长,所以为了提高纠错能力,人们大多不是单纯增大一种码的长度,而是将两种或多种简单的编码组合成复合编码。Turbo码的编码器在两个并联或串联的分量码编码器之间增加一个交织器,使之具有很大的码组长度,能在低信噪比条件下得到接近理想的性能。Turbo码的译码器有两个分量码译码器,译码在两个分量译码器之间进行迭代译码,故整个译码过程类似涡轮(turbo)工作,所以又形象地称为Turbo码。
3.5.1Turbo码编码器
图312为Turbo码的基本结构,它由一对递归系统卷积码(Recursive Systematic Convolution Code,RSCC)编码器和一个交织器组成。RSCC编码器和卷积码编码器之间的主要区别是从移存器输出端到信息位输入端之间有无反馈路径。原来的卷积码编码器像是一个FIR数字滤波器。增加了反馈路径后,它就变成了一个IIR滤波器,或称递归滤波器,因此将其称为递归系统卷积码。信息序列dk在被送往信道的同时,还被送往RSCC1和交织器及RSCC2,这样可分别得到信息位xk、第1个检验位y1k和交织后的序列dn,dn经过RSCC2后得到第2个校验位y2k。在删除截短矩阵功能电路中,对y1k和y2k进行了删除和截短处理,其输出yk和xk一同构成了Turbo码。


图312Turbo码编码器示例


删除截短矩阵的功能不同,得到的Turbo码码率不同。此处码率与前述编码效率意义不同,定义为: R=k/n,其中k为信息位位数,n为并行码位数。举例说明,当删除截短矩阵交替地选取两个校验序列,即校验序列各自选发一半的数据时,就构成了码率为1/2的Turbo码; 当校验序列全部发送时,则得到码率为1/3的Turbo码。不同码率的Turbo码在性能上存在差异,总体来说,1/3码率的Turbo码性能要优于1/2码率的Turbo码。
3.5.2Turbo码译码器
图313给出了一种反馈型Turbo迭代译码结构,它是由2个用来对选定的RSCC子码进行译码的软输入/软输出(Soft Input/Soft Output,SISO)子译码器组成。其中z′2k为子译码器2输出的改进信息,当该信息经过去交织器处理后生成z′2n,反馈到子译码器1的输入端,构成子译码器1所需要的先验信息zk,随后在子译码器1中将根据所接收的信息序列和第一检验位y1k进行处理,其输出z′1k被送至交织器生成z′2n,并以此作为子译码器2的先验信息。当经过子译码器2译码后又可以获得下一次迭代子译码器1所需的先验信息。以此继续下去,经过多次迭代之后,当满足一定条件(z′2k大于所设置的门限值)时,译码器将去交织后的λ(d^k)送入判决器,经过判决便可得到译码信息d^k。


图313反馈型Turbo码迭代译码器框图


由此可见,Turbo码译码器实现译码的关键在于SISO译码算法,所采用的算法不同,译码的复杂度和获得的译码性能就会不同,因此应根据实际情况选择适当的译码算法。另外,由于Turbo码的编码过程中融入了交织技术,因而Turbo码具有很强的纠错能力和抗衰落能力。据资料显示,其纠错能力与子码效率、约束长度以及交织长度等参数有关。
3.6低密度奇偶校验码
低密度奇偶校验(Low Density Parity Check,LDPC)码是Gallager于1962年发明的一种线性分组码,和Turbo码同属于复合码类。两者的性能相近,且两者的译码延迟都相当长,所以它们更适用于一些对实时性要求不很高的通信。但是LDPC码比Turbo码的译码简单,更易实现。
LDPC码和普通的奇偶监督码一样,可以由有n列、m行的奇偶监督矩阵H确定,其中n为码长,m为校正子个数。但是LDPC码的监督矩阵H和普通奇偶监督码有所不同,表现在: 
(1) LDPC码的监督矩阵H是稀疏矩阵,即矩阵中“1”码的个数很少,密度很低。设H矩阵每列有j个“1”码,每行有k个“1”码,则应有j<m,k<n,且j≥3。
(2) LDPC码的监督矩阵H的任意两行的元素不能在相同位置上为“1”码,即H矩阵中没有四角由“1”码构成的矩形。
LDPC码通常用上述3个参量(n,j,k)表示。在编码时,设计好H矩阵后,由H可以导出生成矩阵G。这样,对于给定的信息位,即可求得编码码组。
当H矩阵行重或列重保持不变或尽可能地保持均匀时,称此时的LDPC码为正则LDPC码,否则称为非正则LDPC码。非正则LDPC码是在正则LDPC码的基础上发展起来的,它使解码性能得到改善,其抗噪性能甚至优于Turbo码。根据H中的元素是属于伽罗华域GF(2)还是GF(q),其中q=2p,p为大于1的整数,还可以将LDPC码分为二元域LDPC码和多元域LDPC码,后者性能要优于前者。
LDPC码的解码方法也和一般的奇偶监督码的解码方法不同。基本的解码算法称为置信传播(Belief Propagation)算法,通常简称BP算法。这种算法实质上是求最大后验概率,类似于一般的最大似然准则解码算法,但是它需要进行多次迭代运算,逐步逼近最优的解码值。
总之,LDPC码具有很多优点: 具有较低的差错平层特性; 可实现完全的并行操作; 译码复杂度低于Turbo码; 适合硬件实现; 吞吐量(单位时间内进入和送出的数据总量)大; 具有高速译码的潜力。但是,当编码长度较短时,LDPC码的性能不佳,此时则应该选用其他纠错编码方式。
3.7纠错编码与调制
在传统的数字通信系统中,数字调制与纠错编码是独立设计的,即在发送端的编码和调制、接收端的解码和解调都是独立分开设计的。纠错编码通常是通过人为加入冗余度来实现的,其编码增益是依靠降低信息传输效率来获得的。因此,在带限信道中,可以通过加大调制信号来为纠错编码提供所需的冗余度,以避免信息传输速率因纠错编码的加入而降低。
网格编码调制(Trellis Coded Modulation,TCM)是将调制和编码相结合的调制技术。它打破了调制与编码的界限,利用信号空间状态的冗余度实现纠错编码,以实现信息高速率、高性能的传输。下面举一个简单的例子来说明TCM技术的基本概念和具体实现。在QAM方式中,如传输速率为14.4Kb/s的数据信号,则需要在发送端将串行数据的每6b分为一组,即6b码元组,这6b码元组的码速率,即调制速率为2400B。显然,这6b码元组合成星座点数是26=64个,这时的信号点间隔即判决区间将变得很小。在这种情况下,由于传输干扰的影响,一个星座点将会很容易变为相邻的另一个星座点而错码。为了减少这种误码的可能性,TCM采用了一种编码器。该编码器是二进制卷积码编码器,该编码器设置于调制器中,如图314所示。


图314TCM示意框图


从图314中可以看出,在调制器中的串/并变换输出的6b中取2b进入卷积码编码器,经编码器编码,加入冗余度后输出变为3b,这3b与原来的4b组成7b码元。这7b码元的组合共有27=128种,但通过信号点形成器时,只选择其中的一部分信号点用作信号传输。此处,信号点的选择有两个原则: 第一,用欧几里得距离替代汉明距离(最小码距)选择最佳信号星座,使所选择的码字集合有最大的自由距离; 第二,后面所选的信号点与前面所选的信号点有一定的规则关系,即相继信号的选定引入某种依赖性,因而只有某些信号序列才是允许出现的,而这些允许出现的信号序列可以采用网格图来描述,因而称为网格编码调制。正是由于这种前后信号点的选择具有一定的规则关系,在解调时不只检测本信号的参数,还要观测其前面信号所经历的路由,判决时只有当信号点符合某确定路由时,才能确定该点是所求的信号点,从而进行判决。如果传输过程受到干扰,并引起信号点位移,接收机将比较所有与观测点有关的点,并选择最靠近观测点的路由所确定的最终信号点为所求的信号点,从而恢复出原来的信息码,称此种解调方式为软判决维特比译码解调。
这种采用卷积编码的网格编码调制和采用软判决维特比译码技术的解调可获得3dB~6dB的信噪比增益。TCM技术已使话带调制解调器的传信速率达到14.4Kb/s、28.8Kb/s或33.6Kb/s,已接近香农定理所规定的信道容量极限。
3.8信号处理技术
在卫星通信系统中,人们普遍关注的是如何提高卫星系统通信容量和传输性能。随着大规模集成电路的迅速发展,信号处理技术在卫星通信领域也取得了很大的进展。目前,数字话音内插(Digital Speech Interpolation,DSI)、回波控制和语音编码已成为卫星通信中的三大最基本的信号处理技术,因为采用了数字话音内插技术已可使传输效率提高一倍以上,在具有长延时的卫星线路中采用回控制技术可以削弱或抵消回波的影响,采用语音编码技术可以以低于16Kb/s的传输速率传输语音。语音编码技术见3.1.2节,本节仅对数字话音内插和回波控制技术的基本概念和原理进行简单介绍。
3.8.1数字话音内插
由于在两个人通过线路进行双工通话时,总是一方讲话,而另一方在听,因而只有一个方向的话路中有话音信号,而相反方向的话路则处于空闲状态,且讲话人还有讲话停顿的时间。所以,即使在一个方向的话路中,也只有一部分时间存在话音信号。据统计一个单向话路实际传送话音的平均时间百分比,即平均话音激活率通常只有40%左右。这就是说,给通话者所分配的话路,在任一时刻,既可能有话音信号,也可能处于空闲状态。如果设法仅仅在有话音的时间内给通话者分配话路,而在空闲时间将话路分配给另外的用户,这就是所谓的“话音内插”,也称为话音激活技术。特别是在话音信号数字化以后,完成这种操作是很容易的。当然,只有当话路数相当多的系统,这种及时的线路调配才更有意义。
数字话音内插技术包括时分话音内插(Time Assignment SI,TASI)和话音预测编码(Speech Predictive Encoding Communication,SPEC)两种方式。时分话音内插是利用呼叫之间的间隙,听话而未说话以及说话停顿的空闲时间,把空闲的通路暂时分配给其他的用户,以此来提高通道的利用率,提高系统的通信容量。而话音预测编码是当某一时刻的样值与前一个时刻样值的PCM编码有不可预测的明显差异时,才发送此时刻的码组,否则不进行发送,这样便减少了需要传送的码组数量,以便有更多通道可供其他用户使用,以此提高系统的通信容量。
1. 时分话音内插技术
1) TASI系统结构
数字式TASI系统的结构原理如图315所示,当以N路话音经PCM编码后构成的时分复用信号作为输入信号时,在一帧内,N个话路经话音存储器与TDM格式的M(M≤N)个输出话路连接。TASI系统各部分功能如下。


图315TASI系统原理框图


(1) 话音检测器: 检测各话路是否工作,即有无语音信号。当检测电平高于门限电平时判为有话音,否则判为无话音。如果话音检测器中的门限电平能随线路上所引入的噪声电平的变化而自动快速调节,那么就可以大大减少因线路噪声而引起的检测错误。从中可以看出,门限的选定是关键。
(2) 分配状态寄存器: 存储任一时刻、任一输入话路的工作状态及其与输出话路之间的连接状态。
(3) 分配信号产生器: 以帧为周期,在分配话路时隙内发出一个分配信号传递话路间连接状态信息,使得接收端根据这一信息恢复数字话音信号。
(4) 延迟线: 由于话音检测及话路分配需要一定时间,并且新的连接信息应在该组信码存入话音存储器之前送入分配状态寄存器,故在话音存储器输入端接了延迟电路,其延迟时间大约为16ms。

2) TASI工作过程
在发送端,话音检测器依次对各输入话路的工作状态加以识别,判断它们是否有话音信号通过。当话路中有话音信号通过时,立即通知分配处理机,并由其分配状态寄存器在“记录”中进行搜寻。如果需要为其分配一条输出通道,则立即为其寻找一条空闲的输出通道。当寻找到这样一条输出通道时,分配处理机就发出指令,把经延迟电路时延后的该通道信码存储到话音存储器内相对应的需与之相连接的输出通道单元中,并在分配给该输出通道的时间位置“读出”该信码,同时将输入通道和与之相连的输出通道的一切新连接信息通知分配状态寄存器和分配信号产生器。如果此话路一直处于讲话状态,则直至通话完毕时,才再次改变分配状态寄存器的记录。
在接收端,当数字TASI接收设备收到扩展后的信码时,分配处理机则根据收到的分配信号更新收端分配状态寄存器的“分配表”,并让各组话音信码分别存到收端话音存储器的有关单元中,再依次在特定的时间位置进行“读操作”。恢复出符合TDM帧格式的原N路信号,供PCM解调器使用。
3) 分配信息的发送
分配信息发送方式有两种: 一种是只发送最新的连接状态信息; 另一种是发送全部连接状态信息。目前的卫星系统常使用第二种方式。当系统是用发送全部连接状态信息来完成分配信息的传递任务时,无论系统的分配信息如何变化,它只负责在一个分配信息周期中实时地传送所有连接状态信息,因此其设备比较简单。但在分配话路时,如发生误码的话,就很容易出现错接的现象。相比之下,系统只发送最新连接状态信息的方式误码较小。
2. 话音预测编码
图316所示的话音预测编码发端工作过程如下: 


图316SPEC发端原理框图


(1) 在发送端,话音检测器依次对采用TDM复用格式输入的N个通道编码码组进行检测,当有话音编码输入时,则打开传送门,将此编码码组送至中间帧寄存器和零级预测器; 否则传送门仍保持关闭状态。延迟电路提供约5ms时延,正好与话音检测所允许的时间相同。
(2) 零级预测器将预测器帧存储器中所储存的上一次取样时刻通过该通道的那一组编码与刚收到的码组进行比较,并计算出它们的差值。如果差值小于或等于某一个规定值,则认为刚收到的码组是可预测码组,并将其除去; 如果差值大于某一个规定值,则认为刚收到的码组是不可预测码组,随后将其送入预测器帧存储器,并代替先前一个码组,作为下次比较时的参考码组,供下次比较所用。
(3) 与此同时,又将此码组“写入”发送帧存储器,并在规定时间进行“读操作”。其中的发送帧存储器是双缓冲存储器,一半读出时另一半写入,这样便可以不断地将信码送至输出合路器。
(4) 在零级预测器中,各次比较的情况被编成分配码(SAW),如可预测用“0”表示,而不可预测则用“1”表示。这样每一个通道便用1b表示出来,总共N个通道。当N个比特送到合路器时,构成“分配通道”和“M个输出通道”的结构,并送入卫星链路。
(5) 在接收端,根据所接收到的“分配通道”和“M个输出通道”的结构,就可恢复出原发端输入的N通道的TDM帧结构。
在SPEC方式中,同样也存在竞争问题,有可能出现本来应发而未发的现象,而接收端却按先前一码组的内容进行读操作,致使信噪比下降。设计中,一般以信噪比下降不超过0.5dB来确定DSI增益N/M。实际上,只有当M较小时,采用SPEC方式时的DSI增益才稍大于采用TASI方式时的DSI增益。
3.8.2回波控制
1. 产生回波的原因

回波可以分为电学回波和声学回波,分别是由于通信网络中的阻抗不匹配和声波的耦合及遇物体反射引起的。回波的存在会影响通信的质量,严重时将造成系统无法正常工作。
图317所示的是卫星通信线路产生回波干扰的原理图。从图中可以看出,在与地球站相连接的PSTN(公共电话交换网)用户的用户线上采用二线制,即在一对线路上传输两个方向的信号,而地球站与卫星之间的信息接收和发送是由两条不同的链路(上行和下行)完成的,即四线制。通过一个混合线圈,实现了二线和四线的连接。这样,当混合线圈的平衡网络的阻抗RA(或RB)等于二线网络的输入阻抗R1时,用户A便可以通过混合线圈与发射机直接相连。发射机的输出信号被送往地球站,利用其上行链路发往卫星,经卫星转发器转发,使与用户B相连的地球站接收到来自卫星的信号,并通过混合线圈到达用户B。理想情况下,收、发信号彼此分开。但是,由于二线方向用户线路种类和长度的不同,要得到与平衡网络的完全匹配很难。由于阻抗不匹配,由混合线圈的四线输入方向进入的接收信号,便会泄漏到四线的输出端。这一泄露信号即为“回波”。回波的存在,使得发话者的话音通过对方的混合线圈又迂回到发话端,并被发话者听到,回波的大小严重影响到通话的质量问题。这不仅会使通话双方感到不自然,而且会出现严重的回波干扰。回波的影响大小取决于信号的传输时延。


图317产生回波干扰的示意图


2. 回波控制措施
为了抑制回波干扰的影响,通常在话音线路中接入一定的电路,这样在不影响话音信号正常传输的条件下,将回波削弱或者抵消。
最早使用的是通过比较收、发话音电平的话音开关进行回波控制。它是根据电话用户在发话时基本上不收听,而在对方讲话时基本上不发话的特点设计的。即在收听对方的讲话时将本地的发送话音支路断开,以防止收到的话音信号又经混合线圈被发回对方; 在本地发话时则将接收支路的衰减加大,以便使收到的回波大大削弱。但是,由于采用这种开关形式的抑制器,经常在谈话开头或在谈话中间产生话音信号被切断的现象,因而又影响了正常通话的质量。
为此,又提出了一种回波抵消器,它的性能要比回波抑制器好很多。回波抵消器分为模拟式和数字式两种,它们的基本原理基本上是一样的,其基本思想是估计回波路径的特征参数,产生一个模拟的回波路径,得出模拟回波信号,再从接收信号中减去该信号,实现回波消除。由于回波路径通常是未知的和时变的,所以一般采用自适应滤波器来模拟回波路径。
1) 模拟式回波抵消器


图318模拟式回波抵消器原理框图


图318所示是一个回波抵消器的原理图。它用一个横向滤波器来模拟混合线圈,使其输出与接收到的话音信号的泄露相抵消,以此防止回波的产生,而且此时对发送与接收通道并没有引入任何附加的损耗。

2) 数字式回波抵消器
图319所示的是一种数字式自适应回波抵消器原理方框图。其工作过程是: 首先把从对方用户送来的话音信号x(t)经过A/D变换成数字信号存储于信号存储器中。然后将信号存储器中的话音信号x(t)与传输特性存储器中存储的回波支路的脉冲响应h(t)进行卷积积分,从而构成作为抵消用的回波分量,再经加法运算从发话信号中减掉,于是便抵消了发话中经混合线圈来的回波分量z(t)。


图319数字式自适应回波抵消器原理框图


图319中,自适应控制电路可根据剩余回波分量和由信号存储器送来的信号,自动地确定h(t)。通常,这种回波抵消器可使回波分量被抵消约30dB,自适应收敛时间为250ms。这样,由于它不切断话头及谈话的中间部分,因而可以实现平滑的远距离通话。

由于数字式自适应回波抵消器可以看作是一种数字滤波器,从运算算法的实现和运算精度等方面来看,它是非常适合于进行数字处理的,因此被广泛应用于卫星通信系统中。
本章小结
通信系统编码大致可分为信源编码和信道编码两大类。信源编码的目的是提高通信系统的“有效性”,可分为波形编码、参数编码和混合编码。信道编码的目的是提高通信系统的“可靠性”。按照实现方式可分为前向纠错、检错重发和混合方式。
抗干扰码按照纠检错能力可分为检错码、纠错码、纠删码; 按照监督码和信息码的关系可分为线性码、非线性码; 按照监督码元的监督范围可分为分组码、卷积码; 按照码的结构可分为循环码、非循环码; 按照纠正错误的类型分为纠正随机(独立)错误的码、纠正突发错误的码、纠正同步错误的码以及既能纠正随机错误又能纠正突发错误的码。
分组码通常记为(n,k)码,n为总码长,k为信息位位数,监督位位数r=n-k。编码效率为η=kn,编码冗余度E=rk。
常用的差错控制编码有奇偶检验码、方阵码、恒比码、正反码等。
线性分组码的所有码组可由其监督矩阵和生成矩阵构成,且两者之间可以相互转化。
交织码采用行列交织的技术提高了差错控制能力。
循环码是具有循环性的线性分组码。它的生成矩阵取决于生成多项式。
截短循环码是在循环码的基础上,删去前i位全“0”的信息位,形成的(n-i,k-i)循环码,它和截短前的循环码至少具有相同的纠错能力,并且编解码方法仍和截短前一样。
BCH码是一种获得广泛应用的能够纠正多个错码的循环码,其构成也主要取决于生成多项式。
戈莱(Golay)码即BCH(23,12)码。它能纠正3个随机错码,并且容易解码,实际应用较多。
RS码为多进制的BCH码,特别适用于纠正突发性错误。
卷积码的监督位不仅监督本信息码组,而且还监督其他的一些信息码组。卷积码的表示方法有树图、状态转移图和网格图。可以采用维特比译码算法对其进行译码。
Turbo码是由一对递归系统卷积码编码器和一个交织器组成的,其大大地提高了编码效率,而且纠错能力极其接近信息理论上能够达到的极限能力。
低密度奇偶校验码和Turbo码同属于复合码类,两者的性能相近。
网格编码调制是将调制和编码相结合的调制技术。它打破了调制与编码的界限,利用信号空间状态的冗余度实现纠错编码,以实现信息高速率、高性能的传输。
卫星通信系统的三种最基本的信号处理技术是数字话音内插(DSI)、回波控制和语音编码。其中,数字话音内插技术包括时分话音内插(TASI)和话音预测编码(SPEC)两种方式; 回波控制技术可以抵消或削弱回波干扰造成的影响; 语音编码主要分为波形编码、参量编码及混合编码,既属于信源编码,又属于信号处理范畴。
习题
1. 什么是信源编码和信道编码?两者的目的是什么?
2. 简述线性分组码和卷积码的特点,以及它们之间的区别。
3. 已知某线性分组码的一致监督关系式为
a2=a6a4a3

a1=a6a5a4

a0=a5a4a3
(1) 求该编码的监督矩阵和生成矩阵。
(2) 求其最小码距并分析其检错、纠错能力。
(3) 写出信息码“1101”所对应的系统码。
(4) 如果接收端收到码组“1010110”,判断该码组是否正确,并给出判断依据。
4. 已知某(7,3)循环码的生成多项式为
g(x)=x4+x2+x+1
(1) 求该循环码的监督矩阵和生成矩阵。
(2) 若信息为“101”,求系统码。
(3) 若接收端收到“1011101”,试判断有没有误码?如果有误码,指出错误位置(假设传输时最多只有一个误码)。
(4) 画出构成该循环码的编码器电路。
5. BCH码与RS码之间有何联系和区别?
6. 已知(3,1,3)卷积码的编码器如图320所示,设输入的信息序列为(b1,b2,b3,…),移位寄存器D1、D2、D3的初始状态均为零。
(1) 画出该卷积码的码树。
(2) 写出输入为“111”时的输出码序列(假设后补入的信息位均为“0”码),画出编码路径。


图320编码器



7. 试述Turbo码与卷积码编码器的不同之处。
8. 什么叫差错控制方式?它有哪些类型?各有什么特点?
9. 在数字卫星通信中,选择调制方式时主要考虑哪些因素?
10. DSI的作用是什么?为什么采用DSI可使TDMA通信容量增大一倍?
11. 试给出回波抑制器和回波抵消器的原理方框图,并说明在原理上它们有什么不同。
12. 参量编码与波形编码在原理上有什么不同?各有什么特点?
13. 试说明混合编码的基本原理。