当前位置: 首页 > news >正文

离散无记忆与有记忆信源的序列熵

本专栏包含信息论与编码的核心知识,按知识点组织,可作为教学或学习的参考。markdown版本已归档至【Github仓库:information-theory】,需要的朋友们自取。或者公众号【AIShareLab】回复 信息论 也可获取。

文章目录

      • 离散无记忆信源的序列熵
        • 信源的序列熵
      • 离散有记忆信源的序列熵
        • 平稳有记忆N次扩展源的熵

离散无记忆信源的序列熵

马尔可夫信源的特点:无后效性。

发出单个符号的信源

  • 指信源每次只发出一个符号代表一个消息;

发出符号序列的信源

  • 指信源每次发出一组含二个以上符号的符号序列代表一个消息。

当信源无记忆时:
p(Xˉ=xi)=p(xi1,xi2,⋯,xiL)=p(xi1)p(xi2)p(xi3)⋯p(xiL)=∏l=1Lp(xil)\begin{aligned} p(\bar{X}&\left.=x_{i}\right)=p\left(x_{i_{1}}, x_{i_{2}}, \cdots, x_{i_{L}}\right) =p\left(x_{i_{1}}\right) p\left(x_{i_{2}}\right) p\left(x_{i_{3}}\right) \cdots p\left(x_{i_{L}}\right)=\prod_{l=1}^{L} p\left(x_{i_{l}}\right) \end{aligned} p(Xˉ=xi)=p(xi1,xi2,,xiL)=p(xi1)p(xi2)p(xi3)p(xiL)=l=1Lp(xil)

信源的序列熵

H(Xˉ)=−∑i=1nLp(xi)log⁡p(xi)=−∑i∏l=1Lp(xii)log⁡p(xii)=∑l=1LH(Xl)\begin{aligned} H(\bar{X}) &=-\sum_{i=1}^{n^{L}} p\left(x_{i}\right) \log p\left(x_{i}\right) \\ &=-\sum_{i} \prod_{l=1}^{L} p\left(x_{i_{i}}\right) \log p\left(x_{i_{i}}\right)=\sum_{l=1}^{L} H\left(X_{l}\right) \end{aligned} H(Xˉ)=i=1nLp(xi)logp(xi)=il=1Lp(xii)logp(xii)=l=1LH(Xl)

  • 若又满足平稳特性(平稳信号包含的信息量小,其统计特性随时间不变化),即与序号l无关时:

    p(X‾)=∏l=1Lp(xii)=pLp(\overline{\mathrm{X}})=\prod_{l=1}^{L} p\left(x_{i_{\mathrm{i}}}\right)=p^{L} p(X)=l=1Lp(xii)=pL

  • 信源的序列熵

    H(X‾)=LH⁡(X)H(\overline{\mathrm{X}})=\operatorname{LH}(X) H(X)=LH(X)

  • 平均每个符号(消息)熵(符号熵) 为

    HL(Xˉ)=1LH(Xˉ)=H(X)H_{L}(\bar{X})=\frac{1}{L} H(\bar{X})=H(X) HL(Xˉ)=L1H(Xˉ)=H(X)

例: 有一个无记忆信源随机变量 X∈(0,1)\mathrm{X} \in(0,1)X(0,1) , 等概率分布, 若以单个符号出现为一事件, 则此时的信源熵:

H(X)=log⁡22=1H(X)=\log _{2} 2=1H(X)=log22=1 bit/符号

即用 1 比特就可表示该事件。

  • 如果以两个符号出现 (L=2\mathrm{L}=2L=2 的序列 )为一事件, 则随机序 列 X∈(00,01,10,11)\mathrm{X} \in(00,01,10,11)X(00,01,10,11) , 信源的序列熵

    H(Xˉ)=log⁡24=2H(\bar{X})=\log _{2} 4=2H(Xˉ)=log24=2 bit/序列

即用2比特才能表示该事件。

  • 信源的符号熵

    H2(X‾)=12H(X‾)=1H_{2}(\overline{\mathrm{X}})=\frac{1}{2} H(\overline{\mathrm{X}})=1H2(X)=21H(X)=1 bit/符号

  • 信源的序列熵

H(X‾)=H(XL)=−∑i=19p(ai)log⁡p(ai)=3bit/序列 H(\overline{\mathrm{X}})=H\left(X^{L}\right)=-\sum_{i=1}^{9} p\left(a_{i}\right) \log p\left(a_{i}\right)=3 b i t / \text { 序列 }H(X)=H(XL)=i=19p(ai)logp(ai)=3bit/ 序列 

  • 平均每个符号 (消息) 熵为

H(X)=−∑i=13p(xi)log⁡p(xi)=1.5bit/符号 H(Xˉ)=2H(X)=2×1.5=3bit/序列 \begin{array}{c} H(X)=-\sum_{i=1}^{3} p\left(x_{i}\right) \log p\left(x_{i}\right)=1.5 \text { bit/符号 } \\ H(\bar{X})=2 H(X)=2 \times 1.5=3 \mathrm{bit} / \text { 序列 } \end{array}H(X)=i=13p(xi)logp(xi)=1.5 bit/符号 H(Xˉ)=2H(X)=2×1.5=3bit/ 序列 

离散有记忆信源的序列熵

  • 对于有记忆信源,就不像无记忆信源那样简单, 它必须引入条件熵的概念, 而且只能在某些特殊情况下才能得到一些有价值的结论。

  • 对于由两个符号组成的联合信源, 有下列结论:
    H(X1X2)=H(X1)+H(X2∣X1)=H(X2)+H(X1∣X2)H\left(X_{1} X_{2}\right)=H\left(X_{1}\right)+H\left(X_{2} \mid X_{1}\right)=H\left(X_{2}\right)+H\left(X_{1} \mid X_{2}\right) H(X1X2)=H(X1)+H(X2X1)=H(X2)+H(X1X2)

    H(X1)≥H(X1∣X2),H(X2)≥H(X2∣X1)H\left(X_{1}\right) \geq H\left(X_{1} \mid X_{2}\right), H\left(X_{2}\right) \geq H\left(X_{2} \mid X_{1}\right) H(X1)H(X1X2),H(X2)H(X2X1)

  • 当前后符号无依存关系时,有下列推论:
    H(X1X2)=H(X1)+H(X2)H(X1∣X2)=H(X1),H(X2∣X1)=H(X2)\begin{array}{l} H\left(X_{1} X_{2}\right)=H\left(X_{1}\right)+H\left(X_{2}\right) \\ H\left(X_{1} \mid X_{2}\right)=H\left(X_{1}\right), H\left(X_{2} \mid X_{1}\right)=H\left(X_{2}\right) \end{array} H(X1X2)=H(X1)+H(X2)H(X1X2)=H(X1),H(X2X1)=H(X2)

  • 若信源输出一个L长序列,则信源的序列熵

    H(X‾)=H(X1X2⋯XL)=H(X1)+H(X2∣X1)+⋯+H(XL∣XL−1⋯X1)=∑lLH(Xl∣Xl−1)=H(XL)\begin{aligned} H(\overline{\mathrm{X}}) &=H\left(X_{1} X_{2} \cdots X_{L}\right) \\ &=H\left(X_{1}\right)+H\left(X_{2} \mid X_{1}\right)+\cdots+H\left(X_{L} \mid X_{L-1} \cdots X_{1}\right) \\ &=\sum_{l}^{L} H\left(X_{l} \mid X^{l-1}\right)=H\left(X^{L}\right) \end{aligned} H(X)=H(X1X2XL)=H(X1)+H(X2X1)++H(XLXL1X1)=lLH(XlXl1)=H(XL)

  • 平均每个符号的熵为:

    HL(Xˉ)=1LH(XL)H_{L}(\bar{X})=\frac{1}{L} H\left(X^{L}\right) HL(Xˉ)=L1H(XL)

  • 若当信源退化为无记忆时: 若进一步又满足平稳性时

    H(Xˉ)=∑lLH(Xl)H(Xˉ)=LH(X)H(\bar{X})=\sum_{l}^{L} H\left(X_{l}\right) \quad H(\bar{X})=L H(X) H(Xˉ)=lLH(Xl)H(Xˉ)=LH(X)

平稳有记忆N次扩展源的熵

X\mathbf{X}X 为离散平稳有记忆信源, X\mathbf{X}XN\mathbf{N}N 次扩展源记为 XNX^{N}XN ,

XN=[X1X2⋯XN]X^{N}=\left[X_{1} X_{2} \cdots X_{N}\right] XN=[X1X2XN]
根据熵的可加性,得
H(XN)=H(X1X2⋯XN)=H(X1)+H(X2/X1)+⋯H(XN/X1⋯XN−1)H\left(X^{N}\right)=H\left(X_{1} X_{2} \cdots X_{N}\right)=H\left(X_{1}\right)+H\left(X_{2} / X_{1}\right)+\cdots H\left(X_{N} / X_{1} \cdots X_{N-1}\right) H(XN)=H(X1X2XN)=H(X1)+H(X2/X1)+H(XN/X1XN1)
根据平稳性和熵的不增原理,得H(XN)≤NH(X1)H\left(X^{N}\right) \leq N H\left(X_{1}\right)H(XN)NH(X1), 仅当无记忆信源时等式成立。

对于 X\mathrm{X}XN\mathrm{N}N 次扩展源, 定义平均符号熵为:

HN(X)=1NH(XN)=1NH(X1⋯XN)H_{N}(X)=\frac{1}{N} H\left(X^{N}\right)=\frac{1}{N} H\left(X_{1} \cdots X_{N}\right) HN(X)=N1H(XN)=N1H(X1XN)
信源 X\mathrm{X}X 的极限符号熵定义为:
H∞(X)=lim⁡N→∞1NH(XN)=lim⁡N→∞1NH(X1⋯XN)H_{\infty}(X)=\lim _{N \rightarrow \infty} \frac{1}{N} H(X^{N})=\lim _{N \rightarrow \infty} \frac{1}{N} H(X_{1} \cdots X_{N}) H(X)=NlimN1H(XN)=NlimN1H(X1XN)
极限符号熵简称符号熵, 也称熵率

定理: 对任意离散平稳信源, 若 H1(X)<∞H_{1}(X)<\inftyH1(X)< , 有:

(1) H(XN/X1⋯XN−1)H\left(X_{N} / X_{1} \cdots X_{N-1}\right)H(XN/X1XN1) 不随 N\mathbf{N}N而增加;
(2) HN(X)≥H(XN/X1⋯XN−1);H_{N}(X) \geq H\left(X_{N} / X_{1} \cdots X_{N-1}\right) ;HN(X)H(XN/X1XN1);
(3)HN(X)H_{N}(X)HN(X) 不随 N 而增加;
(4) H∞(X)H_{\infty}(X)H(X) 存在,且 H∞(X)=lim⁡N→∞H(XN/X1⋯XN−1)H_{\infty}(X)=\lim _{N \rightarrow \infty} H(X_{N} / X_{1} \cdots X_{N-1})H(X)=limNH(XN/X1XN1)

该式表明, 有记忆信源的符号熵也可通过计算极限条件熵得到。

参考文献:

  1. Proakis, John G., et al. Communication systems engineering. Vol. 2. New Jersey: Prentice Hall, 1994.
  2. Proakis, John G., et al. SOLUTIONS MANUAL Communication Systems Engineering. Vol. 2. New Jersey: Prentice Hall, 1994.
  3. 周炯槃. 通信原理(第3版)[M]. 北京:北京邮电大学出版社, 2008.
  4. 樊昌信, 曹丽娜. 通信原理(第7版) [M]. 北京:国防工业出版社, 2012.

相关文章:

离散无记忆与有记忆信源的序列熵

本专栏包含信息论与编码的核心知识&#xff0c;按知识点组织&#xff0c;可作为教学或学习的参考。markdown版本已归档至【Github仓库&#xff1a;information-theory】&#xff0c;需要的朋友们自取。或者公众号【AIShareLab】回复 信息论 也可获取。 文章目录离散无记忆信源的…...

算法该不该刷?如何高效刷算法?

一、算法该不该刷&#xff1f;最近有小伙伴向我咨询一个问题&#xff0c;就是算法该不该刷&#xff0c;该如何刷算法呢&#xff1f;这个问题可谓太大众化了&#xff0c;只要你去某乎、某度搜索一下相关的解答&#xff0c;会有无数种回答&#xff0c;可见这个问题困扰了多少学习…...

Allegro如何在关闭飞线模式下查看网络连接位置操作指导

Allegro如何在关闭飞线模式下查看网络连接位置操作指导 在用Allegro做PCB设计的时候,有时会因为设计需要,关闭飞线显示。 如何在关闭飞线显示模式下查看网络连接的位置,如下图 除了能看到网络连接的点位以外,还能看到器件的pin Number 如何显示出这种效果,具体操作如下 …...

啊哈 算法读书笔记 第 1 章 一大波数正在靠近——排序

目录 排序算法&#xff1a; 时间复杂度&#xff1a; 排序算法和冒泡排序之间的过渡&#xff1a; 冒泡排序 冒泡排序和快速排序之间的过渡&#xff1a; 快速排序 排序算法&#xff1a; 首先出场的是我们的主人公小哼&#xff0c;上面这个可爱的娃就是啦。期末考试完了老…...

Servlet笔记(5):HTTP请求与响应

1、HTTP请求 当浏览器请求网页时&#xff0c;它会向Web服务器发送特定信息&#xff0c;这些信息不能被直接读取&#xff0c;而是通过传输HTTP请求时&#xff0c;封装进请求头中。 有哪些头信息&#xff1f; 头信息描述Accept这个头信息指定浏览器或其他客户端可以处理的 MIME…...

信号的运算与变换

目录 前言 本章内容介绍 信号的运算与变换 相加 相乘 时移 反折 尺度变换 微分&#xff08;差分&#xff09; 积分&#xff08;累加&#xff09; 信号的奇偶求解 信号的实虚分解 合适的例题 1、时移反折 2、时移尺度 3、时移反折尺度 4、反求x(t) 前言 《信号…...

【GO】K8s 管理系统项目9[API部分--Secret]

K8s 管理系统项目[API部分–Secret] 1. 接口实现 service/dataselector.go // secret type secretCell corev1.Secretfunc (s secretCell) GetCreation() time.Time {return s.CreationTimestamp.Time }func (s secretCell) GetName() string {return s.Name }2. Secret功能…...

ESP32 Arduino EspNow点对点双向通讯

ESP32 Arduino EspNow点对点双向通讯✨本案例分别采用esp32和esp32C3之间点对点单播无线通讯方式。 &#x1f33f;esp32开发板 &#x1f33e;esp32c3开发板 &#x1f527;所需库(需要自行导入到Arduino IDE library文件夹中&#xff0c;无法在IDE 管理库界面搜索下载到该库)&am…...

Linux SID 开发指南

Linux SID 开发指南 1 前言 1.1 编写目的 介绍Linux 内核中基于Sunxi 硬件平台的SID 模块驱动的详细设计&#xff0c;为软件编码和维护提供基 础。 1.2 适用范围 内核版本Linux-5.4, Linux-4.9 的平台。 1.3 相关人员 SID 驱动、Efuse 驱动、Sysinfo 驱动的维护、应用开…...

Matlab进阶绘图第2期—线型热图

线型热图由共享X轴的多条渐变直线组成&#xff0c;其颜色表示某一特征值。 与传统热图相比&#xff0c;线型热图适应于X轴数据远多于Y轴&#xff08;条数&#xff09;的情况&#xff0c;可以很好地对不同组数据间的分布情况进行比较&#xff0c;也因此可以在一些期刊中看到它的…...

【Redis中bigkey你了解吗?bigkey的危害?】

一.Redis中bigkey你了解吗&#xff1f;bigkey的危害&#xff1f; 如果面试官问到了这个问题&#xff0c;不必惊慌&#xff0c;接下来我们从什么是bigkey&#xff1f;bigkey划分的类型&#xff1f;bigkey危害之处&#xff1f; 二.什么是bigkey&#xff1f;会有什么影响&#xff…...

C++回顾(一)——从C到C++

前言 在学习了C语言的基础上&#xff0c;C到底和C有什么区别呢&#xff1f; 1.1 第一个C程序 #include <iostream>// 使用名为std的命名空间 using namespace std;int main() {// printf ("hello world\n");// cout 标准输出 往屏幕打印内容 相当于C语言的…...

CRF条件随机场 | 关键原理+面试知识点

😄 CRF之前跟人生导师:李航学习过,这里结合自己的理解,精简一波CRF,总结一下面试中高频出现的要点。个人觉得没网上说的那么复杂,我看网上很大部分都是一长篇先举个例子,然后再说原理。没必要原理其实不难,直接从原理下手更好理解。 文章目录 1、概率无向图(马尔可夫…...

秒懂算法 | 回归算法中的贝叶斯

在本文中,我们会用概率的观点来看待机器学习模型,用简单的例子帮助大家理解判别式模型和生成式模型的区别。通过思考曲线拟合的问题,发现习以为常的损失函数和正则化项背后有着深刻的意义 01、快速理解判别式模型和生成式模型 从概率的角度来理解数据有着两个不同的角度,假…...

用Netty实现物联网01:XML-RPC和JSON-RPC

最近十年,物联网和云计算、人工智能等技术一道,受到业内各方追捧,被炒得火热,甚至还诞生了AIoT这样的技术概念。和(移动)互联网不同,物联网针对的主要是一些资源有限的硬件设备,比如监控探头、烟雾感应器、温湿度感应器、车载OBD诊断器、智能电表、智能血压计等。这些硬…...

腾讯云服务器centos7安装python3.7+,解决ssl问题

使用requests模块访问百度&#xff0c;报错如下&#xff1a; requests.exceptions.SSLError: HTTPSConnectionPool(hostwww.baidu.com, port443): Max retries exceeded with url: / (Caused by SSLError("Cant connect to HTTPS URL because the SSL module is not avail…...

C++【模板STL简介】

文章目录C模板&&STL初阶一、泛型编程二、函数模板2.1.函数模板概念2.2.函数模板格式2.3.函数模板的实例化2.4.模板参数的匹配原则三、 类模板3.1.模板的定义格式3.2.类模板的实例化STL简介一、STL的概念、组成及缺陷二、STL的版本C模板&&STL初阶 一、泛型编程…...

该学会是自己找bug了(vs调试技巧)

前言 &#x1f388;个人主页:&#x1f388; :✨✨✨初阶牛✨✨✨ &#x1f43b;推荐专栏: &#x1f354;&#x1f35f;&#x1f32f; c语言初阶 &#x1f511;个人信条: &#x1f335;知行合一 &#x1f349;本篇简介:>:介绍c语言初阶的最后一篇.有关调试的重要性. 金句分享…...

Redis大全(概念与下载安装)

目录 一、概念 1.非关系型数据库&#xff08;NoSQL&#xff09;的介绍 2.什么是redis 3.redis的作者 4.Redis的特点 5.redis的应用场景 6.高度概括知识 一、二 缓存穿透、缓存击穿、缓存雪崩的概念 &#xff08;一&#xff09;缓存穿透 &#xff08;二&#xff09;缓…...

指针的进阶【上篇】

文章目录&#x1f4c0;1.字符指针&#x1f4c0;2.指针数组&#x1f4c0;3.数组指针&#x1f4bf;3.1.数组指针的定义&#x1f4bf;3.2. &数组名VS数组名&#x1f4bf;3.3.数组指针的使用&#x1f4c0;1.字符指针 int main() {char ch w;char* pc &ch;// pc就是字符指…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

JavaSec-RCE

简介 RCE(Remote Code Execution)&#xff0c;可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景&#xff1a;Groovy代码注入 Groovy是一种基于JVM的动态语言&#xff0c;语法简洁&#xff0c;支持闭包、动态类型和Java互操作性&#xff0c…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应&#xff0c;这是一种非线性光学现象&#xff0c;主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场&#xff0c;对材料产生非线性响应&#xff0c;可能…...

Spring Boot面试题精选汇总

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

拉力测试cuda pytorch 把 4070显卡拉满

import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试&#xff0c;通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小&#xff0c;增大可提高计算复杂度duration: 测试持续时间&#xff08;秒&…...

c#开发AI模型对话

AI模型 前面已经介绍了一般AI模型本地部署&#xff0c;直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型&#xff0c;但是目前国内可能使用不多&#xff0c;至少实践例子很少看见。开发训练模型就不介绍了&am…...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

图表类系列各种样式PPT模版分享

图标图表系列PPT模版&#xff0c;柱状图PPT模版&#xff0c;线状图PPT模版&#xff0c;折线图PPT模版&#xff0c;饼状图PPT模版&#xff0c;雷达图PPT模版&#xff0c;树状图PPT模版 图表类系列各种样式PPT模版分享&#xff1a;图表系列PPT模板https://pan.quark.cn/s/20d40aa…...

Linux --进程控制

本文从以下五个方面来初步认识进程控制&#xff1a; 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程&#xff0c;创建出来的进程就是子进程&#xff0c;原来的进程为父进程。…...