课程设计 卷积码的编译码_第1页
课程设计 卷积码的编译码_第2页
课程设计 卷积码的编译码_第3页
课程设计 卷积码的编译码_第4页
课程设计 卷积码的编译码_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计——卷积码的编译码卷积码编码:数据分组到数据分组的转换信息位长:码长:码率:记为卷积码称为码元,称为码字。只与当前k个码元有关与当前k个码元和前mk个码元有关(n,k,m)卷积编码器,m:记忆深度卷积码编码器(2,1,2)卷积码编码器结构连接矢量:编码输出:卷积码的表示方法(1)状态:图中的椭圆内的值为移位寄存器的状态值。实线表示输入值为0的情况,虚线表示输入值为1的情况。括号内表示输入值,括号外表示输出值。状态转移图输出:卷积码表示方法(2)树状图网格图卷积码编码器输入1110100输出110110010010111/110/101/010/111/000/011/100/00卷积码译码网格图:把编码器的状态图沿时间轴展开译码:译码器根据接收到的序列在条编码路径中选择一条路径作为译码输出。最大似然译码译码任务译码器根据接收

产生给出与发端信息序列

最接近的估值序列。最大似然译码(ML):寻找似然函数最大的码字组成的序列,并让其作为发送序列。L:输入信息序列组数(k比特1组)最大似然译码寻找似然函数最大值对应的路径最大似然译码为简化计算,取对数似然函数从条路径中选择对数似然函数值最大的一条路径?复杂度太高!维特比译码路径度量支路度量Viterbi译码译码过程中的最重要的操作:“加-比-选”度量值计算取出两个分支在节点i的路径度量值PM(PathMerit);计算两个分支在节点i+1改变的支路度量值BM(BranchMerit);相加得到两个分支的新PM值;比较两个PM值,选出似然函数值较大可能者;110020003113102010004114103015113003012100接收序列:110110Viterbi译码硬判决译码硬判决译码:对常用的二进制码来说,就是由解调器输出供给译码器译码用的每个码元只限定于2个值0或1。在使用硬判决译码时,支路度量值为码字间的汉明距离。软判决译码软判决:把解调器输出的抽样电压进行量化

,从而由解调器输出供给译码器的值不止2个而有

个,通常取值为8或者16。在使用软判决译码时,支路度量值为码字间的欧式距离。软判决译码Viterbi译码算法的基本步骤从某一时间单位开始,对进入每一状态的所有长为段分支的部分路径,计算部分路径度量。对每一状态,挑选并存贮一条有最大度量的部分路径及其部分度量值,称此部分路径为留选(幸存)路径。

增加1,把此时刻进入每一状态的所有分支度量,和同这些分支相连的前一时刻的幸存路径的度量相加,得到了此时刻进入每一状态的幸存路径,加以存贮并删去其他所有路径,因此幸存路径延长了一个分支。若,则重复以上各步,否则停止,译码器得到了有最大路径度量的路径。11信息序列M:1110100发送码字C:11011001001011接收序列R:11011001011010举例:维特比硬判决译码(1)补零002011

信息序列M:1110100发送码字C:11011001001011接收序列R:11011001011010举例:维特比硬判决译码(2)002000311310201011信息序列M:1110100发送码字C:11011001001011接收序列R:110110010110100020003113102010004114103015113003012100举例:维特比硬判决译码(3)11信息序列M:1110100发送码字C:11011001001011接收序列R:110110010110100102010113003012100004114105013113003010102举例:维特比硬判决译码(4)11信息序列M:1110100发送码字C:11011001001011接收序列R:110110010110100010012100113003010102004114105013111001012104举例:维特比硬判决译码(5)11信息序列M:1110100发送码字C:11011001001011接收序列R:110110010110100010012100301010201311100101200001011130152举例:维特比硬判决译码(6)信息序列M:1110100发送码字C:11011001001011接收序列R:110110010110101100101000100011011120010111举例:维特比硬判决译码(7)仿真分析(matlab)仿真程序流程图关键模块:每个状态的度量值更新state_metric:(number_states,2)第1列是当前时刻的度量值,第2列用来储存下一时刻的度量值。flag=zeros(1,number_states);%指示每个状态是否是第一次更新forj=0:1:number_states-1%遍历所有状态fort=0:1:2^k-1%遍历所有输入[out,next_state]=F1(input,current_state);branch_metric=

F2(out,channel_out);%更新每个状态的度量值if(state_metric(current_state,1)+branch_metric<

state_metric(next_state,2))||flag(next_state)==0state(next_state,2)=state_metric(current_state,1)+branch_metric;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论