IP Library Granted Patent US 11,115,250
Granted Patent B1
US 11,115,250 · App. 16/804,140 · Granted Sep 7, 2021

MPPM encoder and decoder

Inventor: Timo Pfau (Somerville, MA)
Assignee: Acacia Communications, Inc.
H04L25/4902H04B10/5161H04B10/524
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 11,115,250
App. No.
16/804,140
Granted
Sep 7, 2021
Kind
B1
Abstract

A method, system, and apparatus for calculating coefficients for inputs and corresponding output sequences for a pulse-position modulation encoder using a stored structure; wherein the structure is a subset of the values of Pascal's Triangle.

Claims (26)

1. A method comprising:

calculating coefficients for inputs and corresponding output sequences for a pulse-position modulation encoder using a stored structure; wherein the structure contains a subset of Pascal's Triangle; wherein the pulse-position modulation encoder is a flex multipulse-position modulation encoder and the structure includes a portion of a row of Pascal's Triangle.

2. The method of claim 1 wherein the pulse-position modulation encoder is an MPPM encoder and the stored structure includes a diagonal of a Pascal's Triangle.

3. The method of claim 2 wherein at least a portion of the stored portion of Pascal's Triangle is used to calculate other portions of Pascal's Triangle.

4. The method of claim 1 wherein the number of values of the portion of a row is equal to a maximum number of possible encoded pulses plus 1.

5. The method of claim 4 wherein the portion of a row is used to calculate another portion of Pascal's Triangle, and the another portion of Pascal's Triangle is stored in memory.

6. A method comprising:

calculating coefficients for inputs and corresponding output sequences for a pulse-position modulation decoder using a stored structure, wherein the stored structure is a subset of the values in Pascal's Triangle; wherein the pulse-position modulation decoder is a flex multipulse-position modulation decoder and the stored structure includes a portion of a row of Pascal's Triangle.

7. The method of claim 6 wherein the pulse-position modulation decoder is a multipulse-position modulation decoder and wherein the stored structure includes a diagonal of a Pascal's Triangle.

8. The method of claim 7 wherein the used stored portion of Pascal's Triangle depends on a preprocessing block.

9. The method of claim 6 wherein the used stored portion of Pascal's Triangle depends on a preprocessing block.

10. The method of claim 6 wherein the portion of a row is used to calculate another portion of Pascal's Triangle, and the another portion of Pascal's Triangle is stored in memory.

11. A pulse-position modulation encoder, the encoder comprising:

memory; wherein the memory contains a structure corresponding to part of Pascal's Triangle; and

logic enabling the encoder to calculate coefficients for inputs and corresponding output sequences using the structure; wherein the pulse-position modulation encoder is a flex multipulse-position modulation encoder and the structure includes a portion of a row of Pascal's Triangle.

12. The encoder of claim 11 wherein the encoder is a multipulse-position modulation encoder and the stored structure includes a diagonal of a Pascal's Triangle.

13. The encoder of claim 12 wherein the stored portion of Pascal's Triangle is used to calculate other portions of Pascal's Triangle.

14. The encoder of claim 11 wherein the number of values of the portion of a row is equal to a maximum number of possible encoded pulses plus 1.

15. The encoder of claim 11 wherein the portion of a row is used to calculate another portion of Pascal's Triangle, and the another portion of Pascal's Triangle is stored in memory.

16. A decoder comprising:

memory; wherein the memory contains a structure corresponding to part of Pascal's Triangle; and

logic enabling the decoder to calculate coefficients for inputs and corresponding output sequences for a pulse-position modulation decoder using a stored structure, wherein the stored structure is a subset of the values in Pascal's Triangle; wherein the stored portion of Pascal's Triangle is used to calculate other portions of Pascal's Triangle.

17. The decoder of claim 16 wherein the pulse-position modulation decoder is a multipulse-position modulation decoder and wherein the stored structure is a diagonal of a Pascal's Triangle.

18. The decoder of claim 17 wherein the used stored portion of Pascal's Triangle depends on a preprocessing block.

19. The decoder of claim 16 wherein the pulse-position modulation decoder is a flex multipulse-position modulation decoder and the stored structure is a portion of a row of Pascal's Triangle.

20. The decoder of claim 16 wherein the stored structure comprises a diagonal of a Pascal's Triangle.

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 Mar 2, 2020
From: PFAU, TIMO
To: ACACIA COMMUNICATIONS, INC.
Reel/Frame 051978/0144 →
Continuity (1)
Provisional Application 62812332 · Mar 1, 2019