河南理工大学电气学院信息论与编码课程设计报告.docVIP

河南理工大学电气学院信息论与编码课程设计报告.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
河南理工大学电气学院信息论与编码课程设计报告

河南理工大学电气学院 信息论与编码 课 程 设 计 设计题目:1.统计信源熵 2.哈夫曼编码 学 院: 电气工程与自动化学院 专业班级: 电科12-1班 姓 名: 学 号: 指导老师: 成凌飞 目录 一、设计任务与要求 二、设计思路 三、设计流程图 四、程序运行及结果 五、心得体会 六、参考文献 七、附录(源程序) 设计任务与要求 1.统计信源熵 要求:统计任意文本文件中各字符(不区分大小写)数量,计算字符概率,并计算信源熵。 2.哈夫曼编码 要求:任意输入消息概率,利用哈夫曼编码方法进行编码,并计算信源熵和编码效率。 二、设计思路 1.统计信源熵的设计思路 在VC++环境中进行编程 (1)打开一篇文章,将26个英文字母及空格作为信源。 (2)计算每个字母出现的次数(不区分大小写),再通过计算信源总大小来计算在本篇文章中每个字母出现的概率。 (3)通过信源熵计算公式来计算信源熵。 2.哈弗曼编码的设计思路 在matlab中进行编码 输入概率矩阵,并检验是否正确,即各概率不能小于零,总概率之和等于一。 建立各概率符号的位置索引矩阵Index,利于编码后从树根进行回溯,从而得出对应的编码 输出所需的哈弗曼编码。 计算信源熵,并计算平均码长,算出编码效率。 输出结果。 三、设计流程图 1.统计信源熵的设计思路 2.哈弗曼编码设计思路 四、程序运行及结果 1.统计信源熵程序运行结果 测试输入:text.txt There is no hate without fear. Hate is crystallized fear, fears dividend, fear objectivized. We hate what we fear and so where hate is, fear is lurking. Thus we hate what threatens our person, our vanity and our dreams and plans for ourselves. If we can isolate this element in what we hate we may be able to cease from hating. 测试目的:检验程序是否正确。 检验方法:用验证法来检验;看中概率是否为一,并检测信源熵是否正确。 检验结果:程序运行结果正确。 如下截屏所示 2.哈弗曼编码程序运行结果 测试输入:0.2 0.19 0.18 0.17 0.15 0.10 0.01 测试目的:测试经常出现的信源符号是否对应较短的码长,检测程序运行结果是否正确。 正确输出:01 00 111 110 101 1001 1000 信源熵为2.6087 bit/符号 平均码长为2.7 码元/符号 传送速率为0.9591 bit/码元 实际输出:与争取而输出一样 检测结果:程序无错误 以下为截屏 五、心得体会 课程设计是非常锻炼我们能力的一种方法,在准备课程设计的过程中,各方面都有所提高。首先,再一次对课本知识进行学习,将所有设计到的知识重新温习一遍,并且针对设计,还要看些其它相关书籍,对知识进行升华,其次,针对课程设计,必须针对其要求进一步提取有效内容,锻炼分析问题,解决问题的能力,尽管本次课程设计相对简单些,我们还是需要从各方面进行准备,另外就是编写程序,这是本次课程设计的关键,编写程序,从不懂到会,这无疑又是一种极大的提高,还有在编程时遇见了不少问题,各种函数的应用都在考验着我们,然后便是我们小组的合作精神,随着学习的深入和实践的锻炼,我们越来越觉得团队合作对于我们的重要性,在现在的社会,几乎没有人可以脱离团体单独工作,科技的发展,人类的进步,我们社会工作状态都呈现了一种个人分工,集体作战的策略,因此,在我们未正式进入社会之前,能够锻炼自己的团队精神,这是相当好的。 六、参考文献 1 曹雪虹、张宗橙编著《《信息论与编码》》.清华大学出版社,2009年第2版 2 贾宗璞、许合利编著《《C语言程序设计》》.人民邮电出版社,2010年第1版 3 严蔚敏、吴伟民编著《《数据结构(C语言版)》》.清华大学出版社,1997年第1版 七、源程序清单 一.统计信源熵 //要求:统计任意文本文件中各字符(不区分大小写)数量,计算字母及空格

文档评论(0)

shenlan118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档