中国计量学院本科毕业设计(论文)
RSSI测距所需的成本较低,只需收发装置即可。在给定信号发射功率的情况下,根据设备自身接收到的功率来计算路径损耗。通过预先建立的理论或者信号传输模型,可以根据路径损耗计算出实际的距离。当距离增大时,由于多径效应信号的能量会以减因子的形式减少,从而使RSSI测距的测量精度减小。在信号传播模型建模的过程中,环境因素的影响使得它产生了较大的测距误差。在传播相同距离的情况下,由于多径传播、非视距、天线增益等因素的影响都将会得到不同程度的损耗 [25]。
3.2 经典的信号衰减模型
自由空间的无线电传播路径损耗模型 [26] 由式(3-18)给出:[27]
Loss?32.44?10nlgd?10nlgf……………………(3-18)
式中:d为接收端与发射端的距离(km);f为无线电传播的频率(MHz);n为路径衰减因子,一般取2~5。运用到实际情况中,因为其他因素影响,信号传输路径损耗和理论值有不同,常采用对数常态分布模型,式(3-19)给出模型的表达式:
PL(3-19) (d)?PL(0d)?10nlg(dd……………………)0/?0X式中:PL(d)为经过距离d后的路径损耗(dBm);d0是参考距离,通常取值1 m;
X0是平均值为0的高斯分布随机变数,其标准差一般是4~10。PL(d0)是经过参考距离d0后的路径损耗。由式(3-18)和式(3-19)可以得到接收端的信号强度,由式(3-20):
(3-20) Pr(d)?Pt?PL(d)……………………………
式中:P,也可以表示成RSSI(d),为发射信号功r(d)为接收信号强度(dBm)率(dBm)。
基于这样的原理,IEEE802.15.4给出了简化的信道模型 [28],由式(3-21)得:
21?0?2dldg?,m8?Pt?40.? RSSI(d)??…………….(3-21)
P?58.5?10?3.3?lgd,d?8m?t图3.4表示出了上述模型在接收信号强度RSSI与距离d之间的关系。从式(3-21)可以得出,信号的衰减和距离存在着指数衰减的关系,而且节点之间相距越短,则路径衰减因子k越小(k?2);而距离越长,衰减越大(k?3.3)。虽然IEEE802.15.4把上述模型做了精简,但是要计算幂级数形式对硬件部分的性能要
13
中国计量学院本科毕业设计(论文)
求很高。在信号衰减特性曲线中发现,距离越近,衰减曲线就越陡直,距离越远,曲线就越平缓。因此,可以用分段逼近的方法来拟合衰减曲线。
图 3.4 接收信号强度RSSI与距离的关系曲线图
3.3手机端和服务器端之间的数据交互
Android手机和服务器端的数据交互常用的有三种方式,分别是HttpClient/HttpUrlConnection、Web service、Socket。本项目中由于要查询基站所处的经纬度信息,必须要连接网络上的数据方能实现。在软件设计中使用了HttpClient/HttpUrlConnection的方法进行数据交互。
HTTP 协议是现在 Internet 上使用频率最高的协议,大量的 Java 应用程序直接或间接使用 HTTP 协议进行网络访问。HttpClient是Android SDK中集成 Apache的一个模块,可以直接调用封装好得到HttpClient类来实现。通过HttpClient类可以实现HTTP协议中的GET,POST,PUT,HEAD等方法,可通过这些方法向基于HTTP 协议的服务器提交请求,从服务器端得到返回的响应,将响应进行解析即可得到所需数据。本项目中得到的响应是以 JSON格式呈现的,所以还需对JSON格式的数据进行解析。
14
中国计量学院本科毕业设计(论文)
4 系统方案设计
本章主要介绍系统的整体架构的设计,以及总体的设计思路。该项目是一个安卓程序,分为了两个屏幕(即两个Activity)来展现所有的功能,总共包括基站信息采集模块、Wi-Fi信息采集模块、信息传递模块、定位计算模块、定位辅助模块、经纬度获取模块、地图标注模块七大模块。系统整体架构图如图 4.1。
图 4.1 系统整体架构图
4.1 第一个Activity设计思路
第一个Activity也就是进入软件首先看到的界面。这个界面主要包含了基站信息采集模块、Wi-Fi信息采集模块这两个模块的信息。基站信息采集模块收集了当前基站及邻区基站的LAC、CID、RSSI信息,而Wi-Fi信息采集模块则采集了发送无线设备的BSSID,两个模块单独工作,并将这些信息从上之下显示在了第一个Activity上。同时在这两个界面上还包含两个按钮“更新数据”和“去地图标注”分别用于更新当前各项数据和直接在地图上进行标注。这个界面设置的目的在于方便使用者查看接收到的各项信息是否正确,是否需要更新数据或者直接跳转到下一个Activity在地图上进行标注。
4.2 第二个Activity设计思路
第二个Activity是从第一个界面在点击“去地图标注”按钮跳转后的界面,也就是对地图进行基站及定位结果进行标注的页面。当在第一界面点击“去地图
15
中国计量学院本科毕业设计(论文)
标注”按钮后,通过信息传递模块会将在第一个Activity中两个模块所获取的有用数据传递到第二个Activity中,同时页面跳转到第二个Activity中。
第二个Activity中的定位计算模块和定位辅助模块在得到信息传递模块所传输的数据后,会进行判断是否需要使用定位辅助模块进行辅助定位计算并最终给出结果,将结果传递给经纬度获取模块。经纬度获取模块收到数据后,将这些数据转换为经纬度数据。地图标注模块直接用经纬度获取模块处理过后的经纬度数据在地图上进行标注,并以文字形式在界面上显示定位方式和定位的结果(是否成功)。
16
中国计量学院本科毕业设计(论文)
5 详细设计及实现
本项目设计来为实现周边基站搜索,提供定位等功能需求,主要的功能模块有五个,分别为基站信息采集模块、获取经纬度模块、定位计算模块、定位辅助模块、信息传递模块、地图显示模块。
5.1 基站信息采集模块
基站信息包括当前服务基站信息的移动国家代码、移动网络号码、位置区域码、基站编号、信号强度以及邻区基站的位置区域码、基站编号、信号强度。此处涉及的Android API有TelephonyManager、GsmCellLocation。TelephonyManager用于管理手机的一些基础服务信息,GsmCellLocation 用于获取CID(基站编号)、LAC(位置区域码)等信息。如图5.3所示为基站信息采集的效果图
主要实施的步骤如下:
(1)首先在AndroidManifest.xml中添加权限: android:name=\ion> android:name=\n> android:name=\ android:name=\(2)然后通过TelephonyManager的getNetworkOperator方法获得MCC和MNC,TelephonyManager在使用之前需要经过实例化获得手机系统服务。通过GsmCellLocation的getCid、getLac方法获得CID、LAC。通过getRssi方法获取邻区基站的信号强度,而当前基站的信号强度需要通过监听器MyPhoneStateListener的监听来获得。同时给更新数据功能绑定一个监听器UpdataListener,当按下按钮“更新数据”就自动更新基站信息。 17 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于Android系统的基站定位实现毕业论文(6)在线全文阅读。
相关推荐: