Method for transmitting additional information by using linear block codes
11128317 · 2021-09-21
Assignee
Inventors
Cpc classification
H03M13/1111
ELECTRICITY
H03M13/1108
ELECTRICITY
H03M13/033
ELECTRICITY
H03M13/15
ELECTRICITY
International classification
H03M13/15
ELECTRICITY
H04L1/00
ELECTRICITY
H03M13/00
ELECTRICITY
Abstract
The invention discloses a method for transmitting additional information using linear block codes, which comprises the following steps: when encoding: a linear block code C with a code length of n and an information bit length of k is used as a payload code, to embed an additional information sequence v of length m by superposition coding and resulting into a codeword c of length n. When decoding, firstly decode the additional information according to the received sequence y: select an additional information sequence with the largest characteristic metric function value as the decode output. Then perform payload information sequence decoding: remove the interference of superposition sequence ŝ from the received sequence y, and then use the basic linear block code C decoder to decode. The present invention can transmit a small amount of additional information at a low frame error rate while causing a negligible effect on payload information decoding without additionally increasing transmission energy and bandwidth overhead.
Claims
1. A method for transmitting additional information using linear block codes, comprising: (1) transmitting payload information and the additional information, wherein the payload information comprises a linear block code C with a code length of n and an information bit length of k as a payload code, further comprising a step of superposition coding an additional information sequence v=(v.sub.0, v.sub.1, . . . , v.sub.m-1) of length m into a transmission codeword c=(c.sub.0, c.sub.1, . . . , c.sub.n-1) of length n by performing: (1.1) encoding a payload information sequence u of length k into a linear block code word w=(w.sub.0, w.sub.1, . . . , w.sub.n-1)=C(u); (1.2) inputting the additional information sequence v of length m into a sequence selector R and outputting a sequence s=(s.sub.0, s.sub.1, . . . , s.sub.n-1)=R(v) of length n; and (1.3) superimposing the sequence s with the linear block code word w to obtain the transmission codeword c; (2) receiving the payload information and the additional information v, further comprising a step of decoding the additional information by performing: for each possible input additional information sequence v.sup.(i), (0≤i≤2.sup.m−1), i=0, 1, 2 . . . , calculating a corresponding superposition sequence s.sup.(i)=R(v.sup.(i))=(s.sub.0.sup.(i), s.sub.1.sup.(i), . . . , s.sub.n-1.sup.(i)); according to a characteristic metric function μ.sup.(i)=ƒ.sub.C(y,s.sup.(i)) related to the linear block code C, selecting an additional information sequence {circumflex over (v)} as an output, wherein {circumflex over (v)}=({circumflex over (v)}.sub.0, {circumflex over (v)}.sub.1, . . . , {circumflex over (v)}.sub.m-1) such that:
2. The method for transmitting additional information using linear block codes according to claim 1, characterized in that in the step (1), the linear block code C with a code length of n and an information bit length of k is an arbitrary type of linear block code encoder; in the step (1.2), the sequence selector R refers to an arbitrary type of encoder whose input information length is m and output length is n; and in the step (1.3), the superposition coding refers to outputting j th components c.sub.j=s.sub.j⊕w.sub.j of the transmission codeword c of length n, where s.sub.j and w.sub.j are the j th component of s and w respectively, 0≤j≤n−1, j=0, 1, 2 . . . , and an addition operation “⊕” follows a finite group addition.
3. The method for transmitting additional information using a linear block code according to claim 1, characterized in that the characteristic metric function μ.sup.(i)=ƒ.sub.C(y, s.sup.(i)) is a real-value function related to the linear block code C with input of a received sequence y and a sequence s.sup.(i), and represents a likelihood measure of the received sequence {tilde over (y)} related to a coset s.sup.(i)⊕C.
4. The method for transmitting additional information using a linear block code according to claim 1, characterized in that the characteristic metric function ƒ.sub.C performs: calculating a hard decision sequence r from the received sequence y, obtaining the sequence ŵ.sup.(i) by removing an interference of the sequence s.sup.(i) from r, then calculating a Hamming weight W.sup.(i) of a syndrome of the linear block code C with respect to ŵ.sup.(i), and finally using n−k−W.sup.(i) as the output of the characteristic metric function ƒ.sub.C, wherein the hard decision sequence r is expressed as r=(r.sub.0, r.sub.1, . . . , r.sub.n-1), and each component in r is calculated according to the following method:
ŵ.sub.j.sup.(i)=r.sub.j−s.sub.j.sup.(i), 0≤j≤n−1, j=0,1,2 . . . wherein a subtraction operation “−” is based on a finite group subtraction operation.
5. The method for transmitting additional information using a linear block code according to claim 4, characterized in that the method for calculating the Hamming weight W.sup.(i) of the syndrome of the linear block code C is:
W.sup.(i)=W.sub.H(ŵ.sup.(i).Math.H.sup.T), wherein H is a check matrix of the linear block code C, H.sup.T is a transpose of the check matrix H, a multiplication symbol “.Math.” refers to a matrix multiplication in a binary domain, W.sub.H(⋅) is a Hamming weight function, and a number of non-zero elements in a sequence of arguments is outputted.
6. The method for transmitting additional information using a linear block code according to claim 1, characterized in that the characteristic metric function ƒ.sub.C performs: calculating a log-likelihood ratio sequence z from the received sequence y, obtaining a sequence {circumflex over (z)}.sup.(i) by removing the interference of the sequence s.sup.(i) from z, then calculating a likelihood function η.sup.(i) of {circumflex over (z)}.sup.(i) related to the linear block code C, and using η.sup.(i) as an output of the characteristic metric function ƒ.sub.C; wherein the sequence z is represented as z=(z.sub.0, z.sub.1, . . . , z.sub.n-1), and each component in z is calculated as follows:
{circumflex over (z)}.sub.j.sup.(i)=z.sub.j×(−1).sup.s.sup.
7. The method for transmitting additional information using a linear block code according to claim 6, characterized in that the calculation of the likelihood function η.sup.(i) of the linear block code C comprises:
8. The method for transmitting additional information using a linear block code according to claim 6, characterized in that the calculation of the likelihood function η.sup.(i) of the linear block code C comprises the following methods: input {circumflex over (z)}.sup.(i) to a decoder D of the linear block code C, output a decoding sequence as ĉ.sup.(i)=(ĉ.sub.0.sup.(i), ĉ.sub.1.sup.(i), . . . , ĉ.sub.n-1.sup.(i)), and then calculate s.sup.(i)⊕ĉ.sup.(i) as a log-likelihood function of a transmission sequence:
9. The method for transmitting additional information using a linear block code according to claim 1, characterized in that in the step (3), the interference of the superposition coding ŝ=R({circumflex over (v)}) is removed from the received sequence y, and the corresponding received sequence {tilde over (y)} of the linear block code C related to the payload information is obtained by calculating soft information {tilde over (y)}.sub.j of j th components {tilde over (y)}.sub.j of {tilde over (y)} with:
P({tilde over (y)}.sub.j|w.sub.j)=P(y.sub.j|c.sub.j=w.sub.j⊕ŝ.sub.j), where ŝ.sub.j is the j th component of ŝ, where 0≤j≤n−1, j=0, 1, 2 . . . .
10. The method for transmitting additional information using a linear block code according to claim 1, characterized in that the decoder of the linear block code C is to an arbitrary type of linear block code decoder.
11. A method for receiving a transmission and decoding additional information of the transmission, comprising: (1) receiving the transmission, wherein an additional information of the transmission has been superposition coded, wherein using a linear block code C with a code length of n and an information bit length of k as a payload code, the additional information sequence v=(v.sub.0, v.sub.1, . . . , v.sub.m-1) of length m has been superposition coded into a transmission codeword c=(c.sub.0, c.sub.1, . . . , c.sub.n-1) of length n by performing: (1.1) encoding a payload information sequence u of length k into a linear block code word w=(w.sub.0, w.sub.1, . . . , w.sub.n-1)=C(u); (1.2) inputting an additional information sequence v of length m into a sequence selector R and outputting a sequence s=(s.sub.0, s.sub.1, . . . , s.sub.n-1)=R(v) of length n; and (1.3) superimposing the sequence s with the linear block code word w to obtain the transmission codeword c; (2) decoding the additional information sequence by performing: for each possible input additional information sequence v.sup.(i), (0≤i≤2.sup.m−1), i=0, 1, 2 . . . , calculating a corresponding superposition sequence s.sup.(i)=R(v.sup.(i))=(s.sub.0.sup.(i), s.sub.1.sup.(i), . . . , s.sub.n-1.sup.(i)); according to a characteristic metric function μ.sup.(i)=ƒ.sub.C(y,s.sup.(i)) related to the linear block code C, selecting an additional information sequence {circumflex over (v)} as an output, wherein {circumflex over (v)}=({circumflex over (v)}.sub.0, {circumflex over (v)}.sub.1, . . . , {circumflex over (v)}.sub.m-1) such that:
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
DETAILED DESCRIPTION
Definitions
(5) The term “payload information” refers to a portion of a digital information transmission that comprises data.
(6) The term “additional information” refers to a portion of a digital information transmission that consists of metadata relating to the payload information in the transmission.
(7) The term “data” refers to digital information which represents sensor measurements, communications in human or machine language (in visual, audible, and other form that can be sensed by humans or machines), or information resulting from processing by a processor. Data can include metadata as defined herein.
(8) The term “metadata” refers to digital information that describes or provides further information about data, in particular data of the payload information in a transmission. Metadata can be external descriptive metadata, i.e. information about particular data in the payload information, such as the location of such particular data. Alternatively, metadata can be internal descriptive metadata, i.e. self-contained information which relates to the payload information.
(9) The term “comprise” and variations of the term, such as “comprising” and “comprises,” are not intended to exclude other additives, components, integers or steps. The terms “a,” “an,” and “the” and similar referents used herein are to be construed to cover both the singular and the plural unless their usage in context indicates otherwise.
(10) The present invention will be described in further detail below with reference to examples and drawings, but the embodiments of the present invention are not limited thereto.
Example 1
(11) As shown in
(12) (1) based on a linear block code C with a code length of n and an information bit length of k as a payload code, superposition code an additional information sequence v=(v.sub.0, v.sub.1, . . . , v.sub.m-1) of length m into a codeword c=(c.sub.0, c.sub.1, . . . , c.sub.n-1) of length n, the encoding method is specifically: (1.1) first encode a payload information sequence u of length k into a linear block code word w=(w.sub.0, w.sub.1, . . . , w.sub.n-1)=C(u); (1.2) input an additional information sequence v of length m into a sequence selector R, and output a sequence s=(s.sub.0, s.sub.1, . . . , s.sub.n-1)=R(v) of length n; (1.3) Superimpose the sequence s with the linear block code word w to obtain the transmission codeword c;
(13) (2) decoding the additional information sequence, comprising or consisting of specifically: for each possible input additional information sequence v.sup.(i), (0≤i≤2.sup.m−1), calculate the corresponding superposition sequence s.sup.(i)=R(v.sup.(i))=(s.sub.0.sup.(i), s.sub.1.sup.(i), . . . , s.sub.n-1.sup.(i)); according to a characteristic metric function μ.sup.(i)=ƒ.sub.C(y, s.sup.(i)) related to the basic linear block code C, select an additional information sequence {circumflex over (v)} as an output, where {circumflex over (v)}=({circumflex over (v)}.sub.0, {circumflex over (v)}.sub.1, . . . , {circumflex over (v)}.sub.m-1) such that:
(14)
(15) The characteristic metric function μ.sup.(i)=ƒ.sub.C(y, s.sup.(i)) is a real-value function related to the linear block code C with input of a received sequence y and a sequence s.sup.(i) represents a likelihood measure of the received sequence y related the coset s.sup.(i)⊕C.
(16) (3) decoding the payload information sequence, comprising or consisting of specifically the following steps: remove an interference of superposition sequence ŝ=(ŝ.sub.0, ŝ.sub.1, . . . , ŝ.sub.n-1)=R({circumflex over (v)}) from a received sequence y, and obtain a corresponding received sequence {tilde over (y)} of the basic linear block code related to the payload information; decode {tilde over (y)} using a decoder of the basic linear block code C and output û of the basic information sequence.
(17) The solution of the present invention is further elaborated below in conjunction with specific applications:
(18) The (3,6)-regular LDPC code constructed with PEG (progressive edge growth) method with a code length of 8064 and an information bit length of 4032 is used as the basic code, which is modulated by BPSK (binary phase-shift keying) and is transmitted in a AWGN (additive white Gaussian noise) channel. The length of the additional information sequence is set to m=5 and m=10 respectively. That is to say, each sequence with a code length of 8064 contains 4032 bits of payload information encoded by an LDPC code and additional information of 5 or 10 bits of random superposition code. When coding, as shown in
(19) This embodiment is implemented by means of hard decision, specifically:
(20) The characteristic metric function ƒ.sub.C uses the following calculation method:
(21) Calculate a hard decision sequence r from the received sequence y, obtain the sequence ŵ.sup.(i) by removing an interference of the sequence s.sup.(i) from r, then calculate the Hamming weight W.sup.(i) of the syndrome of the linear block code with respect to ŵ.sup.(i), and finally use n-k-W.sup.(i) as the output of the function ƒ.sub.C; the hard decision sequence r is expressed as r=(r.sub.0, r.sub.1, . . . , r.sub.n-1), and each component in r is calculated according to the following method:
(22)
(23) where:
(24) P(y.sub.j|c.sub.j) represents the channel transition probability with respect to input c.sub.j and output y.sub.j; remove the interference of the sequence s.sup.(i) from the hard decision sequence r to obtain the sequence ŵ.sup.(i), which means that each component in the ŵ.sup.(i)=(ŵ.sub.0.sup.(i), ŵ.sub.1.sup.(i), . . . , ŵ.sub.n-1.sup.(i)) is calculated as follows:
ŵ.sub.j.sup.(i)=r.sub.j−s.sub.j.sup.(i), 0≤j≤n−1 wherein the subtraction operation “−” is based on the finite group subtraction operation.
(25) The method for calculating the Hamming weight W.sup.(i) of the syndrome of the linear block code is:
W.sup.(i)=W.sub.H(ŵ.sup.(i).Math.H.sup.T),
where H is a check matrix of the linear block code C, H.sup.T is the transpose of the matrix H, the multiplication “.Math.” is about the matrix multiplication in the binary domain, W.sub.H(⋅) is the Hamming weight function, and output the number of non-zero elements in a sequence of arguments.
(26) As shown in
(27) As shown in
Example 2
(28) Except for the following technical features, other technical solutions of this Example 2 are the same as those of Example 1, that is, this Example 2 is implemented by means of soft decision, specifically:
(29) The characteristic metric function ƒ.sub.C comprises the following calculation method: calculate a log-likelihood ratio LLR sequence z from the received sequence y, obtain a sequence {circumflex over (z)}.sup.(i) by removing the interference of the sequence s.sup.(i) from z, then calculate the likelihood function η.sup.(i) of {circumflex over (z)}.sup.(i) related to the linear block code, and finally use η.sup.(i) as the output of the function ƒ.sub.C; the sequence z is represented as z=(z.sub.0, z.sub.1, . . . , z.sub.n-1), and each component in z is calculated as follows:
(30)
{circumflex over (z)}.sub.j.sup.(i)=z.sub.j×(−1).sup.s.sup.
(31) The calculation of the likelihood function η.sup.(i) of the linear block code comprises the following methods:
(32)
where m is the number of rows in the check matrix H of the linear block code C, and H.sub.P is the index set of the nonzero element in the p th row of H.
(33) The calculation method of Example 2 (i.e., soft decision) has better performance of frame error rate than hard decision. The above examples are preferred embodiments of the present invention, but the embodiments of the present invention are not limited by the above examples. Any other changes, modifications, substitutions, combinations, simplifications, without departing from the spirit and principle of the present invention, should all be equivalent replacement methods, which are all included in the protection scope of the present invention. The examples set forth herein are provided to illustrate certain concepts of the disclosure.
(34) Aspects of the present disclosure have been described above with reference to schematic flowchart diagrams and/or schematic block diagrams of methods, apparatus, systems, and computer program products according to embodiments of the disclosure. It will be understood that each block of the schematic flowchart diagrams and/or schematic block diagrams, and combinations of blocks in the schematic flowchart diagrams and/or schematic block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a computer or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor or other programmable data processing apparatus, create means for implementing the functions and/or acts specified in the schematic flowchart diagrams and/or schematic block diagrams block or blocks.
(35) It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. Other steps and methods may be conceived that are equivalent in function, logic, or effect to one or more blocks, or portions thereof, of the illustrated figures. Although various arrow types and line types may be employed in the flowchart and/or block diagrams, they are understood not to limit the scope of the corresponding embodiments.
(36) The subject matter described herein may be formed by an apparatus controlled by hardware, software, firmware, or any combination thereof. As such, the terms module, encorder, decorder, and the like as used herein may refer to hardware, which may also include software and/or firmware components, for implementing the feature being described. In one example implementation, the subject matter described herein may be implemented using a computer readable or machine readable medium having stored thereon computer executable instructions that when executed by a computer (e.g., a processor) control the computer to perform the functionality described herein. Examples of machine readable media suitable for implementing the subject matter described herein include non-transitory computer-readable media, such as disk memory devices, chip memory devices, programmable logic devices, and application specific integrated circuits. In addition, a machine readable medium that implements the subject matter described herein may be located on a single device or computing platform or may be distributed across multiple devices or computing platforms.