网站大量收购闲置独家精品文档,联系QQ:2885784924

算数编码实验.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算数编码实验

实验一:算数编码实验 一、实验目的 掌握算数编码原理。 二、实验内容 利用Matlab编写程序实现算数编码,包括: 对文件符号进行概率统计,生成编码表; 对文件进行压缩编码; (选做)对文件进行解压缩,比较原始数据和解压后的数据之间是否有损耗。 三、实验仪器 1、计算机一台; 2、Matlab仿真软件。 四、实验原理 算术编码的编码对象是一则消息或一个字符序列,其编码思路是将该消息或字符序列表示成0和1之间的一个间隔(Interval)上的一个浮点小数。 在进行算术编码之前,需要对字符序列中每个字符的出现概率进行统计,根据各字符出现概率的大小,将每个字符映射到[0,1]区间上的某个子区间中。然后,再利用递归算法,将整个字符序列映射到[0,1]区间上的某个Interval中。在进行编码时,只需从该Interval中任选一个小数,将其转化为二进制数。 符号序列越长,编码表示它的Interval的间隔就越小,表示这一间隔所需的二进制位数就越多,编码输出的码字就越长。 五、实验结果 算数编码的MATLAB程序运行结果如下: 请输入编码的字符串state_tree _ a e r s t 0.1 0.1 0.3 0.3 0.1 0.1 输入第1符号的间隔左右边界: 0.80000000000000 0.90000000000000 输入第2符号的间隔左右边界: 0.89000000000000 0.90000000000000 输入第3符号的间隔左右边界: 0.89100000000000 0.89200000000000 输入第4符号的间隔左右边界: 0.89190000000000 0.89200000000000 输入第5符号的间隔左右边界: 0.89192000000000 0.89195000000000 输入第6符号的间隔左右边界: 0.89192000000000 0.89192300000000 输入第7符号的间隔左右边界: 0.89192270000000 0.89192300000000 输入第8符号的间隔左右边界: 0.89192285000000 0.89192294000000 输入第9符号的间隔左右边界: 0.89192286800000 0.89192289500000 输入第10符号的间隔左右边界: 0.89192287340000 0.89192288150000 算术编码程序代码如下: str=input(请输入编码的字符串); l=0;r=1;d=1; %初始间隔 p=[0.1 0.1 0.3 0.3 0.1 0.1]; %字符的概率分布,sum(p)=1 n=length(str); disp(_ a e r s t) disp(num2str(p)) for i=1:n switch str(i) case _ m=1; case a m=2; case e m=3; case r m=4; case s m=5; case t m=6; otherwise error(请不要输入其它字符!); end %判断字符 pl=0;pr=0; for j=1:m-1 pl=pl+p(j); end for j=1:m pr=pr+p(j); end %概率统计 l=l+d*pl; r=l+d*(pr-pl); strl=strcat(输入第,int2str(i),符号的间隔左右边界:); disp(strl); format long disp(l);disp(r); d=r-l; end l=l+d*pl; r=l+d*(pr-pl); str1=strcat(输入第,int2str(i),符号的间隔左右边界:); disp(strl); format long disp(l);disp(r); d=r-1; end 六、实验结果分析 通过本次实验,我了解了算数编码的原理和实现方法,算术编码用到两个基本的参数:符号的概率和它的编码间隔。信源符号的概率决定压缩编码的效率,也决定编码过程中信源符号的间隔,而这些间隔包含在0到1之间。对信源进行算数编码需要两

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档