发明名称 一种分布式无线传感网络节点故障检测方法
摘要 本发明公开了一种分布式无线传感网络节点故障检测方法,属于无线传感网络、分布式计算的交叉技术领域。本发明方法充分利用了无线传感器网络中节点采集数据的特点:时间相关性与空间相关性,即首先利用时间相关性,检测出部分节点故障,对于没有检测出故障的节点,再利用空间相关性,通过与邻节点交换信息来确定节点的状态,最终实现对无线传感网络节点的故障检测。由于直接利用节点自身已采集的数据就可检测出某些类型的故障,在此过程中不需要节点与其邻居节点交换信息,进而减小了网络的能量消耗。使得算法在具有较好的故障检测性能的同时,又具有较低的能耗。
申请公布号 CN102572908B 申请公布日期 2014.09.10
申请号 CN201210037485.2 申请日期 2012.02.20
申请人 南京邮电大学 发明人 徐小龙;耿卫建;李玲娟;杨庚;许建
分类号 H04W24/04(2009.01)I;H04W84/18(2009.01)I 主分类号 H04W24/04(2009.01)I
代理机构 南京经纬专利商标代理有限公司 32200 代理人 许方
主权项 一种分布式无线传感网络节点故障检测方法,所述分布式无线传感网络中包含N个传感器节点,其特征在于,该故障检测方法包括以下步骤:步骤1:当N个传感器节点中的第i个节点s<sub>i</sub>在t时刻采集数据后,获取其最新采集的q个数据,并根据式(1)建立矩阵M:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>M</mi><mi>mn</mi></msub><mfenced open='{' close=''><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mi>if</mi><mrow><mo>(</mo><mo>|</mo><msubsup><mi>x</mi><mi>i</mi><mi>m</mi></msubsup><mo>-</mo><msubsup><mi>x</mi><mi>i</mi><mi>n</mi></msubsup><mo>|</mo><mo>&le;</mo><msub><mi>&xi;</mi><mn>1</mn></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mi>otherwise</mi></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000491670000000011.GIF" wi="1239" he="190" /></maths>其中m,n={0,1,...,q‑1},ξ<sub>1</sub>≥0,<img file="FDA0000491670000000012.GIF" wi="57" he="81" />表示节点si在j时刻的测量值;步骤2:对于矩阵M中的每一行,利用式(2)计算<img file="FDA0000491670000000013.GIF" wi="83" he="72" /><maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msubsup><mi>C</mi><mi>i</mi><mi>r</mi></msubsup><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mi>if</mi><mrow><mo>(</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mi>t</mi><mo>-</mo><mi>q</mi><mo>+</mo><mn>1</mn></mrow><mi>t</mi></munderover><msub><mi>M</mi><mi>ij</mi></msub><mo>&lt;</mo><mfrac><mi>q</mi><mn>2</mn></mfrac><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mi>otherwise</mi></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000491670000000014.GIF" wi="1184" he="241" /></maths>其中t‑q+1≤r≤t;步骤3:根据式(3)纠正t时刻<img file="FDA0000491670000000015.GIF" wi="48" he="72" />的值,并将其他任一时刻<img file="FDA0000491670000000016.GIF" wi="48" he="70" />为0的测量值作为t时刻的测量值;<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msubsup><mi>C</mi><mi>i</mi><mi>t</mi></msubsup><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mi>if</mi><mrow><mo>(</mo><munderover><mi>&Sigma;</mi><mrow><mi>r</mi><mo>=</mo><mi>t</mi><mo>-</mo><mi>q</mi><mo>+</mo><mn>1</mn></mrow><mi>t</mi></munderover><msubsup><mi>c</mi><mi>i</mi><mi>r</mi></msubsup><mo>&lt;</mo><mfrac><mi>q</mi><mn>2</mn></mfrac><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mi>otherwise</mi></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000491670000000017.GIF" wi="1200" he="243" /></maths>步骤4:根据式(4)对节点状态进行初步判断:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msub><mi>T</mi><mi>i</mi></msub><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mi>if</mi><mrow><mo>(</mo><munderover><mi>&Sigma;</mi><mrow><mi>r</mi><mo>=</mo><mi>t</mi><mo>-</mo><mi>q</mi><mo>+</mo><mn>1</mn></mrow><mi>t</mi></munderover><msubsup><mi>c</mi><mi>i</mi><mi>r</mi></msubsup><mo>&lt;</mo><mfrac><mi>q</mi><mn>2</mn></mfrac><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mi>otherwise</mi></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000491670000000018.GIF" wi="1195" he="242" /></maths>其中T<sub>i</sub>=0表示节点s<sub>i</sub>为可能正常节点,T<sub>i</sub>=1表示节点s<sub>i</sub>为故障节点;步骤5:判断节点s<sub>i</sub>是否为无线传感器网络中第N个节点,若是,则从第一个节点开始执行步骤6;否则,令i=i+1并转至步骤1;步骤6:若节点s<sub>i</sub>的初始故障状态T<sub>i</sub>=1,则执行步骤7;否则,获取其相邻节点中初始故障状态为T<sub>i</sub>=0的测量值,若节点s<sub>i</sub>相邻节点中初始故障状态T=0的节点的个数为Num(Neighbor(s<sub>i</sub>)andT=0),则根据式(5)、(6)判断节点的最终状态:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msubsup><mi>C</mi><mi>ij</mi><mi>t</mi></msubsup><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mi>if</mi><mrow><mo>(</mo><mo>|</mo><msubsup><mi>x</mi><mi>i</mi><mi>t</mi></msubsup><mo>-</mo><msubsup><mi>x</mi><mi>j</mi><mi>t</mi></msubsup><mo>|</mo><mo>&le;</mo><msub><mi>&xi;</mi><mn>2</mn></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mi>otherwise</mi></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000491670000000021.GIF" wi="1208" he="198" /></maths>其中ξ<sub>2</sub>≥0,<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><msub><mi>GT</mi><mi>i</mi></msub><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mi>if</mi><mrow><mo>(</mo><munder><mi>&Sigma;</mi><mrow><msub><mi>s</mi><mi>j</mi></msub><mo>&Element;</mo><mi>Neighbor</mi><mrow><mo>(</mo><msub><mi>s</mi><mi>i</mi></msub><mo>)</mo></mrow><mi>an d</mi><msub><mi>T</mi><mi>j</mi></msub><mo>=</mo><mn>0</mn></mrow></munder><mo>)</mo></mrow><msubsup><mi>C</mi><mi>ij</mi><mi>t</mi></msubsup><mo>&lt;</mo><mi>Num</mi><mrow><mo>(</mo><mi>Neoghtbor</mi><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow><mi>i</mi><mo>)</mo></mrow><mi>and T</mi><mo>=</mo><mrow><mn>0</mn><mo>)</mo></mrow><mo>/</mo><mrow><mn>2</mn><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mi>otherwise</mi></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000491670000000022.GIF" wi="1624" he="220" /></maths>若GT<sub>i</sub>=0则认为节点s<sub>i</sub>的状态为正常节点,否则为故障节点;步骤7:若节点s<sub>i</sub>为无线传感器网络中第N个节点,算法结束;否则令i=i+1并执行步骤6。
地址 210003 江苏省南京市新模范马路66号