# US 9,521,018 B1 · Wireless receiver for turbo loop multiuser detection incorporating prior loop residual estimation errors

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

- Number: US 9,521,018 B1
- Document ID: US9521018B1
- Status: Granted
- Kind: B1
- Application number: 14/974,461
- Filed: 2015-12-18
- Granted: 2016-12-13
- Earliest claimed: 2015-12-18
- Assignees: Collision Communications, Inc.
- Applicants: Collision Communications, Inc.
- Inventors: Sayak Bose; Brandon Hombs; Joseph Farkas
- Web page: https://patentgrep.com/patent/US9521018B1

## CPC

- H04L 25/03292: {with channel estimation circuitry}
- H04L 25/0204: {of multiple channels}
- H04L 25/03267: {with decision feedback equalisers}
- H04L 25/03331: {Arrangements for the joint estimation of multiple sequences}
- H04B 7/0452: Multi-user MIMO systems
- H04L 25/03076: {not using decision feedback}
- H04L 2025/03636: {Algorithms using least mean square [LMS]}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04B: TRANSMISSION

## Abstract

An improved receiver design implements a practical method for modeling users in SIC turbo loop multiuser detection architectures, wherein in each loop unsubtracted estimation errors from previous loops are used to appropriately scale the error covariance matrix for each user, thereby accurately representing the remaining residual interference in the data stream for each desired user. The effect of estimation errors in previous interference cancellation operations is thereby minimized, and symbol estimations in successive turbo loops are improved, for example during multiuser MMSE, multiuser MMSE with interference rejection combining (MMSE-IRC), sample matrix inversion (SMI), or any of their adaptive variants (least mean-square, recursive least square, Kalman filter etc.). The estimated residual symbol energy can be computed per symbol, and then applied to entire data streams, to groups of symbols, or to each symbol separately.

## Claims

### Claim 1

A method of decoding and modeling a plurality of data streams from a plurality of signal sources included in a received transmission, the method comprising:
receiving a transmission including a plurality of data streams from a plurality of signal sources, each data stream including a corresponding plurality of known reference symbols and a plurality of unknown data symbols;
determining a channel estimate for each of the data streams based on the corresponding plurality of known reference signals;
equalizing the data streams included in the transmission according to said channel estimates;
demodulating the equalized data streams;
decoding the data symbols for any of the data streams that can be accurately decoded, and estimating all remaining data symbols for all remaining data streams;
calculating a residual error for each of the estimated data streams;
remodulating the estimated and decoded data streams;
obtaining a residual transmission by removing from the received transmission all decoded data streams;
for each of the estimated data streams, modeling the data stream by subtracting all of the other estimated data streams from the residual transmission;
equalizing the modeled data stream according to the channel estimates and the residual errors for each of the estimated data streams that has not been accurately decoded; and
repeatedly applying to the residual transmission in a loop the steps of demodulating, decoding, estimating, calculating, remodulating, obtaining a residual transmission, modeling, and equalizing until a loop termination requirement has been met.

### Claim 2 (depends on 1)

The method of claim 1, wherein the loop termination requirement is met when all of the data streams have been decoded or modeled.

### Claim 3 (depends on 1)

The method of claim 1, wherein the loop termination requirement is met when either all of the data streams have been decoded or modeled, or when a specified number of loops have been completed.

### Claim 4 (depends on 1)

The method of claim 1, wherein a residual error is calculated for each symbol in each data stream.

### Claim 5 (depends on 1)

The method of claim 1, wherein an average residual error is calculated for each of a plurality of sets of data symbols in each data stream.

### Claim 6 (depends on 1)

The method of claim 1, wherein an average residual error is calculated for all of the symbols in each data stream.

### Claim 7 (depends on 1)

The method of claim 1, wherein obtaining from the received transmission a residual transmission includes weighting each of the modeled data streams according to its corresponding calculated residual error.

### Claim 8 (depends on 1)

The method of claim 1, wherein repeating the step of equalizing the data streams includes equalizing the data streams according to the residual transmission and the calculated residual errors.

### Claim 9 (depends on 1)

The method of claim 1, wherein a residual covariance matrix of channel estimates is determined in each loop from the known symbols in the received transmission by subtracting contributions of all of the decoded and modeled data streams.

### Claim 10 (depends on 1)

The method of claim 1 wherein the method is applied to each of a plurality of transmissions received on a plurality of frequency carriers in a multicarrier system.

### Claim 11 (depends on 10)

The method of claim 10, wherein the multicarrier system is an LTE system.

### Claim 12

A system for decoding and modeling a plurality of data streams the system comprising:
a receiver unit configured to receive a plurality of data streams from a plurality of signal sources included in a received transmission, each data stream including a corresponding plurality of known reference symbols and a plurality of unknown data; and
a signal processing unit configured to:
determine a channel estimate for each of the data streams based on the corresponding plurality of known reference signals;
equalize the data streams included in the transmission according to said channel estimates;
demodulate the equalized data streams;
decode the data symbols for any of the data streams that can be accurately decoded, and estimate all remaining data symbols for all remaining data streams;
calculate a residual error for each of the estimated data streams;
remodulate the estimated and decoded data streams;
obtain a residual transmission by removing from the received transmission all decoded data streams;
for each of the estimated data streams, model the data stream by subtracting all of the other estimated data streams from the residual transmission;
equalize the modeled data stream according to the channel estimates and the residual errors for each of the estimated data streams that has not been accurately decoded; and
repeatedly apply to the residual transmission in a loop the steps of demodulating, decoding, estimating, calculating, remodulating, obtaining a residual transmission, modeling, and equalizing until a loop termination requirement has been met.

### Claim 13 (depends on 12)

The system of claim 12, wherein the loop termination requirement is met when all of the data streams have been decoded or modeled.

### Claim 14 (depends on 12)

The system of claim 12, wherein the loop termination requirement is met when either all of the data streams have been decoded or modeled, or when a specified number of loops have been completed.

### Claim 15 (depends on 12)

The system of claim 12, wherein a residual error is calculated for each symbol in each data stream.

### Claim 16 (depends on 12)

The system of claim 12, wherein an average residual error is calculated for each of a plurality of sets of data symbols in each data stream.

### Claim 17 (depends on 12)

The system of claim 12, wherein an average residual error is calculated for all of the symbols in each data stream.

### Claim 18 (depends on 12)

The system of claim 12, wherein obtaining from the received transmission a residual transmission includes weighting each of the modeled data streams according to its corresponding calculated residual error.

### Claim 19 (depends on 12)

The system of claim 12, wherein repeating the step of equalizing the data streams includes equalizing the data streams according to the residual transmission and the calculated residual errors.

### Claim 20 (depends on 12)

The system of claim 12, wherein a residual covariance matrix of channel estimates is determined in each loop from the known symbols in the received transmission by subtracting contributions of all of the decoded and modeled data streams.

### Claim 21 (depends on 12)

The system of claim 12 wherein the system is applied to each of a plurality of transmissions received on a plurality of frequency carriers in a multicarrier system.

### Claim 22 (depends on 21)

The system of claim 21, wherein the multicarrier system is an LTE system.

### Claim 23

A non-transitory computer readable medium storing a computer program, executable by a machine, for decoding and modeling a plurality of data streams, the computer program comprising executable instructions for:
receiving a transmission including a plurality of data streams from a plurality of signal sources, each data stream including a plurality of corresponding known reference symbols and a plurality of unknown data symbols;
determining a channel estimate for each of the data streams based on the corresponding plurality of known reference signals;
equalizing the data streams included in the transmission according to said channel estimates;
demodulating the equalized data streams;
decoding the data symbols for any of the data streams that can be accurately decoded, and estimating all remaining data symbols for all remaining data streams;
calculating a residual error for each of the estimated data streams;
remodulating the estimated and decoded data streams;
obtaining a residual transmission by removing from the received transmission all decoded data streams;
for each of the estimated data streams, modeling the data stream by subtracting all of the other estimated data streams from the residual transmission;
equalizing the modeled data stream according to the channel estimates and the residual errors for each of the estimated data streams that has not been accurately decoded; and
repeatedly applying to the residual transmission in a loop the steps of demodulating, decoding, estimating, calculating, remodulating, obtaining a residual transmission, modeling, and equalizing until a loop termination requirement has been met.
