A1 通信与信号
你今年 10 岁。由于还没有手机,为了和住在街对面的发小保持联络,你们准备使用手电筒来发送信息。
两种状态,可以编码无限的信息。
第一版:在空中画圈圈
一开始,你俩想到的最直接的办法——用手电筒在空中画圈圈来写字母。A 就画一个尖尖的三角,O 就画一个圆。
试了一晚上,放弃了。你画的 O 像个鸡蛋,发小画的 A 你以为是房子。在几十米外的黑夜里,光是一条晃动的光带,根本分不清笔画。靠"形状"传递信息,太容易看错了。
第二版:改成闪烁
你们吸取教训:形状看不清,那就不画形状了——改用闪烁。
这时候冒出一个关键问题:手电筒最听话的,到底是什么?
你试过调亮度(手电筒就两档,亮和灭,调不了)、试过晃动方向(晃得越快越像一团雾)。最后发现,手电筒唯一能稳定控制的,是亮多久。
于是你们约定了两种最基本的动作:
- 快闪(点 ·):手指一点就松,一闪而过
- 慢闪(划 —):按住停一会儿,明显更长的一闪
灵感是从电影里学来的。你们约定:快闪一下表示 E,快闪两下表示 I;慢闪一下表示 T,慢闪两下表示 M……依次用快闪和慢闪的组合,表示完整个字母表和所有的符号。
一个看似随口的约定,其实是最重要的规则
你俩还约定了一条规则,当时只当是顺嘴一说——后来你才发现它有多关键:
想想为什么。如果"点"和"划"的时长随缘,接收方根本分不清"两个连着的点"和"一个划"——它们看起来都是"亮了一小下、又亮了一小下"。只有当划严格等于 3 个点的长度,节奏才固定下来,接收方才能靠"数时长"自动对齐节拍,不用你额外发一个"我要开始了"的信号。
你不知道的是,这条"接收方靠时长自我对齐"的直觉,几十年后会变成数字电路里一个叫时钟(Clock)的东西——但那是后话了。
你来试试:亲手发一封电报
别光看故事。下面这个按钮就是你的"手电筒"——按住它发光,松开记录。短按(<300ms)记为点 ·,长按记为划 —。松手停顿一下,系统会自动猜你发的是哪个字母。
按住发光,松开记录
长按 ≥300ms = 划 —,短按 = 点 · · 停顿 800ms 自动解码
💡 挑战:试着发出 ··· ─── ···——这就是国际求救信号 SOS。
你发明的这套东西,后来叫"摩尔斯电码"
这套用点和划编码一切的系统,是你和发小磨合了很久才发明的。后世的人在你们工作的基础上不断改良,为了纪念这份贡献,把它叫做摩尔斯电码(Morse Code)。后来它经过改良,演变成国际摩尔斯电码,一直用到今天——从泰坦尼克号的 SOS,到今天的业余无线电,节奏都是你 10 岁那年定下的。
完整的编码表长这样(点一下任意格,上面的工具会帮你翻译):
为什么两种状态就够用?
你和发小当时只顾着发报,没意识到自己摸到了一条重要的数学规律。回头看看你和发小到底掌握了什么:
- 闪 1 次:亮 / 灭 → 2 种可能
- 闪 2 次:亮亮、亮灭、灭亮、灭灭 → 4 种
- 闪 3 次 → 8 种
- 闪 n 次 → 2ⁿ 种
以上,就是计算机必须使用二进制的数学基础——只是当时的你和发小还没意识到这一点。
然而,手电筒罢工了
你和发小靠着这套摩尔斯电码,隔着街聊得正欢。直到有一天,街上搬来了一户新的小朋友,刚好和你家并排、朝向同一个方向——手电筒没法用了。光线被挡得死死的,你们再也照不到对方家的窗户。
没关系。你们决定不用光了——改用电线和灯泡,手搓一个简单的通信装置。开关放在你的卧室,灯泡在发小的卧室:只要你一闭合开关,发小那头的灯就亮,他就知道你"在线"了。
要让灯听你的话亮起来,得先弄明白一件事:电,在导线里到底是怎么跑的?
小结 & 思考题(点开深入)
本章你经历了什么
- 试错过"画形状"失败,发现时长才是手电筒最可靠的维度
- 用点 · 和划 — 两种符号,编码了整个字母表——这就是编码:符号 + 约定
- 约定了划 = 3 个点的时长,让接收方能靠节奏自动对齐
- 发现 n 个二元选择能产生 2ⁿ 种组合——这就是二进制的数学基础
思考题
你和发小被困在相邻的两个房间,只能通过敲墙传递信息。用"敲"和"停"两种动作,设计一套能传递这 5 条消息的协议:我饿了、救命、我很好、你在吗、再见。
救命 = 急促连敲(SOS 节奏)/我饿了 = 敲 2 停敲 1/我很好 = 敲 1 停敲 1/你在吗 = 敲 3 停敲 1/再见 = 缓慢敲 2。
关键不是答案对错,而是:协议必须在通信前约定,且双方一致。
看看编码表:E = ·(最短),Q = ——·—(最长)。为什么会这样设计?如果反过来(E 最长、Q 最短)会怎样?
列出 3 个你生活中的通信系统(如微信、交通灯、门铃),分别说出它的发送者、接收者、信道、协议。
交通灯:控制器 → 司机,信道 = 可见光,协议 = 红=停/绿=行/黄=准备停。
门铃:访客 → 住户,信道 = 电信号,协议 = 按下 = 有人来了。