Network 20Q--Q1 Cellular Network

去年从coursera.org上看到《Network 20Q》这门课程,觉得挺有意思,于是下载下来了。这门课程是以问题为导向,总共20问,课程对于每一问都有详细讲解。

希望能把这20问都看完,并且认真思考,记下课程笔记和总结。

Cellular Network(蜂窝网络)这个名词对于使用智能手机的用户来说,并不陌生,但是很多人并不了解或者理解蜂窝网络。

蜂窝网络是一种移动通信架构,在这种架构下,移动通信信号所覆盖的区域可以划分为一个个正多边形,看上去就像蜂窝一样,蜂窝网络的名字就由此而来。有一个数学结论,用相同半径(可以理解为中心点到多边形顶点的距离)的正多边形去覆盖一个区域,当正多边形的边数越多,所需覆盖的正多边形的个数越少。极限情况下,正多边形的边数无限多,就得到圆形,那么在半径相等的情况下,用圆去覆盖一个区域,可以使需要用于覆盖的图形个数最少。具体到实际网络中,我们当然希望所需覆盖的正多边形个数越少,这样就可以节省信号收发基站的数量。但是,如果用圆去完整地覆盖一个区域的话,肯定会有重叠的部分,这样对应于实际网络中,就意味着信号干扰。于是在这个实际应用中,用圆形不是一个好的选择。另外一个数学结论,只有正三边形、正四边形和正六边形才能做到无重叠地覆盖一块区域。那么综合上述两点,既要使正多边形边数最多,又要使得覆盖时没有重叠,那么就非正六边形莫属了,实际上我们现在所使用的蜂窝网络,信号覆盖区域,几乎都是被划分为多个正六边形。

我们手机上所使用的2G、3G网络都是蜂窝网络,而WIFI这样的网络则不是蜂窝网络,其区别主要在于2G、3G网络有多个信号收发基站,这些基站分布在信号所覆盖的各个地方,而WIFI这样的网络,对于每个WIFI网络只有一个信号收发基站。对于有多个分布式基站的蜂窝网络,每个基站所覆盖的区域相对不是很广,不需要将信号传送到太远,这样可以节省发送信号的能量,另外,由于蜂窝网络的每个区域的覆盖面积不是很大,在这个区域里面的网络使用用户也相对较少,这可以减少这个区域网络的信号干扰和“噪音”。

蜂窝网络大概的结构如下图所示:



蜂窝网络最初是基于FDMA(Frequency Division Multiple Access)协议的,也就是计算机网络里面的频分多址协议。大概可以这样理解这个协议:整个通信网络信号有个通信频率范围,在这个频率范围基础上,可以划分成多个不重叠的频率范围分配给不同的用户(群)。大概可以用下图来描述:


具体到蜂窝网络,将给定的频率范围划分给不同的信号覆盖区域(不同的蜂窝),那么最后可以形成这样一种情况,不同的蜂窝会有不同的相互不重叠的信号频率范围,这样一来,同一个蜂窝内的移动设备只能识别这个频率范围内的信号,对于不是这个频率范围的信号就会忽略。移动信号是广播的,那么当其它蜂窝的信号传到本蜂窝时,由于信号频率范围不在指定范围,将会把这些信号看作“噪音”,从而忽略这些信号。

现在还有个问题,之前提到,不同的蜂窝会有不同的相互不重叠的信号频率范围,那么当蜂窝足够多的时候,频率范围会不够划分。应对这个问题一种方法是增大频率范围,这种方法只能缓解频率范围不够分的困难,不能根本解决,因为蜂窝网络的个数实在太多;另一种是把划分的每个频率范围宽度设置小点,频带范围宽度影响着信号传输速度,当范围很小时,将会严重影响信号传输。比较理想的一种解决方法是频率复用,这个方法主要是基于信号传输衰减原理提出的。我们都知道,当我们的手机距离信号塔比较近时,信号将会非常好,当距离信号塔较远时信号相对不好(由于现在信号塔覆盖范围的广而密集,感觉不是很强烈了),这是由于信号的能量在传输的过程中会衰减,衰减的程度大概是d^(-2)--d^(-4),d表示传输距离,^表示指数符号,假如刚从信号塔传输出来的信号能量是p,那么当传输距离达到d时,这是的信号能量可能是p*[d^(-2)--d^(-4)]这个范围的任何一个值,具体衰减多少要看传输环境。那么有了这个原理,那么对于两个相距足够远的两个蜂窝,可以重用同样的频率范围。

同样的,在同一个蜂窝网络内,还可以将频率范围继续细分给不同的用户。

而我们现在所用的蜂窝网络都是基于CDMA(Code Division Multiple Access)协议,CMDA也就是计算机网络里面的码分多址协议。相对FDMA,是将频率范围直接划分为多个频带范围,这可以看成物理意义上的划分。而CDMA却不再是针对频率划分,即使相邻的蜂窝也可以用相同的频率范围,它是根据码率来划分的,可以看成逻辑意义上的划分。具体的,使用CDMA协议,将会对每次发送的信号前面加一小段代码头,相当于对信号进行加密,之后在所有接收到这个信号的端,对这个加密代码进行解密,如果能解密就接收,不能的话就当作噪音忽略。更具体地,假如信号发送出去的信号加了一段这样的代码(00100101),每个接收端都会有特定的解密代码,那么在接收端会对接收到信号的加密代码进行取反,那么接收到的加密代码会变成11011010,再将取反后的加密代码和自己的解密代码进行与运算,如果结果是0,则接收,否则就忽略。那么如果某个接收端的解密代码是00100101,与11011010进行与运算就刚好为0,接收信号,否则如果解密代码是其它任意的,都不能接收信号。基于CDMA的蜂窝网络的其它部分大致和基于FDMA的蜂窝网络相似。

之前提到过,在同一个蜂窝网络内,还会将频率范围或者码率继续划分给不同的用户,这样用户可以识别哪些信号是发送给自己的,哪些不是的。当用户接收到不是发送给自己的信号时,就是“噪音”,忽略。尽管对于不是发送给自己的信号忽略了,但毕竟还是对这些噪音进行的处理,而且当噪音比较多时,还会影响到接收发送给自己的信号(因为要忙于处理那些信号)。具体地,首先看下图:


理想情况下,Transmitter1将信号发送给Receiver1,Transmitter2发送给Receiver2。但是实际情况中,会出现Transmitter1发送给Receiver2或者Transmitter2发送给Receiver1的情况,这就出现了噪音。

对这种情况进行量化,我们可以把Transmitter(i)到Receiver(j)看作一个逻辑的信道C(j, i),那么上图有四个信道,定义G(j, i)为信道C(j, i)的信号衰减率。

定义SIR(i)为Receiver(i)的信号干扰噪音比(Signal to Interference noise Ratio),那么:

SIR(i) = P(i)*G(i, i)/(sum(P(j)*G(i, j))+N(i)), j != i, P(i)表示Transmitter(i)发送信号的能量,N(i)表示Receiver(i)的噪音(物理误差),是个常量。

由上述公式所知,除了P(i)以为,其它都是常量,那么如何选定P(i),使得每个SIR都达到一个目标值呢?这就是接下来DPC(Distribute Power Control)算法所要做的。

设每个SIR(i)的目标值为Target(i),那么DPC算法可以描述如下:

P(i, t+1) = Target(i)/SIR(i, t)*P(i, t),可以直观地这样理解,当SIR低于Target的时候,Target(i)/SIR(i, t)这个值会大于1,那么P(i, t+1)会大于P(i, t),随着能量P(i)的增大,SIR(i)也会相应地增大;而当SIR高于Target的时候,Target(i)/SIR(i, t)这个值会小于0,那么P(i, t+1)会小于P(i, t),随着能量P(i)的减小,SIR(i)也会相应地减小。就是这样一个迭代过程,不断进行,直到收敛。Target的取值需要注意一下,因为有的取值不一定能是DPC算法最终收敛,很明显,当每个Target值都取很大时,DPC算法就没法收敛,因为根本无解。

实际应用中,不仅要求每个SIR达到Target值,还需要使sum(P(i))的值最小,很明显,节能省钱嘛。

那么就得到这么一个优化问题:

目标:最小化sum(P(i))

条件限制:SIR(i) >= Target(i)

变量:P(i)

常量:G(i, j), Target(i), N(i)

SIR(i) >= Target(i)可以化为:P(i)*G(i, i)/(sum(P(j)*G(i, j))+N(i)), j != i   >=   Target(i),继续化为:P(i)*G(i, i)- Target(i)*(sum(P(j)*G(i, j))+N(i)), j != i   >= 0

那么对于每个i值,都会又一个这样的不等式,这样一来就转化为一个线性规划问题了。


参考资料:

1、《Network 20Q》, Princeton

2、http://en.wikipedia.org/wiki/Cellular_network

3、http://baike.baidu.com/view/779022.htm?fr=aladdin

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值