卷积码编码原理_卷积码
大家好,本站为大家解答以上问题,卷积码编码原理,卷积码很多人还不知道,现在让我们一起来看看吧!
1、卷积码/Viterbi解码和卷积码/Viterbi解码是什么意思?
2、卷积码的一个二进制分组码(n,k)包含k个信息比特,码块的长度为n,每个码块的(n-k)个校验位只与这个码块的k个信息比特有关,而与其他码块无关。为了达到一定的纠错能力和编码效率(=k/n),分组码的块长n通常比较大。编译代码时,必须存储整个信息代码组,由此产生的延迟随着n的增加而线性增加。
3、为了减少这种延迟,人们提出了各种解决方案,其中卷积码是一种较好的信道编码方法。这种编码方式也是将K个信息比特编码成N个比特,但K和N通常很小,特别适合以串行形式传输信息,从而减少编码延迟。
4、与分组码不同,卷积码编码的N个符号不仅与当前段的K个信息有关,还与前(N-1)个段的信息有关。编码过程中相关符号的数量为nN。所以这n次中的符号数nN通常称为这种码的约束长度。卷积码的纠错能力随着n的增大而增强,在编码器复杂度相同的情况下,卷积码的性能优于分组码。另一个区别是分组码有严格的代数结构,但卷积码至今没有找到如此严格的数学手段将纠错性能与码结构有规律地联系起来。目前,计算机大多用于搜索好代码。
5、下面举一个例子来简单说明一下卷积码的编码原理正如前面指出的,卷积码编码器在某一段时间内输出的N比特码不仅与该段时间内的K比特信息有关,还与前一段M比特时间内的信息有关。这里m=N-1常用作(N,k,m)来表示卷积码(注:有些文献也用(N,k,N)来表示卷积码。图1是卷积码的编码器,卷积码有n=2,k=1和m=2,所以它的约束长度nN=n(m-1)=23=6。
6、图1 (2,1,2)卷集编码编码器
7、在图1中,和是移位寄存器,它们的初始状态都是零。和之间的关系如下:
8、(1)
9、如果输入信息为D=[11010],为了使所有信息D通过移位寄存器,必须在信息位后加三个零。表1列出了当信息D被卷积编码时的状态。
10、表1卷积编码期间信息D的状态
11、输入信息D 1 1 0 1 0 0 0 0 0 0 0
12、B3 B2 00 0 1 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0
13、输出c1c210101010101010000
14、描述卷积码,有两种方式,即图形表示和解析表示。解析表示法抽象难懂,而图形表示法简单明了地描述卷积码常用的图形描述包括树形图、网格图和状态图。由于篇幅原因,这里就不赘述了。
15、卷积码的译码方法可以分为代数译码和概率译码。代数译码方法完全基于其代数结构,即利用生成矩阵和监督矩阵进行译码。代数解码中最重要的方法是大数的逻辑解码。常用的概率译码有两种,一种是序列译码,另一种是维特比译码。代数译码虽然设备简单,计算量小,但其译码性能(误码)比概率译码差很多。因此,目前数字通信的前向纠错中广泛采用概率译码方法。
16、维特比译码方法简介
17、维特比译码算法是一种卷积码译码算法。缺点是算法的复杂度随着约束长度的增加而迅速增加。当约束长度n为7时,有64条路径要比较,当约束长度n为8时,有128条路径。(2名(N-1))。因此,维特比解码通常用于约束长度小于10的情况。
18、编码(例如约束长度为7):编码器的7个延迟器的状态(0,1)构成整个编码器的64个状态。当编码器输入0或1时,每种状态都会跳到另一种状态。比如110100输入1,就变成了101001(其实就是移位寄存器)。和
19、解码过程是逆过程。算法中规定T时刻接收到的数据要进行64次比较,即64个状态的每条路径有两个分支(因为输入0或1)。同时,它跳转到两个不同的状态,并将两个相应的输出与实际接收的输出进行比较。如果测量值被丢弃(即比较结果相差很大),剩下的称为存活路径。幸存路径与先前幸存路径的测量值相加,然后保存,因此有64条幸存路径。解码结束时,从64条幸存路径中选择一条度量最小的路径,逆向推导幸存路径(称为回溯)得到相应的解码输出。
20、这种算法在TI的C54x dsp上运行速度为100M,但不能满足数据传输速度的要求。主要时间花在每条路径的两次比较上。在两次比较期间,需要从存储器中取出三个数字(最后幸存路径的测量值和两次状态跳变的相应输出值)。比较之后,需要将两个数字(幸存路径的新总数和下一跳的状态)写入存储器,因此一个数据包为256字节,因此我们知道解码一个数据包大约需要多少时间。加上其他开销,最终实验结果约为0.06m,但以64k速率传输仅需0.03m。
本文讲解到此结束,希望对大家有所帮助。