# US 2014/0157091 A1 · Generation and Application of a Sub-Codebook of an Error Control Coding Codebook

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

- Number: US 2014/0157091 A1
- Document ID: US20140157091A1
- Status: Published application
- Kind: A1
- Application number: 13/820,458
- Filed: 2010-09-02
- Published: 2014-06-05
- Earliest claimed: 2010-09-02
- Assignees: Microsoft Corporation
- Inventors: Dong-Sheng Yu; Hosein Nikopourdeilami; Mo-Han Fong
- Web page: https://patentgrep.com/patent/US20140157091A1

## CPC

- H04L 1/0075: {Transmission of coding parameters to receiver (H04L1/0023 takes precedence)}
- H04L 1/0041: {Arrangements at the transmitter end}
- H04L 1/0057: {Block codes (H04L1/0061, H04L1/0064 take precedence)}
- H04L 27/2656: {Frame synchronisation, e.g. packet synchronisation, time division duplex [TDD] switching point detection or subframe synchronisation}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

There is provided a method of encoding and decoding data using an error control code having a codebook G. The codebook G is a sub-codebook of a codebook P. Each codeword g in the sub-codebook G has an autocorrelation amplitude that is different from and higher than each correlation amplitude between g and each of the other codewords in the sub-codebook G. In one specific embodiment in which the codebook P is that of a Reed-Muller code, using G instead of P reduces the likelihood of the presence of more than one maximum correlation amplitude when computing the non-coherent decision metric during decoding.

## Claims

### Claim 1

A method of encoding data using an error control code, the method being performed in a transmitter and comprising:
mapping a sequence of the data to a codeword from a codebook G of the error control code; and
forwarding the codeword for transmission over a channel;
wherein the codebook G is a sub-codebook of another
codebook P, wherein each codeword g in the sub-codebook G has an autocorrelation amplitude that is different from and higher than each correlation amplitude between g and each of the other codewords in the sub-codebook G.

### Claim 2 (depends on 1)

The method of claim 1 wherein the codebook P is a codebook of a Reed-Muller code.

### Claim 3 (depends on 1)

The method of claim 1 wherein the sub-codebook G was generated from the codebook P by:
(a) establishing an empty sub-codebook G;
(b) selecting a codeword from codebook P and including the codeword from codebook P in sub-codebook G;
(c) computing the autocorrelation amplitude of the codeword from codebook P;
(d) computing the correlation amplitude between the codeword from codebook P and each codeword in codebook P, and deleting from codebook P each codeword in codebook P for which the correlation amplitude is equal to the auto-correlation amplitude; and
(e) repeating operations (b) to (d) until all of the plurality of codewords are deleted from codebook P.

### Claim 4 (depends on 3)

The method of claim 3 wherein the autocorrelation amplitude is computed as
∑
t


p
t

2
,
and wherein the correlation amplitude is computed as
∑
t


p
t
*

p
~
t

,
where pt, t=1, 2, . . . T, is a data symbol of a set of T data symbols associated with the codeword from codebook P included in sub-codebook G, where pt* is the complex conjugate of pt, and where {tilde over (p)}t is a data symbol of a set of T data symbols associated with a codeword in codebook P.

### Claim 5 (depends on 1)

The method of claim 1 wherein the codeword is transmitted using Orthogonal Frequency-Division Multiplexing (OFDM).

### Claim 6

A method of decoding a sequence of data received over a communication channel, the sequence having been encoded using an error control code prior to transmission over the channel, the method being performed in a receiver and comprising:
obtaining the sequence of data that was received over the communication channel;
for each codeword in a codebook G of the error control code, computing a correlation value between the sequence and the codeword; and
selecting the codeword in the codebook G resulting in the highest correlation value;
wherein the codebook G is a sub-codebook of another codebook P, wherein each codeword g in the sub-codebook G has an autocorrelation amplitude that is different from and higher than each correlation amplitude between g and each of the other codewords in the sub-codebook G.

### Claim 7 (depends on 6)

The method of claim 6 wherein the method is performed in a receiver that implements non-coherent detection and wherein the codebook P is a codebook of a Reed-Muller code.

### Claim 8 (depends on 6)

The method of claim 6 wherein the sub-codebook G was generated from the codebook P by:
(a) establishing an empty sub-codebook G;
(b) selecting a codeword from codebook P and including the codeword from codebook P in sub-codebook G;
(c) computing the autocorrelation amplitude of the codeword from codebook P;
(d) computing the correlation amplitude between the codeword from codebook P and each codeword in codebook P, and deleting from codebook P each codeword in codebook P for which the correlation amplitude is equal to the auto-correlation amplitude; and
(e) repeating operations (b) to (d) until all of the plurality of codewords are deleted from codebook P.

### Claim 9 (depends on 8)

The method of claim 8 wherein the autocorrelation amplitude is computed as
∑
t


p
t

2
,
and wherein the correlation amplitude is computed as
∑
t


p
t
*

p
~
t

,
where pt, t=1, 2, . . . T, is a data symbol of a set of T data symbols associated with the codeword from codebook P included in sub-codebook G, where pt* is the complex conjugate of pt, and where {tilde over (p)}t is a data symbol of a set of T data symbols associated with a codeword in codebook P.

### Claim 10 (depends on 7)

The method of claim 7 wherein the sequence of data is received using OFDM, and wherein the correlation value is computed as
∑
i
,
k


∑
j

p
ij
*

y
ijk

2
,
where pij is a data symbol of a tile i and a data tone j, and yijk is the value of pij received at an antenna k of the receiver.

### Claim 11

A device in a data communication system configured to encode data using an error control code, the device comprising:
memory for storing a codebook G of the error control code;
an encoder configured to map a sequence of the data to a codeword from the codebook G; and
transmit circuitry for transmitting the codeword over a channel;
wherein the codebook G is a sub-codebook of another codebook P, wherein each codeword g in the sub-codebook G has an autocorrelation amplitude that is different from and higher than each correlation amplitude between g and each of the other codewords in the sub-codebook G.

### Claim 12 (depends on 11)

The device of claim 11 wherein the codebook P is a codebook of a Reed-Muller code.

### Claim 13 (depends on 11)

The device of claim 11 further comprising a plurality of transmit antennas, and wherein the transmit circuitry is configured to transmit the codeword over the channel using OFDM.

### Claim 14 (depends on 11)

The device of claim 11 wherein the sub-codebook G stored in the memory was previously generated from the codebook P by:
(a) establishing an empty sub-codebook G;
(b) selecting a codeword from codebook P and including the codeword from codebook P in sub-codebook G;
(c) computing the autocorrelation amplitude of the codeword from codebook P;
(d) computing the correlation amplitude between the codeword from codebook P and each codeword in codebook P, and deleting from codebook P each codeword in codebook P for which the correlation amplitude is equal to the auto-correlation amplitude; and
(e) repeating operations (b) to (d) until all of the plurality of codewords are deleted from codebook P.

### Claim 15

A device in a data communication system configured to decode a sequence of data received over a communication channel, the sequence having been encoded using an error control code prior to transmission over the channel, the device comprising:
receive circuitry for receiving the sequence of data from the channel;
memory for storing a codebook G of the error control code; and
a decoder configured to compute, for each codeword in the codebook G, a correlation value between the sequence and the codeword, and selecting the codeword in the codebook G resulting in the highest correlation value;
wherein the codebook G is a sub-codebook of another codebook P, wherein each codeword g in the sub-codebook G has an autocorrelation amplitude that is different from and higher than each correlation amplitude between g and each of the other codewords in the sub-codebook G.

### Claim 16 (depends on 15)

The device of claim 15 wherein the device is configured to perform non-coherent detection and wherein the codebook P is a codebook of a Reed-Muller code.

### Claim 17 (depends on 15)

The device of claim 15 further comprising at least one receive antenna, and wherein the receive circuitry is configured to receive the sequence of data using OFDM.

### Claim 18 (depends on 15)

The device of claim 15 wherein the sub-codebook G stored in the memory was previously generated from the codebook P by:
(a) establishing an empty sub-codebook G;
(b) selecting a codeword from codebook P and including the codeword from codebook P in sub-codebook G;
(c) computing the autocorrelation amplitude of the codeword from codebook P;
(d) computing the correlation amplitude between the codeword from codebook P and each codeword in codebook P, and deleting from codebook P each codeword in codebook P for which the correlation amplitude is equal to the auto-correlation amplitude; and
(e) repeating operations (b) to (d) until all of the plurality of codewords are deleted from codebook P.

### Claim 19

A computer-readable medium having stored thereon computer-readable instructions for performing a method of encoding data using an error control code, the computer-readable instructions including instructions for performing operations comprising:
mapping a sequence of the data to a codeword from a codebook G of the error control code; and
forwarding the codeword for transmission over a channel;
wherein the codebook G is a sub-codebook of another codebook P, wherein each codeword g in the sub-codebook G has an autocorrelation amplitude that is different from and higher than each correlation amplitude between g and each of the other codewords in the sub-codebook G.

### Claim 20 (depends on 19)

The computer-readable medium of claim 19 wherein the codebook P is a codebook of a Reed-Muller code.

### Claim at position 21

-30. (canceled)
