一种混合载波WLAN系统的填零方法及装置
技术领域
本发明涉及一种混合载波WLAN系统的数据字段填零方法及装置,属于无线通信系统技术领域。
背景技术
在通信系统中,受用户发送数据的突发性影响,用户需要发送的数据的长度可能为任意长度。但通信系统处理用户数据时,一般按固定大小的基本数据单元块进行处理,比如分组编码的码字长度一般是固定的、快速傅里叶变换(Fast Fourier Transformation,FFT)的长度也是固定等。为了满足这些约束条件,通信系统通常需要在数据字段的尾部填充一定的零比特,进而使填零后的用户数据满足整数个基本数据单元块的处理要求。为了抵抗突发性错误及提升通信系统的鲁棒性能,具有接近香农容量及较低译码复杂度的LDPC(Low Density Parity Check,LDPC)编码已被广泛采用,如卫星通信、无线局域网(IEEE802.11)等。在通信系统中LDPC编码一般采用固定码字长度,为方便系统对用户的数据进行编译码处理,因此需要对用户的数据进行填零操作以使填零后数据满足整数个码字长度。在多用户通信系统中,为方便对所有用户的数据进行统一处理,需要通过填零操作将不同用户的数据补齐到相同长度。
为了进一步提升WLAN的传输速率,IEEE 802.11n和IEEE 802.11ac两个标准均采用多输入多输出(Multiple Input Multiple Output,MIMO)技术实现空间复用目标。同时为了提升系统容量,复用发送即多流技术也被广泛使用,进而给为对所有数据流进行统一处理的填零操作带来困难。SC系统中数据通过在时域以固定FFT长度的基本数据单元块进行发送,而OFDM系统中数据则通过在频域以固定FFT长度的数据OFDM符号块进行发送。在SC调制发送系统中,数据的填零操作可分为按码字填零和按基本数据单元块填零两个步骤。在OFDM调制发送系统,则只需按基本数据单元块进行填零处理,同时为了降低数据OFDM符号的峰值平均功率比(Peak to Average Power Ratio,PAPR),通常需要在扰码操作之前填零,因为扰码后再按数据OFDM符号块进行填零操作,会使数据OFDM符号块尾部各个子载波相位相同或相近,叠加信号会产生较大的瞬时功率峰值,从而带来较高的PAPR。而高的PAPR会对系统的功率放大器提出更高的要求,增加通信系统的成本。
发明内容
发明目的:针对现有技术中,SC调制发送系统填零操作开销大,以及OFDM调制发送系统按数据OFDM符号块填零引起高PAPR等问题,本发明提出了一种混合载波WLAN系统的数据字段填零方法及装置,在填零操作后用户数据同时满足整数个符号块长度和整数个码字长度。此外,在SC调制发送系统中以最小的开销完成填零操作,在OFDM调制发送系统中完成填零操作的同时最大限度地降低由此带来的PAPR增加。本发明需要WLAN协议支持有两种信令字段,即SIG-A和SIG-B字段用来分别承载解析发送数据所需的基本信息,如现有的IEEE802.11ac及正在制定IEEE802.11aj协议均有这两个字段,而且本发明主要应用于正在制定IEEE802.11aj协议,但不局限于这两种协议。
技术方案:一种混合载波WLAN系统的数据字段填零方法,包括以下步骤:
步骤1:发送端配置SIG-A字段的SC/OFDM子字段,SC/OFDM取值为0或1,SC/OFDM=0表示SC调制发送系统,SC/OFDM=1表示OFDM调制发送系统。当SC/OFDM=1时配置带宽(BW)子字段、物理层服务数据单元(PHYService Data Unit,PSDU)长度(Length)子字段、空时分组编码(Spatial Time Block Coding,STBC)子字段(只针对单用户)、调制编码方案(MCS)子字段(包含SU MCS和MU MCS)、用户分组号(GroupID)和空时数据流数(NSTS)子字段(包含SU NSTS和MU NSTS)。单用户发送时,将BW、Length、STBC、SU MCS、GroupID和SU NSTS子字段写入用户的SIG-A字段;多用户发送时各用户的带宽相同,需将BW、GroupID和各用户的MUNSTS子字段写入用户的SIG-A字段,将各用户的Length和MU MCS子字段写入各用户相应的SIG-B字段,SIG-A的Length子字段则配置为各用户的数据长度中最大者;当SC/OFDM=0时,字段配置同OFDM系统单用户发送;上述这些子字段相关信息将用来计算填零比特数;
步骤2:发送端按SC/OFDM子字段指示值,对OFDM调制发送系统或者SC调制发送系统进行相应的填零操作:
当SC/OFDM=1时,即OFDM调制发送,数据字段填零操作如下:
首先,计算数据字段的数据OFDM符号数:
当GroupID子字段指示为单用户发送时,单用户系统中数据OFDM符号数NSYM的计算公式如下:
(公式1)
公式1中,Length表示SIG-A字段中Length子字段指示的PSDU长度,单位是字节,R是SIG-A字段中SU MCS子字段指示的调制编码方案的对应编码所采用的码率,mSTBC根据用户是否使用STBC确定,当SIG-A字段的STBC子字段指示使用STBC时,mSTBC=2,否则mSTBC=1,LCW表示固定的码字长度,lcm{·}表示取最小公倍数,NCBPS表示每个数据OFDM符号所包含的编码比特数,计算公式为:
NCBPS=NSD×NBPSCS×NSS (公式2)
其中,NSD为SIG-A字段中BW子字段指示的带宽所对应的每个数据OFDM符号包含的星座调制符号数,NBPSCS为SIG-A字段中SU MCS子字段指示的调制编码方案所对应的每星座调制符号包含的比特数,NSS为SIG-A字段中SUNSTS子字段和STBC字段计算得到的对应的空间数据流数,其计算公式为;
(公式3)
其中,NSTS为SIG-A字段中SU NSTS子字段指示的用户空时数据流数,mSTBC根据用户是否使用STBC确定,当SIG-A字段的STBC子字段指示使用STBC时,mSTBC=2,否则mSTBC=1。
当GroupID子字段指示为多用户发送时,多用户系统中数据OFDM符号数NSYM的计算公式如下:
(公式4)
(公式5)
公式4和公式5中,NSYM,u表示用户u的数据OFDM符号数,u为用户编号,取值为0到Nuser-1,Nuser表示同时发送数据的用户总数,Lengthu表示用户u的SIG-B字段中Length子字段指示的PSDU长度,单位是字节,Ru是用户u的SIG-B字段中MCS子字段指示的用户u调制编码方案的对应编码所采用的码率,LCW表示固定的码字长度,lcm{·}表示取最小公倍数,max{·}表示取最大值,NCBPS,u表示用户u的数据OFDM符号的编码比特数,其计算公式为:
NCBPS,u=NSD×NBPSCS,u×NSTS,u (公式13)
其中,NSD为SIG-A字段中BW子字段指示的带宽所对应的每个数据OFDM符号包含的星座调制符号数,NBPSCS,u为SIG-B字段中MU MCS子字段指示的用户u的调制编码方案所对应的每星座调制符号包含的比特数,NSTS,u为SIG-A字段中MU NSTS子字段指示的用户u的空时数据流数;
其次,根据数据OFDM符号数,计算需要填零比特数NPAD:
单用户系统中,NPAD计算公式如下:
NPAD=R×NSYM×NCBPS-Length×8 (公式6)
公式6中,R是SIG-A字段中SU MCS子字段指示的调制编码方案对应编码所采用的码率,NCBPS表示数据OFDM符号的编码比特数,NSYM为由公式1计算所得数据OFDM符号数,Length表示SIG-A字段Length子字段指示的PSDU长度,单位是字节;
多用户系统中,用户u的填零比特数NPAD,u计算公式如下:
NPAD,u=Ru×NSYM×NCBPS,u-Lengthu×8 (公式7)
公式7中,Ru是SIG-B字段中MU MCS子字段指示的用户u调制编码方案对应编码所采用的码率,NCBPS,u表示由公式13计算所得用户u的每个数据OFDM符号所包含的编码比特数,NSYM为由公式5计算得到的数据OFDM符号数;
最后,根据计算得到的填零比特数NPAD,对用户进行填零操作,单用户系统中填零操作针对该用户,多用户系统中填零操作分别针对每个用户进行;
当SC/OFDM=0时,即SC调制发送,填零操作如下:
首先,计算数据字段的码字数和按码字填零的填零比特数NPAD,对数据进行填零:
数据字段的码字数NCW的计算公式如下:
(公式8)
按码字填零的填零比特数NPAD的计算公式如下:
NPAD=R×NCW×LCW-Length×8 (公式9)
公式8和公式9中,Length表示SIG-A字段中Length子字段指示的PSDU长度,单位是字节,LCW表示固定的码字长度,R是SIG-A字段中SU MCS子字段指示的调制编码方案的对应编码所采用的码率;
然后,计算数据单元块数和按数据单元块填零的填零比特数NBPAD,并在编码操作后对数据进行填零:
数据单元块数NBL的计算公式如下:
(公式10)
公式10中,NCW表示码字数,LCW表示固定的码字长度,mSTBC根据用户是否使用STBC确定,当SIG-A字段的STBC子字段指示使用STBC时,mSTBC=2,否则mSTBC=1,NCBPB表示每数据单元块编码比特数,计算公式为:
NCBPB=NDSPB×NCBPS×NSS (公式11)
其中,NDSPB表示每数据单元块星座调制符号数,NCBPS表示每星座调制符号编码比特数,NSS表示空间数据流数,其计算公式同公式3;
按数据单元块填零的填零比特数NBPAD计算公式如下:
NBPAD=NBL×NCBPB-NCW×LCW (公式12)
公式12中,NBL表示数据单元块数,NCBPB表示每数据单元块编码比特数,NCW表示码字数,LCW表示固定的码字长度;
步骤3:接收端解析SIG-A字段中SC/OFDM子字段,SIG-A字段和SIG-B字段中与填零相关的BW子字段、Length子字段、STBC子字段、MCS子字段、NSTS子字段和GroupID子字段;
步骤4:接收端根据用户SIG-A字段中SC/OFDM字段的指示,区分SC调制发送系统和OFDM调制发送系统,并根据填零相关子字段计算出填零比特数,去除接收数据尾部的填零比特,恢复出用户填零前数据。OFDM调制发送系统中,去除填零比特在解扰操作后进行,单用户系统中去除的填零比特数为步骤2公式6中计算得到的NPAD,多用户系统中用户u去除的填零比特数为步骤2公式7中计算得到的NPAD,u。SC调制发送系统中,去除填零比特分为在解码操作前和解扰操作后进行,解码操作前去除的填零比特数为步骤2公式12中计算得到的NBPAD,解扰操作后去除的填零比特数为步骤2公式9中计算得到的NPAD,通过两步去除填零比特,与发送端填零步骤按码字填零和按数据单元块填零相对应。
采用上述方法的一种混合载波WLAN系统的数据字段填零装置,包括发送机和接收机。所述发送机包括填零计算模块和数据填零模块;发送机用于配置字段信息,对用户数据进行填零操作,使得数据长度满足整数个符号块和整数个码子长度,并将填零后的数据发送给接收机;填零计算模块,用于根据发送机的配置字段信息,计算填零比特数;数据填零模块,用于根据发送机的配置字段信息和填零比特数,对用户进行数据字段填零操作。所述接收机包括填零计算模块和数据去零模块;接收机,用于解析配置字段信息,并去除接收数据尾部的填零比特,恢复出用户填零前的数据;填零计算模块,用于根据解析到的配置字段信息,计算填零的比特数;数据去零模块,用于根据解析到的配置字段信息和填零的比特数,对用户进行数据字段去零操作。
有益效果:本发明提供的一种混合载波WLAN系统的数据字段填零方法及装置,可以使用户数据分别在SC调制发送系统和OFDM调制发送系统填零操作后同时满足整数个符号块长度和整数个码字长度,既在SC调制发送系统中以最小的开销完成填零操作,又可以在OFDM调制发送系统中完成填零操作的同时最大限度地降低由此而带来PAPR的增加,方便通信系统对数据的后续处理。
附图说明
图1为本发明实施例的流程图;
图2为本发明实施例的物理层SIG-A字段和SIG-B字段中部分子字段示意图;
图3为本发明实施例的SC调制发送系统填零流程图。
具体实施方式
下面以毫米波无线局域网(IEEE 802.11aj)为例,结合附图对本发明一种混合载波WLAN系统的数据字段填零方法及装置的具体实施方式作进一步详细说明。应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利。
本发明实施例中,采用IEEE 802.11aj中的OFDM数据发送和SC数据发送,采用数据发送带宽为540MHz,对应的一个数据OFDM符号包含的星座调制符号数为168,一个SC数据单元块包含的星座调制符号数为256,采用的编码方式为LDPC编码,固定编码长度为672bits,码率为1/2,调制方式为64QAM(Quadrature Amplitude Modulation,QAM)调制,单用户实施例中PSDU长度为4000字节,采用的空间数据流数为3,多用户实施例中包含两个用户,PSDU长度分别为4000字节和6000字节,采用的空间数据流数分别为1和2。支持不同带宽、不同空间数据流数和不同调制方式的场景可以修改本实施例中的例子得到。
如图1所示,一种混合载波WLAN系统的数据字段填零方法及装置具体包括如下步骤:
实施例1:OFDM调制发送系统中单用户的填零实施例
步骤1:发送端配置SIG-A字段,其中SC/OFDM=1表示数据发送采用OFDM载波调制方式,BW子字段配置为BW=0,表示数据发送带宽为540MHz,Length子字段配置为Length=4000,表示PSDU长度为4000字节,STBC子字段配置为STBC=0表示不使用STBC,SU MCS子字段配置为SUMCS=3表示调制编码方案为64QAM,SU NSTS子字段配置为SU NSTS=3表示3个空时数据流,GroupID子字段配置为GroupID=1表示单用户,具体见图2,这些子字段的相关信息将用来计算填零比特数;
步骤2:发送端按SC/OFDM子字段指示值SC/OFDM=1,按OFDM调制发送系统进行填零操作:
首先,计算单用户系统中数据字段的数据OFDM符号数:
由实施例中参数配置知SU NSTS=3和STBC=0,由STBC=0知mSTBC=1,根据公式3计算得NSS=3;
由BW=0知NSD=168,由SU MCS=3知NBPSCS=6,根据公式2计算得NCBPS=NSD×NBPSCS×NSS=168×6×3=3024;
由实施例中参数配置知LCW=672,R=1/2,由SIG-A字段Length=4000知Length=4000,由SIG-A字段STBC=0知mSTBC=1,根据公式1计算得
其次,根据数据OFDM符号数,计算填零比特数NPAD:
根据(公式6)算得
NPAD=R×NSYM×NCBPS-Length×8
=1/2×22×3024-4000×8
=1264
最后,根据计算得到的填零比特数NPAD,对用户进行填零操作,本例中对用户数据进行填零的比特数为1264;
步骤3:接收端解析SIG-A字段中SC/OFDM子字段和SIG-A字段中与填零相关BW子字段、Length子字段、STBC子字段、SU MCS子字段和SU NSTS子字段;
步骤4:接收端根据用户SIG-A中SC/OFDM=1知为OFDM调制发送系统,OFDM调制发送系统中,去除填零比特在解扰操作后进行,本例中单用户系统中去除的填零比特数为步骤2中计算得到的NPAD=1264,通过在解扰操作后去除用户数据尾部的1264个比特恢复出用户填零前数据。
实施例2:OFDM调制发送系统中多用户的填零实施例
步骤1:发送端配置SIG-A字段和SIG-B字段,其中SIG-A字段中SC/OFDM=1表示数据发送采用OFDM载波调制方式,BW子字段配置为BW=0,表示数据发送带宽为540MHz,MUNSTS子字段配置为MU[0]NST=1表示用户0包含1个空时数据流,MU[1]NST=2表示用户1包含2个空时数据流,GroupID子字段配置为GroupID=2表示系统包含两个用户,用户0的SIG-B字段中Length子字段配置为Length=4000,表示PSDU长度为4000字节,MU MCS子字段配置为MU MCS=3表示调制编码方案为64QAM,用户1的SIG-B字段中Length子字段配置为Length=6000,表示PSDU长度为6000字节,MU MCS子字段配置为MU MCS=3表示调制编码方案为64QAM,用户0和用户1的SIG-A字段相同,SIG-B字段并不相同,具体见图2,这些子字段的相关信息将用来计算填零比特数;
步骤2:发送端按SC/OFDM子字段指示值SC/OFDM=1,按OFDM调制发送系统进行填零操作:
首先,计算多用户系统中数据字段的数据OFDM符号数:
对用户0,由实施例中参数配置,由SIG-A字段中BW=0知NSD=168,MU[0]NST=1知用户0包含1个空时数据流,由SIG-B字段中MU MCS=3知NBPSCS=6,根据公式13计算得NCBPS,0=NSD×NBPSCS,0×NSTS,0=168×6×1=1008;
由实施例中参数配置知LCW=672,R0=1/2,由SIG-B字段Length=4000知Length0=4000,根据公式4计算得
对用户1,由实施例中参数配置,由SIG-A字段中BW=0知NSD=168,MU[1]NST=2知用户1包含2个空时数据流,由SIG-B字段中MU MCS=3知NBPSCS=6,根据公式13计算得NCBPS,1=NSD×NBPSCS,1×NSTS,1=168×6×2=2016;
由实施例中参数配置知LCW=672,R1=1/2,由SIG-B字段Length=6000知Length1=6000,根据公式4计算得
根据公式5计算得
其次,根据数据OFDM符号数,计算用户u的填零比特数NPAD,u:
用户0的填零比特数NPAD,0根据公式7计算得
NPAD,0=R0×NSYM×NCBPS,0-Length0×8
=1/2×64×1008-4000×8
=256
用户1的填零比特数NPAD,1根据公式7计算得
NPAD,1=R1×NSYM×NCBPS,1-Length1×8
=1/2×64×2016-6000×8
=16512
最后,根据计算得到的填零比特数NPAD,u,对各用户进行填零操作,本例中对用户0的数据进行填零的比特数为256,对用户1的数据进行填零的比特数为16512;
步骤3:接收端解析SIG-A字段中SC/OFDM子字段,SIG-A字段和SIG-B字段中与填零相关的BW子字段、Length子字段、MU MCS子字段、MU NSTS子字段和GroupID子字段;
步骤4:接收端根据用户0和用户1的SIG-A中SC/OFDM=1知为OFDM调制发送系统。OFDM调制发送系统中,去除填零比特在解扰操作后进行,本例多用户系统中用户0去除的填零比特数为步骤2中计算得到的NPAD,0=256,用户1去除的填零比特数为步骤2中计算得到的NPAD,1=16512,通过在解扰操作后去除用户0的数据尾部的256个比特恢复出用户0填零前数据,通过在解扰操作后去除用户1的数据尾部的16512个比特恢复出用户1填零前数据。
实施例3:SC调制发送系统中填零实施例,流程图见图3
步骤1:发送端配置SIG-A字段,其中SC/OFDM=0表示数据发送采用SC载波调制方式,其他子字段配置同实施例1步骤1;
步骤2:发送端按SC/OFDM子字段指示值SC/OFDM=0,按SC调制发送系统进行填零操作:
首先,计算数据字段的码字数和按码字填零的填零比特数NPAD,对数据进行填零:
由实施例参数配置知LCW=672,R=1/2,由Length=4000知Length=4000,根据公式8计算数据字段的码字数NCW,得
根据公式9计算按码字填零的填零比特数NPAD,得:
NPAD=R×NCW×LCW-Length×8
=1/2×96×672-4000×8
=256
然后,计算数据单元块数和按数据单元块填零的填零比特数NBPAD,并在编码操作后对数据进行填零:
由实施例参数配置知SU NSTS=3和STBC=0,由STBC=0知mSTBC=1,根据公式3计算得NSS=3;
由BW=0知NDSPB=256,由SU MCS=3知NCBPS=6,根据公式11计算得
NCBPB=NDSPB×NCBPS×NSS=256×6×3=4608
根据公式10计算数据单元块数NBL,得:
根据公式12计算按数据单元块填零的填零比特数NBPAD,得:
NBPAD=NBL×NCBPB-NCW×LCW
=14×4608-96×672
=0
本例中计算得NBPAD=0,即数据按码字填零后恰好为SC数据单元块整数倍,所以按数据块填零的填零比特数为0;
步骤3:接收端解析SIG-A字段中SC/OFDM子字段和SIG-A字段中与填零相关BW子字段、Length子字段、STBC子字段、SU MCS子字段和SU NSTS子字段;
步骤4:接收端根据用户SIG中SC/OFDM字段的指示SC/OFDM=0,知系统为SC调制发送系统,去除填零比特分为在解码操作前和解扰操作后进行,本例中,解码操作前去除的填零比特数为步骤2中计算得到的NBPAD=0,解扰操作后去除的填零比特数为步骤2中计算得到的NPAD=256,通过两步去除填零比特,恢复出用户的数据比特。