欢迎来到天天文库
浏览记录
ID:42876150
大小:599.50 KB
页数:23页
时间:2019-09-24
《基于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(
此文档下载收益归作者所有