信息论与编码课程设计 (2)

上传人:大米 文档编号:458251737 上传时间:2023-10-31 格式:DOCX 页数:12 大小:78.12KB
返回 下载 相关 举报
信息论与编码课程设计 (2)_第1页
第1页 / 共12页
信息论与编码课程设计 (2)_第2页
第2页 / 共12页
信息论与编码课程设计 (2)_第3页
第3页 / 共12页
信息论与编码课程设计 (2)_第4页
第4页 / 共12页
信息论与编码课程设计 (2)_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《信息论与编码课程设计 (2)》由会员分享,可在线阅读,更多相关《信息论与编码课程设计 (2)(12页珍藏版)》请在金锄头文库上搜索。

1、信息论与编码课程设计设计题目:1 ,统计信源嫡2.香农编码2015/3/7摘要信息是从人类出现以来就存在于这个世界上,人类社会的生存和发展都离不 开信息的获取、传递、处理、再生、控制和处理。而信息论正是一门把信息作为 研究对象,以揭示信息的本质特性和规律为基础,应用概率论、随即过程和数理 统计等方法来研究信息的存储、传输、处理、控制、和利用等一般规律的学科。主要研究如何提高信息系统的可靠性、有效性、保密性和认证性,以使信息系统 最优化。在信息论的指导下,信息技术得到飞速发展,这使得信息论渗透到自然 科学和社会科学的所有领域,并且应用与众多领域:编码学、密码学与密码分析、 数据压缩、数据传输、检

2、测理论、估计理论等。信息论的主要基本理论包括:信 息的定义和度量;各类离散信源和连续信源的信源燧;有记忆,无记忆离散和连 续信道的信道容量,平均互信息;无失真信源编码相关理论。求离散性信源摘也是信息论课程实践学习中必须要经历,在了解常规的求解 方式的同时,利用计算机语言进行实践编程。川预先规定的方法将文字、数字或其他对象编成数码,或将信息、数据转换成规 定的电脉冲信号。编码在电子计算机、电视、遥控和通讯等方面广泛使用。其中 哈夫曼编码有广泛的应用,通过本次实验,了解编码的具体过程,通过编程实现编 码。本次实验所使用的机器语言均为c语言。关键字:信息论 信源熔 香农编码C语言编程设计2目录摘要2

3、1任务与要求41.1 统计信源燧41.2 香农编码41.3 报告要求42设计思路42 . 1香农编码原理43 .2编译工具53设计流程图54程序运行及结果64.1 程序运行64.2 运行结果75、心得体会86参考文献97附录(源程序)91任务与要求1.1 统计信源烯要求:统计任意文本文件中各字符(不区分大小写)数量,计算字符概率,并 计算信源增。1.2 香农编码要求:任意输入消息概率,利用上述编码方法进行编码,并计算信源摘和编码效 率。1.3 报告要求(1)学生可独立完成,或组队共同完成。每队人数不多于4人。提交一份独 立完成的课程设计报告(纸质和电子版),做5分钟PPT汇报,并演示程序。每

4、队选择1人汇报和演示程序,其他人答辩。(2)课程设计报告包括设计任务与要求、设计思路、设计流程图、程序运行 及结果、心得体会、参考文献、附录(源程序)等内容。2设计思路2. 1香农编码原理香农笫一定理指出了平均码长与信源之间的关系,同时也指出了可以通过 编 码使平均码长达到极限值,这是一个很重要的极限定理。如何构造这种码? 香农第一定理指出,选择每个码字的长度Ki满足下式:I(xi)K I(xi)+1,就可以得到这种码。这种编码方法就是香农编码。香农编码法冗余度稍大,实用性不大,但有重要的理论意义。编码步骤如下:(1)将信源消息符号按其出现的概率大小依次排列p (xl) 2P (x2) N,N

5、p (xn)(2)确定满足下列不等式整数码长Ki: -log2p(xi)Ki-log2p(xi)+l(3)为了编成唯一可译码,计算笫i个消息的累加概率Pi=a-+1 likp(xk)(4)将累加概率Pi会成二进制数。(5)取Pi二进制数的小数点后Ki位即为该消息符号的二进制码字。(6)信源编码效率计算公式:8 =色旦.2.2编译工具Visual C+ 6. 0,简称VC或者VC6.0,是微软推出的一款C+编译器,将 “高级语言”翻译为“机器语言(低级语言)”的程序。Visual C+是一个功能 强大的可视化软件开发工具。Visual C+6.0由许多组件组成,包括编辑器、调 试器以及程序向导A

6、ppWizard、类向导Class Wizard等开发工具。这些组件通 过一个名为Developer Studio的组件集成为和谐的开发环境。Visual C+是一 个功能强大的可视化软件开发工具。3设计流程图4程序运行及结果4.1 程序运行将程序进行编译纠正错误之处如图一所示:商总口解区电亳町国官喇;ZJI勒 global membert 川.mainj(Globals)/Q十算符号概率,logHSCIassV. U FileViewlot t = Counti;char ch = Namei;/Countfi = Countfi + 1;Nanei = Nanei + 1;Counti +

7、 1 = t;Nanei + 1 = ch;for( i = 8; i = 26 -j - 1; i+)iF(Counti Counti + 1)MJCN -Text2.exe - 0 error(s), 0 vjarning(s)图一4.2 运行结果信源燧:编译无错误后输入文档Snubs are mainly teenagers aged between 13 and 25, who are having fun with the service. There are all sorts of things snubs like to share for immediate consumpt

8、ion, ranging from wacky facial expressions to pictures of a meal theyre about to eat. Its a way to share a moment with a specific friend and - in a way - a bit of an antidote to traditional social networking. In fact, the motivation for creating the app was to create a service that provided more pri

9、vacy than other social networks.的打开地址。运行结果如图二所示:香农编码:输入任意一组概率例如(0.1 0.2 0.3 0.15 0.25)结果应为: 0.300; 0.2501; 0.2100; 0.15110; 0.1111;编码效率为:0.873809bit/符号。运行结果如图三所示:请输入文件名称:I信源嫡为:4.10850bit/字符信源符号数目符号概率paA)440.112821bB)50.012821cC)140.035897dD)90.023077e430.110256110.028205gG80-020513hH150.0384621330.0

10、8461540.0102561L)90.02307?100.025641nN)280.071795o0)300.076923pP)80.020513fR)270.069231图二 T:UsersAdmini5trator. PC-20141114QNGRDesktopDebugxnbm.exe请输入一组概率的个数 请输入一组概率:0.1 0.2 0.3 0.15 0.25编制效率为泡.8?3皿外迁村马元信源慨为=2.228213bi/字符概率P累加概率-lh字长码字0.3000000.00000。1.7369662000.2500000.3000002.0000002010.2000006.5

11、500002.32192831000.1500000.7500002.73696531100-1000000.9000003.32192841110Press any key to continue图三5、心得体会课程设计是非常锻炼我们能力的一种方法,在准备课程设计的过程中,各方 都有所提高。首先,再一次对课本知识进行学习,将所有设计到的知识重新温习 一遍,并且针对设计,还要看些其它相关书籍,对知识进行升华,其次,针对 课 程设计,必须针对其要求进一步提取有效内容,锻炼分析问题,解决问题的能 力,尽管本次课程设计相对简单些,我们还是需要从各方面进行准备,另外就是编写程序,这是本次课程设计的关键

12、,编写程序,从不懂到会,这无疑乂是 一种 极大的提高,还有在编程时遇见了不少问题,各种函数的应用都在考验着 我们,然后便是我们小组的合作精神,随着学习的深入和实践的锻炼,我们 越来越觉得团队合作对于我们的重要性,在现在的社会,几乎没有人可以脱 离团体单独工作,科技的发展,人类的进步,我们社会工作状态都呈现了一种 个人分工,集体作战的策略,因此,在我们未正式进入社会之前,能够锻炼自 己的团队精神,让我们受益匪浅。6、参考文献1曹雪虹、张宗橙编著信息论与编码.清华大学出版社,2009年第2 版2贾宗璞、许合利编著C语言程序设计.人民邮电出版社,2010年 第1版3严蔚敏、吴伟民编著数据结构(C语言

13、版).清华大学出版社, 1997年第1版7、附录(源程序) 信源燧: Sinclude Sinclude include includemain()char str26=,1 ,q,a, b , c , d , e , f ,,i,i,g, h , i , j , k ,1 ,, , , , , ,m , n , o , p, q , r ,,人,S ,t ,U , V , W , X ,, ,y ,z ,;int i ;int j ;int Count 26=0;字母计数int Total = 0;符号总数float Pr26 = 0;/符号概率float L_Pr26 = 0;/-log(

14、P)FILE *fp; 文件指针char c;定义一个字符型变量float H = 0;信息量char Filename30;printf (请输入文件名称:);scanf (飞20s, Filename);读取输入if (fp = fopen( Filename, r) = NULL)以只读方式打开printf(输入有误,读取失败! );输出提示信息/*统计每个符号数目,和符号总数法/while (c二fgetc(fp) != EOF)读取一个非0字符,EOF文本结束标志 (/putchar (c);for ( i = 0; i 26; i+) if(c = stri) (c = (stri - 32)Total+; 计算字符总数Count i+;编号为i的字母数目 )fclose (fp);关闭文件printf(nn);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号