1.3 “0”和“1”的世界——数字通信
在模拟通信系统中,信号在传递过程中产生了无法逆转的形变,我们既然做不到完美,那么能不能降低一点点要求,退而求其次,使用数字信号呢?
其实对于绝大多数人来讲,模拟和数字两种信号的差别是微乎其微的,比如对于24位的色彩,谁能分清这一千多万种颜色呢?这千万级的色彩中间的那些色彩有多少人能够感受到?相信很多人玩过一款“找不一样的色彩”的小游戏,在一个色块矩阵中只有一块的颜色不同,越到后面色块越多色差越小,看的眼睛都花了,基本就到了挑战的极限,人的肉眼对于色彩的分辨如图1-9所示。
抛去艺术家的情怀不说,数字通信以绝对的优势迅速占领了整个通信领域,数字化的过程是通过三板斧——“抽样”“量化”和“编码”,将无限变为有限之后,再多的信息也可以存储在小小的硬盘、光盘中,也可以无损地传递到世界的每一个角落。数字信号的波形如图1-10所示。
图1-9 人的肉眼对于色彩的分辨
图1-10 数字信号波形
1.3.1 时间和空间的离散——抽样
数字化第一板斧:抽样。抽样实现了时间和空间的离散。什么叫作抽样?和上级抽查差不多。一个部门那么多人,那么多工作内容,领导抽查几个看一看,这个部门的大致工作情况也就基本了解,而抽样的关键问题,就是要抽多少样才能够相对客观、真实地反映信息的真实情况。
声波在每一个时间点对应一个幅度,视频信号在每个时间点对应一幅图像,而我们绝大多数人类通过眼睛、耳朵能够感知信息的频率是有限的,换句话说,两条信息间隔时间太近,我们是察觉不到的。比如我们在看魔术表演,觉得很神奇,而再看一遍慢镜头回放,才恍然大悟,这就是因为魔术表演的动作非常快,很多信息人眼捕捉不到。
对于声波,奈奎斯特定律告诉我们,只要当采样频率大于信号带宽的2倍时(fs.max≥2fmax),采样之后的数字信号就基本完整地保留了原始信号中的信息。人类的耳朵能够听到的频率范围一般为20Hz~20kHz,人声的频率范围为300Hz~3.4kHz。我们对于声波的抽样频率就取决于实际用途,如果是对音乐抽样,实际应用中一般最高抽样频率是44.1kHz(高于20kHz的2倍);而如果只是打电话,只是为了传递人声,以8kHz(8000次/秒,高于3.4kHz的2倍)的频率去抽样,就能够做到还原人声。
对于视频,人眼的视觉暂留时间(一幅画面在人眼中短暂停留的时间)大概为1/24秒,也就是每秒在眼前闪过大于24幅画面对于我们来说就是近乎连续的,帧频再提高当然会感觉更加流畅,但是里面的信息我们肉眼是捕捉不到的。《最强大脑》第二季第二期有个选手,可以在电影播放过程中捕捉1/24秒的画面,惊呆了在场的嘉宾和观众。这也就证明了这不是一般人能做到的,要不怎么能上《最强大脑》呢?
图1-11 抽样过程
抽样完成了时间的离散,每隔最多1/8000秒抽取一个人声的振幅值,每隔最多1/24秒截取一幅画面,只要能够将这些信息保留下来,就可以达到基本等同于原本连续的信息的效果。对于时间轴来说,人类需要多少个时间点的信息,数字信号就按照不低于这个频率进行抽样。抽样过程如图1-11所示。
这每秒8000个声音信号是大多数人能分辨的极限,而不是通信系统提供的最大能力。如果对于你来说声音每秒8000个抽样不够,抽几万次也可以,只要不是无数个就都能够做到,无非就是需要的带宽大一些。
对于一幅图片本身是没有“由多少个点组成”这个说法的,我们可以人为地将其分成很多个点——像素,将每一个像素的颜色值提取出来,只要这些像素重新组合成图片后我们肉眼看不出和原图的区别,就可以按照这个像素去抽样,也就是我们常说的照相机的多少万像素,从图片到像素的抽样就是空间的离散。像素具体取多少要看我们的用途。图片是要在手机上看还是打印成巨幅的广告,对于像素的要求是不同的。记得早期的数码相机五六百万像素就很好了,而现在连手机像素也已经达到千万像素以上,人类的需求和科技水平都在不断提高。
1.3.2 退而求其次——量化
数字化第二板斧:量化。量化实现了信息值的离散。其实,量化对于我们并不陌生,生活中无时无刻不在对信息进行量化,比如:
张三的身高1.78米,真的就是整整1.78米吗?
我今天中午吃了一碗米饭,到底是多少粒米?
明代烽火制中,“见敌一两人至百余人举放一烽一炮,五百人二烽二炮,千人以上三烽三炮……”,这就是量化;我们将考试成绩分为优、良、中、差,这也是量化;4S店让我们的车子每行驶5000公里做一次保养,这还是量化。
什么是量化?简单地说量化就是四舍五入。为什么要量化?要将无限可能的信息变为有限的,为了便于存储和传递。为什么信号可以被量化?因为我们没有必要那么较真,一个信息的值在达到一定精确度之后,小数点后面多少位并不重要,就好比说我的身高是1.73529米,给人的感觉很奇怪。
经过抽样的信号,只是在时间上被离散成为一个个的样本,而每个样本还是一个有无穷多个取值的连续变化量,必须要将其转化为有限个离散值,才能做到数字化,也就是说,在X轴和Y轴上都要变无限为有限。量化过程如图1-12所示。
图1-12 量化过程
其实,量化的意义还不只是将信息量变为有限这么简单,对于通信系统来讲,还有一个重要的意义,就是可以让信号传到无限远。
假如,我们要将一个电平值传到对端(就是要传递一个数字),这个电平值的变化范围是0~10V,比如说是9.9V吧,这个9.9V到了对端衰减成了9.8V。前面说过,如果用模拟通信的方式,我们收到这个9.8V的时候,是无法知道对方发送的原始信息是多少的,因为一切皆有可能。现在用数字通信的方法,我们对电平值量化为每隔0.5V一个值,就是0、0.5、1、……、9、9.5、10一共21个电平值。在信号的源端我们将9.9V量化成了10V,这9.9V和10V之间的0.1V差值就是数字化必须付出的代价。
到了收端收到了9.8V这个电平,收端就只有两个选项:9.5V和10V,于是按照四舍五入的原则判定这个值为10V,如果我还要向下一个站点传递这个信息,就重新按照10V的电平去发送。我们规定一个门限值,比如9.75V,10V只要不衰减到9.75V这个门限值以下,就判定它是10V,这对于通信网来说意义重大。无论是有线还是无线通信,在已知距离的前提下我们都可以估算出信号衰减的幅度,也就是说,10V经过多远会衰减到门限值9.75V是可以计算的,只要在此之前我们将信号接收、判定(判断9.8V就是10V)、再生(9.8V重新变成10V)之后再重新发出去,只要每隔一定距离建设一个中继站,信号就可以一直无损地传递下去。接收端的判决再生如图1-13所示。
图1-13 接收端的判决再生
量化的实现过程其实很简单,就是设定一些离散的值去表示信息。实际应用中也不一定是图1-13中那样等差的数列,对于话音信号都是采用非均匀量化的,诸如“µ率”和“A率”,就像我们统计考试成绩,60分以上是10分一档,60分以下就不再分6个档,统统归为不及格;还有统计企业规模,0~50人是一档,5000~10000人是一档,也是非均匀量化的例子,如图1-14所示。
一个在一定范围内随机变化的值,在最大值和最小值附近的出现概率都比较低,而在平均值附近的出现概率比较高,非均匀量化是根据对数据的统计分析,要让有限的量化值最大限度地发挥效果。
图1-14 非均匀量化
1.3.3 信息翻译官——编码
数字化第三板斧:编码。编码将抽样和量化后的信息变为二进制的“0”和“1”。经过了抽样和量化,我们将一切信息都转换为数字信息。
●对于文字,不管一共有多少万字,我们将每一个文字对应分配一个编号进行编码,文字就转换成了数字,其实文字本身就是离散的,就是数字信号。
●对于声音,我们可以将时间轴上每个时间点的电平值转换为数字。
●对于图片,我们将其分为若干个点——像素,每个像素的色彩都用三原色去合成,三原色各自的灰度也可以转换成数字。
●视频也就是一些图片和声音的组合体,分别进行编码。
信息经过编码变成了什么样的数字呢?无论是通信设备还是计算机,都是采用二进制编码的,它们都只认识“0”和“1”两个数字,因为基于二进制容易实现存储、运算、传递。
我们想一下,如果隔着几公里远有一个人,这个人身高是1.6米还是1.7米我们并不好判断,但是“有人”还是“没有人”我们一定看得一清二楚。我们上学的时候都知道判断题比选择题容易做,因为判断题只有两个选项,就算蒙也有50%的正确率,而选择题有4个选项。聪明的人类尚且如此,对于机器我们更不好难为它们了。
机器很容易通过两个差别很大的电平值去表示“0”和“1”,如果要表示十进制0~9难度就大了。对于信息的传递,接收端在面临着两个选项的时候是最容易判断的,也就最不容易出错,所以我们最终将所有的信息都用二进制数去表示;信息量越大我们就用越多位数的“0”和“1”去编码,每一个“0”或者“1”叫作1个比特(bit),每8个比特叫作1个字节(Byte,用B表示)。
比如,将人的身高从1.5m到2m量化成51个值,每两个相邻级别之间相差1cm,我们就可以编码了,51个值需要6位二进制数字来表示(26=64),1.5m的十进制是0,二进制就表示成000000;1.78m十进制是28,转换成二进制就表示成011100。
接收端只要逐位地去接收判定这些“0”和“1”,就像做无数道判断题一样,接收设备表示:毫无压力,So Esay!
编码的方式有很多,不同类型的信息都有不同的编码标准,比如常见的ASCII(英文)、GBK(汉字)、MP3(音频文件)、MP4(视频文件)、BMP(图片文件)等,不胜枚举,我们接触到的所有的文件类型都是一个编码标准。
不同编码的研究方向和侧重点不同,比如像WAV、PNG等叫作无损编码,这类编码致力于如何高度地还原信息本身,当然这个“无损”指的是抽样量化之后的,是相对的,也就是在编码的环节不去将信息“再砍一刀”。
还有比如MP3、JPEG等叫作压缩编码,这类编码致力于如何用少量的字符去表示信息,网上播放视频的时候,播放器会提示我们根据网络情况选择流畅还是高清,在网速不给力的时候我们宁可牺牲画质来换取流畅度。这些编码对于信息的处理是有失真的,在保证让我们感觉不到或者感觉不强烈的前提下,实现最高的压缩比以方便存储和传递。换句话说,压缩编码让文件变小,减小了网络和硬盘的压力。
这些编码标准如何实现,我们不需要一一了解,我们只需要知道编码之后所有的信息都变成二进制数字就足够了。
编码和解码是对应的,“解铃还须系铃人”说的就是这个意思,一套编码标准就像是一个密码本,用什么方式编的就得用什么方式去解。就像战争时期我们截获了敌军的情报,还要拿到对方的密码本才能够破译,否则这个情报对于我们来说就是天书,就像我们电脑上经常碰到的“文件无法打开”,编码和解码过程如图1-15所示。
图1-15 编码和解码
1.3.4 题外话——数字通信,断喙重生
经过了“抽样”“量化”和“编码”三个步骤,大千世界就都变成了“0”和“1”组成的码流,无论通信网还是计算机网,也都是“0”和“1”这两个数字的世界。原始信号经过了“三板斧”舍弃一些无谓的信息实现数字化之后,带着人类飞得更高更远,彻底地改变了我们的生活,这让我不由得想起一个故事。
鹰是世界上寿命最长的鸟类,它的寿命可达70岁,鹰要活那么长的时间,必须40岁左右时做出一个无比艰难却重要的决定。当鹰活到40岁时,它的爪子开始老化无法抓住猎物,它的喙变得又长又弯而无法进食,它的翅膀变得十分沉重,因为羽毛长得又浓又厚,再也无法在空中尽情地翱翔。它必须努力飞到一处陡峭的悬崖,在那里要待上5个月,在这里它要完成生命的涅槃,重获新生。
首先它要把弯如镰刀的喙向岩石摔去,忍受无比的剧痛,直到老化的嘴巴连皮带肉从头上掉下来,然后静静地等候新的喙长出来;其后它以新喙当钳子,一个一个把趾甲从脚趾上拔下来;等新的趾甲长出来后,它把旧的羽毛都扯下来,直到新的羽毛长出来。经历5个月的苦难历程后,鹰又重回蓝天翱翔,俯瞰这个世界,如图1-16所示。
图1-16 鹰的断喙重生