信息论与编码课程设计报告
设计题目: 统计信源熵与香农编码
专业班级 电 信 12-06
学 号
学生姓名
指导教师
教师评分
2015 年 3 月 30 日
目 录
- 0 -
一、设计任务与要求
1.统计信源熵
要求:统计任意文本文件中各字符(不区分大小写)数量,计算字符概率,
并计算信源熵。
2.香农编码
要求:任意输入消息概率,利用香农编码方法进行编码,并计算信源熵和编
码效率。
二、设计思路
本次课程设计中主要运用 C 语言编程以实现任务要求,分析所需要的统计量
以及相关变量,依据具体公式和计算步骤编写语句,组成完整C 程序。
1、信源熵
定义:信源各个离散消息的自信息量的数学期望为信源的平均信息量,一般
称为信源的信息熵,也叫信源熵或香农熵,有时称为无条件熵或熵函数,简称熵,
记为 H ()。
计算公式:
2、香农编码过程:
(1)将信源消息符号按其出现的概率大小依次排列为
p 1 p2 p n
K
(2)确定满足下列不等式的整数码长 i 为
lb(p ) K lb(p ) 1
i i i
(3)为了编成唯一可译码,计算第 i 个消息的累加概率
i1
P p (a )
i k
k 1
P
i
(4)将累计概率 变换成二进制数。
P K
i i
(5)取 二进制数的小数点后 位即为该消息符号的二进制码字。
- 1 -
三、设计流程图
1、统计信源熵
开始
读取给定文件
判断文件是否打开 否
并且不为空
是
统计文本字符,直 关闭文件
至文本字符读完。
统计同一字符(不分
大小写)出现的次
计算字符概率
计算信源熵
输出
结束
- 2 -
2、香农编码
开始