1. 引言
在室内环境中,全球定位系统(Global Positioning System, GPS)受建筑物遮挡而无法进行有效定位。相比之下,超宽带技术因具有高精度、强穿透力和良好的抗多径与抗干扰能力等优势,成为室内定位的理想选择[1]。UWB是一种频带宽度大于500 MHz的无线通信技术,能够在较短距离内提供高分辨率的定位服务,并且在多障碍物环境下仍能保持较好的性能。由于其出色的定位精度和可靠性,UWB在室内定位应用中表现优异,广泛用于智能家居、物流追踪等领域。目前,UWB定位的常见方法包括基于信号到达时间(Time of Arrival, TOA)、基于信号到达时间差(Time Difference of Arrival, TDOA)、基于信号到达角度(Angle of Arrival, AOA)以及基于接收信号强度(Received Signal Strength Indication, RSSI) [2]。其中,TOA算法因其低功耗、低成本和稳定可靠的运行特点,成为UWB定位的主流方法。
在室内环境中,UWB定位的测距误差主要受到多径效应、多址干扰、时钟同步误差和非视距(Non-Line-of-Sight, NLOS)误差等因素的影响[3]。现有研究已探讨了多种提升UWB定位精度的方法,涵盖了惯性测量单元[4]、Wi-Fi [5]、卡尔曼滤波[6]和多传感器融合[7]等技术的应用。此外,深度学习方法也被广泛用于提高定位精度。例如,文献[8]提出了一种用于视距(Line-of-Sight, LOS)和非视距NLOS识别的前馈神经网络(Feedforward Neural Network, FNN)方法,该方法能够有效减轻受限空间和各种障碍物对定位造成的负面影响。文献[9]结合UWB技术和卷积神经网络(Convolutional Neural Networks, CNN)的定位方法,通过RGB图像估计发射器位置,提升了室内定位精度与鲁棒性。文献[10]提出了一种基于LSTM的深度学习模型,通过利用UWB的TOA距离数据来预测用户位置,有效提升了室内定位精度。文献[11]提出一种基于时空注意力图神经网络的UWB定位方法,通过多标签测距建模提升几何关系捕捉能力,在非视距环境下表现出更高的定位准确性和鲁棒性。文献[12]提出了一种基于注意力机制的UWB测距误差补偿算法,通过重新评估信道特征的重要性,提升了UWB测距的精度。
尽管现有研究已显著提升了UWB室内定位系统的精度,但定位精度仍有进一步优化的空间。为此,本文提出了一种新的UWB室内定位方法,将双向门控循环单元BiGRU与Bahdanau注意力机制相结合。BiGRU在处理时序数据方面具有优势,能够有效捕捉UWB信号的动态特征,而Bahdanau注意力机制通过动态分配权重,有效加强了模型对关键信号特征的关注。两者的结合使模型在复杂环境下能够更加精准地提取和处理UWB信号特征,从而有效提升室内定位的精度并减少定位误差。实验结果表明,本文提出的模型显著提高了UWB室内定位的精度,并有效减少了定位误差。
2. UWB定位方法
传统的UWB室内定位方法常用TOA定位方法来进行位置估计。TOA定位法是一种通过测量信号从发射源到接收器的传播时间,进而计算信号传播距离的测距方法。在UWB通信中,由于信号带宽极宽,UWB信号的短脉冲能够在空间上被很好地分辨,从而准确测量信号到达接收器的时间。
TOA定位法的基本原理是通过测量发射信号到达接收器的时间差来确定发射源与接收器之间的距离。具体而言,当发射信号从发射源出发并经过一定的传播路径到达接收器时,接收器内的时钟信号会记录下信号到达的时间。通过已知的信号传播速度和发射信号与接收器的时钟信号之间的时间差,可以计算出信号传播的距离。
如图1所示为TOA定位法原理图。在时间同步后,未知标签发送UWB信号至各个定位基站所消耗的时间,从而完成测距。假设未知标签的坐标为
,定位基站的坐标为
,未知标签P发出的信号到达三个定位基站的时间分别为
,则距离的计算公式为:
。
在获取未知标签到定位基站的距离后,传统UWB室内定位系统利用三边测量法来计算未知标签的具体位置。然而,实际情况中,由于多径效应、多址干扰、时钟同步误差和非视距误差的影响,三边测量法最终计算出的结果往往仅为一个近似值。
Figure 1. Principle diagram of TOA-based localization method
图1. 基于TOA定位法的原理图
三边测量法
三边测量法是指通过得到三个以上的定位基站与未知标签之间的估计距离后,再通过相关方法来确定得到未知标签的位置坐标。图2显示了三边测量法的原理图。
Figure 2. Trilateration principle diagram
图2. 三边测量法原理图
UWB未知标签
与定位基站
之间的距离
表示为:
(1)
i取值为1、2、3,将式(1)展开,得到:
(2)
考虑i = k,式(2)可以写成:
(3)
式(2)减去式(3),得到:
(4)
考虑i = 1,变指数k = 2、3,可以得到:
(5)
通过求解上述方程组,可以得到UWB未知标签的坐标
。式(5)可以看作
,表示线性方程组的A、x、b值:
(6)
(7)
(8)
线性方程组的解应该使得如下定义的
最小为:
(9)
(10)
运用最小均方误差(MMSE)方法,可以解得x为:
(11)
关于三边测量法实现的更多细节,可以参考文献[13]。
3. 结合Bahdanau注意力机制的BiGRU模型的结构设计
3.1. 双向门控循环单元
在时间序列数据建模中,传统的循环神经网络(RNN)常常面临梯度消失和爆炸的问题,限制了其对长时间序列的学习能力。为了解决这些问题,门控循环单元GRU引入了更新门和重置门的机制,从而改善了传统RNN的结构,能够更有效地捕捉长短期依赖关系。GRU由重置门
、更新门
组成,GRU结构图如图3所示。重置门
是由隐藏状态
与输入
拼接后与权重矩阵
相乘,再通过Sigmoid函数将数据维持在0~1,如公式(12)所示。更新门接收的数据与重置门是一样的,由输入
和隐藏状态
负责t时刻更新门的输入,如公式(13)所示。
(12)
(13)
候选隐藏状态
是由输入
拼接重置门
与隐藏状态的hadamard乘积(矩阵相同位置上的元素进行乘积),再乘以权重矩阵
,通过激活函数tanh将值固定在−1~1的范围,如公式(14)所示。
(14)
真正的t时刻隐藏状态
是由更新门
与
时刻隐藏状态
的hadmard乘积加上(
)与候选隐藏状态
的hadamard乘积。考虑极端情况,当门控单元
为1时,
等价于
,网络过滤掉了输入
,t时刻状态完全等于
时刻状态,当门控单元
为0时,
等价于
,忽视了之前隐藏层的状态。更新记忆表达式如公式(15)所示。
(15)
总体来看,GRU模型与循环神经网络(RNN)在可学习参数数量上是相同的,但其可学习的权重矩阵是RNN的三倍。与LSTM相比,GRU结构更加简化,减少了一个门的数量,从而显著降低了参数总数。因此,本研究采用双向门控循环单元(BiGRU)模型,能够同时从前向和后向处理输入序列,以获取更全面的上下文信息。这一结构使得模型在处理UWB信号到达时间(TOA)数据时,可以充分利用前向和后向的信息,从而提高特征提取能力。尤其是在应对UWB定位中的非线性特征时,这种能力能够显著减少定位误差。
Figure 3. GRU architecture diagram
图3. GRU结构图
双向门控循环单元(BiGRU)是GRU的扩展变体,其结构图如图4所示。它在序列数据的两个方向上进行信息传递和捕捉,进一步增强了模型对序列数据的建模能力。
Figure 4. BiGRU architecture diagram
图4. BiGRU结构图
3.2. Bahdanau注意力机制
Figure 5. Bahdanau attention mechanism
图5. Bahdanau注意力机制
Bahdanau注意力机制通过动态加权输入序列的各个部分,增强神经网络在处理序列数据时对重要信息的关注能力,使模型能够专注于与当前任务最相关的信息,如图5所示。在UWB定位任务中,由于信号受到多路径效应和非视距环境的影响,不同时间步长的信号对定位结果的贡献各不相同。因此,该机制通过计算输入序列中每个时间步的重要性,并结合当前的隐藏状态,动态调整模型的注意力焦点,从而提升定位精度和模型表现。其核心在于计算注意力权重,该过程由当前的隐藏状态与所有时间步的输出结合,形成注意力得分。具体来说,注意力得分是通过将当前隐藏状态
与每个时间步的输出
拼接后,通过权重矩阵
进行线性变换,并传递给激活函数tanh计算得出,如公式(16)所示:
(16)
其中,
是可学习的参数,
是偏置项。计算出的注意力得分通过softmax函数进行归一化,得到注意力权重
,这些权重反映了每个时间步对当前输出的重要性,如公式(17)所示:
(17)
使用归一化后的注意力权重
对输入序列的输出进行加权求和,生成上下文向量
。上下文向量汇集了序列中重要的信息,对当前预测至关重要,如公式(18)所示:
(18)
在最终的输出层,生成的上下文向量
将与当前的隐藏状态结合,提供额外的信息用于生成输出。通过这种动态权重分配机制,模型能够在复杂环境下更好地聚焦于关键信号,从而提升定位精度。
3.3. 定位模型算法步骤
结合Bahdanau注意力机制的BiGRU模型在处理UWB的TOA数据时具体算法步骤如下:
输入:UWB基站接收到的TOA数据
输出:模型输出的目标位置坐标
步骤一:数据准备
收集UWB系统的TOA数据及其对应的基站坐标,确保数据的完整性和准确性。并且将TOA数据与基站坐标整合为适合模型输入的格式。对输入特征进行标准化处理,以消除不同特征间的尺度差异,确保模型训练的有效性和收敛速度。
步骤二:构建模型
构建BiGRU网络,并且引入Bahdanau注意力机制,通过计算隐藏状态与输入序列中各时间步的关联性来动态分配注意力权重。在注意力机制输出的基础上,设计全连接层用于生成最终的预测位置坐标。
步骤三:模型训练与评估
不断调整参数,确定模型的最佳参数,并且在验证集上对模型拟合能力进行验证。
通过以上步骤,结合Bahdanau注意力机制的BiGRU模型能够有效处理UWB的TOA数据,提升室内定位的准确性,并在复杂的多路径和非视距环境中表现出良好的鲁棒性。
4. 实验与结果分析
4.1. 模型训练及参数选择
为了验证所提模型的有效性,本文实验使用的数据集来源于文献[14]。该数据集在一个6.5 m × 2.5 m的实验区域内布置了4个定位基站,基站坐标分别为(0 m, 0 m)、(6.5 m, 0 m)、(6.5 m, 2.5 m)、(0 m, 2.5 m)。实验过程中,一个移动锚点沿预定轨迹在实验区域内移动,模拟实际使用场景中的移动目标。使用超宽带和运动捕捉系统同步采集定位数据,以保证数据的一致性和同步性。
该数据集包含3200个样本,每个样本包括4个距离值以及对应的移动锚点的x和y坐标值。实验中,将80%的数据样本用于训练模型,20%的数据样本用于测试模型。结合Bahdanau注意力机制的BIGRU模型使用4个输入神经元来获取移动锚点的4个距离值,并使用2个输出神经元来预测移动锚点的x和y位置。本文从学习率、优化器、批量大小、隐藏神经元数量、BIGRU网络层数、损失函数等多个方面,分析了结合Bahdanau注意力机制的BIGRU模型的损失值随训练轮数的变化情况。
首先,分析不同学习率对模型性能的影响,对于较大的学习率,模型在训练过程中往往不稳定,在较小的学习率下,模型在训练过程中可能导致收敛缓慢,甚至可能无法训练模型。从图6可以看出,学习率取0.01时,模型在兼顾收敛速度的同时也更加稳定。因此,本模型选择学习率为0.01。
Figure 6. Training loss curves at different learning rates
图6. 不同学习率的训练损失曲线
其次,分析不同优化器对模型性能的影响,优化器在提高模型精度方面起着至关重要的作用。当我们使用深度神经网络进行定位时,随着能量通过网络层传播,神经网络可能会出现梯度消失或梯度爆炸的现象。随着网络的复杂性增加,这些问题会变得更加严重,进而影响网络性能。为了避免梯度消失和梯度爆炸的问题,选择合适的优化器至关重要。从图7可以看出,在使用Nadam优化器的情况下,模型收敛速度快且平稳。因此,本模型选择优化器为NAdam。
Figure 7. Training loss curves for different optimizers
图7. 不同优化器的训练损失曲线
再次,分析不同批量大小对模型性能的影响,对于较大的批量大小,计算速度将显著提高。然而,较大的批量大小可能会导致模型的泛化能力下降,并且学习过程的收敛速度也可能减慢。相反,批量大小过小则会导致模型训练时间过长,影响整体效率。从图8可以看出,当批量大小设置为32时,模型在收敛速度和稳定性方面表现最佳。因此,本模型选择批量大小为32。
Figure 8. Training loss curves for different batch sizes
图8. 不同批量大小的训练损失曲线
然后,分析不同隐藏神经元数量对模型性能的影响,隐藏神经元数量过多会导致模型过于复杂,容易过拟合。同时,隐藏神经元过多也会显著增加计算负担,降低训练速度。相反,隐藏神经元数量过少则会导致模型容量不足,无法有效捕捉数据中的复杂特征,导致欠拟合,模型从训练数据中学不到足够的模式,预测精度下降。从图9可以看出,隐藏神经元数量为128时,模型既能快速收敛,又能有效避免过拟合问题。因此,本模型选择隐藏神经元数量为128。
Figure 9. Training loss curve with different number of hidden neurons
图9. 不同隐藏神经元数量的训练损失曲线
最后,分析不同网络层数对模型性能的影响,图10显示了在不同BIGRU网络层数下,模型的平均定位距离误差。从图10可以看出,随着BIGRU网络层数的增加,模型的平均定位误差也随之减小,导致模型性能提高。但当网络层数增加到4层及以上时,模型的平均定位误差也随之增加,导致模型性能下降。因此,本模型选择网络层数为3层。
Figure 10. The average distance error of different BIGRU layers
图10. 不同BIGRU层数的平均距离误差
本文选择平方根均方误差(RMSE)损失函数作为模型的损失函数。因此,根据调整不同参数得到的训练结果,本文所选择的各参数的值如表1所示。
在确定最佳参数后,使用表1所示的参数来验证模型对测试集的效果,并使用平均定位误差A (模型在测试集上的总误差除以测试集中的样本数量)来观察模型的预测效果。
(19)
式中
为UWB标签的实际位置,
为本文提出的定位方法计算出的UWB标签的估计位置。n值表示用于定位的数据样本总数,在本文中,n = 640。
通过对模型进行多次训练,计算测试集上的平均误差,可以得到训练后的模型在测试集上的平均误差为6.9 cm。
Table 1. BiGRU neural network parameter value
表1. BiGRU神经网络参数值
BiGRU神经网络参数 |
值 |
样本数 |
3200 |
训练样本数与总体样本数的比率 |
0.8 |
训练轮数 |
100 |
批量大小 |
32 |
隐藏神经元数量 |
128 |
优化器 |
NAdam |
学习率 |
0.01 |
网络层数 |
3 |
损失函数 |
RMSE |
4.2. 不同算法对比
为了验证所提模型的优越性,本文将结合Bahdanau注意力机制的BiGRU模型与传统的GRU、LSTM和RNN算法进行了详细对比。表2总结了不同循环神经网络在UWB室内定位模型上的训练和预测时间。从表2可以看出,结合Bahdanau注意力机制的BiGRU模型在训练时间上多于其他循环神经网络。但是定位精度高于其他循环神经网络,本模型在可接受的时间范围内给出了较高的精度。
综合实验结果表明,结合Bahdanau注意力机制的BiGRU模型在定位精度上优于其他循环神经网络,能够为UWB室内定位提供更好的定位效果。
Table 2. Training and prediction times of different recurrent neural networks
表2. 不同循环神经网络的训练和预测时间
模型 |
训练时间/s |
预测时间/s |
误差/cm |
RNN |
2.76 |
0.02 |
12.1 |
LSTM |
2.99 |
0.03 |
10.9 |
GRU |
2.87 |
0.03 |
9.8 |
本文模型 |
9.42 |
0.02 |
6.9 |
5. 结束语
在本文的研究中,将结合Bahdanau注意力机制的BiGRU模型应用于UWB室内定位,提出了一种新的室内定位方法。该方法以定位标签到基站的信号到达时间TOA作为网络输入,从学习率、优化器、批量大小、网络层数、隐藏神经元数量和损失函数六个方面系统分析了不同参数对模型性能的影响,并确定了模型的最优参数配置。实验结果表明,结合Bahdanau注意力机制的BiGRU模型在UWB室内定位中的应用效果显著。与其他循环神经网络模型相比,该模型的定位误差减少了29.59%~42.98%。这表明,随着深度学习技术的不断发展,结合注意力机制的神经网络在复杂环境下的鲁棒性和精度优势将更加突出,未来在室内定位领域的应用将更加广泛和深入。