的熵 给出了编码给定源字母表的平均码字长度。即,它是对源中的信息进行编码所需的每个符号的平均位数。设为长度为的消息。产生消息的系统的熵取决于唯一符号的数量,公式为,其中是唯一符号的数量。熵位/符号。对于另一个不同的消息,具有个唯一符号,位/符号。我有 2 个问题
- 有没有办法确定的最小字长?例如,这里 = 2。
- 希望系统的熵最大化,所以那么我应该更喜欢个符号吗?我们更喜欢哪个熵 - 具有更高熵的消息,因此这就是我们更喜欢更高调制的原因吗?
的熵 给出了编码给定源字母表的平均码字长度。即,它是对源中的信息进行编码所需的每个符号的平均位数。设为长度为的消息。产生消息的系统的熵取决于唯一符号的数量,公式为,其中是唯一符号的数量。熵位/符号。对于另一个不同的消息,具有个唯一符号,位/符号。我有 2 个问题
您似乎有一些误解,我将尝试澄清这些误解,同时也尝试帮助您解决问题。
的熵给出了编码给定源字母表的平均码字长度。即,它是对源中的信息进行编码所需的每个符号的平均位数。
虽然这是真的,但我认为这并不是看待熵的更有启发性的方式。将熵视为源的固有属性。熵测量了源产生的每条消息的平均信息。
打个比方,把源想象成一个带按钮的黑盒子;每次你按下按钮,消息源都会告诉你一些事情。高熵源将始终(不一定总是)产生让您说“哇!太棒了”的消息。大多数时候,低熵源会很无聊。
现在,Shannon 证明了可以找到从源消息到比特的编码,因此每条消息所需的平均比特数等于熵。这就是为什么您的上述陈述在技术上是正确的。请注意,作为典型的香农,他实际上并没有告诉我们如何设计这样的编码器(但他提供了一些提示)。
令为长度为 [...] 的消息,熵 bits/symbol。
现在你可以看到这个说法没有意义。是一条消息,因此它不能有熵。它所拥有的是信息。要找到相应源的熵,您需要查看其消息集(字母表)及其概率分布。如果源有内存,您还必须考虑到这一点。
有没有办法确定的最小字长?例如,这里。
我不确定你在这里问什么,但我会猜测一下。Shannon 给我们的关于源编码的提示之一是,有效的编码需要我们收集许多源消息并将它们编码在一起。这相当于定义一个具有不同字母表(其元素是原始符号的串联)和不同概率分布的新源。
您似乎在问是否要朝另一个方向移动:将源字母分解为更简单的符号。对于消息为 0 和 1 字符串的源,您始终可以使用字母将其定义为源,但这样做时必须小心,因为您可能需要引入内存到源头。
例如,假设您有一个带有字母的源。要将其重新定义为带有字母的源,您需要引入一种机制来避免原始源无法生成的
希望系统的熵最大化,所以,那么我应该更喜欢符号吗?我们更喜欢哪个熵 - 具有更高熵的消息,因此这就是我们更喜欢更高调制的原因吗?
这个问题对我来说没有多大意义,因为给定的源具有给定的熵(请记住,熵是源的固有属性)。那么,有什么可以最大化呢?
现在,如果让您在两种来源之间进行选择,其中一种具有更高的熵,那么您应该做什么也不清楚。你想达到什么目标?
从试图尽可能压缩消息的源编码器(压缩器)的角度来看,最好使用低熵源。例如,输入单色图像的 PNG 压缩器将能够对它们进行大量压缩。
从通信工程师的角度来看,你要做的是将信源的信息内容与信道的容量相匹配。
也许你的意思是这样的:记住香农说我们需要将源消息组合在一起以实现更大的编码效率。这个过程也将导致更大的熵源——但这意味着每条消息有更多的比特,那么这怎么能更好呢?!
为了澄清这一点,请考虑具有字母和概率分布的二进制源。尽管这个源是低熵的(它的大部分消息都很无聊),但它很难压缩:每条消息仍然需要一个位!
假设您重新定义此源以具有 1024 条消息,每条消息每条 10 位,并计算新的概率分布。您会发现一些新的 10 位消息比其他消息更有可能。然后,您可以使用(例如)霍夫曼算法来找到接近熵的编码。
因此,从这个角度来看,重新定义源以具有更大的熵更好,因为您将能够找到更好的编码器。
关于高阶调制——这在这个问题中根本不起作用。