第24讲 卷积码
卷积码
目录目录 (1)摘要 (2)Abstract (3)一、引言 (4)1.1设计任务及要求 (4)1.2设计仪器设备 (4)1.3 设计目的 (4)二、基本概念 (5)2.1 纠错编码 (5)2.2 卷积码的基本概念 (5)2.3 卷积码编码的概述 (5)2.4卷积码译码的概述 (5)三、卷积码的编译码原理 (6)3.1卷积码的图形描述 (6)3.1.1 树状图 (7)3.1.2 网格图 (8)3.1.3 状态图 (8)3.2 卷积积码的编码算法 (9)3.3卷积码的Viterbi译码 (10)四、卷积码的仿真及性能分析 (12)4.1 SIMULINK仿真模块 (12)4.2 卷积码的参数对误码率的影响 (13)4.2.1 码率对误码性能的影响 (13)4.2.2 约束长度对误码性能的影响 (14)4.2.3 回溯长度对卷积码性能的影响 (16)4.3 仿真分析 (18)总结 (19)参考文献: (20)摘要随着现代通信的发展,高速信息传输和高可靠性传输成为信息传输的两个主要方面,而可靠性尤其重要。
卷积码以其高速性和可靠性在实际应用中越来越广泛。
本文简明地介绍了卷积码的编码原理和译码原理。
在MATLAB中的SIMULINK模块中设计卷积码的编码和译码的整个模块,调用该模块完成对误码率统计仿真。
最后,通过在仿真过程中分别改变卷积码的重要参数来加深理解卷积码的这些参数对卷积码的误码性能的影响。
经过仿真和实测,并对测试结果作了分析。
得出了以下三个结论:(1)当改变卷积码的码率时,系统的误码性能也将随之发生变化。
(2)对于码率一定的卷积码,当约束长度N 发生变化时,系统的误码性能也会随之发生变化。
(3)回溯长度也会不同程度上地影响误码性能。
同时整个设计通过MATLAB仿真满足设计要求。
关键词:卷积码;误码性能;约束长度;MATLAB;回溯长度AbstractWith the development of modern communications, high-speed information transmission and high reliability of transmission as the two main aspects of information transmission, and reliability are very important. Convolution code has a superior performance of the channel code. It is easy to coding and decoding. And it has a strong ability to correct errors. As correcting coding theory has a long development, the practice of convolution code is more and more extensive. In this thesis, the principle of convolution coding and decoding is introduced simply firstly. Designs the convolution code in the MATLAB SIMULINK module the code and the decoding entire module, transfers this module to complete to the error rate statistics simulation .Finally, in order to understand their performances of error rate, many changes in parameters of convolution code are calculated in the simulation process. After simulation and measure, an analysis of test results is presented. The following three conclusions are draw:(1) When the rate of convolution Code changes, BER performance of the system will change.(2) For certain convolution code rate, when the constraint length N change, the system BER can be changed.(3) Retrospective length will affect BER.The design also meet the design requirements by MATLAB simulation. Keywords: convolution code; BER; constraint length; MATLAB; retrospective length一、引言1.1设计任务及要求信道编码是数字通信系统中的重要组成部分,他是保证信号可靠传输的一种重要方式.卷积码以其优越的性能被广泛使用在数字通信系统中。
卷积码
x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25
可以看出交织可能会造成独立错误变成突发错误的特殊情况
级联码
级联码的最初想法是为了进一步降低残余误码率,但事实上它同 级联码的最初想法是为了进一步降低残余误码率, 样可以提高较低信噪比下的性能。 样可以提高较低信噪比下的性能。这是由较好构造的短码进一步 构造性能更好的长码的一种途径
纠正突发错误的码
分组码、循环码均可以检测、纠正突发错误 分组码、循环码均可以检测、 对于一个能纠正l个错误的( 对于一个能纠正l个错误的(n, k)分组码,要求: 分组码,要求: r = n – k ≥ 2l 2l 即一个( 即一个(n, k)分组码最多能纠正(n – k)/2个突发错误 分组码最多能纠正( )/2个突发错误 若再要求该( 若再要求该(n, k)分组码能够检测d个突发错误,则要求: 分组码能够检测d个突发错误,则要求: r=n–k≥l+d
下面是未进行交织处理的序列
x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25
假设在信道上发送时,产生了2个突发错误,如下红色部分所示: 假设在信道上发送时,产生了2个突发错误,如下红色部分所示:
10 11(1) 00 11(0) c 01 00(1)
b 01(1)
10(0)
a
11 d 01(0)
10(1)
卷积码的图解表示— 卷积码的图解表示—树状图
观察卷积码的状态迁移图,可知根据输入值的不同,编码器只向两种状态迁移, 观察卷积码的状态迁移图,可知根据输入值的不同,编码器只向两种状态迁移, 因此也可以用二叉树来描述卷积码 树状图绘制方法: 树状图绘制方法: 1)先假设其从某一状态开始; 先假设其从某一状态开始; 2)输入为0时,树状图向上延伸;输入为1时,向下延伸; 输入为0 树状图向上延伸;输入为1 向下延伸; 3)按照状态图在时间上的迁移顺序依次绘制,分支上的数字为编码器的输出 按照状态图在时间上的迁移顺序依次绘制, 编码方法: 编码方法: 1)从树根开始编码,每一节点为码元输入点; 从树根开始编码,每一节点为码元输入点; 2)到达每一节点时按照下一输入的码元向上(0)或向下(1)走; 到达每一节点时按照下一输入的码元向上( 或向下( 3)编码完毕后,将行走路径上的依次进行排列,即可得到卷积码序列 编码完毕后,将行走路径上的依次进行排列,
卷积码
译码主要确定译码规则,使其差错率最小
1 2 – 译码器根据接收序列来产生信息序列M的一个估值M’,如果两者不同,
则表示译码出错 – 如信道传输的码字是X,当且只有当接收序列Y不等于X时,出现译码错 误
最大似然译码
译码主要确定译码规则,使其差错率最小
– 译码器必须根据接受序列y来产生信息序列M的一个估计
§12.1.1 卷积码的图解表示
树状图- tree
– 一个(2,1,3)卷积码编码器。 假设初始状态为全0 第一个比特输入为 0->00 ,1->11 第二个比特输入时,第一个比特右移一位,这时输出比特同时受前输入比 特和前一位比特决定 ...... 第四个比特输入时,第一个比特移出移位寄存器而消失
编码后序列。由于卷积码的线性性质,所有码序列之间的最 小汉明距应等于非零码序列的最小汉明重量,即非零码序列 中1码的个数。由此可见,要求最小距或自由距,只要考虑码 树中下半部的码序列就可以了 – 例: abca abcb abdc abdd 5 3 4 4 因而:dmin = 3
§12.2 卷积码的距离特性
维特比译码
进入第四级网格时,4条幸存支路又延伸为8条, 经计算路径量度并比较后又丢弃其中4条。在 比较是如果出现量度相同的情况,可以任意选 取其中一条。继续下去,到第10步时,会发现, 所有幸存路径已经合并称为一条全0路径,纠 错完毕。 译码结束的判断:可以在网格图的终结出加上 (N-1)*K个已知信息(即N-1条支路),发送固定 码,如全零,作为结束信息。
– 应用最多也是性能最接近最佳的是维特比译码,但
是硬件复杂。门限译码性能最差,但硬件简单。维 特比译码和序列译码都是建立在最大似然译码的基 础之上的
卷 积 码
1.3 卷积码的译码
1. 维特比译码
图 10.10 维特比译码格图
2. 序列译码 当m很大时,可以采用序列译码法。
译码先从树图的起始节点开始,把接收到的第一个子码的n个 码元与自始节点出发的两条分支按照最小汉明距离进行比较, 沿着差异最小的分支走向第二个节点。在第二个节点上,译 码器仍以同样原理到达下一个节点,以此类推,最后得到一 条路径。若接收码组有错,则自某节点开始,译码器就一直 在不正确的路径中行进,译码也一直错误。因此,译码器有 一个门限值,当接收码元与译码器所走的路径上的码元之间 的差异总数超过门限值时,译码器判定有错,并且返回试走 另一分支。经数次返回找出一条正确的路径,最后译码输出。
用码多项式表示: Ci (x)=S(x) × gi(x)
例:卷积码(2,1,2)的编码器 g1=(1 1 1); g1 (x)=x2+x+1 g2=(1 0 1); g2 (x)=x2+1
若: S = ( 1 1 0 1 0) ; S(x)=x4+ x3+ x 则: C1 = S * g1= ( 1 1 0 1 0) * (1 1 1)=(1 0 0 0 1 1 0)
11 10
00 a 11
10 b 01
11 c 00
a b c d a
11 b
b 01
数码
起点 a
01 d 10 c 00 d
11 a 11 a
10
c 00
10 b 01
b c
11 b
d
01
11 c 00
aห้องสมุดไป่ตู้
01
b
d 10
01 d 10
c
d
数码
卷积码
卷积码1、什么是卷积码?卷积码作为一种编码方法,是将k个信息比特编成n个比特,但k和n通常很小,因此时延小,特别适合以串行形式进行传输。
通常它更适合于前向纠错,因而对于许多实际情况它的性能优于分组码,而且运算较简单。
2、卷积码的编译原理?(1)编码原理下图示出卷积码编码器一般原理方框图。
编码器由三种主要元件构成,包括Nk级移存器、n个模2加法器和一个旋转开关。
每个模2加法器的输入端数目可以不同,它连接到一些移存器的输出端。
模2加法器的输出端接到旋转开关上。
将时间分成等间隔的时隙,在每个时隙中有k比特从左端进入移存器,并且移存器各级暂存的信息向右移k位。
旋转开关每时隙旋转一周,输出n比特(n)k)。
(2)译码原理卷积码的解码方法可以分为两类:代数解码和概率解码。
代数解码是利用编码本身的代数结构进行解码,不考虑信道的统计特性。
概率解码则是基于信道的统计特性和卷积码的特点进行计算,其中一种概率解码方法是维特比算法。
当码的约束长度较短时,它比序贯解码算法的效率更高、速度更快,目前得到广泛的使用。
维特比算法的基本原理是将接收到的信号序列和所有可能的发送信号序列比较,选择其中汉明距离最小的序列认为是当前发送信号序列。
若发送一个k位序列,则有2k种可能的发送序列。
计算机应存储这些序列,以便用作比较。
当k较大时,存储量太大,使实用受到限制。
维特比算法对此作了简化,使之能够实用。
3、与分组码相比,卷积码的优势是什么?与分组码不同的是,卷积码编码后n个码元不但与本码组的k个信息码元有关,而且与前面的N-1段信息有关,编码的过程中相互关联的码元有N*n个。
卷积码的纠错能力同样是随N的增大而增大,其差错率随N的增大而指数的下降。
在编码器相同的情况下,卷积码的性能优于分组码。
另一点不同是,分组码有严格的代数结构,但是卷积码至今没有严格的数学手段把纠错能力和码结构有机地联系起来,目前大都是采用计算机搜索来搜索好用的码组。
4、卷积码编译电路的组成结构?(1)信号发生器(2)卷积码编码器(3)信道(4)卷积码译码器参考文献:[1]通信原理(第6版)樊昌信、曹丽娜,国防工业出版社·北京,2012[2]SystemView通信仿真开发手册,孙屹,国防工业出版社,2004[3]SystemView动态系统分析及通信系统仿真设计,罗卫兵、孙桦、张捷,西安电子科技大学出版社,2001。
卷积码
引言卷积码是深度空间通信系统和无线通信系统中常用的一种差错控制编码。
在编码过程中,卷积码充分利用了各码字间的相关性。
在与分组码同样的码率和设备复杂性的条件下,无论从理论上还是从实践上都证明,卷积码的性能都比分组码具有优势。
而且卷积码在实现最佳译码方面也较分组码容易。
因此卷积码广泛应用于卫星通信,CDMA数字移动通信等通信系统,是很有前途的一种编码方式。
对其进行研究有很大的现实意义。
1 、(2.1.2)卷积码的基本概念1.1(2.1.2)卷积码的结构图(2.1.2)卷积码的编码器由两级移位寄存器组成,它的存数(Q0,Q1)有四种可能:00,10,01和11,相应于编码器的四个状态S0, S1, S2和S3。
(2.1.2)卷积码编码器如图1:由图可知,该卷积码的生成多项式为于是,得到的码多项式是1.2(2.1.2)卷积码的网格图表示为了表示卷积码编码器在不同输入的信息序列下,编码器各状态之间的转移关系,以及状态转移与时间的关系,须画出编码器的网格图。
网格图是一种能清楚显示状态转移的时间依赖性状态图,因而用网格图来表示编码器的操作是很有用的。
图2表示了(2.1.2)卷积码的网格图。
图中四行小圆圈表示移位寄存器的四种状态,虚线表示输入是0时的状态转移,实线表示输入是1时的状态转移,支路上标注的码元为输出比特。
2 、(2.1.2)卷积码编码器的编程实现与仿真波形由以上分析可以发现,(2.1.2)编码器由两个模二加法器组成,分别生成、。
而此时输出的是并行数据,须经过并串转换才能输出,在用VHDL编程时,用LOAD和CLK来控制信息的输入与卷积码的产生,当LOAD为底电平时,在每个CLK的上升沿输入一位信息,并进行异或运算;当LOAD为高电平时,在CLK 的上升沿时刻,把生成的卷积码经过并串转换之后输出。
经过编译调试之后,仿真波形如图3:图中,D-IN为输入的信息位,D-OUT为输出的串行卷积码,Q为移位寄存器的内容。
卷积码
(n ,k ,N )=(2,1,6)n 个输出比特。
当前的k 个输入信息,还与前(N-1)k 个信息有关。
002356101236y x x x x x y x x x x x =⊕⊕⊕⊕=⊕⊕⊕⊕2.2.1 Viterbi 译码卷积码概率译码的基本思路是:以接收码流为基础,逐个计算它与其他所有可能出现的、连续的网格图路径的距离,选出其中可能性最大的一条作为译码估值输出。
概率最大在大多数场合可解释为距离最小,这种最小距离译码体现的正是最大似然的准则。
卷积码的最大似然译码与分组码的最大似然译码在原理上是一样的,但实现方法上略有不同。
主要区别在于:分组码是孤立地求解单个码组的相似度,而卷积码是求码字序列之间的相似度。
基于网格图搜索的译码是实现最大似然判决的重要方法和途径。
用格图描述时,由于路径的汇聚消除了树状图中的多余度,译码过程中只需考虑整个路径集合中那些使似然函数最大的路径。
如果在某一点上发现某条路径已不可能获得最大对数似然函数,就放弃这条路径,然后在剩下的“幸存”路径中重新选择路径。
这样一直进行到最后第L级(L为发送序列的长度)。
由于这种方法较早地丢弃了那些不可能的路径,从而减轻了译码的工作量,Viterbi译码正是基于这种想法。
对于(n, k, K )卷积码,其网格图中共2kL种状态。
由网格图的前K-1条连续支路构成的路径互不相交,即最初2k_1条路径各不相同,当接收到第K条支路时,每条路径都有2条支路延伸到第K级上,而第K级上的每两条支路又都汇聚在一个节点上。
在Viterbi译码算法中,把汇聚在每个节点上的两条路径的对数似然函数累加值进行比较,然后把具有较大对数似然函数累加值的路径保存下来,而丢弃另一条路径,经挑选后第K级只留下2K条幸存路径。
选出的路径同它们的对数似然函数的累加值将一起被存储起来。
由于每个节点引出两条支路,因此以后各级中路径的延伸都增大一倍,但比较它们的似然函数累加值后,丢弃一半,结果留存下来的路径总数保持常数。
卷积码
2.7.卷积码分组码是把k个信息比特的序列编成n个比特的码组,每个码组的n-k个校验位仅与本码组的k个信息位有关,而与其他码组无关。
为了达到一定的纠错能力和编码效率,分组码的码组长度一般都比较大。
编译码时必须把整个信息码组存储起来,由此产生的译码时延随n的增加而增加。
卷积码是另外一种编码方法,它也是将k个信息比特编成n个比特,但k和n通常很小,特别适合以串行形式进行传输,时延小。
与分组码不同,卷积码编码后的n个码元不仅与当前段的k个信息有关,还与前面的N-1段信息有关,编码过程中互相关联的码元个数为nN。
卷积码的纠错性能随N的增加而增大,而差错率随N的增加而指数下降。
在编码器复杂性相同的情况下,卷积码的性能优于分组码。
但卷积码没有分组码那样严密的数学分析手段,目前大多是通过计算机进行好码的搜索。
2.7.1.卷积码的结构和描述一、卷积码的一般结构卷积码编码器的形式如图所示,它包括:一个由N段组成的输入移位寄存器,每段有k个,共Nk个寄存器;一组n个模2和相加器,一个由n级组成的输出移位寄存器。
对应于每段k个比特的输入序列,输出n个比特。
由上图可以看到,n个输出比特不仅与当前的k个输入信息有关,还与前(N-1)k个信息有关。
通常将N称为约束长度,(有的书的约束长度为Nn)。
常把卷积码记为:(n,k,N),当k=1时,N-1就是寄存器的个数。
二、卷积码的描述描述卷积码的方法有两类:图解法和解析表示。
图解法包括:树图、状态图、网格图解析法包括:矩阵形式、生成多项式形式。
以如下的结构说明各种描述方法。
1、树图根据上图,我们可以得到下表:我们可以画出如下的树状图:2、 状态图3、 网格图例1, 输入为1 1 0 1 1 1 0,输出为: 11 01 01 00 01 10 014、 生成多项式表示 定义],,[1211101g g g g=,],,[2221202g g g g=则上述结构为71=g,52=g,这里用8进制表示21,g gabcd⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=2101211101],,[m m m g g g c ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=2102221202],,[m m m g g g c定义2212111011)(DD Dg D g g D g ++=++=2222212021)(DDg D g g D g +=++=则输入信息,...,,210b b b 的多项式为....)(332210++++=b D b D b b D M那么我们可以得到输出)()()(11D g D M D C = )()()(22D g D M D C =最终输出是)(),(21D C D C的相同次数项的排列。
卷积码的原理
卷积码的原理1. 引言卷积码是一种用于数字通信中的误码纠正编码技术。
它利用卷积操作对输入数据进行编码,以增强数据传输的可靠性。
本文将详细介绍卷积码的基本原理,包括卷积操作、生成多项式、状态机和Viterbi解码算法。
2. 卷积操作卷积操作是卷积码编码的核心步骤。
它通过将输入序列与一个或多个权重系数序列进行点乘,生成输出序列。
具体而言,假设输入序列为x={x0,x1,...,x N−1},权重系数序列为ℎ={ℎ0,ℎ1,...,ℎK−1},则输出序列y={y0,y1,...,y M−1}可以通过以下公式计算得到:K−1y i=∑ℎj⋅x i−jj=0其中,M为输出序列的长度,K为权重系数序列的长度。
3. 生成多项式在卷积码中,生成多项式决定了编码器的结构和性能。
它由两个多项式组成:一个是分子多项式(记作G1),用于计算输出序列的第一个比特;另一个是分母多项式(记作G2),用于计算输出序列的其余比特。
生成多项式可以写成以下形式:G(D)=G1(D)/G2(D)其中,D表示延迟操作符。
生成多项式的选择对卷积码的性能和复杂性有重要影响。
常见的生成多项式有三种:(1, 3)、(1, 5)和(1, 7)。
它们分别对应于分子多项式为(1+D3)、(1+D2+D5)和(1+D2+D3+D4+D6),分母多项式均为(1+D+D2)。
4. 状态机卷积码编码器可以看作是一个有限状态机。
状态机由一组状态和状态转移函数组成,用于描述编码器的内部状态变化。
在卷积码中,每个状态对应于编码器内部的寄存器值。
以(1, 3)卷积码为例,它有8个不同的状态,编号为0到7。
初始状态通常设置为0。
每个输入比特导致状态转移,并且在每个时钟周期结束时产生一个输出比特。
具体而言,根据输入比特和当前状态,可以确定下一个状态和输出比特。
这种状态转移可以用一个状态转移图来表示。
5. Viterbi解码算法Viterbi算法是一种用于卷积码解码的最优算法。
数字通信——卷积码
2
生成矩阵
半无限矩阵(根据输入序列长度而定),与处理线性分组码同
矢量表示
用一组n个矢量来表示,每个矢量对应n个模2加法器中的一个,有 Kk维。矢量第i位上的“1”表示第i个移位寄存器与模2加法器相连。 第一、二、三个函数生成矢量分别为 g1=[100]、 g2=[101]、 g3=[111] 用八进制表示为(4,5,7) 结论: 结论:码率为k/n的卷积码,需要 用n个函数生成矢量来表示,每个 矢量是Kk维的
8.2 Convolutional codes
卷积码
将发送的信息序列通过一个线性的、有限状态的移位寄存器而产生 的码。(n,k,K) ,k-bit信息位输入,n-bit输出序列,K为约束长度。
移位寄存器
由K级(k-bit)和n个线性代数函数发生器组成; 移位方式:每次移入k位。
编码效率
输入k位信息序列,输出n位,编码效率(码率) Rc=k/n
9
引入N,J。由输入比特为“1”引发的转移, 在分支上添N,N的指数表示从a到e,输入 为“1”的个数;在每一个分支上引入J,J的 指数表示从a到e经过的分支数。
10
列状态的指数表明与全零路径分叉后首次 合并的路径长度。 因子N的指数表明该路径的输入信息序列 中“1”的个数。 因子D的指数表明该路径的编码与全零码 D 序列的距离。
7
8.2.1 卷积码的传递函数
距离特性
首先把状态图每个分支标上Di,i表示每个 分支对应的输出序列与全零序列的汉明距 离。 将a点处的自环去掉,并将a分为a,e,一表 示输入,一表示输出。
8
定义卷积码的传递函数为T(D)=Xe/Xa 解方程得:
其中
此传递函数表明:存在一 条汉明距离d=6的路径, 该路径从全零路径分出去 后又在某给定节点与全零 路径汇合。码的最小距离 为最小自由距离,写作 dfree。
卷积码
实线表示信息位0 虚线表示信息位1 节点表示状态 线旁数字为输出码元来自 (2,1,2)卷积码格状图(二)
假定发送序列为11010,为了使全部 信息位通过编码器,在发送序列后面 加上3个零,从而使输入编码器的信 息序列便成11010000。 移位寄存器的状态转移路线为: abdcbcaa; 假定接收序列有错,变成 0101011010010001;
在码的约束长度较小时,这种解码比序列解码 算法效率更高、速度更快,解码器也比较简单, 因而被广泛应用在各种数字通信系统,特别是 卫星通信系统; 最大似然法:把接收序列与所有可能的发送序 列比较,选择一种码距最小的序列作为发送序 列。 维特比对最大似然法作了简化,使之实用化。
(2,1,2)卷积码篱笆图(一)
门限解码
门限解码是一种二进制的择多逻辑解码法 它利用一组正交校验方程进行计算 “正交”的特殊含义
它是指所解的信息位,作为校验方程的一个元素, 出现在这一方程组的每一个方程中,而其他的信息 位至多出现在一个方程中。这样,就可以根据被错 码破坏了的方程数目在方程组中是否占多数来判断 所待解的信息位是否错了。当错码个数小于方程组 中方程数时,用此方法就能对错码进行纠正。
(2,1,2)卷积码篱笆图
实线表示信息位0
虚线表示信息位1
节点表示状态 线旁数字为输出码元
网格图中的状态,通常有2N-1种状态,从N个节点开始, 图形开始重复,且完全相同。
当网格图达到稳定状态后,取两个节点间的一段网格图, 即得到状态转移图。
状态图
卷积码最简的状态转移图
概率解码——维特比解码
卷积码
卷积码实例1——编码器
卷积码2019PPT课件
(g0 , g1, g2 , g3, 0,...)
成矩阵 14
14
从卷积码编码器的框图可以看出有3个存储单元,g 完全由 m+1=4段值 g0 , g1, g2 , g3 决定,从m+2=5段起均为0
g(1) (g0 g1 g2 g3) (111 001 010 011)
完全可以决定 g ,从而确定G
27
27
101 000 001
用矩阵表示为
011 001 001
101 000 001
C mG (11 11 11 00 )
011 001 001
101 000 001 011 001 001
101 000
011 001
101 000 001
G
011 001 001 101 000
任一时刻t送至编码器的信息组记为:
mt
m (1) t
,
mt(
2
)
,
mt(
k
0
)
相应的编码输出码段为:
ct
c (1) t
,
ct(
2
)
,
ct(
n0
)
ct 不仅与前面m个时刻的m段输入信息组有关,
还参与此时刻之后m个时刻的输出码段的计 算,其中m为编码器中移位寄存器的个数。
6
6
• 定义:如果在n0位长的子码中,前k0位是原 输入的信息元,则称该卷积码为系统码,
g(1) (g0 g1 g2 g3) (111 001 010 011)
完全可以决定 g ,从而确定G
g(1) 称为该(3, 1, 3)卷积码的生成元。
c (1) l
卷积码PPT课件
图5-2记忆阵列中的每一存储单元都有一 条连线将数据送到线性组合器,但实际上无需 每个单元都有连接。这是因为二元域线性组合 时的系数只能选“0”或者“1”,选“0”时表示 该项在线性组合中不起作用,对应存储单元就 不需要连接到线性组合器。从图上看到,每一 个码元都是k×(L+1)个数据线性组合的结果, 需要有k×(L+1)个系数来描述组合规则,于是 每一个码字需用 n×k×(L+1)个系数才能描述 。显然,只有将这些系数归纳为矩阵才能理顺 它们的关系和便于使用。
┇
g
k 0 K 1
K 1
k 00
m
k i 0
k k g m 0L i L
K 1
=
k k g m 10 i 0 k 0
+…
k k g m 1L i L k 0
k 0 K 1
g
k 0
K 1
┇
k ( n 1) 0
┇
m
k i 0
k k g m ( n 1) L i L k 0
定义g 为基本生成矩阵,定义G 为生成矩阵
13
例5.1(续1) 二进制(3, 1, 2)卷积编码器如图5-3。如果 输入信息流是(101101011100…), 求输出码字序列。 解:对照例5.1算得的系数及式(5-3)生成子矩阵的定 义,可知本题 0 0 0 0 0 0 g g G0=[ 00 g10 g 20 ] =[1 1 1],G1=[ 01 g11 g 21] = [0 1 1]
mi0L
1 mikL
mi1L ┇
求转置,上式写成:
T T T T T T = G0 Mi G1 Mi 1 GL Mi L
Ci Mi LGL Mi 1G1 MiG0
卷积码
若u = (1 1 0 1)
则u(x) = 1+ x + x3
( v(1) (x) = 1+ x + x2 + x5 ⇒ v(1) = 1 1 1 0 0 1) v(2) (x) = 1+ x4 + x5 ⇒ v(2) = (1 0 0 0 1 1)
与前面结论一致!
15
y 多项式生成矩阵
y 例16.2:(续)
⎟⎞
=⎜
11 0 1 1 1
⎟
⎜⎝
O O O O O O⎟⎠
9
卷积码的编码
y 标量生成矩阵
– 例16.2:(续)
( ) ( ) g(1) 1
=
g (1) 1,0
g (1) 1,1
=1
1
( ) ( ) g(2) 1
=
g (2) 1,0
g (2) 1,1
=
0
1
( ) ( ) g(3) 1
=
g (3) 1,0
24
卷积码的图描述
y 状态转换图 表示方法
y 图中以方块表示可能的状态,并加以注明; y 如果两个状态对应一对可能的状态变化,则把它们用
箭头连起来; y 箭头的方向表示状态的变化方向; y 并在线旁注明编码的激励和相应。
25
卷积码的图描述
y 状态转换图
y 例16.1中(3,1/2)卷积码, 其状态转换图为:
v (1) 1
v(2) 1
v (1) 2
v(2) 2
L
v = u⋅G
⎛⎜
g
(1) 0
g (2) 0
g (1) 1
g (2) 1
g (1) 2
g (2) 2
卷积码的基本原理
卷积码的基本原理引言卷积码是一种用于通信和存储系统中的编码技术。
它通过将输入数据序列转换为更长的输出序列,以提高数据传输的可靠性。
卷积码的基本原理是利用线性移位寄存器和异或运算来实现。
在本文中,我们将详细介绍卷积码的基本原理,包括卷积码的定义、生成多项式、状态转移图、编码和解码过程等。
卷积码的定义卷积码是一种线性块码,它通过将输入数据序列与一组固定的码字生成多项式进行卷积运算得到输出数据序列。
卷积码由三个参数定义:码率(rate)、约束长度(constraint length)和生成多项式(generating polynomial)。
码率表示每个输入比特对应的输出比特数,约束长度表示线性移位寄存器的长度,生成多项式表示卷积码的生成过程。
生成多项式生成多项式是卷积码的核心部分,它决定了卷积码的性能和解码复杂度。
生成多项式通常用多项式系数表示,例如,生成多项式”G(D)=1+D2+D3”表示生成多项式系数为[1,0,1,1]。
生成多项式的次数等于约束长度加1。
生成多项式的选择对卷积码的性能有很大影响,通常需要通过计算误码率和复杂度来进行选择。
状态转移图卷积码可以用状态转移图来表示,状态转移图是一个有向图,其中每个节点表示一个状态,每条边表示一个输入比特和输出比特的转换。
状态转移图展示了卷积码的编码过程,并且可以用于解码。
状态转移图中的每个节点表示线性移位寄存器的状态,每个边表示一个输入比特和输出比特的转换。
编码过程卷积码的编码过程是将输入数据序列转换为输出数据序列的过程。
编码过程涉及到线性移位寄存器的状态转移和异或运算。
首先,将输入比特送入线性移位寄存器的第一个寄存器,并将其他寄存器的数据向右移动一位。
然后,将线性移位寄存器中的数据与生成多项式进行异或运算,得到输出比特。
最后,将输出比特存储起来,并将线性移位寄存器的状态更新为新的状态。
解码过程卷积码的解码过程是将接收到的输出数据序列转换回输入数据序列的过程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
解码第2步:继续考察接收序列中的后继3个比特“110” 计算4条幸存路径上增加1级后的8条可能路径的汉明距 离。计算结果列于下表中。
路径
abca+a abdc+a abca+b abdc+b abcb+c
序号
1 2 3 4 5
原幸存路径的 距离
3 1 3 1 4
新增 路径段
aa ca ab cb bc
000 111 001 100 010 101 011 100 010 101 101 d 011 001 000 011 a b c
a b
001
c d
110
若已知这3个码元是(为结尾而补充的)“0”,则在解码时 就预先知道在接收这3个“0”码元后,路径必然应该回到状 态a。而由图可见,
000 111 001 100 010 101 011 100 010 101 101 d 001 011 001 011 000 a b c
输入 1 b1 2 b2 3 b3
c3 c2 c1
编码输出
每当输入1比特时,此编码器输出3比特c1c2 c3: c 1 b1
c 2 b1 b 3 c 3 b1 b 2 b 3
编码器的工作状态
b1 b3b2 c1c2 c3 状态
1 00 111 a
1 01 110 b
0 11 010 d
c1c2c3
000
↑0 a ↓1
0
信息位 起点
↑0
110
d a b c d a b c d a b c
上 半 部
a
011 ↓1 ↑0 111 b ↓1 110 d 001 c 100 010 101 0
1
状态 b3b2 a 00 b 01 c 10 d 11
信息位
000 111 001 110 011 100 010 101 1
000 111 011 100 001
110 010
000 111
011 100 001 110 010 101
000 111
a
001 c d
a
b 111
110
101
011 b 100 001 c 110 010 d 101
a b
100
001 c
c
d
110
010
d
维特比算法
基本原理:将接收到的序列和所有可能的发送序列作比较, 选择其中汉明距离最小的序列当作是现在的发送序列
新增距离
2 2 1 1 3
总距离
5 3 4 2 7
幸存否?
否 是 否 是 否
6
7 8
abdd+c
abcb+d abdd+d
4
4 4
dc
bd dd
1
0 2
5
4 6
是
是 否
表中总距离最小为2,其路径是abdc+b,相应序列为
111 110 010 100。它和发送序列相同,故对应发送信息 位1101。
3
4 5 6
aaab
abcb aabc abdc
000 000 111
111 001 100 000 111 001 111 110 010
6
4 7 1
否
是 否 是
7
8
aabd
abdd
000 111 110
111 110 101
6
4
否
是
比较到达每个状态的两条路径的汉明距离,将距离小的
一条路径保留,称为幸存路径。这样,就剩下4条路径 了,即表中第2, 4, 6和8条路径。
2 x x
5
5
1 2
x x x
xxxx
(b) 第5~8比特输入时的状态
x369
9
10 11 12
10 11 7 12 8
4
6 3 x
9
9
5 6
1 2 3
xxxx
(c) 第9~12比特输入时的状态
14 13 15 16
14 15 11 16 12
8
13 10 7 4
4 7 10 13
13 9 5 10 6 7
按照上表中的幸存路径画出的网格图示于下图中。
a
b
111 001
a 011 100 110 110 010 101 010 d b
100
c d
c
图中粗线路径是距汉明离最小(等于2)的路径。
在编码时,信息位后面加了3个“0”。若把这3个“0”仍然 看作是信息位,则可以按照上述算法继续解码。这样得到 的幸存路径网格图示于下图中。图中的粗线仍然是汉明距 离最小的路径。
8.6.1卷积码的编码 一般原理方框图
每次输入 k比特
1 … k … 2k … 3k 1 … k 1 … k 1 … k … … … … … … … Nk 1 … k
Nk级 移存器
1
2
… … … …
n
n个模2 加法器
每输入k比特 旋转1周
编码输出
卷积码编码器的实例方框图:(n,k, N) =(3,1, 3)
由于这是一个 (3, 1, 3)卷积码,发送序列的编码约束度 为N = m + 1 = 3,所以首先需考察3个信息段,即考察3n = 9比特,即接收序列前9位“111 010 010”。
解码第1步
由网格图可见,沿路径每一级有4种状态a,
b, c和d。每 种状态只有两条路径可以到达。故4种状态共有8条到达 路径。
解 制 器
内解 码器
(n, k)
外解 码器
(N, K)
输 出
内码是二进制分组码或卷积码,而典型的外码则是多进制 的RS码。 Turbo码:是一种特殊的链接码。它在两个并联或串联的 编码器之间增加一个交织器,使之具有很大的码组长度和 在低信噪比条件下得到接近理想的性能。
Turbo码的基本结构 编码器:由一对递归系统卷积码(RSCC) 编码器和一个 交织器组成。 bi 输入信息位是bi, RSCC 输出是bic1ic2i, c1i bi 故码率等于1/3。
例如,由出发点状态a经过3级路径后到达状态a的两条 路径中上面一条为“000 000 000”。它和接收序列“111 010 010”的汉明距离等于5;下面一条为“111 001 011”, 它和接收序列的汉明距离等于3。
a b c d 000 111 000 111 000 111 000 111 000 111 a
编码。对于约束长度大的卷积码,可以采用其他解码算法,
8.7 Turbo码
基本原理: 复合编码:将两种或多种简单的编码组合成复合编码。 链接码:链接码是复合编码的一种,它包括一个内(部) 码和一个外(部)码,如下图所示:
输 入 外编 码器
(N, K)
内编 码器 (n, k)
调 制 器
信 道
4321
(d) 第13~16比特输入时的状态
卷积交织法优点: 延迟时间短和需要的存储容量小。 端到端的总延迟时间和两端所需的总存储容量均为 k(N+1)N个码元,是矩阵交织法的一半。 10-1 Turbo码的性能: 由此曲线可以看到, 10-2 交织器容量大时误码率 解 10-3 低,这是因为交织范围 码 后 大可以使交织器输入码 的 -4 误 10 元得到更好的随机化。 20 码
a 11 a 12 a 1m
a 21
a
a 22
a
a 2m
a
n1
n2
nm
卷积交织器举例 交织器
1 2 3 4
解交织器
x x x 1
xxx1
2 3 4
x x
1 x x
x
x x x
xxxx
(a) 第1~4比特输入时的状态
xx25
5 6 7 8
6 7 8
3 x 4
a b c d
110
只有两条路径可以回到a状态。所以,这时上图可以简化成:
a b
000 111 001 100 011 100 010 001 011 001
000 011
a b c
c d
110
010
d
在上例中卷积码的编码约束度为N = 3,需要存储和计算8
条路径的参量。
由此可见,维特比算法的复杂度随编码约束度N按指数形 式2N增长。故维特比算法适合约束长度较小(N 10)的
下 半 部
1
1
d
此法不实用:因为随信息位增多,分支数目按指数规律增长
状态图和网格图 移存器状态和输入输出码元的关系
输入 1 b1 2 b2 3 b3
c 1 b1 c 2 b1 b 3
c3 c2 c1 编码输出
c 3 b1 b 2 b 3
前一状态 b3 b2 a (00) b (01) c (10) d (11)
1 10 100 c
0 01 001 b
0 10 011 c
0 00 000 a
8.6.2 卷积码的解码 码树搜索法:(3, 1, 3)卷积码的码树图
c000c c c000c3 a 1 2 3 a c2 1 111 b c000c3 c2 1 a 001 c 111
b c d a b c d 001 111 b 110 011 100 010 101
b
110 001 010 d 101
状态图