定位基本方法 1

article/2025/10/9 20:25:15

节点定位方法

1. 节点定位的计算

在 WSNs 的定位中,未知节点通过一定的技术和方法能够获得定位自身所需的坐标、角度或距离信息,从而利用节点位置的计算方法计算自身位置。下面我们将介绍几种较为典型的位置计算方法:三边测量法三角测量法极大似然估计法最小二乘法等

1.1 三边测量法

二维空间位置计算中,当未知节点获得三个 BS 节点的位置和距离信息时,可通过三边测量方法计算 MS 位置。

sbc

如图所示,未知节点 D,其坐标 ( x , y ) (x,y) (x,y) 未知;通信半径内有三个 BS 节点 A、B、C,三个 BS 节点的位置已知,分别为 ( x 1 , y 1 ) , ( x 2 , y 2 ) , ( x 3 , y 3 ) (x_1,y_1),(x_2,y_2),(x_3,y_3) (x1,y1),(x2,y2),(x3,y3),通过一定的方法估测出未知节点与 BS 节点之间的距离为 d 1 , d 2 , d 3 d_1,d_2,d_3 d1,d2,d3。由此可得
( x − x i ) 2 + ( y − y i ) 2 = d i 2 ⇓ x 2 + y 2 + x i 2 + y i 2 − 2 x i x − 2 y i y = d i 2 , i = 1 , 2 , 3. (x-x_i)^2+(y-y_i)^2 = d_i^2 \\ \Downarrow \\ x^2+y^2+x_i^2+y_i^2-2x_ix-2y_iy = d_i^2,\quad i=1,2,3. (xxi)2+(yyi)2=di2x2+y2+xi2+yi22xix2yiy=di2,i=1,2,3.
未知参数除了 x , y x,y x,y 还有 x 2 + y 2 x^2+y^2 x2+y2,于是采用高斯消元法可得
d 3 2 − d 1 2 = 2 ( x 1 − x 3 ) x + 2 ( y 1 − y 3 ) y + x 3 2 − x 1 2 + y 3 2 − y 1 2 d 3 2 − d 2 2 = 2 ( x 2 − x 3 ) x + 2 ( y 2 − y 3 ) y + x 3 2 − x 2 2 + y 3 2 − y 2 2 \begin{aligned} d_3^2-d_1^2 &= 2(x_1-x_3)x+2(y_1-y_3)y+x_3^2-x_1^2+y_3^2-y_1^2 \\ d_3^2-d_2^2 &= 2(x_2-x_3)x+2(y_2-y_3)y+x_3^2-x_2^2+y_3^2-y_2^2 \end{aligned} d32d12d32d22=2(x1x3)x+2(y1y3)y+x32x12+y32y12=2(x2x3)x+2(y2y3)y+x32x22+y32y22
现在转化为只含有两个未知数得方程组,因此可利用求逆得到解。
[ d 3 2 − d 1 2 − x 3 2 + x 1 2 − y 3 2 + y 1 2 d 3 2 − d 2 2 − x 3 2 + x 2 2 − y 3 2 + y 2 2 ] = [ 2 ( x 1 − x 3 ) 2 ( y 1 − y 3 ) 2 ( x 2 − x 3 ) 2 ( y 2 − y 3 ) ] [ x y ] \begin{bmatrix} d_3^2-d_1^2-x_3^2+x_1^2-y_3^2+y_1^2 \\ d_3^2-d_2^2-x_3^2+x_2^2-y_3^2+y_2^2 \end{bmatrix} = \begin{bmatrix} 2(x_1-x_3)&2(y_1-y_3) \\ 2(x_2-x_3)&2(y_2-y_3) \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} [d32d12x32+x12y32+y12d32d22x32+x22y32+y22]=[2(x1x3)2(x2x3)2(y1y3)2(y2y3)][xy]

1.2 三角测量法

三角测量法利用 BS 节点与未知节点 MS 之间的角度信息,通过几何关系列出方程组,从而转化为三边测量计算方法的问题。

sjc

三角测量术常用到基于 AOA 方法的测距中, 它根据三个已知坐标的节点到未知节点的相对角度来确定节点坐标。三个 BS 节点 A、B、C 坐标分别为 ( x 1 , y 1 ) , ( x 2 , y 2 ) , ( x 3 , y 3 ) (x_1,y_1),(x_2,y_2),(x_3,y_3) (x1,y1),(x2,y2),(x3,y3),假设节点 D 的坐标为 ( x , y ) (x,y) (x,y),如图所示。

未知节点 D 到节点 A、B、C 之间的夹角分别为 ∠ A D B , ∠ A D C , ∠ B D C ∠ADB,∠ADC,∠BDC ADB,ADC,BDC 已知。

通过节点 A、C 的坐标信息和角度 ∠ A D C \angle ADC ADC 可唯一确定以 O 1 O_1 O1 为圆心, d 1 d_1 d1 为半径的圆。则圆心为 ( x O 1 , y O 1 ) (x_{O1},y_{O1}) (xO1,yO1),设 α = ∠ A O 1 C = 2 ( 18 0 ∘ − ∠ A D C ) \alpha=\angle AO_1C = 2(180^{\circ}-\angle ADC) α=AO1C=2(180ADC)。存在下列公式:
( x O 1 − x 1 ) 2 + ( y O 1 − y 1 ) 2 = d 1 2 ( x O 1 − x 3 ) 2 + ( y O 1 − y 3 ) 2 = d 1 2 ( x 1 − x 3 ) 2 + ( y 1 − y 3 ) 2 = 2 d 1 2 − 2 d 1 2 cos ⁡ α \begin{aligned} (x_{O1}-x_1)^2+(y_{O1}-y_1)^2 &= d_1^2 \\ (x_{O1}-x_3)^2+(y_{O1}-y_3)^2 &= d_1^2 \\ (x_{1}-x_3)^2+(y_{1}-y_3)^2 &= 2d_1^2-2d_1^2\cos \alpha \end{aligned} (xO1x1)2+(yO1y1)2(xO1x3)2+(yO1y3)2(x1x3)2+(y1y3)2=d12=d12=2d122d12cosα
由以上三式能够确定圆心 O 1 O_1 O1 的坐标和半径
d 1 2 = ( x 1 − x 3 ) 2 + ( y 1 − y 3 ) 2 2 ( 1 − cos ⁡ α ) d_1^2 = \frac{(x_{1}-x_3)^2+(y_{1}-y_3)^2}{2(1-\cos \alpha)} d12=2(1cosα)(x1x3)2+(y1y3)2
同理可对 A、B、D 和 B、C、D 分别确定相应的圆心和半径,最后利用三边测量确定 D 的坐标。

1.3 极大似然估计法

该方法所运用的是求解最小误差点的原理,即存在一个点使得所有方程的误差最小。在极大似然估计法中,求解的是距离误差最小点。

jds

如图所示,未知节点的通信范围内有 n n n 个 BS,且已知所有 BS 节点坐标,分别为 ( x 1 , y 1 ) , ⋯   , ( x n , y n ) (x_1,y_1),\cdots,(x_n,y_n) (x1,y1),,(xn,yn)。通过某种方法获得了与各 BS 节点之间的距离 d 1 , d 2 , ⋯   , d n d_1,d_2,\cdots,d_n d1,d2,,dn。假设未知节点 A 的坐标为 ( x , y ) (x,y) (x,y)。由此可知
( x 1 − x ) 2 + ( y 1 − y ) 2 = d 1 2 ( x 2 − x ) 2 + ( y 2 − y ) 2 = d 2 2 ⋮ ( x n − x ) 2 + ( y n − y ) 2 = d n 2 \begin{aligned} (x_{1}-x)^2+(y_{1}-y)^2 &= d_1^2 \\ (x_{2}-x)^2+(y_{2}-y)^2 &= d_2^2 \\ \vdots \\ (x_{n}-x)^2+(y_{n}-y)^2 &= d_n^2 \end{aligned} (x1x)2+(y1y)2(x2x)2+(y2y)2(xnx)2+(yny)2=d12=d22=dn2
将方程组中的前 n − 1 n-1 n1 个方程减去第 n n n 个方程得
x 1 2 − x n 2 + y 1 2 − y n 2 − d 1 2 + d n 2 = 2 ( x 1 − x n ) x + 2 ( y 1 − y n ) y x 2 2 − x n 2 + y 2 2 − y n 2 − d 2 2 + d n 2 = 2 ( x 2 − x n ) x + 2 ( y 2 − y n ) y ⋮ x n − 1 2 − x n 2 + y n − 1 2 − y n 2 − d n − 1 2 + d n 2 = 2 ( x n − 1 − x n ) x + 2 ( y n − 1 − y n ) y \begin{aligned} x_1^2-x_n^2+y_1^2-y_n^2-d_1^2+d_n^2 &= 2(x_1-x_n)x+2(y_1-y_n)y \\ x_2^2-x_n^2+y_2^2-y_n^2-d_2^2+d_n^2 &= 2(x_2-x_n)x+2(y_2-y_n)y \\ \vdots \\ x_{n-1}^2-x_n^2+y_{n-1}^2-y_n^2-d_{n-1}^2+d_n^2 &= 2(x_{n-1}-x_n)x+2(y_{n-1}-y_n)y \end{aligned} x12xn2+y12yn2d12+dn2x22xn2+y22yn2d22+dn2xn12xn2+yn12yn2dn12+dn2=2(x1xn)x+2(y1yn)y=2(x2xn)x+2(y2yn)y=2(xn1xn)x+2(yn1yn)y

[ x 1 2 − x n 2 + y 1 2 − y n 2 − d 1 2 + d n 2 x 2 2 − x n 2 + y 2 2 − y n 2 − d 2 2 + d n 2 ⋮ x n − 1 2 − x n 2 + y n − 1 2 − y n 2 − d n − 1 2 + d n 2 ] = [ 2 ( x 1 − x n ) 2 ( y 1 − y n ) 2 ( x 2 − x n ) 2 ( y 2 − y n ) ⋮ 2 ( x n − 1 − x n ) 2 ( y n − 1 − y n ) ] [ x y ] \begin{bmatrix} x_1^2-x_n^2+y_1^2-y_n^2-d_1^2+d_n^2 \\ x_2^2-x_n^2+y_2^2-y_n^2-d_2^2+d_n^2 \\ \vdots \\ x_{n-1}^2-x_n^2+y_{n-1}^2-y_n^2-d_{n-1}^2+d_n^2 \end{bmatrix} = \begin{bmatrix} 2(x_1-x_n)&2(y_1-y_n) \\ 2(x_2-x_n)&2(y_2-y_n) \\ \vdots \\ 2(x_{n-1}-x_n)&2(y_{n-1}-y_n) \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} x12xn2+y12yn2d12+dn2x22xn2+y22yn2d22+dn2xn12xn2+yn12yn2dn12+dn2=2(x1xn)2(x2xn)2(xn1xn)2(y1yn)2(y2yn)2(yn1yn)[xy]
因此得到 D = K X ​ D = KX​ D=KX。此时利用 LS 来解。


http://chatgpt.dhexx.cn/article/irqJLtgD.shtml

相关文章

浅谈自适应滤波器---(快速RLS算法)

在上一篇博客中(浅谈自适应滤波器)我给大家介绍了关于自适应滤波器的一些入门级的知识,并分析了常规RLS算法单次迭代的计算量级为O[N2],当阶数N增大时相应的计算量显著增大,为了将计算量级降低到O[N],人们提…

图像处理自适应滤波

图像处理基础(2):自适应中值滤波器(基于OpenCV实现) 标签: opencv滤波器 2017-02-08 19:44 986人阅读 评论(0) 收藏 举报 分类: DIP(8) 版权声明:本文为博主原创文章,未经博主允许不得转载…

自适应滤波器及其应用 - 自适应噪声抵消器

传统IIR和FIR滤波器在处理输入信号的过程中滤波器参数固定,当环境发生变化时,滤波器无法实现原先设定的目标。自适应滤波器根据当前自身的状态和环境调整滤波器权系数。 1 自适应滤波器理论 其中,x(n)是输入信号,y(n)是输出信号&…

自适应数字滤波器

文章目录 前言一、自适应滤波器的特点和构成二、最陡下降法三、最小均方算法(LMS)总结 前言 本文的主要内容是自适应数字滤波器的介绍,包含其特点与构成、最陡下降法、最小均方算法以及最小二乘算法等内容。 一、自适应滤波器的特点和构成 自适应滤波器的特点&…

浅谈自适应滤波器---(自适应陷波器)

陷波器顾名思义就是对特定频率的信号有着很强的衰减的滤波器,也即阻带带宽极窄的带阻滤波器。在传统的数字陷波器设计中,为了能使某一频率信号得到足够大的衰减,通常的做法就是把阶数选的足够高来达到很大的衰减;但同时计算量也变…

自适应滤波器及LMS自适应算法的理解

分享一篇以前写现代信号处理的课程论文。 ————————————————————

自适应中值滤波器和自适应局部(均值)滤波器的设计 python+matlab各实现

要求是:自适应中值滤波器和自适应均值滤波器的设计,分别使用python和matlab去实现 一.原理 1.自适应中值滤波器 2.自适应局部滤波器,也叫自适应均值滤波器 二.设计流程 1.自适应中值滤波器 ①生成椒盐噪声 利用rand()函数生成[0,1]的随…

自适应滤波去噪

自适应滤波器具有在未知环境下良好的运作并跟踪输入统计量随时间变化的能力。尽管对于不同的应用有不同的实现结构,但是他们都有一个基本的特征:输入向量X(n)和期望响应d(n)被用来计算估计误差e(n),即e(n)d(n)-X(n),并利用此误差信…

自适应滤波(LMS,RLS)

1.背景及相关知识介绍 自适应滤波存在于信号处理、控制、图像处理等许多不同领域,它是一种智能更有针对性的滤波方法,通常用于去噪。 图中x(j)表示 j 时刻的输入信号值,y(j)表示 j 时刻的输出信…

自适应滤波

自适应阵列处理是一种空间滤波技术,它包含空间阵列和自通应处理两个部分。根据空时等效性原理,从理论上来讲,时域的各种统计自适应信号处理技术均可应用于空域的自适应阵列处理 自适应滤波已在时域处理中广为应用,其实现可以来用…

matlab编程实现自适应均值滤波和自适应中值滤波

matlab编程实现自适应滤波器 一、自适应均值滤波器1. 原理部分:2. 程序代码3. 结果对比 二、自适应中值滤波1. 原理部分2.程序代码3. 结果对比 一、自适应均值滤波器 1. 原理部分: 加入噪声: 原理: 将图片灰度化,然后…

自适应滤波器之横向滤波器

本文对横向滤波器作以介绍,如有表述不当之处欢迎批评指正。欢迎任何形式的转载,但请务必注明出处。 目录 1. 横向滤波器1.1. 概念1.2. 举例 2. 参考文献 1. 横向滤波器 1.1. 概念 横向滤波器(transversal filter),也…

自适应中值滤波及实现

前言 无意中看到了一篇比较老的论文,Adaptive median filters: new algorithms and results。感兴趣的可以下载下来看看。主要就是提出了一种自适应中值滤波算法,这个算法是很经典的中值滤波算法的改进版本,自动选择滤波器的大小&#xff0c…

浅谈自适应滤波器

在通常的滤波场合中,从频域的角度进行滤波,其相关的理论已经相当的成熟,只要给出相应的设计指标就可以很方便的设计出满足要求的滤波器。然而在更一般的情况下,人们所需要的滤波器工作的环境是时变的,这就导致事先已经…

自适应滤波原理

在网上,看到一篇不错的自适应滤波原理讲解的文章,原文网址为:自适应滤波原理简介 全文包括: 1. 自适应滤波器简介 2. 自适应干扰抵消原理 3. 自适应滤波原理 4. 最小均方(LMS)算法 5. Matlab实现 一、自适…

自适应滤波算法综述

我要讲的几种方法 绪论自适应滤波的基本原理自适应滤波算法自适应滤波算法种类最小均方误差算法(LMS)递推最小二乘算法(RLS)变换域自适应滤波算法仿射投影算法其他 自适应滤波算法性能评价 自适应滤波的Matlab仿真正弦信号加噪的L…

Java反射机制你还不会?那你怎么看Spring源码

文章目录 1.Java代码在计算机中经历的阶段:三个阶段2.Java识别类和对象信息的两种方式3.什么是反射4.获取Class对象的方式5.Class对象的功能6.通过反射操作类中的成员变量、构造函数、方法7.案例8.反射的优缺点 1.Java代码在计算机中经历的阶段:三个阶段…

Java 反射 理解

Java 反射 定义 Java的反射(reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。 简…

Java反射机制的原理和用途

看了好多关于Java反射机制的文章,大多都太过官方,消化起来比较稍显费劲,本篇,我会依据自己的理解去阐述什么是Java的反射机制,反射用在什么地方,以及怎么来使用? 开篇前,我们还是要了…

Java反射详解及作用

参考视频链接: 哔哩哔哩视频. 1. 反射概述 能够分析类能力的程序叫做反射(reflective),对于任何一个Class类,反射可以在运行时直接得到这个类的全部成分,包括构造器,成员方法,成员变量。获得的构造器对象为Construct…