香农编码实验报告
更新时间:2023-08-13 09:28:01 阅读量: IT计算机 文档下载
香浓编码
仙农编码实验报告
一、实验目的
实验仙农编码算法
二、实验步骤
1、输入信源个数n
2、输入n个信源的概率
3、由大到小重新排列信源
4、实现信源概率的叠加
5、计算码长l
6、编码
7、计算平均码长pl、信源熵Hx以及编码效率q
三、源程序:
#include<iostream>
#include<math.h>
#include<string>
using namespace std;
void input(int n,float *g){//输入信源概率
} for(int i=0;i<n;i++){ cout<<"请输入第"<<i+1<<"个信源的概率: "; } cin>>g[i];
香浓编码
void rank(int n,float *g){//重新排列
}
void output(int n,float *g){
}
cout<<endl; cout<<"**********从大到小重新排列后的信源**********"; cout<<endl; for(int i=0;i<n;i++){ } cout<<endl; cout<<"第"<<i+1<<"个信源的概率是:"<<g[i]<<endl; float templ; for(int i=0;i<n;i++){ } for(int j=i+1;j<n;j++){ } if(g[i]<g[j]){ } templ=g[i]; g[i]=g[j]; g[j]=templ;
香浓编码
void add(int n,float *g,float *a){ //a[i]为累加概率的数组
}
void length(int n,float *g,int *k){//求码字的长度k[i]
cout<<endl; cout<<"**********计算码长**********"<<endl; for(int i=0;i<n;i++){ for(int j=0;j<10;j++){ } float l=-log(g[i])/log(2); int temp=int(l); if(l-temp==0) k[i]=temp; if(j<1-log(g[i])/log(2) && j>=-log(g[i])/log(2) ) k[i]=j; cout<<"**********累加概率***********"<<endl; a[0]=0.00; //令累加概率的第一个值为0 for(int i=1;i<n;i++){ } for(i=0;i<n;i++){ } cout<<"第"<<i+1<<"个累加概率为 "<<a[i]<<endl; a[i]=a[i-1]+g[i-1];
香浓编码
}
} cout<<"第"<<i+1<<"个信源的码长为: "<<k[i]<<endl;
void XN_Code(int n,float *a,int *k,string *Str){//编码
} else Str[i]+="0"; cout<<endl; cout<<"**********编码**********"<<endl; for(int i=0;i<n;i++){ float s=a[i]; for(int j=0;j<k[i];j++){ //k[i]为码长 s=s*2; if(s>=1){ } Str[i]+="1"; s=s-1; }
香浓编码
}
} cout<<"第"<<i+1<<"个信源的码字为: "<<Str[i]<<endl;
void main(){
int n,k[10]; float p[10],pa[10],pl=0,Hx=0,q;//pl为平均码长 string Str[10]; cout<<"请输入信源的个数:(小于等于10)"<<endl; cin>>n; input(n,p); //输入信源的概率 rank(n,p); //从小到大重新排列输入的概率 output(n,p); //输出重新排列的概率 add(n,p,pa); //累加概率 length(n,p,k);//求码长 XN_Code(n,pa,k,Str);//编码 for(int i=0;i<n;i++){ //求平均码长 } q=Hx/pl*100; pl+=p[i]*k[i]; Hx=Hx-p[i]*(log(p[i])/log(2));
香浓编码
} cout<<"该信源的信源熵为: "<<Hx<<"比特/符号"<<endl; cout<<"编码效率为:"<<q<<"%"<<endl;
四、运行结果:
香浓编码
正在阅读:
香农编码实验报告08-13
同学会致辞(20年)06-08
2003吉大材力试题 - 图文10-03
铁路站场与枢纽 - 李海鹰站 - 场设计技术条件复习资料 - 图文04-16
英语精选流行口语06-12
文明礼仪动画视频11-29
远方小朋友的一封信600字06-16
品中国文人读后感05-16
基于条纹在针织服装设计中的应用07-25
- 供应商绩效评价考核程序
- 美国加州水资源开发管理历史与现状的启示
- 供应商主数据最终用户培训教材
- 交通安全科普体验教室施工方案
- 井架安装顺序
- 会员积分制度
- 互联网对美容连锁企业的推动作用
- 互联网发展先驱聚首香港
- 公司文档管理规则
- 机电一体化系统设计基础作业、、、参考答案
- 如何选择BI可视化工具
- 互联网产品经理必备文档技巧
- 居家装修风水的布置_家庭风水布局详解
- 全省基础教育信息化应用与发展情况调查问卷
- 中国石油--计算机网络应用基础第三阶段在线作业
- 【知识管理专题系列之五十八】知识管理中如何实现“场景化协同”
- 网络推广方案
- 中国石油--计算机网络应用基础第二阶段在线作业
- 汽车检测与维修技术专业人才培养方案
- 详解胎儿颈透明层
- 香农
- 编码
- 实验
- 报告
- 佛山市顺德区经济促进局文件
- 船舶供配电管理系统智能开关柜研制
- 作文教学设计《二十年后回家乡》
- 制氮车间设备操作规程 2
- 《JAVA语言程序设计》期末考试试题及答案1-7
- 四、几种常见的统计指标与参数
- 城市规划建设中的生态环境问题研究
- 船舶避碰A卷及参考答案10秋本科
- 猪场转让协议书
- 用Ramdisk让32位XP系统识别4G内存
- 住院患者健康教育的实施及质量管理
- 第二讲 函数的极限-简化公布版(例题重要)
- 2010年浙江省金华市中考科学试题(含答案)
- 钢筋连接试件的拉压试验装置及拉压试验方法
- 教学计划安排检验程序(拓扑排序)报告书
- 形势政策 反腐倡廉论文
- Unit 4 Don’t eat in class Section A 2练习题
- SOP作业指导书样板
- 【股票指标公式下载】-【通达信】简明买卖(波段底、加仓)
- EN1822-4空气过滤器中文