IP Library Granted Patent US 8,683,292
Granted Patent B2
US 8,683,292 · App. 13/791,949 · Granted Mar 25, 2014

Method and system for providing low density parity check (LDPC) coding for scrambled coded multiple access (SCMA)

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 8,683,292
App. No.
13/791,949
Granted
Mar 25, 2014
Kind
B2
Abstract

A multiple access scheme is described. One or more encoders are configured to encode a plurality of bit streams using Low Density Parity Check (LDPC) coding. The bit streams correspond to a respective plurality of terminals. The plurality of bit streams are converted to provide a multiple access scheme for the terminals.

Claims (141)

1. A method comprising:

encoding, by a processor of a first device, one or more blocks of information bits of a first source bit stream based on a predetermined structured parity check matrix of an LDPC code to generate a first LDPC encoded bit stream, wherein the parity check matrix is represented by stored information configured in a tabular format of rows and columns, wherein each row represents occurrences of one values within a respective column of the parity check matrix;

scrambling the first LDPC encoded bit stream according to a scrambling signature based on a first initial vector, wherein the scrambling of the first LDPC encoded bit stream is configured for distinguishing the first LDPC encoded bit stream of the first device from a second scrambled bit stream of a second device to facilitate a multiple access scheme;

wherein the LDPC encoding of the blocks of information bits (each block being of a size of k ldpc information bits, and each resulting encoded block being of a size of n ldpc code bits including parity bits p i , i=0, 1, 2, . . . , n ldpc −k ldpc −1), comprises:

initializing parity bit accumulators a 0 =a 1 = . . . =a n ldpc −k ldpc −1 =0;

for a one of the blocks of information bits, divided into j sequential groups (each of a size of M information bits), and for j=1, 2, 3, . . . k ldpc /M: (1) accumulating a first information bit of a j th group in certain of the parity bit accumulators reflected by accumulator addresses based on a j th row of the stored tabular information; and (2) accumulating the remaining (M−1) information bits of the j th group in certain of the parity bit accumulators reflected by accumulator addresses according to {x+m mod M*q} mod (n ldpc −k ldpc ), wherein x denotes an address of the parity bit accumulator corresponding to the first bit of the group, and

q=(n ldpc −k ldpc )/M; and

after all of the information bits of the one block are accumulated, sequentially performing operations (with respect to the parity bit accumulators) according to a i =a i ⊕a i−1 , i=1, 2, . . . (n ldpc −k ldpc −1), where the additions are in Galois Field (GF) 2; and

wherein the parity bits p i , i=0, 1, . . . (n ldpc −k ldpc −1) are respectively reflected by the resulting parity bit accumulators a i , i=0, 1, . . . (n ldpc −k ldpc −1).

2. A method according to claim 1 , wherein the scrambling signature comprises Gold sequences.

3. A method according to claim 1 , wherein the stored information representing the structured parity check matrix comprises a one of the following Tables respectively for a rate 1/9 code and a rate 1/15 code:

Address of Parity Bit Accumulators (Rate 1/9)

1380 2744

332 2984

2784 2624

92 596

180 1160

464 1624

2556 1580

708 1008

Address of Parity Bit Accumulators (Rate 1/15)

4788 4536

2849 2282

1750 2947

1197 4151.

4. A method according to claim 1 , wherein M=50 and q=64 for a rate 1/9 LDPC code, and M=100 and q=56 for a rate 1/15 LDPC code.

5. A method according to claim 4 , wherein the stored information representing the structured parity check matrix comprises a one of the following Tables resnectively for a rate 1/9 code and a rate 1/15 code:

Address of Parity Bit Accumulators (Rate 1/9)

1380 2744

332 2984

2784 2624

92 596

180 1160

464 1624

2556 1580

708 1008

Address of Parity Bit Accumulators (Rate 1/15)

4788 4536

2849 2282

1750 2947

1197 4151.

6. A method according to claim 3 , wherein row indices of 1's in a column index j*M (j=0, 1, 2, 3, . . . , k ldpc /M−1) of the parity check matrix are provided at the j th row according to the one Table.

7. A method according to claim 1 , wherein the LDPC code is of a structure that facilitates use of a plurality of parallel engines for decoding the encoded bot stream.

8. A method according to claim 1 , further comprising:

modulating the LDPC encoded bit stream according to a signal constellation reflecting one of QPSK (Quadrature Phase Shift Keying), OQPSK (Offset QPSK), PSK (Phase Shift Keying), 8-PSK, 16-APSK (Amplitude PSK), and 32-APSK.

9. 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 one or more blocks of information bits of a first source bit stream based on a predetermined structured parity check matrix of an LDPC code to generate a first LDPC encoded bit stream, wherein the parity check matrix is represented by stored information configured in a tabular format of rows and columns, wherein each row represents occurrences of one values within a respective column of the parity check matrix;

scrambling the first LDPC encoded bit stream according to a scrambling signature based on a first initial vector, wherein the scrambling of the first LDPC encoded bit stream is configured for distinguishing the first LDPC encoded bit stream of the apparatus from a scrambled second bit stream of a second apparatus to facilitate a multiple access scheme;

wherein the LDPC encoding of the blocks of information bits (each block being of a size of k ldpc information bits, and each resulting encoded block being of a size of n ldpc code bits including parity bits p i , i=0, 1, 2, . . . , n ldpc −k ldpc −1), comprises:

initializing parity bit accumulators a 0 =a 1 = . . . =a n ldpc −k ldpc −1 =0;

for a one of the blocks of information bits, divided into j sequential groups (each of a size of M information bits), and for j=1, 2, 3, . . . k ldpc /M: (1) accumulating a first information bit of a j th group in certain of the parity bit accumulators reflected by accumulator addresses based on a j th row of the stored tabular information; and (2) accumulating the remaining (M−1) information bits of the j th group in certain of the parity bit accumulators reflected by accumulator addresses according to {x+m mod M*q} mod(n ldpc −k ldpc ), wherein x denotes an address of the parity bit accumulator corresponding to the first bit of the group, and

q=(n ldpc −k ldpc )/M; and

after all of the information bits of the one block are accumulated, sequentially performing operations (with respect to the parity bit accumulators) according to a i =a i ⊕a i−1 , i=1, 2, . . . (n ldpc −k ldpc −1), where the additions are in Galois Field (GF) 2; and

wherein the parity bits p i , i=0, 1, . . . (n ldpc −k ldpc −1) are respectively reflected by the resulting parity bit accumulators a i , i=0, 1, . . . (n ldpc −k ldpc −1).

10. An apparatus according to claim 9 , wherein the scrambling signature comprises Gold sequences.

11. An apparatus according to claim 9 , wherein the stored information representing the structured parity check matrix comprises a one of the following Tables respectively for a rate 1/9 code and a rate 1/15 code:

Address of Parity Bit Accumulators (Rate 1/9)

1380 2744

332 2984

2784 2624

92 596

180 1160

464 1624

2556 1580

708 1008

Address of Parity Bit Accumulators (Rate 1/15)

4788 4536

2849 2282

1750 2947

1197 4151.

12. An apparatus according to claim 9 , wherein M=50 and q=64 for a rate 1/9 LDPC code, and M=100 and q=56 for a rate 1/15 LDPC code.

13. An apparatus according to claim 12 , wherein the stored information representing the structured parity check matrix comprises a one of the following Tables respectively for a rate 1/9 code and a rate 1/15 code:

Address of Parity Bit Accumulators (Rate 1/9)

1380 2744

332 2984

2784 2624

92 596

180 1160

464 1624

2556 1580

708 1008

Address of Parity Bit Accumulators (Rate 1/15)

4788 4536

2849 2282

1750 2947

1197 4151.

14. An apparatus according to claim 11 , wherein row indices of 1's in a column index j*M (j=0, 1, 2, 3, . . . , k ldpc /M−1) of the parity check matrix are provided at the j th row according to the one Table.

15. An apparatus according to claim 9 , wherein the LDPC code is of a structure that facilitates use of a plurality of parallel engines for decoding the encoded bit stream.

16. An apparatus according to claim 9 , further comprising:

modulating the LDPC encoded bit stream according to a signal constellation reflecting one of QPSK (Quadrature Phase Shift Keying), OQPSK (Offset QPSK), PSK (Phase Shift Keying), 8-PSK, 16-APSK (Amplitude PSK), and 32-APSK.

17. A system comprising:

a first terminal device comprising a first encoder configured to encode one or more blocks of information bits of a first source bit stream based on a first predetermined structured parity check matrix of a first LDPC code to generate a first LDPC encoded bit stream, wherein the first parity check matrix is represented by stored information configured in a tabular format of rows and columns, wherein each row represents occurrences of one values within a respective column of the parity check matrix, and a first scrambling module configured to scramble the first LDPC encoded bit stream according to a first scrambling signature based on a first initial vector; and

a second terminal device comprising a second encoder configured to encode one or more blocks of information bits of a second source bit stream based on a second predetermined structured parity check matrix of a second LDPC code to generate a second LDPC encoded bit stream, wherein the second parity check matrix is represented by stored information configured in a tabular format of rows and columns, wherein each row represents occurrences of one values within a respective column of the parity check matrix; and a second scrambling module configured to scramble the second LDPC encoded bit stream according to a second scrambling signature based on a second initial vector;

wherein the scrambling of the first and second LDPC encoded bit streams is configured for distinguishing the first LDPC encoded bit stream of the first terminal device from the second LDPC encoded bit stream of the second terminal device to facilitate a multiple access scheme; and

wherein the respective LDPC encoding of the respective blocks (each block being of a size of k ldpc information bits, and each resulting encoded block being of a size of n ldpc code bits including parity bits p i , i=0, 1, 2, . . . , n lcpc −k ldpc −1) of information bits of each of the first and second bit streams, comprises:

initializing parity bit accumulators a 0 =a 1 = . . . =a n ldpc k ldpc −1 =0;

for a one of the blocks of information bits, divided into j sequential groups (each of a size of M information bits), and for j=1, 2, 3, . . . k ldpc /M: (1) accumulating a first information bit of a j th group in certain of the parity bit accumulators reflected by accumulator addresses based on a j th row of the stored tabular information; and (2) accumulating the remaining (M−1) information bits of the j th group in certain of the parity bit accumulators reflected by accumulator addresses according to {x+m mod M*q} mod (n ldpc −k ldpc ), wherein x denotes an address of the parity bit accumulator corresponding to the first bit of the group, and

q=(n ldpc −k ldpc )/M; and

after all of the information bits of the one block are accumulated, sequentially performing operations (with respect to the parity bit accumulators) according to a i =a i ⊕a i−1 , i=1, 2, . . . (n ldpc −k ldpc −1), where the additions are in Galois Field (GF) 2; and

wherein the parity bits p i , i=0, 1, . . . (n ldpc −k ldpc −1) are respectively reflected by the resulting parity bit accumulators a i , i=0, 1, . . . (n ldpc −k ldpc −1).

18. A system to claim 17 , wherein one or more of the first and second scrambling signatures each comprises Gold sequences.

19. A system according to claim 17 , wherein one or more of the stored information representing the structured parity check matrix of the first LDPC code and the stored information representing the structured parity check matrix of the second LDPC code each comprises a one of the following Tables respectively for a rate 1/9 code and a rate 1/15 code:

Address of Parity Bit Accumulators (Rate 1/9)

1380 2744

332 2984

2784 2624

92 596

180 1160

464 1624

2556 1580

708 1008

Address of Parity Bit Accumulators (Rate 1/15)

4788 4536

2849 2282

1750 2947

1197 4151.

20. A system according to claim 17 , wherein M=50 and q=64 for a rate 1/9 LDPC code, and M=100 and q=56 for a rate 1/15 LDPC code.

21. A system according to claim 20 , one or more of the stored information representing the structured parity check matrix of the first LDPC code and the stored information representing the structured parity check matrix of the second LDPC code each comprises a one of the following Tables respectively for a rate 1/9 code and a rate 1/15 code:

Address of Parity Bit Accumulators (Rate 1/9)

1380 2744

332 2984

2784 2624

92 596

180 1160

464 1624

2556 1580

708 1008

Address of Parity Bit Accumulators (Rate 1/15)

4788 4536

2849 2282

1750 2947

1197 4151.

22. A system according to claim 19 , wherein row indices of 1's in a column index j*M (j=0, 1, 2, 3, . . . , k ldpc /M−1) of one or more of the parity check matrix of the first LDPC code and the parity check matrix of the second LDPC code is each provided at the j th row according to the one Table.

23. A system according to claim 17 , wherein the LDPC codes are of a structure that facilitates use of a plurality of parallel engines for decoding the encoded bit streams.

24. A system according to claim 17 , further comprising:

modulating the LDPC encoded bit stream according to a signal constellation reflecting one of QPSK (Quadrature Phase Shift Keying), OQPSK (Offset QPSK), PSK (Phase Shift Keying), 8-PSK, 16-APSK (Amplitude PSK), and 32-APSK.

25. A system according to claim 17 , wherein the first scrambling signature relatively matches the second scrambling signature, and the first and second initial vectors differ in order to facilitate the distinguishing between the first LDPC encoded bit stream of the first terminal device from the second LDPC encoded bit stream of the second terminal device.

26. A system according to claim 17 , wherein the first and second scrambling signatures differ in order to facilitate the distinguishing between the first LDPC encoded bit stream of the first terminal device from the second LDPC encoded bit stream of the second terminal device.

Assignments (5)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2015
From: LEE, LIN-NAN; EROZ, MUSTAFA
To: HUGHES NETWORK SYSTEMS, LLC
Reel/Frame 035349/0231 →
SECURITY INTEREST Recorded Feb 19, 2015
From: HUGHES NETWORK SYSTEMS LLC
To: WELLS FARGO BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 034989/0218 →
SECURITY INTEREST Recorded Mar 11, 2014
From: HUGHES NETWORK SYSTEMS LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 032404/0094 →