clc
clear
%****1.矩形 2.对角线 3.边缘线部署 4.三角 5.梯形 6.菱形部署
Simu_Num=200;
ap_power=30;%dbm发射功率
ap_gain=10; %dbm接收天线增益
fp_gain=10; %dbm发射天线增益
FP_Num=45; %指纹个数
%zeros(m,n)表示生成一个 m*n 的矩阵
FPx=zeros(1,FP_Num); %指纹横轴坐标
FPy=zeros(1,FP_Num); %指纹纵轴坐标
index=1;
%矩形
wknn4_4_1_cdf=zeros(1,11);
wknn4_4_1_sum=0;
%对角线
wknn4_4_2_cdf=zeros(1,11);
wknn4_4_2_sum=0;
%边缘线
wknn4_4_3_cdf=zeros(1,11);
wknn4_4_3_sum=0;
%正三角部署
wknn4_4_4_cdf=zeros(1,11);
wknn4_4_4_sum=0;
%梯形
wknn4_4_5_cdf=zeros(1,11);
wknn4_4_5_sum=0;
%菱形
wknn4_4_6_cdf=zeros(1,11);
wknn4_4_6_sum=0;
% %************AP个数与坐标**********
for a=1:1:6
switch(a)
case 1 %1.矩形部署
APx=[0 30 0 30];
APy=[0 0 30 30];
for i=1:1:7
for j=1:1:7
if ~(i==3&&j==1||i==3&&j==7||i==4&&j==1||i==4&&j==7)%矩形部署
FPx(1,index)=(j-1)*5;
FPy(1,index)=(i-1)*5;
index=index+1;
end
end
end
%调用ReceivePowerFun函数,返回接收信号强度RSS
fp_power=ReceivePowerFun(APx,APy,FPx,FPy,ap_power,ap_gain,fp_gain);
Simu_Num=200;
n=0;%下面循环用到
while (n<Simu_Num)
p_x=rand*30; %待定位点坐标,0~30
p_y=rand*30;
%normrnd()产生正态分布的随机函数
noise=normrnd(0,0);%均值为1,标准差为1的正态分布函数
%矩形
base_array=[0:0.5:5];%
%WKNN4_4_1 矩形
loc_point=FingerLocFun(APx,APy,FPx,FPy,fp_power,ap_power,ap_gain,fp_gain,p_x,p_y,noise,4);
error=sqrt((loc_point(1)-p_x)*(loc_point(1)-p_x)+(loc_point(2)-p_y)*(loc_point(2)-p_y));
for i=1:1:11
if (error<base_array(i))
wknn4_4_1_cdf(i)=wknn4_4_1_cdf(i)+1;
end
end
wknn4_4_1_sum=wknn4_4_1_sum+error;
n=n+1;
end
case 2 %2.对角线部署
APx=[5 10 15 20];
APy=[5 10 15 20];
for i=1:1:7
for j=1:1:7
if ~(i==5&&j==5||i==2&&j==2||i==3&&j==3||i==4&&j==4)%2.对角线部署
FPx(1,index)=(j-1)*5;
FPy(1,index)=(i-1)*5;
%index
index=index+1;
end
end
end
%调用ReceivePowerFun函数,返回接收信号强度RSS
fp_power=ReceivePowerFun(APx,APy,FPx,FPy,ap_power,ap_gain,fp_gain);
Simu_Num=200;
n=0;%下面循环用到
while (n<Simu_Num)
p_x=rand*30; %待定位点坐标,0~30
p_y=rand*30;
%normrnd()产生正态分布的随机函数
noise=normrnd(0,0);%均值为1,标准差为1的正态分布函数
%对角线
base_array=[0:0.5:5];%
%WKNN4_4_2 对角线
loc_point=FingerLocFun(APx,APy,FPx,FPy,fp_power,ap_power,ap_gain,fp_gain,p_x,p_y,noise,4);
error=sqrt((loc_point(1)-p_x)*(loc_point(1)-p_x)+(loc_point(2)-p_y)*(loc_point(2)-p_y));
for i=1:1:11
if (error<base_array(i))
wknn4_4_2_cdf(i)=wknn4_4_2_cdf(i)+1;
end
end
wknn4_4_2_sum=wknn4_4_2_sum+error;
n=n+1;
end
case 3 %3.边缘线部署
APx=[0 0 0 0];
APy=[5 10 15 20];
for i=1:1:7
for j=1:1:7
if ~(i==2&&j==1||i==3&&j==1||i==4&&j==1||i==5&&j==1)%3.边缘线部署
FPx(1,index)=(j-1)*5;
FPy(1,index)=(i-1)*5;
index=index+1;
end
end
end
%调用ReceivePowerFun函数,返回接收信号强度RSS
fp_power=ReceivePowerFun(APx,APy,FPx,FPy,ap_power,ap_gain,fp_gain);
Simu_Num=200;
n=0;%下面循环用到
while (n<Simu_Num)
p_x=rand*30; %待定位点坐标,0~30
p_y=rand*30;
%normrnd()产生正态分布的随机函数
noise=normrnd(0,0);%均值为1,标准差为1的正态分布函数
base_array=[0:0.5:5];%
%WKNN4_4_3 边缘部署
loc_point=FingerLocFun(APx,APy,FPx,FPy,fp_power,ap_power,ap_gain,fp_gain,p_x,p_y,noise,4);
error=sqrt((loc_point(1)-p_x)*(loc_point(1)-p_x)+(loc_point(2)-p_y)*(loc_point(2)-p_y));
for i=1:1:11
if (error<base_array(i))
wknn4_4_3_cdf(i)=wknn4_4_3_cdf(i)+1;
end
end
wknn4_4_3_sum=wknn4_4_3_sum+error;
n=n+1;
end
case 4 %4.正三角部署
APx=[15 5 15 25];
APy=[25 10 10 10];
for i=1:1:7
for j=1:1:7
if ~(i==6&&j==4||i==3&&j==2||i==3&&j==4||i==3&&j==6)%4.正三角部署
FPx(1,index)=(j-1)*5;
FPy(1,index)=(i-1)*5;
%index
index=index+1;
end
end
end
%调用ReceivePowerFun函数,返回接收信号强度RSS
fp_power=ReceivePowerFun(APx,APy,FPx,FPy,ap_power,ap_gain,fp_gain);
Simu_Num=200;
n=0;%下面循环用到
while (n<Simu_Num)
p_x=rand*30; %待定位点坐标,0~30
p_y=rand*30;
%normrnd()产生正态分布的随机函数
noise=normrnd(0,0);%均值为1,标准差为1的正态分布函数
%正三角部署
base_array=[0:0.5:5];%
%WKNN4_4_4 正三角部署
loc_point=FingerLocFun(APx,APy,FPx,FPy,fp_power,ap_power,ap_gain,fp_gain,p_x,p_y,noise,4);
error=sqrt((loc_point(1)-p_x)*(loc_point(1)-p_x)+(loc_point(2)-p_y)*(loc_point(2)-p_y));
for i=1:1:11
if (error<base_array(i))
wknn4_4_4_cdf(i)=wknn4_4_4_cdf(i)+1;
end
end
wknn4_4_4_sum=wknn4_4_4_sum+error;
n=n+1;
end
case 5 %5.梯形部署
APx=[10 20 5 25];
APy=[25 25 10 10];
for i=1:1:7
for j=1:1:7
if ~(i==6&&j==3||i==3&&j==2||i==6&&j==5||i==3&&j==6)%5.梯形部署
FPx(1,index)=(j-1)*5;
FPy(1,index)=(i-1)*5;
index=index+1;
没有合适的资源?快使用搜索试试~ 我知道了~
基于位置指纹的室内定位算法,Matlab源代码
共26个文件
m:21个
png:4个
zip:1个
5星 · 超过95%的资源 需积分: 46 56 下载量 108 浏览量
2022-07-03
11:10:57
上传
评论 32
收藏 104KB ZIP 举报
温馨提示
NN,KNN,WKNN,贝叶斯。。可以用于毕业设计,代码可运行。
资源详情
资源评论
资源推荐
收起资源包目录
毕设源码.zip (26个子文件)
picture_1.m 832B
picture_3.m 1KB
AP=4.png 23KB
picture_4.m 5KB
AP_BS
ReceivePowerFun.m 675B
main_02m.m 12KB
旧版代码
demo_2.m 6KB
FingerLocFun.m 4KB
AP=6.png 22KB
picture_2.m 3KB
code_1
main.m 6KB
ReceivePowerFun.m 1KB
FingerLocFun.m 5KB
AP=2.png 23KB
RP_bushu
ReceivePowerFun.m 761B
demo_04_4590.m 11KB
demo_3.m 11KB
FingerLocFun.m 2KB
AP _NUM.zip 7KB
AP=8.png 22KB
AP _NUM
main_01.m 11KB
FingerLocFun01.m 4KB
旧版代码
ReceivePowerFun.m 509B
ReceivePower.m 509B
demo_main.m 5KB
FingerLocFun.m 4KB
共 26 条
- 1
汪小霜
- 粉丝: 18
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 筷手引流工具.apk
- 论文(最终)_20240430235101.pdf
- 基于python编写的Keras深度学习框架开发,利用卷积神经网络CNN,快速识别图片并进行分类
- 最全空间计量实证方法(空间杜宾模型和检验以及结果解释文档).txt
- 5uonly.apk
- 蓝桥杯Python组的历年真题
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论5