主要内容

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

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

介绍

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

  • HE测距空数据包(NDP)

  • 基于HE触发器(TB)测距NDP

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

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

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

包的传输和接收

本示例通过执行以下步骤对STA和ap之间的度量交换进行建模。

  1. 生成测距NDP

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

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

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

  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)传输。随后,美联社掌握了时间 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)路径

这个图表说明了测距过程。

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

heRangingPlotDelayProfile ()

图中包含一个坐标轴。轴与标题延迟剖面(40 MHz,模型b, 35 dB信噪比,SISO)包含3个对象的类型干,线。这些对象分别代表True delay profile, MUSIC estimate, Estimated ToA。

仿真参数

本例对多个迭代和信噪比点进行测距和定位仿真。每次迭代时,AP和STA之间会交换多个上行和下行报文。该示例通过将AP和STA之间的估计距离与已知距离进行比较,来估计每个迭代中AP和STA之间的测距误差。

指定网络中的迭代次数,SNR点和AP。为了估计STA的位置,网络至少需要三个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重复数

2 .配置STA的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的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 = heRangingSampleRate (cfgSTABase);

通道配置

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

delayProfile ='model-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 = zeros(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(流);定义每个有源副载波的信噪比,以考虑噪声能量为零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延迟;%循环APs个数ap = 1:numAPs linkType = [“上行”“下行”];UL NDP的ToD % (t1)todUL = randsrc (1, 1, 0:1e-9:1e-6);% Loop为UL和DL传输numLinks =元素个数(linkType);numLinks txTime = 0 (1);l = 1: numLinks如果linkType (l) = =“上行”STA到AP %cfgSTA。UplinkIndication = 1;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{美联社};%为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”'At SNR = %d dB, %d%%的包被丢弃'snrRange (isnr), 100 * / (isnr));结束disp (['At SNR = 'num2str (snrRange (isnr)),“数据库”,'测距平均绝对误差= ',num2str(mae),“米”。])结束
在信噪比为15 dB时,测距平均绝对误差为0.57082米。在信噪比= 25 dB时,测距平均绝对误差= 0.40224米。在信噪比为35 dB时,测距平均绝对误差为0.25439米。
%重塑,将一个信噪比点内的所有包视为一个数据集rangingError =重塑(abs(distance - distEst),[numAPs*numIterations,numSNR]);hePlotErrorCDF (rangingError snrRange)包含(“绝对测距误差(米)”)标题(“测距误差提供”

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

三边测量

利用距离估计在两个维度上对STA进行三边测量,然后利用STA位置估计计算每个迭代的定位均方根误差(RMSE)。显示每个信噪比点的平均均方根误差及其CDF。

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

图中包含一个坐标轴。标题为“定位误差CDF”的轴包含3个类型为line的对象。这些对象表示信噪比:15 dB,信噪比:25 dB,信噪比:35 dB。

绘制最后一次迭代的位置估计和三边测量圈。

heplottrilaterationcircles(positionap(:,:,numitorations,numsnr),positionstaest(:,numitorations,numsnr),distest(:,num erritations,numsnr),snrrange(numsnr),numiterations);

图中包含一个坐标轴。对于第50次迭代,标题节点位置为35 dB的轴包含6个类型为line的对象。这些物体代表AP位置,STA位置,估计STA位置,三边测量圈。

结论

这个例子展示了如何使用IEEE®802.11az™标准的定位算法。具体来说,该示例演示了如何利用MUSIC超分辨率估计STA和AP之间的收发距离,以及如何利用多个STA-AP对的测距测量在二维空间定位STA。算例表明,通过计算多个信噪比点的定位估计,定位系统在较高信噪比下的性能有所提高。

进一步的探索

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

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

相关的例子

参考

  1. IEEE P802.11az™/D2.0信息技术标准草案。系统之间的电信和信息交换。

  2. IEEE P802.11ax™/ D4.1信息技术标准草案——电信和信息交换系统之间-本地和市区网络特定需求-第11部分:无线局域网介质访问控制(MAC)和物理层(体育)规范-第六修正案:高效WLAN的增强。

  3. 李新荣和K. Pahlavan,“基于多样性的超分辨率TOA估计”,《IEEE无线通信学报》,第3卷,第3期。1,页224-234,2004年1月,doi: 10.1109/TWC.2003.819035。