生成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。UserPositions = [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)
印第安纳州=结构体字段:LSTF: [640] LLTF: 1280年[641]LSIG: 1600年[1281]VHTSIGA: 2240年[1601]VHTSTF: 2560年[2241]VHTLTF: 3840年[2561]VHTSIGB: 4160年[3841]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(双(sigAbits (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包长度的信息碎片。对于多用户操作和一个80 MHz带宽,前19位包含APEP长度信息。字段长度转换为十进制的等价物。他们乘以4,因为VHT-SIG-B字段的长度是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 =兰迪([0,1],vht.PSDULength (1) * 8, 1);d2 =兰迪([0,1],vht.PSDULength (2) * 8, 1);d3 =兰迪([0,1],vht.PSDULength (3) * 8, 1);
使用这些数据序列生成VHT数据字段。
vhtdata = wlanVHTData ({d1 d2 d3}, vht);
生成一个多用户VHT波形窗口是禁用的。从波形中提取数据字段。
西弗吉尼亚州= wlanWaveformGenerator (vht {d1 d2 d3},“WindowTransitionTime”,0);wvdata = wv (ind.VHTData (1): ind.VHTData (2):);
确认两种生成方法产生相同的结果。
isequal (vhtdata wvdata)
ans =逻辑1
可视化的波形绘制它的大小。
t =((1:长度(西弗吉尼亚州))1)/ 80 e6;情节(t, abs(西弗吉尼亚州))包含(“时间(s)”)ylabel (“级”)