水声定位算法学习总结.docx
- 文档编号:26330133
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:19
- 大小:430.79KB
水声定位算法学习总结.docx
《水声定位算法学习总结.docx》由会员分享,可在线阅读,更多相关《水声定位算法学习总结.docx(19页珍藏版)》请在冰豆网上搜索。
水声定位算法学习总结
定位算法学习总结
一、无线传感器定位技术分类
目前定位技术广泛地应用到各个领域,而且出现了很多定位算法,常用的
定位方法有:
到达角(AngelofArrival,AOA)定位、到达时间(Timeof
Arrival,TOA)定位、到达时间差(Time Difference of Arrival,TDOA)定
位以及 AOA/TOA、AOA/TDOA 等混合定位的方法。
选择哪种定位方法要根据定
位精度、硬件条件等因素来确定,但是最终目的是要用优化的方法得到满意的
定位精度。
在没有时间同步信号时,往往采用 TDOA 定位方法,TDOA 定位法可
消除对移动台时间基准的依赖性,因而可以降低成本并仍然保证较高的定位精
度,但是需要有较好的延时估计方法,才能保证较高的时延估计精度。
(1) 基于测距的定位技术
基于测距的定位方法依靠测量相邻节点之间的距离或者方向信息。
现在有
很多成熟的算法被用于基于测距的定位。
例如 TOA 算法通过信号传播时间获取
距离,TDOA 算法利用接收从多个节点发出信号的时间差估测位置,而 AOA 算
法则通过为每个节点设置天线阵列来测量节点间的相对方向角度值。
(2) 无需测距的定位技术
无需测距的定位方法不要求距离信息,只依靠有关待定位传感器与种子节
点之间连通性的测量数据。
这种定位方法对硬件要求低,但是测量的准确度容
易被节点的密度和网络条件所影响,因此不能被对精度要求高的基于 WSN 的应
用采用。
二、三边定位和多变定位
(1) 信号强度(RSS,Received Signal Strength)
通过信号在传播中的衰减来估计节点之间的距离,无线信道的数学模型
𝑃𝐿(𝑑) = 𝑃𝐿(𝑑0) ‒ 10𝑛𝑙𝑜𝑔
𝑑
𝑑0
‒ 𝑋𝜎
。
尽管这种方法易于实施,但却面临很多挑
战。
首先信道由于受到信道噪声、多径衰减(Multi-path Fading)和非视距阻挡
(Non-of- Sight Blockage)的影响[1],具有时变特性,严重偏离上诉模型;其次
衰减率会随外界环境的不同而发生相应改变。
根据接收到的信号估计出的距离
d 将有很大误差。
(2) 信号传播时间/时间差往返时间(TOA/TDOA/RTOF)
a)到达时间(TOA,Time Of Arrival)
使用发射机到接收机之间往返的时间来计算收发机之间的距离,要求发射机和
接收机严格时间同步。
b) 往返传播时间(RTOF,Roundtrip-Time-Of-Flight)
发射机和接收机可属于不同的时钟域,基于信号传播时间的测距精度由时间差
的测量精度决定。
时间差的精度由参考时钟决定。
c)到达时间差(TDOA,Time Difference Of Arrival)
使用两种不同传播速度的信号,向同一个方向发送即可。
算法种类
RSS
TOA
RTOF
TDOA
PDOA
NFER
条件需求
信号衰减
量
发射和接
收机之间
的往返时
间
往返传播
时间
目标发射
信号到达
各个节点
的时间差
接收信号
相位差
相位差与
距离的准
确关系
优点
易于实施,
对硬件要
求较低
发射机和
接收机可
属于不同
的时钟域
对待测节
点没有时
间同步要
求
缺点
算法模型
受环境影
响大,精
度较低
要求发射
机和接收
机严格时
间同步
使用射频
信号时要
求高精度
时钟
需要首先
知道往返
距离范围
对测量距
离有限制
图 1 示意图
(3) 接收信号相位差(PDOA,phase difference of Arrival)
通过测量相位差,求出信号往返的传播时间[2],计算出往返距离
𝑑 = 𝑐𝜑
𝑐 𝜑
𝑓𝑐2𝜋 = 𝜆
𝜑
2𝜋,其中,𝑓𝑐是信号频率,𝜆是信号的波长,𝜑是发送信
号和反射信号的相位差,由上式可知 d 的范围是[0, ]。
不同的距离如果相差
𝜆倍,则测量获得的相位相同。
通过相位差的方式测量距离,需要知道距离 d 范
围,才能够确定出 n 的值,估算出距离。
(4) 近场电磁测距(NFER,Near Field EM Ranging)
利用近场与磁场的相位差来测量距离,射频信号包括电场和磁场两部分。
例如,
当目标距离接近发射天线时相位相差 90o;在距离相差 1/2 波长时,相位差接近
0。
由此可以通过电场与磁场的相位差,估计到天线的距离。
近场电磁测距方法
的测距范围在 0.05𝜆~0.5𝜆之间,最佳测量范围 0.08𝜆~0.3𝜆之间。
该方法由于距
离限制,现有的定位系统很少采用。
三、 TDOA 算法研究
1. 基于测距的定位技术算法对比分析
2. TDOA 算法特性
(1) 对目标时间基准无依赖性
选用 TDOA 算法对待测节点没有时间同步要求。
在无线传感器网络中,实现
节点之间的时间同步较为困难。
而且考虑在实际应用中,一般情况下,我们无
法获取待测目标的准确时间信息。
TDOA 算法只需获取目标发射信号到达各个节点的时间差。
根据一个时间差
信息即可将目标定位在一个双曲面上(如图 3 所示),那么假如有三个时间差信
息,则三个双曲面可交与一点,这一点即为目标位置。
由此消除了对目标时间
基准的依赖性[3],应用场合得以拓展。
图 3 TDOA 双曲面模型
(2) 适合水下环境要求
对于水声定位系统,如果采用电磁波传递信息,则在水下将很快衰减。
因
此只能够使用声波进行通信。
由上述分析可知,TDOA 算法必须依靠高精度的参
考时钟来保证其精确度。
对于低成本、低带宽、无参考时钟的无线传感器网络
来说,获得高精度的时钟本身就是一个挑战。
如果用射频信号进行测距,1𝜇𝑠的
时钟精度就有 300m 的误差。
但使用超声波等低传播速率信号进行测距时,1ms
的时钟精度便可达到 30cm 的精度。
可见,用超声波信号实现的 TDOA 算法不仅
可满足水下环境的要求,而且能保证足够的定位精度。
3. TDOA 算法分析
在对目标信源进行定位时,因为无法获得时间同步信号而没有时间基准,
常采用 TDOA 技术得到时延估计值,进而得到目标信源到两个基站之间的距离
差,多个 TDOA 测量值就可以构成一组关于目标信源位置的双曲线方程组,求
解该方程组就可以得到目标信源的估计位置[4]。
图 4TDOA 算法模型
设目标节点的坐标 E 为 E=(x,y,z),其余 N+1 个已知位置的节点为 P0,P1,
..., Pm, ..., PN,它们的坐标分别为 Pm = (xm, ym, zm),0 ≤ m ≤ N。
则目标与任一节点的距离为
𝑅𝑚 = |𝑃𝑚 ‒ 𝐸| = (𝑥𝑚 ‒ 𝑥)2 + (𝑦𝑚 ‒ 𝑦)2 + (𝑧𝑚 ‒ 𝑧)2
为了简化计算可设主节点𝑃𝑜的坐标为(0,0,0),那么𝑅0为
(1)
𝑅0 = (𝑥)2 + (𝑦)2 + (𝑧)2
(2)
距离𝑅𝑚是水中声速 v 与传播时间𝑇𝑚的乘积,TDOA 算法需要波面到达每个副节
点 P1, ..., Pm, ..., PN 与到达主节点 P0 的时间差值𝜏𝑚,即
v𝜏𝑚=v𝑇𝑚-v𝑇0
v𝜏𝑚=𝑅𝑚-𝑅0
(3)
(4)
图 5
为了更好地说明这一过程,如图 5 所示。
P0 和 P1 分别是节点 P0, P1 接收
到 E 的发射波形,可见 P1 接收到信号要比 P0 延迟 5ms 左右,相当于𝜏1的值。
对
∫ 𝑓(𝑡)𝑔(𝑡 + 𝑇)𝑑𝑡 可得 cross-
P0 和 P1 的波形求互相关函数
𝑅(𝑇) = 1
𝑇
𝑇
0
correlation 波形。
其峰值时刻对应的时间值即为时间差𝜏1。
上述仿真分析针
对的是连续时间信号,对于离散时间信号可根据式(f*g)[n]
∞
≝
∑ 𝑓
𝑚 =‒ ∞
∗ [𝑚]𝑔[𝑛 + 𝑚]
进行计算。
1)非线性定位算法
通过以上分析知要得到目标的坐标值,至少需要三个时间差信息,因此至
少需要 P0, P1, P2, P3 四个已知位置的节点[5]。
设目标到达主站 P0(0,0,0)与各副站的距离差为∆𝑖,则化简可得
∆𝑖 = (𝑥)2 + (𝑦)2 + (𝑧)2 ‒ (𝑥𝑖 ‒ 𝑥)2 + (𝑦𝑖 ‒ 𝑦)2 + (𝑧𝑖 ‒ 𝑧)2
(5)
𝑥𝑖𝑥 + 𝑦𝑖𝑦 + 𝑧𝑖𝑧 ‒ ∆𝑖𝑟 = 𝑙𝑖
(6)
222
2
。
对于 3 个距离差测量值可以组成如下非线性方程组
{
𝑥1𝑥 + 𝑦1𝑦 + 𝑧1𝑧 ‒ ∆1𝑟 = 𝑙1
𝑥2𝑥 + 𝑦2𝑦 + 𝑧2𝑧 ‒ ∆2𝑟 = 𝑙2
𝑥3𝑥 + 𝑦3𝑦 + 𝑧3𝑧 ‒ ∆3𝑟 = 𝑙3
(7)
先把 r 作为常量,求出 x,y,z 关于 r 的代数式,然后代入
𝑟 = (𝑥)2 + (𝑦)2 + (𝑧)2中解出 r 的值。
r 的值确定后,x、y、z 的值便可确定。
由整个计算过程可知这种非线性算法得到的解可能不唯一,需要解模糊。
此外
计算量过大也是其缺点之一。
针对上述非线性算法存在的问题,我们在设计中采用基于最小二乘法的牛
顿迭代定位算法对数据进行处理。
最小二乘法定位精度不是很高,但可对目标
信源的位置作初始估计。
有了这一估计值,再使用牛顿迭代法对初始结果进行
修正,则不但可以提高定位精度,而且可以加快计算速度,节省时间。
① 最小二乘法估计初始位置
由(8)可得矩阵形式的线性方程组
HX=L(8)
其中 H=
[
𝑥
𝑦
𝑧
𝑥3 𝑦3 𝑧3 ‒ ∆3 ,X= 𝑟 ,L= 𝑙3
f(x)=(𝐻𝑋 ‒ 𝐿) = (𝐻𝑋 ‒ 𝐿) (𝐻𝑋 ‒ 𝐿)
要求解 X,必须使残差 r=HX—L 的平方和最小,即
2𝑇
对上面的方程求导并令其为零,得
(9)
𝑇
𝑑𝑓(𝑋)
(10)
𝑋 = (𝐻𝑇𝐻) ‒ 1𝐻𝑇𝐿
(11)
② 牛顿迭代法修正
(1) 将用最小二乘法解得的信源位置 X 设为初始值(𝑥𝑘,𝑦𝑘,𝑧𝑘),代入牛顿迭代法
的关系式[3],求解迭代后的位置为(𝑥𝑘 + 1,𝑦𝑘 + 1,𝑧𝑘 + 1)(k=0,1,2,…,n-1);
(2) 分别将(𝑥𝑘,𝑦𝑘,𝑧𝑘)和(𝑥𝑘 + 1,𝑦𝑘 + 1,𝑧𝑘 + 1)代入 n-4 个冗余函数表达式
𝑓𝑖(𝑥,𝑦,𝑧) = | (𝑥𝑖 ‒ 𝑥)2 + (𝑦𝑖 ‒ 𝑦)2 + (𝑧𝑖 ‒ 𝑧)2 ‒ (𝑥)2 + (𝑦)2 + (𝑧)2 ‒ 𝑣𝜏𝑖| = 𝜀𝑖
(i=5,…,n),利用最优化方法,𝜀 = min (𝜀0,𝜀1) = 𝑚𝑖𝑛(𝜀0,𝑓𝑖(𝑥𝑘,𝑦𝑘,𝑧𝑘))
(i=5,…,n), 𝜀0为根据测距精度要求给定的值,
∆𝑘 + 1 = 𝑚𝑎𝑥(|𝑥𝑘 + 1 ‒ 𝑥𝑘|,|𝑦𝑘 + 1 ‒ 𝑦𝑘|,|𝑧𝑘 + 1 ‒ 𝑧𝑘|),∆为给定的精度要求;
(3) 判断是否满足条件𝑓𝑖(𝑥𝑘 + 1,𝑦𝑘 + 1,𝑧𝑘 + 1) < 𝜀或∆𝑘 + 1 < ∆,如果满足其中的一
个条件,则迭代过程结束,输出(𝑥𝑘 + 1,𝑦𝑘 + 1,𝑧𝑘 + 1),否则将结果作为初始值,
即(𝑥𝑘,𝑦𝑘,𝑧𝑘) = (𝑥𝑘 + 1,𝑦𝑘 + 1,𝑧𝑘 + 1),继续上面的步骤,直到满足条件为止。
2) 线性定位算法
以上的非线性算法采用一个主节点和三个副节点,可测得三个时间差信息,
即三个方程。
虽然这样可用最少的节点数目完成定位任务,节约成本,但是有
着需解模糊、计算量大、定位实时性较低等缺点。
此时如果增加一个副节点
P4,则线性方程组变为
{
𝑥1𝑥 + 𝑦1𝑦 + 𝑧1𝑧 ‒ ∆1𝑟 = 𝑙1
𝑥2𝑥 + 𝑦2𝑦 + 𝑧2𝑧 ‒ ∆2𝑟 = 𝑙2
𝑥3𝑥 + 𝑦3𝑦 + 𝑧3𝑧 ‒ ∆3𝑟 = 𝑙3
𝑥4𝑥 + 𝑦4𝑦 + 𝑧4𝑧 ‒ ∆4𝑟 = 𝑙4
(12)
此时可把 r 作为求解变量,直接求解四元一次线性方程组。
由(13)可得矩阵形式的线性方程组
HX=L(13)
𝑥1𝑦1𝑧1‒ ∆1𝑙1
𝑥
𝑦
𝑧
其中 H= 𝑥4𝑦4𝑧4‒ ∆4 ,X= 𝑟 ,L= 𝑙4
可得 X=H\L,由此可得出目标信源的位置。
由求解过程可以看出,线性定位算
法相比非线性算法解法简单,无模糊,求解精度高。
该方法就是常用的五元十
字 TDOA 定位算法。
4. 仿真与分析
基于上述算法分析,我们对基于最小二乘法的牛顿迭代算法和五元十字定位算
法进行了 Matlab 仿真实验。
4.1 仿真实验
(1) 基于最小二乘法的牛顿迭代算法
[ ]
图 6 仿真实验传感器布阵图
如图 6 所示,主节点坐标为𝐵0=[0,0,0],三个副节点坐标分别为𝐵1=[2,0,1]、
𝐵2=[0,2,0]、𝐵3=[2,2,0]。
假设待测目标 S 的位置是 S=[3,4,5]。
计算可得
201‒ 1.32651.6202
020‒ 0.90671.5889
H= 220‒ 1.5938 ,L= 2.7299
最小二乘法估计
0.6485
0.8974
0.6243
𝑋 = (𝐻𝑇𝐻)\(𝐻𝑇𝐿) =0.2270 ,可见最小二乘法的估计值与目标的实际位置相差
较大。
但通过牛顿迭代可提高精确度。
下面给出牛顿迭代法的部分 Matlab 代码:
%牛顿迭代法解非线性方程组
%输入参数:
迭代初值,迭代方程,精度要求
function [h]=Newton(start_newton,F_newton,p_newton)
F_temp=start_newton;
temp=[0;0;0];
while sum(abs(temp-F_temp))>p_newton
temp=F_temp;
F_temp=F_temp-
subs(F_newton,{'x','y','z'},{F_temp
(1),F_temp
(2),F_temp(3)});
end
h=F_temp;
将最小二乘法的估计值代入,通过迭代后可得最终定位结果 S’
=[2.9998,3.9998,4.9997],S 与 S’的误差间距为 3.9123e-004。
(2) 五元十字定位算法
定位算法
传感器节
点数目
(N)
相对误差
(X)
相对误差
(Y)
相对误差
(Z)
程序执行
时间(T)
/s
均方根误
差(RMSE)
最小二乘
法
4
7.84%
7.76%
8.75%
0.563
0.586
基于最小
二乘的牛
顿迭代算
法
4
6.67e-005
5.00e-005
6.00e-005
5.432
3.91e-004
五元十字
定位算法
5
1.00e-004
1.75e-004
2.00e-005
0.498
7.68e-004
[ ]
图 7 仿真实验传感器布阵图
如图 7 所示,主节点坐标为𝐵0=[0,0,0],四个副节点坐标分别为𝐵1=[0,2,1]、
𝐵2=[-2,0,0]、𝐵3=[0,-2,0]、𝐵4=[2,0,0]。
仍假设待测目标 S 的位置是 S=[3,4,5]。
计算可得
02.00001.0000‒ 1.68591.0789
‒ 2.0000001.05301.4456
0‒ 2.000001.29551.1608
H= 2.000000‒ 0.5903 ,L= 1.8258
2.9997
3.9993
4.9999
所以 X=H\L= 7.0702 ,可得最终定位结果 S’=[2.9997,3.9993,4.9999],计算可得
S 与 S’的误差间距为 7.6811e-004。
(3) 算法性能比较
通过多组上述算法测试实验可列出以下性能参数比较:
注:
程序执行时间在 Intel(R) Core(TM)2 Duo CPU T6400 @2.00GHz 处理器下测得,
不同硬件平台结果可能不同。
4.2 实验结论
在仿真实验中我们分别对采用四个传感器节点的非线性 TDOA 算法和采用
五个传感器节点的线性 TDOA 定位算法在 Matlab 环境下进行了测试。
由实验结
果可知五元十字定位法和经牛顿迭代法修正的最小二乘算法可达到同等高的精
度数量级。
对比两者的程序执行时间可知五元十字定位法因为计算量较小运行
快,定位实时性高,但所需节点至少为五个。
因此在水声换能器成本较高且对
定位实时性要求不高时可采用基于最小二乘的牛顿定位算法。
四、 参考文献
[1] Zhong wen Guo.Perpendicular Intersection:
LocatingWireless Sensors with Mobile
Beacon. Ocean University of China,Hong Kong University of Science and
Technology
[2] 李晓维.无线传感器网络技术.北京:
北京理工大学出版社,2007.08
[3] 王怡.基于多传感器数据融合的水声定位算法研究.20090427
[4] Maria Wikström,Ulrika Ahnström.Implementation of an acoustic location-finding
system for TDOA measurements.Department of Electronic Warfare Systems,
Swedish Defence Research Agency Linköping, Sweden
[5]周宇翔,赵颖,秦方钰.冲激雷达的运动点目标定位及线性滤波方法.遥测遥控,
第 29 卷第 1 期
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 定位 算法 学习 总结