文档详情

太原理工大学现代科技学院多媒体通信技术课设.doc

发布:2016-11-29约1.13万字共6页下载文档
文本预览下载声明
太原理工大学现代科技学院 多媒体通信技术 课程 实验报告 专业班级 学 号 姓 名 指导教师 实验名称 霍夫曼编码 专业班级 学号 姓名 成绩 实验一、霍夫曼编码 实验目的 1、学习 Matlab 软件的使用和编程; 2、进一步深入理解 Huffman 编码算法的原理; 3、提高独立进行算法编程的能力。 二、实验内容 1、用 Matlab 实现 Huffman 编码算法程序; 2、要求程序输出显示所有的码字以及编码效率; 3、设计简单的输入界面(可以是简单的文字提示信息),程序运 行时提示用户输入代表信源符号概率的向量;要对用户输入的概率向量进行合法性检查。 三、实验原理 1、二进制 Huffman 编码的基本原理及算法 1 )把信源符号集中的所有符号按概率从大到小排队。 2 )取概率最小的两个符号作为两片叶子合并(缩减)到一个 节点。 3 )视此节点为新符号,其概率等于被合并(缩减)的两个概率之和,参与概率排队。 4 )重复23两步骤,直至全部符号都被合并(缩减)到根。 5 )从根出发,对各分枝标记 0 和 1。从根到叶的路径就给出了各个码字的编码和码长。 程序设计的原理 (1)程序的输入:以一维数组的形式输入要进行 huffman 编码的信源符号的概率,在运行该程序前,显示文字提示信息,提示所要输入的概率矢量;然后对输入的概率矢量进行合法性判断,原则为:如果概率矢量中存在小于 0 的项,则输入不合法,提示重新输入;如果概率矢量的求和大于 1,则输入也不合法,提示重新输入。 (2) huffman 编码具体实现原理: a、在输入的概率矩阵 p 正确的前提条件下对 p 进行排序,并用矩阵 L 记录 p 排序之前各元素的顺序,然后将排序后的概率数组 p 的前两项,即概率最小的两个数加和,得到新的一组概率序列,重复以上过程,最后得到一个记录概率加和过程的矩阵 p 以及每次排序之前概率顺序的矩阵 a。 b、新生成一
显示全部
相似文档