信息论与编码的课程设计.docxVIP

  • 148
  • 0
  • 约1.32万字
  • 约 21页
  • 2021-03-03 发布于辽宁
  • 举报
PAGE 1 - 摘要 信息是从人类出现以来就存在于这个世界上,人类社会的生存和发展都离不开信息的获取、传递、处理、再生、控制和处理。而信息论正是一门把信息作为研究对象,以揭示信息的本质特性和规律为基础,应用概率论、随即过程和数理统计等方法来研究信息的存储、传输、处理、控制、和利用等一般规律的学科。主要研究如何提高信息系统的可靠性、有效性、保密性和认证性,以使信息系统最优化。在信息论的指导下,信息技术得到飞速发展,这使得信息论渗透到自然科学和社会科学的所有领域,并且应用与众多领域:编码学、密码学与密码分析、数据压缩、数据传输、检测理论、估计理论等。信息论的主要基本理论包括:信息的定义和度量;各类离散信源和连续信源的信源熵;有记忆,无记忆离散和连续信道的信道容量,平均互信息;无失真信源编码相关理论。 求离散性信源熵也是信息论课程实践学习中必须要经历,在了解常规的求解方式的同时,利用计算机语言进行实践编程。 用预先规定的方法将文字、数字或其他对象编成数码,或将信息、数据转换成规定的电脉冲信号。编码在电子计算机、电视、遥控和通讯等方面广泛使用。其中哈夫曼编码有广泛的应用,通过本次实验,了解编码的具体过程,通过编程实现编码。本次实验所使用的机器语言均为C语言。 关键字:信息论 离散和连续信源熵 哈夫曼编码 C语言编程设计 目录 TOC \o 1-3 \h \z \u 摘要 - 1 - 第一章 课程设计概述及意义 - 3 - 第二章 设计任务与要求 - 3 - 1、设计目的 - 3 - 1.1 - 3 - 1.2 - 3 - 1.3 - 3 - 1.4 - 4 - 1.5 - 4 - 2.设计内容 - 4 - 3.设计要求 - 4 - 4.设计条件 - 4 - 5.设计思路 - 4 - 6.离散平稳信源熵求解说明 - 5 - 7.哈夫曼编码编程方式说明 - 5 - 第三章 设计流程图 - 6 - 1.信源熵编程计算设计流程图 - 7 - 2.哈夫曼编码程序设计流程图 - 8 - 3.软件介绍 - 8 - 3.1 Visual C++ 6.0简介 - 8 - 3. 2主要部分 - 9 - 第三章 程序运行及结果 - 10 - 1.计算信源熵结构截图 - 10 - 2.哈夫曼树编程截图结果 - 11 - 3.设计内容举例结果分析 - 11 - 第五章 课程设计心得体会 - 13 - 附录 - 14 - 1.参考文献 - 14 - 2.哈幅曼树调试程序 - 14 - 3.信源熵计算调试程序 - 19 - 第一章 课程设计概述及意义 本课程设计是在学习了《信息论与编码》和相关开发的软件课程后,让我们通过实际的操作来熟悉信源编码微机实现,培养我们能够独立的完成对相关课题或者项目的分析能力、设计能力和调试能力。本课程设计是衔接在C课程、数据结构课程设计之后的,运用程序思想来完成的,联系信息论与编码所学内容,要求有独立的操作界面。在这次的课程设计中,着重培养的是我们的自学能力,以及独立分析互联网上和图书馆里的各种资料,来丰富自己的知识并且提高对数学公式的计算机实现、VC++等软件的实际操作能力。通过这次的课程设计,能够使我们对已经学习过的信息论与编码课程的进一步的掌握,能够对知识进行最大程度的消化融汇。因此这次的课程设计对我们有着非常重要的意义。 本课程设计中用VC编写出基于visual studio2010界面的简单软件以实现压缩信源熵求解及哈夫曼编码的目的。经过比较系统合理的编程操作,实现可视化的窗口以方便用户使用。通过简单校验确保信源正确性,保证软件的可靠性。最终将结果保存为文档方便记录编码结果。 通过让完成具体编码算法的程序设计和调试工作,达到提高编程能力和深刻理解编码理论及信源熵求解的目的。培养我们使用计算机和查阅参考资料的能力,提高我们的基本设计能力。培养了理论联系实际和独立思考的能力。并激发我们的实际开发创造的意识和能力。培养和提高我们的自学能力以及综合运用所学理论知识去分析解决实际问题的能力。 第二章 设计任务与要求 1、设计目的 1.1深刻理解信源熵的计算方法; 1.2深刻理解信源编码的基本思想与目的; 1.3理解哈夫曼编码方法的基本过程与特点; 1.4提高综合运用所学理论知识独立分析和解决问题的能力; 1.5提高使用C语言或其他语言进行编程的能力,以及visual studio 软件的应用能力。 2.设计内容 首先对拖入文件中的字符总个数进行统计 ,然后从文本头开始查找同一字符个数,并

文档评论(0)

1亿VIP精品文档

相关文档