首先WIFI信号的强度和速度肯定是有关系的,信号强度越好,速度越高,所以在802.11ac提高速率的同时,采用MIMO来提高信号的强度(主要是Beamforming)。为了细化理解一下,我们首先要从WIFI速率的计算开始(这里以OFDM系列做为例子,802.11b的应用面已经不是特别广,所以不展开,注:802.11b是采用DSSS技术进行传输的,其物理层可以采用barker码,CCK码以及可选PBCC码进行传输,而802.11a/g/n/ac都是基于OFDM进行定义的)
以802.11a速率计算作为例子,其物理层传输速率是通过MCS表进行计算出来的,如下图:
上图实际上是描述的是802.11a的MCS表,MCS表实际上是描述对应不同速率的调制方式以及编码方式。这里每一行决定一种发送速率,不同的发送速率对应不送的信道质量,当信道质量好的时候,发送速率快一些,信道质量差的时候,发送速率慢一些。
MCS表中的第二列是调制方式,实际上计算带进去的值是调制的阶数(故需要将调制方式转换为阶数)。第三列是对应的编码速率,这里又称为FEC速率(FEC是前向纠错码的名称,ForwardErrorCorrection)。在802.11a中是采用卷积码的形式进行编码的,然后在译码的时候采用的是viterbi算法。FEC速率可以简单理解成冗余度,即1/2可以理解成1个bit用2个bit来重复发送。最后一列对应的就是实际的物理层速率了。然后我们关注的是物理层的速率计算,通常我们简单理解物理层的速率计算等于子载波数*调制阶数*编码效率/发送间隔。
举个例子:对应调制方式为16QAM,编码效率为1/2的速率。同时我们还需要补充的条件是:在802.11a中,数据子载波是48个,OFDMsymbol的时间是4us(简单理解成每次传输的时间间隔),16QAM每次可以传输的物理层比特数为4(即2的4次方为16)。即24Mbps=48*4*(1/2)/4us。每一种速率通过不同的编码方式,从而达到不同的实际速率。PS:如果在802.11n/ac中还存在不同的带宽模式,对应不同带宽对应不同的子载波数,这里由于是802.11a所以子载波数固定。
下图就是802.11n中所对应的MCS表,可以看到,每一个速率都有对应的信号灵敏度的阈值,越高阶的速率,其对信号的灵敏度越高。
下面也补充了张图,可以直观的看下SNR对于不同的调制方式和编码效率的影响(图是来源于mobicom2012年的一个协议autoMAC的ppt上)
图中横轴是SNR,纵轴是借条的可能性(这张图不是误码率,简单理解是解调的正确率),比如对应蓝色虚线,采用图中相对低阶的16QAM,以及高冗余的1/2编码,其在将近8dB的情况下还可以工作,而其他的高阶调制方式以及低冗余的编码就都解调失败了。
然后最后一点还需要补充下无线网络中速率的自适应调节,这一块在不同的版本的协议中实际上做法是不同的,在早些的802.11中,这一块是交给厂家自行设定的,如下图的解释(WIFI权威指南中)
到了802.11ac以后,每一次传输之前,其实际上都做了一次信道的测量(NDP,NDPA的反馈,额,具体反馈的帧的名字忘了,这里表述不是特别准确),所以每一次基本都是能够大致测定下信道质量的,从而可以每一次根据信道质量在MCS表中选择一个合适发送速率进行发送,从而进行实时的速率自适应,这个就不展开了额。