卷积码编码和维特比译码.doc

卷积码编码和维特比译码.doc

ID:57274656

大小:31.00 KB

页数:9页

时间:2020-08-08

卷积码编码和维特比译码.doc_第1页
卷积码编码和维特比译码.doc_第2页
卷积码编码和维特比译码.doc_第3页
卷积码编码和维特比译码.doc_第4页
卷积码编码和维特比译码.doc_第5页
资源描述:

《卷积码编码和维特比译码.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、卷积码编码维特比译码实验设计报告SUN一、实验目的掌握卷积码编码和维特比译码的基本原理,利用了卷积码的特性,运用网格图和回溯以得到译码输出。二、实验原理1.卷积码是由连续输入的信息序列得到连续输出的已编码序列。其编码器将k个信息码元编为n个码元时,这n个码元不仅与当前段的k个信息有关,而且与前面的(m-1)段信息有关(m为编码的约束长度)。2.一般地,最小距离d表明了卷积码在连续m段以内的距离特性,该码可以在m个连续码流内纠正(d-1)/2个错误。卷积码的纠错能力不仅与约束长度有关,还与采用的译码方式有关。3.维特

2、比译码算法基本原理是将接收到的信号序列和所有可能的发送信号序列比较,选择其中汉明距离最小的序列认为是当前发送序列。卷积码的Viterbi译码是根据接收码字序列寻找编码时通过网格图最佳路径的过程,找到最佳路径即完成了译码过程,并可以纠正接收码字中的错误比特。4.所谓“最佳”,是指最大后验条件概率:P(C/R)=max[P(Cj/R)],一般来说,信道模型并不使用后验条件概率,因此利用Beyes公式、根据信道特性出结论:max[P(Cj/R)]与max[P(R/Cj)]等价。考虑到在系统实现中往往采用对数形式的运算,以求

3、降低运算量,并且为求运算值为整数加入了修正因子a1、a2。令M(R/Cj)=log[P(R/Cj)]=Σa1(log[P(Rm/Cmj)]+a2)。其中,M是组成序列的码字的个数。因此寻找最佳路径,就变成寻找最大M(R/Cj),M(R/Cj)称为Cj的分支路径量度,含义为发送Cj而接收码元为R的似然度。5.卷积码的viterbi译码是根据接收码字序列寻找编码时通过网格图最佳路径的过程,找到最佳路径即完成了译码过程并可以纠正接收码字中的错误比特。三、实验代码#include#include"Coni

4、o.h"#defineN7#include"math.h"#include#include#definerandomize()srand((unsigned)time(NULL))encode(unsignedint*symbols,/*编码输出*/unsignedint*data,/*编码输入*/unsignedintnbytes,/*nbytes=n/16,n为实际输入码字的数目*/unsignedintstartstate/*定义初始化状态*/)///////////////

5、/////////////////////////////////////////////////////////////卷积码编码///////////////////////////////////////////////////////////////////////////////{unsignedintj;unsignedintinput,a1=0,a2=0,a3=0,a4=0,a5=0,a6=0;for(j=0;j

6、^a1^a2^a3^a6;//c1(171)symbols++;*symbols=input^a2^a3^a5^a6;//c2(133)symbols++;a2=a1;a1=input;}return0;}inttrandistance(intm,intstate1,intstate2)/*符号m与从state1到state2时输出符号的汉明距离,如果state1无法到state2则输出度量值为100*/{intc;intsym,sym1,sym2;sym1=((state2>>1)&1)^(state2&1)^(s

7、tate1&1);sym2=((state2>>1)&1)^(state1&1);sym=(sym1<<1)

8、sym2;if(((state1&2)>>1)==(state2&1))c=((m&1)^(sym&1))+(((m>>1)&1)^((sym>>1)&1));elsec=10000;return(c);}inttraninput(inta,intb)/*状态从a到b时输入卷积码的符号*/{intc;c=((b&2)>>1);return(c);}inttranoutput(inta,intb)/*状态从a到

9、b时卷积码输出的符号*/{intc,s1,s2;s1=(a&1)^((a&2)>>1)^((b&2)>>1);s2=(a&1)^((b&2)>>1);c=(s1<<1)

10、s2;return(c);}//////////////////////////////////////////////////////////////////////////

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。