# US 10,312,977 B2 · Complexity reduction for receiver decoding

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

- Number: US 10,312,977 B2
- Document ID: US10312977B2
- Status: Granted
- Kind: B2
- Application number: 15/668,345
- Filed: 2017-08-03
- Published: 2018-11-08
- Granted: 2019-06-04
- Earliest claimed: 2017-05-08
- Assignees: NXP USA, Inc.
- Applicants: Freescale Semiconductor, Inc.
- Inventors: Marius Octavian Arvinte; Wim Joseph Rouwet
- Web page: https://patentgrep.com/patent/US10312977B2

## CPC

- H04B 7/0417: Feedback systems
- H04B 7/0452: Multi-user MIMO systems
- H04L 1/0048: {in conjunction with detection of multiuser or interfering signals, e.g. iteration between CDMA or MIMO detector and FEC decoder (for spatial equalizer H04L25/03286)}
- H04L 1/0053: {specially adapted for power saving}
- H04L 25/03242: {Methods involving sphere decoding}
- H04L 27/34: Amplitude- and phase-modulated carrier systems, e.g. quadrature-amplitude modulated carrier systems
- H04W 52/0238: {where the received signal is an unwanted signal, e.g. interference or idle signal}
- Y02D 30/70: in wireless communication networks
- H04B: TRANSMISSION
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

A receiver decodes received data streams based on a subset of candidate decoding constellation points. A first stage of a decoder of the receiver selects a subset of candidate decoding constellation points by identifying a decoded value for an initial data stream of the set of data streams. A second stage then applies MMSE error detection to each of the constellation points in the selected subset, and calculates an error metric based on the MMSE error detection results. The decoder selects the constellation points having the lowest error metrics, and uses the selected constellation points as an initial set of points for decoding the next data stream to be decoded.

## Claims

### Claim 1

A method comprising:
receiving a plurality of data streams at a receiver, the plurality of data streams comprising a first data stream and a second data stream, each of the plurality of data streams representing a different transmitted data stream;
decoding the first data stream based on a set of candidate constellation points indicating potential symbol values for the first data stream;
selecting a first subset of the set of candidate constellation points, wherein selecting the first subset comprises
generating, for each of the set of candidate constellation points, a corresponding first detection value,
selecting a second subset based on a distance between candidate constellation points of the set of candidate constellation points and the first detection value, and
selecting the first subset from the second subset; and
decoding the second stream based on the first subset of the set of candidate constellation points.

### Claim 2 (depends on 1)

The method of claim 1, wherein generating the first detection value comprises generating the first detection value based on minimum mean squared error (MMSE).

### Claim 3 (depends on 1)

The method of claim 1, wherein selecting the second subset comprises selecting a threshold number of candidate constellation points from the set of candidate constellation points.

### Claim 4 (depends on 3)

The method of claim 3, wherein the threshold is based on a location of the first stream in an order of the plurality of data streams.

### Claim 5 (depends on 4)

The method of claim 4, further comprising:
generating the order of the plurality of data streams based on a channel matrix associated with the receiver.

### Claim 6 (depends on 1)

The method of claim 1, wherein selecting the second subset comprises:
generating, for each candidate constellation point of the first subset, a corresponding second detection value;
calculating a corresponding error metric for each element of the first subset based on the corresponding second detection value; and
selecting the second subset based on the calculated error metrics.

### Claim 7 (depends on 6)

The method of claim 6, wherein calculating the corresponding error metric comprises calculating the error metric according to the formula:
d=∥Hx_−y∥2
where d is the error metric, H is a channel matrix associated with the receiver, x is the corresponding second detection value, and y is data received via the second data stream.

### Claim 8

A method comprising:
receiving a plurality of data streams at a receiver, the plurality of data streams comprising a first data stream, a second data stream, and a third data stream, each of the plurality of data streams representing a different transmitted data stream;
decoding the first data stream based on a set of candidate constellation points indicating potential symbol values for the first data stream;
selecting a first subset of the set of candidate constellation points;
decoding the second stream based on the first subset of the set of candidate constellation points;
selecting a second subset of the first subset of candidate constellation points; and
decoding the third data stream based on the second subset of the first subset of candidate constellation points.

### Claim 9

A method, comprising:
receiving a plurality of data streams at a receiver, each of the plurality of data streams representing a different transmitted data stream; and
decoding at least one of the plurality of data streams based on a subset of candidate constellation points selected from a set of candidate constellation points identified for a different one of the plurality of data streams; and
selecting the subset of candidate constellation points, comprising selecting a threshold number of constellation points, the threshold number is selected based on an order of the plurality of data streams.
