信息论与编码--费诺编码与哈弗曼编码比较
信息论霍夫曼、香农-费诺编码
信息论霍夫曼、香农-费诺编码LT二、实验原理:1、香农-费诺编码首先,将信源符号以概率递减的次序排列进来,将排列好的信源符号划分为两大组,使第组的概率和近于相同,并各赋于一个二元码符号”0”和”1”.然后,将每一大组的信源符号再分成两组,使同一组的两个小组的概率和近于相同,并又分别赋予一个二元码符号。
依次下去,直至每一个小组只剩下一个信源符号为止。
这样,信源符号所对应的码符号序列则为编得的码字。
译码原理,按照编码的二叉树从树根开始,按译码序列进行逐个的向其叶子结点走,直到找到相应的信源符号为止。
之后再把指示标记回调到树根,按照同样的方式进行下一序列的译码到序列结束。
如果整个译码序列能够完整的译出则返回成功,否则则返回译码失败。
2、霍夫曼编码霍夫曼编码属于码词长度可变的编码类,是霍夫曼在1952年提出的一种编码方法,即从下到上的编码方法。
同其他码词长度可变的编码一样,可区别的不同码词的生成是基于不同符号出现的不同概率。
生成霍夫曼编码算法基于一种称为“编码树”(coding tree)的技术。
算法步骤如下:(1)初始化,根据符号概率的大小按由大到小顺序对符号进行排序。
(2)把概率最小的两个符号组成一个新符号(节点),即新符号的概率等于这两个符号概率之和。
(3)重复第2步,直到形成一个符号为止(树),其概率最后等于1。
(4)从编码树的根开始回溯到原始的符号,并将每一下分枝赋值为1,上分枝赋值为0。
三、实验环境matlab7.1四、实验内容1、对于给定的信源的概率分布,用香农-费诺编码实现图像压缩2、对于给定的信源的概率分布,用霍夫曼编码实现图像压缩五、实验过程1.香农-费诺编码编码1function c=shannon(p)%p=[0.2 0.15 0.15 0.1 0.1 0.1 0.1 0.1] %shannon(p)[p,index]=sort(p)p=fliplr(p)n=length(p)pa=0for i=2:npa(i)= pa(i-1)+p(i-1) endk=ceil(-log2(p))c=cell(1,n)for i=1:nc{i}=”tmp=pa(i)for j=1:k(i)tmp=tmp*2if tmp>=1tmp=tmp-1 c{i(j)='1'elsec{i}(j) = '0' endendendc = fliplr(c)c(index)=c编码2clc;clear;A=[0.4,0.3,0.1,0.09,0.07,0.04]; A=fliplr(sort(A));%降序排列[m,n]=size(A);for i=1:nB(i,1)=A(i);%生成B的第1列end%生成B第2列的元素a=sum(B(:,1))/2;for k=1:n-1ifabs(sum(B(1:k,1))-a)<=abs(sum(B(1:k+1, 1))-a)break;endendfor i=1:n%生成B第2列的元素if i<=kB(i,2)=0;elseB(i,2)=1;endend%生成第一次编码的结果END=B(:,2)';END=sym(END);%生成第3列及以后几列的各元素j=3;while (j~=0)p=1;while(p<=n)x=B(p,j-1);for q=p:nif x==-1break;elseif B(q,j-1)==xy=1;continue;elsey=0;break;endendif y==1q=q+1;endif q==p|q-p==1B(p,j)=-1;elseif q-p==2B(p,j)=0;END(p)=[char(END(p)),'0'];B(q-1,j)=1;END(q-1)=[char(END(q-1)),'1']; elsea=sum(B(p:q-1,1))/2;for k=p:q-2abs(sum(B(p:k,1))-a)<=abs(sum(B(p:k+1, 1))-a);break;endendfor i=p:q-1if i<=kB(i,j)=0;END(i)=[char(END(i)),'0'];elseB(i,j)=1;END(i)=[char(END(i)),'1'];endendendendendC=B(:,j);D=find(C==-1);[e,f]=size(D);if e==nj=0;elsej=j+1;endendBAENDfor i=1:n[u,v]=size(char(END(i))); L(i)=v;avlen=sum(L.*A)2. 霍夫曼编码function c=huffman(p)n=size(p,2)if n==1c=cell(1,1)c{1}=''returnend[p1,i1]=min(p)index=[(1:i1-1),(i1+1:n)] p=p(index)n=n-1[p2,i2]=min(p)index2=[(1:i2-1),(i2+1:n)] p=p(index2);i2=index(i2)index=index(index2)p(n)=p1+p2c=huffman(p)c{n+1}=strcat(c{n},'1')c{n}=strcat(c{n},'0') index=[index,i1,i2]c(index)=c。
信息论考试题(填空简答)
一.填空题(每空1分,共20分)1.香农信息论的三个基本概念分别为_______________ 、_____________ 、 ____________ 。
2•对离散无记忆信源来说,当信源呈_______________ 分布情况下,信源熵取最大值。
3•写出平均互信息的三种表达公式________________ 、_____________ 、 ____________ 。
4.若连续信源输出的平均功率和均值被限定,则其输出信号幅度的概率密度函数为______________ 时,信源具有最大熵值;若连续信源输出非负信号的均值受限,则其输出信号幅度呈____________ 分布时,信源具有最大熵值。
5. ________________________________ 信道容量是为了解决通信的_________________________ 问题,而信息率失真函数是为了解决通信的___________ 问题。
6. ______________________________________________________ 费诺编码比较适合于的信源。
7•无记忆编码信道的每一个二元符号输出可以用多个比特表示,理想情况下为实数,此时的无记忆二进制信道又称为__________________________ 。
&差错控制的4种基本方式是:_________________ 、_____________ 、 ____________ 、______________ 。
9 . (n,k)线性码能纠t个错误,并能发现I个错误(l>t),码的最小距离为:10.循环码码矢的i次循环移位等效于将码多项式乘___________________ 后再模______________ 。
二.简答题(每小题5分,共30分)1 •分别说明平均符号熵与极限熵的物理含义并写出它们的数学表达式。
2•写出二进制均匀信道的数学表达式,并画出信道容量C与信道转移概率 p的曲线图。
信息论与编码期末考试题----学生复习
《信息论基础》参考答案一、填空题1、信源编码的主要目的是提高有效性,信道编码的主要目的是提高可靠性。
2、信源的剩余度主要来自两个方面,一是信源符号间的相关性,二是信源符号的统计不均匀性。
3、三进制信源的最小熵为0,最大熵为bit/符号。
4、无失真信源编码的平均码长最小理论极限制为信源熵(或H(S)/logr= H r (S))。
5、当R=C或(信道剩余度为0)时,信源与信道达到匹配.6、根据信道特性是否随时间变化,信道可以分为恒参信道和随参信道。
7、根据是否允许失真,信源编码可分为无失真信源编码和限失真信源编码。
8、若连续信源输出信号的平均功率为,则输出信号幅度的概率密度是高斯分布或正态分布或时,信源具有最大熵,其值为值。
9、在下面空格中选择填入数学符号“”或“"(1)当X和Y相互独立时,H(XY)=H(X)+H(X/Y)=H(Y)+H(X)。
(2)(3)假设信道输入用X表示,信道输出用Y表示.在无噪有损信道中,H(X/Y)〉 0, H(Y/X)=0,I(X;Y)<H(X)。
二、若连续信源输出的幅度被限定在【2,6】区域内,当输出信号的概率密度是均匀分布时,计算该信源的相对熵,并说明该信源的绝对熵为多少.=2bit/自由度该信源的绝对熵为无穷大.三、已知信源(1)用霍夫曼编码法编成二进制变长码;(6分)(2)计算平均码长;(4分)(3)计算编码信息率;(2分)(4)计算编码后信息传输率;(2分)(5)计算编码效率。
(2分)(1)编码结果为:(2)(3)(4)其中,(5)四、某信源输出A、B、C、D、E五种符号,每一个符号独立出现,出现概率分别为1/8、1/8、1/8、1/2、1/8。
如果符号的码元宽度为0。
5。
计算:(1)信息传输速率。
(2)将这些数据通过一个带宽为B=2000kHz的加性白高斯噪声信道传输,噪声的单边功率谱密度为。
试计算正确传输这些数据最少需要的发送功率P。
解:(1)(2)五、一个一阶马尔可夫信源,转移概率为.(1) 画出状态转移图。
计算机科学技术:信息论与编码真题
计算机科学技术:信息论与编码真题1、判断题(江南博哥)狭义的信道编码既是指:信道的检、纠错编码。
答案:对2、填空题信源的消息通过信道传输后的误差或失真越大道传输消息所需的信息率()。
答案:也越小3、填空题互信息I(X;Y)与信息熵H(Y)的关系为:I(X;Y)()(大于、小于或者等于)H(Y)。
答案:小于4、判断题互信息量I(X;Y)表示收到Y后仍对信源X的不确定度。
答案:对5、填空题线性分组码是同时具有()的纠错码。
答案:分组特性和线性特性6、填空题连续信源或模拟信号的信源编码的理论基础是()。
答案:限失真信源编码定理7、填空题设有一个离散无记忆平稳信道,其信道容量为C,只要待传送的信息传输率R()C(大于、小于或者等于),则存在一种编码,当输入序列长度n 足够大,使译码错误概率任意小。
答案:小于8、名词解释香农信息答案:信息是事物运动状态或存在方式的不确定性的描述。
9、名词解释码距答案:两个等长码字之间对应码元不相同的数目,称为码距10、单选一珍珠养殖场收获240颗外观及重量完全相同的特大珍珠,但不幸被人用外观相同但重量仅有微小差异的假珠换掉1颗。
一人随手取出3颗,经测量恰好找出了假珠,不巧假珠又滑落进去,那人找了许久却未找到,但另一人说他用天平最多6次能找出,结果确是如此,这一事件给出的信息量()。
A.0bitB.log6bitC.6bitD.log240bit答案:A11、填空题平均失真度的下限取0的条件是失真矩阵的()。
答案:每一行至少有一个零元素12、判断题信源编码是提高通信有效性为目的的编码。
答案:对13、判断题最大信息传输速率,即:选择某一信源的概率分布(p(xi)),使信道所能传送的信息率的最大值。
答案:错14、填空题一般情况下,信源编码可以分为()、()和()。
答案:离散信源编码;连续信源编码;相关信源编码15、判断题游程序列的熵(“0”游程序列的熵与“1”游程序列的熵的和)大于等于原二元序列的熵。
信息论与编码习题答案-曹雪虹
3-14
信源 符号 xi x1 x2 x3 x4 x5 x6 x7
符号概 率 pi 1/3 1/3 1/9 1/9 1/27 1/27 1/27 1/3 1/3 1/9 1/9 2/27 1/27 1/3 1/3 1/9 1/9 1/9
编码过程
编码 1/3 1/3 1/3 2/3 1/3 00 01 100 101 111 1100 1101
得p0p1p223当p0或p1时信源熵为0第三章无失真信源编码31321因为abcd四个字母每个字母用两个码每个码为05ms所以每个字母用10ms当信源等概率分布时信源熵为hxlog42平均信息传递速率为2信源熵为hx0198bitms198bitsbitms200bits33与上题相同351hu12log2?14log4?18log8?116log16?132log32?164log64?1128log128?1128log128?1984111111112481632641281282每个信源使用3个二进制符号出现0的次数为出现1的次数为p0p134相应的香农编码信源符号xix1x2x3x4x5x6x7x8符号概率pi12141811613216411281128累加概率pi00507508750938096909840992logpxi12345677码长ki12345677码字010110111011110111110111111011111110相应的费诺码信源符号概符号xi率pix1x2x3x4x5x6x7x812141811613216411281128111第一次分组0第二次分组0第三次分组0第四次分组0第五次分组011第六次分组01第七次分组01二元码0101101110111101111101111110111111105香农码和费诺码相同平均码长为编码效率为
信息论与编码--费诺编码与哈弗曼编码比较
信源编码的比较——哈弗曼编码与费诺编码姓名:班级:学号:一、实验目的:1、实现常用的信源编码方案,以加深对编码理论的理解,促进对本课程所学知识的理解和把握。
2、课程实验主要为设计性实验,要求掌握Matlab使用方法。
3、通过信源编译码,理解信源编码的主要目的,掌握信源编码的方法和手段,掌握费诺编码和霍夫曼编码方法二、实验设备:装有matlab的计算机三、实验原理:信源编码主要可分为无失真信源编码和限失真信源编码。
无失真信源编码主要适用于离散信源或数字信号,如文本、表格及工程图纸等信源,它们要求进行无失真地数据压缩,要求完全能够无失真地可逆恢复。
香农码、费诺码、哈夫曼码都考虑了信源的统计特性,使经常出现的信源符号对应较短的码字,使信源的平均码长缩短,从而实现了对信源的压缩。
费诺码比较适合于对分组概率相等或接近的信源编码。
哈夫曼码对信源的统计特性没有特殊要求,编码效率比较高,对编码设备的要求也比较简单,因此综合性能优于香农码和费诺码。
(1)费诺码属于概率匹配编码,编码过程如下:1、将信源发出的N个消息符号按其概率的递减次序依次排列。
2、将依次排列的信源符号依概率分成两组,使两个组的概率和近于相同,并对各组赋予一个二进制代码符号“0”和“1”(编m进制码就分成m组)。
3、将每一个大组的信源符号进一步再分成两组,使划分后的两个组的概率和近于相同,并又分别赋予两组一个二进制符号“0”和“1”4、如此重复,直至每组值只剩下一个信源符号为止5、信源符号所对应的码符号序列即为费诺码(2)霍夫曼编码过程:1、将信源发出的N个消息符号按其概率的递减次序依次排列。
2、取概率最小的两个符号分别配以0和1两个码元,并将这两个符号的概率相加作为一个新概率,与未分配码元的符号重新按概率排队3、对重排后的两个概率最小符号重复步骤24、不断重复上述过程,直到最后两个符号配以0和1为止5、重最后一级开始,向前返回得到各个信源符号所对应的码元序列,即相应的码字。
信息论与编码试卷及答案
信息论与编码试卷及答案⼀、概念简答题(每题5分,共40分)1.什么是平均⾃信息量与平均互信息,⽐较⼀下这两个概念的异同?2.简述最⼤离散熵定理。
对于⼀个有m个符号的离散信源,其最⼤熵是多少?3.解释信息传输率、信道容量、最佳输⼊分布的概念,说明平均互信息与信源的概率分布、信道的传递概率间分别是什么关系?4.对于⼀个⼀般的通信系统,试给出其系统模型框图,并结合此图,解释数据处理定理。
5.写出⾹农公式,并说明其物理意义。
当信道带宽为5000Hz,信噪⽐为30dB时求信道容量。
6.解释⽆失真变长信源编码定理。
7.解释有噪信道编码定理。
8.什么是保真度准则?对⼆元信源,其失真矩阵,求a>0时率失真函数的和?⼆、综合题(每题10分,共60分)1.⿊⽩⽓象传真图的消息只有⿊⾊和⽩⾊两种,求:1)⿊⾊出现的概率为0.3,⽩⾊出现的概率为0.7。
给出这个只有两个符号的信源X的数学模型。
假设图上⿊⽩消息出现前后没有关联,求熵;2)假设⿊⽩消息出现前后有关联,其依赖关系为:,,,,求其熵;2.⼆元对称信道如图。
;1)若,,求和;2)求该信道的信道容量和最佳输⼊分布。
3.信源空间为,试分别构造⼆元和三元霍夫曼码,计算其平均码长和编码效率。
4.设有⼀离散信道,其信道传递矩阵为,并设,试分别按最⼩错误概率准则与最⼤似然译码准则确定译码规则,并计算相应的平均错误概率。
5.已知⼀(8,5)线性分组码的⽣成矩阵为。
求:1)输⼊为全00011和10100时该码的码字;2)最⼩码距。
6.设某⼀信号的信息传输率为5.6kbit/s,在带宽为4kHz的⾼斯信道中传输,噪声功率谱NO=5×10-6mw/Hz。
试求:(1)⽆差错传输需要的最⼩输⼊功率是多少?(2)此时输⼊信号的最⼤连续熵是多少?写出对应的输⼊概率密度函数的形式。
⼀、概念简答题(每题5分,共40分)1.答:平均⾃信息为表⽰信源的平均不确定度,也表⽰平均每个信源消息所提供的信息量。
信息论与编码理论-第3章信道容量-习题解答-071102
第3章 信道容量习题解答3-1 设二进制对称信道的转移概率矩阵为2/31/31/32/3⎡⎤⎢⎥⎣⎦解: (1) 若12()3/4,()1/4P a P a ==,求(),(),(|),(|)H X H Y H X Y H Y X 和(;)I X Y 。
i i 2i=13311H(X)=p(a )log p(a )log()log()0.8113(/)4444bit -=-⨯-=∑符号111121*********j j j=132117p(b )=p(a )p(b |a )+p(a )p(b |a )=43431231125p(b )=p(a )p(b |a )+p(a )p(b |a )=4343127755H(Y)=p(b )log(b )=log()log()0.9799(/)12121212bit ⨯+⨯=⨯+⨯=---=∑符号 22i j j i j i j i ,H(Y|X)=p(a ,b )logp(b |a )p(b |a )logp(b |a )2211log()log()0.9183(/)3333i jjbit -=-=-⨯-⨯=∑∑符号I(X;Y)=H(Y)H(Y|X)=0.97990.91830.0616(/)bit --=符号 H(X|Y)=H(X)I(X;Y)=0.81130.06160.7497(/bit --=符号)(2)求该信道的信道容量及其达到信道容量时的输入概率分布。
二进制对称信息的信道容量H(P)=-plog(p)-(1-p)log(1-p)1122C =1-H(P)=1+log()+log()=0.0817(bit/)3333符 BSC 信道达到信道容量时,输入为等概率分布,即:{0.5,0.5} 注意单位3-4 设BSC 信道的转移概率矩阵为112211Q εεεε-⎡⎤=⎢⎥-⎣⎦1)写出信息熵()H Y 和条件熵(|)H Y X 的关于1()H ε和2()H ε表达式,其中()log (1)log(1)H εεεεε=----。
费诺和霍夫曼编码
w[0]=0;
printf("请输入权重:\n");
for(i=1;i<=n;i++)
{
printf("w[%d]=",i);
scanf("%d",&w[i]);
}
HC=HuffmanCoding(HT,HC,w,n);
printf("HMC:\n");
printf("Number\t\tWeight\t\tCode\n");
霍夫曼码是用概率匹配方法进行信源编码。有两个明显特点:一是保证了概率大的符号对应于短码,概率小的对应于长码,充分利用了短码;二是缩减信源的最后二个码字总是最后一位不同,从而保证了霍夫曼码是即时码。
霍夫曼变长码的效率很高,它可以单个信源符号编码或用L较小的信源序列编码,对编码器的设计来说也易实现,但要注意,更高效率的编码仍须按长序列来计算,这样才能使平均码字降低。
void Error(char *message)
{
fprintf(stderr,"Error:%s\n",message);
exit(1);
}
HMC HuffmanCoding(HF HT,HMC HC,unsigned int *w,unsigned int n)
printf("%d\t\t%d\t\t%d\t\t%d\t\t%d\n",
i,HT[i].weight,HT[i].parent,HT[i].lchild,HT[i].rchild);
HC=(HMC)malloc((n+1)*sizeof(char *));
信息论与编码试题集与答案(新)
1. 在无失真的信源中,信源输出由 H (X ) 来度量;在有失真的信源中,信源输出由 R (D ) 来度量。
2. 要使通信系统做到传输信息有效、可靠和保密,必须首先 信源 编码, 然后_____加密____编码,再______信道_____编码,最后送入信道。
3. 带限AWGN 波形信道在平均功率受限条件下信道容量的基本公式,也就是有名的香农公式是log(1)C W SNR =+;当归一化信道容量C/W 趋近于零时,也即信道完全丧失了通信能力,此时E b /N 0为 -1.6 dB ,我们将它称作香农限,是一切编码方式所能达到的理论极限。
4. 保密系统的密钥量越小,密钥熵H (K )就越 小 ,其密文中含有的关于明文的信息量I (M ;C )就越 大 。
5. 已知n =7的循环码42()1g x x x x =+++,则信息位长度k 为 3 ,校验多项式 h(x)= 31x x ++ 。
6. 设输入符号表为X ={0,1},输出符号表为Y ={0,1}。
输入信号的概率分布为p =(1/2,1/2),失真函数为d (0,0) = d (1,1) = 0,d (0,1) =2,d (1,0) = 1,则D min = 0 ,R (D min )= 1bit/symbol ,相应的编码器转移概率矩阵[p(y/x )]=1001⎡⎤⎢⎥⎣⎦;D max = 0.5 ,R (D max )= 0 ,相应的编码器转移概率矩阵[p(y/x )]=1010⎡⎤⎢⎥⎣⎦。
7. 已知用户A 的RSA 公开密钥(e,n )=(3,55),5,11p q ==,则()φn = 40 ,他的秘密密钥(d,n )=(27,55) 。
若用户B 向用户A 发送m =2的加密消息,则该加密后的消息为 8 。
二、判断题1. 可以用克劳夫特不等式作为唯一可译码存在的判据。
(√ )2. 线性码一定包含全零码。
(√ )3. 算术编码是一种无失真的分组信源编码,其基本思想是将一定精度数值作为序列的 编码,是以另外一种形式实现的最佳统计匹配编码。
信息论与编码
信息论与编码信息论与编码是一个涉及信息传输和存储的学科领域,它涵盖了多个核心概念和技术。
下面是一些与信息论与编码相关的知识:1.信息熵:信息熵是信息的不确定性度量,用于衡量随机变量的平均信息量。
当一个事件的发生概率较低时,它包含的信息量较大,而当一个事件的发生概率较高时,它包含的信息量较少。
信息熵越高,表示信息的不确定性越大。
2.哈夫曼编码:哈夫曼编码是一种无损编码方法,它通过将频率较高的符号表示为短码,而将频率较低的符号表示为长码,从而达到压缩数据的目的。
哈夫曼编码的核心思想是用较少的比特表示常见的符号,用较多的比特表示不常见的符号,以实现数据压缩。
3.纠错码:纠错码是一种编码技术,旨在通过引入冗余信息来检测和纠正在传输过程中出现的错误。
纠错码能够通过添加校验位或冗余比特,在接收端对数据进行恢复和纠正,从而提高通信的可靠性。
4.调制技术:调制技术是将数字信号转换为模拟信号或其他形式的信号,以适应不同的通信媒介和传输条件。
调制技术能够将数字信号转换为能够在传输介质上传输的模拟信号,如调幅调制(AM)、调频调制(FM)和相移键控调制(PSK)等。
5.信道容量:信道容量是信息论中的一个重要概念,表示信道在理论上可以达到的最高传输速率。
信道容量取决于信道的带宽、信噪比以及任何潜在的干扰,它描述了信道所能达到的最高信息传输速率的界限。
6.数据压缩:数据压缩是利用信息论和编码技术来减少数据存储和传输所需的比特数。
数据压缩分为无损压缩和有损压缩两种方式。
无损压缩能够完全还原原始数据,如ZIP压缩算法;而有损压缩则会在一定程度上减少数据的质量,如JPEG图像压缩。
了解这些信息论与编码的相关知识,能够帮助我们更好地理解信息的传输和存储过程,以及如何进行数据的压缩和错误纠正,为技术和应用提供基础和指导。
信息论与编码 稿本
信息论与编码稿本信息论与编码信息论是一门研究信息传输和处理的学科,它主要关注如何在通信过程中最大化信息的传输效率,同时也探讨了信息的可靠性和安全性等问题。
而编码则是指将一种信息形式转换为另一种形式的技术,它在信息传输和存储中起着至关重要的作用。
本文将从以下几个方面来介绍信息论与编码。
1. 信息量与熵在信息论中,我们将每个事件发生所提供的“惊喜程度”称为其“信息量”。
例如,如果我们已经知道某个事件必然会发生,那么它所提供的“惊喜程度”就为零,其对应的“信息量”也为零;而如果一个事件非常罕见或意外,那么它所提供的“惊喜程度”就越大,其对应的“信息量”也就越大。
对于一个随机变量X而言,它可以取到不同的值x1, x2, ..., xn,并且每个值出现的概率分别为p(x1), p(x2), ..., p(xn)。
那么我们可以定义该随机变量X所提供的平均“惊喜程度”为:H(X) = - ∑[i=1,n] p(xi) * log2 p(xi)这个平均值被称为该随机变量X的熵。
可以看出,熵越大,随机变量X所提供的“惊喜程度”就越大,其信息量也就越大。
2. 香农编码在通信中,我们需要将信息转换为一系列的比特流来进行传输。
由于不同的信息可能对应着不同长度的比特流,因此我们需要一种方法来将信息编码为等长的比特流。
而香农编码就是一种非常有效的编码方法。
香农编码基于一个简单的思想:对于一个随机变量X而言,它出现概率越高的值应该被赋予尽可能短的编码。
具体来说,我们可以按照概率从高到低对每个值进行排序,并将出现概率最高的值赋予最短的编码(例如0),然后逐渐向后分配编码(例如1、10、11、100、101等),直到所有值都被赋予了唯一的编码。
香农编码具有很好的压缩效果,在理论上可以达到熵下界(即H(X))。
3. 哈夫曼编码虽然香农编码已经很好地解决了等长编码问题,但它并不是最优的编码方法。
事实上,我们可以通过构建一棵哈夫曼树来得到更加高效的编码方法。
信息论与编码理论课后答案
信息论与编码理论课后答案【篇一:《信息论与编码》课后习题答案】式、含义和效用三个方面的因素。
2、 1948年,美国数学家香农发表了题为“通信的数学理论”的长篇论文,从而创立了信息论。
3、按照信息的性质,可以把信息分成语法信息、语义信息和语用信息。
4、按照信息的地位,可以把信息分成客观信息和主观信息。
5、人们研究信息论的目的是为了高效、可靠、安全地交换和利用各种各样的信息。
6、信息的是建立信息论的基础。
7、8、是香农信息论最基本最重要的概念。
9、事物的不确定度是用时间统计发生概率的对数来描述的。
10、单符号离散信源一般用随机变量描述,而多符号离散信源一般用随机矢量描述。
11、一个随机事件发生某一结果后所带来的信息量称为自信息量,定义为其发生概率对数的负值。
12、自信息量的单位一般有比特、奈特和哈特。
13、必然事件的自信息是。
14、不可能事件的自信息量是15、两个相互独立的随机变量的联合自信息量等于两个自信息量之和。
16、数据处理定理:当消息经过多级处理后,随着处理器数目的增多,输入消息与输出消息之间的平均互信息量趋于变小。
17、离散平稳无记忆信源x的n次扩展信源的熵等于离散信源x的熵的。
limh(xn/x1x2?xn?1)h?n???18、离散平稳有记忆信源的极限熵,。
19、对于n元m阶马尔可夫信源,其状态空间共有m个不同的状态。
20、一维连续随即变量x在[a,b] 。
1log22?ep21、平均功率为p的高斯分布的连续信源,其信源熵,hc(x)=2。
22、对于限峰值功率的n维连续信源,当概率密度均匀分布时连续信源熵具有最大值。
23、对于限平均功率的一维连续信源,当概率密度24、对于均值为0,平均功率受限的连续信源,信源的冗余度决定于平均功率的限定值p和信源的熵功率p25、若一离散无记忆信源的信源熵h(x)等于2.5,对信源进行等长的无失真二进制编码,则编码长度至少为。
2728、同时掷两个正常的骰子,各面呈现的概率都为1/6,则“3和5同时出现”这件事的自信息量是 ?mn?ki?11?mp(x)?em29、若一维随即变量x的取值区间是[0,∞],其概率密度函数为,其中:x?0,m是x的数学2期望,则x的信源熵c。
信息论与编码试题集与答案(新)
一填空题(本题20分,每小题2分)1、平均自信息为表示信源的平均不确定度,也表示平均每个信源消息所提供的信息量。
平均互信息表示从Y获得的关于每个X的平均信息量,也表示发X前后Y的平均不确定性减少的量,还表示通信前后整个系统不确定性减少的量。
2、最大离散熵定理为:离散无记忆信源,等概率分布时熵最大。
3、最大熵值为。
4、通信系统模型如下:5、香农公式为为保证足够大的信道容量,可采用(1)用频带换信噪比;(2)用信噪比换频带。
6、只要,当N足够长时,一定存在一种无失真编码。
7、当R<C时,只要码长足够长,一定能找到一种编码方法和译码规则,使译码错误概率无穷小。
8、在认识论层次上研究信息的时候,必须同时考虑到形式、含义和效用三个方面的因素。
9、1948年,美国数学家香农发表了题为“通信的数学理论”的长篇论文,从而创立了信息论。
按照信息的性质,可以把信息分成语法信息、语义信息和语用信息。
按照信息的地位,可以把信息分成客观信息和主观信息。
人们研究信息论的目的是为了高效、可靠、安全地交换和利用各种各样的信息。
信息的可度量性是建立信息论的基础。
统计度量是信息度量最常用的方法。
熵是香农信息论最基本最重要的概念。
事物的不确定度是用时间统计发生概率的对数来描述的。
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 。
2.10常用信源编码
(PPT 001第四章)
2.10.3冗余位编码
冗余的信息完全可以不全部传送(压缩掉),从而提高了传输效率。
1.L—D编码
现在来讨论一种由林绪(Lynch)和达维生(Davission)分别独立提出的冗余位编码法,称为L—D编码。
例如有一二元序列,其中的一串000100000001000共二进制15位,其余的也可分割成15位一串,称为一帧。现在研究压缩冗余的方法。显然对该帧可确切描述为:
[思考题]已知12个球中有一个球的重量与其它球不同,其它球均等重。问用无砝码的天平至少须几次才能找出此球?
解:天平有3种状态,即平衡,左重,左轻,所以每称一次消除的不确定性为log3,12个球中的不等重球(可较轻,也可较重)的不确定性为: 因为 3log3>log24
∴3次测量可以找出该球
具体称法略。
[例2.10.1]有一单符号离散无记忆信源X如下,要求进行山农—费诺编码
因为信源有8个符号,其理论最大熵为lb8=3比特/符号,而实际熵为2.55比特/符号,如采用三位二进制等长编码,则效率η=2.55/3 = 85%,或者说采用定长编码效率较低。如采用山农—费诺编码,则效率会提高不少。
2.10.2哈夫曼编码
2)从最小两个概率开始编码,并赋予一定规则,如下支路小概率为“1”,上支路大概率为“0”。若两支路概率相等,仍为下支为“1”上支为“0”。
3)将已编码两支路概率合并,重新排队,编码。
4)重复步骤3)直至合并概率归一时为止。
.
=
0.20 , 0.19 , 0.18 , 0.17 , 0.15 , 0.10 , 0.01
2)其次是速率匹配问题:由于绝大多数信源是不等概率的,由它编成的码长度与速率是可变的。然而实际信道则要求其输入端速率是固定的。所以信源与信道之间还存在一个速率匹配问题。在工程上解决这一问题的方法是在两者之间加一个类似与水库的缓存器,它变速入,恒速出,以解决两者速率的匹配。
信息论与编码第二章课后答案
信息论与编码第二章课后答案在信息科学领域中,信息论和编码是两个息息相关的概念。
信息论主要研究信息的传输和处理,包括信息的压缩、传输的准确性以及信息的安全性等方面。
而编码则是将信息进行转换和压缩的过程,常用的编码方式包括霍夫曼编码、香农-费诺编码等。
在《信息论与编码》这本书的第二章中,涉及了信息的熵、条件熵、熵的连锁法则等概念。
这些概念对于信息理解和编码实现有着重要的意义。
首先是信息的熵。
熵可以简单理解为信息的不确定性。
当信息的发生概率越大,它的熵就越小。
比如说,一枚硬币的正反面各有50%的概率,那么它的熵就是1bit。
而如果硬币只有正面,那么它的熵就是0bit,因为我们已经知道了结果,不再有任何不确定性。
其次是条件熵。
条件熵是在已知某些信息(即条件)的前提下,对信息的不确定性进行量化。
它的定义为已知条件下,信息的熵的期望值。
比如说,在猜词游戏中,我们手中已经有一些字母的信息,那么此时猜测单词的不确定性就会下降,条件熵也就会减少。
除了熵和条件熵之外,连锁法则也是信息理解和编码实现中的重要概念。
连锁法则指的是一个信息在不同时刻被传输的情况下,熵的变化情况。
在信息传输的过程中,信息的熵可能会发生改变。
这是因为在传输过程中,可能会发生噪声或者数据重复等情况。
而连锁法则就是用来描述这种情况下信息熵的变化情况的。
最后,霍夫曼编码和香农-费诺编码是两种比较常用的编码方式。
霍夫曼编码是一种无损压缩编码方式,它可以将出现频率高的字符用较短的二进制编码表示,出现频率较低的字符用较长的二进制编码表示。
香农-费诺编码则是一种用于无失真信源编码的方法,可以把每个符号用尽可能短的二进制串来表示,使得平均码长最小化。
总的来说,信息论和编码是信息科学中非常重要的两个概念。
通过对信息熵、条件熵、连锁法则等的探讨和了解,可以更好地理解信息及其传输过程中的不确定性和数据处理的方法。
而霍夫曼编码和香农-费诺编码则是实现数据压缩和传输的常用编码方式。
《信息论与编码》复习试题
填空1.人们研究信息论的目的是为了 高效、可靠、安全 地交换和利用各种各样的信息。
2.信息的 可度量性 是建立信息论的基础。
3.统计度量 是信息度量最常用的方法。
4.熵 是香农信息论最基本最重要的概念。
5.事物的不确定度是用时间统计发生 概率的对数 来描述的。
6.单符号离散信源一般用随机变量描述,而多符号离散信源一般用 随机矢量 描述。
7.一个随机事件发生某一结果后所带来的信息量称为自信息量,定义为 其发生概率对数的负值 。
8.自信息量的单位一般有 比特、奈特和哈特 。
9.必然事件的自信息是 0 。
10.不可能事件的自信息量是 ∞ 。
11.两个相互独立的随机变量的联合自信息量等于 两个自信息量之和 。
12.数据处理定理:当消息经过多级处理后,随着处理器数目的增多,输入消息与输出消息之间的平均互信息量 趋于变小 。
13. 离散平稳无记忆信源X 的N 次扩展信源的熵等于离散信源X 的熵的 N 倍 。
14. 离散平稳有记忆信源的极限熵,=∞H )/(lim 121-∞→N N N X X X X H 。
15. 对于n 元m 阶马尔可夫信源,其状态空间共有 n m 个不同的状态。
16. 一维连续随即变量X 在[a ,b]区间内均匀分布时,其信源熵为 log 2(b-a ) 。
17.平均功率为P 的高斯分布的连续信源,其信源熵,H c (X )=eP π2log 212。
18.对于限峰值功率的N 维连续信源,当概率密度 均匀分布 时连续信源熵具有最大值。
19.对于限平均功率的一维连续信源,当概率密度 高斯分布 时,信源熵有最大值。
20.若一离散无记忆信源的信源熵H (X )等于2.5,对信源进行等长的无失真二进制编码,则编码长度至少为 3 。
21.若把掷骰子的结果作为一离散信源,则其信源熵为 log 26 。
22.同时掷两个正常的骰子,各面呈现的概率都为1/6,则“3和5同时出现”这件事的自信息量是 log 218(1+2 log 23)。
信息论与编码第五章
相当于ℓ1次扩展
⑶ 游程序列的熵与原二元序列的熵的关系
❖ “0”游程序列的熵与“1”游程长度的熵之和除以它 们的平均游程长度之和,即为对应原二元序列的熵
H(X)
H(X
)
H[L(0)] H[L(1)] l0 l1
H ( p0 )
H ( p1)
❖ 游程变换后符号熵没有变。因为游程变换是一一对
应的可逆变换,所以变换后熵值不变。
第一次 第一次 第一次 第一次 分组 分组 分组 分组
0
0
0
1
1
0
0
1
1
0
1
1
码字
00 010 011 10 110 1110 1111
码长
2 3 3 2 3 4 4
§5.2 费 诺 编 码
平均码长
7
K p(is)ki 2.74 码元符号/ 信源符号 i1
信源熵
7
H(S) p(is)logpi)(s 2.61 bit信/ 源符号 i1
直至无穷。
⒉ 编码方法:
❖ 首先求出“0”游程长度和“1”游程长度的概率分布,即以 游程长度为元素,构造一个新的信源;
❖ 对新的信源(游程序列)进行哈夫曼编码
§5.4 游 程 编 码
⒊ 小结:
❖ 游程变换减弱了原序列符号间的相关性。 ❖ 游程变换将二元序列变换成了多元序列;这样就适合于
用其他方法,如哈夫曼编码,进一步压缩信源,提高通 信效率。 ❖ 由其方案可知游程变换后编码并不适合于多进制序列。
S1
0.20 + 0.000 2.32
3
S2
0.19 + 0.200 2.40
3
S3
0.18 0.390 2.47
信息论中关于数据压缩问题的简单分析
信息论中关于数据压缩问题的简单分析摘要:随着信息技术的发展, 数据信息量越来越大. 为了存储这些数据信息, 我们需要更多的内存空间, 而且对这些信息进行处理也要花费更多的时间. 为了节省空间, 提高处理效率, 对数据进行压缩显得越来越重要.本文中介绍了一些具有代表性的数据压缩方法, 并对其应用进行了比较分析.Abstract : With the development of information technology, the amount of information increasing more and more . In order to store these data, we need more memory space, and processing of such information should spend more time . In order to save space, improve processing efficiency , to compress the data become increasingly important.This article describes some typical data compression method, and apply a comparative analysis.关键字:数据压缩赫夫曼编码码费诺编码香农编码Keyworlds : Data Compression, Huffman Coding ,Fano Coding , Shannon Coding一.数据压缩概述1.1. 数据压缩的概念数据压缩是对给定的数据进行压缩处理,消除一定的冗余度,节省了存储空间和处理时间,提高性能。
1.2 数据压缩的发展严格意义上的数据压缩起源于人们对概率的认识。
当我们对文字信息进行编码时,如果为出现概率较高的字母赋予较短的编码,为出现概率较低的字母赋予较长的编码,总的编码长度就能缩短不少。
信息论与编码-第五章(续1)
0.10 0.01
0.57 0.74
0.89 0.99
2.56 2.74
3.34 6.66
3 3
4 7
100 101
1110
1111110
信息论与编码-信源编码
• 以i 4 为例,
log2 0.17 K 4 log2 0.17 1
即2.56 K 4 3.56,因此K 4 3
平均码长为:
K
p( x ) K
i i 1
7
i
3.14码元/符号
平均信息传输率为
H ( X ) 2.61 R 0.831 bit / 码元 3.14 K
香农编码的效率不高,实用意义不大,但对其它编 码方法有很好的理论指导意义。
信息论与编码-信源编码
2. 费诺编码方法 • 费诺编码也不是最佳编码方法,但有时可以得 到最佳编码。 • 费诺编码方法如下: 首先,将信源符号以概率递减的次序排列起来, 将排列好的信源符号分成两组,使每一组的概 率之和相接近,并各赋予一个二元码符号“0” 或者“1”;
信息论与编码-信源编码
(1)求出修正累计概率分布函数为
P i
i 1
k 1
1 p( xk ) p( xi) xk , xi X 2
(2)确定满足下式的码长
1 K i log 1 p( xi )
(3)将修正累加概率Pi变换成二进制数。 (4)取Pi 二进制小数点后 K i 位即为该消息符号的二 进制编码。
信息论与编码-信源编码
• 例如现在 Pi 0.57,乘以2为1.14,整数部分有 进位,所以小数点后第一位为1,
信息论与编码-信源编码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信源编码的比较
——哈弗曼编码与费诺编码
姓名:
班级:
学号:
一、实验目的:
1、实现常用的信源编码方案,以加深对编码理论的理解,促进对本课程所学知识的理解和把握。
2、课程实验主要为设计性实验,要求掌握Matlab使用方法。
3、通过信源编译码,理解信源编码的主要目的,掌握信源编码的方法和手段,掌握费诺编码和霍夫曼编码方法
二、实验设备:
装有matlab的计算机
三、实验原理:
信源编码主要可分为无失真信源编码和限失真信源编码。
无失真信源编码主要适用于离散信源或数字信号,如文本、表格及工程图纸等信源,它们要求进行无失真地数据压缩,要求完全能够无失真地可逆恢复。
香农码、费诺码、哈夫曼码都考虑了信源的统计特性,使经常出现的信源符号对应较短的码字,使信源的平均码长缩短,从而实现了对信源的压缩。
费诺码比较适合于对分组概率相等或接近的信源编码。
哈夫曼码对信源的统计特性没有特殊要求,编码效率比较高,对编码设备的要求也比较简单,因此综合性能优于香农码和费诺码。
(1)费诺码属于概率匹配编码,编码过程如下:
1、将信源发出的N个消息符号按其概率的递减次序依次排列。
2、将依次排列的信源符号依概率分成两组,使两个组的概率和近于相同,并对各组赋予一个二进制代码符号“0”和“1”(编m进制码就分成m组)。
3、将每一个大组的信源符号进一步再分成两组,使划分后的两个组的概率和近于相同,并又分别赋予两组一个二进制符号“0”和“1”
4、如此重复,直至每组值只剩下一个信源符号为止
5、信源符号所对应的码符号序列即为费诺码
(2)霍夫曼编码过程:
1、将信源发出的N个消息符号按其概率的递减次序依次排列。
2、取概率最小的两个符号分别配以0和1两个码元,并将这两个符号的概率相加作为一个新概率,与未分配码元的符号重新按概率排队
3、对重排后的两个概率最小符号重复步骤2
4、不断重复上述过程,直到最后两个符号配以0和1为止
5、重最后一级开始,向前返回得到各个信源符号所对应的码元序列,即相应的码字。
四、实验内容:
1、哈弗曼编码
对如下信源进行哈弗曼编码,并计算编码效率。
X s1 s2 s3 s4 s5 s6 s7
P 0.09 0.18 0.23 0.17 0.1 0.07 0.16
(1)计算信源的信息熵,并对信源概率进行排序
(2)把概率最小的两个数相加合成一个概率,把这个合成概率与其他概率进行组合成新概率,再将最小的两个概率相加,直到只剩下两个概率,再反过来逐步向前编码,每一次有二个分支各赋予一个二进制码,大的赋值为1,小的赋值为0;
(3)向前返回得到各个信源符号所对应的码元序列,即相应的码字。
(4)计算码字平均码长,得出编码效率。
(5)实验程序:
1.哈弗曼编码
clear all;
p=[0.09 0.18 0.23 0.17 0.10 0.07 0.16];
l=0;
H=0;
N=length(p);
for i=1:N
H=H+(- p(i)*log2(p(i)));
end
fprintf('信源信息熵:\n');
disp(H)
for i=1:N-1
for j=i+1:N
if p(i)<p(j)
m=p(j);
p(j)=p(i);
p(i)=m;
end
end
end
Q=p;
m=zeros(N-1,N);
for i=1:N-1
[Q,l]=sort(Q);
m(i,:)=[l(1:N-i+1),zeros(1,i-1)];
Q=[Q(1)+Q(2),Q(3:N),1];
end
for i=1:N-1
c(i,:)=blanks(N*N);
end
c(N-1,N)='0';
c(N-1,2*N)='1';
for i=2:N-1
c(N-i,1:N-1)=c(N-i+1,N*(find(m(N-i+1,:)==1))-(N-2):N*(find(m(N-i+1,:) ==1)));
c(N-i,N)='0';
c(N-i,N+1:2*N-1)=c(N-i,1:N-1);
c(N-i,2*N)='1';
for j=1:i-1
c(N-i,(j+1)*N+1:(j+2)*N)=c(N-i+1,N*(find(m(N-i+1,:)==j+1)-1)+1:N*find (m(N-i+1,:)==j+1));
end
end
for i=1:N
h(i,1:N)=c(1,N*(find(m(1,:)==i)-1)+1:find(m(1,:)==i)*N);
ll(i)=length(find(abs(h(i,:))~=32));
end
l=sum(p.*ll);
n=H/l;
fprintf('编码的码字:\n');
disp(h)
fprintf('平均码长:\n');
disp(l)
fprintf('编码效率:\n');
disp(n)
(6)实验结果:
2、费诺编码:
(1)对与哈弗曼编码的相同信源进行排序
(2)将信源符号以概率递减的次序排列进来,将排列好的信源符号划分为两大组,使第组的概率和近于相同,并各赋于一个二元码符号”0”和”1”.然后,将每一大组的信源符号再分成两组,使同一组的两个小组的概率和近于相同,并又分别赋予一个二元码符号。
依次下去,直至每一个小组只剩下一个信源符号为止
(3)由前向后向前返回得到各个信源符号所对应的码元序列,即相应的码字。
(4)计算平均码长,得到编码效率。
(5)实验程序:
Main函数:
clear all;
N=input('N=');
s=0;l=0;H=0;
for i=1:N
fprintf('第%d个',i);
p(i)=input('p=');
if p(i)<=0
error('信源概率不能小于零')
end
s=s+p(i)
N=length(p);
H=H+(- p(i)*log2(p(i)));
end
if (s<=0.999999||s>=1.000001)
error('信源概率之和必须为1') end
tic;
for i=1:N-1
for j=i+1:N
if p(i)<p(j)
m=p(j);p(j)=p(i);p(i)=m;
end
end
end
x=f1(1,N,p,1);
for i=1:N
L(i)=length(find(x(i,:)));
l=l+p(i)*L(i);
end
n=H/l;
fprintf('按概率降序排列的码字:\n'); disp(x)
fprintf('平均码长:\n');
disp(l)
fprintf('编码效率:\n');
disp(n)
fprintf('计算耗时time=%f\n',toc); 子函数1:
function x=f1(i,j,p,r)
global x;
x=char(x);
if(j<=i)
return;
else
q=0;
for t=i:j
q=p(t)+q;y(t)=q;
end
for t=i:j
v(t)=abs(y(t)-(q-y(t))); end
for t=i:j
if(v(t)==min(v))
for k=i:t
x(k,r)='0';
end
for k=(t+1):j
x(k,r)='1';
end
d=t;
f1(i,d,p,r+1);
f2(d+1,j,p,r+1);
f1(d+1,j,p,r+1);
f2(i,d,p,r+1);
else
end
end
end
return;
子函数2:
function x=f2(i,j,p,r) global x;
x=char(x);
if(j<=i)
return;
else
q=0;
for t=i:j
q=p(t)+q;y(t-i+1)=q;
end
for t=1:j-(i-1)
v(t)=abs(y(t)-(q-y(t))); end
for t=1:j-(i-1)
if(v(t)==min(v))
d=t+i-1;
for k=i:d
x(k,r)='0';
end
for k=(d+1):j
x(k,r)='1';
end
f2(d+1,j,p,r+1);
f1(i,d,p,r+1);
f2(i,d,p,r+1);
f1(d+1,j,p,r+1);
else
end
end
end
return;
(6)实验结果:
五、实验心得:
通过这次实验,我对哈夫曼编码和费诺编码的编码方法有了更深入的了解,对于同一信源,编码效率哈弗曼编码比费诺编码高。
还学会了怎样用matlab更直观,简单地实现编码。