news 2026/4/23 13:19:24

一篇 1948 年的论文,为什么至今仍在塑造我们的通信世界?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一篇 1948 年的论文,为什么至今仍在塑造我们的通信世界?

1948 年,克劳德·E·香农发表了一篇题为《通信的数学理论》的论文。彼时,它只是一篇看起来相当克制的技术论文,没有宏大的宣言,也没有铺陈未来图景。但正是这篇文章,在随后半个多世纪里,悄然塑造了我们今天所熟悉的通信世界。

一年后,这篇论文以图书形式再版,并配上了沃伦·韦弗的导言。论文标题到书名的变化极其细微,却隐含着一个重要转折:通信不再只是工程经验的集合,而是第一次被系统地提升为一门可以被精确讨论的理论。

这本书专业性很强,却长期保持着稳定的读者群。英文版累计销量超过四万册,至今仍每年持续售出,被许多信息论相关课程列为必读书目。50 周年纪念版的出版,甚至几乎没有对内容做任何改动,只是修正了多次印刷中遗留下来的排版错误。

真正耐人寻味的,并不是它卖了多少本,而是它为何能一直被读下去

01

香农写作的方式,本身就是一种判断

在这部著作中,香农采用了一种在今天并不多见的写作风格,语气克制、表达温和、数学推导点到即止。他并没有急于展示复杂的证明,而是试图先抓住通信问题中最核心的结构。

他关心的并不是某一种具体的通信系统,而是通信这件事,在本质上到底是什么?

因此,很多后来被视为标准结论的证明,并不出现在这本书中,而是由后来的研究者逐步补充完成。但香农在最初给出的直觉和框架,却始终成立。

也正是这种先讲清楚问题,再谈证明的方式,让这本书在半个世纪之后依然具有生命力。

02

并非来自现实系统的判断

书中有一个著名的论断:所有通信在本质上都是数字通信

在今天,这句话几乎无需解释。我们已经习惯用比特、码流、带宽来理解世界,甚至很难想象还有其他可能性。但在 50 多年前,这样的判断并没有受到普遍欢迎,甚至遭遇过怀疑和冷漠。

香农并不是在描述当时已有的工程现实,而是在指出通信问题中真正重要的抽象结构。正因为如此,他才能将通信过程拆分为信源、编码、信道、解码等几个相互独立又彼此关联的模块。

这种划分方式,在今天的教材中几乎成了常识。但在当时,这种抽象本身就是一种突破。

03

用“熵”去理解通信,一次观念上的跃迁

在对通信系统进行拆解之后,香农进一步提出:可以用“熵”和“条件熵”来刻画信源与信道的性质。

这些概念并不是为了增加复杂性,而是为了让“信息量”“不确定性”“容量”这些原本模糊的直觉,变成可以计算、可以比较、可以优化的对象。

香农通过一组直观的公理,引入了这些量,并给出了精确的编码定理,为它们的使用提供了坚实的理论基础。由此,诸如“信源包含多少信息”“一个信道最多能传输多少信息”这样的问题,第一次拥有了清晰而可操作的答案。

04

信道容量,成为通信工程的终极标尺

香农理论最深远的影响之一,是信道容量这一概念。

一方面,它在理论上给出了希望:只要传输速率低于信道容量,就存在一种编码方式,使得错误率可以被压低到任意小。香农给出的存在性证明,让人们第一次看到近乎完美通信的可能性。

另一方面,它也划定了边界:无论工程手段多么高明,都不可能突破信道容量的限制。这个上限,成为通信系统设计中无法绕开的基准。

在随后的几十年里,从调制解调器到深空通信,从磁带、光盘到高速互联网和高清电视,各种通信系统的设计与优化,都在不断逼近这一理论极限。如果没有香农容量公式的指引,许多进展可能会更加缓慢,也更加盲目。

05

一种智慧,最终超越了技术本身

信息论并不是在一夜之间成熟的。它经历了半个世纪的发展,汇聚了数百位研究者的努力,才逐步形成今天的样貌。

但很难想象,如果没有香农最初给出的那组判断,这门学科会以怎样的方式诞生。

沃伦·韦弗在书中所作的导言,早早意识到香农思想的影响不会只局限于通信工程。语言学、社会科学,乃至更广义的交流问题,都从中获得了启发。

或许,香农留给我们的最大遗产,并不仅仅是若干公式或定理,而是一种看待问题的方式:先抓住结构,再讨论实现;先理解本质,再追求复杂。

《通信的数学理论》

克劳德·E.香农,沃伦·韦弗 | 著

李锡涵 | 译

信息论领域的奠基之作,本书分两部分详细解释了通信的数学理论基础。第一部分提供了通信领域的全景式概述,为读者进入更深入的数学理论部分作铺垫。第二部分深入探讨了通信理论的数学基础,包括离散和连续信源、信道容量、编码理论等核心概念,并讨论了这些理论在通信系统中的实际应用

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 11:31:59

C语言字符串与内存操作函数模拟实现详解

一、strstr函数模拟实现 1.1 函数功能 strstr用于在字符串 str1中查找子串 str2的首次出现位置: const char* strstr(const char* str1, const char* str2); char* strstr(char* str1, const char* str2); 找到则返回第一次出现的起始地址 找不到则返回NULL 1…

作者头像 李华
网站建设 2026/4/23 10:11:21

去哪儿网白盒漏洞 AI 运营实践

前言 在当今快速发展的软件开发环境中,安全漏洞管理正在经历一场深刻的变革。随着 DevOps 理念的广泛普及,安全左移(Shift Left Security)已成为行业共识,企业纷纷将安全检测前置到开发流程的早期阶段,构建…

作者头像 李华
网站建设 2026/4/23 6:54:44

90%的项目失败,都是从需求管理开始崩塌的!

在产品更新节奏加快、项目复杂性日益提升的当下,许多企业在研发过程中面临着一个共同的难题:需求在流程中容易“丢失”或“变形”。从前端市场输入到后端技术实现,往往缺乏清晰的链条与协作机制,造成计划混乱、执行偏差、任务拖延…

作者头像 李华
网站建设 2026/4/23 10:11:28

NGUI裁剪Shader的底层逻辑与性能优化

先来个很真实的场景: 你接手一个 NGUI 老项目,打开某个滚动列表(ScrollView),发现两件事: 列表能裁剪,超出区域的 item 不显示——看起来很正常。 但一到低端机就掉帧,Profiler 里 UI 渲染时间飙升,GPU 像在哭。 你问:“不就是裁剪一下吗?不让超出区域的像素画出来,…

作者头像 李华
网站建设 2026/4/1 9:31:21

如何在vue3+ts项目中实现zebra扫描枪扫码效果

1实现一个hooks import { onMounted, onUnmounted, ref } from vueinterface ScanOptions {threshold?: numberminLength?: numberonScanProgress?: (buffer: string) > voidonScanSuccess: (code: string) > void }export function useScanGun(options: ScanOptions…

作者头像 李华
网站建设 2026/4/23 12:51:26

Java套接字编程:深入解析多线程回显服务器的实现

文章目录Java套接字编程:深入解析多线程回显服务器的实现什么是回显服务器?Java套接字编程的基本概念实现一个单线程回显服务器服务端代码实现客户端代码实现运行效果为什么需要多线程?实现一个多线程回显服务器改进后的服务端代码客户端代码…

作者头像 李华