当前位置:文档之家› 信息论霍夫曼编码

信息论霍夫曼编码

信息论霍夫曼编码
信息论霍夫曼编码

信息论与编码实验报告

课程名称:信息论与编码

实验名称:霍夫曼编码

班级:

学号:

姓名:

实验目的

1、熟练掌握Huffman编码的原理及过程,并熟练运用;

2、熟练运用MATLAB应用软件,并实现Huffman编码过程。

一、实验设备

装有MATLAB应用软件的PC计算机。

二、实验原理及过程

原理:

1、将信源符号按概率从大到小的排列,令P (X1)>=P(X2)>=P(X3)......P(Xn)

2、给两个概率最小的信源符号P(Xn-1)和P(Xn)各分配一个码位“0”和“1”,将这两个信源符号合并成一个新符号,并用这两个最小的概率之和作为新符号的概率,结果得到一个只包含(n-1)个信源符号的新信源。称为信源的第一次缩减信源,用S1表示。

3、将缩减信源S1的符号仍按概率从大到小顺序排列,重复步骤2,得到只含(n-2)个符号的缩减信源S2.

4、重复上述步骤,直至缩减信源只剩两个符号为止,此时所剩两个符号的概率之和必为1。然后从最后一级缩减信源开始,依编码路径向前返回,就得到各信源符号所对应的码字。

过程:

用MATLAB编写代码实现Huffman编码其程序为:

%哈夫曼编码的MA TLAB实现(基于0、1编码):

clc;

clear;

A=[0.3,0.2,0.1,0.2,0.2];信源消息的概率序列

A=fliplr(sort(A));%按降序排列

T=A;

[m,n]=size(A);

B=zeros(n,n-1);%空的编码表(矩阵)

for i=1:n

B(i,1)=T(i);%生成编码表的第一列

end

r=B(i,1)+B(i-1,1);%最后两个元素相加

T(n-1)=r;

T(n)=0;

T=fliplr(sort(T));

t=n-1;

for j=2:n-1%生成编码表的其他各列

for i=1:t

B(i,j)=T(i);

end

K=find(T==r);

B(n,j)=K(end);%从第二列开始,每列的最后一个元素记录特征元素在

%该列的位置

r=(B(t-1,j)+B(t,j));%最后两个元素相加

T(t-1)=r;

T(t)=0;

T=fliplr(sort(T));

t=t-1;

end

B;%输出编码表

END1=sym('[0,1]');%给最后一列的元素编码

END=END1;

t=3;

d=1;

for j=n-2:-1:1%从倒数第二列开始依次对各列元素编码for i=1:t-2

if i>1 & B(i,j)==B(i-1,j)

d=d+1;

else

d=1;

end

B(B(n,j+1),j+1)=-1;

temp=B(:,j+1);

x=find(temp==B(i,j));

END(i)=END1(x(d));

end

y=B(n,j+1);

END(t-1)=[char(END1(y)),'0'];

END(t)=[char(END1(y)),'1'];

t=t+1;

END1=END;

end

A%排序后的原概率序列

END%编码结果

for i=1:n

[a,b]=size(char(END(i)));

L(i)=b;

end

avlen=sum(L.*A)%平均码长

H1=log2(A);

H=-A*(H1')%熵

P=H/avlen%编码效率

四、实验现象

答案~信息论与编码练习

1、有一个二元对称信道,其信道矩阵如下图所示。设该信道以1500个二元符号/秒的速度传输输入符号。现有一消息序列共有14000个二元符号,并设在这消息中P(0)=P(1)=1/2。问从信息传输的角度来考虑,10秒钟内能否将这消息序列无失真地传送完? 解答:消息是一个二元序列,且为等概率分布,即P(0)=P(1)=1/2,故信源的熵为H(X)=1(bit/symbol)。则该消息序列含有的信息量=14000(bit/symbol)。 下面计算该二元对称信道能传输的最大的信息传输速率: 信道传递矩阵为: 信道容量(最大信息传输率)为: C=1-H(P)=1-H(0.98)≈0.8586bit/symbol 得最大信息传输速率为: Rt ≈1500符号/秒× 0.8586比特/符号 ≈1287.9比特/秒 ≈1.288×103比特/秒 此信道10秒钟内能无失真传输得最大信息量=10× Rt ≈ 1.288×104比特 可见,此信道10秒内能无失真传输得最大信息量小于这消息序列所含有的信息量,故从信息传输的角度来考虑,不可能在10秒钟内将这消息无失真的传送完。 2、若已知信道输入分布为等概率分布,且有如下两个信道,其转移概率矩阵分别为: 试求这两个信道的信道容量,并问这两个信道是否有噪声? 3 、已知随即变量X 和Y 的联合分布如下所示: 01 100.980.020.020.98P ?? =?? ??11112222 1111222212111122221111222200000000000000000000000000000000P P ????????????==????????????11 222 2111 2222 2 log 4(00)1/()log 42/log 8(000000)2/(),H bit symbol H X bit symbol C C H bit symbol H X C =-===>=-==1解答:(1)由信道1的信道矩阵可知为对称信道故C 有熵损失,有噪声。(2)为对称信道,输入为等概率分布时达到信道容量无噪声

信息论基础与编码复习2

信息论基础与编码复习 一、已知信源??? ???=??????5.05.02 1x x P X 接到信道??? ? ? ?=8.02 .002.098.0)|(X Y P 上,求在该信道上传输的平均互信息量);(Y X I 、疑义度)|(Y X H ,噪声熵)|(X Y H 和联合熵)(XY H 。 参考答案:不要求计算结果,只要与出公式,每份5分,共20分 ()()(|)P Y P X P Y X = )|(X Y H =-2 2 211()log (|)i j j i i j p x y p y x ==∑∑ )|(Y X H =-2 2211()log (|)i j i j i j p x y p x y ==∑∑ )(XY H =-2 2 211 ()log ()i j i j i j p x y p x y ==∑∑ );(Y X I =()()()H X H Y H XY +- 二、一维随机变量X 在区间],[b a 内均匀分布,试求此连续信源的熵)(x H c 。 参考答案: 1 222()()log ()log ()log ()b c b a a H X p x p x dx b a dx b a +∞ --∞ =-=-=-? ? (bit ) (10分) 三、一维随机变量X 的取值是),(+∞-∞,其概率密度函数为2 22)(2 21)(σμπσ -- =x e x p (高斯 信道),试求此连续信源的熵)(x H c 。 参考答案:()EX xp x dx μ+∞ -∞ = =? 22()()DX x p x dx μσ+∞ -∞ =-=? (5分) 2 122()()log ()log (2)c H X p x p x dx e πσ+∞ -∞ =-=? (bit ) (10分) 五、一个三状态马尔可夫信源的转移概率矩阵为??? ? ? ??=412 14 1212 1 2 12 100 P ,请绘制状态转移图,并求该马尔可夫信源的稳态分布。( 10 分) 参考答案:1、绘制状态转移图 (5分) 2、稳态分布7 31)(= s P ,722)(=s P ,72 3)(=s P (5分)

信息论与编码课后习题答案

1. 有一个马尔可夫信源,已知p(x 1|x 1)=2/3,p(x 2|x 1)=1/3,p(x 1|x 2)=1,p(x 2|x 2)=0,试画出该信源的香农线图,并求出信源熵。 解:该信源的香农线图为: 1/3 ○ ○ 2/3 (x 1) 1 (x 2) 在计算信源熵之前,先用转移概率求稳定状态下二个状态x 1和 x 2 的概率)(1x p 和)(2x p 立方程:)()()(1111x p x x p x p =+)()(221x p x x p =)()(2132x p x p + )()()(1122x p x x p x p =+)()(222x p x x p =)(0)(2131x p x p + )()(21x p x p +=1 得4 3 1)(=x p 4 12)(=x p 马尔可夫信源熵H = ∑∑- I J i j i j i x x p x x p x p )(log )()( 得 H=0.689bit/符号 2.设有一个无记忆信源发出符号A 和B ,已知4 341)(.)(= =B p A p 。求: ①计算该信源熵; ②设该信源改为发出二重符号序列消息的信源,采用费诺编码方法,求其平均信息传输速率; ③又设该信源改为发三重序列消息的信源,采用霍夫曼编码方法,求其平均信息传输速率。 解:①∑- =X i i x p x p X H )(log )()( =0.812 bit/符号 ②发出二重符号序列消息的信源,发出四种消息的概率分别为 用费诺编码方法 代码组 b i BB 0 1 BA 10 2 AB 110 3 AA 111 3 无记忆信源 624.1)(2)(2 ==X H X H bit/双符号 平均代码组长度 2B =1.687 bit/双符号 B X H R )(22==0.963 bit/码元时间 ③三重符号序列消息有8个,它们的概率分别为 用霍夫曼编码方法 代码组 b i BBB 64 27 0 0 1 BBA 64 9 0 )(6419 1 110 3

信息论与编码试题集与答案(2014)

一填空题 1、平均自信息为 表示信源的平均不确定度,也表示平均每个信源消息所提供的信息量。 平均互信息 表示从Y 获得的关于每个X 的平均信息量,也表示发X 前后Y 的平均不确定性减少的量,还表示通信前 后整个系统不确定性减少的量。 2、最大离散熵定理为:离散无记忆信源,等概率分布时熵最大,最大熵值为。 3、香农公式为 为保证足够大的信道容量,可采用(1)用频带换信噪比; (2)用信噪比换频带。 4、只要,当N 足够长时,一定存在一种无失真编码。 5、当R <C 时,只要码长足够长,一定能找到一种编码方法和译码规则,使译码错误概率无穷小。 6、1948年,美国数学家 香农 发表了题为“通信的数学理论”的长篇论文,从而创立了信息论。 7.人们研究信息论的目的是为了 高效、可靠、安全 地交换和利用各种各样的信息。 8.信息的 可度量性 是建立信息论的基础。 9.统计度量 是信息度量最常用的方法。 10、单符号离散信源一般用随机变量描述,而多符号离散信源一般用 随机矢量 描述。 11、一个随机事件发生某一结果后所带来的信息量称为自信息量,定义为 其发生概率对数的负值 。 12、自信息量的单位一般有 比特、奈特和哈特 。 13、必然事件的自信息是 0 。 14、不可能事件的自信息量是 ∞ 。 15、两个相互独立的随机变量的联合自信息量等于 两个自信息量之和 。 16、数据处理定理:当消息经过多级处理后,随着处理器数目的增多,输入消息与输出消息之间的平均互信息量 趋于变小 。 17、离散平稳无记忆信源X 的N 次扩展信源的熵等于离散信源X 的熵的 N 倍 。 18、离散平稳有记忆信源的极限熵,=∞H )/(lim 121-∞→N N N X X X X H 。 19、对于n 元m 阶马尔可夫信源,其状态空间共有 n m 个不同的状态。 20、一维连续随即变量X 在[a ,b]区间内均匀分布时,其信源熵为 log2(b-a ) 。

哈夫曼编码步骤

哈夫曼编码步骤: 一、对给定的n个权值{W1,W2,W3,...,Wi,...,Wn}构成n棵二叉树的初始集合F= {T1,T2,T3,...,Ti,...,Tn},其中每棵二叉树Ti中只有一个权值为Wi的根结点,它的左右子树均为空。(为方便在计算机上实现算法,一般还要求以Ti的权值Wi的升序排列。) 二、在F中选取两棵根结点权值最小的树作为新构造的二叉树的左右子树,新二叉树的根结点的权值为其左右子树的根结点的权值之和。 三、从F中删除这两棵树,并把这棵新的二叉树同样以升序排列加入到集合F中。 四、重复二和三两步,直到集合F中只有一棵二叉树为止。 /*------------------------------------------------------------------------- * Name: 哈夫曼编码源代码。 * Date: 2011.04.16 * Author: Jeffrey Hill+Jezze(解码部分) * 在Win-TC 下测试通过 * 实现过程:着先通过HuffmanTree() 函数构造哈夫曼树,然后在主函数main()中 * 自底向上开始(也就是从数组序号为零的结点开始)向上层层判断,若在 * 父结点左侧,则置码为0,若在右侧,则置码为1。最后输出生成的编码。*------------------------------------------------------------------------*/ #include #include #define MAXBIT 100 #define MAXVALUE 10000 #define MAXLEAF 30 #define MAXNODE MAXLEAF*2 -1 typedef struct { int bit[MAXBIT]; int start;} HCodeType; /* 编码结构体*/ typedef struct{ int weight; int parent; int lchild; int rchild; int value;} HNodeType; /* 结点结构体*/ /* 构造一颗哈夫曼树*/ void HuffmanTree (HNodeType HuffNode[MAXNODE], int n){ /* i、j:循环变量,m1、m2:构造哈夫曼树不同过程中两个最小权值结点的权值,x1、x2:构造哈夫曼树不同过程中两个最小权值结点在数组中的序号。*/ int i, j, m1, m2, x1, x2; /* 初始化存放哈夫曼树数组HuffNode[] 中的结点*/ for (i=0; i<2*n-1; i++)

信息论与编码理论课后习题答案高等教育出版社

信息论与编码理论习题解 第二章-信息量和熵 解: 平均每个符号长为:154 4.0312.032= ?+?秒 每个符号的熵为9183.03log 3 1 23log 32=?+?比特/符号 所以信息速率为444.34 15 9183.0=?比特/秒 解: 同步信号均相同不含信息,其余认为等概, 每个码字的信息量为 3*2=6 比特; 所以信息速率为600010006=?比特/秒 解:(a)一对骰子总点数为7的概率是 36 6 所以得到的信息量为 585.2)366(log 2= 比特 (b) 一对骰子总点数为12的概率是36 1 所以得到的信息量为 17.536 1 log 2= 比特 解: (a)任一特定排列的概率为 ! 521 ,所以给出的信息量为 58.225! 521 log 2 =- 比特 (b) 从中任取13张牌,所给出的点数都不相同的概率为 1352 13 13 521344!13C A =? 所以得到的信息量为 21.134 log 1313 52 2=C 比特. 解:易证每次出现i 点的概率为 21 i ,所以

比特比特比特比特比特比特比特398.221 log 21)(807.1)6(070.2)5(392.2)4(807.2)3(392.3)2(392.4)1(6,5,4,3,2,1,21 log )(26 12=-==============-==∑ =i i X H x I x I x I x I x I x I i i i x I i 解: 可能有的排列总数为 27720! 5!4!3! 12= 没有两棵梧桐树相邻的排列数可如下图求得, Y X Y X Y X Y X Y X Y X Y X Y 图中X 表示白杨或白桦,它有???? ??37种排法,Y 表示梧桐树可以栽 种的位置,它有???? ??58种排法,所以共有???? ??58*???? ??37=1960种排法保证没有 两棵梧桐树相邻,因此若告诉你没有两棵梧桐树相邻时,得到关于树排列的信息为1960log 27720log 22-= 比特 解: X=0表示未录取,X=1表示录取; Y=0表示本市,Y=1表示外地; Z=0表示学过英语,Z=1表示未学过英语,由此得

信息论与编码试卷及答案

一、概念简答题(每题5分,共40分) 1.什么是平均自信息量与平均互信息,比较一下这两个概念的异同? 平均自信息为:表示信源的平均不确定度,表示平均每个信源消息所提供的信息量。 平均互信息:表示从Y获得的关于每个X的平均信息量;表示发X前后Y的平均不确定性减少的量;表示通信前后整个系统不确定性减少的量。 2.简述最大离散熵定理。对于一个有m个符号的离散信源,其最大熵是多少? 最大离散熵定理为:离散无记忆信源,等概率分布时熵最大。 最大熵值为 3.解释信息传输率、信道容量、最佳输入分布的概念,说明平均互信息与信源的概率分布、信道的传递概率间分别是什么关系? 信息传输率R指信道中平均每个符号所能传送的信息量。信道容量是一个信道所能达到的最大信息传输率。信息传输率达到信道容量时所对应的输入概率分布称为最佳输入概率分布。 平均互信息是信源概率分布的∩型凸函数,是信道传递概率的U型凸函数。 4.对于一个一般的通信系统,试给出其系统模型框图,并结合此图,解释数据处理定理。 数据处理定理为:串联信道的输入输出X、Y、Z组成一个马尔可夫链,且有, 。说明经数据处理后,一般只会增加信息的损失。

5.写出香农公式,并说明其物理意义。当信道带宽为5000Hz,信噪比为30dB时求信道容量。香农公式为 ,它是高斯加性白噪声信道在单位时间内的信道容量,其值取决于信噪比和带宽。 由得,则 6.解释无失真变长信源编码定理。只要,当N足够长时,一定存在一种无失真编码。 7.解释有噪信道编码定理。答:当R<C时,只要码长足够长,一定能找到一种编码方法和译码规则,使译码错误概率无穷小。 8.什么是保真度准则?对二元信源,其失真矩阵,求a>0时率失真函数的和?答:1)保真度准则为:平均失真度不大于允许的失真度。 2)因为失真矩阵中每行都有一个0,所以有,而。 二、综合题(每题10分,共60分) 1.黑白气象传真图的消息只有黑色和白色两种,求: 1)黑色出现的概率为0.3,白色出现的概率为0.7。给出这个只有两个符号的信源X的数学模型。假设图上黑白消息出现前后没有关联,求熵;

信息论与编码课后答案

一个马尔可夫信源有3个符号{}1,23,u u u ,转移概率为:()11|1/2p u u =,()21|1/2p u u =, ()31|0p u u =,()12|1/3p u u =,()22|0p u u =,()32|2/3p u u =,()13|1/3p u u =,()23|2/3p u u =,()33|0p u u =,画出状态图并求出各符号稳态概率。 解:状态图如下 状态转移矩阵为: 1/21/2 01/302/31/32/30p ?? ?= ? ??? 设状态u 1,u 2,u 3稳定后的概率分别为W 1,W 2、W 3 由1231WP W W W W =??++=?得1231132231231 112331223 231W W W W W W W W W W W W ?++=???+=???=???++=? 计算可得1231025925625W W W ?=??? =?? ?=?? 由符号集{0,1}组成的二阶马尔可夫链,其转移概率为:(0|00)p =,(0|11)p =,(1|00)p =, (1|11)p =,(0|01)p =,(0|10)p =,(1|01)p =,(1|10)p =。画出状态图,并计算各状态 的稳态概率。 解:(0|00)(00|00)0.8p p == (0|01)(10|01)0.5p p == (0|11)(10|11)0.2p p == (0|10)(00|10)0.5p p == (1|00)(01|00)0.2p p == (1|01)(11|01)0.5p p == (1|11)(11|11)0.8p p == (1|10)(01|10)0.5p p ==

信息论与编码理论习题答案

第二章 信息量和熵 2.2 八元编码系统,码长为3,第一个符号用于同步,每秒1000个码字,求它的 信息速率。 解:同步信息均相同,不含信息,因此 每个码字的信息量为 2?8log =2?3=6 bit 因此,信息速率为 6?1000=6000 bit/s 2.3 掷一对无偏骰子,告诉你得到的总的点数为:(a) 7; (b) 12。问各得到多少信 息量。 解:(1) 可能的组合为 {1,6},{2,5},{3,4},{4,3},{5,2},{6,1} )(a p =366=6 1 得到的信息量 =) (1 log a p =6log =2.585 bit (2) 可能的唯一,为 {6,6} )(b p =361 得到的信息量=) (1 log b p =36log =5.17 bit 2.4 经过充分洗牌后的一副扑克(52张),问: (a) 任何一种特定的排列所给出的信息量是多少? (b) 若从中抽取13张牌,所给出的点数都不相同时得到多少信息量? 解:(a) )(a p =! 521 信息量=) (1 log a p =!52log =225.58 bit (b) ???????花色任选 种点数任意排列 13413!13 )(b p =13 52134!13A ?=1352 13 4C 信息量=1313 52 4log log -C =13.208 bit

2.9 随机掷3颗骰子,X 表示第一颗骰子的结果,Y 表示第一和第二颗骰子的 点数之和,Z 表示3颗骰子的点数之和,试求)|(Y Z H 、)|(Y X H 、 ),|(Y X Z H 、)|,(Y Z X H 、)|(X Z H 。 解:令第一第二第三颗骰子的结果分别为321,,x x x ,1x ,2x ,3x 相互独立, 则1x X =,21x x Y +=,321x x x Z ++= )|(Y Z H =)(3x H =log 6=2.585 bit )|(X Z H =)(32x x H +=)(Y H =2?( 361log 36+362log 18+363log 12+364log 9+365log 536)+36 6 log 6 =3.2744 bit )|(Y X H =)(X H -);(Y X I =)(X H -[)(Y H -)|(X Y H ] 而)|(X Y H =)(X H ,所以)|(Y X H = 2)(X H -)(Y H =1.8955 bit 或)|(Y X H =)(XY H -)(Y H =)(X H +)|(X Y H -)(Y H 而)|(X Y H =)(X H ,所以)|(Y X H =2)(X H -)(Y H =1.8955 bit ),|(Y X Z H =)|(Y Z H =)(X H =2.585 bit )|,(Y Z X H =)|(Y X H +)|(XY Z H =1.8955+2.585=4.4805 bit 2.10 设一个系统传送10个数字,0,1,…,9。奇数在传送过程中以0.5的概 率错成另外一个奇数,其余正确接收,求收到一个数字平均得到的信息量。 解: 8,6,4,2,0=i √ );(Y X I =)(Y H -)|(X Y H 因为输入等概,由信道条件可知,

《信息论与编码技术》复习题3-4

一、填空题(共20分,每空2分) 1. 信息的基本概念在于它的 。 2. 一个随机事件的 定义为其出现概率对数的负值。 3. 按树图法构成的码一定满足 的定义。 4. 称为香农第二极限定理。 5. 纠错码的检、纠错能力是指 。 6. 信息率失真函数R (D )是关于D 的严格单调 函数。 7. 如果转移概率矩阵P 的每一行 ,称该矩阵是输入对称的。 8. 加密编码的主要目的是 。 9. 若最小码距为d min 的码同时能检测e d 个错误、纠正e c 个错误,则三个量之间的关系为 。 10. 稳定的马尔可夫信源必须有不可约性和 。 二、选择题(共10分,每题2分) 1. 给定x i 条件下,随机事件y j 所包含的不确定度和条件自信息量I (y j |x i ), (a )数量上不等,单位不同;(b )数量上不等,单位相同; (c )数量上相等,单位不同;(d )数量上相等,单位相同。 2. 下面哪一项不属于熵的性质: (a )非负性;(b )完备性;(c )对称性;(d )确定性。 3. 下面哪一项不是增加信道容量的途径: (a )减小信道噪声功率;(b )增大信号功率;(c )增加码长;(d )增加带宽。 4. 香农编码方法是根据 推导出来的。 (a )香农第一极限定理;(b )香农第二极限定理; (c )香农第三极限定理;(d )香农第四极限定理。 5. 下面哪一项不属于最简单的通信系统模型: (a )信源;(b )加密;(c )信道;(d )信宿。 三、名词解释(共10分,每题5分) 1. 唯一可译码。 2. 最小码距。 四、简答题(共20分,每10分) 1. 利用公式介绍无条件熵、条件熵、联合熵和平均互信息量之间的关系。 2. 简单介绍霍夫曼编码的步骤。 五、计算题(共40分)(log 2(3)=1.585,log 2(5)=2.322) 1. 某信源含有三个消息,概率分别为p (0)=0.2,p (1)=0.3,p (2)=0.5,失真矩阵为??????????=102230124D 。求D max 、D min 和R (D max )。(10分) 2. 设对称离散信道矩阵为?? ????=3/13/16/16/16/16/13/13/1P ,求信道容量C 。(10分) 3. 有一稳态马尔可夫信源,已知转移概率为p(S 1/S 1)=2/3,p(S 1/S 2)=1。求: (1)画出状态转移图和状态转移概率矩阵; (2)求出各状态的稳态概率; (3)求出信源的极限熵。(20分)

信息论与编码理论习题答案全解

信息论与编码理论习题答案全解

第二章 信息量和熵 2.2 八元编码系统,码长为3,第一个符号用于同步,每秒1000个码字,求它的 信息速率。 解:同步信息均相同,不含信息,因此 每个码字的信息量为 2?8log =2?3=6 bit 因此,信息速率为 6?1000=6000 bit/s 2.3 掷一对无偏骰子,告诉你得到的总的点数为:(a) 7; (b) 12。问各得到多少 信息量。 解:(1) 可能的组合为 {1,6},{2,5},{3,4},{4,3},{5,2},{6,1} )(a p =366=6 1 得到的信息量 =) (1 log a p =6log =2.585 bit (2) 可能的唯一,为 {6,6} )(b p =361 得到的信息量=) (1 log b p =36log =5.17 bit 2.4 经过充分洗牌后的一副扑克(52张),问: (a) 任何一种特定的排列所给出的信息量是多少? (b) 若从中抽取13张牌,所给出的点数都不相同时得到多少信息量? 解:(a) )(a p =! 521 信息量=) (1 log a p =!52log =225.58 bit (b) ???????花色任选 种点数任意排列 13413!13 )(b p =13 52134!13A ?=1352 13 4C 信息量=1313 52 4log log -C =13.208 bit

2.9 随机掷3颗骰子,X 表示第一颗骰子的结果,Y 表示第一和第二颗骰子的 点数之和,Z 表示3颗骰子的点数之和,试求)|(Y Z H 、)|(Y X H 、 ),|(Y X Z H 、)|,(Y Z X H 、)|(X Z H 。 解:令第一第二第三颗骰子的结果分别为321,,x x x ,1x ,2x ,3x 相互独立, 则1x X =,21x x Y +=,321x x x Z ++= )|(Y Z H =)(3x H =log 6=2.585 bit )|(X Z H =)(32x x H +=)(Y H =2?( 361log 36+362log 18+363log 12+364log 9+365log 536)+36 6 log 6 =3.2744 bit )|(Y X H =)(X H -);(Y X I =)(X H -[)(Y H -)|(X Y H ] 而)|(X Y H =)(X H ,所以)|(Y X H = 2)(X H -)(Y H =1.8955 bit 或)|(Y X H =)(XY H -)(Y H =)(X H +)|(X Y H -)(Y H 而)|(X Y H =)(X H ,所以)|(Y X H =2)(X H -)(Y H =1.8955 bit ),|(Y X Z H =)|(Y Z H =)(X H =2.585 bit )|,(Y Z X H =)|(Y X H +)|(XY Z H =1.8955+2.585=4.4805 bit 2.10 设一个系统传送10个数字,0,1,…,9。奇数在传送过程中以0.5的概 率错成另外一个奇数,其余正确接收,求收到一个数字平均得到的信息量。 解: 信道 X Y 9,7,5,3,1=i 8,6,4,2,0=i √Χ );(Y X I =)(Y H -)|(X Y H 因为输入等概,由信道条件可知,

数字图像实验 哈夫曼编码的方法和实现1234

实验八哈夫曼编码的方法和实现 一、实验目的 1.掌握哈夫曼编码的基本理论和算法流程; 2. 用VC++6.0编程实现图像的哈夫曼编码。 二、实验内容 1.画出哈夫曼编码的算法流程; 2.用VC++6.0编程实现哈夫曼编码。 三、实验步骤 (1)启动VC++6.0,打开Dip工程。 (2)在菜单栏→insert→resouce→dialog→new,在对话框模版的非控制区点击鼠标右键,在弹出的对话框中选properties,设置为ID:IDD_DLG_Huffman,C标题:哈夫曼编码表。 (3)在弹出的对话框中,添加如下的按钮等控件: (4)在ResourceView栏中→Menu→选IDR_DIPTYPE ,如图 在图像编码菜单栏下空的一栏中,右键鼠标,

在弹出的对话框中选属性properties,在弹出的对话框中,进行如下的设置 (5)右击哈夫曼编码表菜单栏,在建立的类向导中进行如下设置 (6)在DipDoc.cpp中找到void CDipDoc::OnCodeHuffman()添加如下代码void CDipDoc::OnCodeHuffman() { int imgSize; imgSize = m_pDibObject->GetWidth()*m_pDibObject->GetHeight(); //在点处理CPointPro类中创建用来绘制直方图的数据 CPointPro PointOperation(m_pDibObject ); int *pHistogram = PointOperation.GetHistogram(); //生成一个对话框CHistDlg类的实例 CDlgHuffman HuffmanDlg;

信息论与编码理论第二章习题答案

I (X ;Y=1)= P(x/Y 1)I(x;Y 1) x P(x/Y 1)log P(x/Y 1) P(x) = P(X 0/Y 1)log P(X 0/Y 1) P(X 0) P(X 1/Y 1)log P(X 1/Y 1) P(X 1) 部分答案,仅供参考。 信息速率是指平均每秒传输的信息量点和划出现的信息量分别为log3Jog3, 2’ 一秒钟点和划出现的次数平均为 1 15 2 1 ~4 0.20.4 - 3 3 一秒钟点和划分别出现的次数平均为巴5 4 4 那么根据两者出现的次数,可以计算一秒钟其信息量平均为10 log 3 5 竺 5 4 2 4 4 2 解: ⑻骰子A和B,掷出7点有以下6种可能: A=1,B=6; A=2,B=5; A=3,B=4; A=4,B=3; A=5,B=2; A=6,B=1 概率为6/36=1/6,所以信息量 -log(1/6)=1+log3 ~ bit (b)骰子A和B,掷出12点只有1种可能: A=6,B=6 概率为1/36,所以信息量 -log(1/36)=2+log9 ~ bit 解: 出现各点数的概率和信息量: 1 点:1/21 , log21 ?bit ; 2 点:2/21 , log21-1 ?bit ; 3 点:1/7 , log7 4 点:4/21 , log21-2 5 点:5/21 , log (21/5 )~; 6 点:2/ 7 , log(7/2)? 平均信息量: (1/21) X +(2/21) X +(1/7) X +(4/21) X +(5/21) X +(2/7) 解: X=1:考生被录取;X=0考生未被录取; Y=1:考生来自本市;Y=0考生来自外地; Z=1:考生学过英语;z=o:考生未学过英语 P(X=1)=1/4, P( X=q=3/4; P( Y=1/ X=1)=1/2 ;P( Y=1/ X=0)=1/10 ;P(Z=1/ Y=1 )=1, P( Z=1/ X=0, Y=0 )=, P( Z=1/ X=1, Y=0 )=, P(Z=1/Y=0)= (a)P(X=0,Y=1)=P(Y=1/X=0)P(X=0)=, P(X=1,Y=1)= P(Y=1/X=1)P(X=1)= P(Y=1)= P(X=0,Y=1)+ P(X=1,Y=1)= P(X=0/Y=1)=P(X=0,Y=1)/P(Y=1)=, P(X=1/Y=1)=P(X=1,Y=1)/P(Y=1)=

哈夫曼编码的方法

1.哈夫曼编码的方法 编码过程如下: (1) 将信源符号按概率递减顺序排列; (2) 把两个最小的概率加起来, 作为新符号的概率; (3) 重复步骤(1) 、(2), 直到概率和达到1 为止; (4) 在每次合并消息时,将被合并的消息赋以1和0或0和1; (5) 寻找从每个信源符号到概率为1处的路径,记录下路径上的1和0; (6) 对每个符号写出"1"、"0"序列(从码数的根到终节点)。 2.哈夫曼编码的特点 ①哈夫曼方法构造出来的码不是唯一的。 原因 ·在给两个分支赋值时, 可以是左支( 或上支) 为0, 也可以是右支( 或下支) 为0, 造成编码的不唯一。 ·当两个消息的概率相等时, 谁前谁后也是随机的, 构造出来的码字就不是唯一的。 ②哈夫曼编码码字字长参差不齐, 因此硬件实现起来不大方便。 ③哈夫曼编码对不同的信源的编码效率是不同的。 ·当信源概率是2 的负幂时, 哈夫曼码的编码效率达到100%; ·当信源概率相等时, 其编码效率最低。 ·只有在概率分布很不均匀时, 哈夫曼编码才会收到显著的效果, 而在信源分布均匀的情况下, 一般不使用哈夫曼编码。 ④对信源进行哈夫曼编码后, 形成了一个哈夫曼编码表。解码时, 必须参照这一哈夫编码表才能正确译码。 ·在信源的存储与传输过程中必须首先存储或传输这一哈夫曼编码表在实际计算压缩效果时, 必须考虑哈夫曼编码表占有的比特数。在某些应用场合, 信源概率服从于某一分布或存在一定规律

使用缺省的哈夫曼编码表有

解:为了进行哈夫曼编码, 先把这组数据由大到小排列, 再按上方法处理 (1)将信源符号按概率递减顺序排列。 (2)首先将概率最小的两个符号的概率相加,合成一个新的数值。 (3)把合成的数值看成是一个新的组合符号概率,重复上述操作,直到剩下最后两个符号。 5.4.2 Shannon-Famo编码 Shannon-Famo(S-F) 编码方法与Huffman 的编码方法略有区别, 但有时也能编 出最佳码。 1.S-F码主要准则 符合即时码条件; 在码字中,1 和0 是独立的, 而且是( 或差不多是)等概率的。 这样的准则一方面能保证无需用间隔区分码字,同时又保证每一位码字几乎有 1位的信息量。 2.S-F码的编码过程 信源符号按概率递减顺序排列; 把符号集分成两个子集, 每个子集的概率和相等或近似相等;

哈夫曼树 哈夫曼编码(先序遍历方法)

#include #include typedef struct Tree { int weight; int left; int right; int parent; }*tree; void CreateHuffman(int n) { int i; int m1,m2,x1,x2; tree Huffman[100]; for(i=0;i< 2*n-1;i++) { Huffman[i] = (tree) malloc(sizeof(struct Tree)); } for(i=0;iweight); } for(i=0;i<2*n-1;i++) { Huffman[i]->parent = -1; Huffman[i]->left = -1; Huffman[i]->right = -1; } int j; for(i=0;i

if( Huffman[j]->weight < m1 && Huffman[j]->parent == -1) { m1 = Huffman[j]->weight ; x1 = j; } } for(j=0;jweight < m2 && Huffman[j]->parent == -1 && x1 != j) { m2 = Huffman[j]->weight ; x2 = j; } } Huffman[x1]->parent = n+i; Huffman[x2]->parent = n+i; Huffman[n+i]->weight =Huffman[x1]->weight + Huffman[x2]->weight ; Huffman[n+i]->left =x1; Huffman[n+i]->right =x2; } for(i=0;i<2*n-1;i++) { printf("%d,", Huffman[i]->weight); } printf("\n"); for(i=0;i<2*n-1;i++) { printf("%d的左结点的下标为%d,右结点的下标为%d\n",Huffman[i]->weight,Huffman[i]->left,Huffman[i]->right); } char s[100]; int x; i--; x = i; int k; k=0; int rs[100];int ls[100]; i=1; tree q[100]; int sum=0;

信息论与编码习题参考答案(全)

信息论与编码习题参考答案 第一章 单符号离散信源 1.1同时掷一对均匀的子,试求: (1)“2和6同时出现”这一事件的自信息量; (2)“两个5同时出现”这一事件的自信息量; (3)两个点数的各种组合的熵; (4)两个点数之和的熵; (5)“两个点数中至少有一个是1”的自信息量。 解: bit P a I N n P bit P a I N n P c c N 17.536log log )(361 )2(17.418log log )(362)1(36 662221111 616==-=∴====-=∴== =?==样本空间: (3)信源空间: bit x H 32.436log 36 62log 3615)(=??+?? =∴ (4)信源空间: bit x H 71.3636 log 366536log 3610 436log 368336log 366236log 36436log 362)(=??+?+?+??= ∴++ (5) bit P a I N n P 17.11136 log log )(3611333==-=∴==

1.2如有6行、8列的棋型方格,若有两个质点A 和B ,分别以等概落入任一方格,且它们的坐标分别为(Xa ,Ya ), (Xb ,Yb ),但A ,B 不能同时落入同一方格。 (1) 若仅有质点A ,求A 落入任一方格的平均信息量; (2) 若已知A 已落入,求B 落入的平均信息量; (3) 若A ,B 是可辨认的,求A ,B 落入的平均信息量。 解: bit a P a P a a P a I a P A i 58.548log )(log )()(H 48log )(log )(481 )(:)1(48 1 i i i i i ==-=∴=-=∴= ∑=落入任一格的概率 bit b P b P b b P b I b P A i 55.547log )(log )()(H 47 log )(log )(47 1 )(:B ,)2(48 1i i i i i ==-=∴=-=∴=∑=落入任一格的概率是落入任一格的情况下在已知 bit AB P AB P AB H AB P AB I AB P AB i i i i i i i 14.11)4748log()(log )()() (log )(47 1 481)()3(47481 =?=-=-=∴?=∑?=是同时落入某两格的概率 1.3从大量统计资料知道,男性中红绿色盲的发病率为7%,女性发病率为0.5%.如果你问一位男士:“你是否是红绿色盲?”他的回答可能是:“是”,也可能“不是”。问这两个回答中各含有多少信息量?平均每个回答中各含有多少信息量?如果你问一位女士,则她的答案中含有多少平均信息量? 解: bit w P w P w P w P m m P m I w P w I bit m P m P m P m P m bit m P m I bit m P m I n n y y n n y y n n y y n n y y 0454.0log99.5%99.5%-log0.5%-0.5% )(log )()(log )()(H % 5.99log )(log )(%5.0log )(log )(36 6.0log93%93%-log7%-7% )(log )()(log )()(H 105.0%93log )(log )(84.3%7log )(log )(: =??=?-?-=-=-=-=-==??=?-?-==-=-==-=-=平均每个回答信息量::回答“不是”的信息量回答“是”的信息量:对于女: 平均每个回答信息量::回答“不是”的信息量回答“是”的信息量:对于男士

信息论与编码技术复习题3-4

《信息论与编码技术》复习题(3) 一、填空题(共20分,每空2分) 1. ___________________________________ 信息的基本概念在于它的。 2. 一个随机事件的___________ 定义为其出现概率对数的负值。 3. 按树图法构成的码一定满足____________ 的定义。 4. _______________________ 称为香农第二极限定理。 5. 纠错码的检、纠错能力是指___________________________________________________ 。 6. 信息率失真函数R(D)是关于D的严格单调___________ 函数。 7. 如果转移概率矩阵P的每一行 ________________________ ,称该矩阵是输入对称的。 8. 加密编码的主要目的是____________________________________ 。 9. 若最小码距为d min的码同时能检测e d个错误、纠正e c个错误,则三个量之间的关系 为_____________________________ 。 10. 稳定的马尔可夫信源必须有不可约性和_________________________________ 。 二、选择题(共10分,每题2分) 1. 给定为条件下,随机事件y j所包含的不确定度和条件自信息量l(y j|X i), (a)数量上不等,单位不同;(b)数量上不等,单位相同; (c)数量上相等,单位不同;(d)数量上相等,单位相同。 2. 下面哪一项不属于熵的性质: (a )非负性;(b )完备性;(c)对称性;(d )确定性。 3. 下面哪一项不是增加信道容量的途径: (a)减小信道噪声功率;(b )增大信号功率;(c)增加码长;(d)增加带宽。 4. 香农编码方法是根据_______ 推导出来的。 (a)香农第一极限定理;(b)香农第二极限定理; (c)香农第三极限定理;(d)香农第四极限定理。 5. 下面哪一项不属于最简单的通信系统模型: (a)信源;(b)加密;(c)信道;(d)信宿。 三、名词解释(共10分,每题5分) 1. 唯一可译码。 2. 最小码距。 四、简答题(共20分,每10分) 1. 利用公式介绍无条件熵、条件熵、联合熵和平均互信息量之间的关系。 2. 简单介绍霍夫曼编码的步骤。 五、计算题(共40 分)(Iog2(3) =,log2(5)=) 1. 某信源含有三个消息,概率分别为P(0)=, P(1)=,P(2)=,失真矩阵为 4 2 1。求 D max、 D 0 3 2 2 0 1 D min 和R(D max)。(10 分) 2. 设对称离散信道矩阵为P1/3 1/3 1/6 1/6,求信道容量G(10分) 1/6 1/6 1/3 1/3 3. 有一稳态马尔可夫信源,已知转移概率为p(S1/S1)=2/3, p(S1/S2)=1。求:

哈夫曼编码实验报告

哈夫曼编码: 哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫做Huffman 编码(有时也称为霍夫曼编码)。 发展历史: 1951年,哈夫曼和他在MIT信息论的同学需要选择是完成学期报告还是期末考试。导师Robert M. Fano给他们的学期报告的题目是,寻找最有效的二进制编码。由于无法证明哪个已有编码是最有效的,哈夫曼放弃对已有编码的研究,转向新的探索,最终发现了基于有序频率二叉树编码的想法,并很快证明了这个方法是最有效的。由于这个算法,学生终于青出于蓝,超过了他那曾经和信息论创立者香农共同研究过类似编码的导师。哈夫曼使用自底向上的方法构建二叉树,避免了次优算法Shannon-Fano编码的最大弊端──自顶向下构建树。 1952年,David A. Huffman在麻省理工攻读博士时发表了《一种构建极小多余编码的方法》(A Method for the Construction of Minimum-Redundancy Codes)一文,它一般就叫做Huffman编码。 Huffman在1952年根据香农(Shannon)在1948年和范若(Fano)在1949年阐述的这种编码思想提出了一种不定长编码的方

法,也称霍夫曼(Huffman)编码。霍夫曼编码的基本方法是先对图像数据扫描一遍,计算出各种像素出现的概率,按概率的大小指定不同长度的唯一码字,由此得到一张该图像的霍夫曼码表。编码后的图像数据记录的是每个像素的码字,而码字与实际像素值的对应关系记录在码表中。 赫夫曼编码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就称Huffman 编码。下面引证一个定理,该定理保证了按字符出现概率分配码长,可使平均码长最短。

相关主题
文本预览
相关文档 最新文档