基于超分辨率到达时间估计的802.11az定位
本示例展示了如何使用IEEE®802.11az™Wi-Fi™标准中定义的基于到达时间(toa)定位算法来估计多路径环境中的站点(STA)位置。该算例采用多信号分类(MUSIC)超分辨率方法估计ToA,然后采用三边法估计STA的二维位置。然后,该示例评估并比较定位算法在多个信噪比(SNR)点上的性能。
简介
802.11az标准[1],通常称为下一代定位(NGP),使STA能够识别其相对于多个接入点(ap)的位置。该标准支持两种高效(HE)测万博1manbetx距物理层(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长训练万博1manbetx场(HE- ltf)序列支持一个或多个用户的定位。单用户HE测距波形包含单用户的HE- ltf符号,也支持可选的安全HE- ltf序列。万博1manbetx多用户HE测距波形只允许多用户使用安全的HE- ltf符号。为了提高位置估计精度,单用户和多用户波形可以包含多次重复的HE-LTF符号。若要参数化和生成HE测距ndp,请参阅802.11az波形生成的例子。
本例以802.11az网络为例,由一个STA和多个ap组成。为了估计一个STA的位置,网络中至少需要3个ap。该示例模拟了每个STA- ap对的测距测量交换,然后通过使用这些测量来测量STA的位置。该示例对多个迭代和SNR点重复此模拟。该图展示了一个STA和三个ap组成的网络的定位过程。
数据包传输和接收
本示例通过执行这些步骤来模拟STA和ap之间的测量交换。
生成一个测距NDP
根据随机生成的STA和AP之间的距离延迟NDP,添加分数和整数样本延迟
通过室内TGax通道传递波形。该示例为不同的数据包建模了不同的通道实现
在接收波形中添加加性高斯白噪声(AWGN)。本例中STA和ap之间所有链路的信噪比都相同
对接收到的波形执行同步和频率校正
解调HE-LTF
估计HE-LTF的信道频率响应
利用MUSIC超分辨率算法进行距离估计
结合其他STA- ap对的距离估计和三边STA的位置
该图说明了每个STA-AP链路的处理过程。
距离范围
该示例通过捕获NDP的时间戳来执行STA和每个AP之间的距离测量。STA用于记录时间 (UL ToD),用于传输上行NDP (UL NDP)。美联社随后捕捉到时间 (UL ToA)接收UL NDP并记录时间 (DL ToD),用于传输下行NDP (DL NDP)。然后STA捕获时间 (DL ToA),接收DL NDP。该图说明了STA和单个AP之间的测量测深阶段[1]。
示例估计 往返时间(RTT),通过组合这些时间戳。
然后,该示例计算距离 计算STA和AP之间的关系。
,在那里 就是光速
示例估计 而且 采用MUSIC超分辨率。要计算这些估计值,示例执行以下步骤[3.]。
从信道频率响应(CFR)中插入缺失的子载波,假设子载波间距一致
估计CFR相关矩阵
利用空间平滑对多路径进行解关联
通过执行前后平均来改进相关矩阵估计。该示例假设来自多个空间流的CFR估计是不同的CFR快照,并使用所有快照进行相关矩阵估计。
运行MUSIC算法。对相关矩阵进行特征分解,将其分解为信号子空间和噪声子空间。通过找到信号和噪声子空间正交的所有实例来估计时域延迟分布。该示例假设精确的信号子空间维数等于多路径的数量是已知的。
通过在估计的延迟配置文件中找到恢复的多路径的第一个峰值来确定ToA,假设是直接视线(DLOS)路径
这张图说明了测距的过程。
该图比较了单个802.11az链路模拟的真实多路径延迟配置文件和MUSIC估计延迟配置文件。
heRangingPlotDelayProfile ()
仿真参数
本例为多个迭代和信噪比点执行测距和定位模拟。在每次迭代中,AP和STA交换多个上行和下行报文。该示例通过将AP和STA之间的估计距离与已知距离进行比较,来估计每次迭代中AP和STA之间的测距误差。
指定网络中的迭代次数、SNR点和ap。为了估计一个STA的位置,网络中至少需要3个ap。对于每个迭代,使用不同的AP位置随机集、不同的信道实现和不同的AWGN配置文件。该示例通过使用来自所有迭代和所有STA-AP对的测距测量,为绝对测距误差生成一个累积分布函数(CDF)。
numIterations =50;迭代次数%snrRange =15:10:35;%信噪比点,以dB为单位numAPs =3.;% ap数量
802.11az波形配置
为每个AP和STA配置波形发生器。
chanBW =“CBW20”;通道带宽%numTx =2;%发射天线个数numRx =2;%接收天线个数numSTS =2;%时空流个数numLTFRepetitions =3.;HE-LTF重复次数%
配置STA的HE测距NDP参数。
cfgSTABase = heRangingConfig;cfgSTABase。ChannelBandwidth = chanBW;cfgSTABase。numtransmitantenna = numTx;cfgSTABase。SecureHELTF = true;cfgSTABase.User{1}。NumSpaceTimeStreams = numSTS;cfgSTABase.User{1}。NumHELTFRepetition = numLTFRepetitions; cfgSTABase.GuardInterval = 1.6;
配置ap的HE测距NDP参数。
cfgAPBase = cell(1,numAPs);为iAP = 1:numAPs cfgAPBase{iAP} = heRangingConfig;cfgAPBase {iAP}。ChannelBandwidth = chanBW;cfgAPBase {iAP}。numtransmitantenna = 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 = heRangingSampleRate(cfgSTABase);
通道配置
配置WLAN TGax多路径通道wlanTGaxChannel
系统对象™。这个System对象可以生成具有主要直接路径的通道,其中DLOS路径是最强路径,或者具有非主要直接路径的通道,其中存在DLOS路径,但不是最强路径。
delayProfile =“b型”;% TGax通道多路径延迟配置文件carrierFrequency = 5e9;%载波频率,单位为Hzspeeddoflight = physconst(“光速”);chanBase = wlanTGaxChannel;chanBase。DelayProfile = DelayProfile;chanBase。numtransmitantenna = numTx;chanBase。numreceiveantenna = numRx;chanBase。SampleRate = SampleRate; chanBase.CarrierFrequency = carrierFrequency; chanBase.ChannelBandwidth = chanBW; chanBase.PathGainsOutputPort = true; chanBase.NormalizeChannelOutputs = false;
获取信道滤波器延迟和路径数
chBaseInfo = info(chanBase);chDelay = chBaseInfo.ChannelFilterDelay;numPaths = size(chbaseinfo . pathdelayed,2);
包括测量
对所有STA-AP对运行多次迭代的测距模拟。显示每个信噪比点的测距平均绝对误差(MAE)和测距误差CDF。
delayULDL = 16e-6;% UL NDP ToA和DL NDP ToD之间的时间延迟,以秒为单位numSNR = nummel (snrRange);disest = 0 (numAPs,numIterations,numSNR);%估计距离距离= 0 (numAPs,numIterations,numSNR);%真实距离positionSTA = 0 (2,numIterations,numSNR);% STA二维位置positionAP = 0 (2 numAPs numIterations numSNR);% ap的二维位置per = 0 (numSNR,1);包错误率(PER)%parfor isnr = 1:numSNR %使用'parfor'加快模拟速度为isnr = 1:numSNR为每个parfor流使用单独的通道和波形配置对象chan = chanBase;cfgAP = cfgAPBase;cfgSTA = cfgSTABase;初始化测距错误和失败数据包总数变量rangingError = 0;failedPackets = 0;每次迭代设置随机子流索引,以确保每个子流的索引迭代使用一组可重复的随机数流= RandStream(“combRecursive”,“种子”, 123456);流。Substream = isnr;RandStream.setGlobalStream(流);定义每个有源子载波的信噪比,以考虑空噪声能量snrVal = snrRange(isnr) - 10*log10(ofdmInfo.FFTLength/ofdmInfo.NumTones);为iter = 1:numIterations生成随机AP位置[positionSTA(:,iter,isnr),positionAP(:,:,iter,isnr),distanceAllAPs] = heGeneratePositions(numAPs);distance(:,iter,isnr) = distanceAllAPs;%基于范围的延迟delay = distance(:,iter,isnr)/speedOfLight;sampleDelay = delay*sampleRate;循环遍历ap的数量为ap = 1:numAPs linkType = [“上行”,“下行”];UL NDP % ToD (t1)todUL = randsrc(1,1,0:1e-9:1e-6);用于UL和DL传输的%循环numLinks = nummel (linkType);txTime = 0 (1,numLinks);为l = 1:numLinks如果linkType (l) = =“上行”% STA到APcfgSTA。UplinkIndication = 1;% For UL为交换生成一个随机的安全HE-LTF序列cfgSTA.User{1}。SecureHELTFSequence = dec2hex(randsrc(1,10,(0:15)))';cfg = cfgSTA;其他的% AP到STA为交换生成一个随机的安全HE-LTF序列cfgAP{美联社}.User{1}。SecureHELTFSequence = dec2hex(randsrc(1,10,(0:15)))';cfg = cfgAP{ap};DL的%结束为UL和DL设置不同的通道,假设通道不是互反的重置(陈)生成HE测距NDP传输tx = heRangingWaveformGenerator(cfg);在发送波形中引入时间延迟(分数和整数)txDelay = heDelaySignal(tx,sampleDelay(ap));% Pad信号,并通过多径通道txMultipath = chan([txDelay; 0 (50,cfg. numtransmitantenna)]);%波形通过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) = NaN;结束结束如果~任何(isnan (txTime))如果报文检测成功UL波形% TOA (t2)toaUL = todUL + txTime(1);DL波形出发时间% (t3)toaUL + delayULDL;% TOA DL波形(t4)toaDL = todl + txTime(2);计算RTTrtt = (toaDL-todUL) - (todl - toaul);估计STA和AP之间的距离distEst(ap,iter,isnr) = (rtt/2)*speedOfLight;累积误差至MAErangingError = rangingError + abs(distanceAllAPs(ap) - distEst(ap,iter,isnr));其他的%表示报文检测失败distEst(ap,iter,isnr) = NaN;failedPackets = failedPackets + 1;结束结束结束mae = rangingError/((numAPs*numIterations) - failedPackets);% MAE表示数据包成功per(isnr) = failedPackets/(numAPs*numIterations);% /如果(每(isnr) > 0.01)只使用成功的数据包进行测距和定位警告(“wlan: discardPacket”,'在SNR = %d dB, %d%%的数据包被丢弃'snrRange (isnr), 100 * / (isnr));结束disp (['在SNR = 'num2str (snrRange (isnr)),“dB,”,'测距平均绝对误差= 'num2str(美),“米”。])结束
在信噪比= 15 dB时,测距平均绝对误差= 0.57082 m。在信噪比= 25 dB时,测距平均绝对误差= 0.40224 m。在信噪比= 35 dB时,测距平均绝对误差= 0.25439 m。
%重塑,将一个信噪比点内的所有数据包视为一个数据集rangingError =重塑(abs(距离- distEst),[numAPs*numIterations,numSNR]);hePlotErrorCDF (rangingError snrRange)包含(绝对测距误差(米))标题(“测距误差CDF”)
三边测量
利用距离估计值对观测站进行二维三边定位,然后利用观测站位置估计值计算每次迭代的定位均方根误差(RMSE)。显示每个信噪比点的平均RMSE及其CDF。
positionSTAEst = 0 (2,numIterations,numSNR);RMSE = 0 (numIterations,numSNR);为isnr = 1:numSNR为i = 1:numIterations positionSTAEst(:,i,isnr) = hePositionEstimate(挤压(positionAP(:,:,i,isnr)),挤压(distEst(:,i,isnr)));结束找到每一次迭代的RMSE,然后取所有RMSE的平均值RMSE =重塑(平方根(mean((positionSTAEst-positionSTA).^2),1)),[numIterations numSNR]);posEr = mean(RMSE(:,isnr),“所有”,“omitnan”);disp (['在SNR = 'num2str (snrRange (isnr)),“dB,”,'平均均方根误差= 'num2str(难题),“米”。])结束
在信噪比= 15 dB时,平均均方根误差= 0.61713 m。在信噪比= 25 dB时,平均均方根误差= 0.40481 m。在信噪比= 35 dB时,平均均方根误差= 0.26968 m。
snrRange hePlotErrorCDF (RMSE)包含(RMS定位误差(米))标题(定位误差CDF)
绘制上次迭代的位置估计值和三边圆。
hePlotTrilaterationCircles (positionAP (:,:, numIterations numSNR), positionSTAEst (:, numIterations numSNR),为(:,numIterations numSNR) snrRange (numSNR) numIterations);
结论
本示例展示如何使用IEEE®802.11az™标准的定位算法。具体示例演示了如何使用MUSIC超分辨率估计STA和AP之间的发送-接收距离,以及如何使用多个STA-AP对的测距测量在二维中定位STA。该示例通过计算多个信噪比点的定位估计,展示了在更高信噪比下定位系统性能的提高。
进一步的探索
除了信噪比外,一些重要参数也会影响定位性能,如HE-LTF重复、空间流的数量、更高的带宽和信道延迟分布。该图显示了HE-LTF重复对测距性能的影响。为了生成这个图,对一个model - b2运行一个更长的模拟,使用三个随机放置的ap和4000次迭代 2个20 MHz的MIMO通道,信噪比为20 dB。由图可知,测距误差随着HE-LTF重复次数的增加而减小。这是因为HE-LTF重复通过平均多个CFR估值有效地降低了CFR中的噪声。
该图显示了不同MIMO配置对测距性能的影响。为了生成这个图,运行一个更长的模拟,使用三个随机放置的ap和4000次迭代,以20 MHz的频率生成三个HE-LTF重复的测距包,并指定一个20 dB信噪比的Model-B通道。从图中可以看出,在高阶MIMO配置下,测距误差减小。这是因为高阶MIMO配置从不同的可用空间流产生更多的CFR快照。更多的CFR快照提供更好的相关矩阵估计,从而产生更好的ToA和距离估计。
相关的例子
基于802.11az指纹识别和深度学习的三维室内定位.通过使用深度学习工具箱和WLAN工具箱生成的IEEE 802.11az数据,训练卷积神经网络(CNN)进行定位和定位。
802.11az波形生成.参数化并生成IEEE 802.11az高效(HE)测距空数据包(NDP)波形,并突出该标准的一些关键特性。
参考文献
IEEE P802.11az™/D2.0信息技术标准草案。系统间的电信和信息交换。局域网和城域网。特殊要求。修改件3:定位的增强
IEEE P802.11ax™/D4.1信息技术标准草案。系统间的电信和信息交换。局域网和城域网。特殊要求。第11部分:无线局域网介质访问控制(MAC)和物理层(PHY)规范。修改件6:高效WLAN的增强。
李新荣和K. Pahlavan,“室内地理定位的超分辨率TOA估计”,《IEEE无线通信学报》,第3卷,第3期。1,页224-234,2004年1月,doi: 10.1109/TWC.2003.819035。