wlanWaveformGenerator

生成WLAN波形

描述

例子

波形= wlanwaveformgenerator(比特cfgFormat生成波形比特,指定的信息位,和CFG.,物理层(PHY)格式配置。有关更多信息,请参阅IEEE 802.11 PPDU格式

例子

波形= wlanwaveformgenerator(比特cfgFormat名称,价值使用一个或多个名称-值对参数指定其他选项。

例子

全部收缩

配置并生成包含HE TB上行包的WLAN波形。

为WLAN HE TB上行传输创建一个配置对象。

cfghetb = wlanhetbconfig;

从配置对象中获取PSDU长度,单位为字节getPSDULength对象的功能。

psdulength = getpsdulength(cfghetb);

生成相关长度的PSDU。

psdu = randi([0 1],8 * psdulength,1);

生成并绘制波形。

波形= WlanWaveFormGenerator(PSDU,CFGHETB);数字;绘图(ABS(波形));标题(“他结核病波形”);Xlabel('时间(纳秒)');ylabel (“振幅”);

用一个包生成一个802.11ac VHT传输的时域信号。

创建VHT配置对象。分配两个发射天线和两个空间流,并禁用空间 - 时间块编码(STBC)。将Modulaltion和编码方案设置为1,它为802.11标准分配QPSK调制和1/2速率编码方案。在A-MPDU Pre-Eof Padding中设置字节数,APEPLength,1024.

cfg = wlanvhtconfig(“NumTransmitAntennas”2,'numspacetimestreams'2,'stbc'0,'MCS',1,'apeplength',1024);

产生发射波形。

位= [1,0,0,1];txwaveform = wlanwaveformgenerator(比特,cfg);

HE MU-MIMO配置SIGB压缩

在20mhz带宽和SIGB压缩下生成一个全带宽HE MU-MIMO配置。所有三个用户都在一个内容通道上,该通道只包括用户字段位。

cfgHE = wlanHEMUConfig (194);cfghe.numtransmitantennas = 3;

为所有用户创建PSDU数据。

psdu = cell(1,numel(cfghe.user));psdulength = getpsdulength(cfghe);为了psdu = randi([0 1],psduLength(j)*8,1,'int8');结尾

生成并绘制波形。

y = wlanWaveformGenerator (psdu cfgHE);情节(abs (y))

在80mhz带宽下,通过SIGB压缩产生全带宽HE MU-MIMO波形。HE-SIG-B内容通道1有4个用户。HE-SIG-B内容通道2有3个用户。

cfgHE = wlanHEMUConfig (214);cfghe.numtransmitantennas = 7;

为所有用户创建PSDU数据。

psdu = cell(1,numel(cfghe.user));psdulength = getpsdulength(cfghe);为了psdu = randi([0 1],psduLength(j)*8,1,'int8');结尾

生成并绘制波形。

y = wlanWaveformGenerator (psdu cfgHE);图(ABS(Y));

HE MU-MIMO配置没有SIGB压缩

在没有SIGB压缩的情况下,在20 MHz带宽下生成全带宽。所有三个用户都在单个内容频道上,包括公共和用户字段位。

cfgHE = wlanHEMUConfig (194);cfgHE。S.IGBCompression = false; cfgHE.NumTransmitAntennas = 3;

为所有用户创建PSDU数据。

psdu = cell(1,numel(cfghe.user));psdulength = getpsdulength(cfghe);为了psdu = randi([0 1],psduLength(j)*8,1,'int8');结尾

生成并绘制波形。

y = wlanWaveformGenerator (psdu cfgHE);情节(abs (y))

没有SIGB压缩的六个用户生成80 MHz HE MU波形。HE-SIG-B内容通道1有4个用户。HE-SIG-B Content Channel 2有两个用户。

cfgHE = wlanHEMUConfig([202 114 192 193]);cfgHE。NumTransmitAntennas = 6;为了i = 1:numel(cfghew . ru) cfghew . ru {i}。SpatialMapping ='傅里叶';结尾

为所有用户创建PSDU数据。

psdu = cell(1,numel(cfghe.user));psdulength = getpsdulength(cfghe);为了psdu = randi([0 1],psduLength(j)*8,1,'int8');结尾

生成并绘制波形。

y = wlanWaveformGenerator (psdu cfgHE);图(ABS(Y));

在没有SIGB压缩的情况下,在80mhz带宽下产生全带宽HE MU-MIMO波形。HE-SIG-B内容通道1有7个用户。HE-SIG-B内容通道2没有用户。

cfghe = wlanhemuconfig([214 115 115 115]);cfghe.numtransmitantennas = 7;

为所有用户创建PSDU数据。

psdu = cell(1,numel(cfghe.user));psdulength = getpsdulength(cfghe);为了psdu = randi([0 1],psduLength(j)*8,1,'int8');结尾

生成并绘制波形。

y = wlanWaveformGenerator (psdu cfgHE);情节(abs (y))

为802.11ac VHT传输产生一个时域信号,数据包之间有5个包和30微秒的空闲时间。对每个包使用随机扰码器初始状态。

创建VHT配置对象并确认用于伸缩的信道带宽X情节的轴。

cfg = wlanvhtconfig;DISP(CFG.CHANNELBANDWIDTH)
CBW80

生成并绘制波形。显示微秒的时间X设在。

numPkts = 5;位= [1,0,0,1];/ /初始化= randi([1 127]);cfg txWaveform = wlanWaveformGenerator(比特,“NumPackets”numPkts,'空闲时间',30e-6,'Sclamblerinitialization', scramInit);时间=(0:长度(txWaveform) 1) / 80 e-6;情节(时间、abs (txWaveform));标题('五个数据包分隔30微秒空闲时期');包含(的时间(毫秒));ylabel (“振幅”);

输入参数

全部收缩

单个用户的信息位,包括代表多个连接psdu的任何MAC填充,指定为这些值之一。

  • 0.或者1

  • 一个二进制值的矢量。

  • 包含二进制值标量或向量的一个单元格 - 指定的位适用于所有用户。

  • 由二进制值标量或向量组成的向量单元数组——每个元素对应于每个用户。该单元格数组的长度必须等于用户数量。对于每个用户,如果生成的所有数据包所需的比特数超过了所提供的向量的长度,该函数将循环所应用的比特向量。在位上循环允许你定义一个简短的模式,例如,[1, 0, 0, 1],重复作为PSDU编码的输入跨数据包和用户。在每个数据包生成中,为此K.用户,K.的元素psdulength.财产的财产cfgFormat输入表示从其流中取出的数据字节数。计算比特数,乘以psdulength.通过8。

在内部,该函数循环此输入以生成指定数量的包。的psdulength.财产的财产cfgFormatInput指定为生成的每个传输包从位流中获取的数据位数。的“NumPackets”Input指定要生成的数据包数量。

例子:[1 1 0 1 0 1 1]

数据类型:|int8

数据包格式配置,指定为其中一个对象:wlanHEMUConfigwlanHESUConfigwlanhetbconfigwlanDMGConfigwlanS1GConfigwlanvhtconfigwlanhtconfig.,或Wlannonhtconfig.您指定的对象类型决定了IEEE®产生的波形的802.11™格式。

数据包格式配置对象的属性确定生成的PPDU的数据速率和PSDU长度。

名称值对参数

指定可选的逗号分离对名称,价值参数。的名字是参数名称和价值是相应的价值。的名字必须出现在引号内。您可以以任何顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:'numpackets',21,'scramblerinitialization',[52,17]

单个函数调用中要生成的包数,指定为一个正整数。

数据类型:

空闲时间(以秒为单位)添加在每个包之后,指定为非负标量。如果IdleTime未设置为默认值,必须是:

  • 大于或等于的值1 e-6DMG格式

  • 大于或等于的值2 e-6用于HE, VHT, ht混合和非ht格式

例子:2 e-5

数据类型:

每个生成的数据包的数据加扰器的初始加扰器状态,指定为间隔[1,127]或作为整数或作为整数NP.——- - - - - -N用户间隔中的整数矩阵[1,127]。NP.是数据包的数量,和N用户是用户的数量。

默认值,93,是第I.1.5.2节中的示例状态[2]支持S1G、VHT、HT和非HT的OFDM格式。对于DMG格式,指定此参数将覆盖wlanDMGConfig配置对象。有关更多信息,请参阅扰频器初始化

  • 当指定为标量时,相同的扰码器初始值用于为多包波形的每个用户生成每个包。

  • 当指定为矩阵时,每个元素表示针对每个用户生成的多端acket波形中的分组的初始状态。每个列指定单个用户的初始状态。在这种情况下,支持最多四列。金宝app如果提供单个列,则所有用户都使用相同的初始状态。每行代表要生成的每个数据包的初始状态。具有多行的矩阵使您可以使用每个数据包的不同初始状态,其中第一行包含第一个数据包的初始状态。如果要生成的数据包数超过所提供矩阵的行数,则行在内部循环。

笔记

这个论点不适用于DSSS非ht格式。

例子:[3 56 120]

数据类型:|int8

持续时间为单位,窗口转换应用于每个OFDM符号,指定为非负标量。如果您将此输入指定为“,则不会应用窗口0..允许的默认值和最大值显示各种格式,保护间隔类型和通道带宽。

格式 带宽 允许WindowTransitionTime(秒)
默认值 最大值 基于保护间隔持续时间的最大允许值
3.2μs. 1.6μs.

0.8µ年代

(长)

0.4μs.

(短)

迪姆

2640 MHz.

6.0606E-09.

(=16/2640e6

9.6969E-08.

(=256/2640e6

-

-

-

-

S1G.

1,2,4,8或16 MHz

1.0E-07.

-

-

-

1.6E-05.

8.0E-06.

何素,何木,何结核

20,40,80或160 MHz

1.0E-07.

-

6.4E-06.

3.2E-06.

1.6E-06.

-

vht.

20,40,80或160 MHz

1.0E-07.

-

-

-

1.6E-06.

8.0E-07.

HT-mixed

20或40 MHz

1.0E-07.

-

-

-

1.6E-06.

8.0E-07.

non-HT

20 MHz.

1.0E-07.

-

-

-

1.6E-06.

-

10 MHz

1.0E-07.

-

-

-

3.2E-06.

-

5 MHz.

1.0E-07.

-

-

-

6.4E-06.

-

数据类型:

输出参数

全部收缩

分组波形,返回为NS.——- - - - - -NT.矩阵。NS.是时域样本的个数,和NT.是发射天线的数量。波形包含一个或多个相同PPDU格式的数据包。每个数据包都可以包含不同的信息位。通过设置启用波形数据包窗口WindowTransitionTime输入一个正值。默认启用窗口。

有关更多信息,请参阅波形采样率OFDM符号窗口, 和波形循环

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

更多关于

全部收缩

IEEE802.11PPDU格式

金宝app支持的IEEE 802.11 PPDU传输格式包括VHT、HT、non-HT、S1G、DMG、HE。对于所有格式,PPDU字段结构包括序言和数据部分。有关所支持的各种格式的数据包结构的详细描述,请参见金宝appWLAN PPDU结构

波形采样率

在该函数的输出处,所生成的波形具有等于信道带宽的采样率。

对于所有的HE, VHT, HT和非HT格式的OFDM调制,信道带宽配置通过ChannelBandwidth格式配置对象的属性。

对于DMG格式调制方案,信道带宽始终为2640 MHz,信道间距始终为2160 MHz。的第20.3.4节和第1节规定了这些值[2], 分别。

对于非HT格式DSSS调制方案,切削率始终为11 MHz,如第16.1.1节所述[2]

此表指示在过滤之前的每个配置格式的标准通道间距相关联的波形采样率。

配置对象

调制类型

ChannelBandwidth适当的价值

通道间距(MHz)

采样率(MHz)

FS.FC

wlanDMGConfig

控制体育

对于DMG,通道带宽固定在2640 MHz。

2160.

FC=⅔FS.= 1760.

SC

OFDM.

FS.= 2640.

wlanS1GConfig

OFDM.

“CBW1”

1

FS.= 1

“CBW2”

2

FS.= 2

“CBW4”

4.

FS.= 4

“CBW8”

8.

FS.= 8

“CBW16”

16

FS.= 16.

wlanHEMUConfigwlanHESUConfig, 和wlanhetbconfig

OFDMA.

'CBW20'

20.

FS.= 20.

'CBW40'

40

FS.= 40

'CBW80'

80

FS.= 80

'CBW160'

160

FS.= 160

wlanvhtconfig

OFDM.

'CBW20'

20.

FS.= 20.

'CBW40'

40

FS.= 40

'CBW80'

80

FS.= 80

'CBW160'

160

FS.= 160

wlanhtconfig.

OFDM.

'CBW20'

20.

FS.= 20.

'CBW40'

40

FS.= 40

Wlannonhtconfig

DSSS / CCK.

不适用

11

FC= 11.

OFDM.

“CBW5”

5.

FS.= 5

'CBW10'

10

FS.= 10.

'CBW20'

20.

FS.= 20.

FS.是OFDM采样率。

FC是单载波,控制PHY,DSSS和CCK调制的芯片速率。

OFDM符号窗口

OFDM自然地借给傅里叶变换的处理。使用IFFT处理OFDM符号的负副作用是所产生的符号边缘不连续性。这些不连续性导致连续OFDM符号之间的过渡区域带外排放。为了平滑符号之间的不连续性并减少符号外的频段外排放,可以使用wlanWaveformGenerator应用OFDM符号窗口的功能。要应用窗口,请设置WindowTransitionTime输入一个正值。

当应用窗口时,该函数将转换区域添加到OFDM符号的前沿和后沿。窗口扩展了OFDM符号的长度WindowTransitionTimeT.TR)。

使用在第17.3.2.5节中指定的此窗口函数,在时域中通过点乘法乘以扩展波形。[2]

W. T. T. = { 2 [ π 2 1 2 + T. T. TR ] 如果 T. [ T. TR 2 T. TR 2 ] 1 如果 T. [ T. TR 2 T. T. TR 2 ] 2 [ π 2 1 2 + T. T. TR ] 如果 T. [ T. T. TR 2 T. + T. TR 2 ]

窗口功能适用于OFDM符号的前导部分和尾随部分:

  • -T.TR/ 2T.TR/ 2.

  • -T - T.TR/ 2T + TTR/ 2.

在将窗口应用于每个符号之后,使用点添加来组合连续OFDM符号之间的重叠区域。具体地,在OFDM符号1的末尾的尾随肩样本(T.-T.TR/ 2T.+T.TR/ 2)在OFDM符号2开始时添加到领先的肩部样本中( -T.TR/ 2T.TR/ 2)。

以这种方式平滑连续OFDM符号之间的重叠减少了带外排放。该函数适用于以下之间的OFDM符号窗口:

  • 一个分组中的每个OFDM符号

  • 考虑空闲时间,波形内的连续数据包IdleTime的指定的数据包之间'空闲时间'输入

  • 生成波形的最后一个和第一个数据包

窗口DMG格式数据包

对于DMG格式,加窗仅适用于使用OFDM PHY传输的包,且仅适用于OFDM调制符号。对于OFDM PHY,只有报头和数据符号被OFDM调制。导言(STF和CEF)和训练域是单载波调制的,没有加窗。类似于连续OFDM符号所经历的带外发射,如图所示,CEF和第一个训练子域受到来自相邻窗口OFDM符号的象征性数量的带外发射。

有关如何wlanWaveformGenerator函数处理连续数据包空闲时间和最后波形数据包的窗口,见波形循环

波形循环

要生成连续输入流,您可以将来自最后一个数据包的波形上的代码循环返回到第一个数据包。

将窗口应用于生成波形的最后一个和第一个OFDM符号,平滑了波形的最后一个分组与第一个数据包之间的转换。当。。。的时候'windowtransitiontime'输入是积极的,wlanWaveformGenerator函数适用OFDM符号窗口。

循环波形时,最后的符号packet_N后接OFDM的第一个符号packet_1.如果波形只有一个包,则波形从包的最后一个OFDM符号循环到同一包的第一个OFDM符号。

当对一个包的最后一个OFDM符号和下一个包的第一个OFDM符号加窗时,两个包之间的空闲时间构成加窗。方法指定空闲时间'空闲时间'的输入wlanWaveformGenerator功能。

  • 如果'空闲时间'0.,该函数适用于加窗,就像它适用于数据包中的连续OFDM符号一样。

  • 否则,第一个OFDM符号的扩展窗口部分packet_1(从-T.TR/ 2到0-T.S.),包括在波形的末端。当计算最后一个OFDM符号之间的窗口时,将应用此扩展窗口部分以循环packet_N和第一个OFDM象征packet_1T.S.是采样时间。

循环DMG波形

DMG波形具有这三个循环场景。

  • 由没有训练子域的DMG OFDM-PHY包组成的波形的环路行为类似于前面概述的一般情况波形循环,但波形(和每个包)的第一个符号不是窗口。

    • 如果'空闲时间'0.对于波形,窗口部分(来自T.T.+T.TR/ 2)将最后一个数据符号添加到STF字段的开始。

    • 否则,空闲时间在窗口部分的末尾附加(之后T.+T.TR/2)最后一个OFDM符号。

  • 当由DMG OFDM PHY包组成的波形包含训练子域时,对波形末端的单载波调制符号不加窗。最后一个训练子字段的最后一个样本后面是波形中第一个包的第一个STF样本。

    • 如果'空闲时间'0.对于波形,没有重叠。

    • 否则,值'空闲时间'指定最后一个样本之间的延迟packet_N和第一个样品packet_1

  • 当一个波形是由DMG-SC或DMG-Control PHY包组成,波形的结束是单载波调制,所以没有加窗应用到最后的波形符号。最后一个训练子字段的最后一个样本后面是波形中第一个包的第一个STF样本。

    • 如果'空闲时间'0.对于波形,没有重叠。

    • 否则,值'空闲时间'指定最后一个样本之间的延迟packet_N和第一个样品packet_1

    笔记

    同样的环路行为适用于带有训练子字段的DMG OFDM-PHY包、DMG- sc PHY包或DMG- control PHY包组成的波形。

扰频器初始化

在传输数据上使用的加扰器初始化遵循IEEE STD 802.11-2012中描述的过程,第18.3.5.5节和IEEE STD 802.11ad™-2012,第21.3.9节。遵循扰码器初始化字段(包括数据填充位)的标题和数据字段通过XORINGEN-127由多项式生成的长度为127周期序列进行扰乱S (x)=X7.+X4.+1.PSDU的八位字节(物理层服务数据单元)被放置到比特流中,并且在每个八位字节内,第一位0(LSB)是第一并且第7位(MSB)最后。序列和XOR操作的生成如图所示:

从整数转换为位使用左侧MSB方向。用十进制初始化扰码器1,比特被映射到显示的元素。

元素 X7. X6. X5. X4. X3. X2 X1
位值 0. 0. 0. 0. 0. 0. 1

生成相当于十进制的比特流,使用de2bi.例如,对于十进制1

DE2BI(1,7,'左MSB')ANS = 0 0 0 0 0 0 1

参考

[1] IEEE P802.11ax™/ D4.1。第11部分:无线局域网媒体访问控制(MAC)和物理层(PHY)规范修正案1:对高效无线局域网的增强。”信息技术标准草案。系统间的电信和信息交换局域网和城域网。特殊要求。

[2] IEEE Std 802.11-2016 (IEEE Std 802.11-2012修订版)。第11部分:无线局域网媒体访问控制(MAC)和物理层(PHY)规范信息技术IEEE标准。系统间的电信和信息交换。局域网和城域网。特殊要求。

扩展功能

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

介绍了R2015b