基于Matlab----RSSI测距定位技术性能仿真

  • 一、题目
  • 二、仿真要求
  • 三、主要代码
    • 3.1、函数databaseone主要代码
    • 3.2、全部代码
  • 四、仿真结果

一、题目

RSSI指纹定位技术性能仿真

二、仿真要求

要求一:RSSI的测量值由对数路径损耗模型产生,为减小波动造成的误差,其值可由多次测量取平均值来得到。
要求二:定位指纹数据库的建立是基于网格形式产生不同的指纹节点。
要求三: 比较KNN算法与WKNN算法的CDF曲线对比图,横坐标为定位误差,纵坐标为CDF。

三、主要代码

3.1、函数databaseone主要代码

函数databaseone主要代码:

%databaseone部分:
function [X]=databaseone(A,sigma)
% A is the coordinate of BSS
% sigma is the standard deviation of RSSI measurement
pd0=0;
n=3;
[m,~]=size(A);
tt=5;
coor=[];
RSSIone=[];
for i=20:20:480for j=20:20:480coor1=[i,j];coor=[coor;coor1];d1=A-ones(m,1)*coor1;d2=sum(d1.^2,2);d=d2.^(1/2);for k=1:ttrssi(:,k)=pd0-10*n*log10(d)-10^(sigma/10)*randn(m,1);endRSS_m=mean(rssi,2)';RSSIone=[RSSIone;RSS_m];end
end

3.2、全部代码

全部代码:

%RSSIone部分:
clear all;
clc;
BS1=[0,0];
BS2=[500,0];
BS3=[500,500];
BS4=[0,500];
std_var=4;
A=[BS1;BS2;BS3;BS4];
pd0=0;
n=3;
tt=5;
% the number of RSSI measurement for each BS
number=1000;
for i=1:numberMS=[400*rand,400*rand];r1=A-ones(4,1)*MS;r2=(sum(r1.^2,2)).^(1/2);for k=1:ttrssi(:,k)=pd0-10*n*log10(r2)-10^(std_var/10)*randn(4,1);endRSSIoone=mean(rssi,2);%databaseX=databaseone(A,std_var);%matching[m,~]=size(X);for j=1:mdistance(j)=norm(X(j,3:end)-RSSIoone');end[C,I]=sort(distance);%KNN algorithmK=3;match_result=X(I(1:K),1:2);est1=mean(match_result);RMSE1(i)=norm(est1-MS);%WKNN algorithmweight=1./C(1:K);weight=weight'/sum(weight);est2=sum([weight.*match_result(:,1),weight.*match_result(:,2)]);RMSE2(i)=norm(est2-MS);est3=X(I(1),1:2);RMSE3(i)=norm(est3-MS);
end
RMSE=0:20;
for i=1:length(RMSE)n1=0;n2=0;n3=0;for j=1:number-5if RMSE1(j)<=RMSE(i)n1=n1+1;endif RMSE2(j)<=RMSE(i)n2=n2+1;endif RMSE3(j)<=RMSE(i)n3=n3+1;endendp1(i)=n1/number;p2(i)=n2/number;p3(i)=n3/number;
end
% plot
plot(RMSE,p1,'-O',RMSE,p2,'-s',RMSE,p3,'-x')
xlabel('The localization error (m)');
ylabel('CDF');
legend('KNN','WKNN','NN');%databaseone部分:
function [X]=databaseone(A,sigma)
% A is the coordinate of BSS
% sigma is the standard deviation of RSSI measurement
pd0=0;
n=3;
[m,~]=size(A);
tt=5;
coor=[];
RSSIone=[];
for i=20:20:480for j=20:20:480coor1=[i,j];coor=[coor;coor1];d1=A-ones(m,1)*coor1;d2=sum(d1.^2,2);d=d2.^(1/2);for k=1:ttrssi(:,k)=pd0-10*n*log10(d)-10^(sigma/10)*randn(m,1);endRSS_m=mean(rssi,2)';RSSIone=[RSSIone;RSS_m];end
end
X=[coor,RSSIone];
end

四、仿真结果

基于Matlab----RSSI指纹定位技术性能仿真相关推荐

  1. 基于Matlab----RSSI测距定位技术性能仿真

    基于Matlab----RSSI测距定位技术性能仿真 一.题目 二.仿真要求 三.主要代码 3.1函数parameter_est主要代码 3.2函数TOALLOP主要代码 3.3全部代码 四.仿真结果 ...

  2. 基于jupyter notebook的python编程-----通过python编程实现RSSI测距定位技术仿真

    基于jupyter notebook的python编程-----通过python编程实现RSSI测距定位技术仿真目录 一.RSSI测距定位简介 1.什么是RSSI测距定位 2.RSSI测距定位优点 3 ...

  3. matlab 指纹,一种基于matlab的指纹识别方法

    一种基于matlab的指纹识别方法 [技术领域] [0001 ] 本发明涉及指纹识别领域,特别涉及一种基于MTLAB的指纹识别方法. [背景技术] [0002] 传统的安防系统主要采用基于令牌或密码的 ...

  4. 基于matlab指纹识别论文,毕业论文-基于Matlab的指纹识别

    毕业论文-基于Matlab的指纹识别 1 毕 业 论 文 基于 Matlab 的指纹识别 姓 名 院(系) 专业班级 学 号 指导教师 职 称 论文答辩日期 2 摘摘 要要 随着科学技术的不断发展,自 ...

  5. matlab 函数return_基于MATLAB的指纹识别系统【论文,GUI】

    一.课题介绍 本设计为基于MATLAB的指纹识别系统.本设计系统主要对指纹图像进行三方面处理:图像预处理.特征提取和特征匹配.图像预处理包括四个步骤:图像灰度化.滤波增强.二值化.细化,对指纹图像进行 ...

  6. matlab 二值化_基于MATLAB的指纹识别系统[GUI界面+万字技术文档+语音播报]

    一.课题介绍 本设计为基于MATLAB的指纹识别系统.本设计系统主要对指纹图像进行三方面处理:图像预处理.特征提取和特征匹配.图像预处理包括四个步骤:图像灰度化.滤波增强.二值化.细化,对指纹图像进行 ...

  7. matlab频分复用,基于MATLAB的频分复用系统的仿真_.doc

    基于MATLAB的频分复用系统的仿真_ 基于MATLAB的频分复用系统的仿真_毕业论文(设计) Abstract With the development of communication techn ...

  8. matlab故障识别,基于Matlab的电力系统故障分析与仿真(V2.1)最新版

    <基于Matlab的电力系统故障分析与仿真.doc>由会员分享,可免费在线阅读全文,更多与<基于Matlab的电力系统故障分析与仿真(V2.1)>相关文档资源请在帮帮文库(ww ...

  9. matlab非线性系统频域标识,基于MATLAB的最小二乘法系统辨识与仿真

    第 29卷 第 2期 许昌学院学报 Vol. 29. No. 2 2010年 3月 JOURNAL OF XUCHANG UN IVERSITY Mar. 2010 收稿日期: 2008 - 10 - ...

最新文章

  1. pl0源码(可在delphi7中运行)
  2. QT的QHashIterator类的使用
  3. mysqld 进程非常多_MySQL binlog后面的编号最大是多大?
  4. 【转】WCF Odata 开放数据协议应用
  5. JavaScript异步编程【上】 -- 同步和异步、事件循环(EventLoop)、微任务和宏任务、回调函数
  6. 1.3MB 的超轻YOLO算法!全平台通用,准确率接近YOLOv3,速度快上45%丨开源
  7. 3分钟tips:什么是特征向量?什么是特征值?
  8. 数学分析:函数的可积条件
  9. Arcgis自带世界矢量图使用与编辑
  10. 近世代数--环--环的一些基本概念
  11. 微信APP支付 C#
  12. arduino秒退解决方法
  13. Could not read JSON: Cannot construct instance of `java.util.ArrayList$SubList`
  14. 互联网日报 | 中国移动香港实现5G独立组网;嫦娥五号顺利进入环月轨道;钟慧娟成全球白手起家女首富...
  15. 人机交互大作业文档预览
  16. 【帝国CMS】灵动标签循环调用广告
  17. 检测色卡饱和度和色彩偏差
  18. uniapp制作人像动漫化
  19. 深圳软件测试培训:测试中常见移动端基础知识
  20. 需求方法论:需求的理解/来源/挖掘/记录

热门文章

  1. antd upload手动上传_SpringBoot 如何上传大文件?
  2. linux系统修复找不到原安装,Linux 系统用安装盘来修复GRUB 详解
  3. java自动类型提升_Java中的基本数据类型转换(自动、强制、提升)
  4. 亲密关系沟通-【信任感】-巩固信任感的沟通方法
  5. oracle net conf启动无反应,weblogic突然无法启动,显示Server state changed to FORCE
  6. 测试自动化金字塔在软件开发中是如何使用的?
  7. idea findbugs使用_IDEA如何协同开发统一代码风格?编码不规范如何解决?
  8. 单结晶体管的导电特性_二极管的导电特性
  9. Java电话号码滚动抽奖_js手机号码批量滚动抽奖代码实现
  10. c语言银行家算法模拟程序,银行家算法C语言模拟程序