IP Library Granted Patent US 9,294,131
Granted Patent B2
US 9,294,131 · App. 13/933,774 · Granted Mar 22, 2016

Apparatus and method for improved modulation and coding schemes for broadband satellite communications systems

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 9,294,131
App. No.
13/933,774
Granted
Mar 22, 2016
Kind
B2
Abstract

Modulation and coding schemes are provided for improved performance of wireless communications systems to support services and applications for terminals with operational requirements at relatively low E S /N 0 ratios. The provided modulation and coding schemes will support current and future communications services and applications for terminals with operational requirements at relatively low E S /N 0 ratios, and will provide modulation and coding schemes that offer finer granularity within an intermediate operational range of E S /N 0 ratios. The new modulation and coding schemes provide new BCH codes, and low density parity check (LDPC) codes.

Claims (304)

1. A method comprising:

encoding, by a processor of a device, a source data sequence of information bits based on a predetermined structured parity check matrix of a Low Density Parity Check (LDPC) code, wherein the encoding is performed based on frames of the source data sequence, each frame being of a length of k ldpc information bits (i 0 , i 1 , . . . , i k ldpc −1 ), and the output of the encoding comprises coded LDPC frames each being n ldpc coded bits in length, and

wherein the structured parity check matrix is represented by tabular information of a format wherein each row represents occurrences of one values within a respective column of the parity check matrix, and the columns of the parity check matrix are derived according to a predetermined operation based on the respective rows of the tabular information, and wherein the tabular information comprises a one of Tables 1a through 1c (below);

wherein the encoding comprises generating n ldpc −k ldpc parity bits (p 0 , p 1 , . . . , p n ldpc −k ldpc −1 ) for each frame of the source data sequence, wherein the generation of the parity bits comprises:

initializing parity bit accumulators for p 0 , p 1 , . . . , p n ldpc −k ldpc −1 to zero;

accumulating information bit i 0 at parity bit accumulator addresses specified in the first row of the table;

for the next group of m−1 information bits, i y (y=1, 2, . . . , m−1), accumulating each information bit at parity bit accumulator addresses {x+(y mod m)*q} mod(n ldpc −k ldpc ), wherein x denotes an address of a parity bit accumulator corresponding to the information bit i 0 , and q is a code-rate dependent constant (q=(n ldpc −k)/m), and wherein m is a code-dependent constant and k=R*n (where R is the code rate);

accumulating i m at parity bit accumulator addresses specified in the second row of the table, and, in a similar manner as for the group of m−1 information bits (above), accumulating each information bit of the next group of m−1 information bits i z , z=(m+1, m+2, . . . , 2m) at {x+(z mod m)*q} mod(n ldpc −k ldpc ), wherein x denotes the address of the parity bit accumulator corresponding to the information bit i m (the entries of the second row of the table);

in a similar manner, for each subsequent group of m information bits, accumulating the information bits at parity bit addresses based on a next row of the table; and

after all of the information bits of the frame are accumulated, performing operations according to p i =p i ⊕p i−1 , wherein for i=1, 2, . . . , (n ldpc −k ldpc −1), each p i resulting from the operation for a given i is equal to the parity bit p i ;

TABLE 1a

Address of Parity Bit Accumulators (Rate 1/5) (n ldpc = 32400)

18222 6715 4908 21568 22821 11708 4769 4495 22243 25872 9051

19072 13956

2038 5205 21215 21009 9584 2403 23652 20866 20130 677 9509

6136 773

19936 14590 17829 473 4432 23171 11386 17937 22084 24450 267 8822

19335

16376 16769 5111 9794 18907 827 12385 12370 21647 10938 23619

11633 15865

23417 7631 12243 21546 4192 22117 14757 4118 9686 17021 8531

15989 8807

15533 16584 18529 19699 17821 4252 1254 5952 3163 20295 6944 1022

19743

129 16579 23524 25897 14690 11222 16250 9925 4268 999 7102

24528 152

18361 3708 3454 16604 1551 5809 20324 4775 22418 19091 19674

10975 7327

24133 10950 22779 11388 13818 20668 7556 12333 16446 19684 12510

25118 8162

17026 6850 1269

21895 7137 25270

11858 24153 13303

7885 16438 12805

10473 15004 8052

2088 10379 10067

21438 13426 10440

17696 727 12164

22623 8408 17849

TABLE 1b

Address of Parity Bit Accumulators (Rate 11/45) (n ldpc = 32400)

20617 6867 14845 11974 22563 190 17207 4052 7406 16007

21448 14846 2543 23380 16633 20365 16869 13411 19853 795

5200 2330 2775 23620 20643 10745 14742 6493 14222 20939

9445 9523 12769 7332 21792 18717 16397 14016 9481 22162

2922 6427 4497 4116 17658 2581 14364 3781 18851 22974

10383 2184 1433 3889 12828 17424 17580 20936 1390 21374

425 2063 22398 20907 9445 14790 4457 723 7048 4072

11771 9640 23212 9613 12042 8335 21386 20129 13521 16301

14867 12501 1086 21526 17701 17731 20907 8790 19224 5784

7107 19690 17616 5800 9501 23320 16878 794 15931 17539

4556 21783 1524

20100 11706 23663

2535 15530 6116

12078 3867 2663

19629 20246 7024

11748 11426 19802

15942 12333 5316

11521 3170 17818

2289 23780 16575

6649 16991 13025

20050 10619 10250

3944 13063 5656

TABLE 1c

Address of Parity Bit Accumulators (Rate 1/3) (n ldpc = 32400)

7416 4093 16722 1023 20586 12219 9175 16284 1554 10113 19849 17545

13140 3257 2110 13888 3023 1537 1598 15018 18931 13905 10617 1014

339 14366 3309 15360 18358 3196 4412 6023 7070 17380 2777 6691

12720 17634 4141 1400 8247 18201 16077 11314 11928 3494 3155 2865

21038 6928 3860 1943 20292 6526 12939 15182 3957 5651 356 2673

20555 17905 5724 13932 1218 17763 5912 5164 6233 6220 1277 19209

19190 4498 4950 6645 5482 5667 13701 16334 15231 735 8589 12344

679 17849 17807 16033 10181 3368 5778 8275 2736 14042 17506 6005

1576 10259 10525 3007 16522 697 7726 8641 14323 2893 8168 11070

17270 10180 18740 847 4969 14715 19316 5530 17428 11193 9861 13562

6156 18787 10467

2422 3723 10769

8015 18716 13406

5969 15949 3084

6855 13990 3764

10351 15779 10392

16078 19034 11279

11747 6608 4188

19699 8928 8045

4598 7219 11391

19766 11871 5692

7487 15905 17621

8554 7751 16516

4981 20250 16146

12524 21364 10793

17083 2051 8862

1315 6246 7721

18043 16652 5502

1432 5674 2224

11257 1312 8453.

2. The method of claim 1 , wherein the LDPC code is of a structure that facilitates use of a plurality of parallel engines for decoding the coded signal.

3. The method of claim 1 , wherein n ldpc =32400, and m=360.

4. The method of claim 1 , further comprising:

modulating the coded LDPC frames according to according to one of the following modulation types: π/2 BPSK (Binary Phase Shift Keying) and QPSK (Quadrature Phase Shift Keying).

5. The method of claim 1 , wherein the source data sequence is segmented into a series of baseband frames, and the method further comprises:

encoding each baseband frame based on a t-error Bose Chaudhuri Hocquenghem (BCH) code, wherein the BCH encoding comprises an outer coding and the LDPC encoding comprises an inner coding.

6. The method of claim 5 , wherein the BCH outer coding and the LDPC inner coding are based on a one row of the following table of coding parameters depending on the code rate:

BCH coded

LDPC

block N BCH

Code

BCH uncoded

LDPC uncoded

BCH t-error

LDPC coded

Identifier

block K BCH

block k ldpc

correction

block n ldpc

1/5

6300

6480

12

32400

11/45

7740

7920

12

32400

1/3

10620

10800

12

32400.

7. The method of claim 6 , wherein the BCH outer coding is further based on the following table of BCH polynomials:

g 1 (x)

1 + x 2 + x 3 + x 5 + x 15

g 2 (x)

1 + x + x 4 + x 7 + x 10 + x 11 + x 15

g 3 (x)

1 + x 2 + x 4 + x 6 + x 8 + x 10 + x 12 + x 13 + x 15

g 4 (x)

1 + x 2 + x 3 + x 5 + x 6 + x 8 + x 10 + x 11 + x 15

g 5 (x)

1 + x + x 2 + x 4 + x 6 + x 7 + x 10 + x 12 + x 15

g 6 (x)

1 + x 4 + x 6 + x 7 + x 12 + x 13 + x 15

g 7 (x)

1 + x 2 + x 4 + x 5 + x 7 + x 11 + x 12 + x 14 + x 15

g 8 (x)

1 + x 2 + x 4 + x 6 + x 8 + x 9 + x 11 + x 14 + x 15

g 9 (x)

1 + x + x 2 + x 4 + x 5 + x 7 + x 9 + x 11 + x 12 + x 13 + x 15

g 10 (x)

1 + x + x 2 + x 3 + x 4 + x 7 + x 10 + x 11 + x 12 + x 13 + x 15

g 11 (x)

1 + x + x 2 + x 4 + x 9 + x 11 + x 15

g 12 (x)

1 + x 2 + x 4 + x 8 + x 10 + x 11 + x 13 + x 14 + x 15 .

8. An apparatus, comprising:

at least one processor; and

at least one memory including computer program code for one or more programs,

the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to perform at least the following:

encoding a source data sequence of information bits based on a predetermined structured parity check matrix of a Low Density Parity Check (LDPC) code, wherein the encoding is performed based on frames of the source data sequence, each frame being of a length of k ldpc information bits (i 0 , i 1 , . . . , i k ldpc −1 ), and the output of the encoding comprises coded LDPC frames each being n ldpc coded bits in length, and

wherein the structured parity check matrix is represented by tabular information of a format wherein each row represents occurrences of one values within a respective column of the parity check matrix, and the columns of the parity check matrix are derived according to a predetermined operation based on the respective rows of the tabular information, and wherein the tabular information comprises a one of Tables 8a through 8c (below);

wherein the encoding comprises generating n ldpc −k ldpc parity bits (p 0 , p 1 , . . . , p n ldpc −k ldpc −1 ) for each frame of the source data sequence, wherein the generation of the parity bits comprises:

initializing parity bit accumulators for p 0 , p 1 , . . . , p n ldpc −k ldpc −1 to zero;

accumulating information bit i 0 at parity bit accumulator addresses specified in the first row of the table;

for the next group of m−1 information bits, i y (y=1, 2, . . . , m−1), accumulating each information bit at parity bit accumulator addresses {x+(y mod m)*q} mod(n ldpc −k ldpc ), wherein x denotes an address of a parity bit accumulator corresponding to the information bit i 0 , and q is a code-rate dependent constant (q=(n ldpc −k)/m), and wherein m is a code-dependent constant and k=R*n (where R is the code rate);

accumulating i m at parity bit accumulator addresses specified in the second row of the table, and, in a similar manner as for the group of m−1 information bits (above), accumulating each information bit of the next group of m−1 information bits i z , z=(m+1, m+2, . . . , 2m) at {x+(z mod m)*q} mod(n ldpc −k ldpc ), wherein x denotes the address of the parity bit accumulator corresponding to the information bit i m (the entries of the second row of the table);

in a similar manner, for each subsequent group of m information bits, accumulating the information bits at parity bit addresses based on a next row of the table; and

after all of the information bits of the frame are accumulated, performing operations according to p i =p i ⊕p i−1 , wherein for i=1, 2, . . . , (n ldpc −k ldpc −1), each p i resulting from the operation for a given i is equal to the parity bit p i ;

TABLE 8a

Address of Parity Bit Accumulators (Rate 1/5) (n ldpc = 32400)

18222 6715 4908 21568 22821 11708 4769 4495 22243 25872 9051 19072 13956

2038 5205 21215 21009 9584 2403 23652 20866 20130 677 9509 6136 773

19936 14590 17829 473 4432 23171 11386 17937 22084 24450 267 8822 19335

16376 16769 5111 9794 18907 827 12385 12370 21647 10938 23619 11633 15865

23417 7631 12243 21546 4192 22117 14757 4118 9686 17021 8531 15989 8807

15533 16584 18529 19699 17821 4252 1254 5952 3163 20295 6944 1022 19743

129 16579 23524 25897 14690 11222 16250 9925 4268 999 7102 24528 152

18361 3708 3454 16604 1551 5809 20324 4775 22418 19091 19674 10975 7327

24133 10950 22779 11388 13818 20668 7556 12333 16446 19684 12510 25118 8162

17026 6850 1269

21895 7137 25270

11858 24153 13303

7885 16438 12805

10473 15004 8052

2088 10379 10067

21438 13426 10440

17696 727 12164

22623 8408 17849

TABLE 8b

Address of Parity Bit Accumulators (Rate 11/45) (n ldpc = 32400)

20617 6867 14845 11974 22563 190 17207 4052 7406 16007

21448 14846 2543 23380 16633 20365 16869 13411 19853 795

5200 2330 2775 23620 20643 10745 14742 6493 14222 20939

9445 9523 12769 7332 21792 18717 16397 14016 9481 22162

2922 6427 4497 4116 17658 2581 14364 3781 18851 22974

10383 2184 1433 3889 12828 17424 17580 20936 1390 21374

425 2063 22398 20907 9445 14790 4457 723 7048 4072

11771 9640 23212 9613 12042 8335 21386 20129 13521 16301

14867 12501 1086 21526 17701 17731 20907 8790 19224 5784

7107 19690 17616 5800 9501 23320 16878 794 15931 17539

4556 21783 1524

20100 11706 23663

2535 15530 6116

12078 3867 2663

19629 20246 7024

11748 11426 19802

15942 12333 5316

11521 3170 17818

2289 23780 16575

6649 16991 13025

20050 10619 10250

3944 13063 5656

TABLE 8c

Address of Parity Bit Accumulators (Rate 1/3) (n ldpc = 32400)

7416 4093 16722 1023 20586 12219 9175 16284 1554 10113 19849 17545

13140 3257 2110 13888 3023 1537 1598 15018 18931 13905 10617 1014

339 14366 3309 15360 18358 3196 4412 6023 7070 17380 2777 6691

12720 17634 4141 1400 8247 18201 16077 11314 11928 3494 3155 2865

21038 6928 3860 1943 20292 6526 12939 15182 3957 5651 356 2673

20555 17905 5724 13932 1218 17763 5912 5164 6233 6220 1277 19209

19190 4498 4950 6645 5482 5667 13701 16334 15231 735 8589 12344

679 17849 17807 16033 10181 3368 5778 8275 2736 14042 17506 6005

1576 10259 10525 3007 16522 697 7726 8641 14323 2893 8168 11070

17270 10180 18740 847 4969 14715 19316 5530 17428 11193 9861 13562

6156 18787 10467

2422 3723 10769

8015 18716 13406

5969 15949 3084

6855 13990 3764

10351 15779 10392

16078 19034 11279

11747 6608 4188

19699 8928 8045

4598 7219 11391

19766 11871 5692

7487 15905 17621

8554 7751 16516

4981 20250 16146

12524 21364 10793

17083 2051 8862

1315 6246 7721

18043 16652 5502

1432 5674 2224

11257 1312 8453.

9. The apparatus of claim 8 , wherein the LDPC code is of a structure that facilitates use of a plurality of parallel engines for decoding the coded signal.

10. The apparatus of claim 8 , wherein n ldpc =32400, and m=360.

11. The apparatus of claim 8 , wherein the apparatus is caused to further perform:

modulating the coded LDPC frames according to according to one of the following modulation types: π/2 BPSK (Binary Phase Shift Keying) and QPSK (Quadrature Phase Shift Keying).

12. The apparatus of claim 8 , wherein the source data sequence is segmented into a series of baseband frames, and the apparatus is caused to further perform:

encoding each baseband frame based on a t-error Bose Chaudhuri Hocquenghem (BCH) code, wherein the BCH encoding comprises an outer coding and the LDPC encoding comprises an inner coding.

13. The apparatus of claim 12 , wherein the BCH outer coding and the LDPC inner coding are based on a one row of the following table of coding parameters depending on the code rate:

BCH coded

LDPC

block N BCH

Code

BCH uncoded

LDPC uncoded

BCH t-error

LDPC coded

Identifier

block K BCH

block k ldpc

correction

block n ldpc

1/5

6300

6480

12

32400

11/45

7740

7920

12

32400

1/3

10620

10800

12

32400.

14. The apparatus of claim 13 , wherein the BCH outer coding is further based on the following table of BCH polynomials:

g 1 (x)

1 + x 2 + x 3 + x 5 + x 15

g 2 (x)

1 + x + x 4 + x 7 + x 10 + x 11 + x 15

g 3 (x)

1 + x 2 + x 4 + x 6 + x 8 + x 10 + x 12 + x 13 + x 15

g 4 (x)

1 + x 2 + x 3 + x 5 + x 6 + x 8 + x 10 + x 11 + x 15

g 5 (x)

1 + x + x 2 + x 4 + x 6 + x 7 + x 10 + x 12 + x 15

g 6 (x)

1 + x 4 + x 6 + x 7 + x 12 + x 13 + x 15

g 7 (x)

1 + x 2 + x 4 + x 5 + x 7 + x 11 + x 12 + x 14 + x 15

g 8 (x)

1 + x 2 + x 4 + x 6 + x 8 + x 9 + x 11 + x 14 + x 15

g 9 (x)

1 + x + x 2 + x 4 + x 5 + x 7 + x 9 + x 11 + x 12 + x 13 + x 15

g 10 (x)

1 + x + x 2 + x 3 + x 4 + x 7 + x 10 + x 11 + x 12 + x 13 + x 15

g 11 (x)

1 + x + x 2 + x 4 + x 9 + x 11 + x 15

g 12 (x)

1 + x 2 + x 4 + x 8 + x 10 + x 11 + x 13 + x 14 + x 15 .

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION NUMBER 15649418 PREVIOUSLY RECORDED ON REEL 050600 FRAME 0314. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF PATENT SECURITY AGREEMENTS. Recorded Sep 3, 2020
From: WELLS FARGO, NATIONAL BANK ASSOCIATION
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 053703/0367 →
ASSIGNMENT OF PATENT SECURITY AGREEMENTS Recorded Oct 1, 2019
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 050600/0314 →
SECURITY INTEREST Recorded Feb 19, 2015
From: HUGHES NETWORK SYSTEMS LLC
To: WELLS FARGO BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 034989/0218 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2013
From: EROZ, MUSTAFA; LEE, LIN-NAN
To: HUGHES NETWORK SYSTEMS, LLC
Reel/Frame 030729/0699 →