资源简介

一个基于采集RSSI信号值的MATLAB代码的定位算法,可以运行,有图,对于想要学习室内定位的,有一定的见解,主要针对室内定位RSSI定位,另外也可以相互讨论,帮助自己提高。

资源截图

代码片段和文件信息

%reader1 (-70 70) tag_1 (5 65)  reader2 (-40 0) tag2(-35 5)  reader3(40 0)
%tag3(35 5)  reader4(40 70)   被追踪的目标tag5(tag_xtag_y) 范围-35
clear all
reader_x=[0 10 10 0];% 信号接收端横坐标
reader_y=[0 0 10 10];%纵坐标
tag_x=[0 10 10 0 0 0 0];%参考点坐标           %%%%%%%%%%%%%%%%%%修改tracked tags 第四个中tag_x tag_y值
tag_y=[0 0 10 10 0 0 0];
for i=5:7
    tag_x(i)=rand*10;
    tag_y(i)=rand*10;
end
a=[0 0 0 0]; %初始化 A,N1 Nr reader个数 Ni tag个数
n=[4 4 4 4];
Nr=4;
Ni=7;
PI=3.1415926;
matrix(4720)=1;  %定义三维数据组 matrix(ab:)  reader_a接收到reader_b的信号窗口中的随机变量
dist(47)=1;        %定义距离数组
mean_rssi(47)=1;   %每一个窗口的平均值
st_de=3; %定义方差
r=1;          %迭代次数为5
while(1)
    if(r>20)
        break;
    end
    st_de1=0;
    for i=1:4
        for j=1:7
            if (i~=j)
                dist(ij)=sqrt((reader_x(i)-tag_x(j))^2+(reader_y(i)-tag_y(j))^2);
                matrix(ij:)=a(i)-10*n(i)*log10(dist(ij))-random(‘norm‘0st_de120);
                mean_rssi(ij)=mean(matrix(ij:));
                st_de1=st_de1+(std(matrix(ij:)))^2;
            end
        end
    end   %maxrix(ij:)表示第i个reader 与第j个tag的p阵  dist(ij)的距离
       st_de1=sqrt(st_de1/(Nr*Ni-Nr));%方差 
        for i=1:4
                m_n1=(mean_rssi(imod(i+15)+floor((i+1)/5))-mean_rssi(imod(i+25)+floor((i+2)/5)))/(10*log10(dist(imod(i+25)+floor((i+2)/5))/dist(imod(i+15)+floor((i+1)/5))));
                m_a1=mean_rssi(imod(i+15)+floor((i+1)/5))+10*m_n1*log10(dist(imod(i+15)+floor((i+1)/5)));
                m_n2=(mean_rssi(imod(i+25)+floor((i+2)/5))-mean_rssi(imod(i+35)+floor((i+3)/5)))/(10*log10(dist(imod(i+35)+floor((i+3)/5))/dist(imod(i+25)+floor((i+2)/5))));
                m_a2=mean_rssi(imod(i+25)+floor((i+2)/5))+10*m_n2*log10(dist(imod(i+25)+floor((i+2)/5)));
                mean_n(i)=(m_n1+m_n2)/2;  
                mean_a(i)=(m_a1+m_a2)/2;
        end
    a=mean_a;
    n=mean_n;
    st_de=round(st_de1);
    %  -40—40  0——70
    k=1;
    for i=0:10
        for j=0:10
            distance(i+1j+11)=sqrt((reader_x(1)-i)^2+(reader_y(1)-j)^2);%距离
            P1(i+1j+1)=(1/sqrt(2*PI)/st_de)*exp((-(mean_rssi(15)-a(1)+10*n(1)*(log10(distance(i+1j+11))))^2)/(2*st_de^2));
            P2(i+1j+1)=(1/sqrt(2*PI)/st_de)*exp((-(mean_rssi(16)-a(1)+10*n(1)*(log10(distance(i+1j+11))))^2)/(2*st_de^2));
            P3(i+1j+1)=(1/sqrt(2*PI)/st_de)*exp((-(mean_rssi(17)-a(1)+10*n(1)*(log10(distance(i+1j+11))))^2)/(2*st_de^2));
            distance(i+1j+12)=sqrt((reader_x(2)-i)^2+(reader_y(2)-j)^2);
            P1(i+1j+1)=P1(i+1j+1)*(1/sqrt(2*PI)/st_de)*exp((-(mean_rssi(25)-a(2)+10*n(2)*(log10(distance(i+1j+12))))^2)/(2*st_de^2));
            P2(i+1j+1)=P2(i+1j+1)*(1/sqrt(2*PI)/st_de)*exp((-(mean_rssi(26)-a(2)+10*n(2)*(log10(distance(i+1j+12))))^2)/(2*st_de^2));
            P3(i+1j+1)=P3(i+1j+1)*(1/sqrt(2*PI)/st_de)*exp((-(mean_rssi(27)-a(2)+10*n(2)*(log10(distance(i+1j+12))))^2)/(2*st_de^2));
            distance(

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-07-26 12:32  RSSI定位matlab仿真\
     目录           0  2015-07-26 12:32  RSSI定位matlab仿真\RSSI\
     文件        2256  2013-03-14 09:27  RSSI定位matlab仿真\RSSI\Distance.m
     文件        3024  2013-03-21 21:59  RSSI定位matlab仿真\RSSI\Distance11.m
     文件          45  2013-03-13 18:50  RSSI定位matlab仿真\RSSI\Distanceyingyong.m
     目录           0  2015-07-26 12:32  RSSI定位matlab仿真\RSSI\RSSI\
     文件        2118  2015-06-12 01:11  RSSI定位matlab仿真\RSSI\RSSI\Distance.m
     文件        3176  2008-05-30 11:15  RSSI定位matlab仿真\RSSI\RSSI\Simulation1.m
     文件        1888  2008-05-30 11:08  RSSI定位matlab仿真\RSSI\RSSI\Triangle.m
     文件       31552  2013-03-17 09:26  RSSI定位matlab仿真\RSSI\RSSI\untitled.fig
     文件        3527  2013-03-21 21:56  RSSI定位matlab仿真\RSSI\Simulation1.asv
     文件        3527  2013-03-21 21:59  RSSI定位matlab仿真\RSSI\Simulation1.m
     文件        3429  2013-03-14 09:49  RSSI定位matlab仿真\RSSI\Simulation11111.m
     文件        1811  2013-03-26 11:07  RSSI定位matlab仿真\RSSI\Triangle.m
     文件        3158  2013-03-17 10:49  RSSI定位matlab仿真\RSSI\Triangle1.m
     文件        6188  2013-03-17 09:24  RSSI定位matlab仿真\RSSI\Triangle1111.asv
     文件        6238  2013-03-17 15:30  RSSI定位matlab仿真\RSSI\Triangle1111.m
     文件        2438  2013-04-04 18:34  RSSI定位matlab仿真\RSSI\Triangle2.asv
     文件        2382  2013-04-04 20:43  RSSI定位matlab仿真\RSSI\Triangle2.m
     文件        2341  2013-03-31 14:40  RSSI定位matlab仿真\RSSI\Triangle4.asv
     文件        2336  2013-03-31 14:40  RSSI定位matlab仿真\RSSI\Triangle4.m
     文件        1945  2013-04-04 17:39  RSSI定位matlab仿真\RSSI\Triangle5.asv
     文件        1930  2013-04-04 15:31  RSSI定位matlab仿真\RSSI\Triangle5.m
     文件         751  2013-03-21 21:36  RSSI定位matlab仿真\RSSI\rssi2dist.asv
     文件         751  2013-03-21 21:37  RSSI定位matlab仿真\RSSI\rssi2dist.m
     文件        5020  2013-04-01 22:20  RSSI定位matlab仿真\RSSI\sim.asv
     文件        5101  2013-04-01 22:21  RSSI定位matlab仿真\RSSI\sim.m
     文件        8344  2013-05-13 21:50  RSSI定位matlab仿真\RSSI\sim5.asv
     文件        8425  2013-05-16 13:55  RSSI定位matlab仿真\RSSI\sim5.m
     文件        4573  2013-04-04 20:40  RSSI定位matlab仿真\RSSI\simula.asv
     文件        4539  2013-04-07 09:28  RSSI定位matlab仿真\RSSI\simula.m
............此处省略15个文件信息

评论

共有 条评论