无线世界(六)——时间

通信能力的提升让人类从原始的永恒无知中解放出来,同时又引入更深层次的荒诞,在舒适的享乐中迷失自我。
Empty your mind, be formless, shapeless, like water. And you put the water into a cup, it becomes the cup; You put water into a bottom, it becomes the bottom; you put it in the teapot, it becomes the teapot. Now water can flow, water can crash, be water, my friend. ——Bluce Lee

一、介绍

    1971年, 李小龙接受加拿大记者采访时,阐述了他对武术的理解,诸如“用身体忠实的表达自己”,“像水一样”等。以上视频是关于他对水的理解的一个阐述(值得一提的是,李小龙是华盛顿大学哲学系的本科生)。

    从信息传播的角度来看,声音需要从李小龙口中发出,传播至记者耳朵,记者才可能受到信息。所以信息传播的总时间为:传播时间+收听时间。

    比如,李小龙说话的时间是25秒,而声音传播的时间大概是1/340=0.0029秒。1米代表记者和李小龙的距离,340表示声音在空气中的传播速度。所以记者接受信息的时间为25.0029秒。可见在人类正常交谈的过程中,声音传播的时间可以忽略不计。

    由于人类语言表达的信息有限(人类的语速最快大约可以做到每分钟说300字,而现代无线通信系统每秒钟可以传输的数据可达Gbps,以2字节的Unicode编码汉字为例,大概可以传6250万个汉字),在这样的速率下,信号传播的时间就无法忽略不计了。 

  在现代通信理论中,将产生信息的实体叫做信源(比如说话的李小龙),将信息传播的渠道称为信道(比如传播声音的空气),将接受信息的实体叫做信宿(比如记者)。信源处可以对信息进行编码,比如李小龙说的英文或者中文,而信宿可以解码,比如学过英语的记者可以理解英文等。

   本文拟从时间的角度,分析现代通信系统中信息传播的时间问题。

    下文将介绍电话线路与无线局域网两种通信模式中的信号传播时间。

二、电话线路

人的声音由声带振动产生,通过空气振动传播,属于机械波,纵波。声波可以由空气压强随时间变化的波形表示。例如,一句fa♂Q的声波,如下图所示:

    可以发现,这个词语的发声,主要由两部分构成(对应前后两个有明显分界的声音波形)。

    在数字电话中,这种物理的波形,会被采样成离散的数字信号。由于人的听觉系统和发声系统所处理的声音大部分都小于4KHz(举例说明,小提琴的第二根琴弦空弦发出的la,频率大概是552Hz),为了保证最高频率的信号不失真,所以通常采样频率就定为8KHz。

    信号的振幅大小通常用-127~127的数字表示,这是一个8位的二进制数(见无线世界系列的第3篇文章)。那么对于一个数字电话系统,记录单人说话的声音需要8KHz*8bit=64Kbps的通信速率。

    目前市场上光纤的带宽可达到40Gbps,这意味这可供625人同时说话,而全中国总共有13~14亿人,而625人可能仅仅是一个中学一个年级的人,怕是不够用哦,怎么解决呢?

    首先,人们打电话的时间需求是分散的,人不可能一天24小时一直在打电话,那么如果让人们在有需要的时候接通线路,而没用需要的时候断开线路,就可以更好的利用通信带宽资源。

    其次,利用分层和并行的思想,利用多条光缆来满足更多人的需求。

    最终生产商给出的解决方案,如下图所示,命名为TDM承载网。

    如上图所示,A和B建立链接进行通信时,完全不妨碍C和D建立链接进行通信。同样的,由于需要合理利用带宽资源,AB之间的链接不是永久持续的,AB请求通话后,线路建立,当AB通信完成之后,线路会断开。这就是传统电话中,“拨打”和“挂电话”的由来。

    对于TDM承载网,世界各国的通信运营商都花费了大量的成本去铺设建造,是运营商的重要财产。

    为了保证通话质量,无论有无人通话,每个接入网中的数据会定时发送给上一层的网络(例如城域网)。

    在如图所示的32个接入网中,尽管只有第二个接入网有用户通话,但是32路接入网都要采集声音数据,空闲接入网的数据是白噪声,但是也会作为数据包,一同打包给上层汇聚网。 这种做法被称为SDH(同步,数字化,级联——思考题:3个英文单词是什么),SDH的好处在于,可以有效保证数据的按时传输;坏处在于,由于有大量无效数据,不少带宽资源被浪费了。

    针对TDM承载网的这个问题,另外一种叫做ATM(Asynchronous Transfer Mode)的技术被设计了出来,并且曾经红极一时。ATM的思想是,不要让数据按时发送,而是有什么数据就发什么数据,这种办法可以避免无效数据的传输。

    ATM需要对数据进行事先的分割或者填充,以保证每一个数据包的大小一致,从而增加了硬件的负担。另外,ATM网络需要一个专门的核心软件去调度这些数据包的运输(不过这也为将来的TCP/IP协议打下了基础)。

    最致命的是,随着以太网的传输速率疯狂增长(1995年以太网的速率就达到了1000Mbps,而ATM的设计速率仅仅在600Mbps),加上以太网设备便宜的要死,历史最终淘汰了ATM。

三、无线局域网

3.1 基本单位time slot

    回到最初李小龙向记者论述武术的情景,假设采访室里还有一个不怀好意的神秘人(正如很多武打电影里都有的角色一样),也想对记者说话。然而记者无法在两人同时说话时听清任何一个人的话语。于是记者规定,李小龙和神秘人心里都随便想一个数,然后每隔一段时间T,就将这个数减1,谁先将这个数减到0,谁就先说话,一旦有人说话了,其他人必须要等到说话的人说完了,才可以说话。

    这就是无线通信协议802.11中CSMA/CA机制的思想,此内容也在本系列第一篇中有所论述。

    在无线通信情景下,任何人想要发送信号(说话),都必须等待DISF长的时间,这里的DIFS,SIFS,都是802.11协议里规范的时长,通常在微秒量级,不同版本的协议规定的时长不一样,下图是1997年最初版本的802.11协议规定的时长。

    随后两个节点(即李小龙和神秘人)会各自生成一个随机数。可以看到,李小龙生成了2,神秘人生成了8,每经过一个时隙(在协议中叫做slot time),自己的随机数就会减1。在这次竞争中,由于李小龙的数字比较小,所以他先说话,而神秘人根据规则只能先沉默。

    记者听完李小龙的话,经过SIFS时间之后,会向神秘人和李小龙都发送确认信号(ACK),这样双方就开始了下一轮的竞争。

    值得一提的是,一个时隙 (slot time) 可以分为3个部分:信号传播时间(Propagation),信道评估(Clear Channel Assessment)和天线的接收发射模式转换(Rx/Tx Hardware Turnaround),MAC层处理时间(MAC Processing Delay)。

    1微秒的传播时长理论上可供电磁波传播300米,而家用WiFi的工作距离在100米之内,基本上足够覆盖了。信道评估主要用于判断当前信道的电磁信号是否超过阈值,或者是否有合适的preamble码以表明存在一个802.11帧。天线可以接收电磁波,也可以发射电磁波,但是模式需要转换。MAC层处理用于和MAC层交换信号。

    可以发现,电磁波的传播时间只占据了时隙的很小一部分。另外,在节点沉默,处于侦听模式时,也不是一直侦听的,而是在每个时隙内固定一段时间侦听信道的。时隙的概念出现在天线处于接收模式下,发送模式将在后文讲述到。

    另外仍需考虑一种情况,就是尽管李小龙讲完了他的理论,但是记者由于其他原因没有听到,那么自然也无法向两人发送确认信号(ACK)了。由于SIFS的时间和ACK帧的大小是已知的,那么过了这段时间后,李小龙会知道记者并未听到他的内容,那么他就会和神秘人一起,进行下一轮竞争。

    可以知道,李小龙说完话之后,等待下一次竞争的时间EIFS=SIFS+ACK+DIFS。

3.2 电波的接收

    想要让天线接收到特定的电磁波,需要有以下几个条件:

    1、天线处于接收状态

    2、电磁波具有一定强度的功率

    3、电磁波具有一定的震动模式,不仅包括频率,还要求所携带信号的序文(preamble)符合一定规律。

    第一二条很容易理解,记者必须处于倾听的状态,李小龙才可以说话。如果李小龙说话声音太小,记者也无法听清楚,那么信息也无法传达。声音的强度有一个阈值,超过这个阈值,记者才可以听到。

    第三条是说,首先李小龙是用人类的声波频率说话,这样记者才能听到。然后,为了防止别人假冒李小龙说话,记者和他约定一个暗号:在说话前,都要说出1010 0101这8个数字,才可以确认对方身份。由于李小龙可能会忘了其中的一两个数字,或者有些数字没有说清楚,导致有些许偏差,这时候也要设定一个阈值,比如8个数字对了6个,就确认对方身份等。

    802.11一共规定了4种工作模式,分别是:DSSS,FHSS,IR和OFDM。其中,DSSS是802.11b协议(也就是最初的WiFi协议,见本系列第五篇)的主要工作模式,而OFDM是802.11a和802.11g的主要工作模式。这两种模式被较多的使用,所以本文也主要介绍这两种模式。

3.2 DSSS模式下的数据发送和接收

    PLCP(Packet Layer Control Protocol)在协议中表示物理层的头部。802.11b中包括前置码(144位或者72位)和包头(48位)两个部分。

    前置码负责信号的辨识(参考记者和李小龙之间的暗号,即帧同步Sync,用来发现信道中有没有数据帧)和信号的对齐(SFD用来做帧起始标志),包头包含了具体的信号速率,帧大小以及CRC校验等内容。DBPSK(Differential Binary Phase Shift Key)是差分相干二进制相位调制,而DQPSK是另外一种调制方式,它们的具体机制不作展开。

    为了保证数据被明确识别,通常会用多个数字来表示位数字。这种做法可以增加接收端的功率,从而更加明确的识别数字。

    如上图所示,发送端和接收端都知道一个序列[-1 1 1 -1 -1]。当发送端想要发送数字1时,会总计发送1*[-1 1 1 -1 -1]=[-1 1 1 -1 -1]五个数字,给接收端,接收端会将这些数字和原先的序列作互相关运算,最终可以得到结果5,超过了阈值3,则说明发送的数字为1。

    这样做的好处时,就算是在传输过程中出现了误码,比如上图中第四个数字原先是-1的,被系统识别成了1,那么互相关运算后得到的结果是3,仍然达到阈值,接收端仍然可以将发送过来的数据识别为1。这意味着,就算是有误码率的存在,通过这种“5个数字代表1个数字”的方式,就可以降低误码率带来的影响。

    在通信中,我们将发送端发送的每一个数字称为1个码片,上面的例子就是5个码片代表一个二进制数字的例子。

    在物理层,前置码的每一位二进制数据,都会由11个码片构成。

    根据802.11b规定的调制方式,符号/码片比和数据速率等数据, 如果想要传输先前李小龙说过的那段文字(总共265个字节,即265 Byte),假设使用长的PLCP前置码和包头,前置和包头均使用DBPSK调制编码,数据使用CCK5.5M调制编码,在发送权争抢过程中保证胜利,并且假定一次传输就成功,没有重传。

    则实际传输数据所花费时间占总花费时间的比例如下图:

    可以发现,真实数据传输的时间仅占据了总通信时间的26~54%,发送数据需要花费1.437~2.987毫秒,根据随机回退的时间长短有所变动。但是这样的数据还仅仅是在不发生冲突,没有失败重传并且去掉了RTS/CTS机制下得到的。

  DSSS的发送模式可以见上图,详细的说明在协议的第189页附近。发送过程相对较为简单,就是按照流程将前置码,头部还有数据依次发送。需要注意的是,发送过程中,发送和与MAC交换信号是同步的。

    DSSS模式下数据接收的过程如上图所示,具体内容在协议195页附近。

    1、首先接收端会不断的进行能量检测,当检测到环境中的电磁能量超过一定阈值之后,就会进入载波侦听状态,判断先前所说的11个码片组成的前置码中Sync序列的正确性。如果不正确,则进入信号能量检测阶段,等能量低于阈值了回到能量检测阶段。

    2、确认了Sync序列的正确性之后,会搜索SFD作为帧的起始位置。如果没有找到,则进入信号能量监测阶段,找到了就开始PCLP解析。

    3、解析头部时,首先进行CRC校验,如果校验失败,那么说明这个帧是没必要继续接收的,进入信号能量监测阶段;如果发现该信号的通信速率不是接收端支持的,那么就等待帧结束,如果一切顺利,则开始解析数据。

3.3 OFDM模式下的数据发送和接收

    快速傅里叶变化警告:此部分会涉及快速傅里叶变换(fft)及其反变换(ifft),由于篇幅问题本文不予赘述。

    众所周知,不同频率的正弦波,他们的互相关函数的值,在共有周期内为0,这就意味着,不同频率的正弦波是“正交”的(另外,同频率的sin函数和cos函数也是正交的)。

    OFDM的技术,是利用64个相互正交的电磁波进行通信的技术。每一个电磁波都代表一个或多个具体的二进制数字,这64个电磁波,被称为子载波(Subcarrier)。这64个子载波有11个用来作保护,4个导频,1个不用,剩下的48个用来传播数据。

    电磁波需要一定的时间才能展现去它的频率特性,这段时间内这64个子载波的电磁信号所代表的数据,就被称为OFDM符号(OFDM Symbol)。通常一个OFDM符号的持续时间是4微秒。

    子载波和OFDM符号是OFDM中最重要的两个概念,分别对应频域和时域。

    如果信道带宽固定(例如划分为20MHz),由于子载波数量也是固定的,那么OFDM符号大小也是固定的了。发送端会每隔1/20MHz=0.05微秒发送一个样本点(真实的情况是经过数模转换器,电磁波以模拟形式发送出去),由于总共有64个样本点,则需要花费3.2微秒,由于傅里叶变换的需要,通常会将最后面16个样本点(循环前缀)的数据粘贴到前面,所以总共有80个样本点,也就是4微秒的时间。

    OFDM回答了一个很重要的问题,那就是一个样本点究竟能携带多少数据。因为一个正常的正弦波形往往需要若干个样本点,这就意味着往往需要若干个样本点才能表示一个二进制数据。而OFDM的方法却可以让一个样本点表示一个甚至多个二进制数据(表示多个二进制的方法是采用虚数)。

    一个1*64的频域信号(如下右图所示表示数据)可以通过逆快速傅里叶变换(ifft)变成1*64的时域信号。接收端接收到时域信号之后,将其进行快速傅里叶变换(fft)就可以还原得到频域的1*64个数据信号,从而获得数据。

    OFDM模式下的物理层报头和DSSS有许多不同(如下图所示)。它由一个短训练字段(STF)和长训练字段(LTF)还有信号字段(SIGNAL)组成。这种方式极大的缩小了物理层同步所带来的时间开销问题(相比于DSSS的上百微秒,OFDM仅仅需要20微秒)。

    如图,在STF中接收端负责信号检测和频率同步,LTF中则开始进行信道估算,一切都确定后,通过SIGNAL解码出帧的长度以及通信速率。

    STF细分为10个重复的小阶段t1~t10,在每个阶段,都是一个固定的频率数据进行了ifft之后,取时域的前16位传输,所以持续时长为16*0.05=0.8微秒。总共有10个,所以STF阶段的持续时长为8微秒。接收端会采用自相关的方式来确认STF帧的正确性。

    LTF中,GI是保护间隔,用来防止码间串扰,T1和T2是两个完整的包含64子载波数据的时域信号,用来评估信道。

    根据802.11g规定的参数,假设使用长slot time,数据编码使用16QAM,没有重传,争抢也保证成功,那么传播Bluce Lee的话语所需要的时间如下所示:

    可以发现,传输李小龙话语的总计时长变为了0.214~0.834毫秒,相比于DSSS减少了一倍有余。但是真实数据传输时间占总时间的比例为11~41%,比原先的更加低了。

    不过比起最开始人类语言传播所花费的25秒多的时间,无论是DSSS还是OFDM,它们毫秒级的时间量级都远好于人类语言。

四、总结

    纵观历史,人类的通信能力,无论从量的角度,便捷的角度,还是从距离的角度,都得到了质的提升。强大的信息交换能力,使得人类铺建了规模巨大的互联网络。互联网打破了原有的信息壁垒,将人类从原始的永恒无知中解放出来,却也将人带入更深层次的荒诞,让人在享乐中迷失自己。

    技术本身非正非邪,它既是资源信息的整合之地,亦是声色犬马的汇集之所。它的面貌由人决定。

    人类面对的哲学迷思并未随着技术的进步而有些许改变,所有的矛盾都引向一点:认识你自己。

你可能感兴趣的:(无线世界(六)——时间)