武夷学院实验报告

课程名称: 多媒体通信技术 项目名称: 算术编码及MATLAB实现

姓名: _专业:__通信工程___ 班级: 学号:____同组成员_无_

实验准备:

实验目的

掌握算术编码基本原理及其实现步骤。

通过MATLAB实现算术编码。

实验环境

机房

实验过程记录:

实验原理

算术编码的编码对象是一则消息或一个字符序列,其编码思路是将消息或字符序列表示成0和1之间的一个间隔上的一个浮点小数。

在进行算术编码之前,需要对字符序列中每个字符的出现概率进行统计,根据各字符出现概率的大小,将每个字符映射到[0 ,1]区间上的某个子区间中。然后,在利用递归算法,将整个字符序列映射到[0,1 ]区间上的某个间隔中。在进行编码时,只需从该间隔中任选一个小数,将其转化为二进制数。

符号序列越长,编码表示他的间隔就越小,表示这个间隔所需的二进制位数就越多,编码输出的码字就越长。

算术编码规则

在进行编码过程中,随着信息的不断出现,子区间按下列规律减小。

·新子区间左端=前子区间左端+当前子区间左端×前子区间长度。

·新子区间长度=前子区间长度×当前子区间长度

2、实验代码

(附上相应的程序代码)

function arithmeticcoding

S = input('请输入信源符号=');

P = input('请输入信源概率向量P=');

str = input('输入编码的字符串=');

l = 0;

r = 1;

d = 1;

n = length(str);

n_S = length(P);

%**********处理第一个字符***********%

for i=1:n

flag = 0;

for k = 1:n_S

if str(i)==S(k)

m=k;

flag =1;

break;

end

end

if flag ==0

error('非信源字符');

end

%*********当前单个字符的左、右端以及长度处理**************%

pl = 0;

pr = 0;

for j = 1:m-1

pl = pl + P(j); %左端

end

pr = pl+P(m); %右端

pd = pr-pl; %子区间长度

%*********新子区间的左、右边界以及长度处理**************%

if i == 1 %首字符

l = pl;

r = pr;

d = pd;

else %算术编码规则

l = l+d*pl;

d = d*pd;

r = l+d;

end

strl = strcat('第',int2str(i),'个符号的间隔左右边界:');

disp(strl);

format long;

disp(l);disp(r);

end

strl = strcat('符号的间隔左右边界:');

disp(strl);

format long;

disp(l);disp(r);

end

3、实验记录

(1) 输入多组信源数据进行测试分析;

(2) 记录输入各符号时,产生的新子区间,并与理论结果比较分析。

三、实验小结:

本次的实验内容比较简单,在实验的过程中,老师要求我们要掌握每一步编码的由来

,还要使程序能够显示每一个子区间范围,这就增加了实验的难度,但是在实验的过程

中会发现只要认真的研究程序,按照老师教的步骤验证每一步得到的结果,还是能够教

容易的完成实验的。所以在实验的过程中我们一定要认真听讲,不懂的及时和老师沟通

,才能学到更多的东西。

实验报告成绩(百分制)__________ 实验指导教师签字:__________ 广播剧编剧学习小总结

剧本内容:

现在的广

图像算术编码 matlab,实验二:算术编码及MATLAB实现.doc相关推荐

  1. matlab实验二数值运算报告,MATLAB数值运算实验报告.docx

    MATLAB数值运算实验报告 实验报告系 (部): 信息工程 班 级: 姓 名: 学 号: 课 程: MATLAB 实验名称: Matlab数值运算目录一 . 实验目的2二 . 实验内容2三 . 实验 ...

  2. 算术编码 matlab程序,实验二算术编码及MATLAB实现.doc

    实验二算术编码及MATLAB实现 武夷学院实验报告 课程名称: 多媒体通信技术 项目名称: 算术编码及MATLAB实现 姓名: _专业:__通信工程___ 班级: 学号:____同组成员_无_ 实验准 ...

  3. 计算机网络实验二cdma编码,CDMA编码实验_长春理工大学

    CDMA编码 计算机网络.CDMA 实验二CDMA编码 1.实验题目:CDMA编码 2.实验内容: (1)随机生成5个互不正交的8位码片M1.M2.M3.M4.M5. (2)分别求出与M1.M2.M3 ...

  4. matlab 线性系统响应,MATLAB实验二线性系统时域响应分析.doc

    MATLAB实验二线性系统时域响应分析 武汉工程大学实验报告 专业 班号 组别 01 教师 姓名 同组者 ( 个人 ) 实验名称 实验二 线性系统时域响应分析 实验日期 2011-11-24 第 2 ...

  5. Unicode编码详解(二):编码预备知识

    Unicode编码详解(二):编码预备知识 本文为原创文章,转载请注明出处,或注明转载自"黄邦勇帅(原名:黄勇) 本文是对<C++语法详解>一书相关章节的增补,以增强读者对字符的 ...

  6. MATLAB实验脉冲响应程序,MATLAB实验二.docx

    MATLAB实验二 实验二 (一)系统响应及系统稳定性1.实验目的(1)掌握求系统响应的方法.(2)掌握时域离散系统的时域特性.(3)分析.观察及检验系统的稳定性.2.实验仪器 PC机一台 MATLA ...

  7. matlab m文件的编写,Matlab实验报告(四)M文件的编写.doc

    Matlab实验报告(四)M文件的编写.doc 实验目的 学习MATLAB屮的关系运算和逻辑运算,掌握它们的表达形式和川法. 掌握MATLAB中的选择结构和循环结构. 学会用MATLAB进行M文件的编 ...

  8. LSB图像信息隐藏算法matlab,实验二LSB信息隐藏实验.doc

    实验二LSB信息隐藏实验.doc 实验二LSB信息隐藏实验 综合评分: [实验目的]: 掌握MATLAB基木操作 实现LSB信息隐藏和提取 [实验内容]:(请将你实验完成的项11涂"■&qu ...

  9. 单位斜变函数matlab,实验二 用MATLAB实现线性系统的时域分析

    实验二基于MATLAB的线性系统时域分析 [实验目的] 1.研究线性系统在典型输入信号作用下的暂态响应: 2.熟悉线性系统的暂态性能指标: 3.研究二阶系统重要参数阻尼比ξ对系统动态性能的影响: 4. ...

  10. matlab求解极限与倒数,matlab实验二__极限与导数

    实验二 极限与导数 [实验目的] 1.了解函数极限.导数的基本概念. 2.学习.掌握MATLAB 软件有关求曲线.导数的命令. [实验内容] 1.判断极限00 11lim cos ,limsin x ...

最新文章

  1. Gemfile.lock应该包含在.gitignore中吗?
  2. 使用VS2008怎么连接自带的SQL Server2005的Express版本数据库
  3. 【plupload】单易用且功能强大的上传组件
  4. C# 和 VB.NET 下,
  5. Xcode9学习笔记63 - 使用SystemSoundId播放简短声音(太长的无法播放)
  6. python环形链表的使用
  7. go token验证_GitHub - goflyfox/gtoken: 基于gf框架的token插件,通过服务端验证方式实现token认证;...
  8. 浅谈C语言中的强符号、弱符号、强引用和弱引用【转】
  9. 381.O(1)时间插入、删除和获取随机元素-允许重复
  10. Android:安卓虚拟机(Dalvik ART)学习
  11. 战神笔记本安装win7,解决USB3.0、核显驱动、独显驱动
  12. VC 读取usb相机
  13. 鸿蒙空间命运法则,洪荒之终极人族
  14. 普通PC通过USB转485串口 ModBus-RTU通信协议控制伺服电机
  15. st_contains
  16. 微服务项目之电商--15.后台分页查询及新增品牌业务添加
  17. win10pe制作方法
  18. 如何使用ArcGIS从天地图中提取水系
  19. 【分享】李南江HTML5教程
  20. 看直播到底能得到什么

热门文章

  1. Netch + Connectify 实现代理转全局并共享给其他设备,例如Kindle
  2. 8uftp使用教程 图解,8uftp使用教程 图解
  3. Java中的拦截器和过滤器有什么区别
  4. html是乱码怎么解决,如何解决html乱码问题
  5. 相机成像原理及坐标变换
  6. mybatis源码编译教程
  7. 【C语言】入门基础选择题附答案
  8. C/C++静态代码检查工具CodeChecker(一)简介
  9. 简单有限元分析技术(详细步骤讲解)
  10. win10或11非华为电脑安装最新的电脑管家(支持移动应用引擎)安装方法及问题解决