基于IEEE 802.15.4z的超宽带定位
本示例显示如何根据IEEE®802.15.4z™标准估计单个设备的位置[2],使用ZigBee®和UWB附加组件的通信工具箱™库。
概述
IEEE 802.15.4z修订[2]IEEE®802.15.4标准[1]是一种MAC和PHY规范,设计用于使用超宽带(UWB)通信进行测距和定位。超宽带非常短的脉冲持续时间允许在时域中有更细的粒度,因此在空间域中有更准确的估计。
802.15.4z修订的关键测距和定位功能包括3种mac级技术:
单面双向测距(SS-TWR)——一个设备通过在无线802.15.4z链路的两个方向上使用帧传输来估计两个设备之间的距离。该技术在超宽带测距采用IEEE 802.15.4z的例子。
双边双向测距(DS-TWR)——两种设备通过在无线802.15.4z链路的两个方向上使用帧传输来估计两种设备之间的距离。
单向测距/到达时间差(OWR/TDOA)——网络辅助定位,其中一个设备与一组同步节点通信以估计设备的位置。
本例演示了上行链路传输的OWR/TDOA技术,通过使用兼容IEEE 802.15.4标准的MAC和PHY帧[1]和IEEE 802.15.4z修正案[2].有关生成物理级IEEE 802.15.4z波形的更多信息,请参见HRP UWB IEEE 802.15.a /z波形生成的例子。有关生成IEEE 802.15.4 MAC帧的更多信息,请参阅IEEE 802.15.4 - MAC帧生成和解码的例子。
单向测距/到达时差(OWR/TDOA)
单向测距(OWR)涉及上行链路或下行链路方向的帧传输。对于上行链路,需要本地化的设备定期广播短消息眨眼.IEEE 802.15.4z修订[2]没有规定一个特定的帧格式的眨眼,但它规定眨眼应尽可能短。这些闪烁的消息由一组基础设施节点接收,这些节点要么通过有线骨干网同步,要么通过超宽带无线通信链路同步。在下行链路的情况下,同步的节点周期性地以已知的时间偏移发送广播消息。
对于每对同步节点,周期消息之间的到达时间差(TDOA)将设备放置在一个双曲曲面上[3].所有双曲曲面的交点(对于每一对同步节点)给出了设备的位置估计。
这个例子演示了上行OWR的情况。
设置
确认已安装ZigBee®和UWB附加组件的通信工具箱™库。
commSupportPackageCheck (“无线个域网”);
配置网络
在100x100平面上设置3个同步节点和1个设备的网络:
numNodes = 3;deviceLoc = [50 50];%将设备放置在中心nodeLoc = [40 41;62 83;87年24];TDOA = nan(numNodes);helperShowLocations (deviceLoc nodeLoc);
计算节点到设备的实际距离和TOF (time of flight)。
actualdistance =√(sum((nodeLoc - deviceLoc)。^ 2, 2));C = physconst(“光速”);光速% (m/s)actualTOF = actualdistance /c;信噪比= 30;% (dB)
配置眨眼
使用短(IEEE 802.15.4 MAC)数据帧作为闪烁。
numBlinks = 1;MAC层:有效载荷=“00”;CFG = lrwpan。MACFrameConfig (...FrameType =“数据”,...SourceAddressing =的短地址,...SourcePANIdentifier =“AB12”,...SourceAddress =“CD77”);blinkMAC = lrwpan.MACFrameGenerator(cfg,payload);% PHY层:确保“测距”字段已启用。也要设置正确的PSDU长度。blinkPHYConfig = lrwpanHRPConfig(...模式=“HPRF”,...STSPacketConfiguration = 1,...PSDULength =长度(blinkMAC),...不等= true);blinkPHY = lrwpanWaveformGenerator(...blinkMAC,...blinkPHYConfig);%缓存序音,用于序音检测。%从Nsync中取出第一个实例=PreambleDuration重复次数。indices = lrwpanHRPFieldIndices(blinkPHYConfig);每个字段的起始/结束长度的%blinkPreamble = blinkPHY(...1: indices.SYNC(结束)/ blinkPHYConfig.PreambleDuration);% 1的非同步重复
运行仿真
在模拟循环中,闪烁传播到每个节点,其传播延迟由它们的不同距离决定。接下来,每对节点计算它们闪烁到达时间的差异。结果,该设备的位置估计在双曲曲面内的每对节点。所有曲面的交点给出了设备的位置估计。在这里,二维曲线图显示交点,以指示设备的位置估计。
vfd = dsp.VariableFractionalDelay;arrivalTime = 0 (1,numNodes);plotStr = {“r——”,“b——”,“g——”};[x, y] = deal(cell(1,3));为idx = 1:numBlinks为node = 1:numNodes%眨眼的传送和接收每个节点接收到一个特定的延迟版本的闪烁tof = actualTOF(节点);samplesToDelay = tof * blinkPHYConfig.SampleRate;重置(vfd);释放(vfd);变频。MaximumDelay = ceil(1.1*samplesToDelay);delayedBlink = vfd...[blinkPHY;0 ((samplesToDelay),即:1)),...samplesToDelay);添加高斯白噪声receivedBlink = awgn(delayedBlink,SNR);节点接收器检测序文preamPos = helpfindfirstthrppreamble (...receivedBlink、blinkPreamble blinkPHYConfig);在每个周期的t=0时发送每一次闪烁。眨眼来了%在每个节点的不同实例上,由于它们的不同%到设备的距离。到达时间(节点)= (...preamPos - indexes . sync (end) /...blinkPHYConfig.PreambleDuration) / blinkPHYConfig.SampleRate;结束定位:估计在同步主干网的位置%每对节点。pairCnt = 1;为node1 = 1:numNodes为node2 = (node1+1):numNodes计算到达时差(TDOA)TDOA(node1, node2) = arrivalTime(node1)-arrivalTime(node2);得到节点1和节点2之间的TDOA的双曲曲面[x{pairCnt}, y{pairCnt}] = helperGetHyperbolicSurface(...nodeLoc (node1:)...nodeLoc (node2:)...目标辐射源(node1 node2));情节(x {pairCnt}, {pairCnt}, plotStr {pairCnt});pairCnt = pairCnt + 1;结束结束找出双曲曲面之间的交点[xC,yC] = helperFindHyperbolicIntersection(x,y);估计位置为交点三角形的中心xO = mean(xC, 2);yO = mean(yC, 2);情节(xO,哟,“罗”)情节(xC’,yC’,“处方”)结束腿=传说(...“设备”,...“同步节点”,...“a - b”,...“得了”,...“c”,...“估计”,...“十字路口”,...“位置”,“西北”);
放大估计区域:
zoomInToEstimationArea (deviceLoc xC、yC xO,哟,腿);
IEEE 802.15.4z定位算法允许两个双曲曲面之间存在多个交点,因此存在一个或两个可能的定位答案。计算每个答案的定位误差:
为idx = 1: number (xO) locError = sqrt(sum([xO(idx) yO(idx)]-deviceLoc).^2);流('定位错误#%d = %0.3f m.\n'、idx locError);结束
定位误差#1 = 0.012 m。
对于依赖于估计到达时间的定位方法,当到达时间不是样本时间的整数倍时,主要会导致距离估计的误差。这种定位方法的最大距离误差发生在到达时间超过采样时间整数倍的一半的采样时间。当到达时间是采样时间的整数倍时,距离误差最小。对于本例中使用的高速率脉冲重复频率PHY的高脉冲重复频率(HRPF)模式,符号速率为499.2 MHz,每个符号的采样数为10。最大距离估计误差为 ,大约3厘米。
一般来说,与窄带通信相比,超宽带信道带宽越大,对应的符号持续时间越短,测距误差越小。对于IEEE 802.11az规定的窄带通信,信道带宽范围为20mhz ~ 160mhz。考虑到窄带通信的最大距离误差,对于160 MHz,估计定位误差在0到10厘米之间,对于20 MHz,估计定位误差在0到75厘米之间。有关使用IEEE 802.11az定位的更多信息,请参阅基于超分辨率到达时间估计的802.11az定位(WLAN工具箱)的例子。
进一步的探索
本示例使用了ZigBee®和UWB附加组件的通信工具箱™库中的这些对象和函数。
lrwpan。创建802.15.4 MAC帧的配置
lrwpan。MACFrameGenerator:生成802.15.4 MAC帧
lrwpanHRPConfig: HRP波形配置
lrwpanWaveformGenerator:创建IEEE 802.15.a /z HRP超宽带波形
这些实用程序没有文档,它们的API或功能将来可能会改变。要查看这些实用程序的源代码,请使用编辑
函数。例如,输入:
编辑lrwpan。MACFrameConfig
在MATLAB®命令行打开lrwpan。MACFrameConfig
.
函数zoomInToEstimationArea (deviceLoc xC、yC xO,哟,腿)将2D平面放大到设备位置周围的区域allX = [deviceLoc(1);xO (:);我()):;allY = [deviceLoc(2);哟(:);yC (:));minX = min(allX);maxX = max(allX);minY = min(allY);maxY = max(allY); axis([...风骚女子- 0.1 * (maxX-minX),...maxX + 0.1 * (maxX-minX),...如矿坑的- 0.1 * (maxY-minY),...maxY + 0.1 * (maxY-minY)])的腿。位置=“东北”;结束
选定的参考书目
1-“IEEE低速率无线网络标准”,IEEE Std 802.15.4-2020 (IEEE Std 802.15.4-2015修订版),pp.1-800, 2020年7月23日,doi: 10.1109/IEEESTD.2020.9144691。
2 -“IEEE低速率无线网络标准-修订1:增强型超宽带(UWB)物理层(PHYs)和相关测距技术”,IEEE Std 802.15.4z-2020 (IEEE Std 802.15.4-2020修正案),pp.1- 174,2020年8月25日,doi: 10.1109/IEEESTD.2020.9179124。
3 -黄氏;扎卡尼(R. Jassemi);布鲁克斯D.和金B.。“基于几何方法的时差到达法被动目标定位”,加拿大国防研究与发展科学报告,DRDC-RDDC-2017-R079, 2017年6月,第1-77页。