蚂蚁文库
换一换
首页 蚂蚁文库 > 资源分类 > DOC文档下载
 

卷积码编译实验报告

  • 资源ID:51171836       资源大小:145.50KB        全文页数:6页
  • 资源格式: DOC        下载权限:游客/注册会员    下载费用:10积分 【人民币10元】
快捷注册下载 游客一键下载
会员登录下载
三方登录下载: 微信快捷登录 QQ登录  
下载资源需要10积分 【人民币10元】
邮箱/手机:
温馨提示:
支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
支付方式: 微信支付    支付宝   
验证码:   换一换

 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

卷积码编译实验报告

【实验名称】卷积码的编码与译码 【实验内容】写一份程序实现卷积码的编码和译码。 【实验原理】 卷积码的编码方法是对输入的数据流每次1比特或K比特进行编码,输出N 个编码符号。但输出的码字的每个码元不仅和当前时刻输入的K个信息有关, 也和之前的M个连续输入的信息元有关,因此卷积编码是有记忆的。而译码则 是通过一串码字通过状态流程图或网格图找出唯一的最佳路径进行逆推而得到 码元信息。(这里不再赘述,下面有例子说明)。 【实验流程】 (举例说明如下) 本次设计以(2, 1, 2)卷积码为例。图1为这种卷积编码器的结构,它的 编码方法是序列依此移入一个两级移位寄存器,编码器每次输入一位信息b, 输出端的开关就在c1和c2之间来回切换一次,输出为c1c2,其中 c1b1b2b3 c2b1b3 弋7 图1 (2, 1, 2)卷积编码器 假设寄存器ml、m2的起始状态为全零,则编码器的输入输出时序关系 图可用图2来表示。 输入 bl b2 b3 b4 b5 输出 Cll C21 C12 C22 C13 C23 C14 C24 C15 C25 2, 1, 2卷积编码器输入输出时序 如果输入的数据流是101011,则根据上面编码器我们可以得到输出的编码 数据流为 11 10 00 10 00 01 o . 2、解码过程 解码是编码的逆过程,了解了编码过程后,理解解码过程的操作就相对容易 了。首先我们根据卷积码的特点,我们采用了两种图解对卷积码进行研究,一种 是状态转移图,另一种是网格图。 其状态转移图如图3所示,椭圆里面的数据代表当前状态,箭头方向代表转 移的方向,0/11代表输入的码元为0,输出11o . 2, 1, 2卷积编码器状态转移图 3 另一种更为常用的是网格图,横坐标表示时间轴,每一次状态转移利用连接 相邻的时间点上的两个状态的有向线段来表示。图4便是对应的网格图。 其中实线表示“0” ,虚线表示“1” O 图42, 1, 2卷积编码器网格图 我们解码的思路是由于信息序列和编码序列有着一一对应的关系,而这种关 系又唯一对应网格图的一条路径,因此译码就是根据接收序列在网格图上的路径 逆推出源码码元信息序列。但是这样的最大似然译码在现实编码难以实现,因为 找出最佳路径用的是逐步比较,把接收序列的第j个分支码字和网格图上相应的 两个时刻t1和t2之间进行比较,计算和记录他们的汉明距离等,这样比较分支 较多不易实现。所以我采用状态流程图进行逆推,它的每次转移也是有根据图1 的原理来转移的,而且路径也是只有一条,这也相当于使用网格图逆推来译码的。 假设我们输入待译码数据流为11 1000 1000 01,根据上述两种图逆推均可 以得到源码码元数据流为101011。 3、码字纠错个数计算 根据分组码的理论,码字最多可以纠正错误的个数t有最小距离d确定 t[d-1/2]向下取整 通过许多参考书中描述,编码效率r1/2的编码表中可以得到,当约束长度 K3时,其自由最小距离为5,有上述公式计算的最多可以纠错2个码字。 【实验程序】 include iostream using namespace std; void main *★**★**★**★**★**★**★*******★* / {/*★★*★**★**★**★**★**★* 石 q 立B 分 char ch,x1 ,x2,y1 0,y2,0,;//x1 x2 为输入,y1、y2 为当前状态 int mO 0,m1 0,m2 0, c1 0, c2 0, tt 0, dd 0;〃给要使用到的数据赋 初值 coutn清输入数据流只能输入。或1 “; forint i0;iv5; i〃使用循环 6 次 cinch;〃用户输入要编码的字符时,赋给ch m2m1; 〃执行状态转移 m1mO; mOch; c1m0m1m22;〃求 mO、ml m2 的模 2 加 c2m0m22; 〃求 mO、m2 的模 2 加 coutvv””vvc1vv””vvc2vv” ”; } printf,,\n\nH; /********************而yr|7 J}***************************] coutvv”请输入待译的密码字符串” vvendl; forint j0;jv5;j〃使用循环 6 次 { cinx1//ffi户输入要编码的字符时,赋给x1,x2 cinx2; ifx1 ”x21 *y1 0y2。 {〃若输入11,而当前状态为00时 coutvvT;//译为 1 y1T; 〃跳到10状态 y2,0,; continue; else ifx1 0x20y1 0y2O {〃若输入00,而当前状态为00时 cout0M;//译为 0 y10; 〃跳到00状态 y2,0,; continue; } else ifx1 0x21 *y1 1 y2O {〃若输入01,而当前状态为10时 coutvvT;// 译为 1 y1T; 〃跳到11状态 y2”; continue; else ifx1 x2Oy1 1 ,y20, {//若输入10,而当前状态为10时 cout0M;//译为 0 y10; 〃跳到01状态 y2; continue; else ifx1 0x21 *y1 y2T {〃若输入01,而当前状态为11时coutvv”0”;〃译为 0 y1。; 〃跳到01状态 y2”; continue; else ifx1 x2Oy1 1 ,y21, {〃若输入10,而当前状态为11时 coutvvT;//译为 1 y1; 〃跳到11状态 y2V; continue; else ifx1 x2Ty1 0y2 {〃若输入11,而当前状态为01时 coutvv”0”;〃译为 0 y10‘; 〃跳到00状态 y2,0,; continue; } else ifx1 0x20y1 0y21 {〃若输入00,而当前状态为01时 coutvvT;//译为 1 y1T; 〃跳到10状态 y2,0,; continue; /* ***************** 计

注意事项

本文(卷积码编译实验报告)为本站会员(aaakkpc)主动上传,蚂蚁文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蚂蚁文库(发送邮件至2303240369@qq.com或直接QQ联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们


网站客服QQ:2303240369

copyright@ 2017-2027 mayiwenku.com 

网站版权所有  智慧蚂蚁网络

经营许可证号:ICP备2024020385号



收起
展开