山寨移动通信 — OpenBTS

February 22nd, 2010 1 comment

昨天很偶然的机会在sourceforge上发现了OpenBTS项目,看起来很震撼,简言之这个项目就是为了我们能自行搭建移动电话网络而设计的。

一个基本的移动电话需要手机、基站(BTS)、基站控制器(BSC)、移动控制中心(MSC)、(HLR/VLR)、用于链接基站、各种控制中心和PSTN网络的传输线路。下图就是一张目前广泛使用的GSM网络的架构,感兴趣的可以看一下wikipedia的介绍,Cellular network

而OpenBTS项目的目的就是提供了除手机之外的运营商设备的解决方案。OpenBTS实现了无线收发,尤其是频段的处理;另一个是移动网络用户 的注册和交换,尤其是替代传统的基站(BTS),基站控制器(BSC),移动控制中心(MSC),以及(HLR/VLR)的另类方案,而不用购买昂贵的局 端设备。

先看一个实际的OpenBTS的设备图,以下是一个在实际运行的移动网络的设备组成图:

无线电射频硬件部分的组成:

上面的一张图介绍了OpenBTS使用的无线电射频部分的组成,其关键是关键部件是Universal Software Radio Peripheral,通用软件无线电外设。而这个也是OpenBTS的核心所在!
传统的无线电的信号处理基本上是由纯硬件设备完成,而USRP的实现是把复杂的信号处理给PC的软件来处理,包括信号的调制和解调和线路的交换等。而最基 础的射频信号处理,例如数字信号的变频,内插和抽样等,交给USRP上的FPGA来完成,并通过USB来链接PC。

这种把高级特性交给软件,底层处理交给硬件的做法即保证了系统的性能也方便了系统的扩展。

而以上的这几部分只是着重介绍了移动网络中的无线电射频部分,整个移动电话网络系统的全貌看下图:

0,OpenBTS,充当了手机基站(BTS)和基站控制器(BSC),他的基本功能是调制和解调,并为每一个通信分配一个信道频率。

1,Asterisk,充当了移动交换中心(MSC)和电话交换中心。如果是一个OpenBTS网络内的用户通信,那么Asterisk负责直接在 网内建立通信链接;如果是拨打外网的电话,那么Asterisk通过VoIP gateway连接PSTN网络。

2,MySQL,负责手机用户帐号管理,记录通话信息和数据,同时也负责传统移动网络中HLR(Home Location Register)和VLR(Visitor Location Register)的存储职能。

天线,射频硬件和USRP,通过USB端口,连接到一台PC上,运行free software,接入Internet,就组成了一个完整的移动电话网络。