中北大学信息论实验报告(含数据详解版)

时间:2024.3.31

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

姓名

班级

学号

年       月

实验一:绘制信源熵函数曲线

一、实验目的

1.  掌握离散信源熵的原理和计算方法。

2.  熟悉matlab软件的基本操作,练习应用matlab软件进行信源熵函数曲线的绘制。

3.  理解信源熵的物理意义,并能从信源熵函数曲线图上进行解释其物理意义。

二、实验原理

1.  离散信源相关的基本概念、原理和计算公式

产生离散信息的信源称为离散信源。离散信源只能产生有限种符号。

假定X是一个离散随机变量,即它的取值范围R={x1x2x3,…}是有限或可数的。设第i个变量xi发生的概率为pi=P{X=xi}。则:

定义一个随机事件的自信息量Ixi)为其对应的随机变量xi出现概率对数的负值。即:

Ixi)= -log2p(xi)

定义随机事件X的平均不确定度HX)为离散随机变量xi出现概率的数学期望,即:

单位为 比特/符号 或 比特/符号序列。

平均不确定度HX)的定义公式与热力学中熵的表示形式相同,所以又把平均不确定度HX)称为信源X的信源熵。

必须注意一下几点:

a)    某一信源,不管它是否输出符号,只有这些符号具有某些概率特性,必有信源的熵值;这熵值是在总体平均上才有意义,因而是个确定值,一般写成HX),X是指随机变量的整体(包括概率分布)。

b)    信息量则只有当信源输出符号而被接收者收到后,才有意义,这就是给与信息者的信息度量,这值本身也可以是随机量,也可以与接收者的情况有关。

c)    熵是在平均意义上来表征信源的总体特征的,信源熵是表征信源的平均不确定度,平均自信息量是消除信源不确定度时所需要的信息的量度,即收到一个信源符号,全部解除了这个符号的不确定度。或者说获得这么大的信息量后,信源不确定度就被消除了。信源熵和平均自信息量两者在数值上相等,但含义不同。

d)    当某一符号xi的概率p(xi)为零时,p(xi)log p(xi) 在熵公式中无意义,为此规定这时的 p(xi)log p(xi) 也为零。当信源X中只含有一个符号x时,必有p(x)=1,此时信源熵HX)为零。

2.  MATLAB二维绘图

三、实验内容

用matlab软件绘制二源信源熵函数曲线。根据曲线说明信源熵的物理意义。

实验过程:

输入代码

>>  p = 0:0.02:1;

h = -p.*log2(p)-(1-p).*log2(1-p);

>> plot(p,h)

  

物理意义:信源熵为信源的平均不确定性,而概率的大小决定了信息量的大小。     

由图上可知概率为1时,信息量最小,不确定性最低;概率等于0.5熵最大。

实验二:哈夫曼编解码

一、实验目的

1.  掌握哈夫曼编码的原理及编码步骤

2.  练习matlab中哈夫曼编码函数的调用及通信工具箱的使用

二、实验原理

通信的根本问题是如何将信源输出的信息在接收端的信宿精确或近似的复制出来。为了有效地复制信号,就通过对信源进行编码,使通信系统与信源的统计特性相匹配。

若接收端要求无失真地精确地复制信源输出的信息,这样的信源编码即为无失真编码。即使对于一个小的时间段内,连续信源输出的信息量也可以是无限大的,所以对其是无法实现无失真编码的;而离散信源输出的信息量却可以看成是有限的,所以只有离散信源才可能实现无失真编码。

凡是能载荷一定的信息量,且码字的平均长度最短,可分离的变长码的码字集合都可以称为最佳码。为此必须将概率大的信息符号编以短的码字,概率小的符号编以长的码字,使得平均码字长度最短。

变字长编码的最佳编码定理:在变字长码中,对于概率大的信息符号编以短字长的码;对于概率小的信息符号编以长字长的码。如果码字长度严格按照符号概率的大小顺序排列,则平均码字长度一定小于俺任何顺序排列方式得到的码字长度。

哈夫曼编码就是利用了这个定理,讲等长分组的信源符号,根据其概率分布采用不等长编码。概率大的分组,使用短的码字编码;概率小的分组,使用长的码字编码。哈夫曼编码把信源按概率大小顺序排列,并设法按逆次序分配码字的长度。在分配码字的长度时,首先将出现概率最小的两个符号相加,合成一个概率;第二步把这个合成的概率看成是一个新组合符号的概率,重复上述做法,直到最后只剩下两个符号的概率为止。完成以上概率相加顺序排列后,再反过来逐步向前进行编码。每一步有两个分支,各赋予一个二进制码,可以对概率大的编为0码,概率小的编为1码。反之亦然。

哈夫曼编码的具体步骤归纳如下:

1.    统计n个信源消息符号,得到n个不同概率的信息符号。

2.    将这n个信源信息符号按其概率大小依次排序:
       p(x1) ≥ p(x2)≥ …≥ p(xn)

3.    取两个概率最小的信息符号分别配以0和1两个码元,并将这两个概率相加作为一个新的信息符号的概率,和未分配的信息符号构成新的信息符号序列。

4.    将剩余的信息符号,按概率大小重新进行排序。

5.    重复步骤3,将排序后的最后两个小概论相加,相加和与其他概率再排序。

6.    如此反复重复n-2次,最后只剩下两个概率。

7.    从最后一级开始,向前返回得到各个信源符号所对应的码元序列,即相应的码字,构成霍夫曼编码字。编码结束。

哈夫曼编码产生最佳整数前缀码,即没有一个码字是另一个码字的前缀,因此哈夫曼编码是唯一码。

编码之后,哈夫曼编码的平均码长为:

哈夫曼编码的效率为:

三、实验内容

为某一信源进行哈夫曼编码。该信源的字符集为X={x1,x2,x6 },相应的概率矢量为:P=(0.30,0.25,0.21,0.10,0.09,0.05),即XP的概率空间为:

根据哈夫曼编码算法对该信源进行哈夫曼编码。并计算其平均码长和编码效率。

调用matlab哈夫曼编码函数进行哈夫曼编码,与人工编码结果做比较。

huffmandict函数: 为已知概率分布的信源模型生成哈夫曼编解码索引表。

调用方法如下:

[dict,avglen] = huffmandict (symbols, p)

[dict,avglen] = huffmandict (symbols, p, N)

[dict,avglen] = huffmandict (symbols, p, N, variance)

实验过程:

>> a = [1:6];

p = [0.30 0.25 0.21 0.10 0.09 0.05];

[dict,avglen] = huffmandict(a,p)

dict =

    [1]    [1x2 double]

    [2]    [1x2 double]

    [3]    [1x2 double]

    [4]    [1x3 double]

    [5]    [1x4 double]

    [6]    [1x4 double]

avglen = 2.3800

>> [dict,avglen] = huffmandict(a,p,4)

dict =

    [1]    [         1]

    [2]    [         2]

    [3]    [1x2 double]

    [4]    [1x2 double]

    [5]    [1x2 double]

    [6]    [1x2 double]

avglen =1.4500

>> [dict,avglen] = huffmandict(a,p,3)

dict =

    [1]    [         1]

    [2]    [1x2 double]

    [3]    [1x2 double]

    [4]    [1x3 double]

    [5]    [1x3 double]

    [6]    [1x3 double]

avglen =1.9400

>> [dict,avglen] = huffmandict(a,p,5)

dict =

    [1]    [         1]

    [2]    [1x2 double]

    [3]    [1x2 double]

    [4]    [1x2 double]

    [5]    [1x2 double]

    [6]    [1x2 double]

avglen =1.7000

实验三:离散信道容量

一、实验目的

1.  掌握离散信道容量的计算。

2.  理解离散信道容量的物理意义。

3.  练习应用matlab软件进行二元对称离散信道容量的函数曲线的绘制,并从曲线上理解其物理意义。

二、实验原理

信道是传送信息的载体—信号所通过的通道。

信息是抽象的,而信道则是具体的。比如二人对话,二人间的空气就是信道;打电话,电话线就是信道;看电视,听收音机,收、发间的空间就是信道。

研究信道的目的:在通信系统中研究信道,主要是为了描述、度量、分析不同类型信道,计算其容量,即极限传输能力,并分析其特性。

二元对称信道BSC(Binary Symmetric Channel)

二进制离散信道模型有一个允许输入值的集合X={0,1}和可能输出值的集合Y={0,1},以及一组表示输入和输出关系的条件概率(转移概率)组成。如果信道噪声和其他干扰导致传输的二进序列发生统计独立的差错,且条件概率对称,即

这种对称的二进制输入、二进制输出信道称做二元对称信道(或二进制对称信道,简称BSC信道),如下图所示:

信道容量公式:

三、实验内容

BSC信道是DMC信道对称信道的特例,对于转移概率为P(0/1)=P(1/0)=p,P(0/0)=P(1/01)=1-p,求出其信道容量公式,并在matlab上绘制信道容量C与p的曲线。根据曲线说明其物理意义。

输入代码:>> p = linspace(0,1,50);

c = 1+p.*log2(p)+(1-p).*log2(1-p);

plot(p,c)

xlabel('p')

ylabel('c')

物理意义:二元对称信道容量在等可能概率时达到最小为零。在转移概率为P(0/1)=P(1/0)=01),P(0/0)=P(1/01)=1(或0时达到最大。


第二篇:实验4


中北大学经济与管理学院

实验报告

课程名称电子商务支付与结算 学号         学生姓名         辅导教师         

更多相关推荐:
数学实验报告

西安交通大学数学实验报告高等数学实验报告MATLAB实验操作报告同组人髙加西20xx年04月10日电气工程学院电气工程与自动化专业电气12崔彧菲西安交通大学数学实验报告实验一非线性方程组求解一实验目的1熟悉MA...

数学实验实验报告

数学实验实验报告20xx20xx学年第1学期学生姓名学号院部数理学院专业班级任课教师实验报告1实验目的熟悉Mathematica软件包的使用实验内容1用两种方式编写如下自定义函数并求其导数fx在x20x10x5...

数学实验实验报告六答案

实验六实验项目名称优化实验时间20xx52620xx6220xx69实验地点理学实验楼525实验目的1掌握Matlab优化工具箱的基本用法利用优化工具包解线性规划和非线性规划的问题对不同算法作初步分析比较2练习...

数学实验实验报告模板

天水师范学院数学与统计学院实验报告实验项目名称所属课程名称实验类型线性代数实验实验日期班级学号姓名成绩12附录1源程序附录2实验报告填写说明1实验项目名称要求与实验教学大纲一致2实验目的目的要明确要抓住重点符合...

数学实验实验报告

数学与计算科学学院实验报告实验项目名称油价与船速的优化问题所属课程名称数学实验实验类型综合实验日期20xx922班级学号姓名成绩123附录2实验报告填写说明1实验项目名称要求与实验教学大纲一致2实验目的目的要明...

数学实验报告格式

数学实验实验报告20xx年03月30日一实验问题1某公司指派5个员工到5个城市工作每个城市单独一人希望使所花费的总电话费用尽可能少5个员工两两之间每个月通话的时间表示在下面的矩阵的上三角部分因为通话的时间矩阵是...

《数学实验》实验报告

数学实验实验报告20xx年4月8日一实验问题1指派问题考虑指定n个人完成n项任务每人单独承担一项任务使所需的总完成时间成本尽可能短已知某指派问题的有关数据每人完成各任务所需的时间如下表所示试建模并求解该指派问题...

第一学期数学实验报告

Matlab数学实验实验报告1目录一第一次实验3二第二次实验三第三次实验四实验反思291317第一次作业一熟悉Matlab环境在计算机上运行试验一中示例1至示例11理解各条语句及指令的含义二编写程序解决下列问题...

数学实验“矩阵特征值及相应特征向量的Jacobi法,QR法”实验报告(内含matlab程序)

西京学院数学软件实验任务书实验十三实验报告一实验名称矩阵特征值及相应特征向量的Jacobi法QR法二实验目的熟悉矩阵特征值及相应特征向量的Jacobi法QR法三实验要求运用MatlabCCJavaMapleMa...

数学实验报告要求格式

数学实验与数学软件实验报告要求1实验成绩占总评成绩的202实验报告的内容实验报告中要求打表格手写或打印均可实验报告的格式实验名称姓名学号实验日期3实验报告的上交1实验报告要写学号格式要符合规范2学号不要分单双号

西安交大数学实验报告

数学实验报告题目四种特殊自然数编程作者学号班级1题目四种特殊自然数编程计算出所有的水仙花数完美数亲和数回文数2环境Windows系统PCMATLAB软件3问题分析1水仙花数若一个自然数的各位数字的立方和等于该数...

20xx秋数学实验 实验报告(1) 电子版

年级专业信息与计算科学10级姓名学号名单序号62实验时间20xx年10月16日使用设备软件PCMATLAB注实验报告的最后一部分是实验小结与收获实验1数据的统计描述与分析1计算1均值为2方差为025的正态分布在...

数学实验实验报告(35篇)