无线传感器网络实验与作业总结

作业题目

1、Topology selection
在这里插入图片描述
Figure 1 中所示的拓扑结构是单跳星型拓扑结构,Figure 2 中显示的一种更加适合的拓扑结构。其中显示了各节点之间数据包的成功传送的概率,且都是由源节点传送到网关节点。
在单跳星型拓扑结构网络中:A节点将数据包成功传送到D的概率为0.95;B节点将数据包成功传送到D的概率为0.99;而C节点将数据包成功传送到D的概率则只有0.3。
相比较之下,更加适合的拓扑结构中,其为一种网状多跳拓扑结构,可发现:A节点将数据包成功传送到D的概率为0.95;B节点将数据包成功传送到D的概率为0.99;而C节点通过先将数据包成功传送到A,再由A成功传送给D,其概率可以达到0.9025,从而大大地增加了成功传送的概率。

2、单跳能耗不一定大于多跳能耗,看具体的参数而定。
由题中给出的通信能耗公式,可以分别得出单跳与多跳相对应的能耗,体现如下:
单跳
在这里插入图片描述

多跳
在这里插入图片描述
单跳能耗大于多跳能耗
在这里插入图片描述
多跳能耗大于单跳能耗
在这里插入图片描述

单跳和多跳的能耗一样大
在这里插入图片描述

3、BECA
Sleep:010s,1619s,22+12k~22+12k+10s(k=0,1,…,n)
Listen:1011s,22+12k+1022+12k+12s(k=0,1,…,n)
Active:1116s,1922s
其中n为正整数。
具体情况如下图所示:
在这里插入图片描述

4、SPAN
其中能成为Coordinators的节点为A、B、E、F、I或者A、B、E、F、G,结果显示如下图所示。
在这里插入图片描述

在这里插入图片描述
5、Transitional region coefficient
根据
在这里插入图片描述
在这里插入图片描述
已知
在这里插入图片描述
在这里插入图片描述

In this case, the transitional region is 58.797 and the TR coefficient is 13.677.

实验一

实验目的

通过Matlab的仿真实验,探究无线传感器网络连通率与通信节点的半径以及个数的关系。
(1)在不同节点数目n的情况下,用Matlab拟合出连通率与通信半径r的关系曲线图。
(2)在不同的通信半径r情况下,用Matlab拟合出连通率与节点数量n的关系曲线图。

实验方法

在一块单位矩形区域内,随机布置n个通信节点,其通信半径为r,通过编写图的连通性判断算法来判断节点之间是否连通以及整个网络是否连通,进行1000次重复随机实验,从而得到传感器网络连通率与通信节点以及通信半径的关系,对于判断节点是否连通,这里采用Warshall算法,其中p矩阵是一个邻接矩阵,若p[i,j] = 0,则意味i和j两节点是不连通的,p[i,i] = 1则表示两节点是联通的。具体实验步骤如下流程图所示:

在这里插入图片描述

实验内容

1、判断无线传感器网络是否连通关键代码
(1)两两节点的判断

 %判断两两节点是否连通
    for i = 1:1:row
        for j = 1:1:col
            %使用sqrt计算出两节点之间的距离,与节点的通信半径进行比较
            if(sqrt((X(i)-X(j))^2 + (Y(i)-Y(j))^2) < r)
                p(i,j) = 1;
            else
                p(i,j) = 0;
            end
        end
    end

(2)判断整个网络是否连通

%Warshall算法求运用邻接矩阵求图中所有可能的通路(即可达矩阵)
    for i = 1:1:col
        for j = 1:1:row
          if p(j,i)
                for k = 1:1:col
                    %若此位置是1,此位置对应的列序号的行(即i)加到当前位置的行(即j)上
                    p(j,k) = p(j,k) + p(i,k);
                end
          end
        end
    end
    %判断此次生成的随机网络是否连通
    for i=1:1:row 
        for j=1:1:col
            if ~p(i,j)
                flag = false;
                break;
            end
        end
    end

2、 绘制在不同节点数目n的情况下,连通率与通信半径关系的曲线图关键代码

%不同的n值
for index=1:4
    n= nodes(index);
    %不同的r值
    for r=0:0.01:1
        %做1000次随机实验
        count = 0;
        for i=1:times
            %X,Y在单位1的区间里分别产生n个随机数,对应
            %着节点的横纵坐标
            X = rand(n,1);
            Y = rand(n,1);
            if i == 3 && n==50 && r==0.35
                graph = true;
            else
                graph = false;
            end
            if Connect(X,Y,r,graph)
                count = count + 1;
            end
        end
        rate = count/times;
        result(index,round(r*100+1)) = rate;
    end
end

3、绘制在不同的通信半径r情况下,连通率与节点数量关系的曲线图关键代码

%不同的r值
for index=1:4
    r=rc(index);
    %不同的节点数n 
    for n=2:100
        %每一组做随机实验
        count=0;
        %一共做1000次实验
        for i=1:1:times
            %X,Y在单位1的区间里分别产生n个随机数,对应
            %着节点的横纵坐标
            X = rand(n,1);
            Y = rand(n,1);
            if i == 3 && n==50 && r==0.35
                graph = true;
            else
                graph = false;
            end
            if Connect(X,Y,r,graph)
                count = count + 1;
            end
        end
        rate = count/times;
        result(index,n) = rate;
    end
end

实验结果与分析

1、实验结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2、实验分析

总体来看,随着通信半径以及节点个数的增加,网络的连通率变大。
(1)由图2可以看出:对于不同的网络规模,随着r的增加,网络的连通率也相应增加。当r增加到某个临界值时, 连通率近似维持在1,且随着节点个数的增加,临界的r下降。因此从节能的角度来看,对于给定的节点数目,为了保证概率上的连通,通信半径可以取r的下限值。
(2)由图3可以看出:对于具有不同节点通信半径的网络,随着n的增加,网络的连通率也相应增加。当n增加到某个临界值时,连通率也近似维持在1,且随着通信半径的增加,临界的n下降。因此从节省成本的角度来看,对于给定节点通信半径,为了保证概率上的连通,所需的节点数可以取n的下限值。

实验二

实验目的

(1)在固定节点个数为20的情况下,利用Matlab仿真求得COMPOW协议下的最小能级(通信半径)。
(2)在固定节点个数为20以及求得的最小通信半径,计算随机布撒的节点的覆盖率。

实验方法

1、求解最小通信半径
假设通信半径等于感知半径且每个节点发射功率均相同。在1x1的网格中随机均匀地布撒20个节点。
设置五个不同能量级(通信半径),后可根据映射关系求得其不同发射功率,其中判断网络是否连通采用了Warshall算法。

表1. 不同能量级对应的不同通信半径
能量级 通信半径(r)
第一能量级 0.20
第二能量级 0.25
第三能量级 0.30
第四能量级 0.35
第五能量级 0.40

2、求解覆盖率
利用图像处理的思想,将每个节点的通信覆盖范围填充为黑色,再通过计算连通图中黑白像素点的比例得到覆盖率。

在这里插入图片描述

实验内容

1、求解COMPOW协议下的半径

N = 20;%节点个数
graph = rand(N,2);  %产生随机图的横纵坐标
distance = [0.2,0.25,0.3,0.35,0.4];%设置五个不同的通信半径
theta = 0: pi/100: 2*pi;%theta的范围
for i = 1:4%遍历不同通信半径(能级)
    %得到与最大能级相同连通节点个数的拓扑图
    if Connect(graph,distance(i))
        d = distance(i)%得到最小通信半径
        break;
    end
End

2、 求解覆盖区域(填充法)

figure()%画出20个节点的覆盖填充图
axis equal;%坐标轴X,Y方向的范围值
axis([0 1 0 1]);
for i  =1:1:N
    hold on
    x = d*cos(theta) + graph(i,1);
    y = d*sin(theta) + graph(i,2);
    plot(x,y,'g-');
    fill(x,y,'k');
End

3、求解覆盖率

%读取网络填充图像
Cover_pic = imread('C:\Users\Lenovo\Desktop\CoverageRate.png')
 %进行灰度转换
 Cover_pic_gray = rgb2gray(Cover_pic);
 %像素值为0的像素点个数初值
 m = 0;
 %读取二值灰度矩阵的行和列
 row = size(Cover_pic_gray,1);
 col = size(Cover_pic_gray,2);
 for i = 1:row
     for j = 1:col
         %判断像素点的值是否为0
      if(Cover_pic_gray(i,j) == 0)   
          m = m + 1;
      end
     end
 end
 %计算覆盖率
 rate = m/(row*col)

实验结果与分析

1、实验结果
(1)不同能量级对应的连通图
最大能量级(通信半径r=0.4)即第五能量级下,该无线传感器网络是全部连通的。
第1能量级下连通图
在这里插入图片描述
第2能量级下连通图
在这里插入图片描述
第3能量级下连通图
在这里插入图片描述

(2) COMPOW协议下的覆盖图
在这里插入图片描述
在这里插入图片描述
根据图6可以求得其覆盖率为84.7%。
2、实验分析
根据图2-图4可知,随着能量级的不断增加,此传感器网络的连通率越来越大,当到达第三能量级后,网络已经全连通,随着能量级的增大,连通率不再变化,即第三能量级即为COMPOW协议下所要求得的能量级(通信半径)。
根绝图5-图6,我们可以发现,传感器网络在全连通的情况下,网络的覆盖率并不会达到100%,同时覆盖率随着节点布撒的位置发生一定的变化。

实验三

文献内容梗概

文献中提出了一种非对称时间戳和被动侦听的联合时钟同步和测距协议,且基于最小二乘法估计了传感器节点到已知位置节点(M)的未知时钟倾斜、时钟偏移和传感器节点到M节点之间的成对距离。
被动侦听:当M节点中的一个节点与传感器节点通信时,这两个节点记录时间戳并进行交换,网络中其他M-1个节点也被动的侦听它们的通信,并记录下本地时间戳,但它们不予以回应,被动侦听利用广播减少了节点之间主动传输次数,但同时获得了更多的信息。
非对称时间戳:由于该协议没有对传输序列施加任何的约束且加上被动的侦听,于是构成了不对称链路,导致了非对称的时间戳,即传感器不需要立即响应来自M节点的请求,因此通常考虑的传感器的处理时间不需要。

算法理论步骤描述

好多公式哎头疼
略去~

实验方案

1、场景配置
节点设置:在选定的一个范围内进行随机部署,包括一个传感器节点,M个M节点,M节点之间的距离是已知的。
时间设置:选定一个观测间隔,在这个时间间隔里面来同步时钟,同时选定一个M节点的本地时间为绝对参考时间,其他节点的本地时间都假设和其满足一阶仿射时钟模型,从而得到每个节点的时间同步参数,且在此期间时钟参数固定。
2、 同步处理
当两两节点进行通信时,交换时间戳时,其余每个节点也记录下各自的接收数据和传输数据的时间戳,从而进一步得到任意两点之间的通信时间。
考虑到波在传播过程中还有一定的噪声,因此利用上面的ATPL模型。
由于波在介质中传播的速度已知,M节点两两之间的距离都已知,可以求出其通信时间,根据最小二乘法以及噪声的简化处理,可以求得传感器节点到M节点的成对距离,并且得到各节点与参考节点时钟的倾斜以及偏移,从而进行相应的处理各自节点的调整。
3、模拟
考虑一个具有传感器节点还有M个M节点进行模拟,传感器节点和M节点随机分布在一个半径为r的范围内,设置时钟的倾斜和偏移在一个设定的范围内均匀分布,观测间隔为T,选定M节点中的第M个节点为时钟参数,且过程中一直不变,测得波在传输介质中的速度,设置时间戳破坏的均值,标准差的高斯过程。
利用上面阐述的模型进行模拟,从而得到了时钟倾斜与时钟偏移的均方根误差,以及传输不同消息量时,传感器与各M节点的距离的均方根误差。
若均方根误差越小,则说明该算法能较好地实现时钟同步以及测距。

实验四

实验目的

在给定WSN的节点数目(100)前提下,节点随机分布,按照LEACH算法,实现每一轮对WSN的分簇。记录前K轮(k=10)时,网络的分簇情况,即每个节点的角色(簇头或簇成员),标记节点之间的关系,标记其所属的簇头。
基于前面的实验过程,增加能量有效性的控制。给定所有节点具有相同的能量,考察第一个节点能量耗尽是在第几轮。对于节点的能量和能量消耗可以做简化处理:节点初始能量为整数,节点的能量消耗仅考虑关键的几次通信过程,其他能量消耗不计。
“几次通信过程:
Setup:簇成元:每次收到候选簇头信息 -1,每个候选簇头仅被收集一次;通知簇头成为其成员,发送信息 -2。
候选簇头:被簇成元接收信息,即发送信息,能量 -2;被通知成为簇头,接收信息能量 -1。
Steady:每个簇成员每轮向簇头发送10次数据,每次成员能量 -2,簇头能量 -1。

实验方法

1、算法原理
LEACH算法是一种无线传感器网络路由协议,基本思想是:以循环的方式随机选择簇头节点,将整个网络的能量负载平均分配到每个传感器节点中,从而达到降低网络能源消耗、提高网络整体生存时间的目的。
LEACH在运行过程中不断循环执行簇的重构过程,每个簇重构过程可以用回合的概念来描述。每个回合可以分成两个阶段:簇的建立阶段和传输数据稳定阶段。为了节省资源开销,稳定阶段的持续时间要大于建立阶段的持续时间。簇的建立过程可分成4个阶段:簇头节点的选择、簇头节点的广播、簇头节点的建立和调度机制的生成。
簇头节点的选择依据网络中所需要的簇头节点总数和到目前为止每个节点已成为簇头节点的次数来决定。具体的选择办法是:每个传感器节点随机选择0-1之间的一个值。如果选定的值小于某一个阈值,那么这个节点成为簇头节点。
选定簇头节点后,需要通过广播来告知整个网络。网络中的其他节点根据接收信息的信号强度决定从属的簇,并通知相应的簇头节点,从而完成簇的建立。最后簇头节点采用TDMA方式,为簇中每个节点分配向其传递数据的时间点。
稳定阶段中,传感器节点将采集的数据传送到簇头节点,簇头节点对簇中所有节点所采集的数据进行信息融合后再传送给汇聚节点,这是一种较少通信业务量的合理工作模型。稳定阶段持续一段时间后,网络重新进入簇的建立阶段,进行下一回合的簇重构,不断循环,每个簇采用不同的CDMA代码进行通信来减少其他簇内节点的干扰。

2、分簇
簇头选取初始阶段,每个节点根据所建议网络簇头的百分比(事先确定)和节点已经成为簇头的次数来确定是否当选为簇头。每个节点产生一个0-1的随机数字,若数字小于阈值,节点成为当前轮的簇头。
在这里插入图片描述
其中p为预期的簇头百分比,r为当前轮数,G是最近1/p轮里没有成为簇头的节点集合。首先确定传感器网络中的节点个数为100个,并对所有节点初始化三个属性:type(节点类型),selected(是否当选过簇头)和temp_rand(随机数),此处簇头产生概率为0.05。
算法步骤如下:
1:随机生成100个节点位置,并赋值随机数temp_rand,设置type和selected为N
2:将所有selected为N的节点随机值与阈值作比较,若temp_rand小于等于阈值,转3,否则转4
3:表明当前节点为簇头节点,将type赋值C,selected赋值为C,保证当过簇头节点的该节点在之后的分簇过程中不会再次成为簇头节点
4:表明节点为普通节点,将type赋值N和selected不改变赋值
5:遍历所有节点,若节点type为C,将节点在图上标记为o,否则将节点在图上标上*,同时标记上节点数目
6:若节点为普通节点,则计算其与所有簇头的欧式距离
7:利用min函数,找到与该普通节点距离最近的簇头,并将其用线连接
8:一轮分簇结束,返回1开始下一轮分簇

3、能量有效性控制
实验中通过对能量消耗规律分析可知:假设某轮分簇中第i个簇头的簇成员有j个,所以在这一轮中的通信过程中簇头消耗的能量为2+11j,簇成员消耗的能量为22,所以为每个节点增加一个属性S(i).power,实现能量监测。设置标志位flag,当发现第一个节点能量耗尽情况出现时,flag由1变为0,break出循环然后结束程序。

实验内容

1、分簇
(1)簇头选取

for i = 1:1:n 
        if S(i).selected == 'N'       %若该节点已被选为簇头节点则不再选举
            if(S(i).temp_rand <= (p/(1-p * mod(r,round(1/p)))))
                num1 = num1 + 1;
                fprintf("第%d号节点被选为簇头节点: %f<=%f\n",i,S(i).temp_rand,(p/(1-p*mod(r,round(1/p)))))
                S(i).type ='C';  
                S(i).selected = 'C';   %节点选定为簇头
                plot(S(i).x,S(i).y,'o');
            else
                S(i).type = 'N';      %节点选定为普通节点
                plot(S(i).x, S(i).y, '*');
                num2 = num2 + 1;
            end
        end
        if S(i).type == 'C'
            plot(S(i).x, S(i).y, 'o');   %簇头节点用o标记
            text(S(i).x, S(i).y, 'k');
        else
            plot(S(i).x, S(i).y,'*');   %普通节点用*标记
            text(S(i).x, S(i).y,num2str(i));
        end
        hold on;
    end

(2)普通节点决定从属簇头

%采用距离矩阵去判断最近的簇头节点
    distance = zeros(n);
    for a = 1:1:n
        if S(a).type == 'N'
            for b = 1:1:n
                if S(b).type == 'C'
                    %计算簇头与临近普通节点距离
                    length(a,b) = sqrt((S(a).x-S(b).x)^2+(S(a).y-S(b).y)^2); 
                else
                    length(a,b) = 100000;
                end
            end
            [val, b] = min(length(a,:));
            plot([S(b).x,S(a).x],[S(b).y,S(a).y],'b');    %将簇头节点与普通连接起来
            distance(a,b) = 1;
            hold on;
        else
            length(a,:) = 100000;
        end
End

2、能量有效控制

for i = 1:1:n
        if S(i).type ==  'C'
            number = sum(distance(:,i));
            S(i).power = S(i).power - (2 + 11 * number);
        else
            S(i).power = S(i).power - 22;
        end
    end
    for i = 1:1:n
        S(i).type = 'N';
    end
    for i = 1:1:n 
        if (S(i).power) < 0
            text(S(i).x,S(i).y,[num2str(i)+":"+num2str(S(i).power)]);   
            flag = 0;
        end
    end
    if flag == 0
        break
    end

实验结果与分析

1、实验结果
(1)分簇结果
从10轮分簇结果图里面选出三张图,如下所示:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2)能量有效控制结果
第4号节点被选为簇头节点: 0.005010<=0.052632
第22号节点被选为簇头节点: 0.010230<=0.052632
第23号节点被选为簇头节点: 0.042340<=0.052632
第60号节点被选为簇头节点: 0.043219<=0.052632
第68号节点被选为簇头节点: 0.036784<=0.052632
第1轮,簇头节点5个

第2号节点被选为簇头节点: 0.009499<=0.055556
第33号节点被选为簇头节点: 0.022702<=0.055556
第39号节点被选为簇头节点: 0.016772<=0.055556
第49号节点被选为簇头节点: 0.022688<=0.055556
第61号节点被选为簇头节点: 0.034159<=0.055556
第63号节点被选为簇头节点: 0.002487<=0.055556
第78号节点被选为簇头节点: 0.013719<=0.055556
第2轮,簇头节点7个

第35号节点被选为簇头节点: 0.040034<=0.058824
第54号节点被选为簇头节点: 0.010454<=0.058824
第59号节点被选为簇头节点: 0.037847<=0.058824
第79号节点被选为簇头节点: 0.037862<=0.058824
第3轮,簇头节点4个

第8号节点被选为簇头节点: 0.046096<=0.062500
第52号节点被选为簇头节点: 0.026865<=0.062500
第71号节点被选为簇头节点: 0.055090<=0.062500
第81号节点被选为簇头节点: 0.056782<=0.062500
第97号节点被选为簇头节点: 0.006202<=0.062500
第4轮,簇头节点5个

第16号节点被选为簇头节点: 0.036062<=0.066667
第34号节点被选为簇头节点: 0.033563<=0.066667
第89号节点被选为簇头节点: 0.004915<=0.066667
第95号节点被选为簇头节点: 0.052807<=0.066667
第5轮,簇头节点4个

2、实验分析
在簇头节点概率P=0.05和随机生成的节点总数目为100的情况下,通过MATLAB仿真10轮分簇结果,根据上面的图可以看出簇头节点个数维持在5左右,满足要求;在能量的有效控制实验中,首先通过对簇头及簇成员在一轮分簇通信过程中的能量消耗规律统计简化了实验步骤,后根据这里设置节点起始相同能量为600的情况,通过MATLAB仿真可知第一个节点能量耗尽的情况出现在第6轮。

期末作业

系统数据的利用、分析与结论

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
关键Matlab代码

A = 2*[x1-x4 y1-y4;x2-x4 y2-y4 ;x3-x4 y3-y4];
A = pinv(A);
B = [x1^2 + y1^2 - x4^2 - y4^2 - d1^2 + d4^2 ;x2^2 + y2^2 - x4^2 - y4^2 - d2^2 + d4^2; x3^2 + y3^2 - x4^2 - y4^2 - d3^2 + d4^2];
x = A * B

系统分析与方案设计题

某监狱系统拟建设一套对在押犯人实现智能监控系统,监控的内容包括:能对犯人行动,位置,作息,健康等信息的采集功能;能对指定目标犯人信息的定向信息采集,也能对全体犯人进行定时或有规律的信息采集;能对犯人的行为发出信息警告或对狱警报警的信息反馈功能。请完成如下工作:
(1)完成系统功能的模块化设计图,指明模块之间的相互关系。
(2)结合系统的具体要求,对每个功能模块,利用已经学习的知识,将每个模块进行功能
的细节描述,并对设计中可能出现的关键问题进行分析,并尝试给出解决方案。
(3)在系统功能模块设计图的基础上,绘制信息(数据)的使用和流向情况,或描述信息
(数据)的使用和流向情况。

(1)系统的模块化设计
在这里插入图片描述
将该在押犯人监控管理系统设计在一个局域网内,采用 C/S 架构,主要由数据库服务器、管理终端计算机、监控显示终端计算机组成。
系统的功能模块将按下面四个层划分:
·感知层:位置感知模块、作息健康感知模块、行为感知模块、报警感知模块(电量、遇袭)
·传输层:无线传感器网络布置模块(ZigBee(WSN)、LAN、WLAN)
·支撑层:数据接入模块(数据的采集与解析)、定位模块(数据拟合、定位运算)、行为识别模块(特征提取,行为识别)、作息健康分析模块(生物电位信号分析与评价)、信息管理模块(地理信息、管理员信息、狱警信息、犯人信息)
·应用层:注册配置授权模块(管理人员)、设备布置(网络协调器、参考节点、移动节点)模块、事件预警模块(固定、移动设备)、应用模块(实时监控、历史数据查询)

从上述四个层来分析其各自的功能:
·感知层:采集信号强度信息、加速度、电生理传感器信息和电量与预警信息,将信息经过预处理之后打包给后台系统
·传输层:搭建传输网络,研究网络拓扑结构、加密与无线接入等机制,保证各节点采集到的相关信息能够安全传输
·支撑层:对信号进行解包与分析后将各信息存入数据库,服务端调度数据和算法,调用定位程序、行为识别程序或者作息健康程序进行处理,并将得到的定位坐标、行为识别结果和作息健康等信息存入相关数据子库
·应用层:终端可视化各在押犯人的位置、行动、作息、健康等情况,管理人员可进行设备布置、历史数据查询以及各预警工作

(2)模块细节描述与关键问题的分析解决
这里具体分析五个重要模块的功能与关键问题的解决。
① 设备模块
这里设备主要包括三个网络协调器、参考节点和移动节点
参考节点被布置在固定位置上,可看作为射频标签所对应的读写器,起到路由、转发的作用,接收移动节点的行为、健康作息与预警等信息和获取此信号的RSSI 信号,同时将自身的数据和收集到移动节点的信息和RSSI数值进行打包后通过 ZigBee网络传递至网络协调器(分配局域网内地址),最终传送到数据采集终端。
在这里插入图片描述
移动节点起定时广播的作用,可在其中放置不同功能的传感器电路,同时其芯片也是由处理器和射频模块集成,采用腕带式佩戴设备。
这里的移动节点需要分为两类,在押犯人移动节点和狱警移动节点,里面包含了在押犯人与狱警的身份信息,用于后续的身份识别验证等。节点电路构成主要有加速度传感器、电源、射频前端电路、电量与遇袭监测电路和控制电路,考虑到在押犯人需要进行健康与作息信息的采集,因此还需要加入电生理传感器电路。

在这里插入图片描述
在这里插入图片描述
该模块主要涉及两个关键问题。
1、节点中传感器的选择
对在押犯人行为信息采集采用加速度传感器,其采集的信息可以反映犯人某部位某时刻的运动状态,其中涉及到行为识别,关键在于行为识别中的特征值提取问题。
对在押犯人健康信息采集采用电生理传感器,其检测生物电位信号,考虑到人体内器官、组织和神经活动都与电势有关,因此监测电生理(EP)信号有助于发现异常生命体征。
2、传感器节点功耗与体积
采取可佩戴式移动设备需要需要考虑佩戴舒适度,所以传感器的体积要较小,不要显得累赘。
对于功耗问题需要合理的设置芯片发送信号的间隔,需要处理好睡眠与唤醒状态的转换,采取合适的睡眠调度机制,比如Sensor-MAC、T-MAC、Data-gathering-MAC等机制。
同时需要注意因为资源共享而出现的冲突问题,可以采用基于预留机制的调度(ReSync)来合理的使用时隙,从而避免了TDMA中的节点必须等到自己所对应的那个时隙的到来的情况。

② 无线传感器网络布置模块
采用ZigBee技术组建Ad hoc低功耗传感器网络。ZigBee是一种基于IEEE 802.15.4协议的无线标准,适合于低距离、低功耗、低数据率的无线网络传输。Ad hoc是一种非中心式网络分布结构,一种自组织多跳,具有动态拓扑的移动通信网络。该网络不提供固定的路由器,网络上的节点都具有移动性,而且都能够以多种形式向其他节点进行数据交换。利用射频信号及其空间和传输特性,实现非接触双向数据通信,对静止或移动的目标进行自动识别。

③ 数据接入模块
参考节点,将接收到多个(在押犯人或狱警佩戴的移动节点的)RSSI信号进行采样,同时将电生理、加速度传感器和预警信息一起打包发送至后端。
这里需要考虑收集的数据的质量,需要对信号进行过采样,并采用权值滤波函数等进行预处理,从而降低信号波动和大跳变等所带来的影响。考虑到传感器功耗问题,需要选择轻量级信号预处理算法。同时考虑在押犯人的信息收集方式,这里分为两种,一种是对指定犯人的定向信息采集、另一种对全体犯人定时有规律的信息采集。对于指定犯人的定向信息收集这里需要考虑到一个关键问题:身份识别。需要采用射频识别技术,移动设备定时广播自己的信息,参考节点进行与其非接触的数据通信,并通过网络协调器与后台中数据库离在押犯人身份进行验证后进行相应信息的采集;对于全体犯人定时有规律的信息采集,可设置信息传输的时间间隔完成。

④ 应用模块
此模块包括实时监控以及历史查询两个部分,这些部分对时间都有较高的要求,即这里需要考虑到时间同步这个关键问题,可以采取RBS(参考广播)或者TPSN(成对收发)的时间同步机制来解决。

⑤ 事件预警模块
该模块分为固定设备预警和移动设备预警。其中固定设备预警指布置的参考节点等受到破坏、寿命耗尽等情况。移动设备预警是对可能发生的异常情况或者事件的预警,包括在押犯人越界、过密和清点异常三种情况的预警,以防止发生在押犯人潜逃行为的出现和犯人聚众闹事或者纠纷情况的发生。在押犯人将报警信息传送给后台之后,后台进行定位信息库确定该报警节点位置,从而将命令发送给离其最近的狱警进行相对应的处理。

(3)绘制系统数据流
多图,略~

  • 10
    点赞
  • 143
    收藏
    觉得还不错? 一键收藏
  • 24
    评论
无线传感器网络RSS数据建模实验是指通过收集和分析无线传感器网络中的接收信号强度(RSS)数据来建立模型。RSS是指接收器所接收到的信号的强度,可以用来表征信号的传输质量和距离。 在进行无线传感器网络的RSS数据建模实验时,首先需要选择合适的传感器节点,并将它们分布在研究区域内。然后,通过这些传感器节点收集到的RSS数据来进行实验。收集到的RSS数据包括距离节点的信息以及对应的信号强度。 接下来,将收集到的RSS数据进行预处理和特征提取。预处理包括数据去噪、校准和标准化等步骤,以确保数据的准确性和一致性。特征提取则是从收集到的RSS数据中提取出有意义的特征,如平均信号强度、方差、变化率等。 在处理完RSS数据后,需要选择合适的建模方法。常用的建模方法包括线性回归、最小二乘法、支持向量机等。选择合适的建模方法可以根据实验目的和数据的特点来确定。 在建立模型之前,还需要对数据集进行划分,分为训练集和测试集。训练集用于建立和训练模型,测试集用于评估模型的性能和准确性。 最后,使用建立好的模型对新的无线传感器网络RSS数据进行预测和分析。通过对预测结果的评估可以判断模型的准确性和可靠性,进而对传感器网络的部署和性能进行优化和改进。 总之,无线传感器网络RSS数据建模实验是一项重要的研究工作,通过对实验数据的收集、预处理和建模可以提高对无线传感器网络的理解和管理能力,对于实现无线传感器网络的优化和改进具有重要的意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值