还剩23页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
实验一信源牖值的计算1实验二信源编码Huffman5实验三编码Shannon9实验四信道容量的迭代算法12实验五率失真函数15实验六差错控制方法20实验七汉明编码22实验三编码Shannon
一、实验目的、熟悉离散信源的特点;
1、学习仿真离散信源的方法
2、学习离散信源平均信息量的计算方法
3、熟悉编程4Mat lab
二、实验原理给定某个信源符号的概率分布,通过以下的步骤进行香农编码、信源符号按概率从大到小罗列;1pP….…p12n、确定满足下列不等式的整数码长为25共-lbp K-lbp+1i ii、为了编成惟一可译码,计算第个消息的累加概率3i婷P=pai kk=
1、将累加概率变换成二进制数;4P,、取二进制薮的小数点后个位即为该消息符号的二进制码字5
三、实验向容,、写出计算自信息量的程序1Matlab、写出计算离散信源平均信息量的程序2Matlab、将程序在计算机上仿真实现,验证程序的正确性并完成习题3
四、实验环境Microsoft Windows7Mat lab
6.5
五、编码程序计算如下信源进行香农编码,并计算编码效率a a a aaa]I1=1I01234561・Lpj lo
20.
190.
180.
170.1501O.OiJ程序MATLAB1a=[
0.
20.
180.
190.
150.
170.
10.01];k=lengtha;y=O;for i=1:k-1for n=i+1:k;if aiant=ai ai=an;an=t;endendends=zerosk1;b=zerosk,1;5for m=1:ksm=y;y=y+am;bm=ceil-log2am;z=zerosbm,1;x=sm;p=b2d10x;for r=1:bm zr=pr;end311Q,dispCEa d/2a uP£,3,Q11,,,disp oEA/AE dispamdisp Q6l/2a udispsm disp±aAel»Eydispbm55J,,,disp xiOO±aAe,dispz end2function y=b2d10xfor i=1:8temp=x.*2;iftemp1;y0=ox=temp;elsex=temp-1;yi=i;endend3p=[
0.
20.
190.
180.
170.
150.
10.01];sum=0;sum1=0;for i=1:7ai=-log2pi;Ki=ceilai;Ri=Pi*Ki;sum=sum+Ri;ci=ai*pi;iosum1=sum1+ci;endK1=sum;H=sum1;Y=H/K1;,1,13,,disp ZE^%uDAIcA6dispH dispCZE/2%uAe«dispK1dispC±aAeD§AE,dispY5J
六、实验结果输出结果为出事概率求和结果编码位数最终编码
0.1900,
0.2000,3,001出事概率求和结果编码位数最终编码
0.1800,
0.3900,3,011出事概率求和结果编码位数最终编码
0.1700,
0.5700,3,100出事概率求和结果编码位数最终编码
0.1500,
0.7400,3,101出事概率求和结果编码位数最终编码
0.1000,
0.8900,4,1110出事概率求和结果编码位数最终编码
0.0100,
0.9900,7,1111110出事概率求和结果编码位数最终编码
0.2000,0,3,000编码效率平均信息量
2.6087平均码长
3.1400编码效率
0.8308
七、实验总结通过本次的实验,掌握了编码的实验原理以及编码过程编码中,Shannon Shannon对概率的排序是最基本的,如果没有将其按照从大到小的顺序排序,则经过的程MATLAB序运行后,将浮现错误在运用编程的过程中,调用了各种函数,实现了编程MATLAB通过与队友的讨论,非但让我们更快的完成编码,也深深体味到惟独将大家的智MATLAB慧融合起来,才干更快更好的解决难题实验四信道容量的迭代算法、实验目的、进一步熟悉信道容量的迭代算法;
1、学习如何将复杂的公式转化为程序;
2、熟悉程序设计语言的数值计算程序和调试技术3
二、实验原理⑴初始化信源分布普通初始化为均匀分布,置迭代计数=P,P,PP012r器设信道容量相对误差门限为可设;k=0,6,60,P Pk置迭代序号转向;6k+1k,2⑺输出和的结果;P k+1C k+1i⑻住手
三、实验内容、已知信源符号个数、新宿符号个数、信道转移概率矩阵;1r sP、输入任意的一个信道转移概率矩阵,信源符号个数、信宿符号个数和每一个具24体的转移概率在运行时从键盘输入;C k+1-C k⑸如果--------------------三6,转向⑺;Ck+
1、输出最佳信源分布信道容量3P*,Co
四、实验环境、Microsoft Windows7Matlab
6.5
五、编码程序文件aa.mclear;输入信源个数:;r=input输入信宿个数s=input1;输入信道容量的精度deta=i nput1;%创建随机分布矩阵Q=randr,s;m*nA=sumQ,2;B=repmatA,1,s;信源转移概率矩阵%信源转移概率矩阵dispC:1p=Q./Bi=1:1:r;;qi=1/r原始信源分布disp,qc=-10e-8;C=repmatq\1,s;for k=1:1:100000%后验概率的份子部份m=p.*C;%后验概率的分母部份a=summ;su1=repmata,r,1;%后验概率矩阵t=m./su1;%信源分布的份子部份D=expsump.*logt,2;%信源分布的分母部份su2=sumD;%信源分布q=D/su2;C=repmatq,1,s;ck+1=logsumexpsump.*logt2/log2;5kk=absck+1-ck/ck+1;ifkk=
0.000001break;endend最大信道容量时的信源分布,disp q=dispq5最大信道容量dispC c=,dispck+l
六、实验结果结果检验运行1aa.m输入信源的个数2输入信宿的个数3输入信道容量的精度
0.000001信宿转移概率矩阵:P=
0.
50000.
30000.
20000.
30000.
50000.2000原始信源分布q=
0.
50000.5000最佳信源分布q=
0.
50000.5000最大信道容量c=
0.0365计算信源个数为信宿个数为的信道容量:23,5运行aa.m输入信源的个数3输入信宿的个数5输入信道容量的精度
0.000001信宿转移概率矩阵:P=
0.
04840.
13850.
30580.
28450.
22270.
21040.
24710.
10770.
37620.
05850.
34300.
08000.
18080.
34280.
05340.
33330.3515原始信源分布q=
0.
33330.3333最佳信源分布q=
0.
46910.1794最大信道容量c=
0.1559
七、实验总结通过实验,我们对信道容量的理解更加深刻了信道容量是指信道能无错误传送的最大信息率信道的输入、输出都取值于离散符号集,且都用一个随机变量来表示的信道就是离散单符号信道由于信道中存在干扰,因此输入符号在传输中将会产生错误,这种信道干扰对传输的影响可用传递概率来描述为了评价实际信道的利用率,应具体计算已给信道的容量这是一个求最大值的问题由于互信息对输入符号概率而言是凸函数,其极值将为最大值,因此这也就是求极值的问题对于离散信道,是一组数,满足非负性Px和归一性等条件,可用拉格朗日乘子法求得条件极值对于连续信道,是一函数,须Px用变分法求条件极值实验过程中,我们虽然也遇到了不少艰难,但也正是因为如此,我们才干发现自己基础的薄弱点,学的更有方向对于编程方面,我们也有了很大的提升实验五率失真函数
一、实验目的验证率失真函数的极值特性,理解相关参数的变化对率失真函数的影响
二、实验原理()输入的初始值、条件概率、输出分布等值;1S,d()计算输出分布;2q=Xpi pjij i Ji=1()进入迭代,标志为或者误差大于指定则迭代,否则退出迭代;3eps■■()计算一个互信息()M(「』);4l qj;pji=pi pjilogqi iji=1J=1j()计算一个条件概率分布(;)qi;5P ji=e一q esdikkk=1()重算一次()并计算;64,D=Xpi pjidi ijU占1重算步骤,直到退出迭代;
(7)
(3)-
(7)
三、实验环境、Microsoft Windows7Visual Studio2005profession
四、编码程序include iostreamincludemath.h#include iomanipusingnamespace std;“Define someglobal var元信源const intM=10;//M〃迭代算法中的中间量,越小,允许最大constdoubleS=-50;S失真度越小,当很小时(例如)()()D S-100,R D=H X〃失真函数static intd[M][M];//输出分布和条件概率分布static doubleq[M],Pji[M][M];static doublePi[M]={
0.4,
0.1,
0.25,
0.1,
0.05,
0.05,
0.01,
0.02,
0.005,
0.015};〃初始化信源的概率分布//定义进制(默认为进制,结果为const intsystemDefine=2;2bit,为时,结果为)e nat〃允许误差const double eps=1e-8;〃计算输出分布qjvoid calcOutDistributionint i,j;forj=0;jM;j++qD]=O;fori=0;iM;i++;q[j]+=Pi[i]*Pji[i][j]〃计算条件概率分布pjivoid calcProbabilityDistributionint i,j,k;double temp=0;fori=0;iM;i++temp=0;fork=0;kM;k++temp=temp+q[k]*expS*d[i][k];forj=0;jM;j++〃设定一个初始的条件概率分布Pji[i][j]=q[j]*expS*d[i]D]/temp;//取得【实际上就是根据互信息量公式求互信息】Rr r=lqj;Pji doubleJgetSelflnformationintij;double l=0;fori=0;iM;i++forj=0;jM;j++求互信息量I+=Pi[i]*Pji[i][j]*logPji[i][j]/q[j]/logsystemDefine;//return I;int mainintargc,char*argv[]〃概率和double probabilitycount=
0.0;forint k=0;kM;k++probabilitycount+=Pi[k];〃和不为说明概率有错误1,iffabsprobabilityCount-
1.0eps概率和不为程序异常退出!”coutvv”1,vvendl;return-1;//前两个变量代表求的相邻的两个互信息和;代表限定失真Rr,r Rr,r+1Ddouble mutuallnformationl,mutuallnformation2,D;inti,j,flag,nCount;〃初始值mutuallnformationl=0;mutuallnformation2=0;D=0;flag=0;〃迭代次数指示器nCount=0;//init mothod〃输出分布的初始化fori=0;iM;i++q[i]=0;〃率失真函数的初始化,根据汉明失真距离来初始化fori=0;iM;i++forj=0;jM;j++fi==jd[i]U]=0;else;d[i][j]=1forQ=0;iM;i++forj=0;jM;j++〃设定一个初始的条件概率分布Pji[i]0]=1/doubleM;〃计算输出分布calcOutDistribution;〃迭代算法误差精度Hcoutvv”«eps«endl;whileflag==0||fabsmutuallnformation2-mutuallnformation1eps第次迭代coutvvsetprecision20vvendlvv”vv++nCountvv vvendl;flag=1;〃获得一个互信息Rr,rmutuallnformationl=getSelflnformation;〃计算下一个条件概率分布calcProbabilityDistribution;〃在上面的原来的输出分布和新生成的条件概率分布的基础上q Pji获得新的互信息Rr,r+1实验一信源燧值的计算
一、实验目的进一步熟悉信源增值的计算1熟悉编程2Matlab
二、实验原理炳平均自信息、的计算公式H x=E p log—=-plogpi2p i2ii-1ji=1实现;或者MATLAB HX=sum-x.*log xh=h-xi*log xi22流程第一步打开一个名为的文档,读入一篇英文文章存入一个数组“nan311”TXT temp,为了程序准确性将所读内容转存到另一个数组计算该数组中每个字母与空格的浮现次数S,遇到小写字母都将其转化为大写字母进行计数,每出现一次该字符的计数器+1;第二步计算信源总大小计算出每一个字母和空格浮现的概率;最后,通过统计数据和信息烯公式计算出所求信源燧值本程序中单位为奈特nat o程序流程图打开一个文档文件,将其中的英文字母读入数组一计算每个字母以及空格出现的;欠数以及进而算出频率”二利用信息崎公式求出信息煽,mutuallnformation2=getSelflnformation;〃再计算条件概率分布calcOutDistribution;互信息H H息coutvv”1«mutuallnformation1«endl«2H«mutuallnformation2«endl;fori=0;iM;i++forj=0;jM;j++//求最大允许失真度DD=D Pi[i]*Pji[i][j]*d[i][j];+H ncout«D=«D«endl;这是利用迭代算法求出的最大允cout«RD=vvmutuallnformation2vvendl;//许失真度为时的D RDM----------------------------------Hcout«================«endl;return0;}
五、实验结果运行实验结果如下误差精度,[.-0^播代1Efa.Sl-
3.20342650381491810-016pf=*2p-
1.7358748631675221e-821RD-
3.321928O948873622傻性代叵强国蓿息
2.
43376803839907252.433768038399072SRD-
2.4337680383990725press anykey tocontinuc.
六、实验总结通过这次实验,让我们更好的掌握了率失真的求解方法,而且通过计算机解决问题效率提高了不少,节省了不少繁琐的步骤,更加直观和方便的让我们了解到相关参数变化对率失真的影响实验六差错控制方法
一、实验目的、了解纠错编码的基本原理
1、了解几种常用编码奇偶校验码、正反码等,线性分组码、循环码、卷积码的编2解码原理、重点掌握线性分组码、循环码、卷积码的编解码原理3
二、实验原理个重复码是一种将输入比特重复遍的编码,假设信道的错误率为接收端收到N np,个比特后进行译码,如果个接收比特的的个数多于””的个数,则译码为n n“1”0“1”反之为,假设编码输入时等概的“0”计算的信道错误率与译码的错误率的关系;1n=5用仿真得到上述的曲线2matlab
三、实验内容重复码是一种将输入比特重复遍的编码,假设信道的错误率为接收端收到个n np,n比特后进行译码,如果个接收比特的的个数多于的个数,则译码为,反之为n“1”“0”“1”“o”假设编码输入时等概的计算时信道错误率与译码错误率的关系;1n=5用仿真得到上述的曲线;2Matlab实验步骤⑴令分别表示接收到的个比特中和的个数,则误码率可以写成nl,n2n“0”“1”,/,,,,Pb=P nlnorrPl+Pnln0|0P0当时,编码时被映射成;映射成,信道错误率为则n=5“1”“11111”“0”“00000”P,Pnn]1=Cop5+Cl1—P p4+C21—p2P312,565@Q5eePn nW=Co p5+Cl1—Pp4+C21—p2P31215e5e e5e e因此P5p41—p+10p31—p=P5+2bee eee
四、实验环境Microsoft Windows7Matlab
6.5
五、编码程序编码:MATLABn=5;m=0:-
0.5:-3;Ape=
10.m;Datad=signrandn1,100000+1/2;s=[d;d;d;d;d];s=reshapes,1,5*lengthd;for k=1dengthpeerr=rand1Jengthd*5;err=errpek;r=rems+err,2;r=reshaper5,lengthd;Jdd=sumr2;errork=sumabsdd-d/lengthd;endloglogpe,error
六、实验结果实验七汉明编码
一、实验目的、掌握线性分组码的编码原理
1、掌握汉明码编码方法
2、了解编码对误码性能的改善3
二、实验原理线性分组码的矩阵是一个阶矩阵,这里是校验元的数目n,k H n—kxn=rxn r=n-k显然,个校验元能组成列互不相同的重矢量,其中非全零矢量有个如果用这r2r2—1个非全零矢量作为矩阵的全部列,即令矩阵的列数则此矩阵的各2—1H H n=2r—1,H列均不相同,且无全零列,由此可构造一个纠正单个错误的线性分组码n,k同时,是所能取的最大值,因为如果那末矩阵的列中必会浮现相2—1n n2—1,Hn同的两列,这样就不能满足对矩阵的要求而由于是所能取的最大值,也就Hn=2-1n意味着码率取得了最大值,即Rn nn2r—1这样设计出来的码是符合我们的要求的,这样的码就是汉明码定义若矩阵的列是由非全零且互不相同的所有二进制重矢量组成,则由此得到的H r线性分组码,称为上的一「汉明码GF22—1,2—1
三、实验内容、写出产生汉明码的的程序1Matlab、将程序在计算机上仿真实现,验证程序的正确性并完成习题2
四、实验环境Microsoft Windows7Matlab
6.5
五、编码程序本实验要求写出产生汉明码的生成矩阵,由上述可知,我们的而3,1n=2r—1=3,由此可得出k=2r—1—r=l,r=
2.当时,有个非全零的二重矢量r=2301,10,11构成矩阵ro11]H=h oiji由此得到一个能纠正单个错的汉明码若码字传输中左边第一位出错,则相应3,1的伴有式就是矩阵的第一列,也正好是的二进制表示同理可知,无论哪一s=01H“1”位出错,它对应的伴有式就是该位的二进制表示,故译码十分方便,特殊合用于计算机内部运算和记忆系统中的纠错如果要得到系统码形式的矩阵,只需对上述矩阵进行初等变换交换列即可Hn1o]H=I1Li oij相应地,生成矩阵为GG=tl1l]根据二山生成码字C.G由此构成的汉明码如表所示3,13-1表3-13,1系统码信息组码字0000111程序MATLAB%fu notionf=humm_enca;;洞码的生成矩阵G=
[111]%3,1输’入或者则产生汉明码,则对输入序列进行编码Input3,1t=1if t==1输入信息元序列:;a=input编码的码字c=moda*G,2;%c编码后序列:;%显示“编码后序列:字样disp%显示编码的码字dispc;else,汉明系统码为;%显示汉明系统码为”字样disp3,1“3,1%循环变量的取值为for i=0:1;0,1%系统自动给出两信息元从到;%输出编码a=dec2bini,1;01c=moda*G,2的码字%显示系统自动给出两信息元从到dispa;01对应码字为;%显示“对应码字为:字样dispC%显示编出的码字dispc;%结束循环end for%结束整个程序end
六、实验结果
①Untitled3输入或者01:1输入信息元序列0编码后序列000
②Untitled3输入或者1:0汉明系统码为3,1000对应码字为0汉明系统码为1对应码字为111
七、实验总结通过这次实验我对汉明编码有了进一步的认识,对生成矩阵的求法更熟悉了,同时对仿真模块的应用也有了深刻的认识,认真检验了各参数对编码的影响,此实验将为以后相类似实验的基础,以后相类似实验将更容易更快捷的被做出,可达到了学以致用的效果
三、实验内容、写出计算自信息量的程序1Matlab、已知信源符号为英文字母不区分大小写和空格2输入一篇英文的信源文档输出给出该信源文档的中各个字母与空格的概率分布,以及该信源的楠
四、实验环境Microsoft Windows7Matlab
6.5
五、编码程序n H#include stdio.hinclude math.hinclude string.h#defineN1000int mainvoidchars[N];inti,n=0;float num
[27]={0};double result=0,p
[27]={0};FILE*f;char*temp=new char
[485];n Hnf=fopennan
311.txt,r;while!feoff{freadtemp,1,486,f;}fclosef;s
[0]=*temp;fori=0;istrlentemp;i++s[i]=temp[i];fori=0;istrlens;i++ifs[i]==num
[26]++;,,,,else ifs[i]=a s[i]=z num[s[i]-97]++;,,,!else ifs[i]=A s[i]=Z num[s[i]-65]++;文档中各个字母浮现的频率:printf\n fori=0;i26;i++p[i]=num[i]/strlens;H nprintf%3c:%f\t J+65p[i];3n++;ifn==3H nprintf\n;n=0;p
[26]=num
[26]/strlens;空格:%printf f\t”,p
[26];H Hprintf\n;fori=0;i27;i++if PD]!=Oresult=result+p[i]*logp[i];result=-result;信息烯为:%printf f”,result;H nprintf\n;return0;
六、求解结果文档中各个字母出现的频率:A
0.028913B
0.002991C
0.003988D
0.008973E
0.039880F
0.008973IG
0.001994H
0.
0159520.016949LJ
0.000997K
0.
0009970.007976M
0.003988N
0.0139580:
0.012961RP
0.001994Q
0.
0000000.018943U8:
0.016949T
0.
0229310.006979X空格U
0.003988W
0.
0109670.0000007:
0.002991Z
0.
0019940.059821信息端为:工.240418Press anykey tocontinue其中中的文档如下nan
311.txtThere isno hatewithout fear.Hate iscrystallized fear,fears dividend,fear objectivized.We hate what wefear andso wherehate is,fear islurking.Thus wehatewhatthreatens ourperson,our vanityand ourdreams andplans forourselves.If wecan isolatethis elementinwhat wehate wemay beable tocease fromhating.
七、实验总结通过这次实验,我们懂得了不必运行程序时重新输入文档就可以对文档进行统计,既节省了时间而且也规避了一些输入错误在实验中,我们进一步了解到信源端的计算,理论和实践的结合让我们对这个知识点了解的更加深刻了实验二信源编码Hirffman
一、实验目的理解信源的最优变长编码的基本思想
1.熟练掌握信源编码方法
2.Huffman
二、设计原理设信源其对应的概率分布为则其编码步骤如下S={sl,s2,…,sq},Psi={pl,p2p
3....,pq},,,⑴将个信源符号按递减方式罗列q用、码符分别表示概率最小的两个信源符号,并将这两个符号合并成一个新的201符号,从而得到个符号的新信源成为信源的缩减信源q-1S Slo⑶将缩减信源中的符号仍按递减顺序罗列,再将最小两个概率相加,合并成一个S1符号,并分别用、码表示,这样有形成为了个缩减信源01q-2S2o⑷挨次继续下去,直到缩减信源只剩下两个符号为止,将最后两个符号用、分别01表示⑸从最后一次缩减信源开始,向前返回,沿信源缩减过程的反方向取出所编的马元
三、实验内容计算定信源和输入信号字母表的编码,并计算编码的平均码长实Huffman Huffman验具体要求如下信源字母表的概率分布为P={
0.15,
0.12,
0.2,
0.08,
0.04,
0.18,
0.02,
0.09,
0.04,
0.02,
0.06}输入信号字母表;U={0,1,2独立设计信源和输入信号字母表进行编码,其中信源字母表元素个数要求
1.Huffman是以上,信号字母表元素个数是以上;82输出编码的平均码长
2.Huffman
四、实验环境Microsoft Windows7Matlab
6.5
五、编码程序编码:MATLABfunction[h,L]=huffmanp,r%变量为符号浮现概率所组成的概率向量p%返回值为利用编码算法编码后最后得到编码结果h Huffman%返回值为进行编码后所得编码的码字长度L Huffmaniflengthfindp0^=01error*Not aprob.vector,negative components;end%判断概率向量中是否有元素,有元素程序显示出错,终止运行00if sump,21errorfNot aprob.vector,components donot addup toT;end%判断所有符号浮现概率之和是否大于如果大于程序显示出错,终止运行1,1%测定概率向量长度,将长度值赋给变量a=lengthp;nk=fixa-1/r-1;I1=a-k*r+k;q=zeros1,a;m=zerosk+1,a;mp=m;q=p;[m1:,mp1,:]=sortq;5if I11s=summ1,1:11,2;q=[s,m1H+1:a ones1,l1-1];55[m2,:mp2,:]=sortq;5elsem2,:=m1,:;mp2,:=1:1:a;endfor i=3:k+1s=summi-1,1:r,2;q=[s,mi-1,r+1:a,ones1,r-1];[mi:mpi:]=sortq;5J Jendn1=m;n2=mp;for i=1:k+1n1i,:=mk+2-i,:;n2i,:=mpk+2-i:;5endm=n1;mp=n2;c=cellk+1,a;for j=1:rc{1J}=num2strj-1;endfor i=2:kp1=findmpi-1:==1;5for j=1:rc{ij}=strcatc{i-1p1},int2strj-1;3endfor j=r+1:p1+r-1endfor j=p1+r:ac{ij}=c{i-1,j-r+1};endendif I1==1forj=1:ac{k+1,j}=c{k,j};endelsep1=findmpk,:==1;for j=1:11c{k+1j}=strcatck,p1,int2strj-1;3endfor j=H+1:p1+Hc{k+1J}=c{k,mp1,j-l1;endfor j=p11+11+1:ac{k+1,j}=c{k,mp1,j-l1+1};endendfor j=1:alj=lengthc{k+1,j};endh=cell1a;3forj=1:a;h{1,j}=C{k1J}+end求平均码长L=sumL*mk+1,:;%、在命令窗口中输入2MATLABp=[
0.15,
0.12,
0.2,
0.08,
0.04,
0.18,
0.02,
0.09,
0.04,
0.02,
0.06];r=3;[h,L]=huffmanp,r.
六、运行结果»p=[
0.15,
0.12,
0.2,
0.08,
0.04,
0.18,
0.02,
0.09,
0.04,
0.02,
0.06]r=3;[h,L]=huffmanp,rColumns1through7‘2120212T‘2122’‘210’’211’‘10llColumns8through11T2‘20’‘22’‘0’L=
2.0600得出的结论为概率编码概率编码
0.
1521200.
02110.
1221210.
09120.
221220.
04200.
082100.
02220.
042110.
0600.1810L=
2.0600
七、实验总结在编码的过程中,我们运用了平时熟悉的数学软件的运行来实现,huffman MATLAB把书本上的算法运用编程来实现通过这次实验,使我更加清晰地理解huffman huffman编码的原理及实现过程,并且能够在中熟练地进行编码运行MATLAB。