离散信源无失真信源编码
- 格式:doc
- 大小:102.00 KB
- 文档页数:4
《信息论基础》题目:常用无失真信源编码程序设计目录1. 引言 (2)2. 香农编码 (2)2.1 编码步骤 (3)2.2 程序设计 (3)2.3 运行结果 (3)3. 费诺编码 (4)3.1 编码步骤 (5)3.2 程序设计 (5)3.3 运行结果 (5)4. 哈夫曼编码 (6)4.1 编码步骤 (7)4.2 程序设计 (7)4.3 运行结果 (8)5. 结论 (9)6. 参考文献 (10)7. 附录 (11)7.1 香农编码Matlab程序 (11)7.2 费诺编码Matlab程序 (12)7.3 哈夫曼编码Matlab程序 (14)1. 引言信息论(Information Theory)是运用概率论与数理统计的方法研究信息、信息熵、通信系统、数据传输、密码学、数据压缩等问题的应用数学学科。
信息系统就是广义的通信系统,泛指某种信息从一处传送到另一处所需的全部设备所构成的系统。
信息论是关于信息的理论,应有自己明确的研究对象和适用范围[1]。
信息论将信息的传递作为一种统计现象来考虑,给出了估算通信信道容量的方法。
信息传输和信息压缩是信息论研究中的两大领域。
这两个方面又由信息传输定理、信源-信道隔离定理相互联系。
信源编码是一种以提高通信有效性为目的而对信源符号进行的变换,或者说为了减少或消除信源冗余度而进行的信源符号变换。
具体说,就是针对信源输出符号序列的统计特性来寻找某种方法,把信源输出符号序列变换为最短的码字序列,使后者的各码元所载荷的平均信息量最大,同时又能保证无失真地恢复原来的符号序列[2]。
在通信中,传送信源信息只需要具有信源极限熵大小的信息率,但在实际的通信系统中用来传送信息的信息率远大于信源极限熵。
为了能够得到或接近信源熵的最小信息率,必须解决编码的问题,而编码分为信源编码和信道编码,其中的信源编码又分为无失真信源编码和限失真信源编码。
由于无失真信源编码只适用于离散信源,所以本次作业讨论无失真离散信源的三种简单编码,即香农(Shannon)编码、费诺(Fano) 编码和哈夫曼(Huffman) 编码[3]。
第三章 离散信源无失真编码3.2离散无记忆信源,熵为H[x],对信源的L 长序列进行等长编码,码字是长为n 的D 进制符号串,问:(1)满足什么条件,可实现无失真编码。
(2)L 增大,编码效率 也会增大吗? 解:(1)当log ()n D LH X ≥时,可实现无失真编码;(2)等长编码时,从总的趋势来说,增加L 可提高编码效率,且当L →∞时,1η→。
但不一定L 的每次增加都一定会使编码效率提高。
3.3变长编码定理指明,对信源进行变长编码,总可以找到一种惟一可译码,使码长n 满足D X H log )(≤n <D X H log )(+L 1,试问在n >D X H log )(+L1时,能否也找到惟一可译码? 解:在n >D X H log )(+L1时,不能找到惟一可译码。
证明:假设在n >D X H log )(+L1时,能否也找到惟一可译码,则由变长编码定理当n 满足D X H log )(≤n <D X H log )(+L 1,总可以找到一种惟一可译码知:在n ≥DX H log )( ① 时,总可以找到一种惟一可译码。
由①式有:Ln ≥L X H )(logD ② 对于离散无记忆信源,有H(x)=LX H )( 代入式②得:n L≥ D x H log )(即在nL≥Dx H log )(时,总可以找到一种惟一可译码;而由定理给定熵H (X )及有D 个元素的码符号集,构成惟一可译码,其平均码长满足D X H log )(≤n L <DX H log )(+1 两者矛盾,故假设不存在。
所以,在n >D X H log )(+L1时,不能找到惟一可译码。
3.7对一信源提供6种不同的编码方案:码1~码6,如表3-10所示信源消息 消息概率 码1 码2 码3 码4 码5 码6 u1 1/4 0 001 1 1 00 000 u2 1/4 10 010 10 01 01 001 U3 1/8 00 011 100 001 100 011 u4 1/8 11 100 1000 0001 101 100 u5 1/8 01 101 10000 00001 110 101 u6 1/16 001 110 100000 000001 1110 1110 u71/161111111000000000000111111111(1) 这些码中哪些是惟一可译码? (2) 这些码中哪些是即时码?(3) 对所有唯一可译码求出其平均码长。
第5章无失真信源编码定理●通信的实质是信息的传输。
高效率、高质量地传送信息又是信息传输的基本问题。
●信源信息通过信道传送给信宿,需要解决两个问题:第一,在不失真或允许一定失真条件下,如何用尽可能少的符号来传送信源信息,以提高信息传输率。
第二,在信道受干扰的情况下,如何增强信号的抗干扰能力,提高信息传输的可靠性同时又使得信息传输率最大。
●为了解决以上两个问题,引入了信源编码和信道编码。
●提高抗干扰能力(降低失真或错误概率)往往是增加剩余度以降低信息传输率为代价的;反之,要提高信息传输率往往通过压缩信源的剩余度来实现,常常又会使抗干扰能力减弱。
●上面两者是有矛盾的,然而在信息论的编码定理中,已从理论上证明,至少存在某种最佳的编码或信息处理方法,能够解决上述矛盾,做到既可靠又有效地传输信息。
●第5章着重讨论对离散信源进行无失真信源编码的要求、方法及理论极限,得出极为重要的极限定理——香农第一定理。
5.1编码器●编码实质上是对信源的原始符号按一定的数学规则进行的一种变换。
●图5.1就是一个编码器,它的输入是信源符号集S={s 1,s 2,…,s q }。
同时存在另一符号集X={x 1,x 2, …,x r },一般元素x j 是适合信道传输的,称为码符号(或称为码元)。
编码器是将信源符号集中的符号s i (或者长为N 的信源符号序列a i )变换成由x j(j=1,2, …,r )组成的长度为l i的一一对应序列。
●这种码符号序列W i 称为码字。
长度l i称为码字长度或简称码长。
所有这些码字的集合C 称为码。
●编码就是从信源符号到码符号的一种映射,若要实现无失真编码,必须这种映射是一一对应的、可逆的。
编码器S :{s 1,s 2,…s q }X :{x 1,x 2,…x r }C :{w 1,w 2,…w q }(w i 是由l i 个x j (x j 属于X ))组成的序列,并于s i 一一对应一些码的定义●二元码:若码符号集为X={0,1},所得码字都是一些二元序列,则称为二元码。
可变长无失真信源编码定理一、概述可变长无失真信源编码定理是信息论的核心概念之一,它是由美国数学家香农(Claude Shannon)于1948年首次提出。
该定理主要探讨了信源编码的极限性能,为无失真编码提供了理论基础。
可变长无失真信源编码定理不仅在理论上有重要意义,而且在数据压缩、网络传输和存储系统等领域有着广泛的应用价值。
二、定理内容可变长无失真信源编码定理的主要内容是:对于任意给定的离散无记忆信源,存在一种可变长编码方式,使得编码后的平均码长小于或等于信源的熵,从而实现无失真编码。
换句话说,如果信源的熵为H,那么存在一种编码方式,使得编码后的平均码长L满足L ≤ H。
三、证明过程证明可变长无失真信源编码定理的过程较为复杂,涉及到概率论和信息论的基本知识。
以下是证明过程的大致步骤:1.定义信源的熵:信源的熵是信源输出随机变量的不确定性度量,定义为所有可能符号的概率加权和。
如果信源有n个符号,每个符号出现的概率为p1, p2, ..., pn,则信源的熵H定义为H = - Σ (pi * log2(pi)),其中i=1,2,...,n。
2.构造一个可变长度编码表:根据信源的概率分布,构造一个可变长度编码表,使得出现概率较大的符号对应较短的码字,反之亦然。
假设码字长度按照字典序排列,第i个码字的长度为log2(1/pi),其中i=1,2,...,n。
3.计算平均码长:根据可变长度编码表,计算所有可能符号的平均码长。
平均码长等于所有码字长度的概率加权和,即L = Σ(log2(1/pi) * pi),其中i=1,2,...,n。
4.证明平均码长小于或等于信源熵:利用不等式性质和概率分布的性质,推导出平均码长L满足L ≤H。
关键在于利用概率分布的不均匀性,通过调整码字长度来最小化平均码长。
5.构造一个解码函数:为了实现无失真解码,需要构造一个解码函数,使得每个码字能够唯一地还原为原始符号。
解码函数可以采用查表法或类似算法实现。
离散信源无失真信源编码
目的:
熟练掌握无失真信源编码的方法;熟练掌握Huffman 编码的平均码长和编码效率的
Huffman 编码的基本原理及特点:
Huffman 编码是一种可变长编码算法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码。
Huffman 编码一般利用二叉树结构实现,其基本原理是频繁使用的数据用较短的代码代替,较少使用的数据用较长的代码代替,每个数据的代码各不相同。
Huffman 编码在信源符号表示平均所需要的比特数方面是最优的,而且也满足前缀条件(即唯一可译码)。
在编码效率方面,Huffman 编码是基于二叉树算法的特点以及性质。
从书本的例题看出Huffman 编码方法得到的码是不唯一的。
不同的排序准则以及不同的符号分配都会影响到最后的结果,虽然编码的效率相同,但是影响到了编码的质量。
从课本上的例题可以看出,二叉树的层数较少的,编码质量较高(从码方差得出)。
在编码的时候,要尽量避免二叉树的稀疏性给编码质量带来的影响。
要减少二叉树的稀疏性就要提高二叉树的利用率,减少二叉树的层数。
Huffman 编码基本步骤,画出程序流程图:
Huffman 编码步骤: (1)将信源符号按概率递减的次序排序 (2)将两个最小概率的分支分别标记为‘1’和‘0’,他们的结合点为两分支概率之和 (3)将上面的概率和看作一个新符号的概率。
(4)重新排列后,重复上面的步骤。
(5)从最后的节点开始读取,到要找的符号,路径的分支标号就是码字 流程图:
输入数据:
输入编码:
当输入为例题中数据时,输出为:当输入是习题中数据时,输出为:
讨论不同的Huffman 编码的平均码长如何变化,码字长度偏离平均码长对编码性能的影响。
答:不同的Huffman编码方法得到的平均码长是相同的,编码效率也相同。
但是,不同的编码方法对码的质量会产生影响。
通过求码方差可知,码方差越小,编码质量越高。
从树的结构方面来看,就是树的层数较少的编码方法质量较高。