# US 10,771,292 B2 · Optimized architecture for a signal decoder

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

- Number: US 10,771,292 B2
- Document ID: US10771292B2
- Status: Granted
- Kind: B2
- Application number: 16/428,446
- Filed: 2019-05-31
- Published: 2019-09-19
- Granted: 2020-09-08
- Earliest claimed: 2017-01-13
- Assignees: Huawei Technologies Co., Ltd.
- Applicants: Huawei Technologies Co., Ltd.
- Inventors: Yaron Ben-Arie; Genadiy Tsodik; Shimon Shilo; Doron Ezri; Oded Redlich
- Web page: https://patentgrep.com/patent/US10771292B2

## CPC

- H04L 25/03286: {with channel-decoding circuitry}
- H04L 25/03242: {Methods involving sphere decoding}
- H04L 25/03891: {Spatial equalizers (MIMO diversity systems H04B7/0413)}
- H04L 2025/03426: {transmission using multiple-input and multiple-output channels}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A device for determining a received signal as minimum values of a set of values, the device comprising a processor configured to: load a first set of values in a register; identify a maximum value of the first set of values and a minimum value of the first set of values; in the register, replace the maximum value by a value of a second set of values and simultaneously replace the minimum value by a new value, calculated based on the minimum value, to receive an updated first set of values; and repeat previous steps until all values of the updated first set of values are replaced by values of the second set of values.

## Claims

### Claim 1

A device comprising:
a receiver configured to receive a signal;
a processor configured to:
load a first set of values in a register, the first set of values correspond to a first subcarrier of the signal;
identify a maximum value of the first set of values and a minimum value of the first set of values;
update the first set of values by, in the register, replacing the maximum value with a value of a second set of values and replacing the minimum value with a value calculated according to the minimum value, the second set of values correspond to a second subcarrier of the signal, and the second subcarrier is different from the first subcarrier; and
repeatedly identify the maximum value of the first set of values, identify the minimum value of the first set of values, and update the first set of values by, in the register, replacing the maximum value with a value of the second set of values and replacing the minimum value with a value calculated according to the minimum value until all values of the first set of values are replaced with values of the second set of values.

### Claim 2 (depends on 1)

The device according to claim 1, wherein said processor is configured to repeatedly identify the maximum value of the first set of values, identify the minimum value of the first set of values, and update the first set of values by, in the register, replacing the maximum value with a value of the second set of values and replacing the minimum value with a value calculated according to the minimum value K times, wherein K is a preset integer.

### Claim 3 (depends on 1)

The device according to claim 1, wherein a respective length of each of the first set of values and the second set of values is K, and the processor is configured to calculate minimum values according to K-best optimization.

### Claim 4 (depends on 1)

The device according to claim 1, wherein said processor is configured to:
before identifying the maximum value of the first set of values and the minimum value of the first set of values, identify a first minimum value of said first set of values; and
in said register and after step identifying the first minimum value of the first set of values, update the first set of values by replacing the first minimum value with a value calculated according to the first minimum value.

### Claim 5 (depends on 1)

The device according to claim 1, wherein the first subcarrier and the second subcarrier are two different subcarriers in a respective symbol, wherein the two different subcarriers correspond to partial euclidean distances (PED) of a respective quadrature amplitude modulation (QAM) symbol or a respective phase-shift keying (PSK) modulated symbol.

### Claim 6 (depends on 1)

The device according to claim 1, the signal is in accordance with an orthogonal frequency-division multiplexing (OFDM) communication.

### Claim 7 (depends on 1)

The device according to claim 1, wherein the signal is a wireless signal of a MIMO communication.

### Claim 8 (depends on 1)

The device according to claim 1, wherein identifying the maximum value and the minimum value of the first set of values comprises using a structure of two-values comparators.

### Claim 9 (depends on 1)

The device according to claim 1, wherein identifying the maximum value and the minimum value of the first set of values comprises force logic to ignore values of the second set of values in the register.

### Claim 10

A method, comprising:
receiving a signal;
loading a first set of values in a register, the first set of values correspond to a first subcarrier of the signal;
identifying a maximum value of the first set of values and a minimum value of the first set of values;
updating the first set of values by, in said register, replacing the maximum value with a value of a second set of values and simultaneously replacing the minimum value with a value calculated according to the minimum value, the second set of values correspond to a second subcarrier of the signal, and the second subcarrier is different from the first subcarrier; and
repeatedly identifying the maximum value of the first set of values, identifying the minimum value of the first set of values, and updating the first set of values by, in the register, replacing the maximum value with a value of the second set of values and replacing the minimum value with a value calculated according to the minimum value until all values of the first set of values are replaced with values of the second set of values.

### Claim 11 (depends on 10)

The method of claim 10, further comprising:
before identifying the maximum value of the first set of values and the minimum value of the first set of values, identifying a first minimum value of said first set of values; and
in said register and after step identifying the first minimum value of the first set of values, updating the first set of values by replacing the first minimum value with a value calculated according to the first minimum value.

### Claim 12

A non-transitory computer readable storage medium within a device, the device comprising a receiver configured to receive a signal, and the non-transitory computer readable storage medium comprising instructions that when executed by one or more processors within the device, configure the one or processors to execute instructions to:
execute first program instructions for loading a first set of values in a register, the first set of values correspond to a first subcarrier of the signal;
execute second program instructions for identifying a maximum value of the first set of values and a minimum value of the first set of values;
execute third program instructions for updating the first set of values by, in said register, replacing the maximum value with a value of a second set of values and simultaneously replacing the minimum value with a value calculated according to the minimum value, the second set of values correspond to a second subcarrier of the signal, and the second subcarrier is different from the first subcarrier; and
execute fourth program instructions for repeating the first program instructions, the second program instructions, and the third program instructions until all values of the first set of values are replaced with values of the second set of values.

### Claim 13 (depends on 12)

The non-transitory computer readable storage medium of claim 12, wherein the instructions comprise further instructions to:
before executing the second program instructions, execute fifth program instructions for identifying a first minimum value of said first set of values; and
after executing the fifth program instructions, executing sixth program instructions for in said register, updating the first set of values by replacing the first minimum value with a value calculated according to the first minimum value.
