4.1 摩尔斯码
在讨论真实数据的传输之前,让我们先回到电报和摩尔斯码的时代。
从1836年着手,3位美国人——画家Samuel F. B. Morse、物理学家Joseph Henry和机械师Alfred Vail——共同发明了第一套电报系统。这套系统通过电线来发送电流脉冲,这些脉冲与位于电报系统接收端的电磁体进行交互,产生了可以听得见的声音,或者人们在发声装置下放一条以固定速度运行的纸带,纸带就能将收到的信号记录下来。
电报是一项了不起的发明,因为它可以远距离地传递人类信息。慢慢地,电线消失了(见图4-1),它最终演变成了人们口袋中的移动设备。
图4-1:1897年5月13日,在弗拉特霍姆岛的一次演示中,英国邮政工程师们在检查Guglielmo Marconi的无线电报设备。这是世界上第一次跨海无线电传输演示,从莱弗诺克角到弗拉特霍姆岛,距离大约为4.8千米。图片来源:维基百科
有了设备后,发明者遇到的问题就是如何表示人类的想法,并且这种表示方法是电流信号能传输的,比如说用语言。对操作人员来说,这个设备本身的操作方法很简单:按下电报按钮就能进行连接并通过电线传输电流;松开按钮,电流传输就中断。即使早在19世纪二进制编码还没有发明时,这套系统已经在应用同样的思想来传递信息了。
或许,最简单的编码文本信息的方法,就是用数字1~26来编码A~Z的英文字母。这样,我们就能通过脉冲的次数和组合来确定传送的是哪个数。例如,可以将“THE HAT”翻译为20 - 8 - 58 - 1 - 20。实际上,要想使系统能真正工作,还要有方法来区分单词、空格和标点符号,当然还有结束符(end-of-message),但通过对单词进行编码,我们已经抓住了问题的实质。
不过,有一点要记住,那就是所有这些信号的传输都需要人不停地按电报设备的按钮。因此,发送“THE HAT”与发送“FAT CAT”或“TIP TOP”所需要的人工操作次数相同。如果一个邮政局每天要发100~200封平均50个词的电报,这件事情就会令人抓狂。显然,这是因为发送一次信息所需要的人工操作次数太多。物理硬件(发报机设备)和人工硬件(也就是操作人员的手腕)的磨损比预期的要快,解决方法则是使用统计来减少工作量。
我们都知道,在英语中有一些字母比另外一些字母使用得更频繁,比如字母E会在12% 的时间里用到,而字母G则只在2% 的时间里用到。如果操作人员每天发送的字母“E”更多,那么是不是应该让这样的操作变得更快、更简单呢?
最终,摩尔斯码被发明出来。
摩尔斯码为英语字母表中的每一个字符都分配了或长或短的脉冲,一个字母用得越频繁,其编码也就越短、越简单。因此,英语中最常用的字母“E”的编码最短,用一个点表示;而字母“X”的编码毫无疑问则很长;所有的数字都用5个脉冲表示。图4-2显示了摩尔斯码的原始字符集。
图4-2:摩尔斯码根据各个符号在英语中出现的概率来为其分配点和划。一个符号出现得越频繁,其对应的编码就越短。这张图是摩尔斯码的一个早期版本,由电报公司专门为传输较小的信息集而设计。从那时起,摩尔斯码就一直在演变,现在的摩尔斯码看上去大不相同了
即使是追溯到19世纪,这也是对符号分配变长编码(variable-length codes,VLC)的最初实现之一,其目的则在于减少传输信息过程中所需要的总工作量。
有理由相信,在早期对信息论的研究中,克劳德•香农(他是摩尔斯码方面的专家)正是利用了这一概念,由此创造了一个新的技术领域“数据压缩”的第一代技术,这些都是在VLC的启发下产生的。