锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

无线传感器实验-低功率无线信道建模

时间:2022-11-11 23:00:00 sensor传感器dl100

【实验要求】

建立相应的单斜率和多斜率对数路径接收功率模型,具体要求如下:

1、使用Matlab画出接收功率与距离关系的散点图;

2、使用Matlab画出平均接收功率与距离的关系曲线;

3、使用Matlab用单斜率和双斜率模型拟合平均接收功率和对数距离的散点图;

4.给出单斜率和双斜率对数距离路径损耗模型的参数拟合结果;

5、使用Matlab画出拟合的单/双斜率曲线,并与平均接收功率散点进行对比,以评价拟合效果(使用非对数距离)。

【实验原理及内容】

传统的无线信道模型不能用于低功率无线信道建模,而针对特定环境的体验模型是最准确的。

对数距离路径损耗模型

单斜率对数路径损耗模型

??? ():接收功率;

??? (0)(0):参考接收功率;

??:路径损失指数;

??:对数正态阴影弱;

双斜率对数距离路径损耗模型

??? ():接收功率;

??b1/2:参考接收功率;

??1/ ??二、路径损失指数;

???1 /2:对数正态阴影弱化;

db:突变点;

参数拟合法

线性拟合单斜率模型参数:

根据最小二乘法标准,残差平方和Q(Pb最小:

分别取关于Pb0和??的偏导数,并令其等于零,然后求解方程组可得:

线性拟合双斜模型参数:

根据最小二乘法准则,要求残差平方和Q(Pb1, Pb2, ??_1, ??_2)最小:

b是突变点序号。

对Q(Pb1, Pb2, ??_1, ??_2)分别取关于Pb1、Pb2、 ??_1和??_2偏导数,使其等于零,然后求解方程组:

【实验步骤】

  1. 使用matlab xlsread读取Excel数据;
  2. 使用matlab画出接收功率与距离关系的散点图;

3、使用Matlab画出平均接收功率与距离的关系曲线;

4、使用Matlab画出平均接收功率与对数距离的散点图;

5.拟合单斜率和双斜率模型;

6、给出单斜率和双斜率对数距离路径损耗模型的参数拟合结果;

7、使用Matlab绘制拟合单/双斜率曲线,并与平均接收功率散点进行比较,以评估拟合效果(使用非对数距离)。

【实验结果】

图1 接收功率与距离关系的散点图

图2 平均接收功率与距离之间的关系曲线

图3 平均接收功率与对数距离的散点图(对数)

图4 单斜率和双斜率模型进行拟合

 

表 单斜率和双斜率对数距离路径损耗模型的参数拟合结果

模型参数

拟合结果

单斜率模型

Pb0

-63.7038

n

1.5871

双斜率模型

Pb1

-61.5734

Pb2

-70.1688

n1

1.9605

n2

1.1595

dp

61

图5 拟合的单/双斜率曲线

         从图5中能明显的看出双斜率曲线比单斜率曲线更契合与实际测量值,与之前的预想是一致的。对于特定的无线传感环境,针对特定环境的经验模型往往最为准确。

 

【Matlab程序代码】

geshu = xlsread('C:\Users\hp\Desktop\shiyan1\测试数据\RSSI.xlsx','Sheet1','A1');%读取数据

juli = xlsread('C:\Users\hp\Desktop\shiyan1\测试数据\RSSI.xlsx','Sheet1','B1:DL1');

Qiangdu = xlsread('C:\Users\hp\Desktop\shiyan1\测试数据\RSSI.xlsx','Sheet1','B2:DL501');

%画第一个散点图

figure(1)

for X=1:500

    scatter(juli,Qiangdu(X,:)','k','.');

    axis ( [0 100 -95 -40] );

    title('测量数据散点图');

    xlabel('收发节点间距(m)'); ylabel('接收信号功率(dBm)');

    hold on;

end

%平均值线图

average=zeros(1,115);

for i=1:115

    un=0;

    nan=find(isnan(Qiangdu(:,i)));

    Qiangdu(nan,i)=zeros(size(nan));

    for j=1:500

        if Qiangdu(j,i)~=0

            un=un+1;

            average(1,i)=average(1,i)+Qiangdu(j,i);

        end

    end

    average(1,i)=average(1,i)/un;

end

figure(2)

plot(juli,average,'k');

axis ( [0 100 -100 -40] );

title('平均接收功率与距离的关系曲线');

xlabel('距离(m)'); ylabel('接收信号功率(dBm)');

hold on;

%测量数据与拟合结果

juli1=10*log10(juli);

%平均接收功率与对数距离的散点图

figure(3)

plot(juli1,average,'.');

title('平均接收功率与距离的关系点图');

xlabel('距离(m)'); ylabel('接收信号功率(dBm)');

hold on;

%单斜率

n0=(sum(juli1)*sum(average)/geshu-sum(average.*juli1))/(sum(juli1.^2)-((sum(juli1))^2)/geshu);

Pb0=(sum(average)+n0*sum(juli1))/geshu;

Pra0=Pb0-n0*juli1;

figure(4)

%plot(juli1,average,'.',juli1,Pra0,'-r');

 

%双斜率

Q=zeros(1,115);

for b=1:1:113

    n1=-(sum(average(1:b).*juli1(1:b))-sum(juli1(1:b))*sum(average(1:b))/b)/(sum(juli1(1:b).^2)-((sum(juli1(1:b)))^2)/b);

    n2=-(sum(average(b+1:geshu).*juli1(b+1:geshu))-sum(juli1(b+1:geshu))*sum(average(b+1:geshu))/(geshu-b))/(sum(juli1(b+1:geshu).^2)-((sum(juli1(b+1:geshu)))^2)/(geshu-b));

    Pb1=(sum(average(1:b))+n1*sum(juli1(1:b)))/b;

    Pb2=(sum(average(b+1:geshu))+n2*sum(juli1(b+1:geshu)))/(geshu-b);

    Q(b)=sum((average(1:b)-Pb1+n1*juli1(1:b)).^2)+sum((average(b+1:geshu)-Pb2+n2*juli1(b+1:geshu)).^2);

end

b=5;

BB=Q(5);

for B=1:113

    if BB>Q(B)

        BB=Q(B);

        b=B;

    end

end

 

    n1=-(sum(average(1:b).*juli1(1:b))-sum(juli1(1:b))*sum(average(1:b))/b)/(sum(juli1(1:b).^2)-((sum(juli1(1:b)))^2)/b);

    n2=-(sum(average(b+1:geshu).*juli1(b+1:geshu))-sum(juli1(b+1:geshu))*sum(average(b+1:geshu))/(geshu-b))/(sum(juli1(b+1:geshu).^2)-((sum(juli1(b+1:geshu)))^2)/(geshu-b));

    Pb1=(sum(average(1:b))+n1*sum(juli1(1:b)))/b;

    Pb2=(sum(average(b+1:geshu))+n2*sum(juli1(b+1:geshu)))/(geshu-b);Pra=zeros(1,115);

for m=1:1:115

    if m<=b

    Pra(m)=Pb1-n1*juli1(m);

    else

      Pra(m)=Pb2-n2*juli1(m);

    end

end

plot(juli1,average,'.',juli1,Pra,'-r',juli1,Pra0,'.-k');%拟合

title('测量数据与拟合结果(对数)');

xlabel('对数距离(10lgd)'); ylabel('接收信号功率(dBm)');

legend('average','Pra','Pra0');

hold on;

%非对数

figure(5)

plot(juli,average,'r*',juli,Pra,'-r',juli,Pra0,'.-k');

title('测量数据与拟合结果(非对数)');

xlabel('距离(m)'); ylabel('接收信号功率(dBm)');

legend('average','Pra','Pra0');

hold on;

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章