信息论基础——信源熵及其性质研究

article/2025/5/9 10:56:21

本文仅供学习使用,如有侵权请及时联系,博主会第一时间进行处理

信源熵及其性质研究

  • 一、实验目的
  • 二、实验原理及内容
  • 三、实验设备与材料
  • 四、实验步骤
  • 五、实验程序及运行结果
  • 六、实验总结

一、实验目的

1.掌握离散信源熵的含义及其计算方法;
2.理解熵函数的性质及其物理意义;
3.探究熵的对称性、确定性、扩展性、极值性和上凸性。

二、实验原理及内容

离散信源相关的基本概念、原理和计算公式
产生离散信息的信源称为离散信源。离散信源产生有限种符号。假设X是一个离散随机变量,信源的数学模型统一抽象为:
信源的数学模型
离散信源熵的是从整个信源的统计特性来考虑的。它是从平均意义上来表征信源的总体信息测度的。对于某特定的信源,其信息熵是一个确定的数值。不同的信源因统计特性不同,其熵也不同。离散信源的熵计算公式为:离散信源的熵计算公式
1.基本要求
对输出两个符号的离散信源的熵进行研究,能够用图形显示出离散信源的熵的曲线,要求横纵坐标表明物理量及其单位等信息。同时根据曲线说明可以体现出的离散信源的相关性质。
2.扩展要求
离散信源的输出符号有限个(可大于2个,可参数设置);可输入各个符号的概率;可判断信源各个符号的概率总和是否为1,从而确定输入符号的概率是否正确;可打印出离散信源的熵值;从熵值探究熵的对称性、确定性、扩展性、极值性。可另加自创。

三、实验设备与材料

计算机和matlab软件

四、实验步骤

1.打开matlab编辑窗口,输入源程序(程序要有注释,且要有合理的结构);
2.保持源文件(文件名一定要和程序的功能相匹配,不可随意保存);
3.单击Debug菜单下的Run,或直接按F5执行;
4.分析运行结果,当不满足设计要求时,调试改进。

五、实验程序及运行结果

基础部分实验程序:

p0=0;%Minimum Probability%
pd=1;%Maximum Probability%
N=100;%100 sampling points%
p=linspace(p0,pd,N);%100 sampling points constitute a linear vector%
pa=[1/2,1/2];%pa is the probability space of discrete memoryless sources%
pb=[1/4,3/4];%pb is the probability space of discrete memoryless sources%
entropya=0;%Initial Entropy of discrete memoryless sources is 0%
entropyb=0;%Initial Entropy of discrete memoryless sources is 0%
for i=1:2%Because there are two messages, the loop is repeated two times.%entropya=entropya+pa(i)*log2(1/pa(i));%information entropy function%entropyb=entropyb+pb(i)*log2(1/pb(i));%information entropy function%
end
disp('Entropy of discrete memory-less sources:');
entropya
disp('Entropy of discrete memory-less sources:');
entropyb
H=-(p).*log2(p)-(1-p).*log2(1-p);% entropy function %
plot(p,H)
title('entropy H(p)=-(p).*log2(p)-(1-p).*log2(1-p)')
xlabel('p');ylabel('H(p)  (bit/symbol)')

基础部分运行结果:
在这里插入图片描述
在这里插入图片描述
扩展部分实验程序:
程序:

i=1:3;
pa=input('Probabilities of entering each symbol:pa=');
p(i)=pa;
if(abs(sum(p(i))-1)>0)disp('The sum of probabilities is not 1');%Determine whether the compliance probability sum is 1elsedisp('The probability sum is 1');%Determine whether the compliance probability sum is 1entropya=0;%Initial Entropy of  Source A is 0%I=[];%I is a discrete self-information matrix ofmemory-free sources.%for i=1:3%Because there are three messages, the loop is repeated three times.%entropya=entropya+pa(i)*log2(1/pa(i));%information entropy function%I(i)=log2(1/pa(i));%self-information content%enddisp('self-information content of discrete memoryless sources:');Idisp('entropy of discrete memoryless sources:');entropya
end

结果:
在这里插入图片描述
程序:

%symmetry%
pa=[1/2,1/4,1/8,1/8];%pa is the probability space of discrete mnemonic sources%
pb=[1/4,1/2,1/8,1/8];%pb is the probability space of discrete mnemonic sources%
pc=[1/4,1/8,1/2,1/8];%pc is the probability space of discrete mnemonic sources%
entropya=0;%The initial entropy of the discrete mnemonic source is 0%
entropyb=0;%The initial entropy of the discrete mnemonic source is 0%
entropyc=0;%The initial entropy of the discrete mnemonic source is 0%
Ia=[];%Ia is a discrete self-information matrix ofmemory-free sources.%
Ib=[];%Ib is a discrete self-information matrix ofmemory-free sources.%
Ic=[];%Ic is a discrete self-information matrix ofmemory-free sources.%
for i=1:4%Because there are four messages, the loop is repeated four times.%entropya=entropya+pa(i)*log2(1/pa(i));%information entropy function%Ia(i)=log2(1/pa(i));%self-information content%entropyb=entropyb+pb(i)*log2(1/pb(i));%information entropy function%Ib(i)=log2(1/pb(i));%self-information content%entropyc=entropyc+pc(i)*log2(1/pc(i));%information entropy function%Ic(i)=log2(1/pc(i));%self-information content%
end
disp('self-information content of discrete memoryless sources:');
Ia
disp('entropy of discrete memoryless sources:');
entropya
disp('self-information content of discrete memoryless sources:');
Ib
disp('entropy of discrete memoryless sources:');
entropyb
disp('self-information content of discrete memoryless sources:');
Ic
disp('entropy of discrete memoryless sources:');
entropyc
%determinacy%
pa=[1,0];%pa is the probability space of discrete mnemonic sources%
pb=[1,0,0];%pb is the probability space of discrete mnemonic sources%
pc=[1,0,0,0];%pc is the probability space of discrete mnemonic sources%
Ha=pa(1)*log2(1/pa(1))+0;%information entropy function%
disp('entropy of discrete memoryless sources:');
Ha
Hb=pb(1)*log2(1/pb(1))+0+0;%information entropy function%
disp('entropy of discrete memoryless sources:');
Hb
Hc=pc(1)*log2(1/pc(1))+0+0+0;%information entropy function%
disp('entropy of discrete memoryless sources:');
Hc
%extremum property,upper convexity%
p=0.00001:0.001:1;
H=-(p).*log2(p)-(1-p).*log2(1-p);
plot(p,H)
title('entropyH(p)=-(p).*log2(p)-(1-p).*log2(1-p)')
xlabel('p');ylabel('H(p)  (bit/symbol)')

结果:
在这里插入图片描述
在这里插入图片描述
程序:

%expansibility%
pa=[1/4,1/4,1/8,1/8,1/8,1/8];%pa is the probability space of discrete mnemonic sources%
pb=[1/4,1/4,1/8,1/8,1/8,511/4096,1/4096];%pb is the probability space of discrete mnemonic sources%
entropya=0;%The initial entropy of the discrete mnemonic source is 0%
entropyb=0;%The initial entropy of the discrete mnemonic source is 0%
Ia=[];%Ia is a discrete self-information matrix ofmemory-free sources.%
Ib=[];%Ib is a discrete self-information matrix ofmemory-free sources.%
for i=1:6%Because there are six messages, the loop is repeated six times.%entropya=entropya+pa(i)*log2(1/pa(i));%information entropy function%Ia(i)=log2(1/pa(i));%self-information content%
end
disp('self-information content of discrete memoryless sources:');
Ia
disp('entropy of discrete memoryless sources:');
entropya
for i=1:7%Because there are seven messages, the loop is repeated seven times.%entropyb=entropyb+pb(i)*log2(1/pb(i));%information entropy function%Ib(i)=log2(1/pb(i));%self-information content%
end
disp('self-information content of discrete memoryless sources:');
Ib
disp('entropy of discrete memoryless sources:');
entropyb

结果:
在这里插入图片描述

六、实验总结

(1)基本部分的实验程序运行的结果中有一个曲线图,该曲线图的横坐标为概率p,纵坐标表示计算后的熵值,单位为(比特/符号)。由于研究的对象为输出两个符号的离散信源的熵,故一个符号对应的概率为p,则另一个符号对应的概率为(1-p)。曲线标题为熵函数的表达式:H(p)=-( p ).*log2( p )-( 1-p ).*log2( 1-p ).
从举的两个例子可以看出:在离散信源情况下,对于具有q个符号的离散信源,只有在q个信源符号等可能出现的情况下,信源熵才能达到最大值。即体现了极值性。由于其函数图像为上凸函数,故体现了上凸性。实验结果与预期效果一致。
(2)扩展部分的实验程序运行的结果中第一部分实现了判断是否符合输入概率和为1。若为1,则可继续求得自信息以及信息熵;否则结束运行。第二部分包括了三个随机变量的总体结构相同的概率空间的自信息以及信源熵,结果信源熵都相同,验证了对称性。第三部分验证了确定性。第四部分得到的曲线可验证极值性和上凸性。第五部分的运行结果验证了扩展性。实验结果与预期效果一致。


http://chatgpt.dhexx.cn/article/r4X4Inrx.shtml

相关文章

离散信源熵1

目录 一:熵的定义 二:联合熵和条件熵 三:相对熵 四:互信息 五:条件互信息 六:条件相对熵 一:熵的定义 解释:,由于P(x)介于0-1之间,大于等于0.不等式: …

离散信源的熵——信息论实验一(Matlab)

信息论与编码技术实验报告 学院: 信息科学与工程学院 班级: 2020通信工程1班 姓名: 麦兜 实验名称 实验一、离散信源的熵 实验设备 (1)计算机 (2)所用软件:Matlab或C 实…

离散信源熵2

目录 1:熵的凸性 相对熵的下凸性 熵的上凸性 2:信源的分类 3:自信息 四:离散无记忆扩展信源 五:马尔科夫信源 六:马尔可夫信源的信源熵 求解方法 计算例子 1:熵的凸性 凸函数是定义在定义…

【信息论】信源与信源熵(一)

— 主要内容 1. 信源的分类与描述 2. 离散信源的信息熵和互信息 3. 离散序列信源的熵 4. 连续信源的熵与互信息 5. 冗余度 2.1 信源的分类与描述 — 信源的定义 产生消息(符号)、消息序列和连续消息的来源。 信源的基本…

信息论实验一:信源熵的计算

本次实验是基础的计算信源熵,代码很简单。 为了便于计算,将概率和不为1的重新输入以及把概率为0删除!!! format short; %定义输出的格式 p input(p ); %输…

第二章-信源与信息熵(一)

— 主要内容 1. 信源的分类与描述 2. 离散信源的信息熵和互信息 3. 离散序列信源的熵 4. 连续信源的熵与互信息 5. 冗余度 2.1 信源的分类与描述 — 信源的定义 产生消息(符号)、消息序列和连续消息的来源。 信…

[信息论与编码] 03. 离散信源、信源熵、联合熵、条件熵

离散信源 信源即信息发出的源头,在后续的信道模型中,信源发出的信息即视为信道输入的信息。 根据信源发出信息的取值,可将信源分为离散信源和连续信源。 顾名思义,离散信源即发出的信息取值为离散型的信源;连续信源即…

Tomcat目录详解

Tomcat 1.bin:启动和关闭Tomcat2.conf3.lib4. logs5.temp6.webapps7.work Tomcat 1.bin:启动和关闭Tomcat 该目录下存放的是二进制可执行文件, 如果是安装版,那么这个目录下会有两个exe文件:tomcat6.exe、tomcat6w.…

Tomcat介绍及三种启动方式的区别

一、Tomcat的下载 二、Tomcat目录说明 三、Tomcat常用命令 四、Tomcat服务的安装 五、Tomcat启动的三种方式 六、三种启动方式的区别 七、Tomcat端口占用问题 一、Tomcat的下载 官方下载网址:http://tomcat.apache.org/,可自行下载需要的版本。 …

一、Tomcat概述

一、Tomcat概述 Tomcat是Java语言开发的,Tomcat服务器是一个免费的开放源代码的Web应用服务器,是Apache软件基金会的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。Tomcat属于轻量级应用服务器,在中小型系统…

Tomcat介绍使用+JavaWeb创建+打成war包部署

Tomcat简介 终端访问服务器,通过ip端口号访问,web应用部署在web服务器上,才可以”对接“ ip端口 进程交互 Tomcat、Jboss、Weblogic、Jetty Tomcat下载地址 tomcat地址 http://tomcat.apache.org 解压缩 解压过是一个文件夹 bin: 各个平台…

tomcat介绍-通俗易懂篇

我叫Tomcat:一款web服务器 如何将我们的Java代码,运行在网络上,出学时,首先接触到的一般都是Servlet以及Jsp(或掠过Jsp)而Tomcat就是这两者的容器,帮你处理动态网页部分 (一&#xf…

Tomcat介绍及安装JDK1.8

Tomcat介绍 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成; java程序写的网站用tomcatjdk来运行; tomcat是一个中间件&#xf…

Tomcat介绍和安装,以及tomcat的虚拟主机配置

为什么Tomcat火了 Tomcat介绍Tomcat核心组件简述Tomcat处理请求过程Tomcat目录机构 Tomcat安装虚拟主机配置 Tomcat介绍 ●自从JSP发布之后,推出了各式各样的JSP引擎,Apache Group在完成GNUJSP1.0的开发以后,开始考虑在SUN的JSWDK基础上开发一个可以直接提供Web服务的JSP服务器…

Tomcat基础详解

一、Tomcat目录介绍 bin: 专门用来存放Tomcat服务器的可执行程序 conf: 专门用来存放Tomcat服务器的配置文件 lib: 专门用来存放Tomcat服务器的jar包 logs: 专门用来存放Tomcat服务器运行时输出的日志信息 temp: 专门…

tomcat目录介绍

这里以apache-tomcat-8.5.69为例,目录结构如下: 一共有bin,conf,lib,logs,temp,webapps,work, 一共7个文件夹,下面来对它们分别进行介绍: &#…

tomcat介绍与使用

tomcat介绍与使用 web服务器 web服务器是运行及发布web应用的容器,只有将开发的web项目放置到该容器中,才能使网络中的所有用户通过浏览器进行访问。常见的web服务器如下: Tomcat:主流的web服务器之一,适合初学者使用…

Tomcat详解

Tomcat详解 1.简介 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器。 性质:Java web服务器 2.安装Tomcat Tomcat官网点此跳转 进入官网,根据自己的电脑版本在核心文件下选择相应的压缩包下载,Li…

Tomcat详细介绍和使用总结

文章目录 Tomcat 介绍Tomcat作为Servlet容器的基本功能Tomcat的组成结构Tomcat的工作模式Tomcat 版本 Tomcat 安装和配置安装配置启动与关闭Tomcat的运行脚本 Oracle公司现在作为Java语言的开发和发布者,是当仁不让的标准接口的制定者。Oracle公司不仅制定了Web应用…

Tomcat 介绍与使用

文章目录 1.1 Tomcat介绍1.1.1 关于服务器1.1.2 Tomcat下载与安装1.1.3 Tomcat各版本所需支持1.1.4 Tomcat目录结构详解 1.2 Tomcat基本使用1.2.1 Tomcat启动和停止及问题分析解决1)启动和停止2)启动时问题 1.2.2 IDEA集成Tomcat服务器 1.1 Tomcat介绍 …