- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信息理论与编码实验指导书
电子与电气工程学院
罗晓琴 编
实验要求
1、实验前认真阅读实验指导书的内容,并完成预习任务。
2、复习 Matlab 的相关知识,完成仿真。
3、要熟悉本次实验的任务。
4、实验过程中要认真记录实验结果,仿真结果需经指导教师审阅。
5、实验后每位同学要独立完成实验报告的内容。
目录
一 离散信源的自信息量和 ??????????????????? 3
二 最大离散 定理??????????????????????? 6
三 ?????????????????????????? 9
四 霍夫曼 ????????????????????????? 13
五 香 ?????????????????????????? 16
实验一:计算离散信源的自信息量和熵
一、实验目的
、熟悉离散信源的特点。
、学习 Matlab 仿真离散信源的方法。
、学习离散信源自信息量和信源熵的计算方法。
、熟悉 Matlab 编程。
二、实验设备
1、计算机
2、软件: Matlab
三、实验原理
本实验主要完成信源概率分布的自信息量以及信源熵的计算。
计算公式如下:
一个字符它所携带的信息量是和该字符出现的概率有关, 概率可以表征自信息量的大小自信息的计算公式为:
1gI(a) lo 2pa 自信息量有两个含义:
第一、当事件发生前,表示该事件发生的不确定性;第二、当事件发生后,标是该事件所提供的信息量.
自信息量的单位取决于对数所取的底, 若以 2 为底,单位为比特,以 e 为底,单位为奈特,以 10 为底,单位为哈特。
在通信系统中,通常取比特为单位,底数 2 略去不写。
由于自信息 I(a)是一个随机变量,不能用来表征整个信源的不确定度。所以我们用平均自信息量来表征整个信源的不确定度。 平均自信息量就是信源输出所有消息的自信息的数学期望,又称为信息熵、信源熵,简称熵。熵(平均自信息)的计算公式为:
qq1 pplogp H(x) log i2i2ip1 1iii 信息熵 H( x)是对信源的平均不确定性的描述。
它从平均意义上来表征信源的总体信息测度。 对于某特定的信源, 其信息熵是一个确定的数值。
信息熵具有如下三种物理意义。
第一,信息熵 H(x)是表示信源输出后, 每个消息或符号所提供的平均信息量。
第二,信息熵 H( x)是表示信源输出前,信源的平均不确定性。
第三,信息熵 H( x)可表征变量 X 的随机性。
由此可以看出,自信息量与信息熵的含义是不同的:
( 1)信息熵是表征信源本身统计特性的一个物理量,它表示信源的平均不确定
性,是信源输出的每一个消息所能提供的平均信息量;自信息量表示的是 每一个消息的信息量度。.
2)信息熵是针对信源的,是信源输出的信息量,表示信源输出前的平均不确定性;自信息量是针对信宿的, 是接收者在消除了信源不确定性后所获得的信息的度量。
3)若信道无干扰,接收者获得的信息量在数量上等于信源的熵, 若有干扰时,则两者不相等。
四、实验内容
、已知信源概率分布为: p=[1/2,1/4,1/8,1/8],编写出计算自信息量的
Matlab 程序。程序:
[I] = deal(p)
function
n=4;
i =1: n
for
I(i)=-log2(p(i)) ;
end
打开空白的
M文件编辑器,将上述程序输入。保存。通过
M文件调用的形
式完成仿真。
步骤:在 commandwindow 中输入 p=[1/2,1/4,1/8,1/8] →调用 deal.M 文件→输
入 [I]=deal([1/2,1/4,1/8,1/8]) ,仿真实现。
2 、写出信源概率分布为: p=[1/2,1/4,1/8,1/8]
离散信源熵的 Matlab
程序。
程序:
[H] = deal(p)
function
n =4;
H =0;
i =1: n
for
I(i)=-log2(p(i)) ;
H =
H + p(i)*I(i);
end 打开空白的 M文件编辑器,将上述程序输入。保存。通过M
文件调用的形式完成仿真。
步骤:在 commandwindow 中输入 p=[1/2,1/4,1/8,1/8]
→调用 deal.M 文件→输
入 [H]=deal([1/2,1/4,1/8,1/8])
,仿真实现。
3、写出信源概率分布为: p=[1/2,1/4,1/8,1/8]
的离散信源自信息量和信源熵的
Matlab 程序。
[I H] = deal(p)
function
n =
length(p);
H = 0;
i
=1:
n forI(i)=-log2(p(i))
;
H = H + p(i)*I(
文档评论(0)