主要内容

生成VHT多用户波形

这个示例演示了如何从单个组件生成VHT多用户波形。它还演示了如何通过使用wlanWaveformGenerator函数。

创建VHT配置对象,指定三个用户和三个发射天线。

vht = wlanVHTConfig (“NumUsers”,3,'numtransmitantennas'3);

将时空流的数量设置为向量(1 1 1),表示为每个用户分配一个时空流。设置用户位置为[0 1 2].设置群组ID为5。组ID取值范围为1 ~ 62,表示多用户操作。

vht。NumSpaceTimeStreams = [1 1 1];vht。用户位置= [0 1 2];vht。GroupID = 5;

为每个用户设置不同的MCS值。

vht。MCS = [0 2 4];

设置APEP长度分别为2000、1400和1800字节。每个元素对应分配给每个用户的字节数。

vht。APEPLength = [2000 1400 1800]
vht = wlanVHTConfig属性:ChannelBandwidth:“CBW80”NumUsers: 3 UserPositions: [0 1 2] NumTransmitAntennas: 3 NumSpaceTimeStreams: [1 1 1] SpatialMapping:“直接”MCS: [0 2 4] ChannelCoding:“BCC”APEPLength: [2000 1400 1800] GuardInterval:多头GroupID: 5只读属性:PSDULength: (2000 6008 12019)

显示三个用户的PSDU长度。PSDU长度是APEP长度和MCS值的函数。

vht。PSDULength
ans =1×32000 6008 12019

显示VHT波形的字段索引。

印第安纳州= wlanFieldIndices (vht)
IND =结构体字段:LSTF:[1140] LLTF:[641 1280] LSIG:[1281 1600] VHTSTFA:[2241 2560] VHTLTF:[2561 3840] VHTLTF:[3841 4160] VHTDATA:[4161 48000]

创建组成VHT波形的单个字段。

lstf = wlanLSTF (vht);lltf = wlanLLTF (vht);lsig = wlanLSIG (vht);[vhtsigA, sigAbits] = wlanVHTSIGA (vht);vhtstf = wlanVHTSTF (vht);vhtltf = wlanVHTLTF (vht);[vhtsigB, sigBbits] = wlanVHTSIGB (vht);

提取前两个VHT-SIG-A信息位并将它们转换为等价的十进制数。

BW = Bi2de(双(锡伯茨(1:2)')))
bw = 2

值2对应于80 MHz的带宽(参见wlanVHTSIGA).

提取VHT-SIG-A信息位5到10,并将其转换为等价的十进制数。

groupid = bi2de(双(sigAbits (5:10)))
groupid = 5

提取的组ID 5与VHT配置对象中的相应属性相匹配。

从VHT-SIG-B信息位中提取数据包长度。对于80mhz带宽的多用户操作,前19位包含APEP长度信息。将字段长度转换为等价的十进制数。因为VHT-SIG-B字段的长度以4字节为单位,所以需要乘以4。

pktLen = bi2de(双(sigBbits 1:19,: ')) * 4
pktlen =3×12000 1400 1800

确认提取的APEP长度与配置对象中的值匹配。

isequal (vht.APEPLength pktLen”)
ans =逻辑1

从VHT-SIG-B信息比特中提取MCS值。MCS组件由位20到23指定。

mcs = bi2de(双(sigBbits (20:23,:)))
mcs =3×10 2 4

这些值对应于VHT配置对象中设置的值。

创建三个数据序列,每个用户一个。

d1 = randi([0 1],vht.psdulength(1)* 8,1);d2 = randi([0 1],vht.psdulength(2)* 8,1);d3 = randi([0 1],vht.psdulength(3)* 8,1);

使用这些数据序列生成VHT数据字段。

vhtdata = wlanVHTData({d1 d2 d3},vht);

禁用开窗时生成多用户VHT波形。从波形中提取数据字段。

wv = wlanWaveformGenerator({d1 d2 d3},vht,“WindowTransitionTime”, 0);wvdata = wv (ind.VHTData (1): ind.VHTData (2):);

确认两代方法产生相同的结果。

isequal (vhtdata wvdata)
ans =逻辑1

通过绘制其幅度来可视化波形。

t =((1:长度(西弗吉尼亚州))1)/ 80 e6;情节(t, abs(西弗吉尼亚州))包含('时间'')ylabel(“级”

图中包含一个轴对象。轴对象包含3个类型为line的对象。