为何隔壁房间Wi-Fi网速相差20倍?
路由器在房间A,WiFi 6,网速可以跑满800Mbps。房间B在对面旁边,而且门口是想通的,距离不到3米,相当于没有障碍物,但是手机在房间B测速时网速只有30Mbps。为什么会有这么大的差距?难道是房子结构产生静电屏蔽?
把路由器换成一盏灯,在房间A的光亮强度,会是房间B的N倍,特别是在非直射区域,这个N数值非常大。白光也是电磁波,所以可以做类似的比喻。
光的传播和电磁波传播遵循双向对称性。A点放一个白炽灯,在B点测量得到的强度等于B点放一个相同的白炽灯,在A点测量的强度。
如果你把A当成AP,B当成手机也是一样的。所以只要手机B与AP通信(probe、association、data、ack),AP会测量出uplink的信噪比SNR。
当手机距离AP很近且有直射路径(未遮挡),此时AP测量手机到自己的SNR很大,不光有直射路径,还有N个一次反射路径,还有M个二次反射路径。。。甚至还有无数个散射路径。但是由于信号每经过一次反射或者散射,信号强度会下降N个DB(3个DB意味着信号功率减半),所以通常起决定作用的就是直射 + 一次反射,二次及以上的反射相比较可以忽略不记(多次反射,距离衰减)。
当AP发现手机上行(uplink)SNR巨大时,AP会想当然AP到手机的下行(downlink)SNR也会和上行SNR一样大。为了充分利用SNR来最大化发送速率。AP从三个方面入手:
- Bandwidth
- MIMO
- Coding Rate
AP发现即使使用最高的coding
rate =5/6,最大带宽= 160MHZ,依然无法充分利用SNR。AP发现手机有两根天线(association request),于是使用2个spatial stream。用户此时会发现网速飞了起来。
其实,手机的高SNR依然没有充分利用起来,因为一切已经到了极限。如果允许更大带宽(大于160),或手机有更多天线,网速还要快。我们称由于带宽不足造成速率受限为bandwidth-limited,称由于天线不足造成速率受限为spatial-limited。
既然一个手机的天线数量受限,为了不让AP的下行能量浪费,AP会使用MU-MIMO,由于AP拥有4根天线,只要下行接收天线大于等于四根,就可以充分利用AP的四根天线,从而同时传输4路数据(4个空间流)。
再回到房间B,A房间的AP到B的信号,大体有穿墙的直射信号,反射一次的信号,大于一次的反射、散射信号。
反射一次的信号,从门直射过去,在房间B再反射一次到达手机(一次衰减)。门的面积有限,能够直射到房间B并发射到手机上的信号会更加有限。
直射由于墙体的存在,也经过一次衰减。而两次或两次以上的信号衰减相比可以忽略不计。
相比房间A,房间B信号不仅有以上的信号衰减,还有一个距离衰减(Large-scale Fading),信号强度和距离的平方的倒数成正比。
以上两个因素的综合,使得AP在测量手机上行信号时,得到的SNR可能要比房间A的测量小一个数量级。为了使得AP到手机的下行数据能够匹配SNR(小),AP经过智能决策,认为与手机A通信既不是bandwidth-limited、也不是spatial-limited,而是energy-limited。决定通信速率的瓶颈(throttle)既不是带宽不足,也不是天线不足,而是能量不足。此时,即使使用最小的20MHZ,一个空间流,高阶 QAM都不能保证出错概率维持在一个较小值。
AP会使用BER(Bit Error Rate)作为一个硬指标(上限值),在MCS里找到一个满足BER的最大MCS(Modulation
Coding Scheme)。经过挑选,最终选择了30Mbps的一个MCS作为传输速率的参数。
