clc;
clear,close all;
BorderHeight=1000;%区域长度
BorderWidth=[10,8,5,3];%区域宽度
BeanconAmountA=51;%信标节点数量
Dis=BorderHeight/(BeanconAmountA-1); %信标节点间的距离
R=50;%节点的通信距离
BigBeacon=3;%选取的信号强度最大的节点数目
LoopNum=100;%试验重复次数
SBeta=3;

for x=1:4
    gl1=0;
    gl2=0;
    gl3=0;
    gl4=0;
    for m=1:LoopNum
        m
       %生成移动节点坐标
       Dx=BorderHeight.*rand(1,1);
       Dy=BorderWidth(x).*rand(1,1);
       UN=[Dx,Dy];
       for j=1:BeanconAmountA
         Beacon(:,j)=[j;(j-1)*Dis;0];%沿区域一侧生成信标节点坐标
         distance(:,j)=sqrt((Dx-((j-1)*Dis))^2+Dy^2);%计算移动节点到信标的距离
       end
       figure(1);

%画出节点部署图    
%             plot(Dx,Dy,'k.');
            hold on
%             plot(Beacon(2,1:BeanconAmountA),Beacon(3,1:BeanconAmountA),'r*');
%             xlim([0,BorderHeight]);
%             ylim([0,BorderWidth]);
%             title('* 红色信标节点 . 黑色移动节点');
        %用标准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; 
         end
         if error2(1,m)<1 
            gl2=gl2 +1; 
         end

%统计两种算法误差落在1.5m以内的次数
         if error1(1,m)<1.5 
            gl3=gl3+1; 
         end
         if error2(1,m)<1.5 
            gl4=gl4+1; 
         end
    end
   
    %统计动态beta值算法误差落在1m、1.5m以内的概率
    gltj1(x,1)=(gl1/m)*100;
    gltj1(x,2)=(gl3/m)*100;
    
    
    %统计标准RSSI算法误差落在1m、1.5m以内的概率
    gltj2(x,1)=(gl2/m)*100;
    gltj2(x,2)=(gl4/m)*100;

max1(x,1)=max(error1(1,:));
    max1(x,2)=max(error1(2,:));
    max1(x,3)=max(error1(3,:));
    avg1(x,:)=mean(error1,2);
    std1(x,1)=std(error1(1,:));
    std1(x,2)=std(error1(2,:));
    std1(x,3)=std(error1(3,:));
    
    max2(x,1)=max(error2(1,:));
    max2(x,2)=max(error2(2,:));
    max2(x,3)=max(error2(3,:));
    avg2(x,:)=mean(error2,2);
    std2(x,1)=std(error2(1,:));
    std2(x,2)=std(error2(2,:));
    std2(x,3)=std(error2(3,:));
    error(x,:) = mean(error1(:,:),1);
end

for i=1:4
    wucha1(i)=((avg2(i,1)-avg1(i,1))/avg2(i,1))*100;
    wucha2(i)=((std2(i,1)-std1(i,1))/std2(i,1))*100;
end

max1
avg1
std1
  
max2
avg2
std2
  
wucha1
wucha2
  
gltj1
gltj2
Accuracy=error/R

figure;
plot(error(1,:),'-o');
title('移动节点的点位误差')

figure;
plot(error(2,:),':+')
title('移动节点的纵向误差')
   
figure;
plot(error(3,:),':+')
title('移动节点的横向误差')

figure;
plot(error(4,:),':+')
title('移动节点的横向误差2')
Aucc1=0;
Aucc2=0;
for m=i:LoopNum
    Aucc1=Aucc1+error(3,m);
    Aucc2=Aucc2+error(4,m);
end
Aucc1=Aucc1/LoopNum
Aucc2=Aucc2/LoopNum

D148

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

  1. 基于MATLAB的车牌定位算法设计

    目前国外车牌定位识别系统已经有很多成熟的产品,以色列Hi-Tech公司的See/CarSystem系列,新加坡optasia公司的IMPS系列都是比较成熟的产品.但是,这些产品基本上只适合于自己国内的 ...

  2. 基于matlab的车牌定位算法设计与实现,matlab车牌定位系统设计(源码+文档)

    [实例简介]关于matlab进行数字图像处理实现车牌定位 [实例截图] [源码目录] 车牌定位系统设计 ├── 20200526_235029.mp4 ├── chepai.jpg ├── chepa ...

  3. 基于MATLAB的RSSI 和 PLE 定位算法,并通过卡尔曼滤波器减少非视距误差

    基于MATLAB的RSSI 和 PLE 定位算法,并通过卡尔曼滤波器减少非视距误差 根据上面的课题要求,我们知道在室内未知信道环境下,进行RSS估计效果较差,而本课题所要求的是在室内未知PL的情况下进 ...

  4. (转载)基于TDOA声源定位算法仿真–MATLAB仿真

    (转载)基于TDOA声源定位算法仿真–MATLAB仿真 转载自:https://blog.xxcxw.cn/archives/28 声源定位算法是利用麦克风阵列进行声音定位,属于宽带信号,传统的MUS ...

  5. 基于python与matlab的TOA定位算法性能仿真

    基于python与matlab的TOA定位算法性能仿真 仿真要求 仿真方案的设计 matlab仿真代码 python仿真代码 仿真结果 仿真要求 要求一:编写两个函数TOA_LLOP和TOA_CHAN ...

  6. matlab 声源定位csdn_[转]基于TDOA声源定位算法仿真--MATLAB仿真

    声源定位算法是利用麦克风阵列进行声音定位,属于宽带信号,传统的MUSIC和DOA算法并不适用该场景,本仿真主要用TDOA算法进行定位. 常用的阵列信号定位算法主要有三大类:基于高分辨率谱估计的定位技术 ...

  7. 基于TDOA声源定位算法仿真–MATLAB仿真

    评论或私信 5元获取解压码 声源定位算法是利用麦克风阵列进行声音定位,属于宽带信号,传统的MUSIC和DOA算法并不适用该场景,本仿真主要用TDOA算法进行定位. 常用的阵列信号定位算法主要有三大类: ...

  8. 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 ...

  9. java数字图像处理开题报告,基于MATLAB的数字图像处理算法研究与仿真开题报告...

    基于MATLAB的数字图像处理算法研究与仿真开题报告 毕 业 设 计 (2013 届) 题 目基于 MATLAB 的数字图像 处理算法研究与仿真 学 院 物理电气信息学院 专 业 通信工程 年 级 0 ...

最新文章

  1. iOS程序启动画面的制作
  2. 【Tools】Wireshark3.0安装教程详解
  3. C++中的继承(一)
  4. linux c之使用共享内存实现进程间通信
  5. 近年NOIP普及组复赛题目的简单讲解
  6. 编译源码时出现 Checking API: checkapi-last (unknown): error 17解决方法
  7. 免费的专业SQL server杂志
  8. 计算机定时关机命令,定时关机命令,小编教你怎么使用命令行定时关机
  9. (转载)一文教你 “量子编程”入门式
  10. 小熊的人生回忆(七)
  11. mfc chartctrl 饼状图编写_南瓜糯米饼:外酥里糯,吃到嘴巴里,真是舌尖上的享受...
  12. AD21四层板导出Gerber
  13. Ubuntu中解压出现:bzip2: (stdin) is not a bzip2 file.
  14. APS生产计划排程系统介绍-FLEXSCHE-真正解决复杂需求的灵活且强大的通用系统
  15. [赛后总结]G2022 Regular Contest 02总结
  16. Android HIDL接口
  17. 罗杨老师带你了解谷歌编程之夏(GSoC)活动全流程
  18. Web前端之HTML超文本标记语言
  19. HTML5 PDF 编辑,pdf.js的使用与改造
  20. 腾讯 Tars 开源 Go 版本 Tars-Go,并发性能比 gRPC 高 5 倍

热门文章

  1. time since epoch
  2. Lucene.net常见功能实现知识汇总
  3. MySQL 5.5.19 GA 发布 修复多个Bug
  4. SQL Server Guid和NEWSEQUENTIALID函数
  5. 静态网页制作html语言入门
  6. IDA Pro 数据库文件、函数窗口、结构体窗口
  7. 小程序里的自定义组件:组件的外部样式externalClasses的使用
  8. Hibernate3 第一天
  9. MySQL 数据库 练习题
  10. 支持常见数据库差异对照说明