BLOCK CODE ENCODING AND DECODING METHODS, AND APPARATUS THEREFOR

20220337269 · 2022-10-20

Assignee

Inventors

Cpc classification

International classification

Abstract

The present disclosure discloses a new coding scheme, which is constructed by superimposing together a pair of basic codes in a twisted manner. A SCL decoding algorithm is proposed for the TPST codes, which may be early terminated by a preset threshold on the empirical divergence functions (EDF) to trade off performance with decoding complexity. The SCL decoding of TPST is based on the efficient list decoding of the basic codes, where the correct candidate codeword in the decoding list is distinguished by employing a typicality-based statistical learning aided decoding algorithm. Lower bounds for the two layers of TPST are derived, which may be used to predict the decoding performance and to show the near-ML performance of the proposed SCL decoding algorithm. The construction of TPST codes may be generalised by allowing different basic codes for the two layers.

Claims

1. A method for channel communication using a block code with a code length of n and an information bit length of k, the method comprising using at least one hardware processor for: using component codes C.sub.0[n.sub.0, k.sub.0] and C.sub.1[n.sub.1, k.sub.1] to indicate two block codes with code lengths n.sub.0 and n.sub.1 respectively, and information bit lengths k.sub.0 and k.sub.1 respectively such that n.sub.0+n.sub.1=n, k.sub.0+k.sub.1=k; and encoding, via an encoder, an information sequence u=(u.sup.(0), u.sup.(1)) of length k into a codeword sequence c of length n, wherein u.sup.(0) and u.sup.(1) are sub-sequences of u of length k.sub.0 and k.sub.1 respectively, and correspond to an upper layer and a lower layer of encoding respectively; said encoding comprising: using the component code C.sub.0[n.sub.0, k.sub.0] to encode the upper layer u.sup.(0) into an upper layer component codeword v.sup.(0) of length n.sub.0, and using the component code C.sub.1[n.sub.1, k.sub.1] to encode the lower layer u.sup.(1) into a lower component codeword v.sup.(1) of length n.sub.1; coupling the upper layer u.sup.(0) into the lower layer component codeword v.sup.(1) by superposition to obtain a sequence c.sup.(1) of length n.sub.1:
c.sup.(1)=S(u.sup.(0))+v.sup.(1) wherein S is a coupling function; obtaining a sequence w with a length of n.sub.0 by passing said sequence c.sup.(1) through a partial sampler Π:
w=c.sup.(1)Π wherein Π is a n.sub.1×n.sub.0 binary matrix, in which each column has weight of no more than 1; superimposing by XOR to obtain a sequence c.sup.(0) of length n.sub.0:
c.sup.(0)=v.sup.(0)+w; and outputting a codeword sequence c=(c.sup.(0), c.sup.(1)) of length n, by transmitting said codeword sequence through a channel to a decoder.

2. The method according to claim 1, wherein said coupling function S is selected such that a small change in u.sup.(0) causes a significant change in c.sup.(1).

3. The method according to claim 2, wherein said coupling function S is a random binary matrix R.sub.u of size k.sub.0×n.sub.1, such that c.sup.(1)=u.sup.(0)R.sub.u+v.sup.(1).

4. The method according to claim 2, wherein said coupling function S is a random binary matrix R.sub.v of size n.sub.0×n.sub.1, such that c.sup.(1)=v.sup.(0)R.sub.v+v.sup.(1).

5. The method according to claim 2, wherein said coupling function S comprises: using a polar code as a component code for the lower layer, and use a binary matrix P with a size of k.sub.0×(n.sub.1−k.sub.1) and each column of which has weight of no more than 1, to obtain a sequence of length n.sub.1−k.sub.1:
f=u.sup.(0)P, so that c.sup.(1) is a polar codeword with f as frozen bits of the lower layer and u.sup.(1) as information bits.

6. A method for channel communication, the method comprising using at least one hardware processor for: receiving through a channel, using a decoder, a received sequence according to the method of claim 1, with an input being a probability sequence y=(y.sup.(0), y.sup.(1)) with each bit of the received sequence of length n equals to 0, and an output being an estimated transmitted information sequence û,; calculating a probability sequence {tilde over (y)}.sup.(0) of an upper layer component code according to a superposition relationship of a partial sampler Π; using {tilde over (y)}.sup.(0) as an input, calling a list decoding algorithm of a component code C.sub.0[n.sub.0, k.sub.0] with a list size of L, and obtaining L candidate information sequences û.sub.l.sup.(0) and their corresponding component codeword sequence {circumflex over (v)}.sub.l.sup.(0) of length n.sub.0, l=0,1, . . . , L−1; for l=0,1, . . . , L−1: calculating a probability sequence {tilde over (y)}.sub.l.sup.(1) of a lower layer component code according to Π; using {tilde over (y)}.sub.l.sup.(1) as an input, eliminating an influence of the upper layer component code, and decoding the lower layer component code C.sub.1[n.sub.1, k.sub.1] according to the coupling function S to obtain û.sub.l.sup.(1); obtaining a candidate information sequence û.sub.l=(û.sub.l.sup.(0), û.sub.l.sup.(1)); and calculating a likelihood function of each candidate information sequence, and outputting the candidate information sequence with the maximum likelihood.

7. The method according to claim 6, wherein for the probability sequence {tilde over (y)}.sup.(0) of the upper layer component code, the i-th component of {tilde over (y)}.sub.i.sup.(0), i=0,1, . . . , n.sub.0−1 is calculated as follows: if the weight of the i-th column of Π is 0, then {tilde over (y)}.sub.i.sup.(0)=y.sub.i.sup.(0); if the weight of the i-th column of Π is 1, and the position of 1 is in line j, that is, Π.sub.ji=1, then {tilde over (y)}.sub.i.sup.(0)=y.sub.i.sup.(0)y.sub.j.sup.(1)+(1−y.sub.i.sup.(0))(1−y.sub.j.sup.(1)), where y.sub.i.sup.(0) represents the i-th component of y.sup.(0), and y.sub.j.sup.(1) represents weights of the j-th component of y.sup.(1).

8. The method according to claim 6, wherein for the probability sequence {tilde over (y)}.sub.l.sup.(1) of the lower layer component code, the i-th component {tilde over (y)}.sub.l,i.sup.(1), i=0,1, . . . , n.sub.1−1 is calculated as follows: if the weight of the i-th row of Π is 0, then {tilde over (y)}.sub.l,i.sup.(1)=y.sub.i.sup.(1); if the weight of the i-th row of Π is ρ.sub.i>0, that is, it has ρ.sub.i positions as 1, and these positions are j.sub.0,j.sub.1, . . . , j.sub.ρ.sub.i.sub.−1, then y l , i ( 1 ) = y i ( 1 ) D l , j 0 .Math. D l , j ρ i - 1 , wherein, D l , j = { y j ( 0 ) , u ^ l , j ( 0 ) = 0 1 - y j ( 0 ) , u ^ l , j ( 0 ) = 1 , û.sub.l,j.sup.(0) represents the j-th component of û.sub.l.sup.(0), and wherein the operation custom-character is defined as: a b = a b a b + ( 1 - a ) ( 1 - b ) .

9. The method according to claim 6, wherein, based on the coupling function S, the influence of the upper layer component code is eliminated, and the calculation method for decoding the lower layer component code C.sub.1[n.sub.1, k.sub.1] is: substituting û.sub.l.sup.(0) into the coupling function S to obtain a sequence s.sub.l=S(û.sub.l.sup.(0)), and correcting {tilde over (y)}.sub.l.sup.(1) according to s.sub.l to obtain ŷ.sub.l.sup.(1): y ^ l , j ( 1 ) = { y ~ l , j ( 1 ) , s l , j = 0 1 - y ~ l , j ( 1 ) , s l , j = 1 , wherein ŷ.sub.l,j.sup.(1), {tilde over (y)}.sub.l,j.sup.(1), s.sub.l,j represent the j-th component of ŷ.sub.l.sup.(1), {tilde over (y)}.sub.l.sup.(1), s.sub.l respectively; using the calculated ŷ.sub.l.sup.(1) as the component code C.sub.1[n.sub.1, k.sub.1] of the called lower layer for decoding to obtain û.sub.l.sup.(1).

10. The method according to claim 6, wherein the calculation method for calculating the likelihood function of each candidate information sequence is: re-encoding each candidate information sequence û.sub.l to obtain an estimated codeword ĉ.sub.l to calculate its likelihood function λ(ĉ.sub.l)=Π.sub.i=0.sup.n−1[y.sub.i+ĉ.sub.l,i(1−2y.sub.i)], where y.sub.i and ĉ.sub.l,i represent the i-th component of y and ĉ.sub.l respectively.

11. The method according to claim 6, wherein the candidate information sequence with the maximum likelihood is used as the output, and the decoding complexity is reduced by setting a threshold T, and when the calculated likelihood function exceeds the threshold, outputting û=û.sub.l then terminating the decoding process.

12. The method according to claim 6, wherein when the coupling function S is provided by using a polar code as a component code for the lower layer, and use a binary matrix P with a size of k.sub.0×(n.sub.1−k.sub.1) and a column weight of no more than 1, to obtain a sequence of length n.sub.1−k.sub.1: f=u.sup.(0)P, so that c.sup.(1) is a polar codeword with f as frozen bits of the lower layer and u.sup.(1) as information bits; the step of decoding the lower layer component code C.sub.1[n.sub.1, k.sub.1] is simplified to: calculating frozen bits f.sub.l=û.sub.l.sup.(0)P, and then calling the decoder of the polar code C.sub.1[n.sub.1, k.sub.1] with f.sub.l as the frozen bits to decode to obtain û.sub.l.sup.(1).

13. An apparatus comprising a memory, a processor, and a computer program stored on the memory capable of running on the processor, characterized in that, the processor executes the computer program to implement the steps of the method according to claim 1.

14. A computer-readable medium with non-volatile program code executable by a processor, characterized in that, the program code causes the processor to execute the method according to claim 1.

Description

DESCRIPTION OF THE FIGURES

[0028] In order to more clearly illustrate the specific embodiments of the disclosure or the technical solutions in the prior art, the following will briefly introduce the figures that need to be used in the description of the specific embodiments or the prior art. Obviously, the figures in the following description are some embodiments of the present disclosure. For those of ordinary skill in the art, other figures may be obtained based on these figures without any inventive work.

[0029] FIG. 1 shows an encoding and decoding flow chart according to one embodiment of the present disclosure;

[0030] FIG. 2 shows a coding block diagram according to one embodiment of the present disclosure;

[0031] FIG. 3 shows a corresponding coding block diagram according to one embodiment of the present disclosure;

[0032] FIG. 4 shows a corresponding coding block diagram according to one embodiment of the present disclosure;

[0033] FIG. 5 shows genie-aided bounds of TPST-TBCCs with different list sizes. The dashed curves are genie-aided bounds for Layer 0, the dash-dotted curve is the genie-aided bound for Layer 1, and the solid curves are the simulation performance;

[0034] FIG. 6 shows genie-aided bounds of the basic codes. For Layer 1, the basic codes are (punctured) (2, 1, 4) TBCCs defined by the polynomial generator matrix G(D)=(56, 62).sub.8 with length 64 and dimension from 32 to 37. For Layer 0, the basic code is the random code with length 64 and dimension 29;

[0035] FIG. 7 shows decoding performance of the TPST-TBCC designed by the rate allocation approach;

[0036] FIG. 8 shows decoding performance of the TPST-TBCCs with different superposition fractions. The dashed curves are genie-aided bounds for Layer 0, the dash-dotted curves are genie-aided bounds for Layer 1, and the solid curves are the simulation performance;

[0037] FIG. 9 shows decoding performance of the TPST-TBCCs with different basic codes;

[0038] FIG. 10 shows performance of TPST-TBCCs with length 128 at the FER of 10.sup.−4; and

[0039] FIG. 11 shows decoding performance of the TPST-TBCCs with different thresholds.

DESCRIPTION

[0040] In order to make the purpose, technical solutions and advantages of the embodiments of this application clearer, the technical solutions of this application will be described clearly and completely in conjunction with the accompanying figures. Obviously, the described embodiments are part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by those of ordinary skill in the art without inventive work shall fall within the protection scope of this application.

[0041] FIG. 1 shows an encoding and decoding flow chart according to one embodiment of the present disclosure.

[0042] By coupling the component codes to encoding and decoding, a good code with flexible and adjustable parameters is designed, and its performance is close to the limited code length and capacity limit, and its low complexity decoding algorithm is given.

[0043] In this embodiment of FIG. 1, the encoder 7 is connected to a decoder 15 through a channel transmission 8. The channel transmission may take many forms, for example, wired or wireless transmission using various transmission protocols, as long as the encoded information may be sent from the encoder 7 to the decoder 15.

[0044] When the process begins 1, the step of inputting an information sequence u is performed. This is followed by a basic encoding step 3. During this step 3, two steps are performed: (a) encode a upper layer u.sup.(0) into an upper layer component codeword v.sup.(0); and (b) encode a lower layer u.sup.(1) into a lower component codeword v.sup.(1). More details of step 3 will be discussed in later sections.

[0045] A forward superposition step 4 follows the step 3 above. In this step 4, using S as a coupling function, the upper layer u.sup.(0) is coupled into the lower layer component codeword v.sup.(1) by superposition to obtain a sequence c.sup.(1). More details of step 4 will be discussed in later sections.

[0046] A backward superposition step 5 follows the step 4 above. In this step 5, the sequence c.sup.(1) is passed through a partial sampler Π to obtain a sequence w, then by superimposing by XOR to v.sup.(0), a sequence c.sup.(0) is obtained. The next step 6 is to output a codeword sequence c=c.sup.(0), c.sup.(1)). The codeword sequence is then sent through a channel indicated by channel transmission 8.

[0047] On the side of decoder 15, the decoder receives the transmission from encoder 7. The decoder 15 performs the following steps: first, Inputting probability sequence y 9; followed by calculating a probability sequence of an upper layer component code according to a superposition relationship of a partial sampler 10; then with {tilde over (y)}.sup.(0) as input, using list decoding of the upper layer component code to obtain candidate information sequences û.sub.l.sup.(0) 11; and For every candidate information sequences û.sub.l.sup.(0), eliminating an influence of the upper layer component code, and decoding the lower layer component code 12; then finally obtaining a candidate information sequence û.sub.l=(û.sub.l.sup.(0), û.sub.l.sup.(1)) 13, and outputting the candidate information sequence with the maximum likelihood 14. The entire encoding and decoding process then end 16.

[0048] Referring to FIG. 2, this embodiment shows an encoding embodiment using a block code with a code length of n and an information bit length of k as an example. As shown in the figure, there are two layers, an upper layer, layer 0, and an lower layer, layer 1. The aim is to encoding an information sequence u=(u.sup.(0), u.sup.(1)) of length k into a codeword sequence c of length n, where c=(c.sup.(0), c.sup.(1)). The C.sub.0 and C.sub.1 indicates two block codes with code lengths n.sub.0 and n.sub.1 respectively, and are C.sub.0[n.sub.0, k.sub.0] and C.sub.1[n.sub.1, k.sub.1] respectively where n.sub.0+n.sub.1=n, k.sub.0+k.sub.1=k, and u.sup.(0) and u.sup.(1) are sub-sequences of u of length k.sub.0 and k.sub.1 respectively, and correspond to an upper layer and a lower layer of encoding respectively. The encoding process comprising the following steps: using the component code C.sub.0[n.sub.0, k.sub.0] to encode the upper layer u.sup.(0) into an upper layer component codeword v.sup.(0) of length n.sub.0, and using the component code C.sub.1[n.sub.1, k.sub.1] to encode the lower layer u.sup.(1) into a lower component codeword v.sup.(1) of length n.sub.1; coupling the upper layer u.sup.(0) into the lower layer component codeword v.sup.(1) by superposition to obtain a sequence c.sup.(1) of length n.sub.1: c.sup.(1)=S(u.sup.(0))+v.sup.(1), wherein S is a coupling function; obtaining a sequence w with a length of n.sub.0 by passing through the sequence c.sup.(1) through a partial sampler Π: w=c.sup.(1)Π, wherein Π is a n.sub.1×n.sub.0 binary matrix, each column of which has weight of no more than 1; superimposing by XOR to obtain a sequence c.sup.(0) of length n.sub.0: c.sup.(0)=v.sup.(0)+w; and outputting the codeword sequence c=(c.sup.(0), c.sup.(1)) of length n.

[0049] Referring to FIG. 3, this embodiment is similar to the embodiment of FIG. 2, except that the S coupling function takes a different form. In this embodiment, the coupling function S takes a form of a random binary matrix R.sub.v of size n.sub.0×n.sub.1, such that c.sup.(1)=v.sup.(0)R.sub.v+v.sup.(1).

[0050] Referring to FIG. 4, this embodiment is similar to the embodiment of FIG. 2, except that the S coupling function takes another different form. In this embodiment, the coupling function S is provided as follow: using a polar code as a component code for the lower layer, and use a binary matrix P with a size of k.sub.0×(n.sub.1−k.sub.1) and each column of which has weight of no more than 1, to obtain a sequence of length n.sub.1−k.sub.1: f=u.sup.(0)P, so that c.sup.(1) is a polar codeword with f as frozen bits of the lower layer and u.sup.(1) as information bits.

[0051] Encoding and decoding will be further elaborated below with reference to certain examples. However, unless specifically stated, none of the features of the examples are limiting.

[0052] For encoding, let F.sub.2 be the binary field. Let C.sub.0[n.sub.0, k.sub.0] and C.sub.1[n.sub.1, k.sub.1] be two binary linear codes of length n.sub.0=n.sub.1=n/2, with dimension k.sub.0 and k.sub.1, respectively. It is assumed that C.sub.0[n.sub.0, k.sub.0] has an efficient list decoding algorithm. Then, TPST code is constructed with length n and dimension k=k.sub.0+k.sub.1 as follows. Let u=(u.sup.(0), u.sup.(1))ϵF.sub.2.sup.k be a pair of information sequences to be transmitted, where u.sup.(0)ϵF.sub.2.sup.k.sup.0 are associated with Layer 0 and Layer 1, respectively. Let R.sub.v be an n×n binary random matrix and Π: w=c.sup.(1)Π, wherein Π is a n.sub.1×n.sub.0 binary matrix, each column of which has weight of no more than 1, referred to as a selection matrix. An exemplary encoding algorithm of TPST is described in Algorithm 1 below. Figuratively speaking (as depicted in FIG. 3), the two information sequences are first encoded by the basic encoder and then superposed together in a twisted manner.

[0053] Algorithm 1: Twisted-pair Superposition Transmission [0054] Basic Encoding: Encode u.sup.(i) into v.sup.(i)ϵF.sub.2.sup.n by the encoding algorithm of the basic code C.sub.i[n.sub.i, k.sub.i], for i=0,1. [0055] Forward Superposition: Compute w.sup.(0)=v.sup.(0)R.sub.v and c.sup.(1)=v.sup.(1)+w.sup.(0). [0056] Backward Superposition: Compute w.sup.(1)=c.sup.(1)Π and c.sup.(0)=v.sup.(0)+w.sup.(1).

[0057] The encoding result is a sequence c=(c.sup.(0), c.sup.(1))ϵF.sub.2.sup.n. Evidently, the TPST code is a block code constructed from the basic code, which has the coding rate

[00006] k 0 + k 1 n .

Let G.sub.i and H.sub.i be a generator matrix and a parity-check matrix of the basic code C.sub.i[n.sub.i,k.sub.i], for i=0,1. The generator matrix and the parity-check matrix of a TPST code is given, respectively, by

[00007] G T P S T = ( G 0 G 1 ) ( I R v I ) ( I .Math. I ) = ( G 0 + G 0 R v .Math. G 0 R v G 1 .Math. G 1 ) ( 1 ) and H T P S T = ( H 0 H 1 ) ( I R v T I ) ( I .Math. T I ) = ( H 0 H 0 .Math. T H 1 R v T H 0 + H 1 R v T .Math. T ) ( 2 )

[0058] From the construction, it can be seen that the generator matrix of a TPST code is decomposed into three parts: a block diagonal one corresponding to the basic codes, a block upper triangle matrix corresponding to the forward superposition, and a block lower triangle matrix corresponding to the backward superposition. Therefore, similar to the PAC code construction, which is regarded as a form of upper-lower decomposition of the generator matrix, the TPST code construction may be regarded as a block upper-lower decomposition of the generator matrix in an alternative way.

[0059] The generator matrix of a TPST code consists of three types of submatrices, the basic code generator matrices G.sub.0 and G.sub.1, the random transformation R.sub.v and the selection matrix Π. [0060] The basic code generator matrices, G.sub.i: F.sub.2.sup.k.sup.i.fwdarw.F.sub.2.sup.n.sup.i, transform the information sequences into basic codewords, for i=0, 1. The coding rate of TPST code is tunable by adjusting the information length k.sub.0 and k.sub.1 of the basic codes. [0061] The random transformation, R.sub.v: F.sub.2.sup.n.sup.0.fwdarw.F.sub.2.sup.n.sup.1, transforms the basic codeword v.sup.(0) of Layer 0 into a random sequence, which is superimposed on Layer 1 at Step Forward Superposition. Any error bit in Layer 0 will cause an “avalanche effect” on Layer 1, which is critical to distinguish the correct candidate codeword from the erroneous ones in a list decoding algorithm. [0062] The selection matrix, Π: F.sub.2.sup.n.sup.1.fwdarw.F.sub.2.sup.n.sup.0, transforms c.sup.(1) into a masked sequence, which is superimposed on Layer 0 at Step Backward Superposition. The fraction of non-zero elements in the diagonal entries of Π, denoted by α, is referred to as the superposition fraction, where the case α=1 corresponds to full superposition, and the case α<1 corresponds to a partial superposition.

[0063] For decoding, for simplicity, it is assumed that c is modulated using binary phase-shift keying (BPSK) and transmitted over an additive white Gaussian noise (AWGN) channel. The resulting received sequence is denoted by y and the channel transition probability density is denoted by W(y|x) for yϵR, xϵ{0, 1}. A notation with a hat sign ({circumflex over ( )}) is used to denote the corresponding estimated messages according to the decoder output.

[0064] Given a received sequence y=(y.sup.(0), y.sup.(1)), the optimal decoding in terms of minimizing FER is the ML decoding, which finds the TPST codeword c such that:

[00008] P ( y .Math. c * ) = ? P ( y ( 0 ) , y ( 1 ) .Math. c ( 0 ) , c ( 1 ) ) . ( 3 ) ? indicates text missing or illegible when filed

[0065] Let l.sub.max be a positive integer. A sub-optimal solution is to apply the successive cancellation list decoding (which indeed is optimal when the list size l.sub.max=2.sup.k.sup.0 and ML decoding is employed at Layer 1) as described below.

[0066] (1) From the backward superposition as shown in FIG. 3:


v.sup.(0)=c.sup.(0)+c.sup.(1)Π.   (4)

[0067] Hence, similar to polar codes, the log-likelihood ratios (LLRs) of v.sup.(0) can be computed from (y.sup.(0), y.sup.(1)), the noisy version of (c.sup.(0), c.sup.(1)). To be precise, by assuming that c.sup.(1) is identically uniformly distributed (i.u.d.), the LLRs of v.sup.(0) is (for simplicity, the following assumes Π is a diagonal matrix, and n.sub.0=n.sub.1=n/2):

[00009] Λ ( v j ( 0 ) ) = { log W ( y j ( 0 ) | 0 ) W ( y j ( 0 ) | 1 ) , .Math. j = 0 log W ( y j ( 0 ) | 0 ) W ( y j ( 1 ) | 0 ) + W ( y j ( 0 ) | 1 ) W ( y j ( 1 ) | 1 ) W ( y j ( 0 ) | 1 ) W ( y j ( 1 ) | 0 ) + W ( y j ( 0 ) | 0 ) W ( y j ( 1 ) | 1 ) , .Math. j = 1 , ( 5 )

for j=0,1, . . . , n−1, where the subscript j denotes the j-th component of the sequence. Taking Λ(v.sup.(0)) as input to the basic list decoder of C.sub.0, a list of candidate codewords {circumflex over (v)}.sub.l.sup.(0); l=1,2, . . . , l.sub.max is obtained.

[0068] (2) From the encoding process of TPST:

[00010] { v 1 = c ( 1 ) + v ( 0 ) R v v ( 1 ) .Math. = c ( 0 ) + v ( 0 ) + v ( 0 ) R v .Math. ( 6 )

indicating that v.sup.(1) is transmitted twice (with partial masking if partial superposition is employed). Hence, if v.sup.(0) is obtained by the decoder, the LLRs of v.sup.(1) can be computed as,

[00011] Λ ( v j ( 1 ) ) = log W ( y j ( 1 ) | w j ( 0 ) ) W ( y j ( 1 ) | w j ( 0 ) + 1 ) + .Math. j log W ( y j ( 0 ) | w j ( 0 ) + v j ( 0 ) ) W ( y j ( 0 ) | w j ( 0 ) + v j ( 0 ) + 1 ) , ( 7 )

for j=0,1, . . . , n−1. However, since v.sup.(0) is unknown at the receiver, Λ.sub.l(v.sup.(1)) is calculated instead by treating each candidate codeword {circumflex over (v)}.sub.l.sup.(0) as correct. Then, {circumflex over (v)}.sub.l.sup.(1) is estimated by taking Λ.sub.l(v.sup.(1)) as input to the basic decoder of C.sub.1.

[0069] The LLRs Λ.sub.l(v.sup.(1)), calculated by (7), match with the channel if and only if the candidate {circumflex over (v)}.sub.l.sup.(0) is correct. In the case when {circumflex over (v)}.sub.l.sup.(0) is erroneous, the mismatch can be roughly measured by the weight of binary interference Δv(I+R.sub.vΠ, R.sub.v), where Δv={circumflex over (v)}.sub.l.sup.(0)+v.sup.(0)≠0. Since R.sub.v is randomly generated, a nonzero Δv may cause a significant change on the joint typicality between (c.sub.l.sup.(0), c.sub.l.sup.(1)) and (y.sup.(0), y.sup.(1)).

[0070] For each candidate pair {circumflex over (v)}.sub.l=({circumflex over (v)}.sub.l.sup.(0), {circumflex over (v)}.sub.l.sup.(0)), the decoder computes the likelihood of the corresponding TPST codeword P(y|ĉ.sub.l) and selects the most likely one as the decoding output.

[0071] An exemplary decoding procedure is summarized in Algorithm 2.

[0072] Algorithm 2: Successive Cancellation List Decoding of TPST [0073] Initialization: Take the received sequence y as input and compute the likelihood of v.sup.(0) given by (5). [0074] List Decoding: Employ the list decoding algorithm of the basic code for Layer 0, resulting in l.sub.max candidate subcodewords {{circumflex over (v)}.sub.l.sup.(0)}. [0075] For 1≤l≤l.sub.max, [0076] 1) By viewing {circumflex over (v)}.sub.l.sup.(0) as correct, compute the LLRs of v.sup.(1) given by (7). [0077] 2) Employ the decoding algorithm of the basic code for Layer 1, resulting in the decoding output {circumflex over (v)}.sub.l.sup.(1). [0078] 3) Compute the likelihood of the TPST codeword P(y|ĉ.sub.l). [0079] Output: Output the TPST codeword ĉ such that

[00012] P ( y .Math. c ^ ) = ? P ( y .Math. ? ) . ? indicates text missing or illegible when filed

[0080] Performances of the proposed embodiments are analysed. Firstly, performance bounds are analysed. For analysing the performance of the proposed SCL decoding algorithm for TPST codes, the following events are considered: [0081] The event E.sub.0 that the transmitted basic codeword v.sup.(0) of Layer 0 is not in the list, i.e., {circumflex over (v)}.sub.l.sup.(0)≠v.sup.(0) for l=1,2, . . . , l.sub.max; [0082] The event E.sub.1 that given the transmitted basic codeword v.sup.(0) of Layer 0, the basic decoder does not output the transmitted basic codeword v.sup.(1) of Layer 1, i.e., {circumflex over (v)}.sub.l.sup.(1)≠v.sup.(1) if {circumflex over (v)}.sub.l.sup.(0)=v.sup.(0); [0083] The event E.sub.2 that there exists a valid codeword in the decoding list which is more likely than the transmitted codeword, i.e., P(y|ĉ.sub.l)>P(y|c) for some lϵ{1,2, . . . , l.sub.max}.

[0084] Hence, the FER performance of the TPST code with the proposed SCL decoding may be expressed as


FER.sub.SCL=P(E.sub.0∪E.sub.1∪E.sub.2).   (8)

[0085] The following are lower bounds:

[0086] (1) Genie-aided bound P(E.sub.0) for Layer 0

[0087] The received vector y.sup.(0) can be viewed as a noisy version of v.sup.(0), where c.sup.(1) is considered as binary interference with side information y.sup.(1). The link v.sup.(0).fwdarw.y.sup.(0) is referred to as the binary interference AWGN channel. From (8), P(E.sub.0) is a lower bound of FER.sub.SCL. To estimate P(E.sub.0), a genie-aided list decoder in which the decoder outputs the transmitted codeword is considered if it is in the list (told by a genie). Hence, the genie-aided bound P(E.sub.0) may be obtained by simulations on the list decoding performance of the basic code for Layer 0 over the binary interference AWGN channel.

[0088] (2) Genie-Aided Bound P(E.sub.1) for Layer 1

[0089] By removing the effect of v.sup.(0), both the received vector y.sup.(0) (or only parts of y.sup.(0) when partial superposition is employed) and y.sup.(1) may be equivalently viewed as noisy versions of v.sup.(1) transmitting over the AWGN channel. The link v.sup.(1).fwdarw.{(y.sup.(0), y.sup.(1))|v.sup.(0)} is referred to as the repetition AWGN channel. Obviously, P(E.sub.1) is also a lower bound of FER.sub.SCL. To estimate (E.sub.1) , a genie-aided decoder for decoding v.sub.l.sup.(1) in which the decoder is told by a genie that the correct information bits v.sub.l.sup.(0) is considered. Hence, P(E.sub.1) may be obtained by simulations on the performance of the basic code for Layer 1 over the repetition AWGN channel.

[0090] It may be noticed that both P(E.sub.0) and P(E.sub.1) are irrelevant to the random transformation R. This makes it more convenient to analyze the performance by the lower bound given by


FER.sub.SCLcustom-charactermax{P(E.sub.0), P(E.sub.1)}.   (9)

which is denoted as the genie-aided (GA) bound for the TPST construction in the sequel.

[0091] As an example: the TBCCs are taken as basic codes, resulting in the TPST-TBCCs. The basic code for Layer 0 is decoded by serial list Viterbi algorithm (SLVA), and the basic code for Layer 1 is decoded by Viterbi algorithm (VA). First, the (2, 1, 4) TBCC defined by the polynomial generator matrix G(D)=(1+D.sup.2+D.sup.3+D.sup.4, 1+D+D.sup.4) (also denoted in octal notation as (56, 62).sub.8) with information length 32 is taken as the basic codes for both the two layers. The random matrix R.sub.v is sampled from the permutation matrices and let Π be the identity matrix for simplicity. As a result, the constructed TPST-TBCC is a rate-1/2 block code with length 128. The genie-aided bounds are shown in FIG. 5, where the simulated error rates of Layer 0 are also plotted. One may observe that: [0092] The genie-aided performance of v.sup.(0) may be improved by increasing the list size l.sub.max, as expected. [0093] The curves of simulated error rate of v.sup.(0) match very well with the genie-aided bounds, suggesting that the decoder can well distinguish the correct codeword (once it is in the decoding list) from erroneous ones. Hence one may use the genie-aided bound (9) as guidance for selecting the coding parameters of TPST codes. [0094] In this example, the use of random interleaver instead of random transformation in the forward superposition step only causes a negligible loss in performance. Evidently, this reduces much the encoding/decoding complexity for practical implementations. [0095] When taking the same basic code for the two layers and employing full superposition, there exists a large gap between the genie-aided performance of v.sup.(0) and v.sup.(1). As a result, the decoding of v.sub.l.sup.(0) dominates FER performance of the TPST code.

[0096] (3) Lower Bound P(E.sub.2) for ML Decoding

[0097] Let FER.sub.ML be the FER performance of the TPST code with ML decoding. Since the ML decoding outputs the most likely codeword, an error occurs if and only if the transmitted codeword c is not with the highest likelihood among the codebook C. Therefore, once the given decoder outputs a valid codeword that is more likely than the transmitted one, the ML decoding will surely make an error in this instance as well. Hence, P(E.sub.2) is not only a lower bound of FER.sub.SCL, but also a lower bound of FER.sub.ML. P(E.sub.2) may be estimate by simulating the frequency of the event that the decoding output has a higher likelihood than the transmitted one. Then the performance of ML decoding is bounded by


P(E.sub.2)custom-characterFER.sub.MLcustom-characterFER.sub.SCL.   (10)

[0098] Now, the proposed SCL decoding attains a near-ML performance as follows. By applying the union bound technique, an upper bound of FER.sub.SCL from (8) is obtained as


FER.sub.SCLcustom-characterP(E.sub.0)+P(E.sub.1)+P(E.sub.2).   (11)

[0099] Therefore, the gap between the SCL performance and the ML performance may be upper bounded by


FER.sub.SCL−FER.sub.MLcustom-characterFER.sub.SCL−P(E.sub.2)custom-characterP(E.sub.0)+P(E.sub.1).   (12)

[0100] Hence, by lowering down the genie-aided bounds for the two layers, one may construct a TPST code with an SCL decoding algorithm attaining a near-ML performance.

[0101] More specifically, if the basic decoder for Layer 1 is ML decoding (e.g., taking TBCC with Viterbi decoding algorithm as basic code), the upper bound of the gap may be further tightened. In this case, the instance that v.sup.(0) of Layer 0 is in the list and the basic decoder of Layer 1 outputs a basic codeword {circumflex over (v)}.sup.(1) of Layer 1 other than v.sup.(1) of Layer 1 implies that the SCL decoder finds a valid TPST codeword more likely than the transmitted one. Hence, one has E1.Math.E2 and


FER.sub.SCL=P(E.sub.0∪E.sub.2)custom-characterP(E.sub.0)+P(E.sub.2).   (13)

[0102] Then the gap between the SCL performance and the ML performance is upper bounded by


FER.sub.SCL−FER.sub.MLcustom-characterFER.sub.SCL−P(E.sub.2)custom-characterP(E.sub.0).   (14)

the genie-aided bound for Layer 0.

[0103] Besides, performance bounds, complexity analysis and early termination may be performed. From Algorithm 2, the complexity of the proposed SCL decoding mainly consists of two parts: list decoding for Layer 0 and decoding for Layer 1 for each candidate sub-codeword.

[0104] S-state TBCCs is taken as basic codes, which are decoded by SLVA with list size L for Layer 0 and by VA for Layer 1. For simplicity, the add-compare-select operation is taken as an atomic operation to measure the complexity. For Layer 0, by going through all the s states as initial states, s.sup.2k.sub.0 operations are need to find the best candidate, while only k.sub.0 operations are needed for each other L−1 candidates, i.e., the SLVA requires s.sup.2k.sub.0+(L−1)k.sub.0 operations. For Layer 1, VA is employed for each candidate, which needs Ls.sup.2k.sub.1 operations. Hence, the total number of operations for the proposed SCL decoding is given by


#Opt=(s.sup.2+L−1)k.sub.0+Ls.sup.2k.sub.1.   (15)

[0105] It can be seen that the decoding complexity is dominated by the term Ls.sup.2k.sub.1. One way to lower down the complexity is to employ WAVA for decoding the basic code of Layer 1, where with I=4 the decoder performs near optimally. In the test discussed in a later section, the constructed TPST-TBCC with 16 states performs similar to TBCC with 256 states.

[0106] To attain a near-ML performance, the decoding requires a large list size l.sub.max, which incurs a high decoding complexity. However, the average list size for v.sup.(0) to be included in the decoding list is typically small, especially in the high SNR region. Hence, to reduce the complexity, the serial list decoding of Layer 0 is considered, and a criterion for identifying the correct codeword is designed, so that the list decoding can be early terminated.

[0107] The metric of empirical divergence function (EDF) for the early termination is given as

[00013] D ( y , v ) = 1 2 n log 2 P ( y .Math. c ) P ( y ) , ( 16 )

where P(y) is obtained by assuming a uniformly distributed input. The correct candidate v will typically result in D(y,v)≈I(V;Y)>0. Conversely, an erroneous candidate may cause a significant change on the joint typicality between (ĉ.sub.l.sup.(0), ĉ.sub.l.sup.(0)) and (y.sup.(0), y.sup.(1)). Hence, the EDF associated with an erroneous candidate is typically less than that of the correct one. An off-line learned threshold T is set for early termination, where the decoding candidate {circumflex over (v)}.sub.l=({circumflex over (v)}.sub.l.sup.(0), {circumflex over (v)}.sub.l.sup.(1)) is treated as correct if (y,{circumflex over (v)}.sub.l)>T. The SCL decoding with early termination is described in Algorithm 3 below.

[0108] Algorithm 3: Successive Cancellation List Decoding of TPST with Early Termination [0109] Initialization: Set l=0 and =−∞. Take the received sequence y as input and compute the likelihood of v.sup.(0) given by (5). [0110] List Decoding: While l<l.sub.max and D<T, [0111] 1) Employ the serial list decoding algorithm of the basic code for Layer 0, resulting in the l-th list decoding output {circumflex over (v)}.sub.l.sup.(0). [0112] 2) By viewing {circumflex over (v)}.sub.l.sup.(0) as correct, compute the LLRs of v.sup.(1) given by (7). [0113] 3) Employ the decoding algorithm of the basic code for Layer 1, resulting in the decoding output {circumflex over (v)}.sub.l.sup.(1). [0114] 4) Compute the EDF D(y,{circumflex over (v)}.sub.l). If D(y,{circumflex over (v)}.sub.l)>D, update the metric D as D(y,{circumflex over (v)}.sub.l) and the estimated TPST codeword ĉ as ĉ.sub.l. [0115] 5) Update the list size l as l+1. [0116] Output: Output the estimated TPST codeword ĉ.sub.l.

[0117] Design for finite-length regime is now explained. As discussed above, the performance of a TPST code is lower bounded by max{P(E.sub.0, P(E.sub.1)}, and the gap to the ML decoding is upper bounded by P(E.sub.0)+P(E.sub.1). However, Example 1 shows that there exists a gap between the genie-aided bounds of the two layers, (E.sub.0)>>P(E.sub.1), resulting in poor performance. To improve the performance, two approaches are considered to narrowing the gap. One is to reduce the coding rate of Layer 0 by changing the basic codes with different rates, and the other is to improve the channel for Layer 0 by introducing partial superposition during backward superposition to reduce the binary interference from Layer 1.

[0118] The first approach is rate allocation. From the derivation of the genie-aided lower bounds, when full superposition is employed, the genie-aided bounds may be obtained by simulations on the basic codes transmitted over binary interference AWGN channels and the repetition AWGN channels. With the help of genie-aided bounds, the basic codes with different rates may be chosen to construct TPST codes with good performance within an SNR region of interest.

[0119] Suppose that there is a family of basic codes of length n with different rates with their genie-aided bounds available. For example, the basic codes with different rates can be constructed by puncturing from a mother code and the genie-aided bounds can be obtained by off-line simulations over the binary interference AWGN channel and the repetition AWGN channel. Then the procedure of designing TPST code with length 2n and dimension k by the rate allocation approach is described as follows. [0120] 1) Estimate the decoding performance in the given SNR region. For example, at the SNR near 3.5 dB, one expects, from the existed codes and the RCU bound, the constructed code with length 128 to have an error rate at the level of 10.sup.−5. [0121] 2) According to the error performance over the repetition AWGN channel, determine k.sub.1 such that a basic code with dimension k.sub.1 has an error performance near the estimated error rate, which is taken as C.sub.1[n.sub.1, k.sub.1], the basic code for Layer 1. [0122] 3) Let k.sub.0=k−k.sub.1. Take the basic code with dimension k.sub.0 as C.sub.0[n.sub.0, k.sub.0], the basic code of Layer 0. [0123] 4) Increase the decoding list size l.sub.max of C.sub.0[n.sub.0, k.sub.0] such that the list decoding performance of C.sub.0[n.sub.0, k.sub.0] over the binary interference AWGN channel achieves an error rate near the estimated one.

[0124] As another example: random codes with ordered-statistic list decoding is considered as basic codes for Layer 0 and (punctured) TBCCs with Viterbi decoding as basic codes for Layer 1. To construct good TPST codes with length 128 and dimension 64 in the SNR region near 3.5 dB, the (punctured) (2, 1, 4) TBCC defined by the polynomial generator matrix G(D)=(56, 62).sub.8 is used to construct the basic codes with different rates. The genie-aided bounds of the basic codes are shown in FIG. 6. It may be observed that: [0125] As the increase of the dimension k.sub.1 of the TBCCs the performance of genie-aided bounds for Layer 1 decreases. From the RCU bound, one expects to construct TPST code with FER at the level of 10.sup.−5 at the SNR near 3.5 dB. Hence the code with dimension k.sub.1=35 is chosen as the basic code for Layer 1. [0126] Then random code with length 64 and dimension k.sub.0=29 with OSD is taken as the basic code for Layer 0. To attain the estimated FER performance, the OSD algorithm with order 5 is considered for the decoding of Layer 0. However, it suffers from an extremely high decoding complexity (where the list size is 146596 for OSD with order 5) and hence is impractical for implementation.

[0127] Alternatively, TBCC with list Viterbi algorithm is considered as the basic code for Layer 0. A (3, 1, 4) TBCC defined by the polynomial generator matrix G(D)=(52, 66, 76).sub.8 is punctured to fit the length 64 and dimension 29, where the performance is shown in FIG. 7. It may be observed that: [0128] By setting a maximum list size l.sub.max=2048, the genie-aided bound for Layer 0 has a similar performance to that of Layer 1 at the SNR near 3.5 dB. [0129] At the SNR of 3.5 dB, the SCL decoding performance of the constructed TPST code is within 0.25 dB away from the lower bound of ML decoding performance, showing that the proposed SCL decoding is near ML. Also, since the ML performance is sandwiched between the RCU bound and the SCL performance, it can be seen that the constructed TPST code has an ML performance near the RCU bound.

[0130] It can be seen from the above examples that the list Viterbi decoding of TBCC is more efficient than the OSD decoding in the sense of list size. Hence, TBCC is considered as basic codes for the TPST code construction in the sequel.

[0131] The second approach is by partial superposition. Different from the rate allocation approach that adjusts the coding rate of the two layers of TPST codes, the following partial superposition approach adjusts the channels for the two layers. The so-called superposition fraction α is introduced to characterize the partial superposition. Given α, one may construct the binary diagonal matrix Π by assigning └n.sub.1α┘ ones and n.sub.1−└n.sub.1α┘ zeros homogeneously (as uniformly as possible) to the n.sub.1 positions. For simplicity of designing, the same basic code may be employed on both layers.

[0132] Recall that the link v.sup.(0).fwdarw.y.sup.(0) can be viewed as the binary interference AWGN channel, where c.sup.(1) is considered as binary interference with side information y.sup.(1). Therefore, P(E.sub.0) can be lowered down by reducing the binary interference, which can be achieved by decreasing the superposition fraction α.

[0133] Recall that with v.sup.(0) available, the link v.sup.(1).fwdarw.{(y.sup.(0), y.sup.(1))|v.sup.(0)} can be viewed as the repetition AWGN channel, where v.sup.(1) is transmitted twice over AWGN channels (one is with partial masking). Therefore, decreasing the superposition fraction α leads to performance degradation of the genie-aided decoder for v.sup.(1) and hence increases (E.sub.1) .

[0134] In summary, compared with full superposition, decreasing the superposition fraction α can narrow the gap between the two genie-aided bounds, as illustrated in the following example.

[0135] In this example, the same basic code as in paragraph 72 is taken and the TPST code is constructed with different superposition fractions α=0.5, 0.75 and 1.0. The genie-aided bounds for l.sub.max=2048 are shown in FIG. 8. It can be observed that a smaller superposition fractions results in a lower genie-aided bound for decoding Layer 0 and a higher genie-aided bound for decoding Layer 1. Hence, TPST codes are constructed by optimizing the superposition fraction α such that the genie-aided bounds of the two layers have a similar performance in the SNR region of interest.

[0136] The following presents numerical simulations based on embodiments of the present disclosure. The flexibility of the construction lies in the following facts. 1) Any block codes with a fast encoding and efficient list decoding can be adopted as basic codes. 2) Given a family of basic codes with different rates, it is easy to construct good TPST codes within an SNR region of interest by the rate allocation approach. 3) For the basic codes with a given coding rate, the construction can be easily improved by optimizing the superposition fraction. In this subsection, TPST-TBCCs is taken as examples and it is shown by numerical simulations that the constructed TPST-TBCCs, with a wide range of coding rates, have good performance in the finite length regime.

[0137] Examples are provided below to show construction with different basic codes. TPST-TBCCs are constructed with different basic codes. TBCCs with different coding lengths and rates are used as the mother codes for the basic codes, where their generators (in octal notation) are listed in Table I. For example, to construct a basic codeword with coding length 64 and rate 3/4, every third bit of the TBCC C[96, 48] encoder output is punctured. The TPST codes are encoded with superposition fraction α=0.75 and decoded with list size l.sub.max=2048. The simulation results are shown in FIG. 9. For comparison, the coding bounds is also plotted on the minimum FER in the finite length regime, which show that the proposed TSPT-TBCCs have good performance close to the RCU bounds with different rates and lengths. Focusing on the performance with length 128 at the FER of 10.sup.−4, the comparison between the performance of TPST-TBCCs and the bounds of achievable rates are shown in FIG. 10. It can be seen that the proposed TPST scheme may be used to construct codes with different rates close to the analytical bounds in the finite length regime.

TABLE-US-00001 TABLE 1 BASIC TBCCS USED Rate Memory Generators ¼ 4 (52; 56; 66; 76).sub.8 ⅓ 4 (52; 66; 76).sub.8 ½ 4 (56; 62).sub.8

[0138] To investigate trade-off between complexity and performance, the same basic code as in paragraph 72 is taken. The TPST code is encoded with superposition fraction α=0.75 and decoded with the maximum list size l.sub.max=2048, where different thresholds are used for early termination. The simulation results are shown in FIG. 11, and their corresponding decoding complexity in terms of average list size are given in Table II. For comparison, the performance curves of known PAC code, polar-CRC code and TBCCs, and TBCC-CRC with length n=128 and dimension k=64 is also drawn. It can be observed that: [0139] The complexity (average list size), at the cost of performance loss, may be reduced by tuning down the threshold T. [0140] The proposed TPST-TBCC with list decoding has a competitive performance with the TBCCs with large memory. However, in our TPST construction, the basic TBCCs are with memory m=4 which have a much smaller number of states in their trellises. As a result, it has a lower decoding complexity than that of the TBCCs with large memory. For instance, at the SNR of 3.5 dB, the average number of operations of the presented TPST-TBCC with threshold T=0.5 is about 1.3×10.sup.4. It is less than that of TBCC with m=8, which is about 6.6×10.sup.4. [0141] By selecting properly a threshold, the decoding of TPST code has performance near the RCU bound with a relatively low decoding complexity. For example, at the SNR of 3.5 dB, the FER performance of the presented TPST-TBCC with threshold T=0.5 is about 0.6 dB away from the RCU bound. Whereas, the average list size for the SCL decoding is only around two, which is much less than the maximum list size 2048.

TABLE-US-00002 TABLE II AVERAGE LIST SIZE NEEDED FOR DIFFERENT THRESHOLD T SNR 1.0 1.4 1.8 2.2 2.6 3.0 3.4 3.5 3.6 3.8 T = 0.4 12.1 18.1 18.8 13.1 9.11 3.79 1.85 1.55 1.38 1.19 T = 0.5 459 275 132 55.3 22.9 7.48 2.70 2.25 1.88 1.44 T = 0.6 1412 1042 685 396 199 86.6 33.4 25.9 20.1 12.0

[0142] A novel coding scheme referred to as twisted-pair superposition transmission is disclosed herewith, which is constructed by mixing up basic codes by superposition. Based on the list decoding of the basic codes, an SCL decoding algorithm is presented for the TPST codes. To reduce the complexity, thresholds may be presented for early termination of the decoding, which can significantly reduce the decoding complexity at the expense of a slight decoding performance degradation. Bounds for the FER performance is derived, which shows that the performance of the proposed SCL decoding is near-ML and can be easily predicted by the genie-aided bounds obtained from the basic codes. Based on the genie-aided bounds, two design approaches is presented for the construction of TPST codes. Taking TBCCs as basic codes, it is shown by numerical simulations that the constructed TPST-TBCCs have performance close to the RCU bound in a wide range of coding rates in the short length regime.

[0143] The novel coding scheme may be implemented in an apparatus or a device. The implementation principles and technical effects of the device provided in the embodiments of the application are the same as those of the foregoing method embodiments.

[0144] An embodiment of the present application provides an electronic apparatus or device. The electronic device comprises: a processor, a memory, and a communication interface. The processor, the communication interface, and the memory are connected; the processor is configured to execute an executable module stored in the memory, such as a computer program. The processor implements the steps of the method described in the method embodiments when the processor executes the computer program.

[0145] The memory may include a high-speed random access memory (RAM), and may also include a non-volatile memory, such as at least one disk memory. The channel communication connection between the encoder and decoder is realized through a communication means (which may be wired or wireless), the Internet, a wide area network, a local network, a metropolitan area network etc.

[0146] Wherein the memory is configured to store a program, and the processor executes the program after receiving an execution instruction. The method executed by the flow process defined apparatus disclosed in any of the foregoing embodiments of the present application can be applied to the processor or realized by the processor.

[0147] The processor may be an integrated circuit chip with signal processing capabilities. In the implementation process, the steps of the foregoing method may be completed by an integrated logic circuit of hardware in the processor or instructions in the form of software. The aforementioned processor may be a general-purpose processor, including a central processing unit (CPU for short), a network processor (NP), etc.; it may also be a digital signal processor (DSP for short), Application Specific Integrated Circuit (ASIC for short), Field-Programmable Gate Array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, and discrete hardware components. The methods, steps, and logical block diagrams disclosed in the embodiments of the present application can be implemented or executed. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. The steps of the method disclosed in the embodiments of the present application may be directly embodied as being executed by a hardware decoding processor or by a combination of hardware and software modules in the decoding processor. The software module may be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers and other mature storage media in the field. The storage medium is located in the memory, and the processor reads the information in the memory, and completes the steps of the above method in combination with its hardware.

[0148] In another embodiment, there is also provided a computer-readable medium having non-volatile program code executable by a processor, and the program code causes the processor to execute the steps of the method described above.

[0149] In the several embodiments provided in this application, it should be understood that the disclosed device and methods may be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of units is only a logical function division, and there may be other divisions in actual implementation. For further example, multiple units or components can be combined or integrated into another system, or some features can be ignored, or not implemented. In addition, the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some communication interfaces, devices or units, and may be in electrical, mechanical or other forms.

[0150] The units described as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.

[0151] In addition, the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.

[0152] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a non-volatile computer readable storage medium executable by a processor. Based on this understanding, the technical solution of the present application essentially or the part that contributes to the existing technology or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including several instructions to make a computer device (which can be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), magnetic disks or optical disks and other media that can store program codes.

[0153] Finally, it should be noted that the above-mentioned embodiments are only specific implementations of this application, which are used to illustrate the technical solution of this application, rather than limiting it. The scope of protection of the application is not limited to this, although the application has been described in detail with reference to the foregoing embodiments, and those of ordinary skill in the art should understand that any person skilled in the art familiar with the technical field within the technical scope disclosed in this application may still modify the technical solutions described in the foregoing embodiments or may easily think of changes or equivalently replace some of the technical features. However, these modifications, changes or replacements do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should be covered within the protection scope of the present application. Therefore, the protection scope of this application should be subject to the protection scope of the claims.