主要内容

wlanVHTDataRecover

从VHT-Data恢复部分字段

描述

例子

dataBits= wlanVHTDataRecover (rxDataSig,胸部,noiseVarEst,cfgVHT)复苏dataBits位的一个列向量,从rxDataSig的收到VHT-Data very-high-throughput (VHT)单用户传播。功能恢复dataBits通过使用胸部占领了副载波的信道估计,noiseVarEst、噪声方差的估计cfgVHT,一个配置对象,其中包含VHT传输参数。

VHT-Data领域的更多信息,请参阅VHT-Data领域

例子

dataBits= wlanVHTDataRecover (rxDataSig,胸部,noiseVarEst,cfgVHT,userIdx)复苏dataBits对于一个用户,由用户指定索引userIdx在VHT多用户传输。

dataBits= wlanVHTDataRecover (rxDataSig,胸部,noiseVarEst,cfgVHT,userIdx,numSTS)复苏dataBits一个用户在VHT多用户传输numSTS在传播的时空流。

例子

dataBits= wlanVHTDataRecover (___,名称,值)选项指定算法通过使用一个或多个名称-值对参数,除了从先前的语法任何输入参数组合。例如,“LDPCDecodingMethod”、“layered-bp”指定了分层的信念传播低密度奇偶校验(LDPC)解码算法。

(dataBits,crcBits)= wlanVHTDataRecover (___)返回VHT-SIG-B校验码,crcBits从先前的语法,使用任何输入参数组合。

(dataBits,crcBits,eqSym)= wlanVHTDataRecover (___)返回eqSym,平衡的OFDM符号组成的数据副载波VHT-Data领域,从以前的语法使用任何输入参数组合。

(dataBits,crcBits,eqSym,cpe)= wlanVHTDataRecover (___)返回cpe,收到之间的公共相位误差和预期的OFDM符号,从以前的语法使用任何输入参数组合。

例子

(dataBits,crcBits,eqSym,cpe,ae)= wlanVHTDataRecover (___)返回ae,平均振幅误差的估计收到飞行员。

例子

全部折叠

恢复部分从VHT-Data VHT波形传播领域虽然2 x2衰落信道利用信道估计在训练场上VHT长(VHT-LTF)。

配置一个VHT传输信道带宽的160 MHz,两个传输天线和两个传输路径。

cfgVHT = wlanVHTConfig (“ChannelBandwidth”,“CBW160”,“NumTransmitAntennas”2,“NumSpaceTimeStreams”2,“APEPLength”,512);

信号生成VHT-LTF和VHT-Data字段。

psduLength = 8 * cfgVHT.PSDULength;位=兰迪([0 1]psduLength 1);txLTF = wlanVHTLTF (cfgVHT);cfgVHT txDataSig = wlanVHTData(位);

传播波形通过2 x2准静态衰落信道的加性高斯白噪声(AWGN)。

信噪比= 10;H =复杂(randn (2, 2), randn (2, 2)) /√(2);rxLTF = awgn (txLTF * H,信噪比);rxDataSig = awgn (txDataSig * H,信噪比);

计算接收信号功率和噪声方差估计。

powerDB = 10 * log10 (var (rxDataSig));noiseVarEst =意味着(10 ^ (0.1 * (powerDB-snr)));

执行基于VHT-LTF信道估计。

信谊= wlanVHTLTFDemodulate (rxLTF cfgVHT 1);胸部= wlanVHTLTFChannelEstimate(信谊,cfgVHT);

恢复从接收到的比特VHT-Data字段和确认收到位匹配传输位。

dataBits = wlanVHTDataRecover (rxDataSig、胸部、noiseVarEst cfgVHT);dataBits numErr = biterr(位)
numErr = 0

恢复部分从VHT-Data VHT多用户传输领域从衰落中恢复MU-MIMO VHT-LTF通道通过信道估计。

这个例子可以返回高误比特率,因为传输不包括预编码来减轻时空流之间的干扰。然而,这个例子显示了一个典型的VHT信号恢复工作流和适当的语法使用的函数。

配置一个VHT传输信道带宽的160 MHz,两个用户,四发射天线。一个时空流分配给第一个用户和三个时空流到第二个用户。

生化武器=“CBW160”;numSTS = [1 3];cfgVHT = wlanVHTConfig (“ChannelBandwidth”生化武器,“NumUsers”2,“NumTransmitAntennas”4“NumSpaceTimeStreams”,numSTS);

为每个用户生成一个有效载荷的比特。这个有效载荷必须在1 -N单元阵列,N用户的数量。

psduLength = 8 * cfgVHT.PSDULength;numUsers = cfgVHT.NumUsers;位=细胞(1、2);ν= 1:numUsers位{ν}=兰迪([0,1],psduLength(ν),1);结束

生成VHT-LTF和VHT-Data磁场信号。

txLTF = wlanVHTLTF (cfgVHT);cfgVHT txDataSym = wlanVHTData(位);

VHT-Data领域第一用户信号穿过4 x1频道,因为这个信号由一个单一时空流。VHT-Data字段为第二个用户数据通过一个4 x3频道,因为这个信号包括三个时空流。情况下适用于每一个信号,如果15分贝的信噪比。

信噪比= 15;H{1} =复杂(randn (4,1), randn (4,1)) /√(2);H{2} =复杂(randn (4,3), randn (4,3)) /√(2);数量= 0 (2,1);率= 0 (2,1);userIdx = 1: numUsers rxDataSym = awgn (txDataSym * H {userIdx},信噪比,“测量”);

应用相同的通道处理VHT-LTF为每个用户。

rxLTF = awgn (txLTF * H {userIdx},信噪比,“测量”);

计算每个用户的接收信号功率和噪声方差估计。

powerDB = 10 * log10 (var (rxDataSym));noiseVarEst =意味着(10 ^ (0.1 * (powerDB-snr)));

通过使用VHT-LTF估计信道特性。

解调= wlanVHTLTFDemodulate(生化武器,rxLTF numSTS);胸部= wlanVHTLTFChannelEstimate(解调、生化武器、numSTS);

恢复从接收到的比特VHT-Data现场为每个用户和确定的比特误码率比较位与原载荷位中恢复过来。

dataBits = wlanVHTDataRecover (rxDataSym、胸部、noiseVarEst、cfgVHT userIdx);(数量(userIdx)比(userIdx)] = biterr(位{userIdx}, dataBits);disp(数量(userIdx) disp(比率(userIdx))结束
4269年
0.5082
2444年
0.0968

恢复从VHT VHT-Data场信号的传输比特从输出中恢复使用zero-forcing AWGN信道均衡算法。

配置一个VHT传输和生成VHT-Data字段的随机载荷。

cfgVHT = wlanVHTConfig (“APEPLength”,512);psduLength = 8 * cfgVHT.PSDULength;位=兰迪([0 1]psduLength 1);cfgVHT txDataSig = wlanVHTData(位);

通过通过AWGN信道传输。

信噪比= 10;rxDataSig = awgn (txDataSig,信噪比);

恢复有效载荷部分使用一个完美的信道估计的所有的和zero-forcing均衡。

胸部= 1 (242 1);noiseVarEst = 10 ^(信噪比/ 10);[dataBits, crcBits eqSym, cpe] = wlanVHTDataRecover (rxDataSig、胸部、noiseVarEst cfgVHT,“EqualizationMethod”,“ZF”);

验证恢复信号不包含一些错误。

dataBits数量= biterr(位)
数量= 0

显示VHT-Data CRC校验和字段。

disp (crcBits”)
1 1 0 1 0 1 1 0

计算和显示的最大公共相位误差。

马克斯(abs (cpe))
ans = 0.2828

研究如何应用一个振幅下垂影响VHT-Data场的振幅误差来自VHT信号。

配置一个VHT传输使用默认参数,然后生成相应的VHT-Data字段。

cfgVHT = wlanVHTConfig;psduLength = 8 * cfgVHT.PSDULength;位=兰迪([0 1]psduLength 1);tx = wlanVHTData(比特,cfgVHT);

修改信号通过应用10 dB的振幅下垂,中途开始。

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

指定一个信道估计。

胸部= 1 (242 1);

恢复理想和受损的比特VHT-Data字段和确认恢复位匹配传输位。

[databits_1, crcBits_1 eqSym_1、cpe_1 ae_1] = wlanVHTDataRecover (tx,胸部,0 cfgVHT EqualizationMethod =“ZF”PilotAmplitudeTracking =“PreEQ”);[databits_2, crcBits_2 eqSym_2、cpe_2 ae_2] = wlanVHTDataRecover (txDroop、胸部、0 cfgVHT EqualizationMethod =“ZF”PilotAmplitudeTracking =“PreEQ”);isequal (databits_1 databits_2,比特)
ans =逻辑1

情节振幅测量误差的绝对值的理想和受损VHT-Data字段。

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

图包含一个坐标轴对象。坐标轴对象标题平均振幅误差与OFDM符号索引包含2线类型的对象。这些对象表示修改的信号,下垂。

输入参数

全部折叠

收到VHT-Data字段中,指定为复值数组的大小N年代——- - - - - -NR

  • N年代是一个整数的数量大于或等于时域样本。

  • NR是接收天线的数量。

请注意

流程一PPDU数据字段条目的函数。如果您指定N年代值大于字段长度,函数并不处理额外的样品的rxDataSig。处理一个连接PPDU流数据字段,你必须多次调用该函数。

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

占领了副载波信道估计,指定为复值数组的大小N——- - - - - -NSTS——- - - - - -NR

  • N是被占领的副载波的数量,取决于哪一个ChannelBandwidth财产的cfgVHT输入依照这个表。

    的价值ChannelBandwidth财产 的价值N
    “CBW20” 56
    “CBW40” 114年
    “CBW80” 242年
    “CBW160” 484年

  • NSTS时空流的数量,必须匹配NumSpacetimeStreams财产的cfgVHT输入。对于多用户传输,NSTS的总数是时空流为所有用户。

  • NR是接收天线的数量。

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

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

数据类型:

VHT传输配置,指定为一个wlanVHTConfig对象。

用户指数,指定为一个整数在区间[1,N用户),N用户在传输的用户总数。

数量的时空流。

  • 对于单用户传输,指定这个输入的整数区间[1,4]

  • 对于多用户传输,指定这个输入整数的一个行向量长度的区间[1,4]N用户,在那里N用户在传输的用户总数。

例子:(1 2 3)显示的数量时空三个用户传输流。在这种情况下,传输分配一个,三个,两个时空流第一,第二,第三用户,分别。

请注意

这个属性的元素的总和不得超过8。

数据类型:

名称-值参数

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

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:“PilotPhaseTracking”、“没有”禁用试点阶段跟踪。

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

数据类型:

均衡方法,指定为逗号分隔组成的“EqualizationMethod”和其中一个值。

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

  • “ZF”——zero-forcing均衡器接收机使用。

当接收到的信号有多个接收天线,在均衡函数利用接收机的多样性。当传播时空流的数量是你指定这个参数之一“ZF”,函数执行最大比合并。

请注意

这个参数指定为“ZF”当这些条件适用。

  • NumSpaceTimeStreams财产的cfgVHT输入是1

  • NumSpaceTimeStreams摘要的属性cfgVHT输入是21(真正的),分别。

数据类型:字符|字符串

试点阶段跟踪指定为逗号分隔组成的“PilotPhaseTracking”和其中一个值。

  • “PreEQ”试点阶段启用跟踪,函数执行之前均衡操作。

  • “没有”试点阶段,禁用跟踪。

数据类型:字符|字符串

飞行员振幅跟踪指定为逗号分隔组成的“PilotAmplitudeTracking”和其中一个值。

  • “没有”——禁用飞行员振幅跟踪。

  • “PreEQ”——允许飞行员振幅跟踪,函数执行之前均衡操作。

请注意

由于算法的局限性,禁用飞行员振幅跟踪滤波波形时通过一个MIMO衰落信道。

数据类型:字符|字符串

LDPC译码算法,指定为逗号分隔组成的“LDPCDecodingMethod”和其中一个值。

  • “英国石油公司”——使用信念传播(BP)解码算法。有关更多信息,请参见信仰传播解码

  • “layered-bp”使用分层的BP译码算法,适合刻画奇偶校验矩阵(吸附)。有关更多信息,请参见分层的信念传播解码

  • “norm-min-sum”——使用分层的BP译码算法与规范化min-sum近似。有关更多信息,请参见规范化Min-Sum解码

  • “offset-min-sum”——使用分层的BP译码算法抵消min-sum近似。有关更多信息,请参见抵消Min-Sum解码

请注意

当你指定这个输入“norm-min-sum”“offset-min-sum”(LLR),函数集输入对数似然比的值大于1 e10汽油或小于1 e10汽油1 e10汽油1 e10汽油,分别。然后使用这些值的函数在执行LDPC译码算法。

依赖关系

要启用这个论点,设置ChannelCoding财产的cfgVHT输入“方法”相对应的用户userIdx输入。

数据类型:字符|字符串

比例因子归一化min-sum LDPC译码,指定为逗号分隔组成的“MinSumScalingFactor”和一个标量间隔(0,1)。

依赖关系

要启用这个论点,指定LDPCDecodingMethod名称-值对的论点是“norm-min-sum”

数据类型:

抵消抵消min-sum LDPC译码,指定为逗号分隔组成的“MinSumOffset”和一个负的标量。

依赖关系

要启用这个论点,指定LDPCDecodingMethod名称-值对的论点是“offset-min-sum”

数据类型:

最大数量的LDPC译码迭代,指定为逗号分隔组成的“MaximumLDPCIterationCount”和一个正整数。

依赖关系

要启用这个论点,设置ChannelCoding财产的cfgVHT输入“方法”相对应的用户userIdx输入。

数据类型:

使LDPC译码的早期终止,指定为逗号分隔组成的“EarlyTermination”1(真正的)或0()。

  • 当你将这个值设置为0(),LDPC译码完成指定的迭代次数“MaximumLDPCIterationCount”不管奇偶校验状态。

  • 当你将这个值设置为1(真正的),LDPC译码终止当所有奇偶校验检查满意。

依赖关系

要启用这个论点,设置ChannelCoding财产的cfgVHT输入“方法”相对应的用户userIdx输入。

数据类型:逻辑

输出参数

全部折叠

位从VHT-Data字段中恢复过来,作为一个列向量的长度8×返回lPSDU,在那里lPSDU在字节PSDU的长度。

数据类型:int8

VHT-SIG-B校验和位,作为binary-valued返回列向量的长度8。

数据类型:int8

平衡的OFDM符号组成VHT-Data领域,作为复值返回数组的大小NSD——- - - - - -N信谊——- - - - - -N党卫军

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

  • N信谊是VHT-Data OFDM符号的数量。

  • N党卫军是空间的数量流。当摘要财产的cfgVHT输入是0(),N党卫军等于NSTS在传播的时空流。当摘要财产的cfgVHT输入是0(),N党卫军等于NSTS/ 2

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

常见的接收和预期之间的相位误差OFDM符号,在弧度,作为实值返回列向量。这个输出的长度N信谊在VHT-Data领域,OFDM符号的数量。这个输出的平均接收天线。

数据类型:

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

  • N信谊是VHT-Data OFDM符号的数量。

  • NR是接收天线的数量。

这个矩阵的每个元素包含所有副载波的振幅误差对相应的估计收到飞行员OFDM符号和接收天线。

数据类型:

更多关于

全部折叠

VHT-Data领域

VHT-Data领域有一个或多个帧的介质访问控制(MAC)层。这个字段遵循VHT-SIG-B字段VHT PPDUs。

VHT-Data字段的详细描述,请参阅部分21.3.10 IEEE®性病802.11™-2016。VHT数据字段包含四个分支学科。

  • 服务领域——包含了七位扰频器初始化状态,一点留给未来的考虑,和八个比特VHT-SIG-B循环冗余校验(CRC)

  • PSDU——变长字段包含一个PLCP服务数据单元

  • 体育垫——变量传递给发射机的比特数来创建一个完整的OFDM符号

  • 尾巴位要求终止卷积码(不需要传输时使用LDPC信道编码)

算法

全部折叠

这个函数支持这四种LDPC译金宝app码算法。

信仰传播解码

这个函数实现了BP算法在基于解码算法[2]。为传播LDPC-encoded码字 c = ( c 0 , c 1 , , c n 1 ) LDPC译码器的输入是LLR给出的

l ( c ) = 日志 ( 公关 ( c = 0 | 通道输出 c ) 公关 ( c = 0 | 通道输出 c ) )

在每个迭代中,函数更新算法的关键组件基于这些方程:

l ( r j ) = 2 atanh ( V j \ { } 双曲正切 ( 1 2 l ( j ) ) ) ,

l ( j ) = l ( c ) + j C \ { j } l ( r j ) ,初始化 l ( j ) = l ( c ) 在第一次迭代之前,

l ( ) = l ( c ) + j C l ( r j )

在每个迭代的末尾, l ( ) 是一个更新的估计的LLR值传播, c 。的值 l ( ) 不痒的决定输出吗 c 。如果 l ( ) 是负的,艰难的决定输出 l ( ) 是1。否则,输出是0。

指标集 C \ { j } V j \ { } 基于PCM这样设置吗 C V j 对应列的所有非零元素和行j分别的PCM。

这个图展示了如何计算这些指标集PCM H 的情况下= 5,j= 3。

为了避免无限的数字算法方程,atanh(1)和atanh(1)设置为19.07和-19.07,分别。由于有限的精度,MATLAB®返回1为双曲正切(19.07)和1双曲正切(-19.07)。

当你指定EarlyTermination名称-值对的论点是0(),解码后终止指定的迭代的数量MaximumLDPCIterationCount名称-值对的论点。当你指定EarlyTermination名称-值对的论点是1(真正的),解码时终止所有奇偶校验检查满意( H c T = 0 )或在指定的迭代的数量MaximumLDPCIterationCount名称-值对的论点。

分层的信念传播解码

这个函数实现了分层的BP算法基于第二部分中给出的解码算法。一个的[3]。解码循环遍历(层)的PCM的行子集。

对于每一行,在一层和每一位指数,j,实现更新算法的关键组件基于这些方程。

(1) l ( j ) = l ( j ) R j

(2) Ψ ( x ) = 日志 ( | 双曲正切 ( x / 2 ) | )

(3) 一个 j = n N ( ) \ { j } Ψ ( l ( n ) )

(4) 年代 j = n N ( ) \ { j } 胡志明市 ( l ( n ) )

(5) R j = 年代 j Ψ ( 一个 j )

(6) l ( j ) = l ( j ) + R j

每一层的解码方程(6)从当前LLR获得合并后的输入工作投入, l ( j ) 上一层,更新, R j

由于分层的BP算法更新只在一层节点的一个子集,该算法比BP算法快。达到相同的误码率达到与BP译码,使用解码迭代数的一半当使用分层的BP算法。

规范化Min-Sum解码

函数实现了规范化min-sum解码算法遵循分层的BP算法与公式(3)所取代

一个 j = 最小值 n N ( ) \ { j } ( α | l ( n ) | ) ,

在哪里α指定的比例因子吗MinSumScalingFactor名称-值对的论点。这个方程是一个改编的方程(4)了[4]

抵消Min-Sum解码

函数实现了抵消min-sum解码算法遵循分层的BP算法与公式(3)所取代

一个 j = 马克斯 ( 最小值 n N ( ) \ { j } ( | l ( n ) | β ) , 0 ) ,

在哪里β指定的偏移量吗MinSumOffset名称-值对的论点。这个方程是一个适应的方程(5)中给出[4]

引用

[1]IEEE Std 802.11 - -2020(-2016年修订IEEE Std 802.11)。“第11部分:无线局域网介质访问控制(MAC)和物理层规范(体育)。“IEEE标准信息技术——电信和信息交换系统之间-本地和市区网络特定的需求。

[2]Gallager,罗伯特·G。低密度奇偶校验码。剑桥,麻州:麻省理工学院出版社,1963年。

[3]Hocevar D.E.“减少复杂性解码器架构通过分层LDPC码解码”。InIEEE车间在信号处理系统中,2004年。口2004107 - 12。美国得克萨斯州奥斯汀市:IEEE 2004。https://doi.org/10.1109/SIPS.2004.1363033

[4]京沪Chen .坦纳、c·琼斯和燕。“改进Min-Sum不规则LDPC码的译码算法”。In程序。信息理论国际研讨会,2005。2005年有更深的了解449 - 53年,2005年。https://doi.org/10.1109/ISIT.2005.1523374

扩展功能

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

版本历史

介绍了R2015b

全部展开