设为首页 收藏本站
查看: 1178|回复: 0

[经验分享] 基于 WiFi ( Wireless Fidelity) 的室内定位技术

[复制链接]

尚未签到

发表于 2015-10-1 11:07:20 | 显示全部楼层 |阅读模式
  系统的拓扑结构
DSC0000.jpg
  基于信号强度的定位技术(RSSI, Received Signal Strength Indication)
  无线信号的信号强度随着传播距离的增加而衰减,接收方与发送方离得越近, 则接收方的信号强度就越强;接收方离发送方越远,则接收到的信号强度就越弱。 根据移动终端测量接收到的信号强度和已知的无线信号衰落模型,可以估算出收发方之间的距离,根据多个估算的距离值,可以计算出移动终端的位置。在室内环境下,AP(Access Point)的信号覆盖范围一般在 100 米的范围以内,无线信号在传输过程中,接收信号的功率强度与传输距离存在着某种变化关系,找出特定环境中的变化关系,就可以应用于定位技术。目前基本的无线信号传播模型主要有两种:确定性模型 经验模型
  确定性模型又称射线光学或射线跟踪模型,即将高频无线信号看作向不同方向发出光线,再依靠对室内环境信息的详细建模,对每一根射线进行跟踪来建立无线信号传播模型。当无线信号在自由空间传播时,其路径可认为是连接收发信机的一条射线,可用 Ferris 公式计算自由空间的电波传播损耗:
  PL = – Gr – Gt + 20log(4πR/λ) = Gr + Gt + 22 + 20log(R/λ)
  式中 Gr 和 Gt 分别代表接收天线和发射天线增益(dB),R 是收发信机之间的距离,单位为米,λ 是波长。 当 λ = 12.3 cm 时 (f = 2.44GHz) 可得出:
  PL(2.44) = – Gr – Gt + 40.2 + 20log(R)(3.2)  
  经验模型是基于某一特定环境下的实际测量结果。在实际中发射机和接收机在特定环境中置于不同的距离和位置,测量其功率损耗,通过收集大量的数据导出功率损耗曲线及其函数。平均值结果显示其功率衰落要远大于自由空间的传播公式所得出的结果。在自由空间模型中,功率衰落同收发信机的距离的平方成反比。室内 传播经验公式显示在室内环境中的功率衰落同距离的 34 次方成反比。这是因为通过不同路径到达接收天线的电磁波产生的多径效应对主信号产生严重干扰的结果。
  用 最小均差法 算出传播损耗的近似值。
PL(indoor-2.4GHz) = 40 + 31log(R) + 8 ;R 即为系统在室内环境中传播的最大距离。
  从室内无线信号传播的特点分析,经验模型更适合室内定位系统的建模。我们采用 如式 (1) 所示模型对无线信号的路径损耗平均值进行预测:
DSC0001.png
  其中,nA 为由环境决定的路径损耗指数,对同一楼层的不同区域根据实际测量采用不同值;WAF 为需由实验测定的墙壁衰减因子,需对不同墙体进行实际测量;df 为发射天线周围可等效为自由空间的范围,通常为2米;d0 = 1m 为参考点距离, 此时 PL(dO) ≈ 40dB。
  定位环境中由于空气的流动,温度的变化,人员走动等原因,空间中每一个点测得的信号强度会随时发生变化,同时收发天线的方向也能够影响该点的信号强度,移动终端测得的信号强度值的随机性比较大,对移动终端的信号强度采用的不同处理方法会影响定位误差。为了达到减小定位误差增加定位精确度的目的,我们采用概率模型的方法。在定位系统中建立概率模型。
  首先,实验表明实际无线通信中同一个信号源,在同一空间的同一位置的无线信号强度被认为是服从高斯分布的。无线信号在空间传播的理想情况是,信号强度与空间传播距离存在函数关系。但是由于实际环境中存在反射和散射等现象,造成了多径衰落,其他使用该频段的设备相互干扰等,使得相同信号源的无线信号在同一空间的同一位置上,其信号强度会随着时间变化发生变化并不是一个确定值,具有一定的随机性,但是服从高斯分布。
  其次,使用基于信号强度的定位方法,定位服务器必须保存定位环境中不同信号源在不同点的信号强度的分布情况,想要保存每一个点的信号强度的分布情况是不可能的,而定位环境中信号源在各个点的信号强度是服从高斯分布的,可以通过保存信号强度的高斯分布平均值与标准差,来保存信号源在每个点信号强度的高 斯分布的特征并且尽可能的减少要保存的数据量。
  再次,不同信号源的无线信号在空间同一位置的信号强度独立存在,即一个信号源的无线信号存在与否和信号强弱均不会影响其它信号源的无线信号在该点的信号强度。这样各个信号源的信号强度在空间同一位置的强弱被认为是概率学中的独立事件,不同信号源之间的无线信号强度不会相互影响。由于不同的信号源的无线信号在空间分布相互独立,并且信号源在空间给定位置的信号强度服从高斯分布,则可以使用联合概率分布来描述多个接入点在空间无线信号的分布情况。
  最后,进行实时定位时,移动终端需要将收集到的各个不同信号源在该点的信号强度等定位数据,发送给定位服务器,定位服务器利用已经保存的定位环境中特定点的信号强度的高斯分布的平均值和标准差,根据在当前点实时测得的对应信号源的信号强度,去计算覆盖当前点的所有信号源的联合高斯分布概率。这个概率值 越大,表示移动终端当前位置越靠近定位服务器已经保存的点。 由于定位空间的连续性和定位服务器存储空间的有限性,将定位环境内所有点的信号强度的高斯分布特征保存下来是不可能的。所以在定位环境中根据环境的特点选取一些特定的称为训练点,并将这些训练点的信号强度的高斯分布特征保存下来,使这些点成为定位移动终端的基准点,所有的定位结果都是以训练点作为参考点来产生的。
  对于每一个室内环境的无线局域网,首先构建无线信号强度分布图,即构建信号强度经验值数据库。室内平面图,AP 位置,AP 发射功率等均已确定,在移动终端可能出现的概率较大的地方分不同方向(天线具有一定的方向性),多次采集信号强度,以此作为构建经验值数据库的数据。采集的数据格式如下:
(position_x, position_y, RSSI, MAC)     (2)
  其中,position_X,position_y 是当前位置坐标,RSSI 是当前位置所收到的信号强度,MAC 是该 AP 点的 MAC 地址,用来区分不同的 AP 点。 完成采集以后,对采集的值数据进行预处理,目标数据格式如下:
(position_x,position_y,RSSI_AVG,RSSI_DEV,MAC)    (3)
  其中,position_x,position_y 是当前位置坐标,RSSI_AVG 是该 AP 的 RSSI 均值,RSSI_DEV 是该 AP 的 RSSI 的标准偏差,MAC 是该 AP 点的 MAC地址。 为了保存训练点的信号强度高斯分前i的特征,同时考虑到对这些数据的修改与更新的方便,使用数据库来保存这些数据。由于实时定位时定位服务器需要接入点 MAC 地址等信息,所以保存训练点信号强度的数据库的表的结构定义为如下:
DSC0002.png
  系统软件总体设计
  系统软件分为服务器端软件和客户端软件。
  服务端软件按功能主要分为:定位模块,系统管理模块,定位显示模块三大模块。
  客户端软件按主要功能分为:数据采集模块和数据发送模块。
DSC0003.png
  客户端定位数据消息格式
  客户端发送给定位服务器的消息主要包括在当前点有无线信号的接入点的总数和这些接入点的 MAC 地址以及这些接入点的信号强度
DSC0004.png
  定位信息的链表结构
  接受定位数据模块使用链表来保存定位信息,链表的长度由客户端发送消息中第一个字段确定,链表节点保存的信息包括接入点的 MAC地址、对应接入点的信号强度值和下一个节点的位置



1 typedef  struct  Info{
2     char  MAC[13];
3     float  RSSI;
4     struct  Info *next;
5 }LS_info
  计算定位结果模块
  以定位信息链表的头结点作为参数,根据定位链表中的信息使用 ODBC 从数据库中取出相应的值,计算出当前点与每个训练点的接近概率。选出接近概率最大的三个训练点,将这三个点的坐标求算术平均值得到定位结果。计算定位结果模块伪码如下:



1 输入参数:定位消息链表头指针
2 输出参数:指向定位结果的指针
3
4 BEGIN
5
6 循环标量 i 初始化为1;
7 获取定位数据库中训练点总数 TP_Num;
8
9 WHILE( i <= TP_Num){
10
11     循环变量 j 初始化为 0;
12     将链表头指针赋值给局部指针变量;
13     临时总的接近概率 temp_prob 初始化为 1;
14     获取链表长度 Li_Len;
15
16     WHILE( j < Li_Len){
17
18         根据局部指针读取定位信息链表中的MAC地址和信号强度值;
19         根据MAC地址和循环标量 i 从数据库取出对应的信号强度平均值和标准差;
20         计算当前接入点高斯分布概率 prob;
21         temp_prob = temp_prob * prob;
22         局部指针指向链表的下一个节点;
23         j++;
24     }
25
26     比较 temp_prob 与 最大概率保存数组中最小值的大小;
27     如果 temp_prob 较大,则用 temp_prob 替换数组中的最小值,并保存该训练点的相关信息;
28      i++;
29 }
30
31 将最大概率数组对应的训练点的坐标就是平均值的定位结果
32 将定位结果写入定位日志;
33 返回定位结果;
34
35 END
  
  服务端数据库设计
  1、用户表

字段类型描述
IDnumber用户ID号
Nametext登录系统的用户名
Pwdtext登录系统的密码
Role_Codechar用户权限(Admin/User)
  
  
  
  
  
  2、移动设备表

字段类型描述
IDNumber设备 ID 号
Nametext设备名
Destext设备描述
  
  
  
  
  3、AP 表

字段类型描述
IDNumberAP ID 号
NameTextAP 名
DesTextAP 描述
SsidTetxAP SSID 描述
MacTextAP MAC 描述
  
  
  
  
  
  
  4、定位数据表

字段类型描述
idNumber主键
xNumber某一点的 x 坐标
yNumber某一点的 y 坐标
direChar某一点朝向
num_apNumberAP 编号
rssi_avgNumber该 AP 在某一点某方向的信号强度平均值
rssi_devNumber该 AP 在某一点某方向的信号强度标准偏差
ssidChar该 AP 的 SSID
mac_addrChar该 AP 的 MAC 地址
add_infoChar备注
  
  
  
  
  
  
  
  
  
  
  
  【参考文献】
  1、《2010.基于WiFi技术的定位系统的设计与实现》
  2、《一种基于WiFi的室内定位系统设计与实现》
  【附录】
DSC0005.gif
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-121254-1-1.html 上篇帖子: Ing_破解wifi 下篇帖子: Win7 Wifi和安卓端连接
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表