IP Library Granted Patent US 10,608,749
Granted Patent B1
US 10,608,749 · App. 16/256,971 · Granted Mar 31, 2020

Probabilistic shaping techniques for high performance coherent optical transceivers

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,608,749
App. No.
16/256,971
Granted
Mar 31, 2020
Kind
B1
Abstract

A method and structure for probabilistic shaping and compensation techniques in coherent optical receivers. According to an example, the present invention provides a method and structure for an implementation of distribution matcher encoders and decoders for probabilistic shaping applications. The techniques involved avoid the traditional implementations based on arithmetic coding, which requires intensive multiplication functions. Furthermore, these probabilistic shaping techniques can be used in combination with LDPC codes through reverse concatenation techniques.

Claims (190)

1. A communication device comprising:

a distribution matcher encoder module including n encoder function blocks coupled in series, the series of encoder function blocks being configured to convert data from a first form (x) to a second form (b);

wherein the series of encoder function blocks is configured to receive data x, a code length n, and a bits per codeword n′ as inputs;

wherein the series of encoder function blocks includes a plurality of encoder storage units configured to store the following initial values: a n =x and n′ n =n′;

wherein the series of encoder function blocks is configured to perform the following actions for i=n−1 to 0:

wherein the series of encoder function blocks includes encoder comparison and adder circuits configured, when a first condition characterized by

a

i

+

1

(

i

n

i

+

1

-

1

)

 or a second condition characterized by n′ i+1 ≤0 is satisfied, to compute and store in the plurality of encoder storage units the following intermediate values

a

i

=

a

i

+

1

-

(

i

n

i

+

1

-

1

)

,

 b i =0, and n′ i =n′ i+1 ;

wherein the series of encoder function blocks is configured using the encoder comparison and adder circuits, when neither the first condition nor the second condition is satisfied, to compute and store in the plurality of encoder storage units the following intermediate values: a i =a i+1 , b i =1, and n′ i =n′ i+1 −1; and

wherein the series of encoder function blocks is configured to output converted data b;

a distribution matcher decoder module including n decoder function blocks coupled in series, the series of decoder function blocks being configured to convert data from the second form to the first form;

wherein the series of decoder function blocks is configured to receive the converted data b, the code length n, and the bits per codeword n′ as inputs;

wherein the series of decoder function blocks includes a plurality of decoder storage units configured to store the following initial values: a n =0 and n′ n =n′;

wherein the series of decoder function blocks is configured to perform the following actions for i=n−1 to 0:

wherein the series of decoder function blocks includes decoder comparison and adder circuits configured, when a first condition characterized by b i ==1 or a second condition characterized by n′ i+1 ==0 is satisfied, to compute and store in the plurality of decoder storage units the following intermediate value: a i =a i+1 ;

wherein the series of decoder function blocks is configured using the decoder comparison and adder circuits, when neither the first condition nor the second condition is satisfied, to compute and store in the plurality of decoder storage units the following intermediate value:

a

i

=

a

i

+

1

+

(

i

n

i

+

1

-

1

)

;

wherein the series of decoder function blocks is configured using the decoder comparison and adder circuits, when the first condition is satisfied, to compute and store in the plurality of decoder storage units the following intermediate value: n′ i =n′ i+1 −1;

wherein the series of decoder function blocks is configured using the decoder comparison and adder circuits, when the first condition is not satisfied, to compute and store in the plurality of decoder storage units the following intermediate value: n′ i =n′ i+1 ; and

wherein the series of decoder function blocks is configured to store in the plurality of decoder storage units the following final value: x=a 0 ; and

wherein the series of decoder function blocks is configured to output restored data x; and

a channel module electrically coupled between the distribution matcher encoder module and the distribution matcher decoder module.

2. The device of claim 1 wherein each of the encoder function blocks comprises one or more carry save adders.

3. The device of claim 1

further comprising a splitter module electrically coupled to the distribution matcher encoder module and configured to receive data;

further comprising a forward error correction (FEC) encoder module electrically coupled to the splitter module and the distribution matcher encoder module; and

further comprising a mapper module electrically coupled to the FEC encoder module and the channel module.

4. The device of claim 1 wherein each of the decoder function blocks comprises one or more carry save adders.

5. The device of claim 1

further comprising a demapper module electrically coupled to the channel module;

further comprising a forward error correction (FEC) decoder module electrically coupled to the demapper module and the distribution matcher decoder module; and

further comprising a merger module electrically coupled to the distribution matcher decoder module and the FEC decoder module, and configured to output data.

6. A communication device comprising:

a distribution matcher encoder module including n encoder function blocks coupled in series, the series of encoder function blocks being configured to convert data from a first form (x) to a second form (b) using an encoder lookup table (LUT);

wherein the series of encoder function blocks is configured to receive data x, a code length n, and a bits per codeword n′ as inputs;

wherein the series of encoder function blocks includes a plurality of encoder storage units configured to store the following initial values: a n =x and n′ n =n′;

wherein the series of encoder function blocks is configured to perform the following actions for i=n−1 to 0:

wherein t i [n] is the function to access the encoder LUT;

wherein the series of encoder function blocks includes encoder comparison and adder circuits configured, when a first condition characterized by a i+1 ≥t i [n′ i+1 −1] or a second condition characterized by n′ i+1 ≤0 is satisfied, to compute and store in the plurality of encoder storage units the following intermediate values: a i =a i+1 −t i [n′ i+1 −1], b i =0, and n′ i =n′ i+1 ;

wherein the series of encoder function blocks is configured using the encoder comparison and adder circuits, when neither the first condition nor the second condition is satisfied, to compute and store in the plurality of encoder storage units the following intermediate values: a i =a i+1 , b i =1, and n′ i =n′ i+1 −1; and

wherein the series of encoder function blocks is configured to outputting converted data b;

a distribution matcher decoder module including n decoder function blocks coupled in series, the series of decoder function blocks being configured to convert data from the second form to the first form using a decoder LUT;

wherein the series of decoder function blocks is configured to receive the converted data b, the code length n, and the bits per codeword n′ as inputs;

wherein the series of decoder function blocks includes a plurality of decoder storage units configured to store the following initial values: a n =0 and n′ n =n′;

wherein the series of decoder function blocks is configured to perform the following actions for i=n−1 to 0:

wherein t i [n] is the function to access the decoder LUT;

wherein the series of decoder function blocks includes decoder comparison and adder circuits configured, when a first condition characterized by b i ==1 or a second condition characterized by n′ i+1 ==0 is satisfied, to compute and store in the plurality of decoder storage units the following intermediate value: a i =a i+1 ;

wherein the series of decoder function blocks is configured using the decoder comparison and adder circuits, when neither the first condition nor the second condition are satisfied, to compute and store in the plurality of decoder storage units the following intermediate value: a i =a i+1 +t i [n′ i+1 −1];

wherein the series of decoder function blocks is configured using the decoder comparison and adder circuits, when the first condition is satisfied, to compute and store in the plurality of decoder storage units the following intermediate value: n′ i =n′ i+1 −1;

wherein the series of decoder function blocks is configured using the decoder comparison and adder circuits, when the first condition is not satisfied, to compute and store in the plurality of decoder storage units the following intermediate value: n′ i =n′ i+1 ; and

wherein the series of decoder function blocks is configured to store in the plurality of decoder storage units the following final value: x=a 0 ; and

wherein the series of decoder function blocks is configured to output restored data x; and

a channel module electrically coupled between the distribution matcher encoder module and the distribution matcher decoder module.

7. The device of claim 6 wherein each of the encoder function blocks comprises one or more carry save adders.

8. The device of claim 6

further comprising a splitter module electrically coupled to the distribution matcher encoder module and configured to receive data;

further comprising an forward error correction (FEC) encoder module electrically coupled to the splitter module and the distribution matcher encoder module; and

further comprising a mapper module electrically coupled to the FEC encoder module and the channel module.

9. The device of claim 6 wherein each of the decoder function blocks comprises one or more carry save adders.

10. The device of claim 6

further comprising a demapper module electrically coupled to the channel module;

further comprising an forward error correction (FEC) decoder module electrically coupled to the demapper module and the distribution matcher decoder module; and

further comprising a merger module electrically coupled to the distribution matcher decoder module and the FEC decoder module, and configured to output data.

11. A communication device comprising:

a distribution matcher encoder module including n encoder function blocks coupled in series, the series of encoder function blocks being configured to convert data from a first form (x) to a second form (b) using an encoder lookup table (LUT);

wherein the series of encoder function blocks is configured to receive data x and a code length n as inputs;

wherein the series of encoder function blocks includes a plurality of encoder storage units configured to store the following initial value: n′=0;

wherein the series of encoder function blocks is configured to perform the following actions while

(

x

(

n

n

)

)

:

wherein the series of encoder function blocks includes encoder comparison and adder circuits configured to compute and store in the plurality of encoder storage units the following intermediate value:

x

=

x

-

(

n

n

)

;

 and

wherein the series of encoder function blocks is configured using the encoder comparison and adder circuits to compute and store in the plurality of encoder storage units the following intermediate value: n′=n′+1;

wherein the series of encoder function blocks is configured using the encoder comparison and adder circuits to compute and store in the plurality of encoder storage units the following intermediate value: a n =x;

wherein the series of encoder function blocks is configured to perform the following actions for i=n−1 to 0:

wherein t i [n] is the function to access the encoder LUT;

wherein the series of encoder function blocks is configured using the encoder comparison and adder circuits, when a first condition characterized by a i+1 ≥t i [n′−1] or a second condition characterized by n′≤0 is satisfied, to compute and store in the plurality of encoder storage units the following intermediate values: a i =a i+1 −t i [n′−1] and b i =0;

wherein the series of encoder function blocks is configured using the encoder comparison and adder circuits, when neither the first condition nor the second condition is satisfied, to compute and store in the plurality of encoder storage units the following intermediate values: a i =a i+1 , b i =1, and n′=n′−1; and

wherein the series of encoder function blocks is configured to output converted data b;

a distribution matcher decoder module including n decoder function blocks coupled in series, the series of decoder function blocks being configured to convert data from the second form to the first form using a decoder LUT;

wherein the series of decoder function blocks is configured to receive the converted data b and the code length n as inputs;

wherein the series of decoder function blocks includes decoder comparison and adder circuits and a plurality of decoder storage units, the series of decoder function blocks being configured using the decoder comparison and adder circuits to compute and store in the plurality of decoder storage units the following initial values: n′ n =ω H (b), where ω H (b) is the Hamming weight of b; and

a

n

=

k

=

1

ω

H

(

b

)

(

n

k

)

;

wherein the series of decoder function blocks is configured to perform the following actions for i=n−1 to 0:

wherein t i [n] is the function to access the decoder LUT;

wherein the series of decoder function blocks is configured using the decoder comparison and adder circuits, when a first condition characterized by b i ==1 or a second condition characterized by n′ i+1 ==0 is satisfied, to compute and store in the plurality of decoder storage units the following intermediate value: a i =a i+1 ;

wherein the series of decoder function blocks is configured using the decoder comparison and adder circuits, when neither the first condition nor the second condition is satisfied, to compute and store in the plurality of decoder storage units the following intermediate value: a i =a i+1 +t i [n′ i+1 −1];

wherein the series of decoder function blocks is configured using the decoder comparison and adder circuits, when the first condition is satisfied, to compute and store in the plurality of decoder storage units the following intermediate value: n′ i =n′ i+1 −1;

wherein the series of decoder function blocks is configured using the decoder comparison and adder circuits, when the first condition is not satisfied, to compute and store in the plurality of decoder storage units the following intermediate value: n′ i =n′ i+1 ; and

wherein the series of decoder function blocks is configured to outputting the restored data x; and

a channel module electrically coupled between the distribution matcher encoder module and the distribution matcher decoder module.

12. The device of claim 11 wherein each of the encoder function blocks comprises one or more carry save adders.

13. The device of claim 11

further comprising a splitter module electrically coupled to the distribution matcher encoder module and configured to receive data;

further comprising an forward error correction (FEC) encoder module electrically coupled to the splitter module and the distribution matcher encoder module; and

further comprising a mapper module electrically coupled to the FEC encoder module and the channel module.

14. The device of claim 11 wherein each of the decoder function blocks comprises one or more carry save adders.

15. The device of claim 11

further comprising a demapper module electrically coupled to the channel module;

further comprising an forward error correction (FEC) decoder module electrically coupled to the demapper module and the distribution matcher decoder module; and

further comprising a merger module electrically coupled to the distribution matcher decoder module and the FEC decoder module, and configured to output data.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2021
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE LTD.
Reel/Frame 057336/0873 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2021
From: MARVELL TECHNOLOGY CAYMAN I
To: CAVIUM INTERNATIONAL
Reel/Frame 057279/0519 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2021
From: INPHI CORPORATION
To: MARVELL TECHNOLOGY CAYMAN I
Reel/Frame 056649/0823 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2019
From: MORERO, DAMIÁN A.; CASTRILLON, MARIO A.; LOPEZ, RAMIRO R.; CAVENIO, CRISTIAN; INFANTE, GABRIEL; HUEDA, MARIO R.
To: INPHI CORPORATION
Reel/Frame 048431/0216 →