百科问答小站 logo
百科问答小站 font logo



如何理解「香农定理」,包含哪些内容,它的发现有什么意义? 第1页

  

user avatar   huangzhe 网友的相关建议: 
      

谢邀 @知识库。在开始讲解前,我先列举香农三大定理:

  • 香农第一定理(可变长无失真信源编码定理)
  • 香农第二定理(有噪信道编码定理)
  • 香农第三定理(保失真度准则下的有失真信源编码定理)

一般语境下,「香农定理」主要指香农第二定理(有噪信道编码定理)。

看得一头雾水?没关系,听我慢慢道来。我不能保证讲得小白都能听懂,但可以保证的是,肯定比教科书讲得更通俗。

从一篇传奇硕士论文说起

1937年,一位22岁的年轻人从麻省理工学院跑到了华盛顿特区进行他的硕土论文答辩。在美国绝大部分硕士生其实不需要发表论文就可以获得学位,即使选择发表论文的那一小部分硕士生,其论文水平也远远无法和博士论文相比。而这位年轻人奔赴千里只为一场答辩就显得格外引人注目。

而这个年轻人,就是香农。

他在硕士论文《A symbolic analysis of relay and switching circuits》[1]将布尔代数应用于电子领域,能够构建并解决任何逻辑和数值关系,被誉为有史以来最具水平的硕士论文之一。这个论文开创了一个时代,香农因此被认为是数字计算机理论和数字电路设计理论的创始人。人类从此进入「数字化」时代,也为电子计算机的出现奠定了基础,现在的计算机是0和1的世界,其理论基础就可以追溯到香农这篇论文。当然,这篇论文并非讲香农定理,但将布尔代数应用在信息领域,为香农定理的出现铺了一条路。

毕业后,他在贝尔实验室从事加密通信研究。在那里,他发现了,密码学其实和通信在原理上是一回事,并提出了通信的数学原理,于是有了后面的香农三大定理。

香农第一定理(可变长无失真信源编码定理)

在1948年,他32 岁时,发表了划时代的论文——《A mathematical theory of communication[2]。他在论文中提出了比特单位,证明了信息是可以被量化的,奠定了现代信息论的基础。

在论文里,他阐述了如何在保证准确率的前提下用数字编码对信息进行压缩和传输。在说如何压缩前,我们看一个例子,来说说「信息冗余」这个概念。

我们都学过文言文,我们都有这种感觉:文言文很精简,但不好读懂。而白话文很啰嗦(信息冗余),但好懂。一个语言如果带有较多的冗余信息,会好理解。其他信息也是如此,那我们如果想对信息进行压缩,去掉冗余信息,是否存在一个压缩得不能再压缩的极限值?香农第一定理就回答了这个问题。香农第一定理给出了在无损情况下,数据压缩的临界值。

香农第一定理指出:

  1. 一段信息的信息量是固定的,这称为这段信息的信息熵(H)
  2. 无论怎么压缩,信息熵是无失真信源编码的极限值
  3. 若编码的平均码长小于信息熵值,必然发生差错(也就是有损)

信息熵的这个极限值,就像光速至于物理学一样,无法逾越。如果想更深入了解信息熵,可以看看 @YJango 大佬的这个视频:信息熵是什么?。在本回答里就不详述了,直接给出信息熵公式:

那么怎么压缩才能得到极限值呢?香农第一定理指出,对于不同的符号要采用不同编码,经常出现的符号使用短的编码,出现频率低的使用更长的编码。如果做到每个符号的代码长度等于它出现概率的对数,则编码总长度就是信息熵。在吴军博士的《信息传》中,举了个例子。

顺便一说,这个编码方法是怎么得来的?可以通过大名鼎鼎的霍夫曼编码得到。霍夫曼编码也称为最佳编码,由Huffman1952年提出,就是根据是香农1948年发表的《A mathematical theory of communication》里的思想而构造的,是香农第一定理的延伸。如果你还想知道其他字符怎么编码,你可以研究霍夫曼编码原理,或者使用这个在线工具来做霍夫曼编码。Online calculator: Huffman coding

如果你细心观察,你会发现,在很多领域都有意识无意识的能香农第一定理的身影。

例如摩尔斯电报码也一定程度上接近香农第一定律的压缩极限值(虽然还不完美),例如经常出现的A、E、I特别短。而且发明摩尔斯电码时候,那时候香农还没出生呢。大家都冥冥中感受到这个规律,但只有香农把这个规律总结成定理。

除此之外,例如有的风险投资的风格是“广撒网,继而对好项目追加双倍投入”,是不是也和香农第一定理有异曲同工之妙?


香农第二定理(有噪信道编码定理)

一般业内讲到「香农定理」,主要指的是第二定理「有噪信道编码定理」。

在讲解这个原理之前,我想让大家思考一个问题,为啥你离路由器越远,网速越差?你可能会回答「信号发不到那么远」之类的回答。但有的时候,只是网速变差,并没有断线啊,甚至你看你wifi信号还是满格的呢,如果信号发不到那么远,那你应该直接掉线才对。你有没有想过,距离和网速有什么关系?香农第二定理就能帮你解答这个问题。(当然,香农那个年代没有wifi)

为了说明香农定理,这里就不得不提一个人了,傅里叶(Fourier)。提到傅里叶,大一学生会感到痛苦,想起学高数时被傅里叶支配的恐惧;但研究生会感到惊叹,竟然这么巧妙的一个公式就能改变世界。傅里叶和香农其实并不是一个时代的人,傅里叶比香农早出生148年。但1807年提出的傅里叶变换,确实为百年后的通信发展做出了「意外的贡献」。

通过傅里叶级数可以把似波的函数表示成简单正弦波的方式。在维基百科中[3],给出了这个一个动图,可以帮组理解。在这个图里,把一个方波分解成了几个正弦波(近似)。

应用到通讯领域,傅里叶公式能把时间信息变成频谱信息。(一个正弦波就是一个频率)

如果大家对傅里叶公式推导过程感兴趣,可以看看知乎相关讨论,这里就不展开讲了。例如:如何理解傅里叶变换公式?

大家记得用收音机的日子吗?那时候需要手动调频,每个频率对应不同的电台。例如中央人民广播 电台,就有以下这些频率。

而人说话声音频率范围是300HZ到3400HZ,远远低于这些频率。那么图中这些频率,指的是什么频率呢? 收音机频道里的FM,指的是Frequency Modulation,频率调制。频率调制可以把信号(例如低频的人声)迁移到高频率的波段。例如一个信号,经过傅里叶分析,我们可以知道它是这么一个频谱段的信号。(图源[4]

通过调频后,可以把频谱段搬到高频的位置。

如果传输过程中有在这个频段的噪声,解调时就会出现预料之外的声音。例如以前开收音机经常听到两个电台的声音混在一起了。

就这就调制原理。好了,讲了这么多傅里叶的内容,这里要开始讲香农定理了。打起精神!!!

收音机的频道频率,就是对应上图的 ,加上左右的范围,就是带宽。这个时候,香农创造性的地提出公式(注意,香农定理主要内容来了):

B为信道带宽;S/N为信噪比,通常用分贝(dB)表示。从这个公式中,我们也可以得知:

  • 信噪比越大(也就是信号比例越大),容量也越大。
  • 当噪声很大(例如极限情况,无限大),那么信噪比接近0,C的结果为0。也就是说,噪声太大没法传输任何信号。

同时香农指出,传输率永远都不可能超过信道容量C。

以上这些内容很好理解,和我们认知的一样是吧。

所以这时候你可以回答我前面提出来的问题:为啥你离路由器越远,网速越差?例如你网络频段带宽有10MHz,假设你离路由器3米时,信噪比S/N=63,那么这时候容量C为10*log(1+63) = 80Mbit/s。但如果你把距离增加到9米,这时候,信噪比S/N会减少到7,这时候容量C为100*log(1+7) =30Mbit/s。(以上计算底数为2)你就会明显感到网速下降了。(所以有时候你觉得你网速慢,并不一定是带宽被偷工减料了,而是噪声太多)

从香农第二定理我们可以看到,两个增加信道容量的路径为:

  • 增加带宽
  • 增加信噪比

总结下香农第二定理: 有噪信道编码定理指出,尽管噪声会干扰通信信道,但还是有可能在信息传输速率小于信道容量的前提下,以任意低的错误概率传送数据信息。


香农第三定理(保失真度准则下的有失真信源编码定理)

先允许我贴个百度百科的定义,再慢慢解释

保真度准则下的信源编码定理,或称有损信源编码定理。只要码长足够长,总可以找到一种信源编码,使编码后的信息传输率略大于率失真函数,而码的平均失真度不大于给定的允许失真度,即D'<=D.
设 为一离散无记忆信源的信息率失真函数,并且选定有限的失真函数,对于任意允许平均失真度 ,和任意小的 ,以及任意足够长的码长N,则一定存在一种信源编码W,其码字个数为M<=EXP{N[R(D)+a]},而编码后码的平均失真度D'(W)<=D+a。

看不懂?没关系,如果你想深入研究,可以看看西安交通大学电信学院的这份课件[5]。如果不想看太复杂的,也没关系,可以看看通俗点的结论,就是:总能找到一种有效的编码方法,让信息的传输率接近信道容量时而不出错。这里的「出错」并不是指「有损」,而是传不出去。就好像一个狭窄的通道只能容一人通过,一大堆人同时想挤出去,结果大家互相挤,谁都走不了。事实上,为了传输不出错,代价就是有损。事实上,实际生活中,人们并不要求获得完全无失真的消息,通常只要求近似地再现原消息,也就是允许一定的失真存在。比如jpeg图像编码,mp3音频编码,都是有损的编码,但只要别压太过,感觉差不多,我们都能接受。

香农同时也在这个定理指出,试图以超越信道容量的传输率来传输信息,那么无论如何编码,都必定出错。举个例子,你现在在某个party上,现场音乐声量非常大(噪声大),你想和同伴说话(传输信号),现场的声音让你说话难以听得清(信噪比高),信道容量非常小,你说得太快,直接「出错」。那么,你要怎么说才能听得清?没错,就是一个字一个字慢慢说(降低信息传输率,防止信道拥挤)。

香农第三定理,我个人认为是对第一定理和第二定理的扩展。既然第一定律定死了信息无损压缩的极限值,第二定律定死了最大容量,而第三定理,讲得是如何在这些限制下,让通信不出错。



香农定理的意义

如果我说,香农定理开创了一个时代,大家也觉得毫不为过吧?香农公式为信息通讯提供了理论基础,我们从1G、2G一直发展到5G,都离不开香农公式。香农因此被很多人誉为“信息论之父”。

参考

  1. ^A Symbolic Analysis of Relay and Switching Circuits http://www.ccapitalia.net/descarga/docs/1938-shannon-analysis-relay-switching-circuits.pdf
  2. ^A Mathematical Theory of Communication https://dl.acm.org/doi/10.1145/584091.584093
  3. ^傅里叶变换 https://zh.wikipedia.org/wiki/%E5%82%85%E9%87%8C%E5%8F%B6%E5%8F%98%E6%8D%A2
  4. ^深入浅出通信原理 作者: 陈爱军  http://reader.epubee.com/books/mobile/69/691b1436a0ae2029baa6d4669096879a/text00013.html
  5. ^西安交通大学电信学院张建国 《信息论与编码》--信息率失真理论 http://gr.xjtu.edu.cn/c/document_library/get_file?p_l_id=19199&folderId=1041774&name=DLFE-15601.pdf



  

相关话题

  有哪些令人惊艳的「小语种」值得学习? 
  Linux下有哪些给你带来「快感」的软件? 
  为什么很多计算机系的学生一点不会电脑的基本操作? 
  在元宇宙世界中,我要怎么证明「我是我」? 
  如果反百度的趋势不断持续,哪个搜索引擎将会取代百度在大陆的地位? 
  用python如何写网页?有好的教程码? 
  土木就一定比计算机差吗? 
  现在的我考不上大学,但是我想学计算机可以吗? 
  学习完C语言后应该学什么? 
  如果你现在是一个IT毕业生,你最想去国内的哪个城市或者具体的哪个公司发展,为什么? 

前一个讨论
目前工业界常用的推荐系统模型有哪些?
下一个讨论
如何形成独特的写作风格?





© 2024-11-21 - tinynew.org. All Rights Reserved.
© 2024-11-21 - tinynew.org. 保留所有权利