信息论与编码实验报告 费诺编码.doc

信息论与编码实验报告 费诺编码.doc

ID:53962750

大小:94.57 KB

页数:7页

时间:2020-04-11

信息论与编码实验报告 费诺编码.doc_第1页
信息论与编码实验报告 费诺编码.doc_第2页
信息论与编码实验报告 费诺编码.doc_第3页
信息论与编码实验报告 费诺编码.doc_第4页
信息论与编码实验报告 费诺编码.doc_第5页
资源描述:

《信息论与编码实验报告 费诺编码.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、哈尔滨理工大学荣成学院信息论与编码实验报告——费诺编码班级:电信12-1班姓名:李赛学号:1230160109日期:2015.6.17费诺编码C语言代码:#include#include#includestaticcharp[20][20];voidFano(intm,intn,floaty[20]);main(){inti,j,flag,count,b[20];//count:信源符号个数,b[]:码长floata[20],temp,sum=0.0,l=0.0,H=0.0,y,R;//a[]:输入概率分布l

2、:平均码长H:信源熵y:编码效率R:信源信息率flag=0;//flag:输入概率的判断标志位。为0时表示输入概率有误/************输入信源符号个数并判断是否是正数******************/printf("Pleaseinputtheamountofprobabilities");scanf("%d",&count);while(count<=0){printf("Pleaseinputthepositivenumber!Tryagain!");printf("Pleaseinputtheamountofprobabilities

3、");scanf("%d",&count);}/***************输入信源输入概率并判断*****************/while(flag==0){flag=1;printf("Pleaseinputallprobabilities!");for(i=1;i<=count;i++){scanf("%f",&a[i]);if((a[i]<0)

4、

5、(a[i]>1))//判断单个概率是否小于0或大于1{printf("Pleaseinputthenumberbetween0and1");flag=0;}elsesum=sum+a[i];}

6、if(sum>1.0000001

7、

8、sum<0.9999999)//判断概率和是否大于1或小于0{printf("thesumofallthenumbersis%lfnot1!",sum);flag=0;sum=0.0;}}/************冒泡排序,由大到小***************************/for(i=1;i

9、(i=1;i<=count;i++)//求码长{b[i]=strlen(p[i]);}/****************输出编码**********************/printf("Thefanocodeis:");printf("ProbabilityttFanocodettcodelength");for(i=1;i<=count;i++){printf("%.3fttt",a[i]);printf("%sttt%d",p[i],b[i]);}/***************计算平均码长**************

10、*****/for(i=1;i<=count;i++){l+=a[i]*b[i];}printf("Theaveragelengthofcodeis:");printf("%5.2fbit/symbol",l);/*****************计算信源熵*********************/for(i=1;i<=count;i++){H+=-a[i]*(log(a[i])/log(2));}printf("Thesourceentropyis:");printf("%5.2fbit/symbol",H);/*******************

11、*计算信源信息率*******************/R=l*(log(2)/log(2));printf("Therateoftransportis:");printf("%5.2f",R);/**************计算编码效率(百分制表示)*****************/y=H/R;printf("Thecodingefficiencyis:");printf("%5.2f%%",y*100);}/**********费诺编码子函数**********************/voidFano(intm,intn,floaty[20])/

12、/m:各个组的初始点n:

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

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

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