信息论编码与密码学实习报告姓名:学号:班级:指导老师:目录一
LempelZil字典编码----------------------------7二
信道容量的计算--------------------------------16三
Hamming码的编码与译码-------------------------36四
循环码最小距离的计算--------------------------43五
维特比译码器软件的设计------------------------56六
实习心得--------------------------------------571一、LempelZiv字典编码1、题目要求:写一个执行Lempel-Ziv算法的程序
该程序的输入可以是英文字母
它应该将字母转化为她们的ASCII码然后进行压缩
它应该输出压缩结果
用这个程序求下列的字符串所得到的压缩:(1)TheLempelZivalgorithmcancompresstheEnglishtextbyaboutfiftyfiveprecent
(2)Thecatcannotsitonthecanopyofthecar
2、算法设计:(1)字典初始化(2)增添开始与结束位(3)开始读入字符流,进入循环(4)以两个字符为一组构建新的字符(5)判断新的字符是否存在于字典中,如果存在,不做处理,如果不存在,将其添加到字典中,将该新字符在字典中的位置作为编码发送(6)译码过程与编码过程相反23、算法流程图开始字典初始化在字典中寻找字符s读入字符p读入下一个字符c判断p+c是否存在字典中将p+c存入字典令p=cp=p+cnoyes34、程序代码:#include#include#includeusingnamespacestd;stringstr1;//定义字符串变量str1stringstr2;stri