IP Library Granted Patent US 10,505,676
Granted Patent B1
US 10,505,676 · App. 16/102,400 · Granted Dec 10, 2019

System, method, and apparatus for interleaving data

Inventor: Pierre Humblet (Cambridge, MA)
Assignee: Acacia Communications, Inc.
H04L1/0071H03M13/251H03M13/271H04L1/0041
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 10,505,676
App. No.
16/102,400
Granted
Dec 10, 2019
Kind
B1
Abstract

A method, system, and apparatus for interleaving data including creating a buffer, writing input data, and reading output data out of the buffer.

Claims (800)

1. A method for interleaving data to facilitate correction of burst errors occurring during transmission of data, the method comprising:

creating a buffer having 172,032 bits arranged into an 84 by 8 array of 16 by 16 blocks; wherein the buffer is partitioned into 4 subsets of rows;

writing input data into each 16 by 16 block of arrays according to a table; wherein the table specifies the location of each bit in the 16 by 16 block based on the origin of the bit; and

reading output data out of the buffer in groups of 8 bits; wherein each of the groups of 8 bits are taken in turn from each subset, in a column by column ordering; wherein arrangement of the output data facilitates correction of burst errors occurring during transmission of the output data.

2. The method of claim 1 where the first elements of the 16 by 16 table form a Latin square.

3. The method of claim 1 wherein the method is for interleaving data encoded using a 16 QAM modulation.

4. The method of claim 1 wherein the table is given by the following table:

0, 0

1, 1

2, 2

3, 3

4, 4

5, 5

6, 6

7, 7

8, 8

9, 9

10, 10

11, 11

12, 12

13, 13

14, 14

15, 15

14, 15

15, 0 

0, 1

1, 2

2, 3

3, 4

4, 5

5, 6

6, 7

7, 8

8, 9

 9, 10

10, 11

11, 12

12, 13

13, 14

12, 14

13, 15

14, 0 

15, 1 

0, 2

1, 3

2, 4

3, 5

4, 6

5, 7

6, 8

7, 9

 8, 10

 9, 11

10, 12

11, 13

10, 13

11, 14

12, 15

13, 0 

14, 1 

15, 2 

0, 3

1, 4

2, 5

3, 6

4, 7

5, 8

6, 9

 7, 10

 8, 11

 9, 12

 8, 12

 9, 13

10, 14

11, 15

12, 0 

13, 1 

14, 2 

15, 3 

0, 4

1, 5

2, 6

3, 7

4, 8

5, 9

 6, 10

 7, 11

 6, 11

 7, 12

 8, 13

 9, 14

10, 15

11, 0 

12, 1 

13, 2 

14, 3 

15, 4 

0, 5

1, 6

2, 7

3, 8

4, 9

 5, 10

 4, 10

 5, 11

 6, 12

 7, 13

 8, 14

 9, 15

10, 0 

11, 1 

12, 2 

13, 3 

14, 4 

15, 5 

0, 6

1, 7

2, 8

3, 9

2, 9

 3, 10

 4, 11

 5, 12

 6, 13

 7, 14

 8, 15

9, 0

10, 1 

11, 2 

12, 3 

13, 4 

14, 5 

15, 6 

0, 7

1, 8

15, 7 

0, 8

1, 9

 2, 10

 3, 11

 4, 12

 5, 13

 6, 14

 7, 15

8, 0

9, 1

10, 2 

11, 3 

12, 4 

13, 5 

14, 6 

13, 6 

14, 7 

15, 8 

0, 9

 1, 10

 2, 11

 3, 12

 4, 13

 5, 14

 6, 15

7, 0

8, 1

9, 2

10, 3 

11, 4 

12, 5 

11, 5 

12, 6 

13, 7 

14, 8 

15, 9 

 0, 10

 1, 11

 2, 12

 3, 13

 4, 14

 5, 15

6, 0

7, 1

8, 2

9, 3

10, 4 

9, 4

10, 5 

11, 6 

12, 7 

13, 8 

14, 9 

15, 10

 0, 11

 1, 12

 2, 13

 3, 14

 4, 15

5, 0

6, 1

7, 2

8, 3

7, 3

8, 4

9, 5

10, 6 

11, 7 

12, 8 

13, 9 

14, 10

15, 11

 0, 12

 1, 13

 2, 14

 3, 15

4, 0

5, 1

6, 2

5, 2

6, 3

7, 4

8, 5

9, 6

10, 7 

11, 8 

12, 9 

13, 10

14, 11

15, 12

 0, 13

 1, 14

 2, 15

3, 0

4, 1

3, 1

4, 2

5, 3

6, 4

7, 5

8, 6

9, 7

10, 8 

11, 9 

12, 10

13, 11

14, 12

15, 13

 0, 14

 1, 15

2, 0

1, 0

2, 1

3, 2

4, 3

5, 4

6, 5

7, 6

8, 7

9, 8

10, 9 

11, 10

12, 11

13, 12

14, 13

15, 14

  0, 15.

5. The method of claim 1 wherein the method is for interleaving data encoded using QPSK modulation.

6. The method of claim 3 wherein symbol bits in each reliability class are balanced in each constituent codeword.

7. An apparatus comprising:

an interleaver; the interleaving containing logic enabling the interleaver to:

create a buffer having 172,032 bits arranged into an 84 by 8 array of 16 by 16 blocks; wherein the buffer is partitioned into 4 subsets of rows;

write input data into each 16 by 16 block of arrays according to a table; wherein the table specifies the location of each bit in the 16 by 16 block based on the origin of the bit; and

read output data out of the buffer in groups of 8 bits; wherein each of the groups of 8 bits are taken in turn from each subset, in a column by column ordering; wherein arrangement of the output data facilitates correction of burst errors occurring during transmission of the output data.

8. The apparatus of claim 7 where the first elements of the 16 by 16 table form a Latin square.

9. The apparatus of claim 7 wherein a data modulation format for the data is for a 16 QAM modulation.

10. The apparatus of claim 7 wherein the table is given by the following table:

0, 0

1, 1

2, 2

3, 3

4, 4

5, 5

6, 6

7, 7

8, 8

9, 9

10, 10

11, 11

12, 12

13, 13

14, 14

15, 15

14, 15

15, 0 

0, 1

1, 2

2, 3

3, 4

4, 5

5, 6

6, 7

7, 8

8, 9

 9, 10

10, 11

11, 12

12, 13

13, 14

12, 14

13, 15

14, 0 

15, 1 

0, 2

1, 3

2, 4

3, 5

4, 6

5, 7

6, 8

7, 9

 8, 10

 9, 11

10, 12

11, 13

10, 13

11, 14

12, 15

13, 0 

14, 1 

15, 2 

0, 3

1, 4

2, 5

3, 6

4, 7

5, 8

6, 9

 7, 10

 8, 11

 9, 12

 8, 12

 9, 13

10, 14

11, 15

12, 0 

13, 1 

14, 2 

15, 3 

0, 4

1, 5

2, 6

3, 7

4, 8

5, 9

 6, 10

 7, 11

 6, 11

 7, 12

 8, 13

 9, 14

10, 15

11, 0 

12, 1 

13, 2 

14, 3 

15, 4 

0, 5

1, 6

2, 7

3, 8

4, 9

 5, 10

 4, 10

 5, 11

 6, 12

 7, 13

 8, 14

 9, 15

10, 0 

11, 1 

12, 2 

13, 3 

14, 4 

15, 5 

0, 6

1, 7

2, 8

3, 9

2, 9

 3, 10

 4, 11

 5, 12

 6, 13

 7, 14

 8, 15

9, 0

10, 1 

11, 2 

12, 3 

13, 4 

14, 5 

15, 6 

0, 7

1, 8

15, 7 

0, 8

1, 9

 2, 10

 3, 11

 4, 12

 5, 13

 6, 14

 7, 15

8, 0

9, 1

10, 2 

11, 3 

12, 4 

13, 5 

14, 6 

13, 6 

14, 7 

15, 8 

0, 9

 1, 10

 2, 11

 3, 12

 4, 13

 5, 14

 6, 15

7, 0

8, 1

9, 2

10, 3 

11, 4 

12, 5 

11, 5 

12, 6 

13, 7 

14, 8 

15, 9 

 0, 10

 1, 11

 2, 12

 3, 13

 4, 14

 5, 15

6, 0

7, 1

8, 2

9, 3

10, 4 

9, 4

10, 5 

11, 6 

12, 7 

13, 8 

14, 9 

15, 10

 0, 11

 1, 12

 2, 13

 3, 14

 4, 15

5, 0

6, 1

7, 2

8, 3

7, 3

8, 4

9, 5

10, 6 

11, 7 

12, 8 

13, 9 

14, 10

15, 11

 0, 12

 1, 13

 2, 14

 3, 15

4, 0

5, 1

6, 2

5, 2

6, 3

7, 4

8, 5

9, 6

10, 7 

11, 8 

12, 9 

13, 10

14, 11

15, 12

 0, 13

 1, 14

 2, 15

3, 0

4, 1

3, 1

4, 2

5, 3

6, 4

7, 5

8, 6

9, 7

10, 8 

11, 9 

12, 10

13, 11

14, 12

15, 13

 0, 14

 1, 15

2, 0

1, 0

2, 1

3, 2

4, 3

5, 4

6, 5

7, 6

8, 7

9, 8

10, 9 

11, 10

12, 11

13, 12

14, 13

15, 14

  0, 15.

11. The apparatus of claim 7 wherein a data modulation format for the data is for a QPSK modulation.

12. The apparatus of claim 9 wherein symbol bits in each reliability class are balanced in each constituent codeword.

13. A system comprising:

one or more encoder;

an interleaver; the interleaver containing logic enabling the interleaver to:

create a buffer having 172,032 bits arranged into an 84 by 8 array of 16 by 16 blocks; wherein the buffer is partitioned into 4 subsets of rows;

write input data into each 16 by 16 block of arrays according to a table; wherein the table specifies the location of each bit in the 16 by 16 block based on the origin of the bit; and

read output data out of the buffer in groups of 8 bits; wherein each of the groups of 8 bits are taken in turn from each subset, in a column by column ordering; wherein arrangement of the output data facilitates correction of burst errors occurring during transmission of the output data.

14. The system of claim 13 wherein the one or more encoders provide data to the interleaver to populate the buffer; wherein the one or more encoders switch between providing data to the interleaver.

15. The system of claim 13 where the first elements of the 16 by 16 table form a Latin square.

16. The system of claim 13 wherein a data modulation format for the data is for a 16 QAM modulation.

17. The system of claim 13 wherein the table is given by the following table:

0, 0

1, 1

2, 2

3, 3

4, 4

5, 5

6, 6

7, 7

8, 8

9, 9

10, 10

11, 11

12, 12

13, 13

14, 14

15, 15

14, 15

15, 0 

0, 1

1, 2

2, 3

3, 4

4, 5

5, 6

6, 7

7, 8

8, 9

 9, 10

10, 11

11, 12

12, 13

13, 14

12, 14

13, 15

14, 0 

15, 1 

0, 2

1, 3

2, 4

3, 5

4, 6

5, 7

6, 8

7, 9

 8, 10

 9, 11

10, 12

11, 13

10, 13

11, 14

12, 15

13, 0 

14, 1 

15, 2 

0, 3

1, 4

2, 5

3, 6

4, 7

5, 8

6, 9

 7, 10

 8, 11

 9, 12

 8, 12

 9, 13

10, 14

11, 15

12, 0 

13, 1 

14, 2 

15, 3 

0, 4

1, 5

2, 6

3, 7

4, 8

5, 9

 6, 10

 7, 11

 6, 11

 7, 12

 8, 13

 9, 14

10, 15

11, 0 

12, 1 

13, 2 

14, 3 

15, 4 

0, 5

1, 6

2, 7

3, 8

4, 9

 5, 10

 4, 10

 5, 11

 6, 12

 7, 13

 8, 14

 9, 15

10, 0 

11, 1 

12, 2 

13, 3 

14, 4 

15, 5 

0, 6

1, 7

2, 8

3, 9

2, 9

 3, 10

 4, 11

 5, 12

 6, 13

 7, 14

 8, 15

9, 0

10, 1 

11, 2 

12, 3 

13, 4 

14, 5 

15, 6 

0, 7

1, 8

15, 7 

0, 8

1, 9

 2, 10

 3, 11

 4, 12

 5, 13

 6, 14

 7, 15

8, 0

9, 1

10, 2 

11, 3 

12, 4 

13, 5 

14, 6 

13, 6 

14, 7 

15, 8 

0, 9

 1, 10

 2, 11

 3, 12

 4, 13

 5, 14

 6, 15

7, 0

8, 1

9, 2

10, 3 

11, 4 

12, 5 

11, 5 

12, 6 

13, 7 

14, 8 

15, 9 

 0, 10

 1, 11

 2, 12

 3, 13

 4, 14

 5, 15

6, 0

7, 1

8, 2

9, 3

10, 4 

9, 4

10, 5 

11, 6 

12, 7 

13, 8 

14, 9 

15, 10

 0, 11

 1, 12

 2, 13

 3, 14

 4, 15

5, 0

6, 1

7, 2

8, 3

7, 3

8, 4

9, 5

10, 6 

11, 7 

12, 8 

13, 9 

14, 10

15, 11

 0, 12

 1, 13

 2, 14

 3, 15

4, 0

5, 1

6, 2

5, 2

6, 3

7, 4

8, 5

9, 6

10, 7 

11, 8 

12, 9 

13, 10

14, 11

15, 12

 0, 13

 1, 14

 2, 15

3, 0

4, 1

3, 1

4, 2

5, 3

6, 4

7, 5

8, 6

9, 7

10, 8 

11, 9 

12, 10

13, 11

14, 12

15, 13

 0, 14

 1, 15

2, 0

1, 0

2, 1

3, 2

4, 3

5, 4

6, 5

7, 6

8, 7

9, 8

10, 9 

11, 10

12, 11

13, 12

14, 13

15, 14

  0, 15.

18. The system of claim 13 wherein a data modulation format for the data is for a QPSK modulation.

19. The method of claim 1 wherein the method is for interleaving data encoded using 8 QAM modulation.

20. The system of claim 13 wherein a data modulation format for the data is for a 8 QAM modulation.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2024
From: ACACIA COMMUNICATIONS, INC.
To: ACACIA TECHNOLOGY, INC.
Reel/Frame 066832/0659 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2018
From: HUMBLET, PIERRE
To: ACACIA COMMUNICATIONS, INC.
Reel/Frame 046640/0633 →
Continuity (1)
Provisional Application 62717770 · Aug 10, 2018