一种用于无线传感器网络的分布式多源定位算法的制作方法

文档序号:11947073阅读:来源:国知局

技术特征:

1.一种用于无线传感器网络的分布式多源定位算法,其特征在于,包括以下步骤:

(1)系统初始化;

(2)无线传感器网络中多个目标节点发射无线电信号,参考节点接收多源叠加信号,并计算叠加能量,确定多源定位模型;

(3)执行分布式多源邻近估计算法,获取多源定位初值;

(4)根据步骤(3)所获得的多源定位初值筛选有效参考节点,确定下一步的迭代运算次序;

(5)执行分布式多源方向梯度估计算法,按照步骤(4)所确定的参考节点迭代次序,在上一次迭代位置估计值处,对自身能量测量值进行多源方向梯度运算,并解算本次迭代位置估计值;

(6)将每次迭代定位结果和上一次迭代定位结果的差值与系统预设阈值比较,若差值大于或者等于系统预设阈值,则返回步骤(5),重新执行分布式多源方向梯度估计算法;若差值小于系统预设阈值,则本次迭代位置估计值即为最终多源定位结果。

2.如权利要求1所述的用于无线传感器网络的分布式多源定位算法,其特征在于,所部步骤(1)中,系统初始化包括对采样周期T、采样数N,邻近估计算法随机向量Δ,邻近节点距离阈值ζ,信噪比阈值τ,迭代步长α和误差阈值ε的预设。

3.如权利要求1所述的用于无线传感器网络的分布式多源定位算法,其特征在于,所述步骤(2)具体为:

设定二维的无线传感器网络,内部分布着P个参考节点BS,坐标为:

R={[r1,r2,…,rp,…,rP]T∈RP×2,p=1,2,…P};

M个待定位的目标节点MS,坐标为:

θ={[ρ12,…,ρm,…,ρM]T∈RM×2,m=1,2,…M};

目标节点周期性发射相同的无线电信号s(n),设参考节点的接收增益均为1,则参考节点p接收到目标节点m的信号能量为:

<mrow> <msubsup> <mi>y</mi> <mi>p</mi> <mrow> <mo>(</mo> <mi>m</mi> <mo>)</mo> </mrow> </msubsup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <mi>s</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>|</mo> <mo>|</mo> <msub> <mi>&rho;</mi> <mi>m</mi> </msub> <mo>-</mo> <msub> <mi>r</mi> <mi>p</mi> </msub> <mo>|</mo> <msup> <mo>|</mo> <mn>2</mn> </msup> </mrow> </mfrac> <mo>+</mo> <msub> <mi>v</mi> <mi>p</mi> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

其中,vp(n)为参考节点p处的加性噪声,服从正态分布N(0,σ2);

因此,参考节点p接收到的多源信号能量的叠加为:

<mrow> <msub> <mi>y</mi> <mi>p</mi> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>m</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>M</mi> </munderover> <mo>&lsqb;</mo> <mfrac> <mrow> <mi>s</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>|</mo> <mo>|</mo> <msub> <mi>&rho;</mi> <mi>m</mi> </msub> <mo>-</mo> <msub> <mi>r</mi> <mi>p</mi> </msub> <mo>|</mo> <msup> <mo>|</mo> <mn>2</mn> </msup> </mrow> </mfrac> <mo>+</mo> <msub> <mi>v</mi> <mi>p</mi> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>&rsqb;</mo> <mo>;</mo> </mrow>

取采样周期T内的信号能量叠加平均值yp,并认为在采样周期T内则:

<mrow> <msub> <mi>y</mi> <mi>p</mi> </msub> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>m</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>M</mi> </munderover> <mfrac> <mi>s</mi> <mrow> <mo>|</mo> <mo>|</mo> <msub> <mi>&rho;</mi> <mi>m</mi> </msub> <mo>-</mo> <msub> <mi>r</mi> <mi>p</mi> </msub> <mo>|</mo> <msup> <mo>|</mo> <mn>2</mn> </msup> </mrow> </mfrac> <mo>+</mo> <msub> <mi>w</mi> <mi>p</mi> </msub> <mo>,</mo> </mrow>

其中:

<mrow> <msub> <mi>w</mi> <mi>p</mi> </msub> <mover> <mo>=</mo> <mi>&Delta;</mi> </mover> <munderover> <mo>&Sigma;</mo> <mrow> <mi>m</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>M</mi> </munderover> <msub> <mi>v</mi> <mi>p</mi> </msub> <mo>~</mo> <mi>N</mi> <mrow> <mo>(</mo> <mn>0</mn> <mo>,</mo> <msup> <mi>M&sigma;</mi> <mn>2</mn> </msup> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

将P个参考节点的信号能量叠加平均值,即能量测量值,以矩阵的形式表示:

<mrow> <mi>Y</mi> <mover> <mo>=</mo> <mi>&Delta;</mi> </mover> <msup> <mrow> <mo>&lsqb;</mo> <msub> <mi>y</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>y</mi> <mn>2</mn> </msub> <mo>,</mo> <mo>...</mo> <mo>,</mo> <msub> <mi>y</mi> <mi>P</mi> </msub> <mo>&rsqb;</mo> </mrow> <mi>T</mi> </msup> <mo>&Element;</mo> <msup> <mi>R</mi> <mrow> <mi>P</mi> <mo>&times;</mo> <mn>1</mn> </mrow> </msup> <mo>,</mo> </mrow>

<mrow> <mi>S</mi> <mover> <mo>=</mo> <mi>&Delta;</mi> </mover> <msup> <mrow> <mo>&lsqb;</mo> <mi>s</mi> <mo>,</mo> <mi>s</mi> <mo>,</mo> <mo>...</mo> <mo>,</mo> <mi>s</mi> <mo>&rsqb;</mo> </mrow> <mi>T</mi> </msup> <mo>&Element;</mo> <msup> <mi>R</mi> <mrow> <mi>M</mi> <mo>&times;</mo> <mn>1</mn> </mrow> </msup> <mo>,</mo> </mrow>

<mrow> <mi>W</mi> <mover> <mo>=</mo> <mi>&Delta;</mi> </mover> <msup> <mrow> <mo>&lsqb;</mo> <msub> <mi>w</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>w</mi> <mn>2</mn> </msub> <mo>,</mo> <mo>...</mo> <mo>,</mo> <msub> <mi>w</mi> <mi>P</mi> </msub> <mo>&rsqb;</mo> </mrow> <mi>T</mi> </msup> <mo>&Element;</mo> <msup> <mi>R</mi> <mrow> <mi>P</mi> <mo>&times;</mo> <mn>1</mn> </mrow> </msup> <mo>,</mo> </mrow>

<mrow> <mi>D</mi> <mover> <mo>=</mo> <mi>&Delta;</mi> </mover> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mrow> <mn>1</mn> <mo>/</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>d</mi> <mn>1</mn> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mn>1</mn> <mo>/</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>d</mi> <mn>1</mn> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mo>...</mo> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mn>1</mn> <mo>/</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>d</mi> <mn>1</mn> <mrow> <mo>(</mo> <mi>M</mi> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>1</mn> <mo>/</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>d</mi> <mn>2</mn> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mn>1</mn> <mo>/</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>d</mi> <mn>2</mn> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mo>...</mo> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mn>1</mn> <mo>/</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>d</mi> <mn>2</mn> <mrow> <mo>(</mo> <mi>M</mi> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </mtd> </mtr> <mtr> <mtd> <mtable> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> </mtable> </mtd> <mtd> <mtable> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> </mtable> </mtd> <mtd> <mtable> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> </mtable> </mtd> <mtd> <mtable> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> </mtable> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>1</mn> <mo>/</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>d</mi> <mi>P</mi> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mn>1</mn> <mo>/</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>d</mi> <mi>P</mi> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mo>...</mo> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mn>1</mn> <mo>/</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>d</mi> <mi>P</mi> <mrow> <mo>(</mo> <mi>M</mi> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>&Element;</mo> <msup> <mi>R</mi> <mrow> <mi>P</mi> <mo>&times;</mo> <mi>M</mi> </mrow> </msup> <mo>,</mo> </mrow>

其中:

<mrow> <msubsup> <mi>d</mi> <mi>p</mi> <mrow> <mo>(</mo> <mi>m</mi> <mo>)</mo> </mrow> </msubsup> <mover> <mo>=</mo> <mi>&Delta;</mi> </mover> <mo>|</mo> <mo>|</mo> <msub> <mi>&rho;</mi> <mi>m</mi> </msub> <mo>-</mo> <msub> <mi>r</mi> <mi>p</mi> </msub> <mo>|</mo> <mo>|</mo> <mo>,</mo> </mrow>

则P个参考节点的能量测量值矩阵可表示为:

Y=DS+W。

4.如权利要求1所述的用于无线传感器网络的分布式多源定位算法,其特征在于,所述步骤(3)具体为:

(3a)令m=1;

(3b)将无线传感器网络内的参考节点1将自身的能量测量值赋值给ymax;并将自身的节点序号赋值给目标节点m对应的邻近参考节点序号估计值;

(3c)按照参考节点的序号顺序,将ymax和目标节点m的邻近节点序号估计值依次向下传递;

(3d)参考节点p接收来自参考节点p-1处传来的ymax和目标节点m的邻近节点序号估计值;

(3e)参考节点将自身的能量测量值与ymax作比较,更新ymax和目标节点m的邻近节点序号估计值;

(3f)判断是否遍历所有参考节点,如果未遍历所有参考节点,则重复步骤(3c)至步骤(3e);当遍历所有的参考节点之后,确定目标节点m的位置估计初值,并更新所有参考节点的能量测量值;

(3g)使m=m+1,并判断是否到达最后一个目标节点,如果m>M,则输出所有目标节点的位置估计初值;如果m<M,则重复步骤(3b)至步骤(3f),对下一个目标节点进行估计。

5.如权利要求4所述的用于无线传感器网络的分布式多源定位算法,其特征在于,所述步骤(3e)具体为:

首先,根据参考节点的信号能量叠加平均值估计第一个目标节点的位置初值;

设M个目标节点对应的邻近参考节点序号集合为:

<mrow> <mi>I</mi> <mi>n</mi> <mover> <mi>d</mi> <mo>^</mo> </mover> <mo>=</mo> <msup> <mrow> <mo>&lsqb;</mo> <mi>I</mi> <mi>n</mi> <mover> <mi>d</mi> <mo>^</mo> </mover> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>,</mo> <mi>I</mi> <mi>n</mi> <mover> <mi>d</mi> <mo>^</mo> </mover> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> <mo>,</mo> <mo>...</mo> <mo>,</mo> <mi>I</mi> <mi>n</mi> <mover> <mi>d</mi> <mo>^</mo> </mover> <mrow> <mo>(</mo> <mi>M</mi> <mo>)</mo> </mrow> <mo>&rsqb;</mo> </mrow> <mi>T</mi> </msup> <mo>&Element;</mo> <msup> <mi>R</mi> <mrow> <mi>M</mi> <mo>&times;</mo> <mn>1</mn> </mrow> </msup> <mo>,</mo> </mrow>

<mrow> <msubsup> <mi>y</mi> <mi>p</mi> <mn>0</mn> </msubsup> <mo>=</mo> <msub> <mi>y</mi> <mi>p</mi> </msub> <mo>,</mo> <mi>p</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mo>...</mo> <mo>,</mo> <mi>P</mi> <mo>,</mo> </mrow>

则第一个目标节点的邻近参考节点序号为:

<mrow> <mi>I</mi> <mi>n</mi> <mover> <mi>d</mi> <mo>^</mo> </mover> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>=</mo> <mi>arg</mi> <munder> <mrow> <msubsup> <mi>maxy</mi> <mi>p</mi> <mn>0</mn> </msubsup> </mrow> <mi>p</mi> </munder> <mo>,</mo> </mrow>

在邻近参考节点坐标上附加随机向量Δ,则第一个目标节点的位置初值估计为:

<mrow> <msubsup> <mover> <mi>&rho;</mi> <mo>^</mo> </mover> <mn>1</mn> <mrow> <mo>(</mo> <mn>0</mn> <mo>)</mo> </mrow> </msubsup> <mo>=</mo> <msub> <mi>r</mi> <mrow> <mi>I</mi> <mi>n</mi> <mover> <mi>d</mi> <mo>^</mo> </mover> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </msub> <mo>+</mo> <mi>&Delta;</mi> <mo>;</mo> </mrow>

根据第一个目标节点的初值更新所有参考节点的能量测量值:

<mrow> <msubsup> <mi>y</mi> <mi>p</mi> <mn>1</mn> </msubsup> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msubsup> <mi>y</mi> <mi>p</mi> <mn>0</mn> </msubsup> <mo>-</mo> <mfrac> <mi>s</mi> <mrow> <mo>|</mo> <mo>|</mo> <msubsup> <mover> <mi>&rho;</mi> <mo>^</mo> </mover> <mn>1</mn> <mrow> <mo>(</mo> <mn>0</mn> <mo>)</mo> </mrow> </msubsup> <mo>-</mo> <msub> <mi>r</mi> <mi>p</mi> </msub> <mo>|</mo> <msup> <mo>|</mo> <mn>2</mn> </msup> </mrow> </mfrac> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>p</mi> <mo>&NotEqual;</mo> <mi>I</mi> <mi>n</mi> <mover> <mi>d</mi> <mo>^</mo> </mover> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>y</mi> <mi>p</mi> <mn>0</mn> </msubsup> <mo>-</mo> <mfrac> <mi>s</mi> <msup> <mi>&zeta;</mi> <mn>2</mn> </msup> </mfrac> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>p</mi> <mo>=</mo> <mi>I</mi> <mi>n</mi> <mover> <mi>d</mi> <mo>^</mo> </mover> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>,</mo> </mrow>

其中,ζ为邻近节点距离阈值;

其次,根据第一个目标节点的位置初值,求得第二个目标节点的位置初值:

第二个目标节点的邻近参考节点序号为:

<mrow> <mi>I</mi> <mi>n</mi> <mover> <mi>d</mi> <mo>^</mo> </mover> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> <mo>=</mo> <mi>arg</mi> <mi> </mi> <mi>max</mi> <mi> </mi> <msubsup> <mi>y</mi> <mi>p</mi> <mn>1</mn> </msubsup> <mo>,</mo> </mrow>

第二个目标节点的位置初值估计为:

<mrow> <msubsup> <mover> <mi>&rho;</mi> <mo>^</mo> </mover> <mn>2</mn> <mrow> <mo>(</mo> <mn>0</mn> <mo>)</mo> </mrow> </msubsup> <mo>=</mo> <msub> <mi>r</mi> <mrow> <mi>I</mi> <mi>n</mi> <mover> <mi>d</mi> <mo>^</mo> </mover> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow> </msub> <mo>+</mo> <mi>&Delta;</mi> <mo>,</mo> </mrow>

根据第二个目标节点的初值更新所有参考节点的能量测量值:

<mrow> <msubsup> <mi>y</mi> <mi>p</mi> <mn>2</mn> </msubsup> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msubsup> <mi>y</mi> <mi>p</mi> <mn>1</mn> </msubsup> <mo>-</mo> <mfrac> <mi>s</mi> <mrow> <mo>|</mo> <mo>|</mo> <msubsup> <mover> <mi>&rho;</mi> <mo>^</mo> </mover> <mn>1</mn> <mrow> <mo>(</mo> <mn>0</mn> <mo>)</mo> </mrow> </msubsup> <mo>-</mo> <msub> <mi>r</mi> <mi>p</mi> </msub> <mo>|</mo> <msup> <mo>|</mo> <mn>2</mn> </msup> </mrow> </mfrac> <mo>,</mo> <mi>p</mi> <mo>&NotEqual;</mo> <mi>I</mi> <mi>n</mi> <mover> <mi>d</mi> <mo>^</mo> </mover> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>y</mi> <mi>p</mi> <mn>1</mn> </msubsup> <mo>-</mo> <mfrac> <mi>s</mi> <msup> <mi>&zeta;</mi> <mn>2</mn> </msup> </mfrac> <mo>,</mo> <mi>p</mi> <mo>=</mo> <mi>I</mi> <mi>n</mi> <mover> <mi>d</mi> <mo>^</mo> </mover> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>,</mo> </mrow>

依此类推,最后,第m个目标节点的邻近参考节点序号为:

<mrow> <mi>I</mi> <mi>n</mi> <mover> <mi>d</mi> <mo>^</mo> </mover> <mrow> <mo>(</mo> <mi>m</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>arg</mi> <mi> </mi> <mi>max</mi> <mi> </mi> <msubsup> <mi>y</mi> <mi>p</mi> <mrow> <mi>m</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <mo>,</mo> </mrow>

第m个目标节点的位置初值估计为:

<mrow> <msubsup> <mover> <mi>&rho;</mi> <mo>^</mo> </mover> <mi>m</mi> <mrow> <mo>(</mo> <mn>0</mn> <mo>)</mo> </mrow> </msubsup> <mo>=</mo> <msub> <mi>r</mi> <mrow> <mi>I</mi> <mi>n</mi> <mover> <mi>d</mi> <mo>^</mo> </mover> <mrow> <mo>(</mo> <mi>m</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>+</mo> <mi>&Delta;</mi> <mo>,</mo> </mrow>

根据第m个目标节点的初值更新所有参考节点的能量测量值:

<mrow> <msubsup> <mi>y</mi> <mi>p</mi> <mi>m</mi> </msubsup> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msubsup> <mi>y</mi> <mi>p</mi> <mrow> <mi>m</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <mo>-</mo> <mfrac> <mi>s</mi> <mrow> <mo>|</mo> <mo>|</mo> <msubsup> <mover> <mi>&rho;</mi> <mo>^</mo> </mover> <mrow> <mi>m</mi> <mo>-</mo> <mn>1</mn> </mrow> <mrow> <mo>(</mo> <mn>0</mn> <mo>)</mo> </mrow> </msubsup> <mo>-</mo> <msub> <mi>r</mi> <mi>p</mi> </msub> <mo>|</mo> <msup> <mo>|</mo> <mn>2</mn> </msup> </mrow> </mfrac> <mo>,</mo> <mi>p</mi> <mo>&NotEqual;</mo> <mi>I</mi> <mi>n</mi> <mover> <mi>d</mi> <mo>^</mo> </mover> <mrow> <mo>(</mo> <mrow> <mi>m</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>y</mi> <mi>p</mi> <mrow> <mi>m</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <mo>-</mo> <mfrac> <mi>s</mi> <msup> <mi>&zeta;</mi> <mn>2</mn> </msup> </mfrac> <mo>,</mo> <mi>p</mi> <mo>=</mo> <mi>I</mi> <mi>n</mi> <mover> <mi>d</mi> <mo>^</mo> </mover> <mrow> <mo>(</mo> <mrow> <mi>m</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>,</mo> </mrow>

即,将所有参考节点的能量测量值更新为

6.如权利要求1所述的用于无线传感器网络的分布式多源定位算法,其特征在于,所述步骤(4)具体为:设定接收信号的信噪比大于信噪比阈值τ的参考节点为有效参考节点,数量为K,并将所筛选的有效参考节点按照能量值大小,重新排列其序号;

有效参考节点坐标为:

{[r1,r2,…,rk,…,rK]T∈RK×2,k=1,2,…K};

K个有效参考节点的能量测量值矩阵为:

Y=DS+W,

其中,

<mrow> <mi>Y</mi> <mover> <mo>=</mo> <mi>&Delta;</mi> </mover> <msup> <mrow> <mo>&lsqb;</mo> <msub> <mi>y</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>y</mi> <mn>2</mn> </msub> <mo>,</mo> <mo>...</mo> <mo>,</mo> <msub> <mi>y</mi> <mi>K</mi> </msub> <mo>&rsqb;</mo> </mrow> <mi>T</mi> </msup> <mo>&Element;</mo> <msup> <mi>R</mi> <mrow> <mi>K</mi> <mo>&times;</mo> <mn>1</mn> </mrow> </msup> <mo>,</mo> </mrow>

<mrow> <mi>S</mi> <mover> <mo>=</mo> <mi>&Delta;</mi> </mover> <msup> <mrow> <mo>&lsqb;</mo> <mi>s</mi> <mo>,</mo> <mi>s</mi> <mo>,</mo> <mo>...</mo> <mo>,</mo> <mi>s</mi> <mo>&rsqb;</mo> </mrow> <mi>T</mi> </msup> <mo>&Element;</mo> <msup> <mi>R</mi> <mrow> <mi>M</mi> <mo>&times;</mo> <mn>1</mn> </mrow> </msup> <mo>,</mo> </mrow>

<mrow> <mi>W</mi> <mover> <mo>=</mo> <mi>&Delta;</mi> </mover> <msup> <mrow> <mo>&lsqb;</mo> <msub> <mi>w</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>w</mi> <mn>2</mn> </msub> <mo>,</mo> <mo>...</mo> <mo>,</mo> <msub> <mi>w</mi> <mi>K</mi> </msub> <mo>&rsqb;</mo> </mrow> <mi>T</mi> </msup> <mo>&Element;</mo> <msup> <mi>R</mi> <mrow> <mi>K</mi> <mo>&times;</mo> <mn>1</mn> </mrow> </msup> <mo>,</mo> </mrow>

<mrow> <mi>D</mi> <mover> <mo>=</mo> <mi>&Delta;</mi> </mover> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mrow> <mn>1</mn> <mo>/</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>d</mi> <mn>1</mn> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mn>1</mn> <mo>/</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>d</mi> <mn>1</mn> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mo>...</mo> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mn>1</mn> <mo>/</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>d</mi> <mn>1</mn> <mrow> <mo>(</mo> <mi>M</mi> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>1</mn> <mo>/</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>d</mi> <mn>2</mn> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mn>1</mn> <mo>/</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>d</mi> <mn>2</mn> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mo>...</mo> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mn>1</mn> <mo>/</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>d</mi> <mn>2</mn> <mrow> <mo>(</mo> <mi>M</mi> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </mtd> </mtr> <mtr> <mtd> <mtable> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> </mtable> </mtd> <mtd> <mtable> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> </mtable> </mtd> <mtd> <mtable> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> </mtable> </mtd> <mtd> <mtable> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> </mtable> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>1</mn> <mo>/</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>d</mi> <mi>K</mi> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mn>1</mn> <mo>/</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>d</mi> <mi>K</mi> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mo>...</mo> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mn>1</mn> <mo>/</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>d</mi> <mi>K</mi> <mrow> <mo>(</mo> <mi>M</mi> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>&Element;</mo> <msup> <mi>R</mi> <mrow> <mi>K</mi> <mo>&times;</mo> <mi>M</mi> </mrow> </msup> <mo>.</mo> </mrow>

7.如权利要求1所述的用于无线传感器网络的分布式多源定位算法,其特征在于,在所述步骤(5)中,分布式多源方向梯度估计算法具体为:

在多源坐标信息θ下,K个有效参考节点的能量测量值yk的联合概率密度函数为:

<mrow> <mi>f</mi> <mrow> <mo>(</mo> <mi>Y</mi> <mo>|</mo> <mi>&theta;</mi> <mo>)</mo> </mrow> <mo>=</mo> <msup> <mrow> <mo>(</mo> <mfrac> <mn>1</mn> <mrow> <msqrt> <mrow> <mn>2</mn> <mi>&pi;</mi> <mi>M</mi> </mrow> </msqrt> <mi>&sigma;</mi> </mrow> </mfrac> <mo>)</mo> </mrow> <mi>K</mi> </msup> <mo>&CenterDot;</mo> <mi>exp</mi> <mo>&lsqb;</mo> <mo>-</mo> <mfrac> <mn>1</mn> <mrow> <mn>2</mn> <msup> <mi>M&sigma;</mi> <mn>2</mn> </msup> </mrow> </mfrac> <msup> <mrow> <mo>(</mo> <mi>Y</mi> <mo>-</mo> <mi>D</mi> <mi>S</mi> <mo>)</mo> </mrow> <mi>T</mi> </msup> <mrow> <mo>(</mo> <mi>Y</mi> <mo>-</mo> <mi>D</mi> <mi>S</mi> <mo>)</mo> </mrow> <mo>&rsqb;</mo> <mo>,</mo> </mrow>

令目标函数l(θ)=||Y-DS||2,θ为待求解的多源坐标;

以分布式的方法进行解算,则有效参考节点k处的目标函数为:

lk(θ)=(Yk-DkS)2

分别对目标节点m进行方向梯度解算,计算公式为:

<mrow> <mfrac> <mrow> <mo>&part;</mo> <msub> <mi>l</mi> <mi>k</mi> </msub> <mrow> <mo>(</mo> <mi>&theta;</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <msub> <mi>&rho;</mi> <mi>m</mi> </msub> </mrow> </mfrac> <mo>,</mo> </mrow>

执行分布式多源方向梯度估计算法,按照步骤(4)所确定的有效参考节点序号进行目标节点坐标估计;其步骤具体为:

(5a)令i=1;

(5b)令有效参考节点k=1;目标节点m的坐标估计为:

<mrow> <msubsup> <mover> <mi>&rho;</mi> <mo>^</mo> </mover> <mi>m</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>=</mo> <msubsup> <mover> <mi>&rho;</mi> <mo>^</mo> </mover> <mi>m</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> </msubsup> <mo>-</mo> <mi>&alpha;</mi> <mo>&CenterDot;</mo> <mfrac> <mrow> <mo>&part;</mo> <msub> <mi>l</mi> <mi>k</mi> </msub> <mrow> <mo>(</mo> <mi>&theta;</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <msub> <mi>&rho;</mi> <mi>m</mi> </msub> </mrow> </mfrac> <msub> <mo>|</mo> <mrow> <msub> <mi>&rho;</mi> <mi>m</mi> </msub> <mo>=</mo> <msubsup> <mover> <mi>&rho;</mi> <mo>^</mo> </mover> <mi>m</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> </msubsup> </mrow> </msub> <mo>;</mo> </mrow>

(5c)令k=k+1,重复步骤(5b),直至k=K,循环停止,目标节点m的坐标估计值更新为:

<mrow> <msubsup> <mover> <mi>&rho;</mi> <mo>^</mo> </mover> <mi>m</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>=</mo> <msubsup> <mover> <mi>&rho;</mi> <mo>^</mo> </mover> <mi>m</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> </msubsup> <mo>-</mo> <mi>&alpha;</mi> <mo>&CenterDot;</mo> <mfrac> <mrow> <mo>&part;</mo> <msub> <mi>l</mi> <mi>K</mi> </msub> <mrow> <mo>(</mo> <mi>&theta;</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <msub> <mi>&rho;</mi> <mi>m</mi> </msub> </mrow> </mfrac> <msub> <mo>|</mo> <mrow> <msub> <mi>&rho;</mi> <mi>m</mi> </msub> <mo>=</mo> <msubsup> <mover> <mi>&rho;</mi> <mo>^</mo> </mover> <mi>m</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> </msubsup> </mrow> </msub> <mo>;</mo> </mrow>

(5d)令i=i+1,重复步骤(5b)和步骤(5c),之后进行步骤(6)。

8.如权利要求7所述的用于无线传感器网络的分布式多源定位算法,其特征在于,所述步骤(6)具体为:每执行步骤(5d)之后,则进行步骤(6),将目标节点m的坐标更新值和上一次循环迭代得到的目标节点m的坐标值的差值与系统预设定位误差阈值ε作比较,若差值大于或者等于系统预设阈值ε,则返回步骤(5d),重新执行分布式多源方向梯度估计算法;若差值小于系统预设阈值ε,则本次迭代位置估计值即为最终目标节点m的定位结果。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1