![算数编码实验_第1页](http://file1.renrendoc.com/fileroot_temp2/2021-1/26/e2eed1e6-c507-454a-bb5a-960ad618bb9d/e2eed1e6-c507-454a-bb5a-960ad618bb9d1.gif)
![算数编码实验_第2页](http://file1.renrendoc.com/fileroot_temp2/2021-1/26/e2eed1e6-c507-454a-bb5a-960ad618bb9d/e2eed1e6-c507-454a-bb5a-960ad618bb9d2.gif)
![算数编码实验_第3页](http://file1.renrendoc.com/fileroot_temp2/2021-1/26/e2eed1e6-c507-454a-bb5a-960ad618bb9d/e2eed1e6-c507-454a-bb5a-960ad618bb9d3.gif)
![算数编码实验_第4页](http://file1.renrendoc.com/fileroot_temp2/2021-1/26/e2eed1e6-c507-454a-bb5a-960ad618bb9d/e2eed1e6-c507-454a-bb5a-960ad618bb9d4.gif)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.实验一:算数编码实验一、实验目的掌握算数编码原理。二、实验内容利用Matlab编写程序实现算数编码,包括:1、 对文件符号进行概率统计,生成编码表;2、 对文件进行压缩编码;3、 (选做)对文件进行解压缩,比较原始数据和解压后的数据之间是否有损耗。三、实验仪器1、计算机一台;2、Matlab仿真软件。四、实验原理算术编码的编码对象是一则消息或一个字符序列,其编码思路是将该消息或字符序列表示成0和1之间的一个间隔(Interval)上的一个浮点小数。在进行算术编码之前,需要对字符序列中每个字符的出现概率进行统计,根据各字符出现概率的大小,将每个字符映射到0,1区间上的某个子区间中。然后,再利用
2、递归算法,将整个字符序列映射到0,1区间上的某个Interval中。在进行编码时,只需从该Interval中任选一个小数,将其转化为二进制数。 符号序列越长,编码表示它的Interval的间隔就越小,表示这一间隔所需的二进制位数就越多,编码输出的码字就越长。五、实验结果算数编码的MATLAB程序运行结果如下:请输入编码的字符串state_tree_ a e r s t0.1 0.1 0.3 0.3 0.1 0.1输入第1符号的间隔左右边界: 0.800 0.900输入第2符号的间隔左右边界: 0.890 0.900输入第3符号的间隔左右边界: 0.891 0.892输入第4符号的间隔左右边界:
3、 0.89190000000000 0.892输入第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.89
4、192288150000算术编码程序代码如下:str=input(请输入编码的字符串);l=0;r=1;d=1;%初始间隔p=0.1 0.1 0.3 0.3 0.1 0.1;%字符的概率分布,sum(p)=1n=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
5、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之间。对信源进行算数编码需要两个过程,第一个过程立信源概率表,第二个过程信源发出的符号序列进行扫描编码。总结出用matlab编程时需要注意的两点:第一、 在计算编写初始间隔的时候需要把
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 东莞市农业用地租赁合同模板示例
- 临时电工项目合同协议书
- 个人资金借入合同模板范例
- 中保人寿66鸿运保险(B型)合同条款全解
- 中外合资经营企业合同(适用于医疗保健行业)
- 2025年房地产行业协同销售协议
- 二手房屋买卖合同经典范文
- 不动产转让合同协议
- 个人消费分期贷款合同模板
- 事业单位劳动合同范本
- 人教版2024新版七年级上册数学第六章几何图形初步学业质量测试卷(含答案)
- 父亲归来那一天(2022年四川广元中考语文试卷记叙文阅读题及答案)
- 工业机器人编程语言:Epson RC+ 基本指令集教程
- 2023.05.06-广东省建筑施工安全生产隐患识别图集(高处作业吊篮工程部分)
- 2023年汉中市人民政府国有资产监督管理委员会公务员考试《行政职业能力测验》历年真题及详解
- JTG 3362-2018公路钢筋混凝土及预应力混凝土桥涵设计规范
- 八年级下册历史思维导图
- 电动汽车用驱动电机系统-编制说明
- 江苏卷2024年高三3月份模拟考试化学试题含解析
- (正式版)JTT 1497-2024 公路桥梁塔柱施工平台及通道安全技术要求
- 医疗器械物价收费申请流程
评论
0/150
提交评论