IP Library Granted Patent US 7,664,008
Granted Patent B2
US 7,664,008 · App. 11/481,531 · Granted Feb 16, 2010

Apparatus, method and computer program product providing low-density parity-check block length selection

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,664,008
App. No.
11/481,531
Granted
Feb 16, 2010
Kind
B2
Abstract

A transmitter determines a number of available bits (N avbits ) in a minimum number of orthogonal frequency division multiplex (OFDM) symbols in which a data field of a packet may fit, by N avbits =(N CBPS *(1+U STBC ))*ceil(N pld /(N CBPS *R*(1+U STBC ))), where U STBC equals 1 when Space-Time Block Code (STBC) is used and 0 otherwise, where N pld =LENGTH*8+16, where N CBPS is the number of coded bits per symbol, where R is the code rate, and where LENGTH is a number of bytes in a Physical Layer Convergence Protocol (PLCP) PLCP Service Data Unit (PSDU); and determines an integer number of Low-Density Parity-Check Code (LDPCC) codewords to be transmitted, N CW , and the length of the codewords to be used, L LDPC , from information capable of being expressed in a table format.

Claims (436)

1. A method, comprising:

determining, by a processor, a number of available bits (N avbits ) in a minimum number of orthogonal frequency division multiplex (OFDM) symbols in which a data field of a packet may fit, in accordance with

N avbits =( N CBPS *(1 +U STBC ))*ceil( N pld /( N CBPS *R *(1 +U STBC ))),

where U STBC equals 1 when Space-Time Block Code (STBC) is used and 0 otherwise,

where N pld =LENGTH*8+16,

where N CBPS is the number of coded bits per symbol,

where R is the code rate,

and

where LENGTH is a number of bytes in a Physical Layer Convergence Protocol (PLCP) PLCP Service Data Unit (PSDU);

determining, by the processor, an integer number of Low-Density Parity-Check Code (LDPCC) codewords to be transmitted, N CW , and the length of the codewords to be used, L LDPC , from information expressible in a Table format and comprising:

LDPC

codeword

N avbits

Number of LDPCC

length L LDPC

range (bits)

codewords N CW

(bits)

N avbits ≦ 648

1

648

 648 < N avbits ≦ 1296

1

1296

1296 < N avbits ≦ 1944

1

1944

1944 < N avbits ≦ 2592

2

1296

2592 < N avbits

ceil

(

(

LENGTH

×

8

+

16

)

(

1944

×

R

)

)

1944;

and

outputting, by the processor, the determined integer number of LDPCC codewords to be transmitted and the length of the codewords to be used.

2. The method of claim 1 , further comprising:

computing a number of shortening bits to be padded to the N pld data bits before encoding;

computing a number of bits to be punctured from the codewords after encoding;

computing a number of coded bits to be repeated;

encoding the data, using the number of shortening bits per codeword, and puncture or repeat bits per codeword; and

aggregating all codewords and parsing.

3. The method of claim 1 , executed in a wireless transmitter device.

4. The method of claim 2 , executed in a wireless transmitter device.

5. A device, comprising:

a wireless transceiver; and

processing circuitry coupled to the wireless transceiver and operable to determine a number of available bits (N avbits ) in a minimum number of orthogonal frequency division multiplex (OFDM) symbols in which a data field of a packet may fit, in accordance with

N avbits =( N CBPS *(1 +U STBC ))ceil( N pld /( N CBPS *R *(1 +U STBC ))),

where U STBC equals 1 when Space-Time Block Code (STBC) is used and 0 otherwise,

where N pld =LENGTH * 8+16,

where NCBPS is the number of coded bits per symbol,

where R is the code rate,

and

where LENGTH is a number of bytes in a Physical Layer Convergence Protocol (PLCP) PLCP Service Data Unit (PSDU); and to determine an integer number of Low-Density Parity-Check Code (LDPCC) codewords to be transmitted, Ncw, and the length of the codewords to be used, L LDPC , from information expressible in a Table format and comprising:

LDPC

codeword

N avbits

Number of LDPCC

length L LDPC

range (bits)

codewords N CW

(bits)

N avbits ≦ 648

1

648

 648 < N avbits ≦ 1296

1

1296

1296 < N avbits ≦ 1944

1

1944

1944 < N avbits ≦ 2592

2

1296

2592 < N avbits

ceil

(

(

LENGTH

×

8

+

16

)

(

1944

×

R

)

)

1944,

where the processing circuitry is further operable to output the determined integer number of LDPCC codewords to be transmitted and the length of the codewords to be used.

6. The device of claim 5 , further comprising means for computing a number of shortening bits to be padded to the N pld data bits before encoding; for computing a number of bits to be punctured from the codewords after encoding; for computing a number of coded bits to be repeated; for encoding the data, using the number of shortening bits per codeword, and puncture or repeat bits per codeword; and for aggregating all codewords and parsing.

7. The device of claim 5 , further comprising a memory that stores a Table that comprises the information.

8. The device of claim 5 , further comprising a memory that stores computer program instructions the execution of which by a processor results in generating the information expressible in the Table format.

9. The device of claim 8 , where certain of the computer program instructions implement an if-elseif structure comprising:

if N avbits ≦ 648 then

 N CW =1; and

 L LDPC =648;

elseif 648 < N avbits ≦ 1296 then

 N CW =1; and

 L LDPC =1296;

elseif 1296 < N avbits ≦ 1944 then

 N CW =1; and

 L LDPC =1944;

elseif 1944 < N avbits ≦ 2592 then

 N CW =2; and

 L LDPC =1296;

elseif 2592 < N avbits then

 N CW = ceil ((LENGTH × 8 + 16) / (1944 × R)); and

 L LDPC =1944.

 }.

10. The device of claim 5 , further comprising logic circuits that implement an if-elseif structure comprising:

if N avbits ≦ 648 then

 N CW =1; and

 L LDPC =648;

elseif 648 < N avbits ≦ 1296 then

 N CW =1; and

 L LDPC =1296;

elseif 1296 < N avbits ≦ 1944 then

 N CW =1; and

 L LDPC =1944;

elseif 1944 < N avbits ≦ 2592 then

 N CW =2; and

 L LDPC =1296;

elseif 2592 < N avbits then

 N CW = ceil ((LENGTH × 8 + 16) / (1944 × R)); and

 L LDPC =1944.

11. The device of claim 5 , embodied in a WLAN device that is coupled during use to a WLAN receiver.

12. A computer program product tangibly embodied on a computer readable medium and comprising program instructions the execution of which by a data processor of a wireless transmitter result in operations that comprise:

determining a number of available bits (N avbits ) in a minimum number of orthogonal frequency division multiplex (OFDM) symbols in which a data field of a packet may fit, in accordance with

N avbits =( N CBPS *(1 +U STBC ))*ceil( N pld /( N CBPS *R *(1 +U STBC ))),

where U STBC equals 1 when Space-Time Block Code (STBC) is used and 0 otherwise,

where N pld =LENGTH * 8+16,

where N CBPS is the number of coded bits per symbol,

where R is the code rate,

and

where LENGTH is a number of bytes in a Physical Layer Convergence Protocol (PLCP) PLCP Service Data Unit (PSDU);

determining an integer number of Low-Density Parity-Check Code (LDPCC) codewords to be transmitted, N CW , and the length of the codewords to be used, L LDPC , from information expressible in a Table format and comprising:

LDPC

codeword

N avbits

Number of LDPCC

length L LDPC

range (bits)

codewords N CW

(bits)

N avbits ≦ 648

1

648

 648 < N avbits ≦ 1296

1

1296

1296 < N avbits ≦ 1944

1

1944

1944 < N avbits ≦ 2592

2

1296

2592 < N avbits

ceil

(

(

LENGTH

×

8

+

16

)

(

1944

×

R

)

)

1944;

and

outputting the determined integer number of LDPCC codewords to be transmitted and the length of the codewords to be used.

13. The computer program product of claim 12 , further comprising operations of:

computing a number of shortening bits to be padded to the N pld data bits before encoding;

computing a number of bits to be punctured from the codewords after encoding;

computing a number of coded bits to be repeated;

encoding the data, using the number of shortening bits per codeword, and puncture or repeat bits per codeword; and

aggregating all codewords and parsing.

14. The computer program product of claim 12 , executed in a wireless transmitter device.

15. The computer program product of claim 12 , where certain of the program instructions implement an if-elseif structure comprising:

if N avbits ≦ 648 then

 N CW =1; and

 L LDPC =648;

elseif 648 < N avbits ≦ 1296 then

 N CW =1; and

 L LDPC =1296;

elseif 1296 < N avbits ≦ 1944 then

 N CW =1; and

 L LDPC =1944;

elseif 1944 < N avbits ≦ 2592 then

 N CW =2; and

 L LDPC =1296;

elseif 2592 < N avbits then

 N CW = ceil ((LENGTH × 8 + 16) / (1944 × R)); and

 L LDPC =1944.

16. The computer program product of claim 12 , where certain of the program instructions operate in conjunction with logic circuits to implement an if-elseif structure comprising:

if N avbits ≦ 648 then

 N CW =1; and

 L LDPC =648;

elseif 648 < N avbits ≦ 1296 then

 N CW =1; and

 L LDPC =1296;

elseif 1296 < N avbits ≦ 1944 then

 N CW =1; and

 L LDPC =1944;

elseif 1944 < N avbits ≦ 2592 then

 N CW =2; and

 L LDPC =1296;

elseif 2592 < N avbits then

 N CW = ceil ((LENGTH × 8 + 16) / (1944 × R)); and

 L LDPC =1944.

17. A data structure tangibly embodied in a memory, the data structure defining information expressible in a Table format and comprising:

LDPC

codeword

N avbits

Number of LDPCC

length L LDPC

range (bits)

codewords N CW

(bits)

N avbits ≦ 648

1

648

 648 < N avbits ≦ 1296

1

1296

1296 < N avbits ≦ 1944

1

1944

1944 < N avbits ≦ 2592

2

1296

2592 < N avbits

ceil

(

(

LENGTH

×

8

+

16

)

(

1944

×

R

)

)

1944,

where LENGTH is a number of bytes in a Physical Layer Convergence Protocol (PLCP) PLCP Service Data Unit (PSDU), where the information is accessed, using the parameter N avbits that defines a number of available bits in a minimum number of orthogonal frequency division multiplex (OFDM) symbols in which a data field of a packet may fit, to obtain the integer number of Low-Density Parity-Check Code (LDPCC) codewords to be transmitted, N CW , and the length of the codewords L LDPC .

18. The data structure of claim 17 , where the parameter N avbits is obtained by:

determining

N pld =LENGTH*8+16,

N avbits =( N CBPS *(1 +U STBC )*ceil( N pld /( N CBPS *R *(1 +U STBC ))),

where U STBC equals 1 when Space-Time Block Code (STBC) is used and 0 otherwise, where N CBPS is the number of coded bits per symbol,

where R is the code rate,

and

where LENGTH is a number of bytes in a Physical Layer Convergence Protocol (PLCP) PLCP Service Data Unit (PSDU).

19. An integrated circuit, comprising:

processing circuitry operable for coupling to a transceiver and further operable to determine a number of available bits (N avbits ) in a minimum number of orthogonal frequency division multiplex (OFDM) symbols in which a data field of a packet may fit, in accordance with

N avbits =( N CBPS *(1 +U STBC ))*ceil( N pld /( N CBPS *R *(1 +U STBC ))),

where U STBC equals 1 when Space-Time Block Code (STBC) is used and 0 otherwise,

where N pld =LENGTH * 8+16,

where N CBPS is the number of coded bits per symbol,

where R is the code rate,

and

where LENGTH is a number of bytes in a Physical Layer Convergence Protocol (PLCP) PLCP Service Data Unit (PSDU); and to determine an integer number of Low-Density Parity-Check Code (LDPCC) codewords to be transmitted, N CW , and the length of the codewords to be used, L LDPC , from information expressible in a Table format and comprising:

LDPC

codeword

N avbits

Number of LDPCC

length L LDPC

range (bits)

codewords N CW

(bits)

N avbits ≦ 648

1

648

 648 < N avbits ≦ 1296

1

1296

1296 < N avbits ≦ 1944

1

1944

1944 < N avbits ≦ 2592

2

1296

2592 < N avbits

ceil

(

(

LENGTH

×

8

+

16

)

(

1944

×

R

)

)

1944,

where the processing circuitry is further operable to output the determined integer number of LDPCC codewords to be transmitted and the length of the codewords to be used.

20. The integrated circuit of claim 19 , further comprising a memory that stores a Table that comprises the information.

21. The integrated circuit of claim 19 , for coupling to a memory that stores a Table that comprises the information.

22. The integrated circuit of claim 19 , further comprising a memory that stores computer program instructions the execution of which by a processor results in generating the information expressible in the Table format.

23. The integrated circuit of claim 19 , for coupling to a memory that stores computer program instructions the execution of which by a processor results in generating the information expressible in the Table format.

24. The integrated circuit of claim 22 , where certain of the computer program instructions implement an if-elseif structure comprising:

if N avbits ≦ 648 then

 N CW =1; and

 L LDPC =648;

elseif 648 < N avbits ≦ 1296 then

 N CW =1; and

 L LDPC =1296;

elseif 1296 < N avbits ≦ 1944 then

 N CW =1; and

 L LDPC =1944;

elseif 1944 < N avbits ≦ 2592 then

 N CW =2; and

 L LDPC =1296;

elseif 2592 < N avbits then

 N CW = ceil ((LENGTH × 8 + 16) / (1944 × R)); and

 L LDPC =1944.

25. The integrated circuit of claim 23 , where certain of the computer program instructions implement an if-elseif structure comprising:

if N avbits ≦ 648 then

 N CW =1; and

 L LDPC =648;

elseif 648 < N avbits ≦ 1296 then

 N CW =1; and

 L LDPC =1296;

elseif 1296 < N avbits ≦ 1944 then

 N CW =1; and

 L LDPC =1944;

elseif 1944 < N avbits ≦ 2592 then

 N CW =2; and

 L LDPC =1296;

elseif 2592 < N avbits then

 N CW = ceil ((LENGTH × 8 + 16) / (1944 × R)); and

 L LDPC =1944.

26. The integrated circuit of claim 19 , further comprising logic circuits that implement an if-elseif structure comprising:

if N avbits ≦ 648 then

 N CW =1; and

 L LDPC =648;

elseif 648 < N avbits ≦ 1296 then

 N CW =1; and

 L LDPC =1296;

elseif 1296 < N avbits ≦ 1944 then

 N CW =1; and

 L LDPC =1944;

elseif 1944 < N avbits ≦ 2592 then

 N CW =2; and

 L LDPC =1296;

elseif 2592 < N avbits then

 N CW = ceil ((LENGTH × 8 + 16) / (1944 × R)); and

 L LDPC =1944.

27. The integrated circuit of claim 19 , embodied in a WLAN device.

28. A method to operate a wireless receiver, comprising:

receiving a packet;

determining from the received packet a modulation coding scheme used at a transmitter and a packet payload size; and

based on the modulation coding scheme and the packet payload size, determining a block size and a number of LDPCC codewords N CW in accordance with information expressible in a Table format and comprising:

LDPC

codeword

N avbits

Number of LDPCC

length L LDPC

range (bits)

codewords N CW

(bits)

N avbits ≦ 648

1

648

 648 < N avbits ≦ 1296

1

1296

1296 < N avbits ≦ 1944

1

1944

1944 < N avbits ≦ 2592

2

1296

2592 < N avbits

ceil

(

(

LENGTH

×

8

+

16

)

(

1944

×

R

)

)

1944,

where N avbits defines a number of available bits in a minimum number of orthogonal frequency division multiplex (OFDM) symbols in which a data field of a packet may fit,

where R is the code rate,

and

where LENGTH is a number of bytes in a Physical Layer Convergence Protocol (PLCP) PLCP Service Data Unit (PSDU).

29. The method of claim 28 , where the modulation coding scheme and packet payload size are determined from a packet preamble.

30. The method of claim 28 , executed by a WLAN device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2015
From: NOKIA CORPORATION
To: NOKIA TECHNOLOGIES OY
Reel/Frame 034855/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2006
From: STOLPMAN, VICTOR; VAN WAES, NICO
To: NOKIA CORPORATION
Reel/Frame 018261/0837 →