wlanWaveformGenerator
生成WLAN波形
描述
例子
产生VHT波形
用一个包为802.11ac VHT传输生成一个时域信号。
创建格式配置对象,vht
。分配两个发射天线和两个空间流,禁用STBC。设置MCS为1
,它根据802.11标准分配QPSK调制和1/2速率编码方案。设置A-MPDU预eof填充的字节数。APEPLength
,1024
。
vht = wlanVHTConfig;vht。NumTransmitAntennas = 2; vht.NumSpaceTimeStreams = 2; vht.STBC = false; vht.MCS = 1; vht.APEPLength = 1024;
生成传输波形。
Bits = [1;0;0;1];tx波形= wlanWaveformGenerator(bits,vht);
演示SIGB压缩在HE MU波形
具有SIGB压缩的MU-MIMO配置
只使用用户字段位
生成一个全带宽的HE MU-MIMO配置在20MHz带宽与SIGB压缩。所有三个用户都在一个内容通道上,该通道只包括用户字段位。
cfgHE = wlanHEMUConfig(194);cfgHE。NumTransmitAntennas = 3;
为所有用户创建PSDU数据。
psdu = cell(1, number (cfgh . user));psdullength = getpsdullength (cfgHE);为j = 1: number (cfgeh . user) psdu = randi([0 1], psdullength (j)*8,1,“int8”);结束
生成并绘制波形。
y = wlanWaveformGenerator(psdu,cfgHE);情节(abs (y))
HE-SIG-B Content在通道1分配4个用户,在通道2分配3个用户
生成一个全带宽的HE MU-MIMO波形在80MHz带宽与SIGB压缩。HE-SIG-B内容通道1有4个用户。HE-SIG-B内容通道2有3个用户。
cfgHE = wlanHEMUConfig(214);cfgHE。NumTransmitAntennas = 7;
为所有用户创建PSDU数据。
psdu = cell(1, number (cfgh . user));psdullength = getpsdullength (cfgHE);为j = 1: number (cfgeh . user) psdu = randi([0 1], psdullength (j)*8,1,“int8”);结束
生成并绘制波形。
y = wlanWaveformGenerator(psdu,cfgHE);情节(abs (y));
没有SIGB压缩的MU-MIMO配置
使用公共和用户字段位
生成20MHz带宽的全带宽HE MU-MIMO配置,没有SIGB压缩。所有三个用户都在一个内容通道上,其中包括公共字段位和用户字段位。
cfgHE = wlanHEMUConfig(194);cfgHE。年代IGBCompression = false; cfgHE.NumTransmitAntennas = 3;
为所有用户创建PSDU数据。
psdu = cell(1, number (cfgh . user));psdullength = getpsdullength (cfgHE);为j = 1: number (cfgeh . user) psdu = randi([0 1], psdullength (j)*8,1,“int8”);结束
生成并绘制波形。
y = wlanWaveformGenerator(psdu,cfgHE);情节(abs (y))
HE-SIG-B Content在通道1分配4个用户,在通道2分配2个用户
在没有SIGB压缩的情况下,为6个用户生成80mhz HE MU波形。HE-SIG-B内容通道1有4个用户。HE-SIG-B内容通道2有2个用户。
cfgHE = wlanHEMUConfig([202 114 192 193]);cfgHE。NumTransmitAntennas = 6;为i = 1: nummel (cfgHE.RU) cfgHE.RU{i}。SpatialMapping =“傅里叶”;结束
为所有用户创建PSDU数据。
psdu = cell(1, number (cfgh . user));psdullength = getpsdullength (cfgHE);为j = 1: number (cfgeh . user) psdu = randi([0 1], psdullength (j)*8,1,“int8”);结束
生成并绘制波形。
y = wlanWaveformGenerator(psdu,cfgHE);情节(abs (y));
HE-SIG-B Content在通道1分配7个用户,在通道2分配0个用户
在没有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, number (cfgh . user));psdullength = getpsdullength (cfgHE);为j = 1: number (cfgeh . user) psdu = randi([0 1], psdullength (j)*8,1,“int8”);结束
生成并绘制波形。
y = wlanWaveformGenerator(psdu,cfgHE);情节(abs (y))
生成具有随机扰频状态的VHT波形
配置wlanWaveformGenerator
产生一个时域信号,用于802.11ac VHT传输,该传输具有5个数据包,数据包之间有30微秒的空闲时间。对每个包使用随机扰码器初始状态。
创建一个VHT配置对象,并确认用于扩展的通道带宽x-坐标轴。
vht = wlanVHTConfig;vht。ChannelBandwidth
ans = 'CBW80'
生成并绘制波形。显示以微秒为单位的时间x设在。
numPkts = 5;[1 127],numPkts,1);tx波形= wlanWaveformGenerator([1;0;0;1],vht,“NumPackets”numPkts,“IdleTime”, 30 e-6,“ScramblerInitialization”, scramInit);time = [0:length(tx波形)-1]/80e-6;plot(time,abs(tx波形))xlabel (的时间(毫秒)) ylabel (“振幅”)
5个包间隔30微秒的空闲时间。
输入参数
位
- - - - - -信息比特
0
|1
|向量|单元阵列|矢量单元阵列
单个用户的信息位,包括表示多个连接的psdu的任何MAC填充,指定为二进制矢量流。在内部,输入位
根据需要循环Vector以生成指定数量的数据包。房地产cfgFormat
。
PSDULength
指定生成的每个传输数据包从比特流中获取的数据位数。房地产NumPackets
生成的报文数。
当
位
是单元格数组,单元格数组的每个元素必须是双
或int8
类型化二进制向量。当
位
是矢量或标量单元数组,则指定的位适用于所有用户。当
位
是一个矢量单元数组,每个元素对应于每个用户。对于每个用户,如果生成的所有数据包所需的比特数超过所提供的向量的长度,则应用的比特向量将被循环。例如,在位上循环允许您定义一个短模式。[1, 0, 0, 1]
,它作为跨包和用户的PSDU编码的输入重复。在每个包生成中,为我用户,我的元素cfgFormat
。PSDULength
指示从其流中获取的数据字节数。多个PSDULength
用8来计算位的个数
例子:[1 1 0 1 1 1 1]
数据类型:双
|int8
cfgFormat
- - - - - -报文格式配置
wlanHEMUConfig
|wlanHESUConfig
|wlanDMGConfig
对象|wlanS1GConfig
对象|wlanVHTConfig
对象|wlanHTConfig
对象|wlanNonHTConfig
对象
报文格式配置,指定为awlanHEMUConfig
,wlanHESUConfig
,wlanDMGConfig
,wlanS1GConfig
,wlanVHTConfig
,wlanHTConfig
,或wlanNonHTConfig
对象。类型cfgFormat
对象决定了IEEE®802.11™格式生成的波形。
报文格式配置对象的属性决定了生成的ppdu的数据速率和PSDU长度。
名称,值
- - - - - -名称-值对参数
Name1, Value1,…,的家
指定可选的逗号分隔对名称,值
参数。名字
是参数名和吗价值
是对应的值。名字
必须出现在引号内。可以以任意顺序指定多个名称和值对参数,如Name1, Value1,…,的家
。
例子:‘ScramblerInitialization NumPackets, 21日,(52岁,17)
NumPackets
-数据包数
1(默认值)|正整数
在单个函数调用中生成的数据包数,指定为正整数。
数据类型:双
IdleTime
—每个报文后增加的空闲时间
0(默认值)|非负标量
每个数据包后添加的空闲时间,以秒为单位指定为非负标量。缺省值为0。如果IdleTime
如果不设置为默认值,则必须为:
DMG格式≥1e-06秒
VHT、ht混合、非ht格式≥20 -06秒
例子:20 e-6
数据类型:双
ScramblerInitialization
-初始扰频器状态
93
(默认值)|间隔[1,127]|矩阵中的整数
对于生成的每个报文,扰码器的初始状态,可以用[1,127]范围内的整数指定,也可以用整数形式指定NP——- - - - - -N用户区间[1,127]内的整数矩阵。NP是包的数量,和N用户为用户数量。
缺省值93是IEEE标准802.11-2012中给出的示例状态[3]适用于S1G、VHT、HT和Non-HT OFDM格式。对于DMG格式,指定ScramblerInitialization
与wlanWaveformGenerator
方法指定的值wlanDMGConfig
配置对象。有关更多信息,请参见扰频器初始化。
当指定为标量时,使用相同的扰频器初始化值为多包波形的每个用户生成每个数据包。
当指定为矩阵时,每个元素表示为每个用户生成的多包波形中数据包的扰频器的初始状态。每一列指定单个用户的初始状态,因此最多支持四列。金宝app如果只提供了一个列,则对所有用户使用相同的初始状态。每行表示要生成的每个数据包的初始状态。因此,具有多行的矩阵使您能够对每个数据包使用不同的初始状态,其中第一行包含第一个数据包的初始状态。如果要生成的数据包数量超过了所提供的矩阵的行数,则在行内部循环。
请注意
ScramblerInitialization
对于非ht DSSS无效。
例子:[3 56 120]
数据类型:双
|int8
WindowTransitionTime
—窗口切换的持续时间
负的标量
应用于每个OFDM符号的窗口转换的持续时间,以秒为单位指定为非负标量。如果不应用窗口WindowTransitionTime
= 0。对于各种格式、保护间隔类型和通道带宽,显示了允许的默认值和最大值。
格式 | 带宽 | 允许WindowTransitionTime (秒) |
|||||
---|---|---|---|---|---|---|---|
默认的 | 最大 | 基于保护间隔时间的最大允许 | |||||
3.2µ年代 | 1.6µ年代 | 0.8µ年代 (长) |
0.4µ年代 (短) |
||||
DMG | 2640兆赫 |
6.0606 e-09 (= 16/2640e6) |
9.6969 e-08 (= 256/2640e6) |
- - - - - - |
- - - - - - |
- - - - - - |
- - - - - - |
S1G | 1、2、4、8、16mhz |
1.0 e-07 |
- - - - - - |
- - - - - - |
- - - - - - |
1.6 e-05 |
8.0 e-06 |
和素/和木 | 20,40,80或160mhz |
1.0 e-07 |
- - - - - - |
6.4 e-06 |
3.2 e-06 |
1.6 e-06 |
- - - - - - |
VHT | 20,40,80或160mhz |
1.0 e-07 |
- - - - - - |
- - - - - - |
- - - - - - |
1.6 e-06 |
8.0 e-07 |
HT-mixed | 20或40 MHz |
1.0 e-07 |
- - - - - - |
- - - - - - |
- - - - - - |
1.6 e-06 |
8.0 e-07 |
non-HT | 20 MHz |
1.0 e-07 |
- - - - - - |
- - - - - - |
- - - - - - |
1.6 e-06 |
- - - - - - |
10 MHz |
1.0 e-07 | - - - - - - |
- - - - - - |
- - - - - - |
3.2 e-06 |
- - - - - - |
|
5兆赫 |
1.0 e-07 | - - - - - - |
- - - - - - |
- - - - - - |
6.4 e-06 |
- - - - - - |
数据类型:双
输出参数
波形
—分组波形
矩阵
打包波形,返回N年代——- - - - - -NT矩阵。N年代是时域样本的个数,和NT是发射天线的数量。波形
包含一个或多个相同的数据包IEEE 802.11 PPDU格式。每个包可以包含不同的信息位。通过设置使能波形包窗口WindowTransitionTime
> 0。默认情况下启用窗口。
有关更多信息,请参见波形采样率,OFDM符号窗口,波形循环。
数据类型:双
复数支持:金宝app是的
更多关于
IEEE802.11PPDU格式
波形采样率
的输出处wlanWaveformGenerator
,所生成的波形具有等于信道带宽的采样率。
对于所有HE、VHT、HT和非HT格式的OFDM调制,信道带宽通过ChannelBandwidth
格式配置对象的属性。
对于DMG格式调制方案,信道带宽始终为2640mhz,信道间隔始终为2160mhz。这些值在IEEE 802.11ad™-2012中有规定[4],第21.3.4节和附件E-1。
对于非ht格式的DSSS调制方案,芯片速率始终为11mhz,符合IEEE 802.11-2012的规定[3],第17.1.1节。
该表显示了与滤波前每种配置格式的标准通道间隔相关的波形采样率。
配置对象 |
|
|
信道间隔(MHz) | 采样率(MHz) (F年代,FC) |
---|---|---|---|---|
|
控制体育 |
对于DMG,信道带宽固定为2640mhz。 |
2160 |
FC=⅔F年代= 1760 |
SC |
||||
OFDM |
F年代= 2640 |
|||
|
OFDM |
|
1 |
F年代= 1 |
|
2 |
F年代= 2 |
||
|
4 |
F年代= 4 |
||
|
8 |
F年代= 8 |
||
|
16 |
F年代= 16 |
||
|
OFDMA |
|
20. |
F年代= 20 |
|
40 |
F年代= 40 |
||
|
80 |
F年代= 80 |
||
|
160 |
F年代= 160 |
||
|
OFDM |
|
20. |
F年代= 20 |
|
40 |
F年代= 40 |
||
|
80 |
F年代= 80 |
||
|
160 |
F年代= 160 |
||
|
OFDM |
|
20. |
F年代= 20 |
|
40 |
F年代= 40 |
||
|
DSSS / CCK |
不适用 |
11 |
FC= 11 |
OFDM |
|
5 |
F年代= 5 |
|
|
10 |
F年代= 10 |
||
|
20. |
F年代= 20 |
||
F年代为OFDM采样率。 FC为单载波、控制PHY和DSSS/CCK调制的芯片速率。 |
OFDM符号窗口
OFDM自然适合用傅里叶变换进行处理。使用IFFT处理OFDM符号的一个负面影响是产生符号边缘不连续。这些不连续性在连续OFDM符号之间的过渡区域造成带外发射。为了平滑符号之间的不连续并减少符号间的带外辐射,可以使用wlanWaveformGenerator
函数应用OFDM符号窗口。要应用窗口,请设置WindowTransitionTime
到大于0。
当加窗时,过渡区域被添加到OFDM符号的前后边缘wlanWaveformGenerator
。窗口扩展OFDM符号的长度WindowTransitionTime
(TTR).
扩展后的波形采用IEEE标准802.11-2012中规定的加窗函数,在时域内通过逐点乘法加窗[3],第18.3.2.5节:
加窗函数作用于OFDM符号的前导和后导部分:
- - - - - -TTR/ 2TTR/ 2
- - - - - -T - TTR/ 2T + TTR/ 2
对每个符号加窗后,采用逐点加法对连续OFDM符号之间的重叠区域进行合并。具体来说,OFDM符号1 (T- - - - - -TTR/ 2T+TTR/2)加到OFDM符号2(-)开始处的前导肩部样本中TTR/ 2TTR/ 2)。
以这种方式平滑连续OFDM符号之间的重叠可减少带外发射。wlanWaveformGenerator
使用OFDM符号窗口之间:
包内的每个OFDM符号
波形内连续的数据包,考虑到
IdleTime
之间的数据包所生成波形的最后和第一个包
打开DMG格式数据包
对于DMG格式,窗口只适用于使用OFDM PHY传输的数据包,并且只适用于OFDM调制符号。对于OFDM PHY,只有报头和数据符号是OFDM调制的。前导(STF和CEF)和训练域是单载波调制的,没有加窗。类似于连续OFDM符号所经历的带外发射,如图所示,CEF和第一训练子域受到来自相邻带窗OFDM符号的标称带外发射的影响。
有关如何使用的更多信息wlanWaveformGenerator
处理连续数据包的窗口IdleTime
对于最后一个波形包,请参见波形循环。
波形循环
要产生连续的输入流,您可以在从最后一个数据包返回到第一个数据包的波形上进行代码循环。
对所生成波形的最后和第一个OFDM符号应用窗口使波形的最后和第一个包之间的过渡平滑。当WindowTransitionTime
大于0,wlanWaveformGenerator
适用于OFDM符号窗口。
在循环一个波形时,的最后一个符号packet_N后面是第一个OFDM符号packet_1。如果波形只有一个数据包,则波形从数据包的最后一个OFDM符号循环到同一数据包的第一个OFDM符号。
当对数据包的最后一个OFDM符号和下一个数据包的第一个OFDM符号应用窗口时,数据包之间的空闲时间会影响应用的窗口。属性指定空闲时间IdleTime
的属性wlanWaveformGenerator
。
循环DMG格式波形
对于DMG格式波形,有三种循环场景:
由没有训练子字段的DMG OFDM-PHY数据包组成的波形的环路行为类似于中概述的一般情况波形循环但是波形的第一个符号(和每个包)没有窗口。
如果
IdleTime
为零的波形,窗口部分(从T来T+TTR/2)的最后一个数据符号被添加到STF字段的开始。如果
IdleTime
对于波形是非零的IdleTime
附加在窗口部分的末尾(在T+TTR/2)最后一个OFDM符号。
当由DMG OFDM-PHY包组成的波形包含训练子域时,对波形末端的单载波调制符号不加窗。最后一个训练子字段的最后一个样本后面是波形中第一个数据包的第一个STF样本。
如果
IdleTime
为零,没有重叠。如果
IdleTime
为非零的波形,该值指定最后一次采样之间的延迟packet_N第一个in的样本packet_1。
当波形由DMG-SC或DMG-Control物理层包组成时,波形的末端是单载波调制的,因此对最后一个波形符号没有加窗。最后一个训练子字段的最后一个样本后面是波形中第一个数据包的第一个STF样本。
如果
IdleTime
为零,没有重叠。如果
IdleTime
为非零的波形,该值指定最后一次采样之间的延迟packet_N第一个in的样本packet_1。
请注意
同样的循环行为适用于由带有训练子字段的DMG OFDM-PHY数据包、DMG- sc PHY数据包或DMG- control PHY数据包组成的波形。
扰频器初始化
传输数据上使用的扰码器初始化遵循IEEE标准802.11-2012第18.3.5.5节和IEEE标准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
:
De2bi (1,7,'left-msb') ans = 0 0 0 0 0 0 1
参考文献
信息技术标准草案。系统间的电信和信息交换。局域网和城域网。特殊要求。第11部分:无线局域网介质访问控制(MAC)和物理层(PHY)规范。修改件6:高效WLAN的增强。
信息技术IEEE标准。系统间的电信和信息交换。局域网和城域网。特殊要求。第11部分:无线局域网介质访问控制(MAC)和物理层(PHY)规范。
信息技术IEEE标准。系统间的电信和信息交换。局域网和城域网。特殊要求。第11部分:无线局域网介质访问控制(MAC)和物理层(PHY)规范。
信息技术IEEE标准。系统间的电信和信息交换。局域网和城域网。特殊要求。第11部分:无线局域网介质访问控制(MAC)和物理层(PHY)规范。修改件3:60ghz频段中非常高吞吐量的增强。
扩展功能
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
另请参阅
功能
getPSDULength
|packetFormat
|phyType
|ruInfo
|wlanDMGConfig
|wlanFieldIndices
|wlanHEMUConfig
|wlanHESUConfig
|wlanHTConfig
|wlanNonHTConfig
|wlanS1GConfig
|wlanVHTConfig
应用程序
在R2015b中引入
[1]IEEE标准802.11-2016改编并经IEEE许可转载。IEEE 2016版权所有版权所有。
MATLAB命令
您点击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
你亦可选择下列网址:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家网站没有针对您所在位置的访问进行优化。