瓦兰波发生器

生成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([01],8*psduLength,1);

生成并绘制波形。

波形= wlanWaveformGenerator (psdu cfgHETB);图;情节(abs(波形));标题(“他结核病波形”); xlabel('时间(纳秒)');ylabel (“振幅”);

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

创建VHT配置对象。分配两个发射天线和两个空间流,禁用空时分组编码(STBC)。设置调制和编码方案为1.,它根据802.11标准分配QPSK调制和1/2速率编码方案。设置A-MPDU预EOF填充中的字节数,丰满的1024

cfg=wlanVHTConfig(“Numtransmitatenenas”2.“NumSpaceTimeStreams”2.“摘要”,0,“MCS”1.“APEPLength”, 1024);

生成传输波形。

位= [1,0,0,1];txWaveform = wlanWaveformGenerator(比特,cfg);

具有SIGB压缩的HE MU-MIMO配置

使用SIGB压缩以20 MHz带宽生成全带宽HE MU-MIMO配置。所有三个用户都在一个内容频道上,该频道仅包括用户字段位。

cfghe = wlanhemuconfig(194);cfghe.numtransmitantennas = 3;

为所有用户创建PSDU数据。

psdu=单元(1,numel(cfgHE.User));psduLength=getPSDULength(cfgHE);对于psdu = randi([0 1],psduLength(j)*8,1, pduength (j))'int8');结束

生成并绘制波形。

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

通过SIGB压缩以80 MHz带宽生成全带宽HE MU-MIMO波形。HE-SIG-B内容频道1有四个用户。HE-SIG-B内容频道2有三个用户。

cfgHE=wlanHEMUConfig(214);cfgHE.NumTransmitAntennas=7;

为所有用户创建PSDU数据。

psdu=单元(1,numel(cfgHE.User));psduLength=getPSDULength(cfgHE);对于psdu = randi([0 1],psduLength(j)*8,1, pduength (j))'int8');结束

生成并绘制波形。

y=wlanWaveformGenerator(psdu,cfgHE);地块(abs(y));

HE MU-MIMO配置没有SIGB压缩

以20 MHz带宽生成全带宽HE MU-MIMO配置,无需SIGB压缩。所有三个用户都在一个内容频道上,该频道包括公共和用户字段位。

cfgHE=wlanHEMUConfig(194);cfgHE.SIGBCompression=false;cfgHE.NumTransmitAntennas=3;

为所有用户创建PSDU数据。

psdu=单元(1,numel(cfgHE.User));psduLength=getPSDULength(cfgHE);对于psdu = randi([0 1],psduLength(j)*8,1, pduength (j))'int8');结束

生成并绘制波形。

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

为六个用户生成80 MHz HE MU波形,无需SIGB压缩。HE-SIG-B内容频道1有四个用户。HE-SIG-B内容频道2有两个用户。

cfgHE = wlanHEMUConfig([202 114 192 193]);cfgHE。NumTransmitAntennas = 6;对于i=1:numel(cfgHE.RU)cfgHE.RU{i}.SpatialMapping=“傅里叶”;结束

为所有用户创建PSDU数据。

psdu=单元(1,numel(cfgHE.User));psduLength=getPSDULength(cfgHE);对于psdu = randi([0 1],psduLength(j)*8,1, pduength (j))'int8');结束

生成并绘制波形。

y=wlanWaveformGenerator(psdu,cfgHE);地块(abs(y));

以80MHz带宽生成全带宽HE MU-MIMO波形,无需SIGB压缩。HE-SIG-B内容频道1有七个用户。HE-SIG-B内容频道2没有用户。

cfgHE = wlanHEMUConfig([214 115 115 115]);cfgHE。NumTransmitAntennas = 7;

为所有用户创建PSDU数据。

psdu=单元(1,numel(cfgHE.User));psduLength=getPSDULength(cfgHE);对于psdu = randi([0 1],psduLength(j)*8,1, pduength (j))'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]; scramInit=randi([1 127],numPkts,1);txWaveform=wlanWaveformGenerator(位、cfg、,“NumPackets”,numPkts,'空闲时间', 30 e-6,“ScramblerInitialization”, scramInit);时间=(0:长度(txWaveform) 1) / 80 e-6;情节(时间、abs (txWaveform));标题(“五个数据包之间间隔30微秒的空闲时间”);包含(的时间(毫秒));ylabel (“振幅”);

输入参数

全部折叠

单个用户的信息位,包括表示多个串联PSDU的任何MAC填充,指定为这些值之一。

  • 01.

  • 一个二进制值的矢量。

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

  • 由二值标量或向量组成的向量单元数组——每个元素对应于每个用户。这个单元格数组的长度必须等于用户的数量。对于每个用户,如果在所有代包中所需的比特数超过提供的向量长度,则函数循环应用的比特向量。位上的循环允许您定义一个短模式,例如,[1, 0, 0, 1],作为跨包和用户的pdu编码的输入而重复。在每个包的代,为Kth用户,K第Th元素PSDULength财产的财产cfgFormat输入指示从其流中获取的数据字节数。要计算位数,请乘以PSDULength通过8。

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

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

数据类型:双重的|int8

包格式配置,指定为以下对象之一:wlanHEMUConfig,瓦兰赫舒克,wlanHETBConfig,wlanDMGConfig,wlanS1GConfig,wlanVHTConfig,wlanhtconfig.,或wlanNonHTConfig.指定的对象类型决定IEEE®生成的波形的802.11™格式。

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

名称-值对的观点

指定可选的逗号分隔的字符对名称,值论据。的名字是参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数名称1,值1,…,名称,值

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

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

数据类型:双重的

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

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

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

例子:2e-5

数据类型:双重的

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

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

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

  • 当指定为矩阵时,每个元素表示为每个用户生成的多包波形中的包的扰频器的初始状态。每一列指定单个用户的初始状态。在本例中,最多支持四列。万博1manbetx如果提供了单个列,则对所有用户使用相同的初始状态。每一行表示要生成的每个包的初始状态。多行矩阵使您能够对每个包使用不同的初始状态,其中第一行包含第一个包的初始状态。如果要生成的包的数量超过提供的矩阵的行数,行将在内部循环。

此参数对于DSSS非HT格式无效。

例子:[3 56 120]

数据类型:双重的|int8

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

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

0.8µ年代

(长)

0.4µs

(简短)

DMG

2640兆赫

6.0606e-09

(=16/2640e6)

9.69E-08

(=256/2640e6)

S1G

1、2、4、8或16兆赫

1.0 e-07

1.6e-05

8.0e-06

何苏,何木,与HE TB

20、40、80或160兆赫

1.0 e-07

6.4 e-06

3.2 e-06

1.6e-06

vht.

20、40、80或160兆赫

1.0 e-07

1.6e-06

8.0e-07

HT-mixed

20或40兆赫

1.0 e-07

1.6e-06

8.0e-07

non-HT

20 MHz

1.0 e-07

1.6e-06

10 MHz

1.0 e-07

3.2 e-06

5兆赫

1.0 e-07

6.4 e-06

数据类型:双重的

输出参数

全部折叠

打包的波形,作为Ns-借-NT矩阵。Ns是时域样本的个数,和NT为发射天线数。波形包含一个或多个相同PPDU格式的数据包。每个数据包都可以包含不同的信息位。通过设置启用波形数据包窗口WindowTransitionTime输入一个正值。默认情况下启用窗口设置。

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

数据类型:双重的
复数支持:万博1manbetx是的

更多关于

全部折叠

IEEE802.11PPDU格式

万博1manbetx为传输定义的支持IEEE 802.11 PPDU格式包括VHT、HT、非HT、S1G、DMG和HE。对于所有格式,PPDU字段结构包括前导和数据部分。有关支持的各种格式的数据包结构的详细说明,请参阅WLAN-PPDU结构

波形采样率

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

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

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

对于非ht格式的DSSS调制方案,切屑率始终为11 MHz,详见第16.1.1节[2]

此表显示了滤波前与每个配置格式的标准信道间距相关的波形采样率。

配置对象

调制类型

ChannelBandwidth财产价值

信道间隔(MHz)

采样率(MHz)

(Fs,FC)

wlanDMGConfig

控制体育

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

2160

FC=⅔Fs= 1760

SC

正交频分复用

Fs= 2640

wlanS1GConfig

正交频分复用

“CBW1”

1.

Fs= 1

“CBW2”

2.

Fs= 2

“CBW4”

4.

Fs= 4

“CBW8”

8.

Fs= 8

“CBW16”

16

Fs= 16

wlanHEMUConfig,瓦兰赫舒克,wlanHETBConfig

OFDMA

“CBW20”

20.

Fs= 20

“CBW40”

40

Fs= 40

“CBW80”

80

Fs= 80

“CBW160”

160

Fs= 160

wlanVHTConfig

正交频分复用

“CBW20”

20.

Fs= 20

“CBW40”

40

Fs= 40

“CBW80”

80

Fs= 80

“CBW160”

160

Fs= 160

wlanhtconfig.

正交频分复用

“CBW20”

20.

Fs= 20

“CBW40”

40

Fs= 40

wlanNonHTConfig

DSSS / CCK

不适用

11

FC= 11

正交频分复用

“CBW5”

5.

Fs= 5

“CBW10”

10

Fs= 10

“CBW20”

20.

Fs= 20

Fs为OFDM采样率。

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

OFDM符号窗口

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

当应用加窗时,该函数向OFDM符号的前缘和后缘添加过渡区域。加窗将OFDM符号的长度延长了WindowTransitionTime(TTR).

扩展波形通过时域中的逐点乘法加窗,使用本规范第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符号的前导和后导部分:

  • TTR/2至TTR/ 2

  • T–TTR/2至T+TTR/ 2

在对每个符号应用窗口化之后,使用逐点加法来组合连续OFDM符号之间的重叠区域。具体地说,尾肩在OFDM符号1的末端进行采样(TTTR/2至T+TTR/2)在OFDM符号2 (-TTR/2至TTR/ 2)。

以这种方式平滑连续OFDM符号之间的重叠可以减少带外发射。该函数在以下各项之间应用OFDM符号窗口:

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

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

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

DMG格式数据包的窗口化

对于DMG格式,加窗仅应用于使用OFDM PHY传输的分组,并且仅应用于OFDM调制符号。对于OFDM PHY,只有报头和数据符号是OFDM调制的。前导码(STF和CEF)和训练字段是单载波调制的,不加窗。与连续OFDM符号经历的带外发射类似,如这里所示,CEF和第一训练子场经受来自相邻加窗OFDM符号的标称量的带外发射。

有关如何的更多信息瓦兰波发生器函数处理连续的数据包空闲时间和最后一个波形数据包的窗口,参见波形循环

波形循环

为了产生一个连续的输入流,您可以在从最后一个数据包到第一个数据包的波形上进行代码循环。

对生成的波形的最后和第一个OFDM符号应用加窗,平滑波形的最后和第一个分组之间的过渡。当“WindowTransitionTime”输入为正,则瓦兰波发生器函数应用OFDM符号窗口。

循环波形时,波形的最后一个符号packet_N,后面跟着第一个OFDM符号数据包1.如果波形只有一个分组,则波形从分组的最后一个OFDM符号循环到相同分组的第一个OFDM符号。

当对一个分组的最后一个OFDM符号和下一个分组的第一个OFDM应用加窗时,分组之间的空闲时间会影响应用的加窗。使用'空闲时间'的输入瓦兰波发生器功能。

  • 如果'空闲时间'0,该函数应用窗口,因为它将是连续的OFDM符号在一个包。

  • 否则,第一OFDM符号的扩展加窗部分数据包1(来自-TTR/ 2 0 -Ts),包含在波形的末尾。的最后一个OFDM符号之间的加窗部分用于循环计算packet_N的第一个OFDM符号数据包1Ts为采样时间。

循环DMG波形

DMG波形有三种循环场景。

  • 由没有训练子字段的DMG OFDM-PHY包组成的波形的循环行为类似于波形循环,但是波形(和每个包)的第一个符号没有加窗。

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

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

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

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

    • 否则,为'空闲时间'指定最后一次采样之间的延迟packet_N第一个样本是数据包1

  • 当波形由DMG-SC或DMG控制PHY数据包组成时,波形的末尾是单载波调制的,因此不会对最后一个波形符号应用加窗。最后训练子字段的最后一个样本之后是波形中第一个分组的第一个STF样本。

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

    • 否则,为'空闲时间'指定最后一次采样之间的延迟packet_N第一个样本是数据包1

    相同的循环行为适用于由DMG OFDM-PHY分组和训练子场、DMG-SC PHY分组或DMG控制PHY分组组成的波形。

加扰器初始化

在传输数据上使用的扰频器初始化遵循IEEE Std 802.11-2012,章节18.3.5.5和IEEE Std 802.11ad™-2012,章节21.3.9中描述的过程。紧跟在扰频器初始化字段(包括数据填充位)之后的报头和数据字段由XORing用多项式生成的长度为127的周期序列进行扰频S(x)=x7.+x4.+1. PSDU(物理层服务数据单元)的八位字节被放入位流中,在每个八位字节中,位0(LSB)是第一位,位7(MSB)是最后一位。序列的生成和异或操作如下图所示:

从整数到位的转换使用左msb方向。用小数初始化扰码器1.,位被映射到所示的元素。

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

要生成相当于十进制的位流,请使用de2bi.例如,对于小数1.:

2、使用left-msb ('left-msb'

参考

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

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

扩展功能

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

介绍了R2015b