wlanNonHTDataRecover
恢复非高温数据
语法
描述
例子
恢复非ht数据位
创建一个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数据位
创建一个非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数据
配置非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))传说(“修改的信号”,“下垂应用”)
输入参数
rxSig
- - - - - -接收非ht数据场时域波形
复数矩阵
接收的非ht数据场时域波形,指定为大小的复值矩阵N年代——- - - - - -NR.
N年代为非ht数据域的时域样本数。如果你指定这个输入为一个矩阵N年代行,函数不使用第一个之后的冗余样本N年代.
NR接收天线数。
数据类型:双
复数支持:金宝app是的
胸部
- - - - - -渠道估算数据
复数的数组
通道估计数据,指定为大小的复值数组N圣-by-1-by -NR.
N圣是已占用子载波的数量。
NR接收天线数。
单例维对应于传统长训练场(L-LTF)中的单个传输流,其中包括如果发射机使用多天线的组合循环移位。
数据类型:双
复数支持:金宝app是的
noiseVarEst
- - - - - -噪声方差估计
负的标量
噪声方差估计,指定为非负标量。
例子:0.7071
数据类型:双
cfg
- - - - - -非高温传输参数
wlanNonHTConfig
对象
非高温传输参数,指定为awlanNonHTConfig
对象。
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:“PilotPhaseTracking”、“没有”
禁用导频相位跟踪。
OFDMSymbolOffset
- - - - - -OFDM符号采样偏移量
0.75
(默认)|区间[0,1]中的标量
OFDM符号采样偏移量表示为循环前缀(CP)长度的一个分数,指定为由逗号分隔的对组成“OFDMSymbolOffset”
和区间[0,1]中的标量。您指定的值指示OFDM解调相对于CP开始的开始位置0
表示CP的开始,值为1
表示CP的结束。
数据类型:双
EqualizationMethod
- - - - - -均衡方法
“患者”
(默认)|“ZF”
均衡方法,指定为这些值之一。
“患者”
—接收机采用最小均方误差均衡器。“ZF”
—接收机使用强制零均衡器。
当接收信号有多个接收天线时,该函数在均衡过程中利用接收机分集。当传输的时空流的数量为1时你指定这个参数为“ZF”
时,函数进行极大比组合。
数据类型:字符
|字符串
PilotPhaseTracking
- - - - - -先导相位跟踪
“PreEQ”
(默认)|“没有”
导频相位跟踪,指定为由逗号分隔的对组成“PilotPhaseTracking”
其中一个值。
“PreEQ”
-启用先导相位跟踪,该功能在任何均衡操作之前执行。“没有”
-禁用先导相位跟踪。
数据类型:字符
|字符串
PilotAmplitudeTracking
- - - - - -导频振幅跟踪
“没有”
(默认)|“PreEQ”
导频振幅跟踪,指定为逗号分隔对组成“PilotAmplitudeTracking”
其中一个值。
“没有”
-禁用导频振幅跟踪。“PreEQ”
-启用导频振幅跟踪,该功能在任何均衡操作之前执行。
请注意
由于所使用算法的限制,在通过MIMO衰落信道滤波波形时禁用导频振幅跟踪。
数据类型:字符
|字符串
输出参数
eqSym
-均衡符号
复数矩阵
均衡符号,作为大小的复值矩阵返回NSD——- - - - - -N信谊.
NSD是数据子载波的数量。
N信谊为非ht数据字段中OFDM符号的个数。
数据类型:双
复数支持:金宝app是的
cpe
-常见相位误差
实值列向量
常见相位误差,以弧度为单位,返回长度的实值列向量N信谊,非ht数据字段中OFDM符号的个数。这个输出是接收天线的平均值。
数据类型:双
scramInit
-恢复扰频器初始状态
区间[0,127]中的整数
恢复初始扰频器状态,作为间隔[0,127]中的整数返回。有关更多信息,请参见第17.3.5.5节[1].
数据类型:int8
ae
-平均振幅误差
实值数组
平均振幅误差,以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中引入R2022b:导频振幅跟踪
参数可以执行导频振幅跟踪PilotAmplitudeTracking
输入参数“PreEQ”
.平均振幅误差在输出参数中返回ae
.
1IEEE®Std 802.11-2012经IEEE许可改编和转载。版权所有IEEE 2012。版权所有。
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。