- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
14卷积码编解码
实验四 卷积码的编解码
一、实验目的
1、掌握卷积码的编解码原理。 2、掌握卷积码的软件仿真方法。
3、掌握卷积码的硬件仿真方法。 4、掌握卷积码的硬件设计方法。
二、预习要求
1、掌握卷积码的编解码原理和方法。 2、熟悉matlab的应用和仿真方法。
3、熟悉Quatus的应用和FPGA的开发方法。
三、实验原理
1、卷积码编码原理
在编码器复杂度相同的情况下,,,GSM, IS95CDMA 2000 的标准中。
卷积码通常记作( n0 , k0 , m) ,k0 个信息比特编为n0 个比特, k0/ n0 , m ( n0 , k0 , m ) k0 个输入、n0 个输出、输入存储为m 的线性有限状态移位寄存器及模2 加法计数器来实现。
本实验以(2,1,3)卷积码为例加以说明。图1就是卷积码编码器的结构。
图1 (2,1,3)卷积码编码器
其生成多项式为:
; ;
如图1?所示的(2,1,3)卷积码编码器中,输入移位寄存器用转换开关代替,每输入一个信息比特经编码产生二个输出比特。假设移位寄存器的初始状态为全0,当第一个输入比特为0时,输出比特为00;若输入比特为1,则输出比特为11。随着第二个比特输入,第一个比特右移一位,此时输出比特同时受到当前输入比特和前一个输入比特的影响。第三个比特输入时,第一、二个比特分别右移一位,同时输出二个由这三位移位寄存器存储内容所共同决定的比特。依次下去就完成了编码过程。
下面是卷积码的网格图表示。他是比较清楚而又紧凑的描述卷积码的一种方式,它是最常用的描述方式之一。
图2 (2,1,3)卷积码的网格图表示
2、Viterbi译码原理
如图2所示,卷积码网格图中共有种状态,每个节点(即每个状态)有条支路引入也有条支路引出。为简便起见,我们讨论k=1的情形,从全0状态起始点开始讨论。由网格图的前N-1条连续支路构成的路径互不相交,即最初的条路径各不相同,当接受到第N条支路时,每条路径都有2条支路延伸到第N级上,而第N级上的每两条支路有都汇集在一个节点上。在维特比译码算法中,把汇集在每个节点上的两条路径的对数似然函数累加值进行比较,然后把具有较大对数似然函数累加值的路径保存下来,而丢弃另一条路径,经挑选后第N级只留下条幸存路径,选出的路径连同他们的对数似然函数累加值一起被存储起来。由于每个节点引出两条支路,因此以后各级中路径的延伸都增大一倍,但比较他们的似然函数累加值后,丢弃一半,结果留存下来的路径总数保持常数。由此可见,上述译码过程的基本操作是“加-比选”,即每级求出对数似然函数累加值,然后两两比较并做出选择。有时会出现两条路径的对数似然函数累加值相等的情形,在这种情况下可以任意选择其中一条作为“幸存”路径。
为了更具体地阐述Viterbi译码的过程,我们仍以图2的卷积码为例,假设编码器输出序列为全0码,仍不失一般性。假设接受序列为Y=001001000000……,由于编码输出序列全为0,因此上述接受序列是误码序列。图3(1-8)表示了随着接受序列的串行输入Viterbi译码器中各条路径的取舍情况。计算某路径的对数似然函数可以用计算该路径与接受序列之间的汉明距离(称为度量)来代替。每次产生八条路径,经计算度量后又丢掉四条。遇到度量相同的就任意丢掉一条。下表给出了Viterbi译码器中存储器内的信息。这就是译码器可能的输出序列。
表1 Viterbi译码器存储器内容
译码步骤 路径度量 存储内容 译码步骤 路径度量 存储内容 1 0
2
0
1 6 2
3
3
3 000000
011101
011010
011011 2 1
1
2
4 00
01
10
11 7 2
3
4
4 0000000
0110101
0111010
0111011 3 2
2
3
1 000
001
010
011 8 2
4
4
40000000101101011 4 2
3
2
2 0000
0101
0110
0111 5 2
2
3
3 00000
01101
01110
01111
图3 Viterbi解码图解全过程
四、卷积码的波形和误码率仿真
1、建立仿真文件
删余卷积码误码率仿真(conv1.mdl)
2、仿真程序
clear all;
close all;
R=1/2;
trellis=poly2trellis(3,[7,5]);
d1=(sign(randn(1,8))+1)/2;
s=convenc(d1,trellis);
figure(1);
文档评论(0)