- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
信息论基础
课程设计报告书
班级: 计算331 姓名: 王宇 (200909014217)
设计题目: 课程设计软件
设计时间: 2012.7.4 至 2012.7.8
指导教师:
评 语:
_________________________________________
_________________________________________
_________________________________________
_________________________________________
评阅成绩:__ __评阅教师:__ ___
目 录
设计总说明 1
前 言 2
第1章 总体设计方案 3
1.1 软件结构设计 3
第2章 算法思想及设计 5
2.1香农编码 5
2.1.1香农编码思想: 5
2.1.2香农编码算法设计: 6
2.2费诺编码 6
2.2.1费诺编码思想 6
2.2.2费诺编码算法设计 7
第3章 软件详细设计 8
3.1主界面设计 8
3.2功能设计 8
3.2.1香农编码的实现 8
3.2.2费诺编码的实现 15
3.2.3有关文档的链接 22
3.2.4皮肤切换的设计 23
第4章 软件测试 26
4.1香农编码的测试 26
4.1.1 软件运行及结果测试 26
4.2费诺编码的测试 27
4.2.1 软件运行及结果测试 27
4.3测试结果 29
第5章 总结 30
参 考 文 献 31
附 录 32
设计总说明
早期的数据压缩起源于人们对概率的认识。当对文字信息进行编码时,如果为出现概率较高的字母赋予较短的编码,为出现概率较低的字母赋予较长的编码,平均编码长度就能缩短不少。著名的Morse电码就是一个范例。信息论之父C.E.Shannon曾指出,任何信息都存在冗余,冗余大小与信息中每个符号的出现概率(不确定性)有关。他所提出的无失真信源编码定理奠定了数据压缩的理论基础。数据压缩的目的就是要消除信息中的冗余,而信息熵及相关的定理恰恰用数学手段精确地描述了信息冗余的程度。本文主要采用香农编码方法来描述过程。 本课程设计中用VC++编写出基于MFC界面的简单软件以实现压缩信源的目的。软件应用香农编码的相关理论,经过比较系统合理的编程操作,实现可视化的窗口以方便用户使用。通过简单校验确保信源正确性,保证软件的可靠性。最终将结果保存为文档方便记录编码结果。 通过让完成具体编码算法的程序设计和调试工作,达到提高编程能力和深刻理解编码理论的目的。培养我们使用计算机和查阅参考资料的能力,提高我们的基本设计能力。培养了理论联系实际和独立思考的能力。并激发我们的实际开发创造的意识和能力。培养和提高我们的自学能力以及综合运用所学理论知识去分析解决实际问题的能力。
第1章 总体设计方案
软件结构设计
图1.1.1 软件功能结构图
图1.1.2 香农编码流程图
图1.1.3 费诺编码流程图
第2章 算法思想及设计
2.1香农编码
2.1.1香农编码思想:
设有离散无记忆信源:
1.按信源符号的概率从大到小的顺序排列,为方便起见,可令
2.
3.确定满足下列不等式的整数,并令为第个码字的长度
4.把用二进制表示,用小数点后的位作为的码字
例:有一单符号离散无记忆信源
对该信源编二进制香农码
编码过程 :
2.1.2香农编码算法设计:
通过文本框输入信源符号及相应概率。用冒泡法将信源符号及概率依概率由大到小排序,计算其累加概率,用数学公式计算每个信源符号的。最后把结果写入列表控件中,以可视化方式显示编码结果。
2.2费诺编码
2.2.1费诺编码思想
设有离散无记忆信源
1.按信源符号的概率从大到小的顺序排队
不妨设
2.将依次排列的信源符号按概率值分为两大组,使两个组的概率之和近似相同,并对各组赋予一个二进制码元“0”和“1”。
3.将每一大组的信源符号再分为两组,使划分后的两个组的概率之和近似相同,并对各组赋予一个二进制符号“0”和“1”。
4.如此重复,直至每个组只剩下一个信源符号为止。
5.信源符号所对应的码字即为费诺码。
对该信源编二进制费诺码
2.2.2费诺编码算法设计
通过输入字符串或打开相关文件获取字符串,用字符串处理方法统计每个字符的数量及运算其概率。然后按照每个字符的概率用冒泡法进行排序。
然后用递归的思想进行费诺编码,求得了每个字符的二进制码字。并且对编码后的平均码长,以及编码的传输效率进行了求解。
第3章 软件详细设计
3.1主界面设计
文档评论(0)