up目录

一、理论基础

二、核心程序

三、测试结果


一、理论基础

Received Signal Strength Indication接收的信号强度指示,无线发送层的可选部分,用来判定链接质量,以及是否增大广播发送强度。通过接收到的信号强弱测定信号点与接收点的距离,进而根据相应数据进行定位计算的一种定位技术。如无线传感的ZigBee网络CC2431芯片的定位引擎就采用的这种技术、算法。接收机测量电路所得到的接收机输入的平均信号强度指示。这一测量值一般不包括天线增益或传输系统的损耗。

RSSI(Received Signal Strength Indicator)是接收信号的强度指示,它的实现是在反向通道基带接收滤波器之后进行的。为了获取反向信号的特征,在RSSI的具体实现中做了如下处理:在104us内进行基带IQ功率积分得到RSSI的瞬时值;然后在约1秒内对8192个RSSI的瞬时值进行平均得到RSSI的平均值,即RSSI(平均)=sum(RSSI(瞬时))/8192,同时给出1秒内RSSI瞬时值的最大值和RSSI瞬时值大于某一门限时的比率(RSSI瞬时值大于某一门限的个数/8192)。由于 RSSI是通过在数字域进行功率积分而后反推到天线口得到的,反向通道信号传输特性的不一致会影响RSSI的精度。
       在空载下看RSSI的平均值是判断干扰的最主要手段。对于新开局,用户很少,空载下的RSSI电平一般小于-105dBm。在业务存在的情况下,有多个业务时RSSI平均值一般不会超过-95dBm。从接收质量FER上也可以参考判断是否有干扰存在。通过以发现是否存在越区覆盖而造成干扰,也可以从 Ec/Io与手机接收功率来判断是否有干扰。对于外界干扰,通过频谱仪分析进一步查出是否存在干扰源。

目前最主要的室内定位算法基本都是脱胎于三角定位算法、指纹定位算法、质心定位算法,前两者的核心思想是通过手机系统的SDK获取到周围各个AP(Access Point)发送的信号强度RSSI(Received Signal Strength Indication 接收信号指示强度))及AP地址,跟据信号衰减模型(信号强度与距离信号源的距离相关)来确定位置,三角定位算法和指纹定位算法使用不同的方式来确定该位置,而质心定位算法则是利用网络的连通性进行定位。

三角定位算法

  三角定位算法在需要进行定位的空间放置3个AP,并且3个AP的位置已知,如果知道该空间内某位置的信号强度则可建立信号衰减模型,根据该信号强度计算出该位置到三个AP的距离使用某位置移动设备的信号强度即可估算出其到附近AP的距离,如果能确定若干AP的位置,即可确定该移动设备的位置,显然,三角定位算法只适用于固定场所的定位,并且由于障碍物的存在,信号衰减模型在实际使用时会存在一定误差。

在线定位阶段

  在进行定位时,根据实时获取当前RSSI及AP地址,将该信息上传到服务器按一定规则进行匹配,常见的匹配规则有KNN、神经网络、随即森林等等,本质上其实就是分类算法,根据观测数据将RSSI划分到距离类中。

  显然,相较三角定位算法,指纹算法更加繁琐,对硬件、算法有着更高的要求,顺理成章的其定位精度也优于三角定位算法。

质心算法

  质心算法是一种基于网络连通性的质心定位算法,相较其它算法,其优越之处在于无需测距,其基本思想是:未知节点以所有在其通信范围内锚节点的几何质心作为自己的估计位置。传统的质心算法成本低、计算量小、简单易实现。然而,由于定位精度过度依赖于节点密度,并且精度也较低。为此,很多学者对质心定位算法进行了不同方式的改良,如,基于距离倒数的质心加权和基于RSSI倒数的质心加权算法以及基于最大似然估计的加权质心定位算法。
  关于具体的算法理论部分,等后面有时间再进行更新。

二、核心程序

..........................................for x=1:4gl1=0;gl2=0;gl3=0;gl4=0;for m=1:LoopNumm%生成移动节点坐标Dx=BorderHeight.*rand(1,1);Dy=BorderWidth(x).*rand(1,1);UN=[Dx,Dy];for j=1:BeanconAmountABeacon(:,j)=[j;(j-1)*Dis;0];%沿区域一侧生成信标节点坐标distance(:,j)=sqrt((Dx-((j-1)*Dis))^2+Dy^2);%计算移动节点到信标的距离endfigure(1);
..................................%用标准RSSI方法测算距离Loc=LocByRssi(UN,Beacon,distance,BeanconAmountA,R,BigBeacon,Dis,Dx,Dy,m,SBeta);%用动态路径衰落指数的RSSI方法测算距离X=LocByDRssi(UN,Beacon,distance,BeanconAmountA,R,BigBeacon,Dis,Dx,Dy,m,SBeta);%求点位误差、横向误差、纵向误差error1(1,m)=sqrt((abs(Dx-X(1)))^2+(abs(Dy-X(2)))^2);error1(2,m)=abs(X(1)-Dx);error1(3,m)=abs(X(2)-Dy);error2(1,m)=sqrt((abs(Dx-Loc(1)))^2+(abs(Dy-Loc(2)))^2);error2(2,m)=abs(Loc(1)-Dx);error2(3,m)=abs(Loc(2)-Dy);%统计两种算法误差落在1m以内的次数if error1(1,m)<1 gl1=gl1 +1; endif error2(1,m)<1 gl2=gl2 +1; end%统计两种算法误差落在1.5m以内的次数if error1(1,m)<1.5 gl3=gl3+1; endif error2(1,m)<1.5 gl4=gl4+1; endend
end
..................................................

三、测试结果

up00013

基于RSSI定位算法的matlab仿真相关推荐

  1. 【盲均衡】基于WMMA盲均衡算法的matlab仿真实现,并对比CMA/MMA/WMMA三种盲均衡算法的性能

    目录 一.理论基础(最小化加权多模盲均衡方法WMMA) 二.核心程序 三.仿真测试结果 四.CMA/MMA/WMMA对比 一.理论基础(最小化加权多模盲均衡方法WMMA) 盲目均衡是一种数字信号处理技 ...

  2. GDOP定位算法的MATLAB仿真

    clear,clc tic N=1; R=[1*(pi/180)^2 0;0 1*(pi/180)^2;]; % 3个观测站的位置S1,S2,S3,目标位置为T %%%%%%%%%   单位换算成公里 ...

  3. 【基于参数估计的ISAR定标MATLAB仿真实验】

    本章内容简介:分析了CPF(三次相位函数法),CICPF(相干三次相位函数法)和ICPF(积分三次相位函数法)三种LFM信号调频率估计方法,分析了基于LOG算子(高斯拉普拉斯)的散射点提取方法,进行仿 ...

  4. 【OMP信道估计】基于OMP压缩感知的信道估计算法的MATLAB仿真

    1.软件版本 MATLAB2021a 2.本算法理论知识 3.核心代码 clc; clear; close all; warning off; addpath 'func\'CYC = 20; for ...

  5. 【Kmeans】基于Kmeans的聚类算法的MATLAB仿真

    0.完整源码获得方式 ​​​​​​​方式1:微信或者QQ联系博主 方式2:订阅MATLAB/FPGA教程,免费获得教程案例以及任意2份完整源码 1.软件版本 MATLAB2021a 2.本算法理论知识 ...

  6. 【自适应盲均衡10】基于判决引导(Decision Directed)的多径衰落信道双模式盲均衡算法与MATLAB仿真(DD-CMA)

    关注公号[逆向通信猿]更精彩!!! 引言 判决反馈均衡器(Decision Feedback Equalizer, DFE)虽然能够避免线性FIR均衡器的噪声增强,适用于具有深度谱零点的信道均衡:但是 ...

  7. rssi定位算法 c语言,【论文※】An RSSI Gradient-based AP Localization Algorithm 基于RSSI梯度的AP定位算法...

    摘要:Recent rapid rise of indoor location based services for smartphones has further increased the imp ...

  8. 【图像修复】基于深度学习的图像修复算法的MATLAB仿真

    1.软件版本 matlab2021a 2.本算法理论知识 在许多领域,人们对图像质量的要求都很高,如医学图像领域.卫星遥感领域等.随着信息时代的快速发展,低分辨率图像已经难以满足特定场景的需要.因此, ...

  9. 保留已经定位区域MATLAB,基于HSV肤色提取与连通区域过滤的人脸定位算法(Matlab)...

    概述 本篇记录了利用基于HSV颜色模型的肤色提取与连通区域过滤实现图片的人脸定位,附带知识的介绍略烦多,附带Matlab相关程序代码. 一.预备知识 图像预处理 1.1 灰度化 在RGB模型中,如果R ...

最新文章

  1. linux 查看剪贴板历史,Clipboard History Manager插件,查看浏览器剪贴板历史记录
  2. python数据可视化利用_利用pyecharts实现python数据可视化
  3. ASP.NET Web Api 实现数据的分页
  4. MySQL 基础————常用数据类型
  5. 9W人脸清洗的问题--20170208
  6. python init main_python 模块中的 __init__.py __main__.py
  7. java页面分页显示代码_通用分页jsp页面显示
  8. 自己试着在阿里云布了个服务器
  9. 创建数据库以及该数据库下的表单
  10. IPTV软件提取后无法安装:显示安装失败,需求的共享用户签名错误!请大神帮助,谢谢
  11. 2022年起重机械指挥考试题库及模拟考试
  12. EditPlus中配置JSON格式化功能
  13. B2C 和 C2C 你们是怎么区别的?
  14. 学习做产品阶段性总结
  15. 算法问题——(树问题集合)
  16. 基础计算机教学论文,基础计算机论文,关于民办院校计算机基础课程实践教学体会相关参考文献资料-免费论文范文...
  17. uni-app最新获取微信头像方法getUserProfile?
  18. python IDEL中显示No module named requests错误
  19. 腾讯 在我过往人生中的一些记忆
  20. 陶泓达:本周最新走势分析及操作建议

热门文章

  1. 枚举算法经典日期问题详解java
  2. 《夜深人静写算法》数论篇 - (09) 最小公倍数
  3. 【JavaScript】颗粒归仓
  4. 营销新玩法~茧数SCRM智能表单不一样的玩法
  5. 三菱FX3U底层源码,PLSR源码 总体功能和指令可能支持在RUN中下载程序
  6. react在线文件_【前端新手也能做大项目】:从零打造一个属于自己的在线Visio项目实战【ReactJS 】 (一)...
  7. iOS上的这些神级APP,我竟然都没听说过
  8. Lua 定义二维数组
  9. 电脑实现web远程连接
  10. Python was not found; run without arguments to install from the Microsoft Store, or disable this sho