主要内容

wlanNonHTDataRecover

恢复非高温数据

描述

例子

recData= wlanNonHTDataRecover (rxSig胸部noiseVarEstcfg复苏非高温数据字段1接收到的时域波形的位rxSig,信道估计数据胸部,噪声方差估计noiseVarEst、非高通量(non-HT)传输参数cfg

请注意

本功能仅支持OFDM调制的数据恢复。金宝app

例子

recData= wlanNonHTDataRecover (rxSig胸部noiseVarEstcfg名称,值除了前面语法中的输入外,还使用一个或多个名称-值对参数指定恢复算法参数。

recDataeqSym= wlanNonHTDataRecover(___返回恢复后的均衡符号。

recDataeqSymcpescramInit= wlanNonHTDataRecover(___返回恢复的共同相位错误cpe和初始扰频器状态scramInit

例子

recDataeqSymcpescramInitae= wlanNonHTDataRecover(___返回ae,相对于估计接收导频的平均振幅误差。

例子

全部折叠

创建一个PSDU长度为2048字节的非ht配置对象。生成相应的数据序列。

cfg = wlanNonHTConfig(“PSDULength”, 2048);txBits = randi([0 1],8*cfg.PSDULength,1);txSig = wlanNonHTData(txBits,cfg);

将信号通过信噪比为15 dB的AWGN信道传递。

rxSig = awgn(txSig,15);

恢复数据,判断误码数。

rxBits = wlanNonHTDataRecover(rxSig,ones(52,1),0.05,cfg);[number r,ber] = biterr(rxBits,txBits)
数字= 0
Ber = 0

创建一个非ht配置对象,指定PSDU长度为1024字节。生成相应的非ht数据序列。

cfg = wlanNonHTConfig(“PSDULength”, 1024);txBits = randi([0 1],8*cfg.PSDULength,1);txSig = wlanNonHTData(txBits,cfg);

将信号通过信噪比为10 dB的AWGN信道传递。

rxSig = awgn(txSig,10);

使用强制零算法恢复数据,并确定误码数。

chanEst = ones(52,1);noiseVarEst = 0.1;rxBits = wlanNonHTDataRecover(rxSig,chanEst,noiseVarEst,cfg,“EqualizationMethod”“ZF”);[number r,ber] = biterr(rxBits,txBits)
数字= 0
Ber = 0

配置非ht数据对象。

cfg = wlanNonHTConfig;

生成并传输一个非ht PSDU。

txPSDU = randi([0 1],8*cfg.PSDULength,1);txSig = wlanNonHTData(txPSDU,cfg);

生成用于信道估计的L-LTF。

txLLTF = wlanLLTF(cfg);

创建一个802.11g信道,最大多普勒频移为3hz, RMS路径延迟为100ns。禁用过滤前重置选项,以便L-LTF和数据字段使用相同的通道实现。

ch802 = com . rayleighchannel (“SampleRate”, 20 e6,“MaximumDopplerShift”3,“PathDelays”100 e-9);

将L-LTF和数据信号通过带有AWGN的802.11g信道传递。

rxLLTF = awgn(ch802(txLLTF),10);rxSig = awgn(ch802(txSig),10);

对L-LTF进行解调,并用它来估计衰落信道。

dLLTF = wlanLLTFDemodulate(rxLLTF,cfg);chEst = wlanLLTFChannelEstimate(dLLTF,cfg);

使用L-LTF信道估计恢复非ht数据,并确定传输数据包中的误码数。

rxPSDU = wlanNonHTDataRecover(rxSig,chEst,0.1,cfg);[number r,ber] = biterr(txPSDU,rxPSDU)
数字= 0
Ber = 0

研究施加振幅垂如何影响由非高温信号产生的非高温数据场的振幅误差。

使用默认参数配置非高温传输,生成对应的非高温数据字段。

cfgNonHT = wlanNonHTConfig;psduLength = 8*cfgNonHT.PSDULength;bits = randi([0 1],psduLength,1);tx = wlanNonHTData(bits,cfgNonHT);

修改信号通过应用振幅下降10分贝,从中间点开始。

signalLength = size(tx,1);droopGain = 10;droopGainLinear = 10^(droopGain/20);txDroop = [ones(signalLength/2,1);droopGainLinear * (signalLength / 2,1)]。* tx;

指定信道估计。

胸围= 1 (52,1);

从理想的和受损的non-HT Data字段中恢复位,并确认恢复的位与传输的位匹配。

[databits_1, eqSym_1, cpe_1,超压超压,ae_1] = wlanNonHTDataRecover(tx, chEst, 0, cfgNonHT, EqualizationMethod=“ZF”, PilotAmplitudeTracking =“PreEQ”);[databits_2, eqSym_2, cpe_2,超燃码超燃码,ae_2] = wlanNonHTDataRecover(txDroop, chEst, 0, cfgNonHT, EqualizationMethod=“ZF”, PilotAmplitudeTracking =“PreEQ”);Isequal (databits_1, databits_2, bits)
ans =逻辑1

绘制理想和受损非高温数据场的测量振幅误差绝对值。

情节(abs (ae_1))标题(平均振幅误差与OFDM符号索引) ylabel (平均振幅误差(dB))包含(OFDM符号索引) ylim([-50 50]情节(abs (ae_2))传说(“修改的信号”“下垂应用”

图中包含一个轴对象。标题为Average amplitude error vs. OFDM符号索引的坐标轴对象包含2个类型为line的对象。这些对象表示未修改的信号,应用了Droop。

输入参数

全部折叠

接收的非ht数据场时域波形,指定为大小的复值矩阵N年代——- - - - - -NR

  • N年代为非ht数据域的时域样本数。如果你指定这个输入为一个矩阵N年代行,函数不使用第一个之后的冗余样本N年代

  • NR接收天线数。

数据类型:
复数支持:金宝app是的

通道估计数据,指定为大小的复值数组N-by-1-by -NR

  • N是已占用子载波的数量。

  • NR接收天线数。

单例维对应于传统长训练场(L-LTF)中的单个传输流,其中包括如果发射机使用多天线的组合循环移位。

数据类型:
复数支持:金宝app是的

噪声方差估计,指定为非负标量。

例子:0.7071

数据类型:

非高温传输参数,指定为awlanNonHTConfig对象。

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:“PilotPhaseTracking”、“没有”禁用导频相位跟踪。

OFDM符号采样偏移量表示为循环前缀(CP)长度的一个分数,指定为由逗号分隔的对组成“OFDMSymbolOffset”和区间[0,1]中的标量。您指定的值指示OFDM解调相对于CP开始的开始位置0表示CP的开始,值为1表示CP的结束。

数据类型:

均衡方法,指定为这些值之一。

  • “患者”—接收机采用最小均方误差均衡器。

  • “ZF”—接收机使用强制零均衡器。

当接收信号有多个接收天线时,该函数在均衡过程中利用接收机分集。当传输的时空流的数量为1时你指定这个参数为“ZF”时,函数进行极大比组合。

数据类型:字符|字符串

导频相位跟踪,指定为由逗号分隔的对组成“PilotPhaseTracking”其中一个值。

  • “PreEQ”-启用先导相位跟踪,该功能在任何均衡操作之前执行。

  • “没有”-禁用先导相位跟踪。

数据类型:字符|字符串

导频振幅跟踪,指定为逗号分隔对组成“PilotAmplitudeTracking”其中一个值。

  • “没有”-禁用导频振幅跟踪。

  • “PreEQ”-启用导频振幅跟踪,该功能在任何均衡操作之前执行。

请注意

由于所使用算法的限制,在通过MIMO衰落信道滤波波形时禁用导频振幅跟踪。

数据类型:字符|字符串

输出参数

全部折叠

恢复物理层收敛过程(PLCP)业务数据单元(PSDU)位,返回为长度为8 ×的二进制值列向量l,在那里l是值PSDULength的属性cfg输入。

数据类型:int8

均衡符号,作为大小的复值矩阵返回NSD——- - - - - -N信谊

  • NSD是数据子载波的数量。

  • N信谊为非ht数据字段中OFDM符号的个数。

数据类型:
复数支持:金宝app是的

常见相位误差,以弧度为单位,返回长度的实值列向量N信谊,非ht数据字段中OFDM符号的个数。这个输出是接收天线的平均值。

数据类型:

恢复初始扰频器状态,作为间隔[0,127]中的整数返回。有关更多信息,请参见第17.3.5.5节[1]

数据类型:int8

平均振幅误差,以dB为单位,作为大小的实值数组返回N信谊——- - - - - -NR

  • N信谊为HT-Data字段中OFDM符号的个数。

  • NR接收天线数。

该矩阵的每个元素包含所有子载波相对于相应OFDM符号和接收天线的估计接收导频的幅度误差。

数据类型:

更多关于

全部折叠

非高温数据字段

non-high throughput Data (non-HT Data)字段用于传输MAC帧,由service字段、PSDU、tail bits和pad bits组成。

  • 服务领域—包含16个0,用于初始化扰码器。

  • PSDU—可变长字段,包含PLCP服务数据单元PSDU (service data unit)。

  • 尾巴-终止卷积码所需的尾位。该字段对单个编码流使用6个零。

  • 垫块—变长字段,确保非ht数据字段包含整数个符号。

参考文献

[1] IEEE Std 802.11™-2020 (IEEE Std 802.11-2016修订版)。第11部分:无线局域网介质访问控制(MAC)和物理层(PHY)规范信息技术IEEE标准。系统间的电信和信息交换。局域网和城域网。特殊要求。

扩展功能

C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。

版本历史

在R2015b中引入

全部展开


1IEEE®Std 802.11-2012经IEEE许可改编和转载。版权所有IEEE 2012。版权所有。