实验二算术编码及MATLAB实现.doc
上传者:布罗奇迹
2022-07-10 03:11:05上传
DOC文件
1.40 MB
实验二:算术编码及MATLAB实现
武夷学院实验报告
课程名称: 多媒体通信技术 项目名称: 算术编码及MATLAB实现
姓名: _专业:__通信工程___ 班级: 学号:____同组成员_无_
实验准备 注:1、实验准备部分包括实验环境准备和实验所需知识点准备。
2、若是单人单组实验,同组成员填无。
:
实验目的
掌握算术编码基本原理及其实现步骤。
通过MATLAB实现算术编码。
实验环境
机房
实验过程记录 注:实验过程记录要包含实验目的、实验原理、实验步骤,页码不够可自行添加。
:
实验原理
算术编码的编码对象是一则消息或一个字符序列,其编码思路是将消息或字符序列表示成0和1之间的一个间隔上的一个浮点小数。
在进行算术编码之前,需要对字符序列中每个字符的出现概率进行统计,根据各字符出现概率的大小,将每个字符映射到[0 ,1]区间上的某个子区间中。然后,在利用递归算法,将整个字符序列映射到[0,1 ]区间上的某个间隔中。在进行编码时,只需从该间隔中任选一个小数,将其转化为二进制数。
符号序列越长,编码表示他的间隔就越小,表示这个间隔所需的二进制位数就越多,编码输出的码字就越长。
算术编码规则
在进行编码过程中,随着信息的不断出现,子区间按下列规律减小。
·新子区间左端=前子区间左端+当前子区间左端×前子区间长度。
·新子区间长度=前子区间长度×当前子区间长度
2、实验代码
(附上相应的程序代码)
function arithmeticcoding
S = input('请输入信源符号=');
P = input('请输入信源概率向量P=');
format long;
disp(l);disp(r);
end
strl = strcat('符号的间隔左右边界:');
disp(strl);
format long;
disp(l);disp(r);
end
3、实验记录
(1) 输入多组信源数据进行测试分析;
武夷学院实验报告
课程名称: 多媒体通信技术 项目名称: 算术编码及MATLAB实现
姓名: _专业:__通信工程___ 班级: 学号:____同组成员_无_
实验准备 注:1、实验准备部分包括实验环境准备和实验所需知识点准备。
2、若是单人单组实验,同组成员填无。
:
实验目的
掌握算术编码基本原理及其实现步骤。
通过MATLAB实现算术编码。
实验环境
机房
实验过程记录 注:实验过程记录要包含实验目的、实验原理、实验步骤,页码不够可自行添加。
:
实验原理
算术编码的编码对象是一则消息或一个字符序列,其编码思路是将消息或字符序列表示成0和1之间的一个间隔上的一个浮点小数。
在进行算术编码之前,需要对字符序列中每个字符的出现概率进行统计,根据各字符出现概率的大小,将每个字符映射到[0 ,1]区间上的某个子区间中。然后,在利用递归算法,将整个字符序列映射到[0,1 ]区间上的某个间隔中。在进行编码时,只需从该间隔中任选一个小数,将其转化为二进制数。
符号序列越长,编码表示他的间隔就越小,表示这个间隔所需的二进制位数就越多,编码输出的码字就越长。
算术编码规则
在进行编码过程中,随着信息的不断出现,子区间按下列规律减小。
·新子区间左端=前子区间左端+当前子区间左端×前子区间长度。
·新子区间长度=前子区间长度×当前子区间长度
2、实验代码
(附上相应的程序代码)
function arithmeticcoding
S = input('请输入信源符号=');
P = input('请输入信源概率向量P=');
format long;
disp(l);disp(r);
end
strl = strcat('符号的间隔左右边界:');
disp(strl);
format long;
disp(l);disp(r);
end
3、实验记录
(1) 输入多组信源数据进行测试分析;
实验二:算术编码及MATLAB实现