# US 10,374,759 B2 · High throughput communication system

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

- Number: US 10,374,759 B2
- Document ID: US10374759B2
- Status: Granted
- Kind: B2
- Application number: 15/978,165
- Filed: 2018-05-13
- Published: 2018-11-08
- Granted: 2019-08-06
- Earliest claimed: 2016-02-11
- Assignees: The Regents of the University of California
- Applicants: The Regents of the University of California
- Inventors: Richard Wesel; Kasra Vakilinia; Sudarsan V S Ranganathan; Dariush Divsalar; Haobo Wang
- Web page: https://patentgrep.com/patent/US10374759B2

## CPC

- H04L 1/22: using redundant apparatus to increase reliability
- H04L 1/0057: {Block codes (H04L1/0061, H04L1/0064 take precedence)}
- H04L 1/0059: {Convolutional codes}
- H04L 1/0061: {Error detection codes}
- H04L 1/0068: {by puncturing}
- H04L 1/08: by repeating transmission, e.g. Verdan system {(H04L1/1858 and H04L1/189 take precedence)}
- H04L 1/165: {Variable formats}
- H04L 1/1819: {with retransmission of additional or different redundancy}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A high throughput communication apparatus which provides low frame error rates (FER). Error checking encoder and decoders which each comprise a plurality of short blocklength error checking encoders or decoders, respectively, in parallel, coupled through common incremental redundancy. Short-blocklength codes are utilized to achieve communication capacity with incremental redundancy. The system can transmit and decode a large number of short-blocklength codewords in parallel, while it delivers incremental redundancy, without feedback, only to the decoders that need incremental redundancy.

## Claims

### Claim 1

A transmitter apparatus in a communications system, said transmitter apparatus comprising:
(a) one or more variable-length encoders for a variable-length code configured to take as input a k-bit message and to produce as output an initial transmission sequence of length 1 symbols and a set of m−1 increments, where m is an integer greater than one, all increments having the same length Δ, such that if said initial transmission sequence and said increments were transmitted based on non-active ACK/NACK feedback, said variable-length code would approach capacity by exceeding a specified percentage of Shannon capacity of a specified point-to-point channel; and
(b) an incremental redundancy encoder configured to combine the increments produced by said one or more variable-length encoders to produce a common pool of incremental redundancy to be made available for all variable-length codes at a receiver;
(c) wherein said one or more variable-length encoders are configured to produce said initial transmission sequence for a plurality L of said k-bit messages, which are transmitted to a receiver over a channel between said transmitter and said receiver;
(d) wherein said transmitter apparatus is configured to additionally transmit to the receiver over said channel between said transmitter and the receiver a number of transmitted symbols less than L×(m−1)×Δ, corresponding to a common pool of incremental redundancy for the plurality L of said k-bit messages;
(e) wherein said number of transmitted symbols corresponding to the common pool of redundancy approximates a number of symbols of incremental redundancy that would have been sent by L independently operating variable-length encoders if said increments were transmitted based on non-active ACK/NACK feedback on said specified point-to-point channel;
(f) wherein said transmitter apparatus is configured to have a rate approaching the rate achieved by the capacity-approaching variable-length code when utilized with non-active ACK/NACK feedback;
(g) wherein probability of either failing to decode a k-bit message, or decoding a k-bit message in error is below a target value; and
(h) wherein k is a number of bits in a message that is encoded by a variable length encoder, is a length in symbols of a transmission, m is a number of stages including an initial transmission and m−1 additional stages of incremental redundancy, and L is a number of short-blocklength codewords.

### Claim 2 (depends on 1)

The transmitter apparatus of claim 1, wherein said initial transmission sequence of length 1 is obtained by using sequential differential optimization and the increment length Δ is obtained by approximating the set of lengths obtained by sequential differential optimization by a single length.

### Claim 3 (depends on 1)

The transmitter apparatus of claim 1:
wherein the incremental redundancy encoder is a generalized low-density generator matrix (LDGM) code in which systematic nodes correspond to variable-length encoders/decoders and parity nodes correspond to linearly combined length-Δ increments; and
wherein the systematic nodes have various degrees described by a systematic-node degree distribution and the parity nodes have various degrees described by a parity-node degree distribution.

### Claim 4 (depends on 3)

The transmitter apparatus of claim 3, wherein all the systematic nodes have the same degree, which is the number m−1 of increments produced by each variable-length encoder.

### Claim 5 (depends on 3)

The transmitter apparatus of claim 3, wherein all the parity nodes have the same degree.

### Claim 6 (depends on 3)

The transmitter apparatus of claim 3, wherein all the parity nodes are of a sufficiently close degree that parity node degrees are one of two consecutive integers.

### Claim 7 (depends on 3)

The transmitter apparatus of claim 3, wherein said parity node degree distribution is obtained by differential evolution.

### Claim 8 (depends on 1)

The transmitter apparatus of claim 1, wherein the increment length Δ is less than 20.

### Claim 9 (depends on 1)

The transmitter apparatus of claim 1, wherein the variable length code has an average blocklength of less than 150 symbols if used with non-active ACK/NACK feedback on the specified point-to-point channel.

### Claim 10 (depends on 1)

The transmitter apparatus of claim 1, wherein said transmitter apparatus is configured for being utilized in an optical point-to-point channel.

### Claim 11 (depends on 1)

The transmitter apparatus of claim 1, wherein said plurality L of k-bit messages includes redundant k-bit messages resulting from an additional encoder that allows recovery of k-bit messages not successfully decoded and/or allows recovery of k-bit incorrectly decoded by said variable-length decoders.

### Claim 12

A receiver apparatus in a communications system, said receiver apparatus comprising:
(a) one or more variable-length decoders configured for receiving a variable-length code where variable-length codewords are comprised of an initial transmission sequence of length 1 symbols by itself, or together with a set of up to m−1 increments, where m is an integer greater than one, all increments having the same length Δ, such that if said initial transmission and said increments were transmitted based on non-active ACK/NACK feedback, said variable-length code would approach capacity by exceeding a specified percentage of Shannon capacity of a specified point-to-point channel;
(b) wherein said variable-length decoders are configured for performing multiple decoding attempts, in which each successive attempt utilizes as its input an input sequence of a previous attempt plus one or more additional increments;
(c) wherein said one or more variable-length decoders is configured for producing for each attempt either a decoded k-bit message or an indication that no decoded k-bit message is available for that attempt; and
(d) an incremental redundancy decoder configured for receiving as input (d)(i) received symbols corresponding to a common pool of redundancy produced by an incremental redundancy encoder, and (d)(ii) increments produced by already-decoded k-bit messages, and wherein said incremental redundancy decoder is configured for producing output increments for use by said variable-length decoders;
(e) wherein said one or more variable-length decoders is configured to first attempt decoding of said plurality of L initial transmissions, each corresponding to a k-bit message, which are transmitted over a channel between the transmitter and the receiver, and continue until decoding is successful or no more increments are available;
(f) wherein said one or more variable-length decoders is configured for continuing to attempt decoding by a variable-length decoder whenever an additional increment is made available from said incremental redundancy decoder for said variable-length decoder for that k-bit message;
(g) wherein said incremental redundancy decoder is configured for utilizing increments corresponding to each successfully-decoded k-bit message to subsequently produce additional increments for said variable-length decoders until no more new increments from successfully-decoded k-bit messages are available;
(h) wherein said number of received symbols received by the incremental redundancy decoder is less than L×(m−1)×Δ, corresponding to the common pool of incremental redundancy, which approximates said number of symbols of incremental redundancy that would have been sent by L independently operating variable-length encoders if said increments were received based on non-active ACK/NACK feedback from a receiver on that same channel;
(i) wherein a communications system utilizing said receiver apparatus approaches Shannon capacity of said specified point-to-point channel, having a rate similar to that achieved by capacity-approaching variable-length code when used with non-active ACK/NACK feedback;
(j) wherein probability of either failing to decode a k-bit message, or decoding a k-bit message in error, is below a target value; and
(k) wherein k is a number of bits in a message that is encoded by a variable length encoder, is a length in symbols of a transmission, m is a number of stages including an initial transmission and m−1 additional stages of incremental redundancy, and L is a number of short-blocklength codewords.

### Claim 13 (depends on 12)

The receiver apparatus of claim 12:
wherein the incremental redundancy decoder is a decoder for a generalized low-density generator matrix (LDGM) code where the systematic nodes correspond to variable-length encoders/decoders and the parity nodes correspond to linearly combined length-Δ increments; and
wherein the systematic nodes have various degrees described by a systematic-node degree distribution and the parity nodes have various degrees described by a parity-node degree distribution.

### Claim 14 (depends on 13)

The receiver apparatus of claim 13, wherein all the systematic nodes have the same degree, which is the number m−1 of increments produced by each variable-length encoder.

### Claim 15 (depends on 13)

The receiver apparatus of claim 13, wherein all the parity nodes have the same degree.

### Claim 16 (depends on 13)

The receiver apparatus of claim 13, wherein all the parity nodes are of a sufficiently close degree that parity node degrees are one of two consecutive integers.

### Claim 17 (depends on 12)

The receiver apparatus of claim 12, wherein said receiver apparatus is configured for utilizing a cyclic redundancy check to determine whether each variable length decoding attempt was successful.

### Claim 18 (depends on 12)

The receiver apparatus of claim 12, wherein said variable length code from said transmitter is configured for utilizing a reliability function as produced by a reliability-output Viterbi algorithm in a receiver to determine whether each variable-length decoding attempt was successful.

### Claim 19 (depends on 12)

The receiver apparatus of claim 12, wherein said receiver apparatus is configured for use in an optical point-to-point channel.

### Claim 20 (depends on 12)

The receiver apparatus of claim 12:
further comprising an additional decoder configured for recovering any k-bit messages not successfully decoded by said variable-length decoders; and
wherein said additional decoder is configured for taking as input said decoded k-bit messages and locations of k-bit messages that could not be decoded, and said additional decoder is configured for producing a full set of L k-bit messages as a result, while failing only when too many k-bit messages are not successfully decoded by said variable-length codes, which occurs with a probability below a target value for the specified point-to-point channel.
