实验五维特比译码

实验五维特比译码

ID:28015864

大小:185.83 KB

页数:8页

时间:2018-12-07

实验五维特比译码_第1页
实验五维特比译码_第2页
实验五维特比译码_第3页
实验五维特比译码_第4页
实验五维特比译码_第5页
资源描述:

《实验五维特比译码》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、实验五维特比译码一、实验题目写一个维特比译码器软件,它接受下列输入:1、以八进制形式给出的码的参数,以及2、接收到的比特流。二、实验目的1、理解和掌握卷积码的概念;2、掌握维特比译码的方法;三、算法设计结裒、程序分析min_dist(a,b>函数计算两个码字的汉明重量;num」inzhj(num,jinzhi,wei)函数将十进制的num转换为进制为jinzhi的wei位数;init_state()函数是对state[]矩阵进行初始化操作;G矩阵存储码的参数的二进制形式;xinxi[]矩阵存储输入比特流;state[]矩阵存储如下表的状态;s

2、tate12345678910111213状态点1当.1人刖寄存器的状态输入为0输入为0时输出编码值寄存器下状态输入为1输入为1时输出编码值寄存器下状态输入为0时的汉明距离输入为1时的汉明距离四条路径的汉明距离临吋存储解码值当前解码值叫条路径的汉明距离状态点2状态点3状态点4五、程序代码主函数:display(•编码序列:1);xinxi=[l01001101]%in=0;input_g=*75*;str_length=length(input_g);%将输入的char型数字转换成二进制数%fori=l:str_lengthg_dec=bas

3、e2dec(input_gz8);%将

4、75

5、这个8进制数转换成10进制g=num_jinzhi(g_dec,2,3*str一length);%将10进制数转换成2进制endg;%测试gglobalG;fori=l:str_lengthG_yuanshi(i,1:3)=g(3*i-2:3*i);%将得到的二进制数每三个分成一行endG=G_yuanshi1;%生成査询表格%state=init_state;%以下为编码算法%xinxi_buO=[xinxi00];xinxi_length=length(xinxi_buO);%这弔.的长度实际

6、力补0后的长度state_temp=[00];%初始的状态寄存器里面为00fori=l:xinxi_lengthforj=l:4%对应四种状态ifisequal(state_temp,state{j,1})ifxinxi_bu0(i)==0%若输入力0code(2*i-l:2*i)=state{j,3};%输出码字state_temp=state{j,4};%下一状态elseifxinxi_bu0(i)==1%若输入为1code(2*i-l:2*i)=state{j,6};%输出码字state_temp=state{j,7};%卜一状态end

7、endbreak;endendenddisplay(•信息编码如下:•);code%加入错误编码(这里仅将第三位出错)%code(3)=~code(3);display('出错后的编码:1);code%以下为解码算•法%code_length=length(code);%这里的长度实际为补◦后的长度state_temp=[00];%初姑的状态寄存器里面为00%计算最初始两个码字四条路径的汉明距离state{1,10}=min_dist(state{1,3},[code(1)code(2)])+min_dist(state{l,3},[code

8、(3)code(4)]);%弟——条路径的汉明SU离state{2,10}=min_dist(state{1,3},[code(1)code(2)])+min_dist(state{1,6},[code(3)code(4)]);%第二条路径的汉明距离state{3,10}=min_dist(state{1,6},[code(1)code(2)])+min_dist(state{2,3},[code(3)code(4)]);%弟二1条路径的汉明?11离state{4,10}=min_dist(state{1,6},[code(1)code(2)

9、])+min_dist(state{2,6},[code(3)code(4)]);%第四条路径的汉明距离state{1,11}=[00];%存放第一条路径的前两个码字state{2,11}=[01];%存•放第二条路择的前两个码字state{3,11}=[10];%存放第三条路径的前两个码字state{4,11}=[11];%存放第四条路径的前网个码字fori=l:4state{i,12}=state{i,11};end%fori=3:code_length/2;i=3;whilei<=code_length/2temp=[code(2*i-

10、l)code(2*i)];%K—个码字(2位)%四种状态分别输入0/1后得到八种状态,毎种可能的距离%forj=l:4state{j,8}=min_dist(tem

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

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

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