发明名称 一种无线传感器网络节点故障检测方法
摘要 本发明涉及一种改进的DFD无线传感器网络节点故障检测方法。现有的检测方法检测精度较低。本发明方法在得到了节点在与其邻居节点间的测试结果和初步检测状态的基础上,对任意节点,在其邻居节点中初步检测状态为可能正常的节点中,若与该节点间测试结果为0的节点数大于或等于测试结果为1的节点数,则认为该节点的状态为正常,反之为故障。本发明方法通过网络内邻居节点间的数据交换和相互测试检测出故障节点。本发明提供的技术方案适用于网络节点总数和待检测节点的邻居节点数较少、节点故障率较高的传感器网络,且能大大提高故障检测精度。
申请公布号 CN101257355A 申请公布日期 2008.09.03
申请号 CN200810060361.X 申请日期 2008.04.08
申请人 杭州电子科技大学 发明人 蒋鹏;何志业
分类号 H04B17/00(2006.01);H04Q7/34(2006.01) 主分类号 H04B17/00(2006.01)
代理机构 杭州求是专利事务所有限公司 代理人 张法高
主权项 1、一种无线传感器网络节点故障检测方法,其特征在于该检测方法包括以下步骤:(1)对任意节点S<sub>i</sub>,取Neighbor(S<sub>i</sub>)中的任意节点S<sub>j</sub>,得到d<sub>ij</sub><sup>t</sup>,同时置C<sub>ij</sub>=0,其中Neighbor(S<sub>i</sub>)为节点S<sub>i</sub>的邻居节点集合,C<sub>ij</sub>为两相邻节点S<sub>i</sub>与S<sub>j</sub>根据它们各自所感知的数据产生的一个测试结果;(2)若<maths num="0001"><![CDATA[<math><mrow><mo>|</mo><msubsup><mi>d</mi><mi>ij</mi><mi>t</mi></msubsup><mo>|</mo><mo>></mo><msub><mi>&theta;</mi><mn>1</mn></msub><mo>,</mo></mrow></math>]]></maths>置C<sub>ij</sub>=1,转至Neighbor(S<sub>i</sub>)中的下一个节点;若<maths num="0002"><![CDATA[<math><mrow><mo>|</mo><msubsup><mi>d</mi><mi>ij</mi><mi>t</mi></msubsup><mo>|</mo><mo>&le;</mo><msub><mi>&theta;</mi><mn>1</mn></msub><mo>,</mo></mrow></math>]]></maths>计算Δd<sub>ij</sub><sup>t</sup>,若<maths num="0003"><![CDATA[<math><mrow><mo>|</mo><mi>&Delta;</mi><msubsup><mi>d</mi><mi>ij</mi><mi>t</mi></msubsup><mo>|</mo><mo>></mo><msub><mi>&theta;</mi><mn>2</mn></msub><mo>,</mo></mrow></math>]]></maths>置C<sub>ij</sub>=1,转至Neighbor(S<sub>i</sub>)中的下一个节点,其中d<sub>ij</sub><sup>t</sup>为两相邻节点S<sub>i</sub>与S<sub>j</sub>在时刻t各自感知的数据之差,θ<sub>1</sub>为其阈值,Δd<sub>ij</sub><sup>t</sup>为两相邻节点S<sub>i</sub>与S<sub>j</sub>在时刻t和t+1,所感知的数据之差d<sub>ij</sub><sup>t+1</sup>与d<sub>ij</sub><sup>t</sup>的差值,θ<sub>2</sub>为其阈值;(3)重复步骤(1)和(2),获得S<sub>i</sub>与Neighbor(S<sub>i</sub>)的每个节点间的C<sub>ij</sub>值;(4)根据S<sub>i</sub>的各个Neighbor(S<sub>i</sub>)间的C<sub>ij</sub>值,计算<img file="A20081006036100024.GIF" wi="259" he="90" />如果<maths num="0004"><![CDATA[<math><mrow><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></mrow></munder><msub><mi>C</mi><mi>ij</mi></msub><mo>&lt;</mo><mi>Num</mi><mrow><mo>(</mo><mi>Neighbor</mi><mrow><mo>(</mo><msub><mi>S</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow><mo>/</mo><mn>2</mn><mo>,</mo></mrow></math>]]></maths>则令S<sub>i</sub>的初步检测状态T<sub>i</sub>为可能正常,T<sub>i</sub>=LG;如果<maths num="0005"><![CDATA[<math><mrow><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></mrow></munder><msub><mi>C</mi><mi>ij</mi></msub><mo>&GreaterEqual;</mo><mi>Num</mi><mrow><mo>(</mo><mi>Neighbor</mi><mrow><mo>(</mo><msub><mi>S</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow><mo>/</mo><mn>2</mn><mo>,</mo></mrow></math>]]></maths>则令T<sub>i</sub>为可能故障,T<sub>i</sub>=LT其中Num(Neighbor(S<sub>i</sub>))为节点S<sub>i</sub>的邻居节点总数;(5)如果节点S<sub>i</sub>邻居节点中初步检测状态T<sub>i</sub>=LG的节点数<img file="A20081006036100027.GIF" wi="419" he="52" />为0,T<sub>i</sub>=LG时,节点S<sub>i</sub>的状态为正常;T<sub>i</sub>=LT时,节点S<sub>i</sub>的状态为故障;如果节点S<sub>i</sub>邻居节点中初步检测状态T<sub>i</sub>=LG的节点数<img file="A20081006036100028.GIF" wi="419" he="52" />大于0,根据T<sub>i</sub>值和C<sub>ij</sub>值,计算<img file="A20081006036100029.GIF" wi="369" he="88" />如果<maths num="0006"><![CDATA[<math><mrow><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>and</mi><msub><mi>T</mi><mi>j</mi></msub><mo>=</mo><mi>LG</mi></mrow></munder><msub><mi>C</mi><mi>ij</mi></msub><mo>)</mo></mrow><mo>&lt;</mo><mi>Num</mi><mrow><mo>(</mo><mi>Neighbor</mi><msub><mrow><mo>(</mo><msub><mi>S</mi><mi>i</mi></msub><mo>)</mo></mrow><mrow><msub><mi>T</mi><mi>j</mi></msub><mo>=</mo><mi>LG</mi></mrow></msub><mo>)</mo></mrow><mo>/</mo><mn>2</mn><mo>,</mo></mrow></math>]]></maths>则节点S<sub>i</sub>的状态为正常;如果<maths num="0007"><![CDATA[<math><mrow><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>and</mi><msub><mi>T</mi><mi>j</mi></msub><mo>=</mo><mi>LG</mi></mrow></munder><msub><mi>C</mi><mi>ij</mi></msub><mo>)</mo></mrow><mo>&GreaterEqual;</mo><mi>Num</mi><mrow><mo>(</mo><mi>Neighbor</mi><msub><mrow><mo>(</mo><msub><mi>S</mi><mi>i</mi></msub><mo>)</mo></mrow><mrow><msub><mi>T</mi><mi>j</mi></msub><mo>=</mo><mi>LG</mi></mrow></msub><mo>)</mo></mrow><mo>/</mo><mn>2</mn><mo>,</mo></mrow></math>]]></maths>则节点S<sub>i</sub>的状态为故障;(6)重复步骤(1)~(5),直到网络所有节点的状态检测完成。
地址 310018浙江省杭州市江干区下沙高教园区2号大街