主要内容

生成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 = [02 4];

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

vht.apeplength = [2000 1400 1800]
VHT = WLANVHTCONFIG具有属性:ChannelBandWidth:'CBW80'NUMUSERS:3 UserPositions:[0 1 2] NumTransmitantNenaS:3 NumSpacetImestReamas:[1 1] SpatialMapping:'Direct'MCS:[0 2 4] ChannelCoding:'BCC'Apeplemoding:[2000 1400 1800] Guardinterval:'long'GroupID:5只读属性:Psdulength:[2000 6008 12019]

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

vht.psdulength.
ANS =.1×32000 6008 12019.

显示VHT波形的场指数。

IND = WLANFIELDINDICES(VHT)
印第安纳州=结构与字段:LSTF: [1 640] LLTF: [641 1280] LSIG: [1281 1600] VHTSIGA: [1601 2240] VHTSTF: [2241 2560] VHTLTF: [2561 3840] VHTSIGB: [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(双(sigAbits (1:2) '))
BW = 2.

值,2,对应80mhz带宽(参见Wlanvhtsiga.)。

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

GroupID = Bi2de(双(锡字兆(5:10)')))
Groupid = 5

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

从VHT-SIG-B信息比特提取分组长度。对于具有80 MHz带宽的多用户操作,前19位包含APEP长度信息。将字段长度转换为小数等价物。乘以4,因为VHT-SIG-B字段的长度以4个字节为单位表示。

PKTLEN = BI2DE(DOUBLE(SIGBBITS(1:19,:)'))* 4
pktLen =3×12000 1400 1800.

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

isequal(pktlen',vht.apeplength)
ANS =.逻辑1

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

MCS = BI2DE(DOUBLE(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:长度(wv))' -  1)/ 80e6;绘图(T,ABS(WV))XLabel(“时间(s)”) ylabel ('震级'的)

图包含轴对象。轴对象包含3个类型线的对象。