实验一--算数编码实验报告.doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
实验一 算数编码实验报告 班级:11电信实验班 姓名:颜妮 学号:2011339960109 一、实验目的 掌握算数编码原理。 二、实验内容 利用Matlab编写程序实现算数编码,包括: 1. 对文件符号进行概率统计,生成编码表; 2. 对文件进行压缩编码; 3. (选做)对文件进行解压缩,比较原始数据和解压后的数据之间是否有损耗。 三、实验仪器 1、计算机一台; 2、Matlab仿真软件。 实验原理 算术编码的编码对象是一则消息或一个字符序列,其编码思路是将该消息或字符序列 表示成0和1之间的一个间隔(Interval)上的一个浮点小数。 在进行算术编码之前,需要对字符序列中每个字符的出现概率进行统计,根据各字符 出现概率的大小,将每个字符映射到[0,1]区间上的某个子区间中。然后,再利用递归算 法,将整个字符序列映射到[0,1]区间上的某个Interval中。在进行编码时,只需从该I nterval中任选一个小数,将其转化为二进制数。 符号序列越长,编码表示它的Interval的间隔就越小,表示这一间隔所需的二进制位 数就越多,编码输出的码字就越长。 实验内容 clear; clc; %编码 x='state_tree'; range_low=[0.6 0.7 0.1 0.7 0.2 0 0.7 0.5 0.2 0.2]; range_high=[0.7 1.0 0.2 1.0 0.5 0.1 1.0 0.6 0.5 0.5]; low=0;high=0;range_length=1; for i=1:length(x) next_low=low+range_length*range_low(i); next_high=low+range_length*range_high(i); low=next_low;high=next_high;range_length=next_high-next_low; end vpa(low,10);vpa(high,10); number=vpa(rand*(vpa(high,10)-vpa(low,10))+vpa(low,10),10) %解码 string=['_' 'a' 'e' 'r' 's' 't']; low=[0 0.1 0.2 0.5 0.6 0.7]; high=[0.1 0.2 0.5 0.6 0.7 1.0]; for i=1:10 for j=1:6 if low(j)<=number&&number<=high(j) str(i)=num2str(string(j)); number=(number-low(j))/(high(j)-low(j)); break; end end end disp(str); 实验心得 此次实验运用的是相对熟悉的MATLAB软件,无需多余的学习,主要收获的是有关于编 码和解码的思想,掌握了编码的原理。过程中遇到的问题主要是vpa函数起初不是很了解 ,后来经查找和运用,目前可以掌握。 ----------------------- 实验一--算数编码实验报告全文共3页,当前为第1页。 实验一--算数编码实验报告全文共3页,当前为第2页。 实验一--算数编码实验报告全文共3页,当前为第3页。
- 粉丝: 167
- 资源: 3万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 珍藏多年的基于matlab实现潮流计算程序源代码集合,包含多个潮流计算程序.rar
- 使用FPGA实现串-并型乘法器
- 基于matlab实现针对基于双曲线定位的DV-Hop算法中误差误差出一种基于加权双曲线定位的DV-Hop改进算法.rar
- 基于matlab实现由遗传算法开发的整数规划,车辆调度问题.rar
- 电视家7.0(对电视配置要求高).apk
- 免费计算机毕业设计-基于JavaEE的医院病历管理系统设计与实现(包含论文+源码)
- 手机端 我的世界融合植物大战僵尸版.apk
- 植物大战僵尸 · 戴夫的老年生活 手机版.apk
- Runcraft · 我的世界跑酷游戏 手机端.apk
- pta题库答案c语言.docx