二元对称信道平均互信息的图形分析 - 信息论与编码实验报告

合集下载

信息论与编码实验2-实验报告

信息论与编码实验2-实验报告

信息论与编码实验2-实验报告信息论与编码实验 2 实验报告一、实验目的本次信息论与编码实验 2 的主要目的是深入理解和应用信息论与编码的相关知识,通过实际操作和数据分析,进一步掌握信源编码和信道编码的原理及方法,提高对信息传输效率和可靠性的认识。

二、实验原理(一)信源编码信源编码的目的是减少信源输出符号序列中的冗余度,提高符号的平均信息量。

常见的信源编码方法有香农编码、哈夫曼编码等。

香农编码的基本思想是根据符号出现的概率来分配码字长度,概率越大,码字越短。

哈夫曼编码则通过构建一棵最优二叉树,为出现概率较高的符号分配较短的编码,从而实现平均码长的最小化。

(二)信道编码信道编码用于增加信息传输的可靠性,通过在发送的信息中添加冗余信息,使得在接收端能够检测和纠正传输过程中产生的错误。

常见的信道编码有线性分组码,如汉明码等。

三、实验内容与步骤(一)信源编码实验1、选取一组具有不同概率分布的信源符号,例如:A(02)、B (03)、C(01)、D(04)。

2、分别使用香农编码和哈夫曼编码对信源符号进行编码。

3、计算两种编码方法的平均码长,并与信源熵进行比较。

(二)信道编码实验1、选择一种线性分组码,如(7,4)汉明码。

2、生成一组随机的信息位。

3、对信息位进行编码,得到编码后的码字。

4、在码字中引入随机错误。

5、进行错误检测和纠正,并计算错误纠正的成功率。

四、实验结果与分析(一)信源编码结果1、香农编码的码字为:A(010)、B(001)、C(100)、D (000)。

平均码长为 22 比特,信源熵约为 184 比特,平均码长略大于信源熵。

2、哈夫曼编码的码字为:A(10)、B(01)、C(111)、D (00)。

平均码长为 19 比特,更接近信源熵,编码效率更高。

(二)信道编码结果在引入一定数量的错误后,(7,4)汉明码能够成功检测并纠正大部分错误,错误纠正成功率较高,表明其在提高信息传输可靠性方面具有较好的性能。

信息论与编码技术实验报告

信息论与编码技术实验报告

《信息论与编码技术》实验报告实验一:请根据公式-plogp ,说明小概率事件和大概率事件对熵的贡献。

解:先做图,然后分析。

将公式写为)(log )(2p p p f -=对它编写计算和画图程序如下:p=0:0.01:1;x=-p.*log2(p);plot(p,x);从图中曲线看出,小概率事件和大概率事件的情况下,熵值都很低,贡献很小,在概率为0.5附近时熵值最大,故此时对熵的贡献最大。

实验二:请对a 、b 、c 霍夫曼编码,它们的概率是0.6、0.3、0.1。

并以此对符号串ababaacbaa 编码和译码。

解:编码步骤分为:事件排序,符号编码,信源编码,信道编码。

MATLAB 程序:clc;a=0.3;b=0.3;c=0.4; %%%霍夫曼编码A=[a,b,c];A=fliplr(sort(A)); %%%降序排序if (a==b)&(a>c), %%实现了当a,b,c 其中两概率相同时的编码,及3值均不同时的编码 u='a';x=a;v='b';y=b;w='c';z=c;elseif (a==b)&(a<c),u='c';x=c;v='a';y=a;w='b';z=b;elseif (c==b)&(c>a),u='b';x=b;v='c';y=c;w='a';z=a;elseif (c==b)&(c<a),u='a';x=a;v='b';y=b;w='c';z=c;elseif(a==c)&(a>b),u='a',x=a;v='c',y=c;w='b',z=b;elseif(a==c)&(a<b),u='b';x=b;v='a';y=a;w='c';z=c;elseif A(1,1)==a,u='a';x=a;elseif A(1,1)==b,u='b';x=b;elseif A(1,1)==c,u='c';x=c;endif A(1,2)==a,v='a';y=a;elseif A(1,2)==b,v='b';y=b;elseif A(1,2)==c,v='c';y=c;endif A(1,3)==a,w='a';z=a;elseif A(1,3)==b,w='b';z=b;elseif A(1,3)==c,w='c';z=c;endend %%%x,y,z按从大到小顺序存放a,b,c的值,u,v,w存对应字母if x>=(y+z),U='0';V(1)='0';V(2)='1';W(1)='1';W(2)='1';else U='1';V(1)='0';V(2)='0';W(1)='1';W(2)='0';enddisp('霍夫曼编码结果:')if u=='a',a=fliplr(U),elseif u=='b',b=fliplr(U),else c=fliplr(U),end if v=='a',a=fliplr(V),elseif v=='b',b=fliplr(V),else c=fliplr(V),end if w=='a',a=fliplr(W),elseif w=='b',b=fliplr(W),else c=fliplr(W),end %%%编码步骤为:信源编码,信道编码disp('信源符号序列:')s='ababaacbaa' %%%信源编码q=[];for i=s;if i=='a',d=a;elseif i=='b';d=b;else d=c;end;q=[q,d];endm=[]; %%%符号变数字for i=q;m=[m,str2num(i)];endP=[1,1,1,0;0,1,1,1;1,1,0,1];G=[eye(3),P];%%%信道编码%%%接下来的for循环在程序中多次使用,此处作用是将已编码组m每3个1组放入mk中进行运算之后存入Ck数组中,每次mk中运算结束之后清空,再进行下一组运算,而信道编码结果数组C则由C=[C,Ck]存入每组7个码。

信息论与编码实验报告

信息论与编码实验报告

NANCHANG UNIVERSITY信息论与编码实验报告(2018年11月27日)学院:信息工程学院系电子信息工程系专业班级:学生姓名:学号:指导教师:目录实验一自信息量和熵源.............................................................................................. 实验二准对称信道容量.............................................................................................. 实验三费诺不等式...................................................................................................... 实验四香农编码.......................................................................................................... 实验五费诺编码.......................................................................................................... 实验六霍夫曼编码......................................................................................................实验一自信息量和熵源一、实验要求1、画出I=-的函数图;2、画出H(p)=-p-(1-p)函数图。

二、实验原理及理论分析自信息量:一个事件的自信息量就是对其不确定性的度量。

信息论与编码实习报告

信息论与编码实习报告

信息论与编码实习报告一、引言信息论与编码是通信工程、计算机科学和电子工程等领域的重要基础课程。

本次实习旨在通过实际操作,深入理解和掌握信息论与编码的基本原理和技术,提高我们的实际操作能力和问题解决能力。

二、实习内容1、信息论基础:实习的第一部分,我们通过自学和讨论的方式,深入学习了信息论的基本概念和原理,包括信息的度量、熵、信道容量等。

2、编码理论:在这一阶段,我们重点学习了线性编码、循环编码、哈夫曼编码等编码方法,并了解了编码的效率及其可靠性。

3、模拟与数字通信系统:我们通过模拟软件,设计和实现了简单的模拟通信系统,同时,也通过实验箱,了解了数字通信系统的基本原理和技术。

4、无线通信和网络:在这一部分,我们重点学习了无线通信和网络的基础知识,包括无线信道模型、无线调制解调技术、无线网络协议等。

5、实习项目:最后,我们根据所学的知识,完成了一个实习项目——设计并实现一个具有高可靠性和高效率的通信系统。

三、实习收获通过这次实习,我们收获颇丰。

首先,我们对信息论与编码的基本概念和原理有了更深入的理解和掌握,能够更好地将理论知识应用到实际中。

其次,我们提高了自己的实际操作能力和问题解决能力,能够在实践中发现和解决问题。

最后,我们了解了通信系统的基本原理和技术,对未来的学习和工作有了更好的准备。

四、结论本次实习是我们学习信息论与编码的重要环节,我们通过实际操作,深入理解和掌握了信息论与编码的基本原理和技术,提高了自己的实际操作能力和问题解决能力。

我们也发现了自己的不足之处,将在未来的学习和工作中更加努力,不断提高自己的能力和水平。

信息论与编码曹雪虹课后习题答案随着科技的发展,信息已经成为现代社会中不可或缺的一部分。

在大学中,信息论与编码作为一门重要的学科,已经成为了计算机科学、通信工程、电子工程等专业的必修课程。

而在这门课程中,曹雪虹教授的教材《信息论与编码》被广泛使用。

本文将介绍一些该教材的课后习题答案,以帮助读者更好地掌握信息论与编码的相关知识。

信息论与编码实验报告

信息论与编码实验报告

信息论与编码实验报告一、实验目的本实验主要目的是通过实验验证信息论与编码理论的基本原理,了解信息的产生、传输和编码的基本过程,深入理解信源、信道和编码的关系,以及各种编码技术的应用。

二、实验设备及原理实验设备:计算机、编码器、解码器、信道模拟器、信噪比计算器等。

实验原理:信息论是由香农提出的一种研究信息传输与数据压缩问题的数学理论。

信源产生的消息通常是具有统计规律的,信道是传送消息的媒体,编码是将消息转换成信号的过程。

根据信息论的基本原理,信息的度量单位是比特(bit),一个比特可以表示两个平等可能的事件。

信源的熵(Entropy)是用来衡量信源产生的信息量大小的物理量,熵越大,信息量就越多。

信道容量是用来衡量信道传输信息的极限容量,即信道的最高传输速率,单位是比特/秒。

编码是为了提高信道的利用率,减少传输时间,提高传输质量等目的而进行的一种信号转换过程。

常见的编码技术有霍夫曼编码、香农-费诺编码、区块编码等。

三、实验步骤1.运行编码器和解码器软件,设置信源信息,编码器将信源信息进行编码,生成信道输入信号。

2.设置信道模拟器的信道参数,模拟信道传输过程。

3.将信道输出信号输入到解码器,解码器将信道输出信号进行解码,恢复信源信息。

4.计算信道容量和实际传输速率,比较两者的差异。

5.改变信道参数和编码方式,观察对实际传输速率的影响。

四、实验结果与分析通过实验,我们可以得到不同信道及编码方式下的信息传输速率,根据信道参数和编码方式的不同,传输速率有时会接近信道容量,有时会低于信道容量。

这是因为在真实的传输过程中,存在信噪比、传输距离等因素导致的误码率,从而降低了实际传输速率。

在实验中,我们还可以观察到不同编码方式对传输速率的影响。

例如,霍夫曼编码适用于信源概率分布不均匀的情况,可以实现数据压缩,提高传输效率。

而区块编码适用于数据容量较大的情况,可以分块传输,降低传输错误率。

此外,通过实验我们还可以了解到信息论中的一些重要概念,如信源熵、信道容量等。

信息论与编码实验二

信息论与编码实验二

实验二 离散信道及其容量一、实验目的1、理解离散信道容量的内涵; 2、掌握求二元对称信道(BSC )互信息量和容量的设计方法; 3、 掌握二元扩展信道的设计方法并会求其平均互信息量。

二、实验原理若某信道输入的是N 维序列x ,其概率分布为q(x),输出是N 维序列y,则平均互信息量记为I(X;Y),该信道的信道容量C 定义为()max (X;Y)q x C I =。

三、实验内容1、给定BSC 信道,信源概率空间为信道矩阵 0.990.010.010.99P ⎡⎤=⎢⎥⎣⎦求该信道的I(X;Y)和容量,画出I(X;Y)和ω、C 和p 的关系曲线。

2 、编写一M 脚本文件t03.m ,实现如下功能:在任意输入一信道矩阵P 后,能够判断是否离散对称信道,若是,求出信道容量C 。

3、已知X=(0,1,2);Y=(0,1,2,3),信源概率空间和信道矩阵分别为XP 0 1 0.6 0.4= XPx 0 1 2 0.3 0.5 0.2=求: 平均互信息量;4、 对题(1)求其二次扩展信道的平均互信息I(X;Y)。

四、程序设计与算法描述1)设计思路1、信道容量()max (X;Y)q x C I 因此要求给定信道的信道容量,只要知道该信道的最大互信息量,即求信道容量就是求信道互信息量的过程。

程序代码:clear all,clc;w=0.6;w1=1-w;p=0.01;X=[0 1];P =[0.6 0.4];p1=1-p;save data1 p p1;I_XY=(w*p1+w1*p)*log2(1/(w*p1+w1*p))+(w*p+w1*p1)*log2(1/(w*p+w1*p1))-(p*log2(1/p)+p 1*log2(1/p1));C=1-(p*log2(1/p)+p1*log2(1/p1));fprintf('互信息量:%6.3f\n 信道容量:%6.3f',I_XY,C);p=eps:0.001:1-eps;p1=1-p;C=1-(p.*log2(1./p)+p1.*log2(1./p1));subplot(1,2,1),plot(p,C),xlabel('p'),ylabel('C');load data1;w=eps:0.001:1-eps;w1=1-w;I_XY=(w.*p1+w1.*p).*log2(1./(w.*p1+w1.*p))+(w.*p+w1.*p1).*log2(1./(w.*p+w1.*p1))-(p .*log2(1./p)+p1.*log2(1./p1));subplot(1,2,2),plot(w,I_XY)xlabel('w'),ylabel('I_XY');0.1 0.3 0 0.6 0.3 0.5 0.2 0 0.1 0.7 0.1 0.1P=实验结果:2、离散对称信道:当离散准对称信道划分的子集只有一个时,信道关于输入和输出对称。

信息论与编码理论课程实验报告

信息论与编码理论课程实验报告
2、建立待压缩的数据(如文本、图像等)的信源模型。进行相关统计,确定该数据的信源符号集,以及相应的概率集合,从而确定该信源的概率空间。该部分实验涉及数据读入(文档读写、图像读写)、信源符号出现概率统计等等
二、实验环境及相关情况(包含使用软件、实验设备、主要仪器及材料等)
设备:PC机
软件:matlab 2007
0.0055 0.0115 0.0061 0.0176 0
构建信源模型如下:
h i j k l m n
0.0267 0.0672 0.0042 0.0030 0.0521 0.0212 0.0733
o p q r s t u
0.0842 0.0254 0.0048 0.0648 0.0933 0.0739 0.0327
9.实验报告独立完成,无抄袭现象,并按时提交,格式规范。
综合评定:
附录(程序源代码)
1.编写MATLAB程序
clc
clear all
%随机输入一组数据
string='abdddssdsssdabaabaddkkidkidkdiakdjjaidjaid';
%将上述中所有英文字母化为小写
string=lower(string);
自评/互评成绩:100(评阅者签名:熊萌萌)
2、教师评价
评价标准
评语等级



及格
不合格
1.实验态度认真,实验目的明确
2.实验方案或流程图思路清晰、合理
3.实验程序设计合理,能运行
4.实验步骤记录详细,具备可读性
5.实验数据合理
6.实验结论正确
7.实验总结分析合理、透彻
8.实验报告完整、文字叙述流畅,逻辑性强

信息论与编码实验报告

信息论与编码实验报告

《信息论与编码》实验报告《信息论与编码》实验报告实验序号:02 实验项目名称:离散信道及其信道容量结论:1、当输入和输出符号个数相同,且都等于r 时,则此信道称为强对称信道或均匀信道;2、这类信道中总的错误概率为 p ,对称地平均分配给r-1个输出符号。

实验内容二:平均互信息I (X ;Y )是凸函数的论文一、 问题:由信源的概率分布P (Y )=对x 求和P (X )*P(Y|X)和平均互信息I(X;Y)=对x,y 求和p(x)*P(y|x)*logP(y|x)/P(y)可知,平均互信息只与信源的概率分布和信道的传递概率有关,但是它们之间有种什么关系?二、 证明定理一:平均互信息I(X;Y)是输入信源的概率分布P(x)的形函数(上凸函数)解: 根据上凸函数的定义来证明,先固定信道,即信道的传递概率P(y|x)是固定的。

那么平均互信息I(X;Y)将只是P(x)的函数,简写成I[P(x)]。

现选择输入信源X 的两种已知的概率分布P1(x)和P2(x)。

其对应的联合分布概率为P1(xy)=P1(x)P(y|x)和P2(xy)=P2(x)P(y|x),因而信道输出端的平均互信息分别为I[P1(x)]和I[P2(x)]。

再选择输入变量X 的另一种概率分布P(x),令01θ<<,和1θθ+=,而P(x)= 12()()P x P x θθ+,因而得其相应的平均互信息为I[P(x)]。

根据平均互信息的定义得1212,,,12[()][()][()](|)(|)(|)()log()log ()log ()()()x yx y x y I P x I P x I P x P y x P y x P y x P xy P xy P xy P y P y P y θθθθ+-=+-∑∑∑结论:平均互信息与信源的概率分布有关,有上可知,平均互信息是输入信源的概率分布P(x)的形凸函数。

定理二:平均互信息I(X;Y)是信道传递概率P(Y|X)的形凸函数(又称下凸函数)猜想:由平均互信息是输入信源的概率分布的形凸函数知,当固定某信道时,选择不同的信源(其概率分布不同)与信道连接,在信道输出端接收到每个符号后获得的信息量是不同的。

信息论与编码课程实验报告

信息论与编码课程实验报告

福建农林大学计算机与信息学院信息工程类信息论与编码课程实验报告实验项目列表实验名称1:信源建模一、实验目的和要求(1)进一步熟悉信源建模;(2)掌握MATLAB程序设计和调试过程中数值的进制转换、数值与字符串之间的转换等技术。

二、实验内容(1)假设在一个通信过程中主要传递的对象以数字文本的方式呈现。

(2)我们用统计的方式,发现这八个消息分别是由N1,N2,…,N8个符号组成的。

在这些消息是中出现了以下符号(符号1,符号2,…,符号M)每个符号总共现了(次数1,次数2,…,次数M)我们认为,传递对象的信源模型可表示为:X为随机变量(即每次一个字符);取值空间为:(符号1,符号2,…,符号M);其概率分布列为:(次数1/(N1+…+N8),…,次数M/( N1+…+N8))三、实验环境硬件:计算机软件:MATLAB四、实验原理图像和语声是最常用的两类主要信源。

要充分描述一幅活动的立体彩色图像,须用一个四元的随机矢量场X(x,y,z,t),其中x,y,z为空间坐标;t 为时间坐标;而X是六维矢量,即表示左、右眼的亮度、色度和饱和度。

然而通常的黑白电视信号是对平面图像经过线性扫描而形成。

这样,上述四元随机矢量场可简化为一个随机过程X(t)。

图像信源的最主要客观统计特性是信源的幅度概率分布、自相关函数或功率谱。

关于图像信源的幅度概率分布,虽然人们已经作了大量的统计和分析,但尚未得出比较一致的结论。

至于图像的自相关函数,实验证明它大体上遵从负指数型分布。

其指数的衰减速度完全取决于图像类型与图像的细节结构。

实际上,由于信源的信号处理往往是在频域上进行,这时可以通过傅里叶变换将信源的自相关函数转换为功率谱密度。

功率谱密度也可以直接测试。

语声信号一般也可以用一个随机过程X(t)来表示。

语声信源的统计特性主要有语声的幅度概率分布、自相关函数、语声平均功率谱以及语声共振峰频率分布等。

实验结果表明语声的幅度概率分布可用伽玛(γ)分布或拉普拉斯分布来近似。

信息论与编码实验报告

信息论与编码实验报告

信息论与编码实验报告一、实验目的信息论与编码是一门涉及信息的度量、传输和处理的学科,通过实验,旨在深入理解信息论的基本概念和编码原理,掌握常见的编码方法及其性能评估,提高对信息处理和通信系统的分析与设计能力。

二、实验原理(一)信息论基础信息熵是信息论中用于度量信息量的重要概念。

对于一个离散随机变量 X,其概率分布为 P(X) ={p(x1), p(x2),, p(xn)},则信息熵H(X) 的定义为:H(X) =∑p(xi)log2(p(xi))。

(二)编码原理1、无失真信源编码:通过去除信源中的冗余信息,实现用尽可能少的比特数来表示信源符号,常见的方法有香农编码、哈夫曼编码等。

2、有噪信道编码:为了提高信息在有噪声信道中传输的可靠性,通过添加冗余信息进行纠错编码,如线性分组码、卷积码等。

三、实验内容及步骤(一)信息熵的计算1、生成一个离散信源,例如信源符号集为{A, B, C, D},对应的概率分布为{02, 03, 01, 04}。

2、根据信息熵的定义,使用编程语言计算该信源的信息熵。

(二)香农编码1、按照香农编码的步骤,首先计算信源符号的概率,并根据概率计算每个符号的编码长度。

2、确定编码值,生成香农编码表。

(三)哈夫曼编码1、构建哈夫曼树,根据信源符号的概率确定树的结构。

2、为每个信源符号分配编码,生成哈夫曼编码表。

(四)线性分组码1、选择一种线性分组码,如(7, 4)汉明码。

2、生成编码矩阵,对输入信息进行编码。

3、在接收端进行纠错译码。

四、实验结果与分析(一)信息熵计算结果对于上述生成的离散信源,计算得到的信息熵约为 184 比特/符号。

这表明该信源存在一定的不确定性,需要一定的信息量来准确描述。

(二)香农编码结果香农编码表如下:|信源符号|概率|编码长度|编码值|||||||A|02|232|00||B|03|174|10||C|01|332|110||D|04|132|111|香农编码的平均码长较长,编码效率相对较低。

信息论与编码实验报告

信息论与编码实验报告

实验报告课程名称:信息论与编码姓名:系:专业:年级:学号:指导教师:职称:年月日目录实验一信源熵值的计算 (1)实验二 Huffman信源编码 (5)实验三 Shannon编码 (9)实验四信道容量的迭代算法 (12)实验五率失真函数 (15)实验六差错控制方法 (20)实验七汉明编码 (22)实验一 信源熵值的计算一、 实验目的1 进一步熟悉信源熵值的计算 2熟悉 Matlab 编程二、实验原理熵(平均自信息)的计算公式∑∑=--==qi i i qi i i p p p p x H 1212log 1log )(MATLAB 实现:))(log *.(2x x sum HX -=;或者))((log *)(2i x i x h h -= 流程:第一步:打开一个名为“nan311”的TXT 文档,读入一篇英文文章存入一个数组temp ,为了程序准确性将所读内容转存到另一个数组S ,计算该数组中每个字母与空格的出现次数(遇到小写字母都将其转化为大写字母进行计数),每出现一次该字符的计数器+1;第二步:计算信源总大小计算出每个字母和空格出现的概率;最后,通过统计数据和信息熵公式计算出所求信源熵值(本程序中单位为奈特nat )。

程序流程图:三、实验内容1、写出计算自信息量的Matlab 程序2、已知:信源符号为英文字母(不区分大小写)和空格。

输入:一篇英文的信源文档。

输出:给出该信源文档的中各个字母与空格的概率分布,以及该信源的熵。

四、实验环境Microsoft Windows 7Matlab 6.5五、编码程序#include"stdio.h"#include <math.h>#include <string.h>#define N 1000int main(void){char s[N];int i,n=0;float num[27]={0};double result=0,p[27]={0};FILE *f;char *temp=new char[485];f=fopen("nan311.txt","r");while (!feof(f)) {fread(temp,1, 486, f);}fclose(f);s[0]=*temp;for(i=0;i<strlen(temp);i++){s[i]=temp[i];}for(i=0;i<strlen(s);i++){if(s[i]==' ')num[26]++;else if(s[i]>='a'&&s[i]<='z')num[s[i]-97]++;else if(s[i]>='A'&&s[i]<='Z')num[s[i]-65]++;}printf("文档中各个字母出现的频率:\n");for(i=0;i<26;i++){p[i]=num[i]/strlen(s);printf("%3c:%f\t",i+65,p[i]);n++;if(n==3){printf("\n");n=0;}}p[26]=num[26]/strlen(s);printf("空格:%f\t",p[26]);printf("\n");for(i=0;i<27;i++){if (p[i]!=0)result=result+p[i]*log(p[i]);}result=-result;printf("信息熵为:%f",result);printf("\n");return 0;}六、求解结果其中nan311.txt中的文档如下:There is no hate without fear. Hate is crystallized fear, fear’s dividend, fear objectivized. We hate what we fear and so where hate is, fear is lurking. Thus we hate what threatens our person, our vanity andour dreams and plans for ourselves. If we can isolate this element in what we hate we may be able to cease from hating.七、实验总结通过这次实验,我们懂得了不必运行程序时重新输入文档就可以对文档进行统计,既节省了时间而且也规避了一些输入错误。

平均互信息实验报告

平均互信息实验报告

河南师范大学实验课程名称:信息论编码主教老师:刘艳芳实验项目名称:平均互信息量的凸函数性质学院:计算机与信息工程学院专业:网络工程学生姓名:陈微学号:1208324070一、实验目的1. 验证平均互信息量的凸函数性质2. 理解基于平均互信息量上凸性的信道容量3. 理解基于平均互信息量下凸性的信息率失真函数4. 熟悉MATLAB 程序设计二、实验原理1.平均互信息I(X;Y)是信道传递概率p(y|x)的下凸函数。

当信源固定后,选择不同的信道来传输同一信源符号时,在信道的输出端获得关于信源的信息量是不同的。

信道输出端获得关于信源的信息量是信道传递概率的下凸函数。

也就是说,对每一种信源都存在一种最差的信道,此信道的干扰最大,即输出端所获得的信息量最小。

2.平均互信息I(X;Y)是输入信源的概率分布p(x)的上凸函数。

当固定某信道时,选择不同的信源(其概率分布不同)与信道连接,在信道输出端接收到每个符号后所获得的信息量是不同的。

而且对于每一个固定信道,一定存在一种信源(某种概率分布平p(x)),使输出端获得的信息量为最大。

三、实验设备一台计算机,MATLAB7.0.1编程软件四、实验内容与步骤对如下信源及信道,计算出其平均互信息输入概率空间为:⎥⎦⎤⎢⎣⎡-==⎥⎦⎤⎢⎣⎡W W W X P X 110)( X 1-p Ya1=0 0=b1p (二元对称信道BSC )pa2=1 1=b11-p(1) 平均互信息函数:)()*)1()1(*()|()();(p H p w p w H X Y H Y H Y X I --+-=-=;⎥⎦⎤⎢⎣⎡+-+++++=p p p p p w wp p w wp p w p w p w p w Y X I 1log 1log 1log )(1log )();( (2) 固定信道即固定p 时,=p []025.05.075.01,画出I(X;Y)是w 的⋂(3)固定信源概率分布w时,]01[=w,画出I(X;Y)是p75.05.025.0的⋃形函数。

信息论与编码实验报告教材

信息论与编码实验报告教材

实验一 绘制二进熵函数曲线(2个学时)一、实验目的:1. 掌握Excel 的数据填充、公式运算和图表制作2. 掌握Matlab 绘图函数3. 掌握、理解熵函数表达式及其性质二、实验要求:1. 提前预习实验,认真阅读实验原理以及相应的参考书。

2. 在实验报告中给出二进制熵函数曲线图三、实验原理:1. Excel 的图表功能2. 信源熵的概念及性质()()[]()[]())(1)(1 .log )( .)( 1log 1log )(log )()(10 , 110)(21Q H P H Q P H b nX H a p H p p p p x p x p X H p p p x x X P X i i i λλλλ-+≥-+≤=--+-=-=≤≤⎩⎨⎧⎭⎬⎫-===⎥⎦⎤⎢⎣⎡∑单位为 比特/符号 或 比特/符号序列。

当某一符号xi 的概率p(xi)为零时,p(xi)log p(xi) 在熵公式中无意义,为此规定这时的 p(xi)log p(xi) 也为零。

当信源X 中只含有一个符号x 时,必有p(x)=1,此时信源熵H (X )为零。

四、实验内容:用Excel 和Matlab 软件制作二进熵函数曲线。

根据曲线说明信源熵的物理意义。

(一) Excel具体步骤如下:1、启动Excel 应用程序。

2、准备一组数据p 。

在Excel 的一个工作表的A 列(或其它列)输入一组p ,取步长为0.01,从0至100产生101个p (利用Excel 填充功能)。

3、取定对数底c,在B列计算H(x) ,注意对p=0与p=1两处,在B列对应位置直接输入0。

Excel中提供了三种对数函数LN(x),LOG10(x)和LOG(x,c),其中LN(x)是求自然对数,LOG10(x)是求以10为底的对数,LOG(x,c)表示求对数。

选用c=2,则应用函数LOG(x,2)。

在单元格B2中输入公式:=-A2*LOG(A2,2)-(1-A2)*LOG(1-A2,2)双击B2的填充柄,即可完成H(p)的计算。

信息论和编码实验报告

信息论和编码实验报告

信息论与编码实验报告实验课程名称:赫夫曼编码(二进制与三进制编码)专业信息与计算科学班级信息与计算科学1班学生姓名李林钟学号 20####指导老师王老师信息论和编码实验报告一、实验目的利用赫夫曼编码进行通信可以大大提高通信利用率,缩短信息传输时间,降低传输成本。

赫夫曼编码是信源编码中最基本的编码方法。

●理解赫夫曼编码,无论是二进制赫夫曼编码,还是m 进制赫夫曼编码,都要理解其编码原理和编码步骤。

● 回顾无失真信源编码定理,理解无失真编码的基本原理和常用编码方法。

●掌握二进制赫夫曼编码和m 进制赫夫曼编码的基本步骤,能计算其平均码长,编码效率等。

●应用二进制赫夫曼编码或m 进制赫夫曼编码处理简单的实际信源编码问题。

二、实验环境与设备1、操作系统与编程软件:windows 操作系统,cfree5.0, Visual C++ 6.0。

2、编程语言:C 语言以及C++语言 三、实验内容1. 二进制赫夫曼编码原理及步骤: (1)信源编码的计算设有N 个码元组成的离散、无记忆符号集,其中每个符号由一个二进制码字表示,信源符号个数n 、信源的概率分布P={p(s i )},i=1,…..,n 。

且各符号xi 的以li 个码元编码,在变长字编码时每个符号的平均码长为∑==ni li xi p L 1)( ;信源熵为:)(log )()(1xi p xi p X H ni ∑=-= ;唯一可译码的充要条件:11≤∑=-ni Ki m ;其中m 为码符号个数,n 为信源符号个数,Ki 为各码字长度。

(2)二元霍夫曼编码规则(1)将信源符号依出现概率递减顺序排序。

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

称为信源的第一次缩减信源,用s1 表示。

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

二元霍夫曼编码 - 信息论与编码实验报告

二元霍夫曼编码 - 信息论与编码实验报告

计算机与信息工程学院综合性实验报告一、实验目的根据霍夫曼编码的原理,用MATLAB设计进行霍夫曼编码的程序,并得出正确的结果。

二、实验仪器或设备1、一台计算机。

2、MATLAB r2013a。

三、二元霍夫曼编码原理1、将信源消息符号按其出现的概率大小依次排列,p1>p2>…>p q2、取两个概率最小的字母分别配以0和1两个码元,并将这两个概率相加作为一个新字母的概率,从而得到只包含q-1个符号的新信源S1。

3、对重排后的缩减信源S1重新以递减次序排序,两个概率最小符号重复步骤(2)的过程。

4、不断继续上述过程,直到最后两个符号配以0和1为止。

5、从最后一级开始,向前返回得到各个信源符号所对应的码元序列,即相应的码字。

四、霍夫曼编码实现程序function [outnum]=lml_huffman(a)%主程序,输入一组概率,输出此组概率的霍夫曼编码%a:一组概率值,如a=[0.2 0.3 0.1 0.4]等%outnum:输出的霍夫曼码,以cell中的字符数组表示if sum(a)~=1warning('输入概率之和不为“1”,但程序仍将继续运行')end[cho,sequ,i,l]=probality(a);global lmlcode %用于输出霍夫曼码,定义为cell型global cellnum %用于编码的累加计算cellnum=1;lmlcode=cell(l,1);j=1; %第一部分add_num=char;[l_add]=addnum(add_num,i,j,l);[output,m]=disgress(sequ,i,j,l,l_add);dealnum(output,m); %在全局变量中输出霍夫曼码j=2; %第二部分[l_add]=addnum(add_num,i,j,l);[output,n]=disgress(sequ,i,j,l,l_add);dealnum(output,n);[outnum]=comset(lmlcode,cho(1,:));%将概率和编码进行关联function [output]=addnum(input,i,j,l)%对概率矩阵中每一行最后两个不为0的数进行编码,即在某个编码后添加0,1或空%输出:% input:输入的某个未完成的编码% (i,j):当前检索目标在sequ矩阵中的位置% l:sequ矩阵的列数%PS: sequ矩阵在此函数中未用到%PS:此函数为编码第一步if j==(l-i)output=[input '0'];else if j==(l-i+1)output=[input '1'];elseoutput=input;endendfunction [ecode]=comset(code,pro)%将概率和编码进行关联%code:已编成的霍夫曼码%pro:输入的一组概率%ecode:最终完成的码l=length(code);ecode=cell(l,2);for i=1:llang(i)=length(code{i});end[a,b]=sort(lang);for i=1:lecode{i,1}=code{b(i)};ecode{i,2}=pro(i);endfunction [final,a]=dealnum(imput,m)%整理并在全局变量中输出已完成的霍夫曼码%输入: imput:程序运算后的生成cell型矩阵% m:标识数%输出: final:整理后的霍夫曼码% a:标识数global lmlcodeglobal cellnumif m==1lmlcode{cellnum}=imput;cellnum=cellnum+1;final='';a='';else if m==2[final1,a1]=dealnum(imput{1,1},imput{1,2});[final2,a2]=dealnum(imput{2,1},imput{2,2});[final3,a3]=dealnum(final1,a1);[final4,a4]=dealnum(final2,a2);final=[final3 final4];a=[a3 a4];elsefinal=imput;a=m;endendfunction [outnum,p]=findsumother(sequ,i,j,l,add_num)%当前检索目标在sequ(i,j)处为非1时的处理程序,即跳转到下一级进行整理%输入: sequ:概率转移矩阵% (i,j):当前检索目标在sequ矩阵中的位置% l:sequ矩阵的列数% add_num:当前进行的编码%输出:(与disgress类同)% outnum:进行霍夫曼编码,用cell型表示% p:标识数j=l-i+2-sequ(i,j);i=i-1;[add_num1]=addnum(add_num,i,j,l);[outnum,p]=disgress(sequ,i,j,l,add_num1);function [outnum1,outnum2,p,q]=findsumis1(sequ,i,j,l,add_num)%当前检索目标在sequ(i,j)处为1时的处理程序,%即对下一级的最小两概率进行求和移位编码整理%输入: sequ:概率转移% (i,j):当前检索目标在sequ矩阵中的位置% l:sequ矩阵的列数% add_num:当前进行的编码%输出:(与disgress类同)% outnum1&[outnum2:进行霍夫曼编码,用cell型表示% p&q:标识数i=i-1;j1=l-i;j2=l-i+1;[add_num1]=addnum(add_num,i,j1,l);[outnum1,p]=disgress(sequ,i,j1,l,add_num1);[add_num2]=addnum(add_num,i,j2,l);[outnum2,q]=disgress(sequ,i,j2,l,add_num2);function [output,m]=disgress(sequ,i,j,l,add_num)%当前检索目标,累加数,输出下一级霍夫曼码及其个数,此函数被调用次数最多%输入:sequ:概率转移矩阵% (i,j):当前检索目标在sequ矩阵中的位置% l:sequ矩阵的列数% add_num:当前进行的编码%输出:output:进行霍夫曼编码,用cell型表示% m:标识数%PS:此函数为编码第二步if i~=1if sequ(i,j)==1[output1,output2,p,q]=findsumis1(sequ,i,j,l,add_num);output=cell(2);output{1,1}=output1;output{1,2}=p;output{2,1}=output2;output{2,2}=q;m=2;else if sequ(i,j)~=1[output1,p]=findsumother(sequ,i,j,l,add_num);output=output1;m=p;endendelseoutput=add_num;m=1;end五、实验程序实现方法演示若在command window中输入的概率数组为p=[0.1 0.15 0.20 0.25 0.30]使用子函数[output,sequ,i,j]=probality(p)对此组概率进行预处理,处理结果如下图所示:图5.1 概率数据处理过程简图图5.2 对图1中数据的转移方式标示图图2标明了对图1中各数据的位置转移过程。

二元对称信道上均匀无记忆信源的信源_信道联合编码的研究

二元对称信道上均匀无记忆信源的信源_信道联合编码的研究
运用这样的编码方法可以很大程度上提高编码效率降低误码率可以想见如果本方法将来能应用于各种通信系统进行音频和视频数据的传输将会提高通信系统的效率发展前景广阔
第一部分
通信理论
二元对称信道上均匀无记忆信源的
信源 ! 信道联合编码的研究
谭学治 高伟华 沙学军 哈尔滨工业大学通信技术研究所
!摘
要"
在传统通信系统中,信源编码与信道编码是分别考虑的。但是,在实际中发现,用某种“特定”方
应用到用变换的编码器编码的一系列信源上来。 运用这样的编码方法,可以很大程度上提高编码 效率,降低误码率,可以想见,如果本方法将来 能应用于各种通信系统进行音频和视频数据的传 输将会提高通信系统的效率,发展前景广阔。
%4(2(, :?(50/=(0/’5 $ 的结果也在图中显示了出来。 我们可以清楚地看到,在 89%: 中只能得到比特 率是整数值的结果。我们也看到了本实验中我们 的算法比 89%: 要优越。 图 ! 显示了 < @ AB C D 和 E
法连接起来的最优信源编码器和信道编码器,并不一定能构成最佳通信系统。因此出现了实现通信系统整体优化 的“信源信道联合编码”理论。本文主要以数字传输中二元对称信道 # $%& ’ 为例,研究了此信道上的信源和信道 编码的联合设计。
! 关键词 "
联合编码
二元对称信道
均匀信源
!
移动通信
"##$ 年 % 月增刊
8’>/56 O’, Y/,/(#2+ ^+560& 8’>+-K ZJJJ 0,(5-K 8’))?5; DBBB_ !R " F $ T SRS C SQ! H ! I 王立宁 ; 乐光新 ; 詹菲 等 K L1M^1. 与通信仿真 K 北京 T 人民邮电出版社 ; AQQQ !

《信息论与信源编码》实验报告

《信息论与信源编码》实验报告

《信息论与信源编码》实验报告1、实验目的(1) 理解信源编码的基本原理;(2) 熟练掌握Huffman编码的方法;(3) 理解无失真信源编码和限失真编码方法在实际图像信源编码应用中的差异。

2、实验设备与软件(1) PC计算机系统(2) VC++6.0语言编程环境(3) 基于VC++6.0的图像处理实验基本程序框架imageprocessing_S(4) 常用图像浏览编辑软件Acdsee和数据压缩软件winrar。

(5) 实验所需要的bmp格式图像(灰度图象若干幅)3、实验内容与步骤(1) 针对“图像1.bmp”、“图像2.bmp”和“图像3.bmp”进行灰度频率统计(即计算图像灰度直方图),在此基础上添加函数代码构造Huffman码表,针对图像数据进行Huffman编码,观察和分析不同图像信源的编码效率和压缩比。

(2) 利用图像处理软件Acdsee将“图像1.bmp”、“图像2.bmp”和“图像3.bmp”转换为质量因子为10、50、90的JPG格式图像(共生成9幅JPG图像),比较图像格式转换前后数据量的差异,比较不同品质因素对图像质量的影响;(3) 数据压缩软件winrar将“图像1.bmp”、“图像2.bmp”和“图像3.bmp”分别生成压缩包文件,观察和分析压缩前后数据量的差异;(4) 针对任意一幅图像,比较原始BMP图像数据量、Huffman编码后的数据量(不含码表)、品质因素分别为10、50、90时的JPG文件数据量和rar压缩包的数据量,分析不同编码方案下图像数据量变化的原因。

4、实验结果及分析(1)在VC环境下,添加代码构造Huffman编码表,对比试验结果如下:a.图像1.bmp:图1 图像1.bmp图像的像素点个数共640×480个,原图像大小为301KB,图像信息熵为5.92bit/符号,通过Huffman编码后,其编码后的平均码长为5.960码元/信源符号,编码效率为99.468%,编码后的图像大小为228.871KB,压缩比为1.342。

信息论与编码报告

信息论与编码报告

信息论报告摘要:信息论是一门用概率论与数理统计方法来研究信息的度量、传递和交换规律的科学。

它主要是研究通讯和控制系统中普遍存在着信息传递的共同规律以及研究最佳解决信息的获限、度量、变换、存储和传递等问题的基础理论。

自香农在1948年发表奠定信息论基础的《通信的数学理论》一文以来,信息论学科迅速发展并延伸到许多领域中。

信息理论不仅在通信、计算机、控制等领域中有直接指导意义,还渗透到经济学、生物学、医学等广泛领域。

本文简要介绍信息论的基本原理和发展史,重点介绍信息论在数据压缩、密码学、信号处理及量子理论中的应用。

关键词:信息、信息论、密码学、数据压缩、量子理论、熵1.信息论原理1.1信息论中的信息信息是信息论中最重要最基本的概念。

早期,人们对信息的理解是很肤浅的。

最早把信息作为科学对象来加以研究的是通信领域,而这一领域的奠基之作当推哈特莱于1928年在《贝尔系统电话杂志》上发表的题为《信息传输》的论文。

他把信息理解为选择通信符号的方式,并用选择的自由度来计量这种信息的大小。

1948年,通信专家香农在《贝尔系统电话杂志》上发表了一篇名为《通信的数学理论》的论文,在文中他以概率论为工具,阐明了通信中的一系列基本理论问题,给出了计算信源信息量和信道容量的方法和一般公式,得到了一组表示信息传递重要关系的编码定理。

香农在定量测度信息时,把信息定义为随机不确定性的减少,亦即信息是用来减少随机不确定性的东西。

基于这一思想,布里渊直接指出,信息就是负熵[1]。

而控制论的奠基人维纳则把信息看做广义通信的内容,他指出:“正如熵是无组织(无序)程度的度量一样,消息集合所包含的信息就是组织(有序)程度的度量。

事实上完全可以将消息所包含的信息解释为负熵”[2]。

1.2信息论基础(1)香农在论文《A Mathematical Theory of Communication 》中给出了信息熵的定义:()i ii p p log ∑-=H (1-2-1)这一定义可以用来推算传递经二进制编码后的原信息所需的信道带宽。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机与信息工程学院设计性实验报告
一、实验目的
分别画出在给定条件下,平均互信息的上凸性和下凸性的图形,然后利用计算机仿真二元对称信道,观察改变变量w 或p 时,所绘图形的变化情况。

二、实验仪器或设备
1、一台计算机。

2、MATLAB r2013a 。

三、设计原理
设二元对称信道的输入概率空间:
01⎡⎤⎡⎤=⎢⎥⎢⎥⎣⎦⎣⎦
X P p
p 信道矩阵:
⎡⎤εε=⎢⎥εε⎢⎥⎣⎦
P .
其中:
1
00(0)()(|)εε====+∑i i i p b p a p b a p p
110
(1)()(|)εε====+∑i i i p b p a p b a p p
11()()log
()log ()εεεεεεεεεε=+++=+++H Y p p p p H p p p p p p
(|)()(|)log (|)
(|)log (|)
[log log ]
()
εεεεε=- =- =-+ =∑∑∑i j i j i i
j
j i j i j
H Y X p a p b a p b a p b a p b a H
(;)()(|)()()εεε=-=+-I X Y H Y H Y X H p p H 四、实验步骤
(1)试验程序,依次输出题目要求的三个图形
%信源w 固定,当w=0.5时,互信息随信道转移概率P 的变化情况 figure(1)
w=0.5; %信源w=0.5
p=0:.01:1; %信道不固定,在0~1变化
IXY=ESC2H(w.*(1-p)+(1-w).*p)-ESC2H(p); plot(p,IXY);
title('信源w=0.5时,互信息随信道转移概率P 的变化情况') xlabel('p')
ylabel('互信息IXY')
%信道P 固定,当P 取值不是0.5,互信息随信源w 的变化情况 figure(2)
p=0.3; %信道P 固定,取值不是0.5 w=0:.01:1; %信原不固定,在0~1变化 IXY=ESC2H(w.*(1-p)+(1-w).*p)-ESC2H(p); plot(w,IXY)
title('信道P=0.3时(不为0.5),互信息随信源w 的变化情况') xlabel('w')
ylabel('互信息IXY')
%信道P 固定,当p=0.5,互信息随信源w 的变化情况 figure(3)
p=0.5; %信道P 固定,取值不是0.5 w=0:.01:1; %信原不固定,在0~1变化 IXY=ESC2H(w.*(1-p)+(1-w).*p)-ESC2H(p); plot(w,IXY)
title('信道P=0.5,互信息随信源w 的变化情况') xlabel('w')
ylabel('互信息IXY')
(2)ESC2H.m :%简单求二元熵函数
function [l_ans]=ESC2H(l_input) % [l_ans]=ESC2H(l_input) %输入:二元信源(信道),其中一元的概率 %输出:二元熵
if l_input>1|l_input<0
error('输入值有误,其值超出了概率范围') else
l_find=[find(l_input==0),find(l_input==1)]; l_input(l_find)=0.5;
l_ans=-l_input.*log2(l_input)-(1-l_input).*log2((1-l_input));
l_ans(l_find)=0;
end
(3)yanshi.m:%当取定的数值在0~1变化时,上凸(下凸)函数的变化情况function [m]=yanshi(movie)
%当取定的数值在0~1变化时,上凸(下凸)函数的变化情况
%[m]=yanshi(movie)输入演示序号,输出图形动画及getframe函数产生的电影帧%输入:movie=1:演示第一个图形动画
% movie=2:演示第二个图形动画
%输出:m:getframe函数产生的当前动画的电影帧,可使用movie函数进行操作%example: [m]=yanshi(1)
% [m]=yanshi(2)
if movie==1
%对于信源w固定,互信息随信道转移概率P的变化图形,
%当w在0~1之间变化时,函数图形的变化情况
%此时,函数图形规律变化
w=0;
for i=1:100
w=w+0.01; %信源在一帧图形中固定,动画中在0~1变化
p=0:.01:1; %信道不固定,在0~1变化
IXY=ESC2H(w.*(1-p)+(1-w).*p)-ESC2H(p);
plot(p,IXY);
axis([-0.1 1.1 -0.1 1.1])
title('信源W从0到1逐渐变化,具体取值见command window')
xlabel('p')
ylabel('互信息IXY')
m(i)=getframe;
disp(['当前的W取值为',num2str(w)])
end
else if movie==2
%对于信道P固定,互信息随信源w的变化图形,
%当p在0~1之间变化时,函数图形的变化情况
%此时,函数图形变化不规律
p=0;
for i=1:99
p=p+0.01; %信道在一帧图形中固定,动画中在0~1变化
w=0:.01:1; %信原不固定,在0~1变化
IXY=ESC2H(w.*(1-p)+(1-w).*p)-ESC2H(p);
plot(w,IXY)
title('信道P从0到1逐渐变化,具体取值见command window') xlabel('w')
ylabel('互信息IXY') m(i)=getframe;
disp(['当前的p 取值为',num2str(p)]) end end end
五、结果分析与总结
(1)程序1输出的图形:
00.10.20.30.4
0.50.60.70.80.91
0.2
0.4
0.6
0.8
1
信源w=0.5时,互信息随信道转移概率P 的变化情况
p
互信息I X Y
00.10.20.30.4
0.50.60.70.80.91
0.020.040.060.080.1
0.12信道P=0.3时(不为0.5),互信息随信源w 的变化情况
w
互信息I X Y
00.10.20.30.4
0.50.60.70.80.91
-1
-0.5
0.5
1
信道P=0.5,互信息随信源w 的变化情况
w
互信息I X Y
(2)程序1得出的结论:
1、信源w 固定,当w=0.5时,互信息I 是关于信道转移概率P 的下凸函数。

2、信道P 固定,当P 取值不是0.5时,互信息I 是关于信源w 的上凸函数。

3、信道P 固定,当p=0.5时,互信息I 为0,不随w 变化。

(3)程序3得出的结论:
1、对于信源w 固定,互信息随信道转移概率p 的变化图形,当w 在0~1之间变化时,函数图形的变化情况,此时,函数图形规律变化。

2、对于信道P 固定,互信息随信源w 的变化图形,当p 在0~1之间变化时,函数图形的变化情况,此时,函数图形变化不规律。

教师签名:
年 月 日。

相关文档
最新文档