香农编码课程设计报告

香农编码课程设计报告

ID:35239859

大小:130.00 KB

页数:7页

时间:2019-03-22

香农编码课程设计报告_第1页
香农编码课程设计报告_第2页
香农编码课程设计报告_第3页
香农编码课程设计报告_第4页
香农编码课程设计报告_第5页
资源描述:

《香农编码课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、信息论与编码课程设计实验报告课程题目:香农编码姓名:叶显权学号:311008000927班级:电信10-03班指导老师:成凌飞学院:电气工程与自动化学院日期:2013年3月28日一.设计任务与要求熟悉运用香农编码,并能通过C语言进行编程,对任意输入消息概率,利用香农编码方法进行编码,并计算信源熵和编码效率。二.实验原理原理:编码的目的是为了优化通信系统。香农编码属于不等长编码,通常将经常出现的消息编成短码,不常出现的消息编成长码。从而提高通信效率。香农第一定理指出了平均码长与信源之间的关系,同时也指出了可以通过编码使平均码长达到极限值,这是一个很重要的极限定理。香农第一定理指出,选

2、择每个码字的长度Ki满足下式:-log2p(xi)≤Ki<1-log2p(xi)就可以得到这种码。这种编码方法称为香农编码。二进制香农码的编码步骤如下:⑴将信源符号按概率从大到小的顺序排列,    p(a1)≥p(a2)≥…≥p(an)⑵确定满足下列不等式的整数Ki,-log2p(ai)≤Ki<1-log2p(ai)⑶令p(a1)=0,用Pi表示第i个码字的累加概率,⑷将Pi用二进制表示,并取小数点后Ki位作为符号ai的编码三.设计思路二进制香农编码的步骤如下:(1)、将信源符号按概率从大到小的顺序排列(2)、对第j个前的概率进行累加得到pa(aj)(3)、由-logp(ai)ki

3、<1-logp(ai)求得码字长度ki(4)、将pa(aj)用二进制表示,并取小数点后ki位作为符号ai的编码。四.设计流程图输入符号概率十进制小数转 换成二进制输出函数求前J个的累加和求码长Ki将信源符号概率 从大到小排序五.程序及结果香农编码源程序#include#include#include#includeclassT{public:T(){}~T();voidCreate();voidCoutpxj();voidCoutk();voidCoutz();voidPrint();protecte

4、d:intn;double*p;double*pxj;int*k;double*mz;};voidT::Create(){cout<<"请输入信源符号个数:";cin>>n;p=newdouble[n];cout<<"请分别输入这"<>p[i];pxj=newdouble[n];k=newint[n];mz=newdouble[n];doublesum=0.0;for(i=0;i

5、r(intj=i+1;j0)k[i]=(int)d

6、+1;elsek[i]=(int)d;}}voidT::Print(){cout<<"Xi"<=0){c

7、out<<1;mz[i]=2*mz[i]-1;}else{cout<<0;mz[i]=2*mz[i];}}cout<

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

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

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