主要内容

使用超分辨率到达时间估计的802.11az定位

这个例子展示了如何使用IEEE®802.11az™Wi-Fi™标准中定义的基于到达时间(toa)的定位算法,在多路径环境中估计一个站点(STA)的位置。该示例通过使用多重信号分类(MUSIC)超分辨率方法估计了ToA,然后通过使用三分法估计了STA的二维位置。然后,该示例在多个信噪比(SNR)点上评估和比较定位算法的性能。

介绍

802.11az标准[1,通常被称为下一代定位(NGP),使STA能够识别其相对于多个接入点(ap)的位置。该标准支持两种高效(HE)测距物理层(PHY)协议数据单元(PPDU)格式:

  • HE测距空数据包(NDP)

  • HE触发器(TB)测距NDP

根据802.11ax™标准的定义,HE测距NDP和HE TB测距NDP分别类似于HE探空NDP和HE TB反馈NDP PPDU格式。有关这些HE PPDU格式的更多信息,请参见[2]

HE测距NDP支持具有可选安全HE长训练场(HE- ltf)序列的一个或多个用户的定位。单用户HE测距波形包含单用户的HE- ltf符号,也支持可选的安全HE- ltf序列。多用户HE测距波形只允许多个用户使用安全的HE- ltf符号。为了提高位置估计精度,单用户和多用户波形可以包含HE-LTF符号的多次重复。要参数化并生成HE测距ndp,请参见802.11 az波形生成的例子。

本例模拟了一个由STA和多个ap组成的802.11az网络。为了估计STA的位置,网络中至少需要3个ap。该示例模拟了每个STA- ap对的测距测量交换,然后通过使用这些测量值对STA的位置进行三边计算。该示例对多次迭代和信噪比点重复此模拟。这张图显示了一个STA和三个ap的网络中的定位过程。

trilaterationCircles.png

包传输和接收

本例通过执行这些步骤来建模STA和ap之间的测量交换。

  1. 生成一个测距NDP

  2. 根据STA和AP之间随机生成的距离延迟NDP,添加分数和整数样本延迟

  3. 将波形通过室内TGax通道传递。该示例为不同的包建模了不同的信道实现

  4. 在接收波形中添加加性高斯白噪声(AWGN)。本例对STA和ap之间的所有链路使用相同的信噪比值

  5. 对接收到的波形执行同步和频率校正

  6. 解调的HE-LTF

  7. 估计HE-LTF的信道频率响应

  8. 使用MUSIC超分辨率算法估计距离

  9. 结合来自其他STA- ap对的距离估计,并对STA的位置进行三边分析

该图说明了每个STA-AP链路的处理过程。

距离范围

该示例通过捕获NDP的时间戳,执行STA和每个AP之间的距离范围测量。STA记录时间 t 1 (UL ToD),在该位置传输上行NDP (UL NDP)。然后,AP捕获时间 t 2 (UL ToA),接收UL NDP并记录时间 t 3. (DL ToD),它在那里传输下行NDP (DL NDP)。STA然后捕获时间 t 4 (DL ToA),接收DL NDP。该图说明了STA和单个AP之间的测量测深阶段[1]。

估计的例子 T R T T 往返时间 往返时间(RTT),通过组合这些时间戳。

T R T T = ( t 4 - t 1 ) - ( t 3. - t 2 )

然后,该示例计算距离 d 在STA和AP之间使用这个方程。

d = T R T T 2 c ,在那里 c 为光速

估计的例子 t 2 t 4 通过使用MUSIC超分辨率。为了计算这些估计,示例执行以下步骤[3.]。

  1. 假设均匀的子载波间距,从信道频率响应(CFR)跨缺失子载波进行插值

  2. 估计CFR相关矩阵

  3. 通过使用空间平滑去关联多路径

  4. 通过执行前后平均改进相关矩阵估计。该示例假设来自多个空间流的CFR估计是不同的CFR快照,并使用所有快照进行相关矩阵估计。

  5. 运行MUSIC算法。对相关矩阵进行特征分解,将其分离为信号和噪声子空间。通过找到所有信号和噪声子空间正交的实例来估计时域延迟轮廓。该例子假设精确的信号子空间维数,等于多路径的数量,是已知的。

  6. 通过在估计的延迟轮廓中找到恢复的多路径的第一个峰值来确定ToA,假设是直接视距(DLOS)路径

这张图说明了测距过程。

该图比较了单个802.11az链路模拟的真实多路径延迟配置文件和MUSIC估计的延迟配置文件。

heRangingPlotDelayProfile ()

图中包含一个axes对象。具有标题延迟配置文件(40 MHz, Model-B, 35 dB SNR, SISO)的轴对象包含3个类型为stem, line的对象。这些对象表示True delay profile, MUSIC estimate, Estimated ToA。

仿真参数

这个例子为多个迭代和信噪比点执行测距和定位模拟。在每次迭代中,AP和STA交换多个上行链路和下行链路数据包。本例通过将AP和STA之间的估计距离与已知距离进行比较,来估计每次迭代中AP和STA之间的测距误差。

指定网络中的迭代次数、信噪比点和ap。为了估计STA的位置,网络中至少需要3个ap。对于每次迭代,使用不同的随机AP位置集、不同的信道实现和不同的AWGN配置文件。该示例通过使用来自所有迭代和所有STA-AP对的测距测量,为绝对测距误差生成一个累积分布函数(CDF)。

numIterations =50;%迭代次数snrRange =15:10:35;%信噪比点,单位为dBnumAPs =3.;% ap数量

802.11 az波形配置

为每个AP和STA配置波形发生器。

chanBW =“CBW20”;%通道带宽numTx =2;%发射天线的数量numRx =2;%接收天线数numSTS =2;%时空流数numLTFRepetitions =3.;HE-LTF重复次数%

配置STA的HE测距NDP参数。

cfgSTABase = heRangingConfig;cfgSTABase。ChannelBandwidth = chanBW;cfgSTABase。NumTransmitAntennas = numTx;cfgSTABase。SecureHELTF = true;cfgSTABase.User{1}。NumSpaceTimeStreams = numSTS;cfgSTABase.User{1}。NumHELTFRepetition = numLTFRepetitions; cfgSTABase.GuardInterval = 1.6;

配置ap的HE测距NDP参数。

cfgAPBase =细胞(1、numAPs);iAP = 1:numAPs cfgAPBase{iAP} = heRangingConfig;cfgAPBase {iAP}。ChannelBandwidth = chanBW;cfgAPBase {iAP}。NumTransmitAntennas = numTx;cfgAPBase {iAP}。SecureHELTF = true;cfgAPBase {iAP} .User{1}。NumSpaceTimeStreams = numSTS;cfgAPBase {iAP} .User{1}。NumHELTFRepetition = numLTFRepetitions; cfgAPBase{iAP}.GuardInterval = 1.6;结束ofdmInfo = wlanHEOFDMInfo (“HE-LTF”、chanBW cfgSTABase.GuardInterval);sampleRate = wlanSampleRate (chanBW);

通道配置

配置WLAN TGax多路径通道wlanTGaxChannel系统对象™。这个System对象可以生成一个具有显性直接路径的通道,其中DLOS路径是最强路径,或者一个具有非显性直接路径的通道,DLOS路径存在,但不是最强路径。

delayProfile =“b型”;% TGax通道多路径延迟配置文件carrierFrequency = 5 e9;%载波频率,单位为HzspeedOfLight = physconst (“光速”);chanBase = wlanTGaxChannel;chanBase。DelayProfile = DelayProfile;chanBase。NumTransmitAntennas = numTx;chanBase。NumReceiveAntennas = numRx;chanBase。SampleRate = SampleRate; chanBase.CarrierFrequency = carrierFrequency; chanBase.ChannelBandwidth = chanBW; chanBase.PathGainsOutputPort = true; chanBase.NormalizeChannelOutputs = false;

获取通道滤波延迟和路径数

chBaseInfo = info (chanBase);chDelay = chBaseInfo.ChannelFilterDelay;numPaths =大小(chBaseInfo.PathDelays, 2);

包括测量

对所有STA-AP对进行多次迭代的测距模拟。显示每个信噪比点的测距平均绝对误差(MAE)和测距误差CDF。

delayULDL = 16 e-6;% UL NDP ToA和DL NDP ToD之间的时间延迟,单位为秒numSNR =元素个数(snrRange);dist = 0 (numAPs numIterations numSNR);%估计距离距离= 0 (numAPs numIterations numSNR);%真实的距离positionSTA = 0 (2 numIterations numSNR);% STA的二维位置positionAP = 0 (2 numAPs numIterations numSNR);% ap的二维位置每= 0 (numSNR, 1);%包错误率(PER)%parfor isnr = 1:numSNR %使用'parfor'加速模拟isnr = 1: numSNR为每个parfor流使用单独的通道和波形配置对象。陈= chanBase;cfgAP = cfgAPBase;cfgSTA = cfgSTABase;初始化测距错误和总失败包计数变量rangingError = 0;failedPackets = 0;%设置每次迭代的随机子流索引,以确保每个迭代使用一组可重复的随机数流= RandStream (“combRecursive”,“种子”, 123456);流。Substream = isnr;RandStream.setGlobalStream(流);定义每个有源子载波的信噪比,以考虑null中的噪声能量。snrVal = snrRange(isnr) - 10*log10(ofdmInfo.FFTLength/ofdmInfo.NumTones);iter = 1: numIterations%生成随机AP位置[positionSTA (:, iter isnr) positionAP (:,:, iter isnr) distanceAllAPs] = heGeneratePositions (numAPs);距离(:,iter isnr) = distanceAllAPs;%基于范围延迟延迟=距离(:,iter isnr) / speedOfLight;sampleDelay = * sampleRate延迟;%循环ap的数量ap = 1:numAPs linkType = [“上行”,“下行”];UL NDP的% ToD (t1)todUL = randsrc (1, 1, 0:1e-9:1e-6);%循环的UL和DL传输numLinks =元素个数(linkType);numLinks txTime = 0 (1);l = 1: numLinks如果linkType (l) = =“上行”% STA to APcfgSTA。UplinkIndication = 1;%的UL%为交换生成一个随机的安全HE-LTF序列cfgSTA.User{1}。SecureHELTFSequence = dec2hex (randsrc(1、10 (0:15)))';cfg = cfgSTA;其他的% AP to STA%为交换生成一个随机的安全HE-LTF序列cfgAP{美联社}.User{1}。SecureHELTFSequence = dec2hex (randsrc(1、10 (0:15)))';cfg = cfgAP{美联社};%为DL结束%为UL和DL设置不同的通道,假设通道不是倒数的重置(陈)%生成HE测距NDP传输tx = heRangingWaveformGenerator (cfg);%在发射波形中引入时间延迟(分数和整数)txDelay = heDelaySignal (tx sampleDelay(美联社));Pad信号通过多径通道传递陈txMultipath = ([txDelay; 0 (50, cfg.NumTransmitAntennas)]);%通过AWGN通道传递波形rx = awgn (txMultipath snrVal);%执行同步和信道估计[chanEstActiveSC, integerOffset] = heRangingSynchronize (rx, cfg);%估计UL和DL之间的传输时间如果~ isempty (chanEstActiveSC)%如果包检测成功%估计分数延迟与MUSIC超分辨率fracDelay = heRangingTOAEstimate (chanEstActiveSC ofdmInfo。ActiveFFTIndices,ofdmInfo.FFTLength、sampleRate numPaths);integerOffset = integerOffset - chDelay;%考虑通道滤波器延迟intDelay = integerOffset / sampleRate;%估计整数时间延迟txTime(l) = intDelay + fracDelay;%传输时间其他的%如果报文检测失败txTime (l) =南;结束结束如果~任何(isnan (txTime))%如果报文检测成功UL波形的% TOA (t2)toaUL = todUL + txTime(1);% DL波形出发时间(t3)todDL = toaUL + delayULDL;% TOA DL波形(t4)toaDL = todDL + txTime(2);%计算RTTrtt = (toaDL-todUL) - (todDL-toaUL);%估计STA和AP之间的距离为(美联社,iter isnr) = (rtt / 2) * speedOfLight;%累积误差到MAErangingError = rangingError + abs(distanceAllAPs(ap) - distEst(ap,iter,isnr));其他的%如果报文检测失败为(美联社,iter isnr) =南;failedPackets = failedPackets + 1;结束结束结束mae = rangingError/((numAPs*numIterations) - failedPackets);% MAE表示成功的数据包每(isnr) = failedPackets / (numAPs * numIterations);% /如果(每(isnr) > 0.01)%只使用成功的数据包进行测距和定位警告(“wlan: discardPacket”,'在信噪比= %d dB时,%d%%的包被丢弃'snrRange (isnr), 100 * / (isnr));结束disp ([“At SNR =”num2str (snrRange (isnr)),“数据库”,,'测距平均绝对误差= 'num2str(美),“米”。])结束
在SNR = 15 dB时,测距平均绝对误差= 0.57082米。在信噪比= 25 dB时,测距平均绝对误差= 0.40224米。在信噪比= 35 dB时,测距平均绝对误差= 0.25439米。
%重塑以将一个信噪比点内的所有数据包视为一个数据集rangingError =重塑(abs(distance - distEst),[numAPs*numIterations,numSNR]);hePlotErrorCDF (rangingError snrRange)包含(“绝对测距误差(米)”)标题(“测距误差提供”)

图中包含一个axes对象。标题为测距误差CDF的axes对象包含3个类型为line的对象。这些对象代表信噪比:15 dB,信噪比:25 dB,信噪比:35 dB。

三边测量

利用距离估计值在二维上对STA的位置进行Trilaterate,然后利用STA的位置估计值计算每次迭代的定位均方根误差(RMSE)。显示每个SNR点的平均RMSE及其CDF。

positionSTAEst = 0 (2 numIterations numSNR);RMSE = 0 (numIterations numSNR);isnr = 1: numSNRi = 1:numIterations positionSTAEst(:,i,isnr) = hePositionEstimate(挤压(positionAP(:,:,i,isnr)),挤压(distEst(:,i,isnr)));结束%找到每一次迭代的RMSE,然后取所有RMSE的平均值RMSE =重塑(sqrt(mean((positionSTAEst-positionSTA).^2),1)),[numIterations numSNR]);难题=意味着(RMSE (:, isnr),“所有”,“omitnan”);disp ([“At SNR =”num2str (snrRange (isnr)),“数据库”,,“平均RMS定位错误=”num2str(难题),“米”。])结束
在SNR = 15 dB时,平均RMS定位误差= 0.61713米。在信噪比= 25 dB时,平均RMS定位误差= 0.40481米。在信噪比= 35 dB时,平均RMS定位误差= 0.26968米。
snrRange hePlotErrorCDF (RMSE)包含(“RMS定位误差(米)”)标题(“定位误差CDF实验组的”)

图中包含一个axes对象。标题为定位错误CDF的axis对象包含3个类型为line的对象。这些对象代表信噪比:15 dB,信噪比:25 dB,信噪比:35 dB。

绘制最后一次迭代的位置估计和trilateration圆。

hePlotTrilaterationCircles (positionAP (:,:, numIterations numSNR), positionSTAEst (:, numIterations numSNR),为(:,numIterations numSNR) snrRange (numSNR) numIterations);

图中包含一个axes对象。对于迭代#50,标题为Node位置为SNR 35 dB的axes对象包含6个类型为line的对象。这些对象表示AP位置,STA位置,估计STA位置,Trilateration圆。

结论

这个例子展示了如何使用IEEE®802.11az™标准的定位算法。特别地,该示例演示了如何使用MUSIC超分辨率估计STA和AP之间的发射-接收距离,以及如何使用多个STA-AP对的测距测量在二维中定位STA。该示例通过计算在多个信噪比点上的定位估计值,演示了在更高信噪比下定位系统性能的提高。

进一步的探索

除了信噪比,还有几个重要参数会影响定位性能,如HE-LTF重复、空间流的数量、更高的带宽和通道延迟配置。该图显示了HE-LTF重复对测距性能的影响。为了生成这个图,对model - b2运行一个较长的模拟,使用三个随机放置的ap和4000次迭代 × 2个20兆赫的MIMO通道,以20 dB信噪比。从图中可以看出,测距误差随着HE-LTF重复次数的增加而减小。之所以会出现这种下降,是因为HE-LTF重复通过求出多个CFR估计值的平均值,有效地降低了CFR中的噪声。

该图显示了不同MIMO配置对测距性能的影响。为了生成这个图,运行一个较长的模拟,使用三个随机放置的ap和4000次迭代,在20 MHz下生成三个HE-LTF重复的测距包,并指定一个Model-B通道,SNR为20 dB。图中显示,在高阶MIMO配置下,测距误差减小。这种减少是因为高阶MIMO配置从可用的不同空间流产生更多的CFR快照。更多的CFR快照提供更好的相关矩阵估计,从而产生更好的ToA和距离估计。

相关的例子

参考文献

  1. IEEE P802.11az™/D2.0信息技术标准草案。系统间的电信和信息交换。局域网和城域网。特殊要求。修改件3:定位的增强。

  2. IEEE Std 802.11 ax™-2021。IEEE信息技术标准-系统间的电信和信息交换-局域网和城域网-特殊要求-第11部分:无线局域网介质访问控制(MAC)和物理层(PHY)规范-修改件1:高效WLAN的增强。

  3. 李新荣和K. Pahlavan,“用于室内地理定位的具有分集的超分辨率TOA估计”,载于《IEEE无线通信汇刊》第3卷第3期。1,第224-234页,2004年1月,doi: 10.1109/TWC.2003.819035。

Baidu
map