- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一 设计目的
信息论与编码是我们电子信息工程的一门重要的专业课,通过对本次课程设计,学习将学到的理论知识用于实践,同时也学习了用软件编写程序,进一步对本课程知识的巩固和理解。学习分析问题,解决问题的方法和途径,提高对本专业的学习兴趣。
二 设计任务与要求
(1)统计信源熵
要求:统计任意文本文件中各字符(不区分大小写)数量,计算字符概率,并计算信源熵。
(2)哈夫曼编码
要求:任意输入消息概率,利用哈夫曼编码方法进行编码,并计算信源熵和编码效率。
三 理论简介
3.1通信系统的模型
通信系统的模型
通信系统的性能指标主要是有效性、可靠性、安全性和经济性,通信系统优化就是使这些指标达到最佳,除了经济性,这些指标正是信息论的研究对象,可以通过各种编码处理来使通信系统的性能最优化。根据信息论的各种编码定理和上述通信系统的指标,编码问题可以分为3类:信源编码、信道编码和加密编码。
3.1.1 信源编码
由于信源符号之间存在分布不均匀和相关性,使得信源存在冗余度,信源编码的主要任务就是减少冗余度,提高编码效率。信源编码的基础是信息论中的两个编码定理:无失真编码定理和限失真编码定理。前者适用于离散信源或数字信号;后者主要用于连续信源或模拟信号。本次课程设计就是利用的无失真信源编码。
3.1.2 信道编码
信源编码器的作用:把信源发出的消息变换成由二进制码元(或多进制码元)组成的代码组,这种代码组就是基带信号。同时通过信源编码可以压缩信源的冗余度,以提高通信系统传输消息的效率。信源译码器的作用:把信道译码器输出的代码组变换成信宿所需要的消息形式,它的作用相当于信源编码器的逆过程。
3.1.3 加密编码
加密编码是研究如何隐蔽消息中的信息内容,以便在传输过程中不被窃听,提高通信系统的安全性。
3.2 信源熵
3.2.1 信源的描述和分类
按信源在时间和幅度上的分布情况
离散信源:文字、数据、电报
连续信源:语音、图像
按发出符号的数量
单个符号信源:指信源每次只发出一个符号代表一个消息
符号序列信源:指信源每次发出一组含二个以上符号的符号序列代表一个消息
按符号间的关系
无记忆信源
有记忆信源
3.2.2 离散信源熵
自信息量:随机事件的自信息量定义为其概率对数的负值,即
在信息论中常用的对数底是2,信息量的单位为比特(bit);
联合自信息量
两个消息xi,yj同时出现的联合自信息量:
条件自信息量
在事件yj出现的条件下,随机事件xi发生的条件概率为p(xi / yj) ,则它的条件自信息量定义为条件概率对数的负值:
离散信源熵为信源中各个符号不确定度的数学期望,即
单位为:比特/符号 或者 比特/符号序列。
信息熵H(X)表示信源输出后,每个消息(或符号)所提供的平均信息量。
四设计思路
4.1 编码效率
编码效率计算公式如下:
其中H(X)为信源熵,K表示平均码长。
4.2 变长码的编码方法
能获得最佳码的编码方法主要有:
& 香农(Shannon)
& 费诺(Fano)
& 霍夫曼(Huffman
4.2.1 香农编码
将信源消息符号按其概率从大到小排列
确定满足下列不等式的整数码长Ki
令P1=0,计算第i个消息的累加概率
将累加概率Pi变换成二进制数,取小数点后Ki位为该消息的码字
4.2.2 费诺编码
费诺编码属于概率匹配编码,不是最佳的编码方法。编码过程如下:
(1)将信源消息符号按其出现的概率依次排列
p(x1)≥ p(x2)≥…≥ p(xn)
(2)按编码进制数将概率分组,使每组概率尽可能接近或相等,并为每一组分配一位码元。如编二进制码就分成两组,编m进制码就分成m组。
(3)将每一分组再按同样原则划分,重复步骤2,直至概率不再可分为止。
(4)信源符号所对应的码字即为费诺码。
4.2.3 哈夫曼编码
(1)将信源消息符号按其出现的概率大小依次排列
p(x1)≥p(x2)≥…≥ p(xn)
(2)取两个概率最小的符号分别配以0和1,并将这两个概率相加作为一个新符号的概率,与未分配码元的符号重新排队。
(3)对重排后的两个概率最小符号重复步骤2的过程。
(4)继续上述过程,直到最后两个符号配以0和1为止。
(5)从最后一级开始,向前返回得到各个信源符号所对应的码元序列,即相应的码字。
4.3 设计思路
4.3.1 统计信源熵的设计思路
在VC++环境中进行编程
(1)打开一篇文章,将26个英文字母及空格作为信源。
(2)计算每个字母出现的次数(不区分大小写),再通过计算信源
文档评论(0)