基于GSM网络的本地手机用户监测方法案例

基于GSM网络的本地手机用户监测方法案例

ID:42876150

大小:599.50 KB

页数:23页

时间:2019-09-24

基于GSM网络的本地手机用户监测方法案例_第1页
基于GSM网络的本地手机用户监测方法案例_第2页
基于GSM网络的本地手机用户监测方法案例_第3页
基于GSM网络的本地手机用户监测方法案例_第4页
基于GSM网络的本地手机用户监测方法案例_第5页
资源描述:

《基于GSM网络的本地手机用户监测方法案例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于GSM网络的本地手机用户监测(Y2011073)----戴鸿举项目目标及预期成果目标:通过一套设备实现检查并监测本地GSM手机用户的通信情况。预期成果:软硬件设备一套,硬件包括USRP2母板和子板,软件包括基于Linux的几个开源项目及自己编写的配套程序。项目进展情况1.深入了解了GSM通信流程、相应协议及其认证过程。2.仔细阅读了OpenBTS源码。3.成功搭建了GNURadio运行环境4.详细了解了USRP2的相关信息及其配置过程。GSM相关认证流程相关协议(2)部分OpenBTS源码介绍OpenBTS是基于软件的GSM接口,与USRP相配合可

2、以了解硬件(USRP)传输过来的数据是怎么被处理的可以了解GSM协议栈是怎么实现的OpenBTS中主要有3个模块1)USRP_Device是和USRP版通信的最前端模块,主要负责接收USRP板上的采样数据,同时将上层的数据交与USRP板用于发送2)Radiointerface是中间处理模块,连接transceiver和usrp_device,主要的功能是采样率的变换3)Transceiver这个模块完成和GSM上层的通信,将上层交与的比特信息调制成基带信号发送,同时接收来自radiointerface的数据,判断数据的类型,交与上层处理//Transc

3、eiver.cpp//OpenBTS中transceiver的工作流程.....//入口Transceiver::start() voidTransceiver::start() {mControlServiceLoopThread->start((void*(*)(void*))ControlServiceLoopAdapter,(void*)this); }.../*启动了线程mControlServiceLoopThread,对应的执行函数是ControlServiceLoopAdapter。mControlServiceLoopThread是用

4、于和GSM上层控制信息通信的线程ControlServiceLoopAdapter为其对应的执行体程序*/...void*ControlServiceLoopAdapter(Transceiver*transceiver) {while(1){transceiver->driveControl();pthread_testcancel();}returnNULL; }...//driveControl用来处理同GSM控制信息的执行程序...voidTransceiver::driveControl() {……mFIFOServiceLoopThread

5、->start((void*(*)(void*))FIFOServiceLoopAdapter,(void*)this);mTransmitPriorityQueueServiceLoopThread->start((void*(*)(void*))TransmitPriorityQueueServiceLoopAdapter,(void*)this);……}.../*启动了两个线程:mFIFOServiceLoopThread是主要线程,而用于数据读取以及和radiointerface通信的线程FIFOServiceLoopAdapter是其执行程序

6、。 mTransmitPriorityQueueServiceLoopThread用于处理GSM上层需要发送的数据 */...void*FIFOServiceLoopAdapter(Transceiver*transceiver){while(1){transceiver->driveReceiveFIFO();transceiver->driveTransmitFIFO();pthread_testcancel();}returnNULL;.../*driveReceiveFIFO();是读取radiointerface的处理程序driveTrans

7、mitFIFO();和往radiointerface写数据的程序注意他们在同一个线程当中,这样做的目的是为了定时简单,避免冲突*/...voidTransceiver::driveReceiveFIFO(){rxBurst=pullRadioVector(burstTime,RSSI,TOA);mDataSocket.write(burstString,gSlotLen+10);}.../*pullRadioVector(burstTime,RSSI,TOA);具体的信号接收处理部分,接收的数据将会返回到rxBusrt中,然后封装成udp报文,交于上层

8、处理*/...SoftVector*Transceiver::pullRadioVector(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。