导航:首页 > 源码编译 > 卷积编译码及纠错性能验证报告

卷积编译码及纠错性能验证报告

发布时间:2022-12-23 15:27:27

❶ 纠错码的基本原理和性能参数

纠错码能够检错或纠错,主要是靠码字之间有较大的差别。这可用码字之间的汉明距离d(x,y)来衡量。它的定义为码字x与y之间的对应位取不同值的码元个数。一种纠错码的最小距离d定义为该种码中任两个码字之间的距离的最小值。一种码要能发现e个错误,它的最小距离d应不小于e+1。若要能纠正t个错误,则d应不小于2t+1。一个码字中非零码元的个数,称为此码字的汉明重量。一种码中非零码字的重量的最小值,称为该码的最小重量。对线性码来说,一种码的最小重量与其最小距离在数值上是相等的。
在构造线性码时,数字上是从n维空间中选一k维子空间,且使此子空间内各非零码字的重量尽可能大。当构造循环码时,可进一步将每一码字看成一多项式,将整个码看成是多项式环中的理想,这一理想是主理想,故可由生成多项式决定;而多项式完全可由它的根规定。这样,就容易对码进行构造和分析。这是BCH码等循环码构造的出发点。一般地说,构造一种码时,均设法将它与某种代数结构相联系,以便对它进行描述,进而推导它的性质,估计它的性能和给出它的译码方法。若一种码的码长为n,码字数为M,或信息位为h,以及最小距离为d,则可把此码记作【n,M,d】码。若此码为线性码,常简记作(n,k)或(n,k,d)码。人们还常用R=log2M/n表示码的信息率或简称码率,单位为比特/码元。R越大,则每个码元所携带的信息量越大,编码效率越高。 纠错码实现中最复杂的部分是译码。它是纠错码能否应用的关键。根据式(1),采用的码长n越大,则误码率越小。但n越大,编译码设备也越复杂,且延迟也越大。人们希望找到的译码方法是:误码率随码长n的增加按指数规律下降;译码的复杂程度随码长n的增加接近线性地增加;译码的计算量则与码长n基本无关。可惜,已经找到的码能满足这样要求的很少。不过由于大规模集成电路的发展,即使应用比较复杂的但性能良好的码,成本也并不太高。因此,纠错码的应用越来越广泛。
纠错码传输的都是数字信号。这既可用硬件实现,也可用软件实现。前者主要用各种数字电路,主要是采用大规模集成电路。软件实现特别适合计算机通信网等场合。因为这时可以直接利用网中的计算机进行编码和译码,不需要另加专用设备。硬件实现的速度较高,比软件可快几个数量级。
在传信率一定的情况下,如果采用纠错码提高可靠性,要求信道的传输率增加,带宽加大。因此,纠错码主要用于功率受限制而带宽较大的信道,如卫星、散射等系统中。纠错码还用在一些可靠性要求较高,但设备或器件的可靠性较差,而余量较大的场合,如磁带、磁盘和半导体存储器等。
在分组码的研究中,谱分析的方法受到人们的重视。纠同步错误码、算术码、不对称码、不等错误纠正码等,也得到较多的研究。 分组码是对信源待发的信息序列进行分组(每组K位)编码,它的校验位仅同本组的信息位有关。自20世纪50年代分组码的理论获得发展以来,分组码在数字通信和数据存储系统中已被广泛应用。
分组码的码长n和码字个数M是一个码的主要构造参数。码长为n的码中所有码字的位数均为n;若要用一个码传送k比特信息,则码字的个数M必须满足。典型的分组码是由k位信息位和r位监督位组成的,这样构成的码一般称为系统码。
分组码中应用最广的线性分组码。线性分组码中的M个码字之间具有一定线性约束关系,即这些码字总体构成了n维线性空间的一个k维子空间。称此k维子空间为(n,k)线性分组码。线性系统码的特点是每个码字的前k位均由这个码字所对应的信息位组成,并通过对这k位信息位的线性运算得到后面n—k是位监督位。
线性分组码中应用最广的是循环码,循环码的主要特征是任何码字在循环移位后个码字。循环码的优点在于其编码和解码手续比一般线性码简单,因而易于在设备上实现。在循环码中,码字可表示为多项式。循环码的码字多项式都可表示成为循环码的生成多项式与这个码字所代表的信息多项式的乘积,即,因此一个循环码可以通过给出其生成多项式来规定。常用的循环码有BCH码和RS码。
网格码有多种描述方法,网格图是常用方法之一,它能表示出编码过程。一个码率为1/2、包含四种状态的网格码的网格图如图所示。图1中00,01,10,11表示编码器所具有的四种状态,以“·”示出,从每一状态出发都存在两条支路,位于上面的一条支路对应于编码器输入为“0”的情况,位于下面的一条支路对应于编码器输入为“1”的情况,而每一支路上所列出的两个二进位码则表示相应的编码输出。因而可知,编码输出不仅决定于编码器的当前输入,还决定于编码器的状态,例如在图中从“00”状态出发;,若输入的二进制数据序列为1011,则编码器的状态转移过程为00→01→10→01→11,而相应的编码输出序列为11010010。在网格图中任意两条从同一状态出发;,经不同的状态转移过程后又归于另一相同状态(该状态也可与初始状态相同)的路径间的距离的最小值称为码的自由距离。如该图中的为5。对于卷积码来说,的计算可简化为始于且终于零状态的非全零路径与全零路径间距离的最小值。是表征网格码纠错能力的重要参数。维特比算法是广泛采用的网格码的译码方法。由于网格码的状态越多,译码越复杂,所以状态个数是度量网格码译码复杂性的重要参数。一般说来可以通过增大译码复杂性来增加,从而提高码的纠错能力。
BCH码、网格码已被广泛地应用于移动通信、卫星通信和频带数据传输中。RS码也被广泛应用于光盘的存储中。
大多数纠错码是设计来纠随机误码的,可以通过交织的方法使它适用于对突发误码的纠错。交织是一种使得集中出现的突发误码在解码时进行分散化的措施,从而使其不超出纠错码的纠错能力范围。 卷积码不对信息序列进行分组编码,它的校验元不仅与当前的信息元有关,而且同以前有限时间段上的信息元有关。卷积码在编码方法上尚未找到像分组码那样有效的数学工具和系统的理论。但在译码方面,不论在理论上还是实用上都超过了分组码,因而在差错控制和数据压缩系统中得到广泛应用。

❷ 卷积码的译码方法

若信道干扰序列为,其中。接收序列为
其中和。这里“+”为模 2 运算(q=p元码按模p运算)。译码就是根据编码规则和信道干扰的统计特性,对信息序列u(x)作出估值的方法。常用的有三类译码方法,即代数译码、维特比译码和序贯译码。
⒈代数
代数译码是将卷积码的一个编码约束长度的码段看作是[n0(m+1),k0(m+1)]线性分组码,每次根据(m+1)分支长接收数字,对相应的最早的那个分支上的信息数字进行估计,然后向前推进一个分支。上例中信息序列 =(10111),相应的码序列 c=(11100001100111)。若接收 序列R=(10100001110111),先根据R的前三个分支(101000)和码树中前三个分支长的所有可能的 8条路径(000000…)、(000011…)、(001110…)、(001101…)、(111011…)、(111000…)、(110101…)和(110110…)进行比较,可知(111001)与接收序列(101000)的距离最小,于是判定第 0分支的信息数字为 0。然后以R的第 1~3分支数字(100001)按同样方法判决,依此类推下去,最后得到信息序列的估值为=(10111),遂实现了纠错。这种译码法,译码时采用的接收数字长度或译码约束长度为(m+1)n0,所以只能纠正不多于(dmin-1)/2个错误(n长上的)。实用中多采用反馈择多逻辑译码法实现。
⒉维特比
维特比译码过程
维特比译码是根据接收序列在码的格图上找出一条与接收序列距离(或其他量度)为最小的一种算法。它和运筹学中求最短路径的算法相类似。若接收序列为R=(10100101100111),译码器从某个状态,例如从状态ɑ出发,每次向右延伸一个分支(对于l<L,从每个节点出发都有 2=2种可能的延伸,其中L是信息序列段数,对l≥L,只有一种可能),并与接收数字相应分支进行比较,计算它们之间的距离,然后将计算所得距离加到被延伸路径的累积距离值中。对到达每个状态的各条路径(有2=2条)的距离累积值进行比较,保留距离值最小的一条路径,称为幸存路径(当有两条以上取最小值时,可任取其中之一),译码过程如图。图中标出到达各级节点的幸存路径的距离累积值。对给定 R的估值序列为=(10111)。这种算法所保留的路径与接收序列之间的似然概率为最大,所以又称为最大似然译码。这种译码的译码 约束长度常为编码约束长度的数倍,因而可以纠正不多于(df/2)个错误。
维特比译码器的复杂性随m呈指数增大。实用中m不大于10。它在卫星和深空通信中有广泛的应用。在解决码间串扰和数据压缩中也可应用。
⒊ 序贯译码
序贯译码是根据接收序列和编码规则,在整个码树中搜索(既可以前进,也可以后退)出一条与接收序列距离(或其他量度)最小的一种算法。由于它的译码器的复杂性随m值增大而线性增长,在实用中可以选用较大的m值(如20~40)以保证更高的可靠性。许多深空和海事通信系统都采用序贯译码。

❸ 什么是卷积编码

卷积码是将k个信息比特编成n个比特,但k和n通常很小,特别适合以串行形式进行传输,时延小。
卷积码定义:

若以(n,k,m)来描述卷积码,其中k为每次输入到卷积编码器的bit数,n为每个k元组码字对应的卷积码输出n元组码字,m为编码存储度,也就是卷积编码器的k元组的级数,称m+1= K为编码约束度m称为约束长度。卷积码将k元组输入码元编成n元组输出码元,但k和n通常很小,特别适合以串行形式进
卷积码的编码器
行 传输,时延小。与分组码不同,卷积码编码生成的n元组元不仅与当前输入的k元组有关,还与前面m-1个输入的k元组有关,编码过程中互相关联的码元个数为n*m。卷积码的纠错性能随m的增加而增大,而差错率随N的增加而指数下降。在编码器复杂性相同的情况下,卷积码的性能优于分组码。
编码原理:
卷积码编码器
以二元码为例,编码器如图。输入信息序列为u=(u0,u1,…),其多项式表示为u(x)=u0+u1x+…+ulxl+…。编码器的连接可用多项式表示为g(1,1)(x)=1+x+x2和g(1,2)(x)=1+x2,称为码 的子生成多项式。它们的系数矢量g(1,1)=(111)和g(1,2)=(101)称作码的子生成元。以子生成多项式为阵元构成的多项式矩阵G(x)=[g(1,1)(x),g(1,2)(x)],称为码的生成多项式矩阵。

❹ 2:1卷积码 c语言编译码

charinput[10]={0,0,1,1,1,0,1,1,1,1};
charoutput[5]={0};

intr1=0,r2=0;
inti;

for(i=0;i<5;i++)
{
output[i]=(input[2*i]+r1+r2)&1;
r2=r1;
r1=output[i];
}

for(i=0;i<5;i++)
printf("%d",output[i]);
printf(" ");

❺ 卷积码纠错最好的是哪个

卷积码是一种性能优越的信道编码,它的编码器和译码器都比较容易实现,同时它具有较强的纠错能力,随着纠错编码理论的研究不断深入,卷积码的实际应用越来越广泛。本文不仅对卷积码和卷积码的编译码有一个简单的介绍,而且对(2 1 2)卷积码进行了编码和译码,最后,通过MATLAB对(2 1 2)卷积码进行编译的仿真,对仿真结果进行了解释。

❻ 题目,信道编码和信源编码有什么不同,纠错码能检错和纠错的原因

纠错码(error correcting code),在传输过程中发生错误后能在收端自行发现或纠正的码。仅用来发现错误的码一般常称为检错码。为使一种码具有检错或纠错能力,须对原码字增加多余的码元,以扩大码字之间的差别 ,即把原码字按某种规则变成有一定剩余度(见信源编码)的码字,并使每个码字的码之间有一定的关系。关系的建立称为编码。码字到达收端后,可以根据编码规则是否满足以判定有无错误。当不能满足时,按一定规则确定错误所在位置并予以纠正。纠错并恢复原码字的过程称为译码。检错码与其他手段结合使用,可以纠错。

纠错编码又称信道编码,它与信源编码是信息传输的两个方面。它们之间存在对偶的关系。应用信道译码直接对一些自然信息进行处理,可以去掉剩余度,以达到压缩数据的目的。
为了使一种码具有检错或纠错能力,必须对原码字增加多余的码元,以扩大码字之间的差别,使一个码字在一定数目内的码元上发生错误时,不致错成另一个码字。准确地说,即把原码字按某种规则变成有一定剩余度的码字,并使每个码字的码元间有一定的关系。关系的建立称为编码。码字到达收端后,用编码时所用的规则去检验。如果没有错误,则原规则一定满足,否则就不满足。由此可以根据编码规则是否满足以判定有无错误。当不能满足时,在可纠能力之内按一定的规则确定错误所在的位置,并予以纠正。纠错并恢复原码字的过程称为译码;码元间的关系为线性时,称为线性码;否则称为非线性码。检错码与其他手段结合使用,可以纠错。检错反馈重发系统(ARQ系统)就是一例。
在构造纠错码时,将输入信息分成k位一组以进行编码。若编出的校验位仅与本组的信息位有关,则称这样的码为分组码。若不仅与本组的k个信息位有关,而且与前若干组的信息位有关,则称为格码。这种码之所以称为格码,是因为用图形分析时它象篱笆或格架。线性格码在运算时为卷积运算,所以叫卷积码。

❼ 纠错编码大作业相关资料

赵哥太折磨人了。让你们做这么多的大作业,惨不忍睹啊。

❽ 采用卷积编码器当输入信息位10110时输出编码位多少

参考资料:http://hi..com/wuruide/blog/item/33d28bbf1b34940818d81f26.html
在一个二进制分组码(n,k)当中,包含k个信息位,码组长度为n,每个码组的(n-k)个校验位仅与本码组的k个信息位有关,而与其它码组无关。为了达到一定的纠错能力和编码效率(=k/n),分组码的码组长度n通常都比较大。编译码时必须把整个信息码组存储起来,由此产生的延时随着n的增加而线性增加。
为了减少这个延迟,人们提出了各种解决方案,其中卷积码就是一种较好的信道编码方式。这种编码方式同样是把k个信息比特编成n个比特,但k和n通常很小,特别适宜于以串行形式传输信息,减小了编码延时。
与分组码不同,卷积码中编码后的n个码元不仅与当前段的k个信息有关,而且也与前面(N-1)段的信息有关,编码过程中相互关联的码元为nN个。因此,这N时间内的码元数目nN通常被称为这种码的约束长度。卷积码的纠错能力随着N的增加而增大,在编码器复杂程度相同的情况下,卷段积码的性能优于分组码。另一点不同的是:分组码有严格的代数结构,但卷积码至今尚未找到如此严密的数学手段,把纠错性能与码的结构十分有规律地联系起来,目前大都采用计算机来搜索好码。
下面通过一个例子来简要说明卷积码的编码工作原理。正如前面已经指出的那样,卷积码编码器在一段时间内输出的n位码,不仅与本段时间内的k位信息位有关,而且还与前面m段规定时间内的信息位有关,这里的m=N-1通常用(n,k,m)表示卷积码(注意:有些文献中也用(n,k,N)来表示卷积码)。图8-8就是一个卷积码的编码器,该卷积码的n = 2,k = 1,m = 2,因此,它的约束长度nN = n×(m+1) = 2×3 = 6。
(2,1,2)卷集码编码器
在图8-8中,与为移位寄存器,它们的起始状态均为零。、与、、之间的关系如下:
(8-41)
假如输入的信息为D = [11010],为了使信息D全部通过移位寄存器,还必须在信息位后面加3个零。表8-9列出了对信息D进行卷积编码时的状态。
表8-9 信息D进行卷积编码时的状态 输入信息D
1
1
0
1
0
0
0
0
b3b2
0 0
0 1
1 1
1 0
0 1
1 0
0 0
0 0
输出C1C2
1 1
0 1
0 1
0 0
1 0
1 1
0 0
0 0
描述卷积码的方法有两类,也就是图解表示和解析表示。解析表示较为抽象难懂,而用图解表示法来描述卷积码简单明了。常用的图解描述法包括树状图、网格图和状态图等。基于篇幅原因这里就不详细介绍了。
卷积码的译码方法可分为代数译码和概率译码两大类。代数译码方法完全基于它的代数结构,也就是利用生成矩阵和监督矩阵来译码,在代数译码中最主要的方法就是大数逻辑译码。概率译码比较常用的有两种,一种叫序列译码,另一种叫维特比译码法。虽然代数译码所要求的设备简单,运算量小,但其译码性能(误码)要比概率译码方法差许多。因此,目前在数字通信的前向纠错中广泛使用的是概率译码方法。

阅读全文

与卷积编译码及纠错性能验证报告相关的资料

热点内容
字母h从右往左跑的c语言编程 浏览:127
安卓手机如何拥有苹果手机横条 浏览:765
业余编程语言哪个好学 浏览:137
按照文件夹分个压缩 浏览:104
航空工业出版社单片机原理及应用 浏览:758
如何在电信app上绑定亲情号 浏览:376
安卓的怎么用原相机拍月亮 浏览:805
配音秀为什么显示服务器去配音了 浏览:755
c盘清理压缩旧文件 浏览:325
app怎么交付 浏览:343
图虫app怎么才能转到金币 浏览:175
如何做征文app 浏览:446
用什么app管理斐讯 浏览:169
安卓如何下载宝可梦剑盾 浏览:166
编译器开发属于哪个方向 浏览:940
megawin单片机 浏览:687
以色列加密货币监督 浏览:909
程序员前端现在怎么样 浏览:499
服务器和接口地址ping不通 浏览:557
linux命令返回上级目录 浏览:899