主要内容

生成VHT多用户波形

此示例显示如何从各个组件生成VHT多用户波形。它还显示如何通过使用相同的波形WlanWaveFormGenerator.功能。

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

vht = wlanvhtconfig('麻木商',3,'numtransmitantennas',3);

将时空流的数量设置为向量[1 1],表示每个用户被分配一个时空流。将用户位置设置为[0 1 2]。将组ID设置为5.从1到62的组ID值应用于多用户操作。

vht.numspacetimestreams = [1 1 1];vht.UserPositions = [0 1 2];vht.groupid = 5;

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

vht.mcs = [0 2 4];

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

vht.apeplthength = [2000 1400 1800]
VHT = WLANVHTCONFIG具有属性:ChannelBandWidth:'CBW80'NUMUSERS:3 UserPositions:[0 1 2] NumTransmitantNenaS:3 NumSpacetImestReams:[1 1 1] SpatialMapping:'Direct'MCS:[0 2 4] ChannelCoding:'BCC'ApePoding:[2000 1400 1800] GuardInterval:'Long'GroupID:5只读属性:Psdulength:[2000 6008 12019]

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

vht.psdulength.
ans =.1×3.2000 6008 12019.

显示VHT波形的字段索引。

IND = WLANFIELDINDIDICES(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(双(锡字兆(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('时间'')ylabel('震级'

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