香农编码实验报告(共10页).doc
《香农编码实验报告(共10页).doc》由会员分享,可在线阅读,更多相关《香农编码实验报告(共10页).doc(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 中南大学 信息论与编码实验报告 题 目 信源编码实验 指导教师 学 院专业班级 姓名 学号 日期 目录一、香农编码.3 实验目的.3 实验要求.3 编码算法.3 调试过程.3 参考代码.4 调试验证.7 实验总结.7二、哈夫曼编码.8 实验目的.8 实验原理.8 数据记录.9 实验心得.10一、香农编码1、实验目的 (1)进一步熟悉Shannon编码算法; (2)掌握C语言程序设计和调试过程中数值的进制转换、数值与字符串之间的转换等技术。2、实验要求 (1)输入:信源符号个数q、信源的概率分布p; (2)输出:每个信源符号对应的Shannon编码的码字。3、Shan
2、non编码算法 1:procedure SHANNON(q,)2: 降序排列3: for i=1 q do4: F() 5: 6:将累加概率F()(十进制小数)变换成二进制小数。7:取小数点后个二进制数字作为第i个消息的码字。8:end for9:end procedure-4、 调试过程1、fatal error C1083: Cannot open include file: unistd.h: No such file or directory fatal error C1083: Cannot open include file: values.h: No such file or d
3、irectory原因:unistd.h和values.h是Unix操作系统下所使用的头文件纠错:删去即可2、error C2144: syntax error : missing ) before type int error C2064: term does not evaluate to a function原因:l_i(int *)calloc(n,sizeof(int); l_i后缺少赋值符号使之不能通过编译纠错:添加上赋值符号3、 error C2018: unknown character 0xa1原因:有不能被识别的符号纠错:在错误处将不能识别的符号改为符合C语言规范的符号4、
4、error C2021: expected exponent value, not 原因:if(fabs(sum-1.0)DELTA); 这一行中DELTA宏定义不正确纠错:# define DELTA 0.5、 error C2143: syntax error : missing ; before 原因:少写了“;”号纠错:在对应位置添加上“;”号5、 参考代码# include# include# include# include# define DELTA 0./*精度*/void sort(float*,int);/*排序*/int main(void)register int i,
5、j;int n; /*符号个数*/int temp;/*中间变量*/float *p_i; /*符号的概率*/float *P_i; /*累加概率*/int *l_i; /*码长*/char * *C; /*码集合*/*用sum来检验数据,用p来缓存了中间数据*/float sum,p;/*输入符号数*/fscanf(stdin,%d,&n);/*分配内存地址 */p_i=(float *)calloc(n,sizeof(float);P_i=(float *)calloc(n,sizeof(float);l_i=(int *)calloc(n,sizeof(int); /* 存储信道传输的概
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 香农 编码 实验 报告 10
限制150内