# US 10,771,305 B2 · Systems and methods for sparse code multiple access

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,771,305 B2
- Document ID: US10771305B2
- Status: Granted
- Kind: B2
- Application number: 16/356,626
- Filed: 2019-03-18
- Published: 2019-08-22
- Granted: 2020-09-08
- Earliest claimed: 2012-11-16
- Assignees: Huawei Technologies Co., Ltd.
- Applicants: Huawei Technologies Co., Ltd.
- Inventors: Hosein Nikopour; Mohammadhadi Baligh
- Web page: https://patentgrep.com/patent/US10771305B2

## CPC

- H04L 27/362: {Modulation using more than one carrier, e.g. with quadrature carriers, separately amplitude modulated (H04L27/366 takes precedence)}
- H04B 1/707: using direct sequence modulation
- H04B 7/0413: MIMO systems
- H04B 7/0473: {taking constraints in layer or codeword to antenna mapping into account}
- H04J 13/00: Code division multiplex systems (for frequency hopping H04B1/713)
- H04J 13/0074: {Code shifting or hopping}
- H04L 5/0021: {in which codes are applied as a frequency-domain sequences, e.g. MC-CDMA}
- H04L 27/345: {Modifications of the signal space to allow the transmission of additional information}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04B: TRANSMISSION
- H04J: MULTIPLEX COMMUNICATION (transmission in general H04B; peculiar to transmission of digital information H04L5/00; systems for the simultaneous or sequential transmission of more than one television signal H04N7/08; in exchanges H04Q11/00; stereophonic systems H04S)

## Abstract

Coding gains can be achieved by encoding binary data directly to multi-dimensional codewords, which circumvents QAM symbol mapping employed by conventional CDMA encoding techniques. Further, multiple access can be achieved by assigning different codebooks to different multiplexed layers. Moreover, sparse codewords can be used to reduce baseband processing complexity on the receiver-side of the network, as sparse codewords can be detected within multiplexed codewords in accordance with message passing algorithms (MPAs).

## Claims

### Claim 1

A method, the method comprising:
receiving, by a transmitter, a first binary or M-ary data associated with a first code domain layer of a plurality of code domain layers and a second binary or M-ary data associated with a second code domain layer of the plurality of code domain layers;
encoding, by the transmitter, the first binary or M-ary data by mapping the first binary or M-ary data to a first sparse codeword associated with a first binary or M-ary value of the first binary or M-ary data and associated with the first code domain layer, the first sparse codeword comprising a first vector, the first vector including first at least one zero element and first at least one non-zero element;
encoding, by the transmitter, the second binary or M-ary data by mapping the second binary or M-ary data to a second sparse codeword associated with a second binary or M-ary value of the second binary or M-ary data and associated with the second code domain layer, the second sparse codeword comprising a second vector, the second vector including second at least one zero element and second at least one non-zero element; and
transmitting, by the transmitter, the first sparse codeword and the second sparse codeword over shared resources of a network.

### Claim 2 (depends on 1)

The method of claim 1, wherein the encoding the first binary or M-ary data comprises:
selecting the first sparse codeword from a first set of sparse codewords in a first codebook in accordance with the first binary or M-ary value of the first binary or M-ary data, wherein each sparse codeword in the first set of sparse codewords is associated with a different binary or M-ary value.

### Claim 3 (depends on 2)

The method of claim 2, wherein each sparse codeword in the first set of sparse codewords comprises a low density of non-zero elements such that a corresponding sparse codeword is detectable in accordance with a message passing algorithm (MPA).

### Claim 4 (depends on 1)

The method of claim 1, the method further comprising:
multiplexing, by the transmitter, the first sparse codeword and the second sparse codeword to obtain multiplexed codewords, wherein the transmitting comprises transmitting the multiplexed codewords over the shared resources of the network.

### Claim 5

A method, the method comprising:
receiving, by a receiver, multiplexed codewords of a first sparse codeword and a second sparse codeword over shared resources of a network, the first sparse codeword associated with a first binary or M-ary value of a first binary or M-ary data and associated with a first code domain layer of a plurality of code domain layers, the first sparse codeword comprising a first vector, the first vector including at least one zero element and at least one non-zero element, and the first binary or M-ary data associated with the first code domain layer,
wherein each sparse codeword in a first set of sparse codewords is associated with a different binary or M-ary value, and
wherein each sparse codeword in the first set of sparse codewords comprises a low density of non-zero elements such that a corresponding sparse codeword is detectable in accordance with a message passing algorithm (MPA);
identifying, by the receiver, the first sparse codeword from the multiplexed codewords using the MPA; and
decoding, by the receiver, the first sparse codeword to obtain the first binary or M-ary data by mapping the first sparse codeword to the first binary or M-ary data.

### Claim 6 (depends on 5)

The method of claim 5, the method further comprising:
decoding, by the receiver, the second sparse codeword to obtain a second binary or M-ary data by mapping the second sparse codeword to the second binary or M-ary data, the second binary or M-ary data associated with a second code domain layer of the plurality of code domain layers.

### Claim 7

A transmitter comprising:
a processor; and
a non-transitory computer readable storage medium storing programming for execution by the processor, the programming comprising instructions for:
receiving a first binary or M-ary data associated with a first code domain layer of a plurality of code domain layers and a second binary or M-ary data associated with a second code domain layer of the plurality of code domain layers;
encoding the first binary or M-ary data by mapping the first binary or M-ary data to a first sparse codeword associated with a first binary or M-ary value of the first binary or M-ary data and associated with the first code domain layer, the first sparse codeword comprising a first vector, the first vector including first at least one zero element and first at least one non-zero element;
encoding the second binary or M-ary data by mapping the second binary or M-ary data to a second sparse codeword associated with a second binary or M-ary value of the second binary or M-ary data and associated with the second code domain layer, the second sparse codeword comprising a second vector, the second vector including second at least one zero element and second at least one non-zero element; and
transmitting the first sparse codeword and the second sparse codeword over shared resources of a network.

### Claim 8 (depends on 7)

The transmitter of claim 7, wherein the encoding the first binary or M-ary data comprises:
selecting the first sparse codeword from a first set of sparse codewords in a first codebook in accordance with the first binary or M-ary value of the first binary or M-ary data, wherein each sparse codeword in the first set of sparse codewords is associated with a different binary or M-ary value.

### Claim 9 (depends on 8)

The transmitter of claim 8, wherein each sparse codeword in the first set of sparse codewords comprises a low density of non-zero elements such that a corresponding sparse codeword is detectable in accordance with a message passing algorithm (MPA).

### Claim 10 (depends on 7)

The transmitter of claim 7, the programming further comprising instructions for:
multiplexing the first sparse codeword and the second sparse codeword to obtain multiplexed codewords, wherein the transmitting comprises transmitting the multiplexed codewords over the shared resources of the network.

### Claim 11

A receiver comprising:
a processor; and
a non-transitory computer readable storage medium storing programming for execution by the processor, the programming comprising instructions for:
receiving multiplexed codewords of a first sparse codeword and a second sparse codeword over shared resources of a network, the first sparse codeword associated with a first binary or M-ary value of a first binary or M-ary data and associated with a first code domain layer of a plurality of code domain layers, the first sparse codeword comprising a first vector, the first vector including at least one zero element and at least one non-zero element, and the first binary or M-ary data associated with the first code domain layer,
wherein each sparse codeword in a first set of sparse codewords is associated with a different binary or M-ary value, and
wherein each sparse codeword in the first set of sparse codewords comprises a low density of non-zero elements such that a corresponding sparse codeword is detectable in accordance with a message passing algorithm (MPA);
identifying the first sparse codeword from the multiplexed codewords using the MPA; and
decoding the first sparse codeword to obtain the first binary or M-ary data by mapping the first sparse codeword to the first binary or M-ary data.

### Claim 12 (depends on 11)

The receiver of claim 11, the programming further comprising instructions for:
decoding the second sparse codeword to obtain a second binary or M-ary data by mapping the second sparse codeword to the second binary or M-ary data, the second binary or M-ary data associated with a second code domain layer of the plurality of code domain layers.
