本公开要求于2015年12月11日提交的标题为“Puncturing for HESIGB in 11ax”的美国临时专利申请No.62/266,224的优先权,其公开内容通过引用整体并入本文。
具体实施方式
在下面描述的实施例中,诸如无线局域网(WLAN)的接入点(AP)的无线网络设备将数据流发送到一个或多个客户站。AP被配置为根据至少第一通信协议与客户站一起操作。第一通信协议在本文中有时被称为“高效WiFi”、“HEW”通信协议、“HE”通信协议或IEEE802.11ax通信协议。在一个实施例中,第一通信协议支持从AP到一个或多个客户站的下行链路方向和从一个或多个客户站到AP的上行链路方向的正交频分(OFDM)通信。在一个实施例中,在一些实施例中,第一通信协议支持一个或多个多用户(MU)模式,其中AP向多个客户站同时发送多个独立数据流,或者接收由多个客户站同时发送的独立数据流。到多个客户站的或由多个客户站进行的多用户传输使用MU多输入多输出(MU-MIMO)传输而被执行,其中相应空间流被用于到多个客户站中的相应客户站的传输或由多个客户站中的相应客户站进行的传输,和/或在各种实施例中使用正交频分多址(OFDMA)的传输,其中通信信道的相应频率子信道被用于到多个客户站中的相应客户站的或由多个客户站中的相应客户站进行的同时传输。
在各种实施例中,在下行链路方向上从AP向一个或多个客户站(“DL数据单元”)发送的数据单元在数据单元的物理层(PHY)前导码中包括一个或多个字段,一个或多个字段包括在接收设备处正确接收和解码DL数据单元所需的格式信息。例如,对于利用OFDMA的DLMU数据单元,根据一些实施例,PHY前导码包括一个或多个字段,一个或多个字段包括指示数据单元的PHY数据部分中的频率资源如何在多个接收设备之间分配的信息。作为另一示例,根据一些实施例,对于利用MU-MIMO的DL MU数据单元,PHY前导码包括一个或多个字段,一个或多个字段包括指示数据单元的PHY数据部分中的多个空间流如何在多个接收设备之间分配的信息。在各种实施例中,多个接收设备在PHY前导码中使用这样的信息来在合适的频率部分上解码DL OFDMA数据单元的PHY数据部分中的信息和/或对应于适当的空间流。
图1是根据一个实施例的示例WLAN 10的框图,其中利用了下面描述的技术。在一些实施例中,WLAN 10支持AP与多个客户站之间的下行链路(DL)和/或上行链路(UL)OFDMA通信。在一些实施例中,WLAN 10还支持AP和多个客户站之间的DL和/或UL多用户多输入和多输出(MU-MIMO)通信。另外,在一些实施例中,WLAN10支持AP与多个客户站中的每一个之间的DL和UL单用户(SU)通信。
WLAN 10包括AP 14,并且AP 14又包括耦合到网络接口设备16的主处理器15。网络接口设备16包括媒体访问控制(MAC)处理单元18和物理层(PHY)处理单元20。PHY处理单元20包括多个收发机21,并且收发机21耦合到多个天线24。尽管在图1中示出了三个收发机21和三个天线24,但是在其他实施例中,AP 14包括其他合适数目(例如,1、2、4、5等)的收发机21和天线24。在一个实施例中,MAC处理单元18和PHY处理单元20被配置为根据第一通信协议(例如,HE通信协议)进行操作。在一个实施例中,网络接口设备16包括一个或多个集成电路(IC)设备。例如,根据一个实施例,MAC处理单元18的至少一些功能和PHY处理单元20的至少一些功能被实现在单个IC设备上。作为另一示例,根据一个实施例,MAC处理单元18的至少一些功能被实现在第一IC设备上,并且PHY处理单元20的至少一些功能被实现在第二IC设备上。
WLAN 10包括多个客户站25。尽管在图1中示出了四个客户站25,但是在各种场景和实施例中,WLAN 10包括其他合适数目(例如,1、2、3、5、6等)的客户站25。至少一个客户站25(例如,客户站25-1)被配置为至少根据第一通信协议进行操作。在一些实施例中,客户站25中的至少一个未被配置为根据第一通信协议进行操作,但被配置为根据传统通信协议(在此被称为“传统客户站”)进行操作。
客户站25-1包括耦合到网络接口设备27的主处理器26。网络接口设备27包括MAC处理单元28和PHY处理单元29。PHY处理单元29包括多个收发机30,并且收发机30耦合到多个天线34。尽管在图1中示出了三个收发机30和三个天线34,但是在其他实施例中客户站25-1包括其他合适数目(例如,1、2、4、5等)的收发机30和天线34。在一个实施例中,MAC处理单元28和PHY处理单元29被配置为根据第一通信协议(例如,HE通信协议)进行操作。在一个实施例中,网络接口设备27包括一个或多个IC设备。例如,根据一个实施例,MAC处理单元28的至少一些功能和PHY处理单元29的至少一些功能被实现在单个IC设备上。作为另一示例,根据一个实施例,MAC处理单元28的至少一些功能被实现在第一IC设备上,并且PHY处理单元29的至少一些功能被实现在第二IC设备上。
根据一个实施例,客户站25-4是传统客户站,即,客户站25-4不能够接收并完全解码由AP 14或另一个客户站25根据第一通信协议发送的数据单元。类似地,根据一个实施例,传统客户站25-4不能根据第一通信协议发送数据单元。另一方面,传统客户站25-4能够根据第二传统通信协议接收和完全解码并发送数据单元。
在一个实施例中,客户站25-2和25-3中的一个或两个具有与客户站25-1相同或相似的结构。在一个实施例中,客户站25-4具有与客户站25-1相似的结构。在这些实施例中,与客户站25-1相同或相似结构的客户站25具有相同或不同数目的收发器和天线。例如,根据一个实施例,客户站25-2仅具有两个收发机和两个天线。
在各种实施例中,AP 14的PHY处理单元20被配置为生成符合第一通信协议的并且具有这里描述的格式的数据单元。收发机21被配置为经由天线24发送所生成的数据单元。类似地,收发机24被配置为经由天线24接收数据单元。根据各种实施例,AP 14的PHY处理单元20被配置为处理符合第一通信协议并且具有这里描述的格式的接收到的数据单元并且确定这样的数据单元符合第一通信协议。
在各种实施例中,客户端设备25-1的PHY处理单元29被配置为生成符合第一通信协议的并且具有这里描述的格式的数据单元。收发机30被配置为经由天线34发送所生成的数据单元。类似地,收发机30被配置为经由天线34接收数据单元。根据各种实施例,客户端设备25-1的PHY处理单元29被配置为处理符合第一通信协议并具有在下文中描述的格式的接收到的数据单元并且确定这样的数据单元符合第一通信协议。
图2是根据一个实施例的AP 14被配置为向一个或多个客户站25(例如,客户站25-1、25-2、25中的一个或多个)发送的物理层(PHY)数据单元200的图。在一个实施例中,一个或多个客户站25被配置为向AP 14发送与数据单元200相同或相似的数据单元。数据单元200符合HE通信协议并占用80MHz的带宽。在其他实施例中,类似于数据单元200的数据单元占用其他合适的带宽,诸如20MHz、40MHz、120MHz、160MHz、320MHz、640MHz等,例如,或者其他合适的带宽。数据单元200适用于“混合模式”的情况,即当WLAN 10包括符合传统通信协议而不是第一通信协议的客户站(例如,传统客户端站24-4)时。在一些实施例中,数据单元200也用于其他场景。
在各种实施例和/或场景中,数据单元200是下行链路(DL)正交频分多址(OFDMA)单元,其中独立数据流使用OFDM音的相应集合被发送到多个客户站25,并且在一些情况下使用分配给客户站25的相应空间流。因此,在一些实施例中,AP 14生成并发送数据单元200。
在一个实施例中,可用OFDM音(例如,未被用作直流(DC)音和/或保护音的OFDM音)被划分成多个资源单元(RU),并且多个RU中的每一个被分配到一个或多个客户站25以向一个或多个客户站25传输数据。在一个实施例中,OFDM音的分配使用由第一通信协议定义的基本资源单元块来执行。基本资源单元块在本文中有时被简称为“基本资源单元”。例如,在一个实施例中,基本资源单元包括M个OFDM音,其中M是大于零的整数。在一个实施例中,每个被分配的资源单元包括一个或多个M-OFDM音基本资源单元。作为一个例子,在一个实施例中,M=26。根据该说明性示例,在该实施例中,基本资源单元包括26个OFDM音。
在一个实施例中,分配给一个客户站25或分配给多个客户站25的资源单元包括多个OFDM音,其是M个(例如26个)OFDM音的整数倍,诸如M*1(例如26)个OFDM音、M*2(例如52)个OFDM音、M*3(例如78)个OFDM音等。在另一个实施例中,M是除26之外的任何合适的整数,并且基本资源单元包括除了26之外的相应数目的OFDM音。
在一些实施例中,第一协议定义合适带宽(例如,1MHz、5MHz,10MHz、20MHz等)的相应通信信道,并且复合通信信道可以通过聚合或“结合在一起”多个单独信道形成。因此,在图2的示例中,根据一个实施例,数据单元200跨越包括四个单独的通信信道的复合通信信道。在其它实施例和/或场景中,复合通信信道可以包括不同合适数目的单独的通信信道,例如两个、三个、四个、五个、六个、七个等。在一个说明性实施例中,第一通信协议允许复合通信信道包括两个、四个、八个或十六个单独的通信信道。
在一个实施例中,每个单独的通信信道包括适合数目的基本资源单元。在一个说明性实施例中,每个单独的通信信道跨越20MHz的带宽,并且每个单独的通信信道包括九个基本资源单元,其中每个基本资源单元包括26个OFDM音。在其他实施例中,每个单独的通信信道包括适合数目的不同于9的基本资源单元,诸如两个、三个、四个、五个等。
数据单元200包括PHY前导码204和PHY数据部分208。PHY前导码204包括传统部分212和HE部分216。
传统部分212包括传统短训练字段(L-STF)220、传统长训练字段(L-LTF)224和传统信号字段(L-SIG)228。在一个实施例中,每个L-STF 220、L-LTF 224和L-SIG 228跨越单独的通信信道并被复制到其他单独的通信信道中。例如,在一个实施例中,每个L-STF220、L-LTF 224和L-SIG 228跨越单独的20MHz通信信道并且被复制到其他单独的20MHz通信信道中。
HE部分216包括第一HE信号字段(HE-SIGA)240、第二HE信号字段(HE-SIGB)242、HE短训练字段(HE-STF)244以及一个或多个HE长训练字段(HE-LTF)248。在一个实施例中,每个HE-SIGA240跨越单独的通信信道并且被复制到其他单独的通信信道中。例如,在一个实施例中,每个HE-SIGA 240跨越单独的20MHz通信信道并且被复制到其他单独的20MHz通信信道中。在其他实施例中,相应单独信道中的相应HE-SIGA 240不是重复的,而是可以包括不同的信息(例如,不同的分配信息),如下面将更详细描述的。在一个实施例中,相应HE-SIGB 242跨越与HE-SIGA 240类似的相应单独的通信信道。在一些实施例中,HE-SIGB 242中的至少一个包括与另一个HE-SIGB 242不同的信息。在一个实施例中,HE-STF 244和HE-LTF248跨越复合通信信道。在其中数据单元200仅跨越单个单独信道的实施例中,数据单元包括单个L-STF 220、单个L-LTF 224、单个L-SIG228、单个HE-SIGA 240和单个HE-SIGB252。
在一些实施例中,前导码204包括未在图2中示出的附加字段。
L-STF 220、L-LTF 224、L-SIG 228、HE-SIGA 240、HE-SIGB 242、HE-STF 244和HE-LTF 248中的每一个包括一个或多个OFDM符号。仅作为示例,在一个实施例中,HE-SIGA 240包括两个OFDM符号,并且HE-SIGB 242包括一个OFDM符号。仅作为另一个示例,在另一个实施例中,HE-SIGA 240包括一个OFDM符号,并且HE-SIGB242包括两个OFDM符号。作为又一示例,在一个实施例中,HE-SIGA224包括两个OFDM符号,并且HE-SIGB 242包括可变数目的OFDM符号。在其中HE-SIGB 242包括可变数目的OFDM符号的实施例中,数据单元200中的HE-SIGB 242 OFDM符号的特定数目在HE-SIGA240中被指示。
在一些实施例中,不同单独的通信信道信号中的信号的调制被旋转不同的角度。例如,在一个实施例中,第一单独的通信信道内的所有OFDM音被旋转0度,第二单独的通信信道内的所有OFDM音被旋转90度,第三单独的通信信道被旋转180度,第四单独的通信信道被旋转270度。在其他实施例中,不同的合适旋转被使用。在至少一些实施例中,单独的通信信道信号的不同相位导致数据单元200中OFDM符号的峰均功率比(PAPR)的降低。
在一个实施例中,HE-SIGA 240和HE-SIGB 242中的每一个通常携带关于数据单元200的格式的信息,诸如在一个实施例中正确解码至少数据部分208所需的信息。在其中数据单元200是多用户数据单元的实施例中,HE-SIGA 240携带数据单元200的多个预期接收机通常需要的信息。在一些实施例中,HE-SIGA 240另外包括不是数据单元200的预定接收器的客户站25的信息,诸如来自不是数据单元200的接收器的客户站25的用于媒体保护所需的信息。
图3是根据一个实施例的被配置为生成PHY前导码的示例PHY处理单元300的发送部分的框图。参考图1,在一个实施例中,AP 14的PHY处理单元20和客户站25-1的PHY处理单元29分别包括和/或被配置为执行PHY处理单元300的处理。在一个实施例中,PHY处理单元300被配置为生成诸如图2的HE-SIGB 242的信号字段。为了便于解释,参考图2的数据单元200的HE-SIGB 242来描述PHY处理单元300。然而,在其他实施例中,PHY处理单元300生成其他合适的PHY前导码字段。
PHY处理单元300生成要包括在HE-SIGB 242(例如,信号字段位)中的信息位(例如,PHY相关位)。在一些实施例中,PHY处理单元300被配置为将尾部位添加到信号字段位。前向FCE PHY填充单元302向信息位添加一个或多个填充位,例如以确保编码数据流中的整数个打孔块和/或确保在编码之后信息位的数目填充整数个OFDM符号。编码器304对信息位和填充位进行编码。在一个实施例中,编码器304是BCC编码器。在一个实施例中,编码器304生成与基本编码速率相对应的初始编码输出位流。在一个实施例中,基本编码率是1/2。在另一个实施例中,另一个合适的编码速率(例如,1/3、1/4等)被使用。在一个实施例中,编码器304包括或者耦合到打孔引擎,打孔引擎打孔与基本编码速率相对应的初始编码输出位流以生成与更高编码速率相对应的输出编码位流。
FEC编码器304的输出(或耦合到FEC编码器304的打孔引擎的输出)耦合到交织器306。交织器306交织位(即,改变位的顺序)以防止相邻噪声位的长序列进入在接收器处的解码器。更具体地,交织器306将相邻位(由编码器304编码)映射到频域或时域中的非相邻位置。交织器306(或编码器304,如果交织器306被省略)的输出耦合到星座映射器308。在一个实施例中,星座映射器308将位映射到与OFDM符号的不同子载波/音相对应的星座点。在一个实施例中,星座映射器308生成与调制位的频域表示相对应的调制数据。例如,在一个实施例和场景中,星座映射器308将位映射到二进制相移键控(BPSK)星座点。在其它实施例和/或场景中,星座映射器308将位映射到与其他合适的调制方案相对应的星座点,诸如相移键控(PSK)、正交幅度调制(QAM),例如4-QAM、16-QAM、64-QAM、128-QAM、256-QAM等。
星座映射器308的输出耦合到音映射器310。在一个实施例中,音映射器310将星座点映射到HE-SIGB 242的OFDM音上。在一个实施例中,音映射器310利用直接音映射。在该实施例中,音映射器310将连续的星座点映射到HE-SIGB 242的连续“有用”或“数据”OFDM音上。在其他实施例中,音映射器310通过将连续星座点映射到HE-SIGB 242的非连续有用OFDM音上来重新排列HE-SIGB242的OFDM音。在一个实施例中,音映射器310是双载波调制(DCM)音映射器,其将每个星座点变换成分别与星座点实部和虚部相对应的一对复符号,并将复符号映射到不同的OFDM音上。在一个实施例中,如果双载波调制没有被用于HE-SIGB242,则音映射器310被绕过。在一些实施例中,音映射器310被省略。
DCM音映射器310的输出耦合到离散时间傅里叶逆变换(IDFT)计算单元312(例如,快速傅立叶逆变换(IFFT)计算单元)。IDFT计算单元312将一块星座点转换为时域信号。IDFT单元2012的输出被提供给与相应空间流相对应的多个发送链中的每一个。循环移位分集(CSD)单元314将循环移位插入所有空间流之一(如果多于一个空间流)以防止无意的波束成形。CSD单元314的输出(或者IDFT计算单元312对于CSD未被应用的一个空间流的输出)被提供给GI插入和加窗单元316,GI插入和加窗单元316预先添加保护间隔(GI)部分,其是实施例中的OFDM符号的循环扩展,并且平滑OFDM符号的边缘以增加频谱延迟。GI插入和加窗单元316的输出被提供给模拟和射频(RF)单元318。每个模拟和RF单元318将相应的信号转换为模拟信号,并将该信号上变频为RF频率以进行传输。
图4是根据一个实施例的信号字段400的框图。在一个实施例中,信号字段400与图2的HE-SIGB字段242相对应。为了便于解释,信号字段400参考图2的数据单元200的HE-SIGB242被描述。然而,信号字段200与数据单元200的另一信号字段(例如,HE-SIGA 240)相对应,或者在一些实施例中被包括在与图2的数据单元200不同的数据单元中。信号字段400包括共用块字段(在本文中有时也被称为“共用块子字段”)402和包括一个或多个用户专用块字段(在本文中有时也被称为“特定块子字段”)410的用户专用部分404。在一个实施例中,共用块字段402通常包括用于数据单元200的所有预定接收器的共用信息。例如,在一个实施例中,共用块字段402包括关于数据单元200的数据部分208的资源分配信息。在一个实施例中,一个或多个用户专用块字段410中的每一个包括用于数据单元200的特定预定接收器的用户专用信息。在一个实施例中,一个或多个用户专用块字段410中的每一个特定的用户专用块字段指示用于向作为数据单元200的预定接收器的客户站25中的特定的一个客户站传输数据的传输参数。在一个实施例中,特定的用户专用块字段410包括特定的客户站25的标识符,该特定的客户站25是数据单元200中数据的预定接收器,并且进一步包括以下中的一个或多个的指示:(i)用于将数据传输到特定的客户站25的调制和编码方案(MCS)、(ii)用于将数据传输到特定的客户站25的空间时间流(Nsts)的数量、(iii)发射波束成形是否被用于将数据传输到特定的客户站25、(iv)双载波调制(DCM)是否被用于将数据传输到特定的客户站25、(v)用于编码特定的客户站25的数据的编码类型(例如,BCC或LDPC)等。
在一些实施例中,共用块字段402包括取决于数据单元200的模式的多个信息位,诸如由数据单元200占用的带宽。例如,共用块字段402包括当数据单元200占用20MHz带宽时的第一数目的信息位和当数据单元200占用40MHz带宽时的第二数目的信息位,在一个实施例中,其中第二数目的信息位大于第一数目的信息位。另外地或替代地,在一些实施例中,用户专用块字段410中的相应包括不同数数目的信息位。在一些实施例中,用户专用块字段410中包括的信息位的数目取决于数据单元200的模式,诸如被数据单元200占用的带宽。仅作为示例,用户专用块字段410包括当数据单元200占用20MHz带宽时的第一数目的信息位和当数据单元200占用40MHz带宽时的第二数目的信息位,在一个实施例中,其中第二数目的信息位大于第一数目的信息位。在一些实施例中,用户专用块字段410中的特定一些包括不同数目的信息位,这取决于与特定用户专用块字段410对应的资源单元一起使用的信道配置。例如,如果用户专用块字段410对应于被分配用于向单个客户站25传输数据的资源单元,用户专用块字段410包括第一数目的位,并且包括第二数目的位,如果用户专用块字段410对应于被分配用于向多个客户站25的群组中的客户站25传输数据的资源单元,其中在一个实施例中,第二数目的信息位大于第一数目的信息位。在一些实施例中,不管数据单元200的模式和/或不管用户专用块字段410对应的特定资源单元的配置,用户专用块字段410包括相同数目的信息位。
图5是根据实施例的用于编码HE-SIGB字段242的共用块字段402和用户专用部分404的编码方案的图。在该实施例中,HE-SIGB字段242的共用块字段402和用户专用部分404使用BCC被编码。在一个实施例中,共用块字段402被单独编码作为第一BCC块502。如图5所示,在一个实施例中,编码的BCC块502包括循环冗余校验位和尾部位。在一个实施例中,CRC位用于检查接收器处的共用块信息位的正确性,并且尾部位用于在接收器处初始化解码器。
继续参照图5,在一个实施例中,用户专用的块字段410被编码成群组,每个群组具有多达K个用户专用的块字段410,其中K是大于0的正整数。在该实施例中,多达K个用户专用块字段410的每个群组被编码为单独的BCC块504。在一个实施例中,如果HE-SIGB字段242中的用户专用块字段410的数目N不能被K整除,则最后的L个用户专用块字段410被编码为最后的BCC块504,其中L是正整数并且其中L<K。在图5的实施例中,K等于2并且L等于1。除了最后一个用户专用块410之外,两个用户专用块字段410的每个群组被编码为各自的BCC块504。在所示实施例中,最后一个用户专用块字段410被单独编码为单独的BCC块504。在其他实施例和/或场景中,K是除2之外的合适整数(例如,3、4、5、6等),并且取决于信号字段中的用户专用块410的数目,L是除1以外的整数(例如,0、2、3、4、5、6等)。
在一个实施例中,K是预定的整数。在另一个实施例中,K是可配置的。例如,在一个实施例中,AP选择或确定将被编码为单独的BCC块504的用户专用块的任何合适的数目K,并且将所确定或选择的数目K显式地或隐式地通知给客户站25。
在一些实施例中,用户专用块字段410被编码在不必包括相同数目的用户专用块字段410的群组中。作为一个示例,在一个实施例中,如果多个用户专用块字段410对应于被包括在大于20MHz(例如,使用484-OFDM音资源单元)的带宽上的MU-MIMO传输中的客户站,来自一个群组的这些用户专用块字段410被编码为单个块。作为另一个示例,在一个实施例中,与来自用户专用字段的第一群组的特定一个或多个20MHz信道相对应的第一数目的用户专用块字段410被编码为第一单独块,并且与来自用户专用字段的第二群组的一个或多个其他20MHz信道相对应的第二数目的用户专用块410被编码为第二单独块,其中第一数目的用户专用块字段410不必与第二数目的用户专用块410相同。
在一个实施例中,生成HE-SIGB字段242包括将各自CRC和尾部位的集合附加到与(i)BCC块502和(ii)BCC块504中的每一个相对应的信息位以生成编码器输入位流。在一个实施例中,编码器输入位流被提供给连续编码编码器输入位流的一个或多个并行编码器。例如,参考图3,编码器输入位流被提供给编码器304,编码器304连续编码编码器输入位流。在一个实施例中,连续编码包括附加到与BCC块502相对应的信息位的尾部位以及与BCC块504中的每一个相对应的信息位的编码器输入位流有效地导致独立编码的BCC块502和504。
在一个实施例中,HE-SIGB字段242选择性地利用多个调制和编码方案(MCS)中的一个。例如,在一个实施例中,HE-SIGA字段240包括用于HE-SIGB字段242的MCS的指示,并且HE-SIGB字段242根据HE-SIGA字段240中指示的MCS进行编码和调制。多个MCS中的至少一些定义了各自不同的编码速率。例如,在一个实施例中,可以用于HE-SIGB字段242的至少第一MCS定义具有1/2的编码速率的BCC编码,可以用于HE-SIGB字段242的至少第二MCS定义具有2/3的编码速率的BCC编码,以及可以用于HE-SIGB字段242的至少第三MCS定义具有3/4的编码速率的BCC编码。在其他实施例中,除了1/2、2/3和3/4的编码速率,其他合适的编码速率(例如,1/4、3/8、5/6等)的BCC编码可以选择性地被用于HE-SIGB字段242。
在一个实施例中,HE-SIGB字段242使用基本编码速率为1/2的BCC编码器(例如,BCC编码器304)被编码,并且如果被使用的MCS定义更高的编码速率,则打孔被用于生成更高的编码速率,诸如2/3和3/4的编码速率。例如,在一个实施例中,图3的BCC编码器304包括或紧跟着打孔引擎。在一个实施例中,BCC编码器304以1/2的编码率编码HE-SIGB字段242的信息位。如果用于HE-SIGB字段242的MCS定义大于1/2的编码速率,则打孔引擎对由BCC编码器304编码的信息位进行操作,以生成与较高编码速率对应的打孔位流。在一个实施例中,打孔涉及将编码位分割成打孔块并省略每个打孔块中的某些位。在一个实施例中,打孔的编码位然后在没有被省略的编码位的情况下被发送。
在一些实施例中,例如取决于诸如以下因素:(i)HE-SIGB 242的共用块字段402中的特定数量的信息位,(ii)HE-SIGB 242的用户专用块字段410中的信息位,(iii)HE-SIGB242中的用户专用块字段410的数目,至少在某些场景下,编码要被包括在HE-SIGB 242中的信息位可以导致非整数数目的打孔块。在各种实施例中,一个或多个填充位被添加到要被包括在HE-SIGB字段242中的信息位以确保打孔引擎对整数个打孔块进行操作。在一个实施例中,在编码信息位之前,一个或多个填充位被添加(例如,附加)到要被包括在HE-SIGB字段242中的信息位。在另一个实施例中,在信息位被编码之后,但是在编码的信息位被打孔之前,一个或多个填充位被添加(例如,附加)到要被包括在HE-SIGB字段242中的信息位。
图6是根据一个实施例的包括在编码之前被添加到信号字段信息位的一个或多个填充位的信号字段600的框图。在一个实施例中,信号字段600与HE-SIGB字段242相对应。在图6的实施例中,包括在信号字段600中的用户专用块按照关于图5描述的方式被编码在用户专用块的群组602中。在一个实施例中,在编码信息位之前,尾部位604(例如,6个零尾部位)被插入在与每个用户专用块的群组602相对应的信息位的相应集合之后。同样在编码之前,一个或多个填充位606被添加在与最后用户专用块604相对应的尾部位之后。在一个实施例中,要被插入的填充位的数目被确定使得填充位606在被编码之后填充OFDM符号直到OFDM符号边界。在一个实施例中,当信号字段600根据MCS被生成时,所确定的填充位的数目还确保了整数个打孔块,MCS指定比用于生成信号字段600的卷积编码器的基本编码速率更高的编码速率。在一个实施例中,填充位606包括伪随机填充位(例如,具有伪随机生成的一群组值的填充位)。在另一个实施例中,填充位606包括信号字段600中的一个或多个信息位的重复。在一些实施例中,如果填充位606的数目少于或等于6,所有填充位600被设置为零以用作在接收处重置解码器的尾部位。
图7是根据一个实施例的信号字段702的编码过程700的框图。在一个实施例中,信号字段702对应于图6的信号字段600并且根据上面关于图6描述的填充方案被填充。卷积编码器(例如,编码器304)编码填充信息位以生成两个并行输出位流704,包括第一输出位流Ai704-1和第二输出位流Bi 704-2。打孔引擎(例如,包括在或耦合到编码器304的打孔引擎)将打孔图案710应用于并行输出位流704,并将打孔位流组合成单个输出编码位流。在一个实施例中,将打孔图案应用于并行输出位流704包括打孔或“窃取”来自第一输出位流704-1和/或第二输出位流704-2的由打孔图案710定义的一些位。在一个实施例中,两个并行位流被组合,省略了打孔位,导致输出编码位流与较高的编码速率相对应。
在一个实施例中,根据打孔图案710,并行输出位流704被分成打孔块712,每个打孔块712包括来自每个输出位流704的对应位,并且一个或多个位被打孔或“窃取”来自由打孔图案710定义的每个打孔块712。在图7的实施例中,每个打孔块712包括来自每个输出位流704的六个连续位,并且根据打孔图案710,三个位从每个打孔块712中的第二输出位流704-2的六个位中被打孔。在图7中,每个打孔块712中的打孔位用灰色阴影示出。因此,如图7所示,如果每个块712中的每个输出704中的位被索引为0到5,则在索引1、3和5处的位从每个块712中的输出位流704-2中被打孔。在一个实施例中,输出位流704中的剩余的未打孔位被组合以生成单个输出位流714。因为打孔位从输出位流714中被省略,与其中打孔不被执行的实施例和/或场景相比,剩余位以更高的数据速率被发送。例如,在图7的实施例中,其中每个打孔块712包括十二位并且执行打孔以对十二位中的三位进行打孔,所得到的输出位流714与2/3的编码速率相对应。在其它实施例中,每个打孔块712包括小于或大于12位的位数目和/或从每个打孔块打孔的位数目小于或大于3位。在这样的实施例和/或场景中,所得到的输出位流714与不同于(例如,大于或小于)2/3的编码速率的编码速率相对应。仅作为示例,在一个实施例和/或场景中,每个打孔块712包括18个位,并且打孔被执行以对该18个位中的6个位进行打孔,导致输出位流714与3/4的编码速率相对应。
再次参照图5,在另一个实施例中,根据需要,一个或多个填充位的相应集合被添加(例如,附加)到与BCC块502和每个BCC块504相对应的信息位为了确保BCC块502和每个BCC块504中的整数个打孔块。在一些实施例和场景中,附加的一个或多个填充位被添加在与最后BCC块504-y相对应的信息位之后,以确保在编码之后填充后的信息位的总数填充整数个OFDM符号。在一个实施例中,卷积编码器(例如,编码器304)编码填充后的信息位以生成如上面关于图6所述的两个并行编码位流。在一个实施例中,打孔引擎(例如,包括在或者耦合到编码器304中的打孔引擎)分别将与BCC块502相对应的编码信息位和与每个BCC块504相对应的编码信息位分割成打孔块,并且以上面关于图6描述的方式对每个打孔块应用打孔图案以达到期望的编码速率。在一个实施例中,打孔位流被组合以生成与期望速率相对应的编码输出位流。
图8是根据一个实施例的用于生成数据单元的PHY前导码的字段的示例方法800的流程图。例如,在一个实施例中,方法700用于生成诸如HE-SIGB字段的信号字段。然而,在其他实施例中,方法800可以被用于生成另一合适的PHY前导码字段。在各种实施例中,方法800由PHY处理单元20、PHY处理单元29、PHY处理单元500和/或PHY处理单元600来实现。仅仅为了说明的目的,方法800参考图1和3被描述。然而,在其他实施例中,方法800由不同于图1和3所示的另一合适的PHY处理单元和/或网络接口设备来实现。
在框802处,将要被包括在PHY前导码的字段中的位被生成。在一个实施例中,框802包括生成与PHY相关信息相对应的信息位。在其中字段是信号字段的实施例中,信息位包括解码数据单元的数据部分所需的信息。
在框804处,尾部位的相应集合被插入到信息位中以生成编码器输入位流。在一个实施例中,尾部位的相应集合被插入在与字段的子字段的多个群组中的相应群组相对应的信息位的相应集合之后。在其中字段是HE-SIGB字段的实施例中,框804包括尾部位的第一集合在与HE-SIGB字段的共用块字段相对应的信息位的第一集合之后被插入,并且尾部位的相应的第二集合在HE-SIGB字段的相应用户专用字段的群组之后被插入。
在框806处,将一个或多个填充位被添加到编码器输入位流以生成填充的编码器输入位流。在一个实施例中,一个或多个填充位确保编码器输出位流中的整数个打孔块。在一个实施例中,一个或多个填充位在与HE-SIGB字段的用户专用字段的最后一个群组相对应的信息位之后被附加。在另一个实施例中,填充位的相应集合在与HE-SIGB字段的用户专用字段的每个群组相对应的信息位之后被附加。在一个实施例中,填充位的相应集合确保在与HE-SIGB的用户专用字段的每个群组相对应的编码位中的整数个打孔块。
在框808,经填充的编码器输入位流被编码以生成编码器输出位流。在一个实施例中,编码器输出位流是初始编码器输出位流,并且块808包括根据打孔图案打孔初始编码器输出位流以生成编码器输出位流。在一个实施例中,打孔包括将初始编码器输出位流划分为打孔块,并且省略或“窃取”来自每个打孔块的一个或多个位。在框810处,字段被生成以包括来自编码输出位流的至少一些位。
在一个实施例中,一种生成数据单元的物理层(PHY)前导码的字段的方法包括:在通信设备处,生成要包括在字段中的信息位。该方法还包括:在通信设备处,将尾部位的相应集合附加在与字段的子字段的多个群组的相应群组相对应的信息位的相应集合之后,每个群组包括字段的一个或多个子字段,以生成编码器输入位流。该方法进一步包括:在通信设备处,将一个或多个填充位添加到编码器输入流以生成经填充的编码器输入位流,一个或多个填充位用以确保编码输出位流中的整数个打孔块。该方法另外包括:在通信设备处,对经填充的编码器输入位流进行编码,以生成经编码的输出位流,以及在通信设备处,生成字段以包括来自经编码的输出位流的至少一些位。
在其他实施例中,该方法包括一个或多个以下特征的任何合适的组合。
对经填充的编码器输入位流以生成经编码的输出位流进行编码包括对所述经填充的编码器输入位流进行连续地编码,以生成分别与所述字段的子字段的所述多个群组相对应的多个经编码的位块。
对经填充的编码器输入位流以生成经编码的输出位流进行编码包括对所述经填充的位流进行编码,以生成与第一编码速率相对应的初始输出位流。
该方法进一步包括向所述初始输出位流应用打孔图案,以生成所述经编码的输出位流以对应于大于所述第一编码速率的第二编码速率。
添加一个或多个填充位到编码器输入位流以生成经填充的编码器输入位流包括在在与所述字段的子字段的所述多个群组中的最后一个群组相对应的信息位之后添加所述一个或多个填充位。
添加一个或多个填充位到编码器输入流以生成经填充的编码器输入位流包括在所述信息位相应集合之后添加填充位的相应集合,所述信息位的相应集合与所述字段的子字段的所述多个群组中的所述相应群组相对应。
一个或多个填充位确保与所述字段的子字段的所述多个群组中的相应群组相对应的经编码的信息位的相应集合的整数个打孔块。
数据单元的PHY前导码的字段是包括解码数据单元的数据部分所需的信息的信号字段。
数据单元是包括用于数据单元的多个预定接收器的相应数据的多用户数据单元。
字段包括(i)包括用于数据单元的所有多个预定接收器的信息共用块子字段,和(ii)分别包括用以数据单元的多个预定接收器中的每一个预定接收器的相应信息的一个或多个用户专用块子字段。
字段的多个子字段群组包括(i)包括共用块子字段的第一群组和(ii)包括一个或多个用户专用块子字段的一个或多个第二群组,其中所述一个或多个第二群组中的至少一个第二群组包括多个用户专用子字段中的多个用户专用子字段。
生成字段包括选择性地至少根据与第一数据速率相对应的第一调制和编码方案(MCS)和与第二编码速率相对应的第二MCS来生成所述字段。
该方法进一步包括在通信设备处生成数据单元以包括PHY前导码和数据部分。
通信设备是第一通信设备,并且其中该方法进一步包括从第一通信设备向至少一个第二通信设备发送数据单元。
在另一个实施例中,一种装置包括具有一个或多个集成电路的网络接口设备,一个或多个集成电路被配置为:生成要包括在字段中的信息位。一个或多个集成电路还被配置为:将尾部位的相应集合附加在与所述字段的子字段的多个群组的相应群组相对应的信息位的相应集合之后,以生成编码器输入位流,每个群组包括所述字段的一个或多个所述子字段。一个或多个集成电路进一步被配置为:将一个或多个填充位添加到编码器输入流以生成经填充的编码器输入位流,一个或多个填充位用以确保经编码的输出位流中的整数个打孔块。一个或多个集成电路另外被配置为:对所述经填充的编码器输入位流进行编码,以生成经编码的输出位流,以及生成字段,以包括来自经编码的输出位流的至少一些位。
在其他实施例中,该装置包括以下特征中的一个或多个的任何合适的组合。
一个或多个集成电路被配置为:对所述经填充的编码器输入位流进行连续地编码,以生成分别与所述字段的子字段的所述多个群组相对应的多个经编码的位块。
一个或多个集成电路被配置为:对所述填充位流进行编码,以生成与第一编码速率相对应的初始输出位流,以及向所述初始输出位流应用打孔图案,以生成所述经编码的输出位流,使得所述经编码的输出位流对应于大于所述第一编码速率的第二编码速率。
一个或多个集成电路被配置为:在与所述字段的子字段的所述多个群组中的最后一个群组相对应的信息位之后添加所述一个或多个填充位。
一个或多个集成电路被配置为:在与所述字段的子字段的所述多个群组中的相应群组相对应的所述信息位的相应集合之后添加填充位的相应集合。
一个或多个填充位用以确保与所述字段的子字段的所述多个群组中的相应群组相对应的经编码的信息位的相应集合中的整数个打孔块。
数据单元的PHY前导码的字段是包括解码数据单元的数据部分所需的信息的信号字段。
数据单元是包括用于数据单元的多个预定接收器的相应数据的多用户数据单元。
字段包括(i)包括用于所述数据单元的所述多个预定接收器的所有预定接收器的信息的共用块子字段;和(ii)分别包括用以所述数据单元的所述多个预定接收器的每一个预定接收器的相应信息的一个或多个用户专用块子字段。
所述字段的所述子字段的所述多个群组包括:(i)包括所述共用块子字段的第一群组,和(ii)包括所述一个或多个用户专用块子字段的一个或多个第二群组,其中所述一个或多个第二群组中的至少一个第二群组包括所述多个用户专用子字段中的多个用户专用子字段。
一个或多个集成电路被配置为:选择性地至少根据与第一数据速率相对应的第一调制和编码方案(MCS)和与第二编码速率相对应的第二MCS来生成所述字段。
一个或多个集成电路进一步被配置:为生成数据单元以包括PHY前导码和数据部分。
一个或多个集成电路进一步被配置为:向至少一个通信设备发送数据单元。
上述各种块、操作和技术中的至少一些可以利用硬件、执行固件指令的处理器、执行软件指令的处理器或其任何组合来实现。当利用执行软件或固件指令的处理器来实现时,软件或固件指令可以存储在任何计算机可读存储器中,例如在磁盘、光盘或其他存储介质中、在RAM或ROM或闪存、处理器、硬盘驱动器、光盘驱动器、磁带驱动器等。软件或固件指令可以包括当由一个或多个处理器执行时使得一个或多个处理器执行各种动作的机器可读指令。
当在硬件上实现时,硬件可以包括分立组件、集成电路、专用集成电路(ASIC)、可编程逻辑设备(PLD)等中的一个或多个。
尽管本发明已经参照旨在仅用于-说明而不是限制本发明的特定示例被描述,但是可以对所公开的实施例进行改变、添加和/或删除而不脱离本发明的范围。