信息论编码实验报告费诺编码附源代码讲述

信息论编码实验报告费诺编码附源代码讲述

ID:33040357

大小:160.41 KB

页数:13页

时间:2019-02-19

信息论编码实验报告费诺编码附源代码讲述_第1页
信息论编码实验报告费诺编码附源代码讲述_第2页
信息论编码实验报告费诺编码附源代码讲述_第3页
信息论编码实验报告费诺编码附源代码讲述_第4页
信息论编码实验报告费诺编码附源代码讲述_第5页
资源描述:

《信息论编码实验报告费诺编码附源代码讲述》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、中南大学信息论与编码实验报告选题:费诺编码学生姓名:学号:专业班级:通信工程指导老师:学院:信息科学与工程学院时间:2015目录一.实验目的二、实验原理2.1费诺编码思想2.2费诺编码流程图三、实验内容实验要求五、代码调试结果六.心得体会七.程序源代码一实验目的1.掌握费诺编码的原理和过程。2.熟悉C/C++语言,练习使用C/C++实现香农码和Huffman编码。二、实验原理2.1费诺编码思想设有离散无记忆信源pMi=1.按信源符号的概率从大到小的顺序排队不妨设(兀2)、……»p(e)2.将依次排列的信源符

2、号按概率值分为两大组,使两个组的概率z和近似相同,并对各组赋予一个二进制码元“0”和“1”O3.将每一大组的信源符号再分为两组,使划分后的两个组的概率之和近似相同,并对各组赋予一个二进制符号“0”和“1”04.如此重复,直至每个组只剩下一个信源符号为止。5.信源符号所对应的码字即为费诺码。例:有一单符号离散无记忆信源■X■XIX2兀3兀4无5兀6]_P(X)_=0.320.220.180.160.080.04/对该信源编二进制费诺码0.320000兀20.221010.180100.16101100.0811

3、01110%0.0411111H(X)=2.350〃/sign)R=—log2m警97.92%6K=YPdM=2.4(比特/符号)Z=12.2费诺编码流程图三、实验内容使用cc++实现费诺编码,并自己设计测试案例。实验要求1.提前预习实验,认真阅读实验原理以及相应的参考书。1.认真高效的完成实验,实验中服从实验室管理人员以及实验指导老师的管理.2.认真撰写实验报告,内容可以自己编排,可以考虑包括以下一些方面:原理概述、程序设计与算法描述、源程序及注释(程序太长可以只选取重要部分)、运行输出结果实例、调试和运

4、行程序过程中产生的问题及采取的措施、对实验的讨论分析、总结。五、代码调试结果费诺编码实验选疑:丄•笔率编码:2■追出:1请输入信源符号个数:3请输入各信源符号概率«0.60.30•丄信源费诺编码如下:概率xl-0.6x2=0.3心=0•丄玛字沟码长対01102丄丄2H<X>=1.29546<匕匕牛寺/符号〉信源幡平均码长K-1.4<比特/符号〉编码效率为92.533X1-竜蚩编帀n5010110111概率xl=0-5x2=0■3x3=0.15x4=0■05O:编程幵^C++MicrosoftVisual

5、i-Wig编码’2•遗出:编码效率为96-9253X平均码长K=1.7<比特/符号>信源燔H<X>=1.64773<比特/符号>i1请输入信源符号亍数:i青输入各信源符号概率:0.50.30.150.05言源费诺编码如下:D:扁程开发C++MicrosoftVisualStudioMyProjectssdyyDebugsdyy.exe费诺编码实验编码:pI青输入信源符号个数:备输入各信源符号概率:0.90.20.1输入概率有错,请重新输入?诺编码:请输入信源符号个数:4一六、心得体会通过木次试验

6、,熟悉了C++的使用方法以及在信息论中的使用方法,加强了课程框架的理解。在这次实验中,再次对信息论与编码有了更深层的理解,以前只是通过书上的理论推导,对相关的计算不是特别理解,通过这次的上机实际操作,以及函数图形的绘制,让我对爛函数有了更多的感性认识。对费诺编码的理论了解得更透彻。总的来说,不仅是实验的结果,更重要的是过程和思考,是我学到了很多的知识,真的是受益匪浅。七、实验代码#include#include#include#defineN15/

7、/fano编码算法intpa[N][N];voidfano(floatp[],inta[N][N],intn,intm,intk)floatg=0.0,h=0.0,d,b,c;inti,j;if(ng){d二h-讥i];b二h—g;c二g-d;if(c>b)for(j=n;j<=i;j++)a[j][k]二0;fano(p,a,n,i,k+1);for(j=i+l;j<=

8、m;j++)a[j][k]=l;fano(p,a,i+1,m,k+1);}elsefor(j=n;j<=i-l;j++)a[j][k]=0;fano(p,a,n,i-1,k+1);for(j=i;j<=m;j++)a[j][k]=l;fano(p,a,i,m,k+1);break;voidselect()//初始化选择,实现编码voiddisplay();voidchoose();inti,j,k[

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。