卷积吗检纠错编码
- 格式:docx
- 大小:205.03 KB
- 文档页数:22
卷积码的编码原理一、卷积码的编码原理1. 基本概念卷积码 (Convolutional Code,简称CC) 是一类非常重要的编码方式,它可以提供很好的信道纠错能力。
CC在误码率低于特定水平时,在降低带宽的前提下能够提供较高的信息传输率,并且能够很好地降低误码率。
卷积码主要应用在信号处理领域,如通信系统、卫星通信系统、信道编码等。
2. 编码过程编码过程是将原始信息信号以一种特定的编码方式,按一定的规则进行编码,生成一组编码位序列。
在卷积码中,采用可编程规则把输入信息流通过称为码子的矩阵表来实现编码,码子由编码器按照一定的规则进行编码生成,所得编码结果由编码后位序列表示。
3. 解码过程解码过程也是通过码子表实现的,即根据接收到的编码位序列,通过与码子相乘来得到原始信息的流。
由于在信号传输过程中可能存在差错,所以需要对接收到的编码位序列进行纠错操作来提高信号传输效率,这一过程就是纠错解码。
纠错解码方法一般分为两种:一种是基于译码算法的,如Viterbi算法、Sequential算法等;另一种是基于信息编码的方法,如组合编码技术、蒙特卡罗技术等。
4. 优缺点卷积码的优点有:(1)具有很强的纠错能力,能够避免在信道过程中由于信号传播可能的串扰、失真等引起的差错;(2)可以降低信道带宽,提高码率,以达到更高的信息传输率;(3)可以有效地降低误码率,保证传输信息的可靠性;(4)可以有效地平衡误码率和码率之间的关系,在较低的误码率下,可以获得较高的码率。
卷积码的缺点有:(1)实现复杂,需要耗费大量的计算资源;(2)解码复杂,需要用到分析、数学等方法;(3)不是所有类型的信号都适合使用卷积码。
基于TMS320C54X的RS+变织+卷积的级联纠错码摘要纠错编码被广泛应用在各种数字通讯、数字广播和数据存储系统中。
随着单片机、和等器件的发展,越来越容易在各种通用硬件平台上实现纠错编码。
本文基于的54系列,实现由常用码、卷积编码、解码、交织技术构成的级联码,并提供编码原理和实现方案。
关键词码解码级联纠错码随着越来越多的系统采用数字技术来实现,纠错编码技术也得到了越来越广泛的应用。
如标准中,对语音的信道编码采用卷积纠错、分组码检错。
美国的蜂窝数字分组数据系统中采用了=6的63,47码。
标准中,主要包括卷积编码码等、交织编码、帧循环校验等。
采用纠错编码。
近些年来,随着软件无线电技术的发展,纠错编码一般都在通用的硬件平台上实现,这样有利于保证灵活性和通用性。
通常采用基于的编码硬件实现,或者在、单片机上用和汇编编程软件实现。
本文基于32054的,实现一种+交织+卷积的级联纠错码。
范文先生网收集整理1级联纠错编码原理纠错编码技术是通过引入可控制的冗余来提高系统的可靠性。
它的理论基石是1948年在《通信的数字理论》中提出的著名的有扰信道编码定理。
纠错码按照不同的分类标准,有着不同的分类。
我们常用的是按照对信息元处理的不同方法来分类的,分为分组码和卷积码。
分组码是把信源输出的信息序列,以个码元划分为一段,通过编码器把这段的个信息元,按一定规则产生个校验监督元,输出长为=+的一个码组。
比较常用的有码、码、码等。
卷积码是把输出信源输出的信息序列,以0个0通常小于码元分为段,通过编码器输出长为0≥通常小于码元分为一段,通过编码器输出长为0≥通常小于码元分为一段,通过编码器输出为0≥0的一的码以。
但是该码段的0-0个校验元不仅与本组的信息有关,而且也与其前段信息元有关,称为编码存储。
因此卷积码用0,0,表示。
由信道编码理论可知,随着码长的增加,解码错误概率以指数方式趋近于零。
因此,为提高纠错码的有效性,就必须使用长码。
实验九 (2,1,5)卷积码编码译码技术一、实验目的1、掌握(2,1,5)卷积码编码译码技术2、了解纠错编码原理。
二、实验内容1、(2,1,5)卷积码编码。
2、(2,1,5)卷积码译码。
三、预备知识1、纠错编码原理。
2、(2,1,5)卷积码的工作原理。
四、实验原理/卷积码是将发送的信息序列通过一个线性的,有限状态的移位寄存器而产生的编码。
通常卷积码的编码器由K级(每级K比特)的移位寄存器和n个线性代数函数发生器(这里是模2加法器)组成。
若以(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的增加而指数下降。
在编码器复杂性相同的情况下,卷积码的性能优于分组码。
编码器随着信息序列不断输入,编码器就不断从一个状态转移到另一个状态并同时输出相应的码序列,所以图3所示状态图可以简单直观的描述编码器的编码过程。
因此通过状态图很容易给出输入信息序列的编码结果,假定输入序列为110100,首先从零状态开始即图示a状态,由于输入信息为“1”,所以下一状态为b并输出“11”,继续输入信息“1”,由图知下一状态为d、输出“01”……其它输入信息依次类推,按照状态转移路径a->b->d->c->b->c->a输出其对应的编码结果“”。
译码方法⒈代数代数译码是将卷积码的一个编码约束长度的码段看作是[n0(m+1),k0(m+1)]线性分组码,每次根据(m+1)分支长接收数字,对相应的最早的那个分支上的信息数字进行估计,然后向前推进一个分支。
卷积码检纠错的原理
一、卷积码检纠错原理
卷积码检纠错(Convolutional Code Error Correction,CCEC)是一种根据连续移位编码和自检码检测和纠正出错的技术。
它利用移位寄存器,将输入比特序列移位某些比特位后,经补码,计算出一个较长的编码比特序列,编码比特序列可以用来检测和纠正出错,同时也可以使传输的比特序列抗干扰性增强。
1、编码原理
卷积码检纠错是一种特殊的连续移位编码,它是通过将输入序列先经过移位寄存器,再完成补码加法,最后编码成较长的码字序列来实现的。
移位寄存器是一种具有特殊结构的寄存器,它具有循环移位功能,可以将输入序列移位某些比特位后,经过补码加法,计算出一个很长的编码比特序列。
2、检纠错原理
在编码的同时,卷积码也具有一定的检纠错效果,它将编码比特序列分为多个校验比特序列和给定的数据比特序列,当接收到信息时,先将接收的数据比特序列经过解码后,再计算接收到的校验比特序列和解码后的校验比特序列之间的差异,如果检测出差异,则表明接收到的数据比特序列发生错误,这时就可以根据差异来检测出发生错误的位置以及错误的比特种类,进而根据这些信息对发生错误的比特进行纠错处理。
三、结论
卷积码检纠错是一种结合连续移位编码和自检码检测和纠正出错的技术,它可以在编码的同时具有一定的检纠错效果,当检测出出错位置和类型后,可以根据差异对发生错误的比特进行纠错处理,提高了编码传输的性能。
卷积码门限译码
卷积码门限译码是一种在卷积码通信系统中用于译码的技术。
卷积码是一种常用的纠错编码方式,它通过将信息序列映射到一组较长的码字,从而提供一定的错误纠正能力。
门限译码则是卷积码译码的一种方法,通过设定一个阈值来判断接收到的信号是否超过门限,从而进行译码。
在卷积码门限译码中,通常采用最大后验概率(MAP)或最大互信息(MMI)等算法进行译码。
这些算法基于接收到的信号和已知的信道特性,计算出每个码字的概率或互信息,并选择概率或互信息最大的码字作为译码结果。
门限值的选择对译码性能有着重要影响。
如果门限值设置过低,可能会导致过多的误码;如果门限值设置过高,则可能会导致译码失败。
因此,需要根据信道特性、噪声水平、卷积码的约束长度等因素来选择合适的门限值。
总的来说,卷积码门限译码是一种有效的卷积码译码方法,它在通信、雷达、声呐等领域有着广泛的应用。
纠错编码方法
纠错编码是一种用于改正数据传输过程中发生的错误的方法。
它主要通过在原始数据中添加冗余信息来实现。
常见的纠错编码方法有以下几种:
1. 卷积码:利用线性移位寄存器的状态转移来生成编码序列,并通过异或运算添加冗余信息。
接收端利用Viterbi算法进行译码,从而实现纠错。
2. 海明码:通过在原始数据中添加奇偶校验位,实现纠错。
原始数据被划分为多个块,并在每个块中添加校验位。
接收端通过比较接收到的数据与校验位的奇偶性来判断和修复错误。
3. BCH码:是一种广义的海明码。
通过在原始数据中添加更多的冗余信息,实现更高的纠错能力。
4. RS码:是一种使用广义域的纠错码。
通过将数据划分为多个子块,并在每个子块中添加冗余信息,实现纠错能力和纠错范围的灵活处理。
5. LDPC码:是一种利用稀疏矩阵和图论的编码方法。
通过在原始数据中添加冗余信息,并建立检验矩阵,实现纠错。
这些纠错编码方法各有特点,应根据具体场景和需求选择适合的方法。
纠错编码可以大幅提高数据传输的可靠性,广泛应用于通信、存储等领域。
纠错编码方式的简介2.1 奇偶监督码奇偶校验码也称奇偶监督码,它是一种最简单的线性分组检错编码方式。
其方法是首先把信源编码后的信息数据流分成等长码组,在每一信息码组之后加入一位(1比特)监督码元作为奇偶检验位,使得总码长n(包括信息位k和监督位1)中的码重为偶数(称为偶校验码)或为奇数 (称为奇校验码)。
如果在传输过程中任何一个码组发生一位(或奇数位)错误,则收到的码组必然不再符合奇偶校验的规律,因此可以发现误码。
奇校验和偶校验两者具有完全相同的工作原理和检错能力,原则上采用任一种都是可以的。
由于每两个1的模2相加为0,故利用模2加法可以判断一个码组中码重是奇数或是偶数。
模2 加法等同于“异或”运算。
现以偶监督为例。
对于偶校验,应满足故监督位码元a 0可由下式求出:(2-2)不难理解,这种奇偶校验编码只能检出单个或奇数个误码,而无法检知偶数个误码,对于连续多位的突发性误码也不能检知,故检错能力有限,另外,该编码后码组的最小码距为 =2,故没有纠错码能力。
奇偶监督码常用于反馈纠错法。
2.2 行列监督码行列监督码是二维的奇偶监督码,又称为矩阵码,这种码可以克服奇偶监督码不能发现偶数个差错的缺点,并且是一种用以纠正突发差错的简单纠正编码。
其基本原理与简单的奇偶监督码相似,不同的是每个码元要受到纵和横的两次监督。
具体编码方法如下:将若干个所要传送的码组编成一个矩阵,矩阵中每一行为一码组,每行的最后加上一个监督码元,进行奇偶监督,矩阵中的每一列则由不同码组相同位臵的码元组成,在每列最后也加上一个监督码元,进行奇偶监督。
如果用×表示信息位,用 表示监督位,由矩阵码的结构可如图6-5所示,这样,它的一致监督关系按行及列组成。
每一行每一列都是一个奇偶监督码,当某一行(或某一列)出现偶数个差错时,该行(或该列)虽不能发现,但只要差错所在的列(或行),没有同时出现偶数个差错,则这种差错仍然可以被发现。
矩阵码不能发现的差错只有这样一类:差错数正好为4倍数,而且差错位臵正好构成矩形的四个角,如图6- 5中所示有的差错情况。
摘要卷积码是一种性能优越的信道编码,它的编码器和译码器都比较容易实现,同时它具有较强的纠错能力,随着纠错编码理论的研究不断深入,卷积码的实际应用越来越广泛。
本文不仅对卷积码和卷积码的编译码有一个简单的介绍,而且对(2 1 2)卷积码进行了编码和译码,最后,通过MATLAB对(2 1 2)卷积码进行编译的仿真,对仿真结果进行了解释。
关键字:卷积码、信道编码、卷积码编译码、MATLAB仿真目录摘要 (1)一、引言 (3)1.1发展历史及研究状况 (3)1.2设计目的和意义 (3)1.3设计方法 (4)二、卷积码编译码原理 (5)2.1 卷积码编码原理 (5)2.2编码器 (6)2.3 卷积码译码原理 (7)2.4 VITEBI 译码的关键步骤 (8)2.4.1 输入与同步单元 (8)2.4.2 支路量度计算 (8)2.4.3 路径量度的存储与更新 (8)2.4.4 信息序列的存储与更新 (8)2.4.5 判决与输出单元 (8)三、卷积码编码实现 (9)3.1 编码原理分析 (9)3.2 卷积码编码流程图 (10)四、卷积码译码实现 (11)4.1 译码编程思路 (11)4.2 卷积码译码流程图 (11)五、卷积码编译码程序的编译及仿真波形 (12)5.1 卷积码编码仿真 (13)5.2卷积码译码仿真 (13)5.3卷积码纠错码仿真 (15)六、总结 (16)七、参考文献 (17)附录 (18)一、引言1.1发展历史及研究状况1948年,Bell实验室的C.E.Shannon发表的《通信的数学理论》,是关于现代信息理论的奠基性论文,它的发表标志着信息与编码理论这一学科的创立。
20世纪40年代,R.Hamming和M.Golay提出了第一个实用的差错控制编码方案,使编码理论这个应用数学分支的发展得到了极大的推动。
分组码所存在的固有缺点可以通过采用其他的编码方法来改善,这种编码方法就是卷积码。
卷积码是Elias等人在1955年提出的。
卷积码与分组码的不同在于:它充分利用了各个信息块之间的相关性。
通常卷积码记为(n,k,N)码。
卷积码的编码过程是连续进行的,依次连续将每k个信息元输入编码器,得到n个码元,得到的码元中的检验元不仅与本码的信息元有关,还与以前时刻输入到编码器的信息元(反映在编码寄存器的内容上)有关。
同样,在卷积码的译码过程中,不仅要从本码中提取译码信息,还要充分利用以前和以后时刻收到的码组.从这些码组中提取译码相关信息,而且译码也是可以连续进行的,这样可以保证卷积码的译码延时相对比较小。
通常,在系统条件相同的条件下,在达到相同译码性能时,卷积码的信息块长度和码字长度都要比分组码的信息块长度和码字长度小,相应译码复杂性也小一些。
由Wozencraft和Reiffen在1961年提出,Fano和Jelinek分别在1963年和1969年进行改进了的序贯译码算法。
该算法是基于码字树图结构的一种次最优概率译码算法。
由Massey在1963年提出的门限译码算法。
这个算法利用码字的代数结构进行代数译码。
由Viterbi在1967 年提出的Viterbi算法是基于码字格图结构的一种最大似然译码算法,是一种最优译码算法。
在Viterbi译码算法提出之后,卷积码在通信系统中得到了极为广泛的应用。
如GSM、3G、商业卫星通信系统等。
1.2设计目的和意义因为信道中信号不可避免会受到干扰而出错。
为实现可靠性通信,主要有两种途径:一种是增加发送信号的功率,提高接收端的信号噪声比;另一种是采用编码的方法对信道差错进行控制。
前者常常受条件限制,不是所有情况都能采用。
而编码理论可以解决这个问题,使得成本降低,实用性增强。
随着现代通信的发展,卷积码以其高速性和可靠性在实际应用中越来越广泛。
1967年Viterbi译码算法的提出,使卷积码成为信道编码中最重要的编码方式之一。
在卷积码中,因为Viterbi算法效率高,速度快,结构相对简单等特点,被广泛应用于各种数据传输系统。
特别是深空通信、卫星通信系统中。
因此采用Viterbi译码算法具有非常现实的意义。
1.3设计方法本文在分析卷积码编译码器原理的基础上,通过基于MATLAB对卷积编码,解码进行仿真。
通过仿真可以更清楚的认识到卷积码的编码,解码的各个环节,并对仿真结果进行了分析。
得出卷积码Viterbi译码的误比特性能和回溯长度,码率,约束长度的关系。
二、卷积码编译码原理2.1 卷积码编码原理2.1.1卷积码简介积码,又称连环码,是由伊莱亚斯于1955年提出来的一种非分组码。
若以(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 的增加而指数下降。
在编码器复杂性相同的情况下,卷积码的性能优于分组码。
卷积码编码的当前输出v(l)不仅与当前输入消息u(l)相关,还与此去前输入的m 个消息u(l-1),…,u(l-m) 相关,即v(l)=f(u(l),u(l-1),…,u(l-m)), l=0,1,2…卷积编码电路中移位寄存器初态可设定为全0,电路为按段工作方式,即对每段k 比特输出入,产生一段n 比特输出。
任意一输入段u(l-h)与输出v(l)的关系都是一个特殊的(n,k )线性分组码的编码关系,即存在k*n 的二元矩阵h G ,使得h G h l u l v ∙-=)()(, h=0,1,2,…,m因此对于消息段序列u=(u(0),u(1),…,u(m),u(m+1),…),相应的输出端序列为v=(v(0),v(1),…,v(m),v(m+1),…),并满足0)0()0(G u v =01)1()0()1(G u G u v +=011)()1()1()0()(G m u G m u G u G u m v m m +-+++=-011)1()()2()1()1(G m u G m u G u G u m v m m +++++=+-卷积编码电路在按段工作方式下只需存储或者记忆m 段的消息输入,电路中输入移位寄存器最多只有k m ∙个有效的寄存器单元,而输出移位寄存器仅起一个并串转换作用。
因此称参量m 为卷积码的记忆长度(段)。
二元(n ,k ,m )卷积码共有M 2个不同的状态,记为1210,,,-M S S S 当状态为)(l δ(或δ)时,输入段)(l u (或u )产生编码输出端)(l v (或v ) 并使该状态改变(或称为转移)到新的状态)1(+l δ(或'δ)。
δ到'δ的转移过程称为一个转移分支,记为(δ,'δ)或()(l δ,)1(+l δ)并标记转移过程为)(/)(l u l v 或v/u 。
以状态δ为结点,转移分支为有向边描述卷积码的所有不同状态转移的有向图,称为卷积码的状态转移图。
2.2编码器2.2.1编码器的一般结构卷积码的编码器一般都比较简单。
输入图2-1 卷积码编码器框图图2-1是一般情况下的卷积码编码器框图。
它包括NK 级的输入移位器,一组n 个模2和加法器和n 级的输出移位寄存器 [6]。
对应于每段k 比特的输入序列,输出n 个比特。
由图可知,n 个输出比特不但与当前的k 个输入比特有关,而且与以前的(N-1)k 个输入信息比特有关。
整个编码过程可以看成是输入信息序列与由移位寄存器和模2加法器的连接方式所决定的另一个序列的卷积,卷积码由此得名。
本文采用的是冲击响应描述法编码思想。
2.2.2编码器的参数⑴ 有k 个输入信息端,n 个输出端(k<n ),K-1节移位寄存器(共需k(K-1)个寄存器单元),称做(n,k,K )卷积码。
⑵ 通常称K 为约束长度(一般来说,约束长度越大,则码字纠错性能越好)。
⑶ 码的效率:k/n⑷ 编码前,k(K-1)个寄存器单元全部复位清零。
⑸ 由于一段消息不仅影响当前段的编码输出,还影响其后m 段的编码输出,所以称参量为卷积吗的约束比特长度为n K n A ∙=注意进入卷积编码器的最后m 段消息仍是要编码输出的消息,对这最后m 段消息的编码处理,称作卷积编码的结尾处理。
一种常见的结尾处理方法是额外输入m段无效的0数据比特,一方面将存储的m 段消息编码全部推出,另一方面保证编码器回到全0的初态。
2.3 卷积码译码原理维特比算法的基本思想是把接收到的矢量,和网格图上诸种可能的路径比较,删去距离大的路径,保留距离小的路径,以距离最小路径作为发码的估值。
它的原理是将接收到的信号序列,选择其中汉明距离最小的序列作为现在的发送信号序列。
为简便起见,讨论(n,k,N)卷积码当k=1的情形,从全0状态起始点开始讨论。
由卷积码网格图的前N-1级中支路构成的路径互不相交,即最初的2N-r条路径各不相同;当到达第N级时,每条路径都有2N-1条支路延伸到第N级上;而第N级上的每2条支路又都汇聚在一个节点上。
第N级以后的网格图图形完全是重复第N级的图形。
在维特比算法中,把汇聚在每个节点上的2条路径的对数似然函数累加值进行比较;然后把具有较大对数似然函数累加值的路径保存下来,称此部分路径为幸存路径,而丢弃另一条路径;经挑选后,第N级只留下2N-r条幸存路径,选出的路径连同它们的对数似然函数累加值一起被存储起来。
因每个节点引出2N-1条支路,因此以后各级中路径的延伸都增大一倍;但比较它们的似然函数累加值后,丢弃一半,结果留存下来的路径总数保持常数(等于其状态数)。
由此可见,上述译码过程中的基本操作是“加→比→选”。
即每级求出对数似然函数累加值,然后两两比较并做出选择。
有时会出现2条路径的对数似然函数累加值相等的情形,此时可任意选择其中一条作为“幸存路径”。
每一级都有21-N条幸存路径,则当序列发送完毕后,为判断其最后结果,通常要在网格图的终结处加上一些结束信息。
通常结束信息为N-1个已知信息,当然结束信息大于N-1也可以。
在此信息到来时,因每一个状态只有与已知发送信息相符的那条支路被延伸,因而在每级比较后,幸存路径减少一半。
因此,在接收到N-1个已知信息后,整个网格图中只有惟一的一条幸存路径保留下来。
这就是译码所得到的路径,这条译码路径和发送序列是最相似的。
从上述卷积码的译码过程可以看出:约束长度为N时,需要存储和计算21-N条路径的参量。