欢迎来到天天文库
浏览记录
ID:47878387
大小:75.81 KB
页数:51页
时间:2019-11-17
《信息理论及编码实验指导书》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、信息理论与编码实验指导书解振东编写信息科学与技术学院实验一:香农(Shannon)编码一、实验目的掌握通过计算机实现香农编码的方法。二、实验要求对于给定的信源的概率分布,按照香农编码的方法进行计算机实现。三、实验基本原理给定某个信源符号的概率分布,通过以下的步骤进行香农编码1.将信源消息符号按其出现的概率大小排列p(x{)>p(x2)>>p(xn)2•确定满足下列不等式的整数码长—logp(xj<^.<-logp(x{)+13.为了编成唯一可译码,计算第i个消息的累加概率z-lPi=EpZk=4.将累加概率尺变换成二进制数。5.取尺二进制数的小数点后K,位即为该消息符号的二进制码
2、。四实验内容1.对给定信源q(X)0.2进行二进制香农编码。2.■X■x2兀5兀6q(X)"J0.250.250.200.150.100.05对给定信源进行二进制香农编码。3.自已选择一个例子进行香农编码。五.实验设备PC计算机,C++五.实验报告要求1、画出程序设计的流程图,2、写出程序代码,3、写出在调试过程中出现的问题,4、对实验的结果进行分析。七、参考程序(仅供参考)//香农(Shannon)编码参考程序intmain(){intN;coutvv〃请输入信源符号个数:”;cin>>N;coutvv〃请输入各符号的概率:〃vvendl;double*X=newdouble[N
3、];〃离散无记忆信源inti,j;for(i=0;ivN;i++){coutvv〃X[〃vvi+lvv〃]=〃;cin>>X[i];}〃由小到大排序for(i=0;ivN;i++)for(j=i+l;j4、p(xi))时,K[i]-}〃累加概率double*Pa=newdouble[N];pa[0]=0.0;for(i=l;i=l)//累加概率乘2大于1,对应码字加1,累加概率自身取余{code[i]+=T;Pa[i]=Pa[i]*2-l;}else〃累加概率乘2小于1时,对应码字加0,累加概率自身取5、余{code[i]+=〃0〃;Pa[i]*=2;}}for(i=0;i6、elete[]X;delete[]Pa;delete[]K;delete[Jcode;getch();retuen0;}实验二费诺编码一、实验目的掌握通过计算机实现费诺编码。二、实验要求对于给定的信源的概率分布,按照费诺编码的方法进行计算机实现。三、实验基本原理费诺编码的步骤:1•将概率按从大到小的顺序排列;1.按编码进制数将概率分组,使每组概率和尽可能接近或相等;2.给每组分配一位码元;3.将每一分组再按同样原则划分,重复2和3,直到概率不再可分为止。四实验内容1.■X■X2兀3无4兀5X6无7・勺(X)_0.20」90」80」70」50」0.01对给定信源进行二进制费诺编码。27、.对给定信源X日(X)X]%2兀3兀兀5兀60.250.250.200.150.100.05进行二进制费诺编码。3.自已选择一个例子进行费诺编码。五、实验设备PC计算机,C++六.实验报告要求1、画出程序设计的流程图,2、写出程序代码,3、写出在调试过程中出现的问题,4、对实验的结果进行分析。七、参考程序(仅供参考)〃********费诺编码参考程序1****〃全局变量定义intn;string*sign;double*p;string*code;voidfano(i
4、p(xi))时,K[i]-}〃累加概率double*Pa=newdouble[N];pa[0]=0.0;for(i=l;i=l)//累加概率乘2大于1,对应码字加1,累加概率自身取余{code[i]+=T;Pa[i]=Pa[i]*2-l;}else〃累加概率乘2小于1时,对应码字加0,累加概率自身取
5、余{code[i]+=〃0〃;Pa[i]*=2;}}for(i=0;i6、elete[]X;delete[]Pa;delete[]K;delete[Jcode;getch();retuen0;}实验二费诺编码一、实验目的掌握通过计算机实现费诺编码。二、实验要求对于给定的信源的概率分布,按照费诺编码的方法进行计算机实现。三、实验基本原理费诺编码的步骤:1•将概率按从大到小的顺序排列;1.按编码进制数将概率分组,使每组概率和尽可能接近或相等;2.给每组分配一位码元;3.将每一分组再按同样原则划分,重复2和3,直到概率不再可分为止。四实验内容1.■X■X2兀3无4兀5X6无7・勺(X)_0.20」90」80」70」50」0.01对给定信源进行二进制费诺编码。27、.对给定信源X日(X)X]%2兀3兀兀5兀60.250.250.200.150.100.05进行二进制费诺编码。3.自已选择一个例子进行费诺编码。五、实验设备PC计算机,C++六.实验报告要求1、画出程序设计的流程图,2、写出程序代码,3、写出在调试过程中出现的问题,4、对实验的结果进行分析。七、参考程序(仅供参考)〃********费诺编码参考程序1****〃全局变量定义intn;string*sign;double*p;string*code;voidfano(i
6、elete[]X;delete[]Pa;delete[]K;delete[Jcode;getch();retuen0;}实验二费诺编码一、实验目的掌握通过计算机实现费诺编码。二、实验要求对于给定的信源的概率分布,按照费诺编码的方法进行计算机实现。三、实验基本原理费诺编码的步骤:1•将概率按从大到小的顺序排列;1.按编码进制数将概率分组,使每组概率和尽可能接近或相等;2.给每组分配一位码元;3.将每一分组再按同样原则划分,重复2和3,直到概率不再可分为止。四实验内容1.■X■X2兀3无4兀5X6无7・勺(X)_0.20」90」80」70」50」0.01对给定信源进行二进制费诺编码。2
7、.对给定信源X日(X)X]%2兀3兀兀5兀60.250.250.200.150.100.05进行二进制费诺编码。3.自已选择一个例子进行费诺编码。五、实验设备PC计算机,C++六.实验报告要求1、画出程序设计的流程图,2、写出程序代码,3、写出在调试过程中出现的问题,4、对实验的结果进行分析。七、参考程序(仅供参考)〃********费诺编码参考程序1****〃全局变量定义intn;string*sign;double*p;string*code;voidfano(i
此文档下载收益归作者所有