Generation and application of a sub-codebook of an error control coding codebook
AssigneeMicrosoft Technology Licensing, LLC
InventorsDong-Sheng Yu, Hosein Nikopourdeilami, Mo-Han Fong
Life of this patent
Estimating the term…
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.
Claims20
One or more computer-readable storage memory devices comprising processor-executable instructions which, responsive to execution by at least one processor, are configured to enable a device to:
- map a sequence of the data to a codeword from a codebook G associated with an error control code;
- and
- forward 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, and
- wherein the sub-codebook G was generated from the codebook P by:
- establishing an empty sub-codebook G;
- and
- repeatedly:
- selecting a codeword from codebook P and including the codeword from codebook P in sub-codebook G;
- computing the autocorrelation amplitude of the codeword from codebook P;
- and
- 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;
- until all of the plurality of codewords are deleted from codebook P.
One or more computer-readable storage memory devices comprising processor-executable instructions which, responsive to execution by at least one processor, are configured to enable a device to:
- obtain a sequence of data that was received by the device over a communication channel, the sequence having been encoded using an error code prior to transmission over the communication channel;
- for each codeword in a codebook G of the error control code, compute a correlation value between the sequence and the codeword;
- and
- select a codeword in the codebook G associated with the highest correlation value of the computed correlation values;
- 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, and
- wherein the sub-codebook G was generated from the codebook P by:
- establishing an empty sub-codebook G;
- and
- repeatedly:
- selecting a codeword from codebook P and including the codeword from codebook P in sub-code book G;
- computing the autocorrelation amplitude of the codeword from codebook P;
- and
- 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;
- until all of the plurality of codewords are deleted from codebook P.
A system comprising:
- at least one processor;
- one or more computer-readable storage memories comprising processor-executable instructions which are configured to enable the system to:
- obtain a sequence of data that was received over a communication channel, the sequence having been encoded using an error code prior to transmission over the communication channel;
- for each codeword in a codebook G of the error control code, compute a correlation value between the sequence and the codeword;
- and
- select a codeword in the codebook G associated with the highest correlation value of the computed correlation values;
- 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, and
- wherein the sub-codebook G was generated from the codebook P by:
- establishing an empty sub-codebook G;
- and
- repeatedly:
- selecting a codeword from codebook P and including the codeword from codebook P in sub-code book G;
- computing the autocorrelation amplitude of the codeword from codebook P;
- and
- 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;
- until all of the plurality of codewords are deleted from codebook P.
Dependencies are inferred from the claim text.