《信息论课程设计报告书》由会员分享,可在线阅读,更多相关《信息论课程设计报告书(34页珍藏版)》请在毕设资料网上搜索。
1、 信息论基础 课程设计报告书 设计题目: 课程设计软件 设计时间: 2012.7.4 至 2012.7.8 指导教师: 评 语: _ _ _ _ 评阅成绩: 评阅教师: -II- 目 录 设计总说明 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.2 费诺编码的实现 15 3.2.3 有关文档的链接 21 3.2.4 皮肤切换的设计 22 第 4章 软件测试 . 24 4.1香农编码的测试 24 4.1.1 软件运行及结果测试 24 4.2费诺编码的测试 25 4.2.1 软件运行及结果测试 25 4.3测试结果 27 第 5章 总结. 27 参 考 文 献 . 28 附 录 29 -1- 设计总说明设计总说明 早期的数据压缩起源于人们对概率的认识。当对文字信息进行编码时,如果为出现概率较 高的字母赋予较短的编码,为出现概率较低的字母赋予较长的编码,平均编码长度就能缩短不 少。印象中的著名的Morse 电码就是一个范例。信息论之父
3、 C.E.Shannon曾指出,任何信息都存 在冗余,冗余大小与信息中每个符号的出现概率(不确定性)有关。他所提出的无失真信源编 码定理奠定了数据压缩的理论基础。数据压缩的目的就是要消除信息中的冗余,而信息熵及相 关的定理恰恰用数学手段精确地描述了信息冗余的程度。 本文主要采用香农编码和费诺编码方法来描述信源的编码过程。香农编码采用信源符号与概 率由用户输入。通过一定的校验代码确保离散信源的正确性。例如单个符号的概率不能大于1, 概率和不能大于1,信源概率和不为1 时无法编码等校验。由于香农编码是将信源概率由大到小 排序的,所以,本软件也实现了这一点,输入时不必考虑信源概率顺序问题,软件会自动
4、按概 率排序编码。最后将结果显示在 MFC 列表控件上。用户可以将最终结果保存成文件。费诺编码 通过输入字符串来自动计算单个信源符号的概率。当然,为了方便起见,本软件对费诺编码还 提供了打开文件完成信源输入,从而可以更快的输入字符串。进行编码时同样按概率从大到小 排序,同样可以将结果保存到文件中。 本软件界面友好,方便可靠,用户可根据自己的爱好选择不同的界面风格。在首页加入了 好看的 Flash,使软件更为美观。同样反映除了本软件的功能特性。 根据实验要求和日常压缩数据的习惯,本软件最终完成了以下目标: 1、 界面设计友好,美观,数据存储安全,可靠。 2、 操作简便、适用,无冗余操作。 3、
5、编码效率较高,编码时间短。 关键词: 离散信源;香农编码;费诺编码;信源熵 -2- 前前 言言 本课程设计是在学习了信息论与编码和相关开发的软件课程后,让学生通过实际的操 作来熟悉信源编码微机实现,培养学生能够独立的完成对相关课题或者项目的分析能力、设计 能力和调试能力。本课程设计是衔接在大一时 C课程设计之后的,同样是运用MFC程序来设 计,联系本学期所学内容,要求有独立的操作界面。由于在以前有过类似的练习,故在这次的 课程设计相对以前来说不是太难。在这次的课程设计中,着重培养的是学生的自学能力,以及 独立分析互联网上和图书馆里的各种资料,来丰富自己的知识并且提高对数学公式的计算机实 现、VC+等软件的实际操作能力。通过这次的课程设计,能够使学生对已经学习过的信息论与 编码课程的进一步的掌握,能够对知识进行最大程度的消化融汇。因此这次的课程设计对我们 有着非常重要的意义。 本课程设计中用VC+编写出基于MFC 界面的简单软件以实现压缩信源的目的。软件应用香 农编码的相关理论,经过比较系统合理的编程操作,实现可视化的窗口以方便用户使用。通过 简单校验确保信源正确性,保证软件的可靠性。最终将结果保存为文档方便记录编码结果。 通过让完成具体编码算法的程序设计和调试工作,达到提高编程能力和深刻理解编码理论 的目的。培养我们使用计算机和查阅