Systems, apparatuses and methods for a signal extension padding scheme
11606234 · 2023-03-14
Assignee
Inventors
- Yakun Sun (San Jose, CA)
- Hongyuan Zhang (Fremont, CA)
- Sudhir Srinivasa (Los Gatos, CA, US)
- Rui Cao (Sunnyvale, CA, US)
Cpc classification
H04L5/0007
ELECTRICITY
H04L1/0008
ELECTRICITY
International classification
Abstract
Systems, apparatuses and methods described herein provide a method for padding a signal extension of orthogonal frequency-division multiplexing (OFDM) symbols. A transceiver may obtain a plurality of data symbols for transmission, and determine that a number of information bits for a last symbol of the plurality of data symbols is not an integer value. A special padding rule may be applied to add padding bits to the last symbol. A number of coded bits for the last symbol may be determined when the number of information bits for the last symbol has changed, and the plurality of data symbols for data transmission may be encoded based on the determined number of coded bits for the last symbol.
Claims
1. A method for forward error correction (FEC) padding, the method comprising: obtaining, at a transceiver, a plurality of data symbols for transmission; determining a number of information bits that are available for inclusion in a last symbol of the plurality of data symbols; selecting a compatible number of scheduled data subcarriers, the compatible number being a fraction of a number of scheduled data subcarriers used for transmission in a single symbol period under a same bandwidth; calculating an integer number of information bits for the last symbol based on the compatible number of scheduled data subcarriers; adding a number of padding bits to the number of information bits that are available for transmission, wherein the number of padding bits and the number of information bits sum to the integer number of information bits; and encoding, for data transmission, the plurality of data symbols, the plurality of data symbols including the last data symbol having the integer number of information bits.
2. The method of claim 1, wherein the number of padding bits is added to the number of information bits before forward error-corrective encoding.
3. The method of claim 1, wherein the number of padding bits is a first number of padding bits, the method further comprising: adding a second number of padding bits to the last symbol after forward error-corrective encoding.
4. The method of claim 3, wherein the second number of padding bits consists of bits with value ‘0’.
5. The method of claim 1, wherein the compatible number of scheduled data subcarriers is dependent on a coding rate used for transmission in the single symbol period under the same bandwidth.
6. A system for forward error correction (FEC) padding, the system comprising: an input data processing module to obtain a plurality of data symbols for transmission; a pre-encoding padding module communicatively coupled to the input data processing module, the pre-encoding padding module being configured to: determine a number of information bits that are available for inclusion in a last symbol of the plurality of data symbols; select a compatible number of scheduled data subcarriers, the compatible number being a fraction of a number of scheduled data subcarriers used for transmission in a single symbol period under a same bandwidth; calculate an integer number of information bits for the last symbol based on the compatible number of scheduled data subcarriers; add a number of padding bits to the number of information bits that are available for transmission, wherein the number of padding bits and the number of information bits sum to the integer number of information bits; and encode, for data transmission, the plurality of data symbols, the plurality of data symbols including the last data symbol having the integer number of information bits.
7. The system of claim 6, wherein the number of padding bits is added to the number of information bits before forward error-corrective encoding.
8. The system of claim 6, wherein the number of padding bits is a first number of padding bits, and wherein the pre-encoding padding module is further configured to: add a second number of padding bits to the last symbol after forward error-corrective encoding.
9. The system of claim 8, wherein the second number of padding bits consists of bits with value ‘0’.
10. The system of claim 6, wherein the compatible number of scheduled data subcarriers is dependent on a coding rate used for transmission in the single symbol period under the same bandwidth.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Further features of the disclosure, its nature and various advantages will become apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings, in which like reference characters refer to like parts throughout, and in which:
(2)
(3)
(4)
(5)
(6)
(7)
DETAILED DESCRIPTION
(8) This disclosure describes methods and systems for a padding scheme for orthogonal frequency-division multiplexing (OFDM) signal extensions (SE) in a wireless data transmission system. According to this disclosure, a new padding procedure including special padding rules is adopted when the calculated number of data bits per symbol for the last OFDM symbol (N.sub.DBPS,Last) is not integer, or the calculated number of data bits per symbol per encoder
(9)
(where N.sub.ES denotes the number of encoders) is not an integer when there are more than one encoders per regular data symbol. The number of coded bits N.sub.CBPS,Last for the last symbol may be re-computed based on the changed N.sub.DBPS,Last, and these parameters can then be used for encoding.
(10)
(11) The encoder 101 may further include a pre-FEC padding module 103, which may pad additional bits to the OFDM symbol, and then pass the padded bits to the FEC encoding module 104. A post-FEC padding module 105 can be employed to fill up the last OFDM symbol, e.g., with zero-padding. The padded data symbols may then be passed on to the interleaver 120 and modulation module 130 before transmitting the data 135. The data 135 may be modulated symbols output by modulation module 130.
(12)
N.sub.CBPS.sup.(u)=N.sub.SD.sup.(u)×N.sub.SS.sup.(u)×N.sub.BPSCS.sup.(u)
where N.sub.CBPS.sup.(u) denotes the number of coded bits per symbol in a 4× symbol for user u; N.sub.SD.sup.(u) denotes the number of scheduled data subcarriers in a 4× symbol for user u; N.sub.SS.sup.(u) denotes the number of special strings in a 4× symbol for user u; and N.sub.BPSCS.sup.(u) denotes the number of coded bits per subcarrier per spatial streams in a 4× symbol for user u, u=0, 1, 2, 3, etc. It is noted that for all the parameters defined above, the values can be configured differently for a specific user u, and the superscript “u” may be adopted or skipped interchangeably throughout the disclosure.
(13) Specifically, when single user (SU) or multi-user (MU) multiple-input multiple-output (MIMO) system with physical protocol data unit (PPDU) is employed, N.sub.SD denotes the number of available data subcarriers.
(14) At 202, the encoder determines the info bits per regular symbol. For example, the encoder may determine the info bits per symbol (N.sub.DBPS) based on the following N.sub.DBPS.sup.(u)=N.sub.CBPS.sup.(u)×R.sup.(u), where N.sub.DBPS.sup.(u) denotes the number of data bits per symbol in a 4× symbol for user u, and R denotes the coding rate for user u, u=0, 1, 2, 3, etc.
(15) The encoder may also determine the number of encoders per regular symbol, e.g.,
(16)
wherein “┌ ┐” denotes a ceiling operation. For all valid number of scheduled data subcarriers, N.sub.DBPS.sup.(u) and
(17)
are integer numbers.
(18) At 203, the encoder may start a pre-FEC padding procedure by determining a SE parameter “a” for the last OFDM symbol (i.e., a short symbol). Further discussion on determining the SE parameter “a” can be found in commonly owned U.S. application Ser. No. 14/728,802, which is herein expressly incorporated by reference. For example, the SE parameter a may take a value of 1, 2, 3 or 4.
(19) At 204, the encoder may determine the number of information bits for a short (1×) OFDM symbol. In one example, the number of information bits can be determined based on the following:
(20)
For another example, the number of information bits can be determined based on the following:
(21)
(22) At 205, the encoder determines the padding bits for the last OFDM symbol. For example, the number of data bits of the last symbol can be determined as follows: N.sub.DBPS,last.sup.(u)=a.Math.N.sub.DBPS,short.sup.(u). The number of padding bits can be determined as follows: N.sub.Pre-FEC-Pad.sup.(u)=N.sub.DBPS,last.sup.(u)−(N.sub.inf o.sup.(u)−(N.sub.SYM−1).Math.N.sub.DBPS.sup.(u)), where N.sub.inf o.sup.(u) denotes the number of information bits for user u, and N.sub.SYM denotes the number of symbols.
(23) At decision 206, the encoder may determine whether N.sub.DBPS,Last or
(24)
is an integer. If one of the two values is not an integer, the encoder may apply special padding rules at 207, which may be further illustrated in various examples in
(25) Specifically, at 207, for a non-short padding scenario, e.g., when the SE parameter a=4, the last symbol can be encoded in the same way as a regular long symbol. Or alternatively, when the SE parameter a=1, 2 or 3, special padding for a non-integer N.sub.DBPS,Last or
(26)
are discussed in connection with
(27)
(28)
is not, the encoder may pad N.sub.DBPS,Last bits before encoders at 302, and then unevenly distribute padding bits across encoders at 302. For example, as shown in the table in
(29) Specifically, the parameter N.sub.R can be configured to be a different value per coding scheme, e.g., for binary convolutional coding (BCC) and low density parity-check (LDPC) coding. For example, the encoder can set N.sub.R=1 for LDPC, and N.sub.R=the number of bits per puncturing block given the coding rate for BCC.
(30)
(31)
is not an integer at 401. If not, the encoder may proceed with 209. Otherwise, the encoder may pad additional bits to make both of the two parameters integral, and then split the padding bits evenly across encoders at 402. For example, the encoder may first pad more bits if N.sub.DBPS,Last is not an integer, such that after padding the revised number of information bits for the last symbol may be determined based on the following:
(32)
wherein “┌ ┐” denotes a ceiling operation. Then the encoder may pad more bits if
(33)
is not an integer, such that after the padding the revised number of information bits for the last symbol may be determined as follows:
(34)
(35) In an alternative implementation, at 403, the encoder may pad additional bits to make N.sub.DBPS,Last an integer, and apply 402 to unequally distribute the bits across encoders.
(36)
(37)
is not an integer, the encoder may use dynamic puncturing for each encoder at 405. At 406, for each encoder,
(38)
may be fed, wherein “┌ ┐” denotes a ceiling operation. At 407, for the last puncture block of each encoder, a dynamic puncture pattern can be designed for the available BCC output. For example, any puncture pattern can be applied, such that the number of output bits can be set equivalent to N.sub.CBPS,Last. If N.sub.CBPS,Last is not an integer, then the number of output bits can be set equivalent to ┌N.sub.CBPS,Last┐, wherein “┌ ┐” denotes a ceiling operation.
(39) In an alternative implementation, the encoder can enforce the data bits of the short symbol N.sub.DBPS,Short to be an integer. For example, an f( ) mapping can be defined as the following: N.sub.DBPS,Short=f(N.sub.DBPS,Short.sup.(u)) such that N.sub.DBPS,Short.sup.(u) is an integer.
(40) In one example, the encoder can set Ñ.sub.DBPS,Short.sup.(u)=┌N.sub.DBPS,Short.sup.(u)┐ or └N.sub.DBPS,Short.sup.(u)┘, wherein “┌ ┐” denotes a ceiling operation, and “└ ┘” denotes a floor operation; and then the SE parameter a and the data bits of the last OFDM symbol N.sub.DBPS,Last.sup.(u) can be obtained as illustrated in
(41) In another alternative implementation, the encoder may configure a compatible number of scheduled data subcarriers N.sub.SD.sup.(u). For example, Instead of using exactly ¼ of scheduled data tones, using a compatible N.sub.SD that leads to integer N.sub.CBPS,Short and N.sub.DBPS,Short for all the MCS's. In this way, the number of information bits of the short symbol can be set as N.sub.DBPS,Short=N.sub.SD,Short-compatible.Math.N.sub.SS.Math.N.sub.BPSCS, where N.sub.SD,Short-compatible denotes a number of scheduled data subcarriers that is compatible for the short symbol. For example, N.sub.SD,Short-compatible can be set (close to) the value of N.sub.SD of the same bandwidth (BW) in 1× symbols. Examples of compatible N.sub.SD are shown in the following:
(42) TABLE-US-00001 TABLE 1 Example Compatible N.sub.SD N.sub.SD N.sub.SD,Short-Compatible 24 6 48 12 102 24 234 48 468 114 or 120 980 234, 240 or 246
(43)
(44)
wherein “┌ ┐” denotes a ceiling operation, and “└ ┘” denotes a floor operation. Or in another example, the encoder may use a “compatible” N.sub.SD as discussed above in connection with Table 1, which may make the N.sub.CBPS,short an integer number. In this case, the number of scheduled data subcarriers for the short symbol can be set as
(45)
wherein “┌ ┐” denotes a ceiling operation, and “└ ┘” denotes a floor operation, and the number of information bits of the short symbol can be set as N.sub.CBPS,Short=N.sub.SD,Short.Math.N.sub.SS.
(46) At 412, the encoder may determine the SE parameter a by using a number of information bits of the short symbol
(47)
wherein “└ ┘” denotes a floor operation and then add the pre-FEC padding bits. Specifically, for BCC, the number of information bits of the short symbol may be determined as follows:
(48)
In this case, a ceiling operation “┌ ┐” can be used alternatively for both BCC and LDPC.
(49) At 413, for LDPC, the encoder may determine all the LDPC parameters, such as but not limited to parity-check matrix, block length, and/or the like. If an extra symbol is needed per LDPC encoding rule, the encoder may update the related LDPC parameters, and also update the number of coded bits of the last symbol N.sub.CBPS,Last and the number of information bits of the last symbol N.sub.DBPS,Last. At 414, the encoder may compute the post-FEC padding bits to fill up the last data symbol, e.g., for post-FEC padding at 105 in
(50) In one implementation, after applying various special padding rules as illustrated in
(51)
or
(52)
N.sub.BPSCS, where R denotes the coding rate, and “┌ ┐” denotes a ceiling operation.
(53) For both BCC and LDPC, after pre-FEC padding parameters is determined, N.sub.CBPS,Last can be used be the number of output bits for data transmission (e.g., at 135 in
(54) The various examples of special padding rules to configure coding parameters as illustrated in
(55) While various embodiments of the present disclosure have been shown and described herein, it will be obvious to those skilled in the art that such embodiments are provided by way of example only. Numerous variations, changes, and substitutions will now occur to those skilled in the art without departing from the disclosure. It should be understood that various alternatives to the embodiments of the disclosure described herein may be employed in practicing the disclosure. It is intended that the following claims define the scope of the disclosure and that methods and structures within the scope of these claims and their equivalents be covered thereby.
(56) The foregoing is merely illustrative of the principles of this disclosure, and various modifications can be made without departing from the scope of the present disclosure. The above-described embodiments of the present disclosure are presented for purposes of illustration and not of limitation, and the present disclosure is limited only by the claims that follow.