Apparatus and method for improved modulation and coding schemes for broadband satellite communications systems
View Patent ↗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.
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 .