通信系统中的信道编码方法

通信系统中的信道编码方法

Xx

(xx大学信息工程学院, 湖北武汉 430070)

摘要:目前,中国固定和移动两大网络的规模都已位居世界第2位,上网用户也在不断增加,中国的信息通信制造业也得到很大的发展。中国将加快建设新一代信息通信网络技术、生产体系。在信息通信网络的高速发展下,要有效地提高传输速率,然而在实际信道上传输数字信号时,由于信道特性的不理想以及加性噪声和人为干扰的影响,系统输出的数字信息不可避免地会出现差错。因此,为了保证通信内容的可靠性和准确性,每一个数字通信系统对输出信息码的差错概率即误码率都有一定的要求。

为了降低误码率,常用的方法有两种:一种是降低数字信道本身引起的误码,可采取的方法有:选择高质量的传输线路、改善信道的传输特性、增加信号的发送能量、选择有较强的抗干扰能力的调制解调方案等;另一种方法就是采用差错控制措施,使用信道编码。在许多情况下,信道的改善是不可能的或是不经济的,这时只能采用信道编码方法。因此实现信道编码方法具有重要的意义。

关键词:信道,误码率,信道编码

Abstract:At present, the scale of the fixed and mobile network are ranked 2 in the world, the Internet users are always growing, China’s information and communication industry has got a lot of development. China will speed up the construction of a new generation of information and communications network technology and production system. Under the fast development of information and communication network, we should improve the transmission rate effectively, however, when transmitting digital signals in actual channels, there are mistakes in the system outputs of digital signals inevitably due to not ideal characteristics of the channels and additive noise as well as man-made interference. Though, in order to ensure dependability and accuracy of communication contents, a digital communications system for each output code error probability of bit error rate that has certain requirements.

To reduce the error rate, there are commonly two ways: one is to reduce the number of channel bit error caused by its own, the following methods: Select high-quality transmission lines, to improve the transmission characteristics of the channel ,to increase signal transmission power, Select a strong anti-interference ability of modulation and demodulation programs; the other method is to use error-control measures , to use channel coding. In many cases, the improvement of the channel is not possible or not economical, then we can only use channel coding. Therefore, implementing channel coding method is significant.

Keywords:channel,code errorrate, channel coding,

1. 信道编码

在数字电视和通信系统中,为提高信息传输可靠性,广泛使用了具有一定纠错能力的信道编码技术,如奇偶校验码、行列监督码、恒比码、汉明码、循环码(CRC)等编码技术。信道编码的本质是增加通信的可靠性,或者说增加整个系统的抗干扰性。对信道编码有以下要求:1.透明性:要求对所传消息的内容不加任何限制;2.有纠错能力;3.效率高:为了与信道频谱匹配和具有纠错能力,通常要向原信号添加一些码,要求加入最少的比特数而得到最大的利益;4.包含适当的定时信息。在这些要求中,除编码的必须信息外,所作的处理主要有两条:一是要求码列的频谱特性适应通道的频谱特性从而使传输过程中能量损失最小,提高信噪比。减少发生差错的可能性;二是增加纠错能力,使得即便出现差错,也能得到纠正。

2. 三种不同系统的无线信道

(1)数字微波中继通信系统中的无线信道

一般意义下的数字微波中继系统主要用于固定站点之间的无线通信,通常使用1GHZ以上的频段,采用视距通信。为了能够传输更远的距离,需要微波站建设在海拔较高的地方,通常在站点设计时使用微波链路满足自由空间传播条件,即视线距离地面有足够的余隙,此时信号的衰减近似看作只有由于距离的增加而带来的信号能量的扩散,信道条件比较稳定。

(2)短波电离层信道

对于短波电离层信道,电离层随机扰动和多径效应是最主要的特点。电离层扰动本质上决定了短波电离层反射通信的特点,即信道不稳定,信号的起伏和衰落较大。多径效应是指无线信号经过多条路径后被接收端接收。

(3)移动通信系统中的无线信道

GSM移动通信系统工作的频段有900MHZ和1800MHZ两个频段,GSM移动通信系统中的无线传输用于基站和移动台之间的信息收发,基站发射的无线信号可能会经过周围建筑的反射被移动台接收,当移动台运动时,这些多径分量之间的相位差要发生变化,因此总合成的振幅就发生起伏,它体现为接收信号强度的快衰落,也称为多径衰落;在移动台移动过程中,还存在一种相对较慢的起伏,由于地形地物的沿途变化,某个较强多径分量的加入和退出将会使得接收信号强度呈现较大的起伏,它体现为接收信号的慢衰落,这种衰落又称为阴影衰落。此外移动通信系统中还存在多径时延扩展和多普勒效应的影响。

信道特性是选择各种编码和调制收发体质的基础和出发点,如在数字移动通信系统中,必须对抗多径效应和接收信号的快速衰落所造成的不利影响,这就需要在信源编码、信道编码、调制技术、多址方式等多个方面进行精心的设计。

在无线信道中,高误码率限制了其传输性能,采用有线网络中使用的检错重发技术由于重发次数频繁,严重降低了传输效率。因此通常用前向纠错来降低信道中的高误码率,传统的前向纠错在一定程度上降低了丢包率,但并不能灵活地适应网络内部的链路差异。因此寻找一种能够根据无线网络当前链路状况对数据的差错编码等作出更改的自适应前向纠错算法,对提高网络传输的效率具有重大意义。

3. 纠错检错的基本原理

3.1 差错控制的基本概念

3.1.1 差错的特点

由于通信线路上总有噪声存在,噪声和有用信息中的结果,就会出现差错。噪声可分为两类,一类是热噪声,另一类是冲激噪声,热噪声引起的差错是一种随机差错,亦即某个码元的出错具有独立性,与前后码元无关。冲激噪声是由短暂原因造成的,例如点击的启动、停止,电器设备的放弧等。冲击噪声引起的差错是成群的,其差错持续时间称为突发错的长度。

衡量信道传输性能的指标之一是误码率PO,PO=错误接收的码元数/接收的总码元数。目

前普通电话线路中,当传输速率在600~2400bit/s时,PO

通信系统,PO在之间,对于大多数。 之间,而计算机之间的数据传输则要求误码率低于

3.1.2 差错控制的基本方式

差错控制方式基本上分为两类,一类称为“反馈纠错”,另一类称为“前向纠错”。在这两类基础上又派生出一种称为“混合纠错”。

(1)反馈纠错

这种方式在是发信端采用某种能发现一定程度传输差错的简单编码方法对所传信息进行编码,加入少量监督码元,在接收端则根据编码规则收到的编码信号进行检查,一量检测出(发现)有错码时,即向发信端发出询问的信号,要求重发。发信端收到询问信号时,立即重发已发生传输差错的那部分发信息,直到正确收到为止。所谓发现差错是指在若干接收码元中知道有一个或一些是错的,但不一定知道错误的准确位置。

(2)前向纠错

这种方式是发信端采用某种在解码时能纠正一定程度传输差错的较复杂的编码方法,使接收端在收到信码中不仅能发现错码,还能够纠正错码。采用前向纠错方式时,不需要反馈信道,也无需反复重发而延误传输时间,对实时传输有利,但是纠错设备比较复杂。

(3)混合纠错

混合纠错的方式是:少量纠错在接收端自动纠正,差错较严重,超出自行纠正能力时,就向发信端发出询问信号,要求重发。因此,“混合纠错”是“前向纠错”及“反馈纠错”两种方式的混合。

对于不同类型的信道,应采用不同的差错控制技术,否则就将事倍功半。

反馈纠错可用于双向数据通信,前向纠错则用于单向数字信号的传输,例如广播数字电视系统,因为这种系统没有反馈通道。

3.1.3 误码控制编码的分类

随着数字通信技术的发展,研究开发了各种误码控制编码方案,各自建立在不同的数学模型基础上,并具有不同的检错与纠错特性,可以从不同的角度对误码控制编码进行分类。

按照误码控制的不同功能,可分为检错码、纠错码和纠删码等。检错码仅具备识别错码功能而无纠正错码功能;纠错码不仅具备识别错码功能,同时具备纠正错码功能;纠删码则不仅具备识别错码和纠正错码的功能,而且当错码超过纠正范围时可把无法纠错的信息删除。

按照误码产生的原因不同,可分为纠正随机错误的码与纠正突发性错误的码。前者主要用于产生独立的局部误码的信道,而后者主要用于产生大面积的连续误码的情况,例如磁带数码记录中磁粉脱落而发生的信息丢失。按照信息码元与附加的监督码元之间的检验关系可分为线性码与非线性码。如果两者呈线性关系,即满足一组线性方程式,就称为线性码;否则,两者关系不能用线性方程式来描述,就称为非线性码。

按照信息码元与监督附加码元之间的约束方式之不同,可以分为分组码与卷积码。在分组码中,编码后的码元序列每n位分为一组,其中包括k位信息码元和r位附加监督码元,即n=k+r,每组的监督码元仅与本组的信息码元有关,而与其他组的信息码元无关。卷积码则不同,虽然编码后码元序列也划分为码组,但每组的监督码元不但与本组的信息码元有关,而且与前面码组的信息码元也有约束关系。

按照信息码元在编码之后是否保持原来的形式不变,又可分为系统码与非系统码。在系统码中,编码后的信息码元序列保持原样不变,而在非系统码中,信息码元会改变其原有的信号序列。由于原有码位发生了变化,使译码电路更为复杂,故较少选用。

根据编码过程中所选用的数字函数式或信息码元特性的不同,又包括多种编码方式。对于某种具体的数字设备,为了提高检错、纠错能力,通常同时选用几种误码控制编码方式。以下,以线性分组码为例,对几种简单的编码方式进行介绍。

3.2 纠错编码方式简介

3.2.1 奇偶监督码

奇偶校验码也称奇偶监督码,它是一种最简单的线性分组检错编码方式。其方法是首先把信源编码后的信息数据流分成等长码组,在每一信息码组之后加入一位(1比特)监督码元作为奇偶检验位,使得总码长n(包括信息位k和监督位1)中的码重为偶数(称为偶校验码)或为奇数(称为奇校验码)。如果在传输过程中任何一个码组发生一位(或奇数位)错误,则收到的码组必然不再符合奇偶校验的规律,因此可以发现误码。奇校验和偶校验两者具有完全

相同的工作原理和检错能力,原则上采用任一种都是可以的。

由于每两个1的模2相加为0,故利用模2加法可以判断一个码组中码重是奇数或是偶数。模2加法等同于“异或”运算。现以偶监督为例。 对于偶校验,应满足

故监督位码元c0可由下式求出:

 (3-1)

不难理解,这种奇偶校验编码只能检出单个或奇数个误码,而无法检知偶数个误码,对于连续多位的突发性误码也不能检知,故检错能力有限,另外,该编码后码组的最小码距为d0=2,故没有纠错码能力。

奇偶监督码常用于反馈纠错法。

3.2.2 行列监督码

行列监督码是二维的奇偶监督码,又称为矩阵码,这种码可以克服奇偶监督码不能发现偶数个差错的缺点,并且是一种用以纠正突发差错的简单纠正编码。

其基本原理与简单的奇偶监督码相似,不同的是每个码元要受到纵和横的两次监督。具体编码方法如下:将若干个所要传送的码组编成一个矩阵,矩阵中每一行为一码组,每行的最后加上一个监督码元,进行奇偶监督,矩阵中的每一列则由不同码组相同位置的码元组成,在每列最后也加上一个监督码元,进行奇偶监督。如果用×表示信息位,这样,它的一致监督关系按行及列组成。每一行每一列都是一个奇偶监督码,当某一行(或某一列)出现偶数个差错时,该行(或该列)虽不能发现,但只要差错所在的列(或行),没有同时出现偶数个差错,则这种差错仍然可以被发现。矩阵码不能发现的差错只有这样一类:差错数正好为4倍数,

而且差错位置正好构成矩形的四个角,有的差错情况。因此,矩阵码发现错码的能力是十分强的,它的编码效率当然比奇偶监督码要低。

3.2.3 恒比码

恒比码又称为定比码。在恒比码中,每个码组“1”和“0”都保持固定的比例,故得此名。这种码在检测时,只要计算接收到的码组中“1”的数目是否对就知道有无错误。在我国用电传机传输汉字时,只使用阿拉伯数字代表汉字。这时采用的所谓“保护电码”就是“3∶2”或称“5中取3”的恒比码,即每个码组的长度为5,其中“1”的个数总是3,而“0”的个数总是2。如表3-1所示。

相同的工作原理和检错能力,原则上采用任一种都是可以的。

由于每两个1的模2相加为0,故利用模2加法可以判断一个码组中码重是奇数或是偶数。模2加法等同于“异或”运算。现以偶监督为例。

对于偶校验,应满足

故监督位码元c0可由下式求出:

 (3-1)

不难理解,这种奇偶校验编码只能检出单个或奇数个误码,而无法检知偶数个误码,对于连续多位的突发性误码也不能检知,故检错能力有限,另外,该编码后码组的最小码距为d0=2,故没有纠错码能力。

奇偶监督码常用于反馈纠错法。

3.2.2 行列监督码

行列监督码是二维的奇偶监督码,又称为矩阵码,这种码可以克服奇偶监督码不能发现偶数个差错的缺点,并且是一种用以纠正突发差错的简单纠正编码。

其基本原理与简单的奇偶监督码相似,不同的是每个码元要受到纵和横的两次监督。具体编码方法如下:将若干个所要传送的码组编成一个矩阵,矩阵中每一行为一码组,每行的最后加上一个监督码元,进行奇偶监督,矩阵中的每一列则由不同码组相同位置的码元组成,在每列最后也加上一个监督码元,进行奇偶监督。如果用×表示信息位,这样,它的一致监督关系按行及列组成。每一行每一列都是一个奇偶监督码,当某一行(或某一列)出现偶数个差错时,该行(或该列)虽不能发现,但只要差错所在的列(或行),没有同时出现偶数个差错,则这种差错仍然可以被发现。矩阵码不能发现的差错只有这样一类:差错数正好为4倍数,

而且差错位置正好构成矩形的四个角,有

的差错情况。因此,矩阵码发现错码的能力是

十分强的,它的编码效率当然比奇偶监督码要低。

3.2.3 恒比码

恒比码又称为定比码。在恒比码中,每个码组“1”和“0”都保持固定的比例,故得此名。这种码在检测时,只要计算接收到的码组中“1”的数目是否对就知道有无错误。在我国用电传机传输汉字时,只使用阿拉伯数字代表汉字。这时采用的所谓“保护电码”就是“3∶2”或称“5中取3”的恒比码,即每个码组的长度为5,其中“1”的个数总是3,而“0”的个数总是2。如表3-1所示。

本来以5位码元组成的码组总共可以有25=32种,而恒比码规定只有确切地含有3个“1”,2个“0”的那些码组为准用码组,而有3个“1”,2个“0”的5位码组共有多少?这是“5中取3”求组合的算法,组合数为c5

Cn

m

3

10

,一般情况下,从“n中取m”(m<n)

n!m!nm!

比码的码组数为:

比特信息,例如上述“3∶2”即

,有

由此可以看出,恒比码实际上是n个码元传送

“5中取2”恒比码,用5位码只传10种信息。每个码组的信息量为5-3.3=1.7bit作为代价付出。

恒比码适用于传输字母和符号。

3.2.4 汉明码

汉明码属于线性分组编码方式,大多数分组码属于线性编码,其基本原理是,使信息码元与监督码元通过线性方程式联系起来。线性码建立在代数学群论的基础上,各许用码组的集合构成代数学中的群,故又称为群码。

校验子和监督关系式

我们先回顾下按式(3-1)条件构成的偶数监督码。由于我们使用了一位监督码c0,它就能和信息码

一起构成一个代数式,在接收端解码时,我们实际上是计算:

(3-2)

若s=0,就认为无错码。若s=1,就认为有错码。上式就是一致监督关系式。S称为“校验子”。由于校验子S的取值只有这样两种,它就只能代表有错和无错两种信息,而不能指出错码的位置。我们不难推想,如监督位增加一位,变成两位,则能增加一个类似于式(3-2)的监督关系式。两个校验子的可能值有4种组合00,01,10,11。故能表示4种不同的信息,其中一种表示无错,其余三种就有可能用来指示一位错码的3种不同位置。同理,r个监督关系式能指示一位错码的(2r-1)个可能位置。

一般说来,若码长为n,信息码为k,则监督码数r=n-k。若希望用r个监督码构造出r个监督关系式来指示一位错码的n种可能位置,则要求:

 (3-3)

下面通过一个例子来说明如何具体构造这些监督关系式。

设分组码(n、k)中k=4,为了能纠正一位错码,按式(3-3)可知,要求监督码数r≥3,现取r=3,则n=k+r=4+3=7,这是一种(7、4)分组码。我们用

,表示三个监督关系式中的校验子,则

表示这7

个码元,

的值与错码位置的对应关系

可以规定如表3-2,(当然也可以规定成另一种对应关系,这不影响讨论一般性)。

按表3-2的规定,仅当有一个错码位置在0,这就意味着

时,校验子s1为1,否则s1为

四个码元构成偶数监督关系:

表3-2

同理,

构成偶数监督关系:

以及

构成偶数监督关系:

 (3-4)

(1) 监督码的确定

在发送端编码时,信息码

的值决定于输入信号,是随机的。而监督码

则应根据信息码的取值按监督关系式决定。即监督码的取值应使上三式中

的值为0,表示编成的码组中无错码:

(3-5)

由上式移项解出监督码:(在模2加法中,移项后没有负号)

已知信息码后,直接按上式可算出监督码,计算结果得出16个码组列于表3-3中。

表3-3

(2) 解码过程

接收端收到每个码组后,按下述顺序解码。先按式(3-2)~(3-5)计算出c0,a3,a4,a6.再按表3-2判断错误情况。例如,若接收码组为0000011,按式(3-3)~(3-5)计算得:s1=0,s2=1,s3=1,由于s1s2s3=011,查表3-2可知有一错码为a3。

(3) 汉明码的效率

汉明码的编码效率η=1-r/n当n很大时,效率是很高的。

3.2.5 循环码(CRC)

(1)循环码是一种重要的线性码,它有三个主要数学特征:

1.循环码具有循环性,即循环码中任一码组循环一位(将最右端的码移至左端)以后,仍为该码中的一个码组。

2.循环码组中任两个码组之和(模2)必定为该码组集合中的一个码组。

3.循环码每个码组中,各码元之间还存在一个循环依赖关系,b代表码元,则有

(2)用多项式码作为检验码的编解码过程

用多项式码作为检验码时,发送器和接收器必须具有相同的生成多项式

(GeneratorPolynomial)G(x),其最高、最低项系数必须为1。CRC编码过程是将要发送的二进制序列看作是多项式的系数,除以生成多项式,然后把余数挂在原多项式之后。CRC译码过程是接收方用同一生成多项式除以接收到的CRC编码,若余数为零,则传输无错。

编码译码方法:

令r为生成多项式G(x)的阶,将r个“0”附加在信息(数据)元的低端,使其长度变为k+r位,相应于多项式xr*m(x);

x*m(x)÷G(x)[mod 2],得余数;x*m(x)与余数对应位异或,得编码信息T(x)。 例数据信息

表3-4

1.接收器收到发来的编码信息后,用同一个生成多项式G(x)除以编码信息,若余数为零,则表示接收到正确的编码信息,否则有错。

2.把收到的正确编码信息T(x)去掉尾部r位,即得数据信息M(x)。

r

r

(3)多项式码检错能力及生成多项式G(x)的选择原则

设接收到的信息不是发送的编码信息T(x),而是T(x)+E(x)。 例有差错的编码信息为 1001001011T(x)-E(x)=T(x)+E(x)

其中,1101011011为T(x),0100010000为E(x)

若接收到的有差错的编码信息为T(x)+E(x),用G(x)除以T(x)+E(x),则得余数为E(x)/G(x)的余数,因为T(x)/G(x)余数为零,所以[T(x)+E(x)]/G(x);E(x)/G(x)

这时应该有余数,若无余数则检不出错。

有r位校验位的多项式码将能检测所有≤r位的突发错,故只要k-1<r,就能检测出所有突发错,这是一个很有用的结论。

生成多项式G(x)的国际标准有:

表3-5

CRC-16和CRC-CCITT两种生成多项式生成的CRC码可以捕捉一位错、二位错、具有奇数个错的全部错误,可以捕捉突发错长度小于16的全部错误。CRC-16和CRC-CCITT可

以用硬件实现。

(4)CRC编码硬件电路的实现

设数据1010,多项式m(x)=x3+x,生成多项式系数1011。多项式xr*m(x),系数1010000;多项式x*m(x)=x+x,余式系数011,多项式k(x)=x+1

CRC编码

表3-6

r

6

4

3.2.6 卷积码(Convolution Codes)

卷积码是一种非分组编码,适用于前向纠错法。在许多实际情况下,卷积码的性能常优于分组式编码。

卷积编码是将信息序列以k个码元分段,通过编码器输出长为n的一个码段。卷积码的监督码元并不实行分组监督,每一个监督码元都要对前后的信息单元起监督作用,整个编解码过程也是一环扣一环,连锁地进行下去。卷积编码后的n个码元不仅与本段的信息元有关,而且也与其前N-1段信息有关,故也称连环码,编码过程中互相关联的码元个数为nN。卷积编码的结构是:“信息码元、监督码元、信息码元、监督码元”。在解码过程中,首先将接收到的信息码与监督码分离,由接收到的信息码再生监督码,这个过程与编码器相同;再将此再生监督码与接收到的监督码比较,判断有无差错,并纠正这些差错。

卷积码编码器的一般结构包括两部分:一个由m段组成的输入移位寄存器,每段有k级,共mk位寄存器,n个模2加法器,其输入分别对应于n个基于生成多项式的线性代数方程。

为了对卷积码作进一步说明,下面以卷积码(2,1,2)为例,其编码器生成多项式分别为: G0(n)=x(n)+x(n-1)+x(n-2) (1)

G1(n)=x(n)+x(n-2) (2)

其中x(n)为编码器输入信息G0(n),G1(n)为编码器输出信息。其工作过程:若输入编码器一个新的信息元x(n),两个移位寄存器内的数据均右移一位,x(n)与前两个时刻输入的信息x(n-1)、x(n-2)生成多项式进行运算,得到两个输出码元G0(n)、G1(n),由此对信息x(n)编码结束。

3.2.7 RS码

里德-索罗门码,简称RS码,是一种重要的线性分组编码方式,对突发性错误有较强的纠错能力。该编码技术是利用伽罗华创造的伽罗华域(GaloisField)中的数学关系来把传送数据包的每个字节映射成伽罗华域中的一个元素(又称符号),每个数据包都按码生成多项式为若干个字节的监督校验字节,组成RS的误码保护包,接收端则按校验矩阵来校验接收到的误码保护包是否有错,有错时则在错误允许的范围内纠错。RS纠错编码具有很强的纠正突发误码的能力。为了纠正一个错误,要2个符号的检测码,一个用来确定位置,一个用来纠错。一般来说纠t个错误需要2t个检验符,这时要计算2t个等式,确定t个位置和纠t个错。能纠t个符号的RS码生成多项式为:g(x)=(x+a)(x+a)(x+a)⋯(x+a

1

2

2t-1

)

(1)在RS编码过程中,各符号不是直接出现,而是每个符号要乘以某个基本元素的幂次方后再模2加,如图4-7所示。

(2)在循环码中欲检查是否有错是用码字除一个多项式,而在RS码中,欲检出一系列误码则需要用码字除一定数量的一次多项式。如果要纠正七个错误,那么码字必须被2t个不同的一次多项式整除,例如被x+an的一次多项式整除,这里的n取值直到2t的所有整数值,a是基本元素,例如a为010,输入5个符号,每个符号3比特,与相应的元素相乘后直接模2加输出,因为有两种系数,所以得到二个校检子,两个校验式为:

(3)下面举一个简单例子说明纠错过程在无差错时,S0=0,S1=0,有如下关系:

表3-7

当接收到的符号有错时通过计算也可以得到与符号有关的错误图形,这时有错的码加撇,S0是错误图形,真正的D=D′+S0=101+001=100。但错误的位置将由S1决定,这要利用S1和S2的关系

表3-8

校验子的增加导致纠错能力的加强,通过的运算可以确定差错的位子,并予以纠正。尽管都是同一个错误的不同图形,但因次方的各接收符号模2加得到的,而的k恰好是乘的那一个符号。

(4)RS码的生成多项式

从上面的例子可以看出,为了纠正一个符号错,要2个符号的检测码,一个用来确定位置,一个用来纠错。一般来说纠t个错误需要2t个检验符,这时要计算2t个等式,确定t个位置和纠t个错。能纠t个符号的RS码生成多项式为:

g(x)=(x+a0)(x+a1)(x+a2)⋯(x+a2t-1) 按照DVB的CATV标准:

RS码生成多项式为:g(x)=(x+20)(x+21)(x+22)⋯(x+215);  RS码为: RS(204,188,8)

 即分组码符号长度为204个,188个信息符号,可纠错8个。

4. 在MATLAB软件中的仿真实现

4.1循环码CRC

gen=[1 0 1 1];%校验多项式

poly=[0 0 1 1 1 1 1 1 0 0 1 1 1];%原始信息 plen=length(poly);%返回原始信号的最大长度 glen=length(gen);%返回校验多项式的最大长度 cur=poly(1:glen-1); for p=glen:plen; end

disp('校验码为'),disp(cur)

运行得:校验码为001

该结果表明CRC编码在给定的原始信号和校验多项式生成的校验码为001

cur(glen)=poly(p);

if cur(1)cur=xor(cur(2:glen),gen(2:glen)); else cur=cur(2:glen);end

4.2 RS码

对加入突发噪声信道的RS(15,11)编码进行的仿真,MATLAB代码如下: clc; L=1000;

M=4;%每个符号的比特数 N=2^M-1;%编码后码字长度 K=N-4;%信息长度

MSG=randint(L,1);%随机产生L比特信号 TP=gftuple([-1:N-1]',M);%产生加罗华域元素 PG=rspoly(N,K);%产生生成式

[CODE,ADDED]=rsenco(MSG,TP,K);%编码

NOI=rand(length(CODE)/M,1)

CODE_NOI=rem(CODE+NOI,2);%噪声加入信号

[DEC,ERR,CCODE,ERR_C]=rsdeco(CODE_NOI,TP,K);%译码 MSG=[MSG;zeros(ADDED,1)];%调整长度 max(abs(DEC-MSG));%比较 X=[1:length(NOI)];

Z=[1:M*N:length(NOI)]; Y=zeros(1,length(Z)); Z=[Z;Z];

Y=[Y+min(ERR_C);Y+max(ERR_C)]; subplot(211);

plot(X,NOI,'yo',X,ERR_C,'rx',Z,Y,'g-'); title('ErrorDetectionRecord');

xlabel('o--placederror;x--detectederror;verticalbar:RS-DECOsection'); axis([1,length(NOI),min(ERR_C),max(ERR_C)]); X=[1:length(MSG)]; Z=[1:M*K:length(MSG)]; Y=zeros(1,length(Z)); Z=[Z;Z];

Y=[Y;Y+max(MSG)]; subplot(212);

plot(X,MSG,'yo',X,DEC,'rx',Z,Y,'g-');

title('Message and Decoded Signal Comparison');

xlabel('o—original message;x—decoded result.');%X轴的标题 axis([1,length(MSG),min(min(MSG)),max(max(MSG))]);

该结果是根据RS编码进行仿真出的对比图,在上一个图表明的是错误检测记录图,黄色表示错误的地方,红色表示检测到错误,竖线表示RS译码部分。下图是源信号和译码后的信号对比图,黄色表示原始信号,红色表示译码结果。说明加入噪声以后,原始信息编码后再译码,产生误差。

4.3 卷积码编码程序

function [output, len_tal] = cnv_encd(secrettext, encodetext)

g = [0 0 1 0 0 1 0 0; 0 0 0 0 0 0 0 1; 1 0 0 0 0 0 0 1; 0 1 0 0 1 1 0 1]; k0 = 1;

% 读入文本文件并计算文件长度

frr = fopen(secrettext, 'r');

[msg, len] = fread(frr, 'ubit1');

msg = msg';

% check to see if extra zero padding is necessary

if rem(length(msg), k0) > 0

msg = [msg, zeros(size(1:k0-rem(length(msg),k0)))];

end

n = length(msg)/k0; % 把输入比特按k0分组,n为所得的组数。

% check the size of matrix g

if rem(size(g, 2), k0) > 0

error('Error, g is not of the right size.');

end

% determine L and n0

L = size(g, 2)/k0;

n0 = size(g, 1);

% add extra zeros,以保证编码器是从全0开始,并回到全0状态。

u = [zeros(size(1:(L-1)*k0)), msg, zeros(size(1:(L-1)*k0))];

% generate uu, a matrix whose columns are the contents of conv. encoder at % various clock cycles.

u1 = u(L*k0: -1 :1);

for i = 1:n+L-2

u1 = [u1, u((i+L)*k0:-1:i*k0+1)];

end

uu = reshape(u1, L*k0, n+L-1);

% determine the output

output = reshape(rem(g*uu, 2), 1, n0*(L+n-1));

len_tal = n0*(L + n - 1);

% write the output to the encodetext

result = fopen(encodetext, 'w');

for i = 1:n0*(L+n -1)

fwrite(result, output(i), 'bit1');

end

fclose(result);

5. 总结

随着数字电路技术的飞速发展,循环码纠错编译技术已广泛应用于各种通信系统中,解码电路采用微处理器或数字信号处理器,实现简单,检纠错能力强,可降低误码率,确保数据传输的可靠性,大大提高了通信质量!汉明码性能好,而且编译电路简单,易于工程实现,汉明码可变、发送信息可变、错误信息可变,因此比较灵活。循环码具有可靠性高的优点,在通信、军事等领域中应用非常广泛。由于循环码是无权码,书写和编制都比普通二进制码麻烦,且每位代码无固定权值,任何相邻的两个码组中,仅有一位代码不同。奇偶效验码数量多但是有规律可寻,缺点是冗余效验码乱且复杂。

在RS 码和卷积码之间,有一个交织器, 其主要完成信号数码序列的交织作用。因为当信号受到突发性干扰时,不仅干扰个别字节, 而且会干扰一串字节,造成一片数码都出错,错误集中在一起,可能会超出纠错码的纠错能力,交织作用可以将错误分散开,目的是使解码器能有效纠错,由于在发送端进行了数码交织,接收端就要相应地进行去交织,恢复其本来的数码顺序。

分组码有完善的理论支持,使得他们具有完美的数学结构和许多简单有效的纠错译码算法。从实际应用角度看, RS 码是分组码家族最重要的一种编码。他在纠突发错误方面有十分优异的性能。RS 码的缺点是他很难产生用于软判决的信息,而卷积码则由于使用软判决可获得大约2dB的增益(相对硬判决)。同时卷积码的同步要比分组码简单很多。卷积码的优点是具有高传输效率、低时延及高可靠性的特点。缺点就是随着约束长度的增加算法的复杂度增加很快。

6. 参考文献

[1] 张鸣瑞,邹世开. 编码理论[M ]. 北京:北京航空航天大学出版社, 1990

[2] 樊昌信、曹丽娜.通信原理(第6版).国防工业出版社,2008

[3] 邓华 等.MATLAB通信仿真及应用实例详解.人民邮电出版社,2003

[4] 曹雪虹、张宗橙.信息论与编码.清华大学出版社,2008

[5] 王新梅,肖国镇. 纠错码原理与方法[M ]. 西安:西安电子科技大学出版社, 1996

[6] 杨爵. 实用纠错编码. 中国铁道出版社, 2003

[7] 罗伟雄. 通信原理与电路. 北京理工大学出版社, 2003

[8] http://www.csdn.com

[9] http://www.baiduwenku.com

通信系统中的信道编码方法

Xx

(xx大学信息工程学院, 湖北武汉 430070)

摘要:目前,中国固定和移动两大网络的规模都已位居世界第2位,上网用户也在不断增加,中国的信息通信制造业也得到很大的发展。中国将加快建设新一代信息通信网络技术、生产体系。在信息通信网络的高速发展下,要有效地提高传输速率,然而在实际信道上传输数字信号时,由于信道特性的不理想以及加性噪声和人为干扰的影响,系统输出的数字信息不可避免地会出现差错。因此,为了保证通信内容的可靠性和准确性,每一个数字通信系统对输出信息码的差错概率即误码率都有一定的要求。

为了降低误码率,常用的方法有两种:一种是降低数字信道本身引起的误码,可采取的方法有:选择高质量的传输线路、改善信道的传输特性、增加信号的发送能量、选择有较强的抗干扰能力的调制解调方案等;另一种方法就是采用差错控制措施,使用信道编码。在许多情况下,信道的改善是不可能的或是不经济的,这时只能采用信道编码方法。因此实现信道编码方法具有重要的意义。

关键词:信道,误码率,信道编码

Abstract:At present, the scale of the fixed and mobile network are ranked 2 in the world, the Internet users are always growing, China’s information and communication industry has got a lot of development. China will speed up the construction of a new generation of information and communications network technology and production system. Under the fast development of information and communication network, we should improve the transmission rate effectively, however, when transmitting digital signals in actual channels, there are mistakes in the system outputs of digital signals inevitably due to not ideal characteristics of the channels and additive noise as well as man-made interference. Though, in order to ensure dependability and accuracy of communication contents, a digital communications system for each output code error probability of bit error rate that has certain requirements.

To reduce the error rate, there are commonly two ways: one is to reduce the number of channel bit error caused by its own, the following methods: Select high-quality transmission lines, to improve the transmission characteristics of the channel ,to increase signal transmission power, Select a strong anti-interference ability of modulation and demodulation programs; the other method is to use error-control measures , to use channel coding. In many cases, the improvement of the channel is not possible or not economical, then we can only use channel coding. Therefore, implementing channel coding method is significant.

Keywords:channel,code errorrate, channel coding,

1. 信道编码

在数字电视和通信系统中,为提高信息传输可靠性,广泛使用了具有一定纠错能力的信道编码技术,如奇偶校验码、行列监督码、恒比码、汉明码、循环码(CRC)等编码技术。信道编码的本质是增加通信的可靠性,或者说增加整个系统的抗干扰性。对信道编码有以下要求:1.透明性:要求对所传消息的内容不加任何限制;2.有纠错能力;3.效率高:为了与信道频谱匹配和具有纠错能力,通常要向原信号添加一些码,要求加入最少的比特数而得到最大的利益;4.包含适当的定时信息。在这些要求中,除编码的必须信息外,所作的处理主要有两条:一是要求码列的频谱特性适应通道的频谱特性从而使传输过程中能量损失最小,提高信噪比。减少发生差错的可能性;二是增加纠错能力,使得即便出现差错,也能得到纠正。

2. 三种不同系统的无线信道

(1)数字微波中继通信系统中的无线信道

一般意义下的数字微波中继系统主要用于固定站点之间的无线通信,通常使用1GHZ以上的频段,采用视距通信。为了能够传输更远的距离,需要微波站建设在海拔较高的地方,通常在站点设计时使用微波链路满足自由空间传播条件,即视线距离地面有足够的余隙,此时信号的衰减近似看作只有由于距离的增加而带来的信号能量的扩散,信道条件比较稳定。

(2)短波电离层信道

对于短波电离层信道,电离层随机扰动和多径效应是最主要的特点。电离层扰动本质上决定了短波电离层反射通信的特点,即信道不稳定,信号的起伏和衰落较大。多径效应是指无线信号经过多条路径后被接收端接收。

(3)移动通信系统中的无线信道

GSM移动通信系统工作的频段有900MHZ和1800MHZ两个频段,GSM移动通信系统中的无线传输用于基站和移动台之间的信息收发,基站发射的无线信号可能会经过周围建筑的反射被移动台接收,当移动台运动时,这些多径分量之间的相位差要发生变化,因此总合成的振幅就发生起伏,它体现为接收信号强度的快衰落,也称为多径衰落;在移动台移动过程中,还存在一种相对较慢的起伏,由于地形地物的沿途变化,某个较强多径分量的加入和退出将会使得接收信号强度呈现较大的起伏,它体现为接收信号的慢衰落,这种衰落又称为阴影衰落。此外移动通信系统中还存在多径时延扩展和多普勒效应的影响。

信道特性是选择各种编码和调制收发体质的基础和出发点,如在数字移动通信系统中,必须对抗多径效应和接收信号的快速衰落所造成的不利影响,这就需要在信源编码、信道编码、调制技术、多址方式等多个方面进行精心的设计。

在无线信道中,高误码率限制了其传输性能,采用有线网络中使用的检错重发技术由于重发次数频繁,严重降低了传输效率。因此通常用前向纠错来降低信道中的高误码率,传统的前向纠错在一定程度上降低了丢包率,但并不能灵活地适应网络内部的链路差异。因此寻找一种能够根据无线网络当前链路状况对数据的差错编码等作出更改的自适应前向纠错算法,对提高网络传输的效率具有重大意义。

3. 纠错检错的基本原理

3.1 差错控制的基本概念

3.1.1 差错的特点

由于通信线路上总有噪声存在,噪声和有用信息中的结果,就会出现差错。噪声可分为两类,一类是热噪声,另一类是冲激噪声,热噪声引起的差错是一种随机差错,亦即某个码元的出错具有独立性,与前后码元无关。冲激噪声是由短暂原因造成的,例如点击的启动、停止,电器设备的放弧等。冲击噪声引起的差错是成群的,其差错持续时间称为突发错的长度。

衡量信道传输性能的指标之一是误码率PO,PO=错误接收的码元数/接收的总码元数。目

前普通电话线路中,当传输速率在600~2400bit/s时,PO

通信系统,PO在之间,对于大多数。 之间,而计算机之间的数据传输则要求误码率低于

3.1.2 差错控制的基本方式

差错控制方式基本上分为两类,一类称为“反馈纠错”,另一类称为“前向纠错”。在这两类基础上又派生出一种称为“混合纠错”。

(1)反馈纠错

这种方式在是发信端采用某种能发现一定程度传输差错的简单编码方法对所传信息进行编码,加入少量监督码元,在接收端则根据编码规则收到的编码信号进行检查,一量检测出(发现)有错码时,即向发信端发出询问的信号,要求重发。发信端收到询问信号时,立即重发已发生传输差错的那部分发信息,直到正确收到为止。所谓发现差错是指在若干接收码元中知道有一个或一些是错的,但不一定知道错误的准确位置。

(2)前向纠错

这种方式是发信端采用某种在解码时能纠正一定程度传输差错的较复杂的编码方法,使接收端在收到信码中不仅能发现错码,还能够纠正错码。采用前向纠错方式时,不需要反馈信道,也无需反复重发而延误传输时间,对实时传输有利,但是纠错设备比较复杂。

(3)混合纠错

混合纠错的方式是:少量纠错在接收端自动纠正,差错较严重,超出自行纠正能力时,就向发信端发出询问信号,要求重发。因此,“混合纠错”是“前向纠错”及“反馈纠错”两种方式的混合。

对于不同类型的信道,应采用不同的差错控制技术,否则就将事倍功半。

反馈纠错可用于双向数据通信,前向纠错则用于单向数字信号的传输,例如广播数字电视系统,因为这种系统没有反馈通道。

3.1.3 误码控制编码的分类

随着数字通信技术的发展,研究开发了各种误码控制编码方案,各自建立在不同的数学模型基础上,并具有不同的检错与纠错特性,可以从不同的角度对误码控制编码进行分类。

按照误码控制的不同功能,可分为检错码、纠错码和纠删码等。检错码仅具备识别错码功能而无纠正错码功能;纠错码不仅具备识别错码功能,同时具备纠正错码功能;纠删码则不仅具备识别错码和纠正错码的功能,而且当错码超过纠正范围时可把无法纠错的信息删除。

按照误码产生的原因不同,可分为纠正随机错误的码与纠正突发性错误的码。前者主要用于产生独立的局部误码的信道,而后者主要用于产生大面积的连续误码的情况,例如磁带数码记录中磁粉脱落而发生的信息丢失。按照信息码元与附加的监督码元之间的检验关系可分为线性码与非线性码。如果两者呈线性关系,即满足一组线性方程式,就称为线性码;否则,两者关系不能用线性方程式来描述,就称为非线性码。

按照信息码元与监督附加码元之间的约束方式之不同,可以分为分组码与卷积码。在分组码中,编码后的码元序列每n位分为一组,其中包括k位信息码元和r位附加监督码元,即n=k+r,每组的监督码元仅与本组的信息码元有关,而与其他组的信息码元无关。卷积码则不同,虽然编码后码元序列也划分为码组,但每组的监督码元不但与本组的信息码元有关,而且与前面码组的信息码元也有约束关系。

按照信息码元在编码之后是否保持原来的形式不变,又可分为系统码与非系统码。在系统码中,编码后的信息码元序列保持原样不变,而在非系统码中,信息码元会改变其原有的信号序列。由于原有码位发生了变化,使译码电路更为复杂,故较少选用。

根据编码过程中所选用的数字函数式或信息码元特性的不同,又包括多种编码方式。对于某种具体的数字设备,为了提高检错、纠错能力,通常同时选用几种误码控制编码方式。以下,以线性分组码为例,对几种简单的编码方式进行介绍。

3.2 纠错编码方式简介

3.2.1 奇偶监督码

奇偶校验码也称奇偶监督码,它是一种最简单的线性分组检错编码方式。其方法是首先把信源编码后的信息数据流分成等长码组,在每一信息码组之后加入一位(1比特)监督码元作为奇偶检验位,使得总码长n(包括信息位k和监督位1)中的码重为偶数(称为偶校验码)或为奇数(称为奇校验码)。如果在传输过程中任何一个码组发生一位(或奇数位)错误,则收到的码组必然不再符合奇偶校验的规律,因此可以发现误码。奇校验和偶校验两者具有完全

相同的工作原理和检错能力,原则上采用任一种都是可以的。

由于每两个1的模2相加为0,故利用模2加法可以判断一个码组中码重是奇数或是偶数。模2加法等同于“异或”运算。现以偶监督为例。 对于偶校验,应满足

故监督位码元c0可由下式求出:

 (3-1)

不难理解,这种奇偶校验编码只能检出单个或奇数个误码,而无法检知偶数个误码,对于连续多位的突发性误码也不能检知,故检错能力有限,另外,该编码后码组的最小码距为d0=2,故没有纠错码能力。

奇偶监督码常用于反馈纠错法。

3.2.2 行列监督码

行列监督码是二维的奇偶监督码,又称为矩阵码,这种码可以克服奇偶监督码不能发现偶数个差错的缺点,并且是一种用以纠正突发差错的简单纠正编码。

其基本原理与简单的奇偶监督码相似,不同的是每个码元要受到纵和横的两次监督。具体编码方法如下:将若干个所要传送的码组编成一个矩阵,矩阵中每一行为一码组,每行的最后加上一个监督码元,进行奇偶监督,矩阵中的每一列则由不同码组相同位置的码元组成,在每列最后也加上一个监督码元,进行奇偶监督。如果用×表示信息位,这样,它的一致监督关系按行及列组成。每一行每一列都是一个奇偶监督码,当某一行(或某一列)出现偶数个差错时,该行(或该列)虽不能发现,但只要差错所在的列(或行),没有同时出现偶数个差错,则这种差错仍然可以被发现。矩阵码不能发现的差错只有这样一类:差错数正好为4倍数,

而且差错位置正好构成矩形的四个角,有的差错情况。因此,矩阵码发现错码的能力是十分强的,它的编码效率当然比奇偶监督码要低。

3.2.3 恒比码

恒比码又称为定比码。在恒比码中,每个码组“1”和“0”都保持固定的比例,故得此名。这种码在检测时,只要计算接收到的码组中“1”的数目是否对就知道有无错误。在我国用电传机传输汉字时,只使用阿拉伯数字代表汉字。这时采用的所谓“保护电码”就是“3∶2”或称“5中取3”的恒比码,即每个码组的长度为5,其中“1”的个数总是3,而“0”的个数总是2。如表3-1所示。

相同的工作原理和检错能力,原则上采用任一种都是可以的。

由于每两个1的模2相加为0,故利用模2加法可以判断一个码组中码重是奇数或是偶数。模2加法等同于“异或”运算。现以偶监督为例。

对于偶校验,应满足

故监督位码元c0可由下式求出:

 (3-1)

不难理解,这种奇偶校验编码只能检出单个或奇数个误码,而无法检知偶数个误码,对于连续多位的突发性误码也不能检知,故检错能力有限,另外,该编码后码组的最小码距为d0=2,故没有纠错码能力。

奇偶监督码常用于反馈纠错法。

3.2.2 行列监督码

行列监督码是二维的奇偶监督码,又称为矩阵码,这种码可以克服奇偶监督码不能发现偶数个差错的缺点,并且是一种用以纠正突发差错的简单纠正编码。

其基本原理与简单的奇偶监督码相似,不同的是每个码元要受到纵和横的两次监督。具体编码方法如下:将若干个所要传送的码组编成一个矩阵,矩阵中每一行为一码组,每行的最后加上一个监督码元,进行奇偶监督,矩阵中的每一列则由不同码组相同位置的码元组成,在每列最后也加上一个监督码元,进行奇偶监督。如果用×表示信息位,这样,它的一致监督关系按行及列组成。每一行每一列都是一个奇偶监督码,当某一行(或某一列)出现偶数个差错时,该行(或该列)虽不能发现,但只要差错所在的列(或行),没有同时出现偶数个差错,则这种差错仍然可以被发现。矩阵码不能发现的差错只有这样一类:差错数正好为4倍数,

而且差错位置正好构成矩形的四个角,有

的差错情况。因此,矩阵码发现错码的能力是

十分强的,它的编码效率当然比奇偶监督码要低。

3.2.3 恒比码

恒比码又称为定比码。在恒比码中,每个码组“1”和“0”都保持固定的比例,故得此名。这种码在检测时,只要计算接收到的码组中“1”的数目是否对就知道有无错误。在我国用电传机传输汉字时,只使用阿拉伯数字代表汉字。这时采用的所谓“保护电码”就是“3∶2”或称“5中取3”的恒比码,即每个码组的长度为5,其中“1”的个数总是3,而“0”的个数总是2。如表3-1所示。

本来以5位码元组成的码组总共可以有25=32种,而恒比码规定只有确切地含有3个“1”,2个“0”的那些码组为准用码组,而有3个“1”,2个“0”的5位码组共有多少?这是“5中取3”求组合的算法,组合数为c5

Cn

m

3

10

,一般情况下,从“n中取m”(m<n)

n!m!nm!

比码的码组数为:

比特信息,例如上述“3∶2”即

,有

由此可以看出,恒比码实际上是n个码元传送

“5中取2”恒比码,用5位码只传10种信息。每个码组的信息量为5-3.3=1.7bit作为代价付出。

恒比码适用于传输字母和符号。

3.2.4 汉明码

汉明码属于线性分组编码方式,大多数分组码属于线性编码,其基本原理是,使信息码元与监督码元通过线性方程式联系起来。线性码建立在代数学群论的基础上,各许用码组的集合构成代数学中的群,故又称为群码。

校验子和监督关系式

我们先回顾下按式(3-1)条件构成的偶数监督码。由于我们使用了一位监督码c0,它就能和信息码

一起构成一个代数式,在接收端解码时,我们实际上是计算:

(3-2)

若s=0,就认为无错码。若s=1,就认为有错码。上式就是一致监督关系式。S称为“校验子”。由于校验子S的取值只有这样两种,它就只能代表有错和无错两种信息,而不能指出错码的位置。我们不难推想,如监督位增加一位,变成两位,则能增加一个类似于式(3-2)的监督关系式。两个校验子的可能值有4种组合00,01,10,11。故能表示4种不同的信息,其中一种表示无错,其余三种就有可能用来指示一位错码的3种不同位置。同理,r个监督关系式能指示一位错码的(2r-1)个可能位置。

一般说来,若码长为n,信息码为k,则监督码数r=n-k。若希望用r个监督码构造出r个监督关系式来指示一位错码的n种可能位置,则要求:

 (3-3)

下面通过一个例子来说明如何具体构造这些监督关系式。

设分组码(n、k)中k=4,为了能纠正一位错码,按式(3-3)可知,要求监督码数r≥3,现取r=3,则n=k+r=4+3=7,这是一种(7、4)分组码。我们用

,表示三个监督关系式中的校验子,则

表示这7

个码元,

的值与错码位置的对应关系

可以规定如表3-2,(当然也可以规定成另一种对应关系,这不影响讨论一般性)。

按表3-2的规定,仅当有一个错码位置在0,这就意味着

时,校验子s1为1,否则s1为

四个码元构成偶数监督关系:

表3-2

同理,

构成偶数监督关系:

以及

构成偶数监督关系:

 (3-4)

(1) 监督码的确定

在发送端编码时,信息码

的值决定于输入信号,是随机的。而监督码

则应根据信息码的取值按监督关系式决定。即监督码的取值应使上三式中

的值为0,表示编成的码组中无错码:

(3-5)

由上式移项解出监督码:(在模2加法中,移项后没有负号)

已知信息码后,直接按上式可算出监督码,计算结果得出16个码组列于表3-3中。

表3-3

(2) 解码过程

接收端收到每个码组后,按下述顺序解码。先按式(3-2)~(3-5)计算出c0,a3,a4,a6.再按表3-2判断错误情况。例如,若接收码组为0000011,按式(3-3)~(3-5)计算得:s1=0,s2=1,s3=1,由于s1s2s3=011,查表3-2可知有一错码为a3。

(3) 汉明码的效率

汉明码的编码效率η=1-r/n当n很大时,效率是很高的。

3.2.5 循环码(CRC)

(1)循环码是一种重要的线性码,它有三个主要数学特征:

1.循环码具有循环性,即循环码中任一码组循环一位(将最右端的码移至左端)以后,仍为该码中的一个码组。

2.循环码组中任两个码组之和(模2)必定为该码组集合中的一个码组。

3.循环码每个码组中,各码元之间还存在一个循环依赖关系,b代表码元,则有

(2)用多项式码作为检验码的编解码过程

用多项式码作为检验码时,发送器和接收器必须具有相同的生成多项式

(GeneratorPolynomial)G(x),其最高、最低项系数必须为1。CRC编码过程是将要发送的二进制序列看作是多项式的系数,除以生成多项式,然后把余数挂在原多项式之后。CRC译码过程是接收方用同一生成多项式除以接收到的CRC编码,若余数为零,则传输无错。

编码译码方法:

令r为生成多项式G(x)的阶,将r个“0”附加在信息(数据)元的低端,使其长度变为k+r位,相应于多项式xr*m(x);

x*m(x)÷G(x)[mod 2],得余数;x*m(x)与余数对应位异或,得编码信息T(x)。 例数据信息

表3-4

1.接收器收到发来的编码信息后,用同一个生成多项式G(x)除以编码信息,若余数为零,则表示接收到正确的编码信息,否则有错。

2.把收到的正确编码信息T(x)去掉尾部r位,即得数据信息M(x)。

r

r

(3)多项式码检错能力及生成多项式G(x)的选择原则

设接收到的信息不是发送的编码信息T(x),而是T(x)+E(x)。 例有差错的编码信息为 1001001011T(x)-E(x)=T(x)+E(x)

其中,1101011011为T(x),0100010000为E(x)

若接收到的有差错的编码信息为T(x)+E(x),用G(x)除以T(x)+E(x),则得余数为E(x)/G(x)的余数,因为T(x)/G(x)余数为零,所以[T(x)+E(x)]/G(x);E(x)/G(x)

这时应该有余数,若无余数则检不出错。

有r位校验位的多项式码将能检测所有≤r位的突发错,故只要k-1<r,就能检测出所有突发错,这是一个很有用的结论。

生成多项式G(x)的国际标准有:

表3-5

CRC-16和CRC-CCITT两种生成多项式生成的CRC码可以捕捉一位错、二位错、具有奇数个错的全部错误,可以捕捉突发错长度小于16的全部错误。CRC-16和CRC-CCITT可

以用硬件实现。

(4)CRC编码硬件电路的实现

设数据1010,多项式m(x)=x3+x,生成多项式系数1011。多项式xr*m(x),系数1010000;多项式x*m(x)=x+x,余式系数011,多项式k(x)=x+1

CRC编码

表3-6

r

6

4

3.2.6 卷积码(Convolution Codes)

卷积码是一种非分组编码,适用于前向纠错法。在许多实际情况下,卷积码的性能常优于分组式编码。

卷积编码是将信息序列以k个码元分段,通过编码器输出长为n的一个码段。卷积码的监督码元并不实行分组监督,每一个监督码元都要对前后的信息单元起监督作用,整个编解码过程也是一环扣一环,连锁地进行下去。卷积编码后的n个码元不仅与本段的信息元有关,而且也与其前N-1段信息有关,故也称连环码,编码过程中互相关联的码元个数为nN。卷积编码的结构是:“信息码元、监督码元、信息码元、监督码元”。在解码过程中,首先将接收到的信息码与监督码分离,由接收到的信息码再生监督码,这个过程与编码器相同;再将此再生监督码与接收到的监督码比较,判断有无差错,并纠正这些差错。

卷积码编码器的一般结构包括两部分:一个由m段组成的输入移位寄存器,每段有k级,共mk位寄存器,n个模2加法器,其输入分别对应于n个基于生成多项式的线性代数方程。

为了对卷积码作进一步说明,下面以卷积码(2,1,2)为例,其编码器生成多项式分别为: G0(n)=x(n)+x(n-1)+x(n-2) (1)

G1(n)=x(n)+x(n-2) (2)

其中x(n)为编码器输入信息G0(n),G1(n)为编码器输出信息。其工作过程:若输入编码器一个新的信息元x(n),两个移位寄存器内的数据均右移一位,x(n)与前两个时刻输入的信息x(n-1)、x(n-2)生成多项式进行运算,得到两个输出码元G0(n)、G1(n),由此对信息x(n)编码结束。

3.2.7 RS码

里德-索罗门码,简称RS码,是一种重要的线性分组编码方式,对突发性错误有较强的纠错能力。该编码技术是利用伽罗华创造的伽罗华域(GaloisField)中的数学关系来把传送数据包的每个字节映射成伽罗华域中的一个元素(又称符号),每个数据包都按码生成多项式为若干个字节的监督校验字节,组成RS的误码保护包,接收端则按校验矩阵来校验接收到的误码保护包是否有错,有错时则在错误允许的范围内纠错。RS纠错编码具有很强的纠正突发误码的能力。为了纠正一个错误,要2个符号的检测码,一个用来确定位置,一个用来纠错。一般来说纠t个错误需要2t个检验符,这时要计算2t个等式,确定t个位置和纠t个错。能纠t个符号的RS码生成多项式为:g(x)=(x+a)(x+a)(x+a)⋯(x+a

1

2

2t-1

)

(1)在RS编码过程中,各符号不是直接出现,而是每个符号要乘以某个基本元素的幂次方后再模2加,如图4-7所示。

(2)在循环码中欲检查是否有错是用码字除一个多项式,而在RS码中,欲检出一系列误码则需要用码字除一定数量的一次多项式。如果要纠正七个错误,那么码字必须被2t个不同的一次多项式整除,例如被x+an的一次多项式整除,这里的n取值直到2t的所有整数值,a是基本元素,例如a为010,输入5个符号,每个符号3比特,与相应的元素相乘后直接模2加输出,因为有两种系数,所以得到二个校检子,两个校验式为:

(3)下面举一个简单例子说明纠错过程在无差错时,S0=0,S1=0,有如下关系:

表3-7

当接收到的符号有错时通过计算也可以得到与符号有关的错误图形,这时有错的码加撇,S0是错误图形,真正的D=D′+S0=101+001=100。但错误的位置将由S1决定,这要利用S1和S2的关系

表3-8

校验子的增加导致纠错能力的加强,通过的运算可以确定差错的位子,并予以纠正。尽管都是同一个错误的不同图形,但因次方的各接收符号模2加得到的,而的k恰好是乘的那一个符号。

(4)RS码的生成多项式

从上面的例子可以看出,为了纠正一个符号错,要2个符号的检测码,一个用来确定位置,一个用来纠错。一般来说纠t个错误需要2t个检验符,这时要计算2t个等式,确定t个位置和纠t个错。能纠t个符号的RS码生成多项式为:

g(x)=(x+a0)(x+a1)(x+a2)⋯(x+a2t-1) 按照DVB的CATV标准:

RS码生成多项式为:g(x)=(x+20)(x+21)(x+22)⋯(x+215);  RS码为: RS(204,188,8)

 即分组码符号长度为204个,188个信息符号,可纠错8个。

4. 在MATLAB软件中的仿真实现

4.1循环码CRC

gen=[1 0 1 1];%校验多项式

poly=[0 0 1 1 1 1 1 1 0 0 1 1 1];%原始信息 plen=length(poly);%返回原始信号的最大长度 glen=length(gen);%返回校验多项式的最大长度 cur=poly(1:glen-1); for p=glen:plen; end

disp('校验码为'),disp(cur)

运行得:校验码为001

该结果表明CRC编码在给定的原始信号和校验多项式生成的校验码为001

cur(glen)=poly(p);

if cur(1)cur=xor(cur(2:glen),gen(2:glen)); else cur=cur(2:glen);end

4.2 RS码

对加入突发噪声信道的RS(15,11)编码进行的仿真,MATLAB代码如下: clc; L=1000;

M=4;%每个符号的比特数 N=2^M-1;%编码后码字长度 K=N-4;%信息长度

MSG=randint(L,1);%随机产生L比特信号 TP=gftuple([-1:N-1]',M);%产生加罗华域元素 PG=rspoly(N,K);%产生生成式

[CODE,ADDED]=rsenco(MSG,TP,K);%编码

NOI=rand(length(CODE)/M,1)

CODE_NOI=rem(CODE+NOI,2);%噪声加入信号

[DEC,ERR,CCODE,ERR_C]=rsdeco(CODE_NOI,TP,K);%译码 MSG=[MSG;zeros(ADDED,1)];%调整长度 max(abs(DEC-MSG));%比较 X=[1:length(NOI)];

Z=[1:M*N:length(NOI)]; Y=zeros(1,length(Z)); Z=[Z;Z];

Y=[Y+min(ERR_C);Y+max(ERR_C)]; subplot(211);

plot(X,NOI,'yo',X,ERR_C,'rx',Z,Y,'g-'); title('ErrorDetectionRecord');

xlabel('o--placederror;x--detectederror;verticalbar:RS-DECOsection'); axis([1,length(NOI),min(ERR_C),max(ERR_C)]); X=[1:length(MSG)]; Z=[1:M*K:length(MSG)]; Y=zeros(1,length(Z)); Z=[Z;Z];

Y=[Y;Y+max(MSG)]; subplot(212);

plot(X,MSG,'yo',X,DEC,'rx',Z,Y,'g-');

title('Message and Decoded Signal Comparison');

xlabel('o—original message;x—decoded result.');%X轴的标题 axis([1,length(MSG),min(min(MSG)),max(max(MSG))]);

该结果是根据RS编码进行仿真出的对比图,在上一个图表明的是错误检测记录图,黄色表示错误的地方,红色表示检测到错误,竖线表示RS译码部分。下图是源信号和译码后的信号对比图,黄色表示原始信号,红色表示译码结果。说明加入噪声以后,原始信息编码后再译码,产生误差。

4.3 卷积码编码程序

function [output, len_tal] = cnv_encd(secrettext, encodetext)

g = [0 0 1 0 0 1 0 0; 0 0 0 0 0 0 0 1; 1 0 0 0 0 0 0 1; 0 1 0 0 1 1 0 1]; k0 = 1;

% 读入文本文件并计算文件长度

frr = fopen(secrettext, 'r');

[msg, len] = fread(frr, 'ubit1');

msg = msg';

% check to see if extra zero padding is necessary

if rem(length(msg), k0) > 0

msg = [msg, zeros(size(1:k0-rem(length(msg),k0)))];

end

n = length(msg)/k0; % 把输入比特按k0分组,n为所得的组数。

% check the size of matrix g

if rem(size(g, 2), k0) > 0

error('Error, g is not of the right size.');

end

% determine L and n0

L = size(g, 2)/k0;

n0 = size(g, 1);

% add extra zeros,以保证编码器是从全0开始,并回到全0状态。

u = [zeros(size(1:(L-1)*k0)), msg, zeros(size(1:(L-1)*k0))];

% generate uu, a matrix whose columns are the contents of conv. encoder at % various clock cycles.

u1 = u(L*k0: -1 :1);

for i = 1:n+L-2

u1 = [u1, u((i+L)*k0:-1:i*k0+1)];

end

uu = reshape(u1, L*k0, n+L-1);

% determine the output

output = reshape(rem(g*uu, 2), 1, n0*(L+n-1));

len_tal = n0*(L + n - 1);

% write the output to the encodetext

result = fopen(encodetext, 'w');

for i = 1:n0*(L+n -1)

fwrite(result, output(i), 'bit1');

end

fclose(result);

5. 总结

随着数字电路技术的飞速发展,循环码纠错编译技术已广泛应用于各种通信系统中,解码电路采用微处理器或数字信号处理器,实现简单,检纠错能力强,可降低误码率,确保数据传输的可靠性,大大提高了通信质量!汉明码性能好,而且编译电路简单,易于工程实现,汉明码可变、发送信息可变、错误信息可变,因此比较灵活。循环码具有可靠性高的优点,在通信、军事等领域中应用非常广泛。由于循环码是无权码,书写和编制都比普通二进制码麻烦,且每位代码无固定权值,任何相邻的两个码组中,仅有一位代码不同。奇偶效验码数量多但是有规律可寻,缺点是冗余效验码乱且复杂。

在RS 码和卷积码之间,有一个交织器, 其主要完成信号数码序列的交织作用。因为当信号受到突发性干扰时,不仅干扰个别字节, 而且会干扰一串字节,造成一片数码都出错,错误集中在一起,可能会超出纠错码的纠错能力,交织作用可以将错误分散开,目的是使解码器能有效纠错,由于在发送端进行了数码交织,接收端就要相应地进行去交织,恢复其本来的数码顺序。

分组码有完善的理论支持,使得他们具有完美的数学结构和许多简单有效的纠错译码算法。从实际应用角度看, RS 码是分组码家族最重要的一种编码。他在纠突发错误方面有十分优异的性能。RS 码的缺点是他很难产生用于软判决的信息,而卷积码则由于使用软判决可获得大约2dB的增益(相对硬判决)。同时卷积码的同步要比分组码简单很多。卷积码的优点是具有高传输效率、低时延及高可靠性的特点。缺点就是随着约束长度的增加算法的复杂度增加很快。

6. 参考文献

[1] 张鸣瑞,邹世开. 编码理论[M ]. 北京:北京航空航天大学出版社, 1990

[2] 樊昌信、曹丽娜.通信原理(第6版).国防工业出版社,2008

[3] 邓华 等.MATLAB通信仿真及应用实例详解.人民邮电出版社,2003

[4] 曹雪虹、张宗橙.信息论与编码.清华大学出版社,2008

[5] 王新梅,肖国镇. 纠错码原理与方法[M ]. 西安:西安电子科技大学出版社, 1996

[6] 杨爵. 实用纠错编码. 中国铁道出版社, 2003

[7] 罗伟雄. 通信原理与电路. 北京理工大学出版社, 2003

[8] http://www.csdn.com

[9] http://www.baiduwenku.com


相关文章

  • 信息论与编码论文(2)
  • 滨江学院 <信息论与编码>课程论文 题 目 信源信道联合编码方式及其运用 院 系 电子工程系 专业班级 学生姓名 学 号 教 师 成 绩 二O一四 年 十二 月 二十二 日 信源信道联合编码方式及其应用 [1********** ...查看


  • 信息论基础论文
  • 信息论基础论文 专业及班级:信计 姓名:兰文利 学号: 联系方式: 1001班 100350131 [1**********] 信道编码在移动通信中的应用 1. 引言 当今社会,随着科学技术的进步.经济的快速发展,在社会的各个不同领域,通信 ...查看


  • 27484 通信原理与系统大纲
  • 27484 通信原理与系统 来源:苏州自学考试网 南京理工大学编 (高纲号 0583) Ⅰ.课程性质与设置目的要求 <通信原理与系统>课程是江苏省高等教育自学考试电子信息工程专业(独立本科段)的必须课,是为培养应考者了解和掌握现 ...查看


  • 通信原理期末复习题
  • 一.填空题 2. 为使基带脉冲传输获得足够小的误码率,必须最大限度地减小 码间干扰 和 随机噪声干扰 的影响. 3. 对于点对点之间的通信,按信息传送的方向和时间关系,通信方式可以分为__单工通信__,__半双工通信__和__全双工通信__ ...查看


  • 通信网基础技术
  • 2.1 概述 2.1.1 通信系统研究的主要问题 1. 模拟通信系统研究的主要问题 1.) 收发两端的变换过程以及基带信号的特性 2.) 调制与解调原理 3.) 信道与噪声的特性及其对信号传输的影响 4.) 噪声存在条件下的系统性能 现代通 ...查看


  • 通信原理理论课程教学大纲
  • 通信原理课程教学大纲 课程编码: 学分: 理论学时 课程类别: 适用层次: 适用专业: 先修课程: 后续课程: 052079 4 64 学科基础课 汉族本科 课程名称: 通信原理 总学时: 实验学时 课程性质: 必修课 开课学期: 第五学期 ...查看


  • IMT-2000无线传输技术方案的
  • 主要技术概要 王树甲[1] 摘  要  围绕第三代移动通信(IMT-2000)无线传输技术(RTT)的目标要求,概要分析诸方案可能采用的关键技术. 关键词  3G  WCDMA  cdma2000  codec  卷积编码  RS编码  多 ...查看


  • [移动通信技术]课程标准
  • 广州康大职业技术学院<移动通信技术>课程标准 一.基本信息 适用对像:应用电子技术专业的学生课程代码:学分:4学时:68制定人:徐又又制定时间:2010年6月所属系部:自动化批准人:陶甫廷 二.课程的目标 1.专业能力目标 (1 ...查看


  • 移动通信技术
  • 移动通信技术复习资料 第一章数字移动通信的基本原理 1.移动通信的定义 在通信中单方或双方均处于移动状态. 2.5W的含义 任何人.在任何地点.任何时间都能和另一个人.进行任何方式便利通信的个人通信. 3.有线信道.无线信道和移动通信的区别 ...查看


热门内容