Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > Java基础相关 >

信息论与编码课设报告 PDF 下载


分享到:
时间:2021-06-07 09:52来源:http://www.java1234.com 作者:转载  侵权举报
信息论与编码课设报告 PDF 下载
失效链接处理
信息论与编码课设报告 PDF 下载

本站整理下载:
提取码:aodq 
 
 
相关截图:
 
主要内容:


1 信源编码概念
编码(Encodeing)的目的是优化通信系统。一般来说,通信系统的性能指标主要是有效性、可靠性、安全性和经济性。信源编码(Source Encoding)是以提高通信有效性为目的的编码,通常通过压缩信源冗余度来实现。由下图可见,信源编码位于通信系统的前端,直接对信源发出的信号进行变换或处理。
 
2 香农编码
香农编码的理论基础是符号的码字长度Ni完全由该符号出现的概率来决定,即-logDPi≤Ni≤-logDPi+1,式中,D为编码所用的数制。
香农编码的步骤如下:(1)将信源符号按其出现概率从大到小排序;(2)计算出各概率对应的码字长度;(3)计算累加概率;(4)把各个累加概率由十进制转化为二进制,取该二进制数的前Ni位作为对应信源符号的码字。
2.1二分法香农-范诺编码
二分法香农-范诺编码方法的步骤如下:(1)将信源符号按照其出现概率从大到小排序;(2)从这个概率集合中的某个位置将其分为两个子集合,并尽量使两个子集合的概率和近似相等,给前面一个子集合赋值为0,后面一个子集合赋值为1;(3)重复步骤(2),直到各个子集合中只有一个元素为止;(4)将每个元素所属的子集合的值依次串起来,即可得到各个元素的香农编码。
3 Fano编码
1949年费诺(R.M. Fano)提出了一种编码方法,称之为Fano码。它属于概率匹配编码,但一般也不是最佳的编码方法,只有当信源的概率分布呈现 
 
 
分布形式的条件下,才能达到最佳码的性能。
 
Fano码的编码步骤如下:
1)将r 个信源符号按概率递减的方式进行排列:。
2)将排列好的信源符号按概率值划分成两大组,使每组的概率之和接近于相等,并对每组各赋予一个二元码符号0和1。
3)将每一大组的信源符号再分成两组,使划分后的两个组的概率之和接近于相等,再分别赋予一个二元码符号0和1。
4)依次下去,直至每个小组只剩一个信源符号为止。
5)将逐次分组过程中得到的码元排列起来就是各信源符号的编码。
4 Huffman编码
4.1 基本介绍
1952年赫夫曼(D.A. Huffman)提出了一种构造最佳码的方法,称之为Huffman码。Huffman码适用于多元独立信源,对于多元独立信源来说它是最佳码。它充分利用了信源概率分布的特性进行编码,是一种最佳的逐个符号的编码方法。
4.2二元Huffman编码
二元Huffman码的编码步骤如下:
1)将一个信源符号按概率递减的次序排列:
 
2) 用0和1码符号分别分配给概率最小的两个信源符号,并将这两个概率最小的信源符号合并成一个新符号,并用这两个最小概率之和作为新符号的概率,从而得到由r-1个符号组成的新信源,称为信源的缩减信源。
3) 把缩减信源的信源符号按概率递减的次序排列,将其最后两个概率最小的信源符号合并成一个新符号,并分别用0和1码符号表示,形成r-2个符号的缩减信源。
4) 依次下去,直至缩减信源只剩两个符号为止。将最后两个新符号分别用0和1码符号表示(最后两个符号的概率和为1)。然后从最后一级缩减信源开始,依编码路径由后向前返回,就得出各信源符号所对应的码符号序列,即得对应的码字。
 
4.3特点
Huffman编码得到的码并非是唯一的。这是因为以下两点:
1) 每次对缩减信源最后两个概率最小的符号分配0和1码是可以任意的,所以可得到不同的编码。
2) 若当缩减信源中缩减合并后的符号的概率与其他信源符号概率相同时,其不同的概率次序排列导致不同的编码结果,但它们的平均码长相同,方差不同。
通常,在Huffman编码过程中,当缩减信源的概率分布重新排列时,应使合并得来的概率和尽量处于最高的位置,这样可以使合并的元素重复编码次数减少,使短码得到充分利用。


 

------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐