信息论与编码matlab实验报告,信息论与编码matlab1
matlab
1. 实验目的
1、掌握哈夫曼编码、费诺编码、汉明码原理;
2、熟练掌握哈夫曼树的生成方法;
3、学会利用matlab、C语言等实现Huffman编码、费诺编码以及hamming编码。
2. 实验原理
Huffman编码:
哈夫曼树的定义:假设有n个权值,试构造一颗有n个叶子节点的二叉树,每个叶子带权值为wi,其中树带权路径最小的二叉树成为哈夫曼树或者最优二叉树;
实现Huffman编码原理的步骤如下: 1. 首先将信源符号集中的符号按概率大小从大到小排列。 2. 用0和1表示概率最小的两个符号。可用0表示概率小的符号,也可用1表示概率小的符号,但整个编码需保持一致。
3. 将这两个概率最小的符号合并成一个符号,合并符号概率为
最小概率之和,将合并后的符号与其余符号组成一个N-1的新信源符号集,称之为缩减符号集。
4. 对缩减符号集用步骤1,2操作 5. 以此类推,直到只剩两个符号,将0和1分别赋予它们。 6. 根据以上步骤,得到0,1赋值,画出Huffman码树,并从最
后一个合并符号回朔得到Huffmaan编码。
费诺编码:
费诺编码的实现步骤:
1、将信源消息符号按其出现的概率大小依次排列: 。 2、将依次排列的信源符号按概率值分为两大组,使两个组的
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!