您好,欢迎访问三七文档
《信息论课程设计报告》——香农编/译码的实现院(系):电子与信息工程系专业:通信工程班级:通信1312学号:26号27号28号姓名:陈秋莹周慧敏吉雨指导教师:潘欣裕苏州科技学院信道编码课程设计报告错误!未指定书签。2目录1.香农编码的原理.................................32.香农编码的目的.................................33.香农编码的例题.................................44.设计流程图.....................................45.程序编码及仿真................................55.1调用函数(M-FILE).............................55.3仿真结果.....................................76.香农编码的特点.................................77.香农译码的实现(补充).........................87.1香农编码的编码过程...........................87.1.1排序函数..................................87.1.2求和函数..................................97.1.3编码长度函数..............................97.1.4二进制M文件.............................107.2香农编码的解码过程..........................108.实验心得.......................................159.实验分工......................................15苏州科技学院信道编码课程设计报告错误!未指定书签。31.香农编码的原理香农第一定理指出了平均码长与信源之间的关系,同时也指出了可以通过编码使平均码长达到极限值,香农第一定理指出,选择每个码字的长度Ki满足下式取整][log)(1ixPiK)(log1)(log-22iixPKxPi这种编码方式称为香农编码。2.香农编码的目的以二进制(用0、1编码)香农码为例,编码步骤如下:2.1将信源发出的n个消息符号按其概率的递减次序排列2.2计算第i个消息的累加概率∑Pi(为小数)2.3计算第i个消息的二进制代码组的码长L并取整2.4将累加概率Pi变换成二进制数苏州科技学院信道编码课程设计报告错误!未指定书签。43.香农编码的例题以输入为P=[0.40,0.20,0.20,0.10,0.10]为例,香农编码结果如下表:其中W取∑Pi二进制数小数点后L位。4.设计流程图符号概率pi∑Pi∑Pi的二进制表示-log2pi码长(L)WS10.400.00001.3219200S20.20.40.01102.32193011S30.20.60.10012.32193100S40.10.80.11003.321941100S50.10.90.11103.321941110苏州科技学院信道编码课程设计报告错误!未指定书签。55.程序编码及仿真5.1调用函数(M-file)function[C]=decbin(A,B)%对累加概率求二进制的函数C=zeros(1,B);%累加概率转化为二进制,temp=A;fori=1:Btemp=temp*2;iftemp1temp=temp-1;C(1,i)=1;苏州科技学院信道编码课程设计报告错误!未指定书签。6elseC(1,i)=0;endend5.2主函数n=input('输入信源符号个数n=')p=zeros(1,n);fori=1:np(1,i)=input('输入信源符号概率:');endifsum(p)1||sum(p)1error('输入概率不符合概率分布')endy=fliplr(sort(p));%从大到小的排序D=zeros(n,4);%生成5*4的零矩阵D(:,1)=y';%把y赋给零矩阵的第一列fori=2:nD(1,2)=0;%令第一行第二列的元素为0D(i,2)=D(i-1,1)+D(i-1,2);%第二列其余元素用此式求得,即为累加概率endfori=1:n苏州科技学院信道编码课程设计报告错误!未指定书签。7D(i,3)=-log2(D(i,1));%求第三列的元素D(i,4)=ceil(D(i,3));%求第四列的元素,对D(i,3)向上取整end5.3仿真结果6.香农编码的特点6.1由于Ki总是要进1整,香农编码不一定是最好的编码方式;6.2第一个消息符号的累加概率始终为0,因而它对应的码字总是0,、00、000、0...0的式样;6.3码字集合是唯一的,且为即时码;6.4先有码长再有码字;苏州科技学院信道编码课程设计报告错误!未指定书签。87.香农译码的实现(补充)7.1香农编码的编码过程clear;clc;a=[0.050.150.350.20.0050.0150.0350.03660.0120.1464];%得到数据分别为ecabjhgfid的概率分布a=paixu(a);%用冒泡法从小到大排序b=qiuhe(a);%求累加概率l_cord=length_cord(a);%求每个概率的编码长度fori=1:length(a)%求编码,其中cord{}是一个单元数组,每一个单元存放了一个编码对应的是排序后的数据顺序cord{i}=erjinzhi(b(i),l_cord(i));disp(cord{i})end7.1.1排序函数functionb=paixu(a);size_z=length(a);fori=1:size_z-1forj=1:size_z-1ifa(j)=a(j+1)苏州科技学院信道编码课程设计报告错误!未指定书签。9temple=a(j);a(j)=a(j+1);a(j+1)=temple;endendendb=a;7.1.2求和函数functionb=qiuhe(a);b(1)=0;fori=2:length(a);b(i)=b(i-1)+a(i-1);endfunctionb=sishe(a)A=fix(a);b=A+1;7.1.3编码长度函数functionb=length_cord(a)length_a=length(a);fori=1:length_alength_a(i)=苏州科技学院信道编码课程设计报告错误!未指定书签。10ceil(-log(a(i))/log(2));%-log(a(i))/log(2)+1);endb=length_a;7.1.4二进制M文件functionc=erjinzhi(a,b)temple=a;fori=1:btemple=temple*2;iftemple=1c(i)=1;temple=temple-1;elsec(i)=0;endend7.2香农编码的解码过程clear;a{1}=[00];%aa{2}=[010];%ba{3}=[100];%ca{4}=[101];%d苏州科技学院信道编码课程设计报告错误!未指定书签。11a{5}=[11011];%ea{6}=[11100];%fa{7}=[11101];%ga{8}=[1111011];%ha{9}=[1111101];%ia{10}=[11111110];%jcord=[0100011111110111011101110111011];k=1;j=1;fori=1:length(cord)b(j)=cord(i);j=j+1;switch(j)case(3)ifb==a{1}c(k)='a';k=k+1;j=1;b=0;end苏州科技学院信道编码课程设计报告错误!未指定书签。12case(4)ifb==a{2}c(k)='b';k=k+1;j=1;b=0;elseifb==a{3}c(k)='c';k=k+1;j=1;b=0;elseifb==a{4}c(k)='d';k=k+1;j=1;b=0;endcase(6)ifb==a{5}苏州科技学院信道编码课程设计报告错误!未指定书签。13c(k)='e';k=k+1;j=1;b=0;elseifb==a{6}c(k)='f';k=k+1;j=1;b=0;elseifb==a{7}c(k)='g';k=k+1;j=1;b=0;endcase(8)ifb==a{8}c(k)='h';k=k+1;苏州科技学院信道编码课程设计报告错误!未指定书签。14j=1;b=0;elseifb==a{9}c(k)='g';k=k+1;j=1;b=0;endcase(9)ifb==a{10}c(k)='d';k=k+1;j=1;b=0;endendifj9disp('thecorderro..nearcord')disp(i)break苏州科技学院信道编码课程设计报告错误!未指定书签。15endenddisp(c)8.实验心得通过本次编码设计,我们了解了香农编码的编码方式和原理,在编码过程中复习了C语言中序列的排序算法,进制转换技术等算法,并且通过matlab编码实现对信源符号的降序排列,求解累加概率、求解自信息量并对其向上取整、最终根据码长和累加概率求得最后的编码结果。增加我们对信息论这门课的理解,并且结合matlab编码实现最后功能,同时增强了我们合作和解决分析问题的能力。9.实验分工吉雨:搜集资料、编码、演讲周慧敏:译码、PPT的制作陈秋莹:译码、报告苏州科技学院信道编码课程设计报告错误!未指定书签。16
本文标题:信道编码课程设计
链接地址:https://www.777doc.com/doc-2693445 .html