Method and apparatus for sequence determination, device and storage medium
11271592 · 2022-03-08
Assignee
Inventors
Cpc classification
G06F7/76
PHYSICS
H03M13/116
ELECTRICITY
G06F17/16
PHYSICS
H03M13/635
ELECTRICITY
H03M13/271
ELECTRICITY
International classification
H03M13/00
ELECTRICITY
G06F7/76
PHYSICS
G06F17/16
PHYSICS
Abstract
The present disclosure provides a method and an apparatus for sequence determination, a device and a storage medium. The method for sequence determination includes: mapping a first bit sequence having a length of K bits to a specified position based on M_index to obtain a second bit sequence; applying Polar encoding to the second bit sequence to obtain a Polar encoded bit sequence; and selecting T bits based on the Polar encoded bit sequence as a bit sequence to be transmitted, where K and T are both non-negative integers and K≤T.
Claims
1. A method for channel coding, comprising: mapping a first bit sequence having a length of K bits to a second bit sequence based on a first permutation pattern; applying Polar encoding to the second bit sequence to obtain a Polar encoded bit sequence; forming a first matrix based on the Polar encoded bit sequence, wherein a number of columns or a number of rows of the first matrix is a fixed value of 32 for any lengths of Polar encoded bit sequences; determining a second matrix by applying a second permutation pattern to the first matrix; selecting T bits based on the second matrix, and performing a transmission using the selected T bits, where K and T are both non-negative integers.
2. The method of claim 1, further comprising, prior to mapping the first bit sequence: applying a first predetermined transform to a first index matrix to obtain a second index matrix, and determining an index based on the second index matrix, wherein the first predetermined transform comprises a row permutation or a column permutation.
3. The method of claim 2, wherein the second index matrix is M.sub.re having R.sub.re rows and C.sub.re columns, and wherein the first index matrix is
4. The method of claim 1, wherein the first matrix is M.sub.og, and wherein
5. The method of claim 1, wherein the second permutation pattern comprises a row permutation that is same as a predefined sequence in all positions, where the predefined sequence is {0, 1, 2, 4, 3, 5, 6, 7, 8, 16, 9, 17, 10, 18, 11, 19, 12, 20, 13, 21, 14, 22, 15, 23, 24, 25, 26, 28, 27, 29, 30,31}, and wherein said selecting T bits from the second matrix comprises selecting T bits row by row from the second matrix.
6. The method of claim 1, wherein the second permutation pattern comprises a column permutation that is same as a predefined sequence in all positions, where the predefined sequence is {0, 1, 2, 4, 3, 5, 6, 7, 8, 16, 9, 17, 10, 18, 11, 19, 12, 20, 13, 21, 14, 22, 15, 23, 24, 25, 26, 28, 27, 29, 30, 31}, and wherein said selecting T bits based on the second matrix comprises selecting T bits column by column from the second matrix.
7. The method of claim 1, wherein said selecting T bits from the second matrix comprises: performing a selection of T bits from a starting position tin the second matrix, wherein the selection continues with a first bit in the second matrix upon reaching a last bit in the second matrix, wherein t≥1.
8. A device for channel coding, comprising: a processor; and a memory including processor executable code, wherein the processor executable code upon execution by the processor configures the processor to: map a first bit sequence having a length of K bits to a second bit sequence based on a first permutation pattern; apply Polar encoding to the second bit sequence to obtain a Polar encoded bit sequence; form a first matrix based on the Polar encoded bit sequence, wherein a number of columns or a number of rows of the first matrix is a fixed value of 32 for any lengths of Polar encoded bit sequences; determine a second matrix by applying a second permutation pattern to the first matrix; and select T bits based on the second matrix; and perform a transmission using the selected T bits, wherein K and T are both non-negative integers.
9. The device of claim 8, wherein the processor is configured to, prior to mapping the first bit sequence: apply a first predetermined transform to a first index matrix to obtain a second index matrix, and determine an index based on the second index matrix, wherein the first predetermined transform comprises a row permutation or a column permutation.
10. The device of claim 9, wherein the second index matrix is M.sub.re having R.sub.re rows and C.sub.re columns, and wherein the first index matrix is
11. The device of claim 8, wherein the first matrix is M.sub.og, and wherein
12. The device of claim 8, wherein the second permutation pattern comprises a row permutation that is same as a predefined sequence in all positions, where the predefined sequence is {0, 1, 2, 4, 3, 5, 6, 7, 8, 16, 9, 17, 10, 18, 11, 19, 12, 20, 13, 21, 14, 22, 15, 23, 24, 25, 26, 28, 27, 29, 30, 31}, and wherein the processor is configured to select T bits from the second matrix by selecting T bits row by row from the second matrix.
13. The device of claim 8, wherein the second permutation pattern comprises a column permutation that is same as a predefined sequence in all positions, where the predefined sequence is {0, 1, 2, 4, 3, 5, 6, 7, 8, 16, 9, 17, 10, 18, 11, 19, 12, 20, 13, 21, 14, 22, 15, 23, 24, 25, 26, 28, 27, 29, 30, 31}, and wherein the processor is configured to select T bits from the second matrix by selecting T bits column by column from the second matrix.
14. The device of claim 8, wherein the processor is configured to select T bits from the second matrix by: performing a selection of T bits from a starting position tin the second matrix, wherein the selection continues with a first bit in the second matrix upon reaching a last bit in the second matrix, wherein t≥1.
15. A non-transitory storage medium having code stored thereon, the code upon execution by a processor, causing the processor to implement a method that comprises: mapping a first bit sequence having a length of K bits to a second bit sequence based on a first permutation pattern; applying Polar encoding to the second bit sequence to obtain a Polar encoded bit sequence; forming a first matrix based on the Polar encoded bit sequence, wherein a number of columns or a number of rows of the first matrix is a fixed value of 32 for any lengths of Polar encoded bit sequences; determining a second matrix by applying a second permutation pattern to the first matrix; selecting T bits based on the second matrix; and performing a transmission using the selected T bits, where K and T are both non-negative integers wherein {y.sub.0}=[x.sub.0, x.sub.1, x.sub.2, . . . , x.sub.C.sub.
16. The non-transitory storage medium of claim 15, wherein the method further comprises, prior to mapping the first bit sequence: applying a first predetermined transform to a first index matrix to obtain a second index matrix, and determining an index based on the second index matrix, wherein the first predetermined transform comprises a row permutation or a column permutation.
17. The non-transitory storage medium of claim 16, wherein the second index matrix is M.sub.re having R.sub.re rows and C.sub.re columns, and wherein the first index matrix is
18. The non-transitory storage medium of claim 15, wherein the first matrix is M.sub.og, and wherein
19. The non-transitory storage medium of claim 15, wherein the second permutation pattern comprises a row permutation that is same as a predefined sequence in all positions, where the predefined sequence is {0, 1, 2, 4, 3, 5, 6, 7, 8, 16, 9, 17, 10, 18, 11, 19, 12, 20, 13, 21, 14, 22, 15, 23, 24, 25, 26, 28, 27, 29, 30, 31}, and wherein said selecting T bits from the second matrix comprises selecting T bits row by row from the second matrix.
20. The non-transitory storage medium of claim 15, wherein the second permutation pattern comprises a column permutation that is same as a predefined sequence in all positions, where the predefined sequence is {0, 1, 2, 4, 3, 5, 6, 7, 8, 16, 9, 17, 10, 18, 11, 19, 12, 20, 13, 21, 14, 22, 15, 23, 24, 25, 26, 28, 27, 29, 30, 31}, and wherein the method comprises selecting T bits from the second matrix, wherein T is a non-negative integer.
21. The non-transitory storage medium of claim 15, wherein said selecting T bits from the second matrix comprises: performing a selection of T bits from a starting position tin the second matrix, wherein the selection continues with a first bit in the second matrix upon reaching a last bit in the second matrix, wherein t≥1.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The present disclosure can be further understood with reference to the figures described below, which constitute a part of the present disclosure. The illustrative embodiments of the present disclosure and descriptions thereof are provided for explaining, rather than limiting, the present disclosure. In the figures:
(2)
(3)
(4)
(5)
DETAILED DESCRIPTION OF THE EMBODIMENTS
(6) In the following, the present disclosure will be described in detail with reference to the figures, taken in conjunction with the embodiments. The embodiments, and the features thereof, can be combined with each other, provided that they do not conflict.
(7) It is to be noted that, the terms such as “first”, “second” and so on in the description, claims and figures are used for distinguishing among similar objects and do not necessarily imply any particularly order or sequence.
Embodiment 1
(8) The method according to Embodiment 1 of the present disclosure can be performed in a mobile terminal, a computer terminal or a similar computing device. When the method is performed in a mobile terminal for example,
(9) The memory 104 can store software programs and modules of software applications, e.g., program instructions/modules associated with the method for sequence determination according to an embodiment of the present disclosure. The processor 102 performs various functional applications and data processing operations, i.e., performing the above method, by executing the software programs and modules stored in the memory 104. The memory 104 may include a random cache or a non-volatile memory such as one or more magnetic storage devices, flash memories or other non-volatile solid-state memories. In some examples, the memory 104 may further include one or more memories provided remotely from the processor 102, which can be connected to the mobile terminal 10 via a network. Examples of such network include, but not limited to, Internet, an intranet of an enterprise, a Local Area Network (LAN), a mobile communication network, or any combination thereof.
(10) The transmission device 106 can transmit or receive data via a network. The network can be e.g., a wireless network provided by a communication provider of the mobile terminal 10. In an example, the transmission device 106 includes a Network Interface Controller (NIC), which can be connected to other network devices via a base station for communication with Internet. In an example, the transmission device 106 can be a Radio Frequency (RF) module for communicating with Internet wirelessly.
(11) Alternatively, the method according to Embodiment 1 of the present disclosure can be, but not limited to be, performed in network device, e.g., a base station.
(12) In this embodiment, a method performed in the above mobile terminal or network device for sequence determination is provided.
(13) At step S202, a first bit sequence having a length of K bits is mapped to a specified position based on M_index to obtain a second bit sequence.
(14) At step S204, Polar encoding is applied to the second bit sequence to obtain a Polar encoded bit sequence.
(15) At step S206, T bits are selected based on the Polar encoded bit sequence as a bit sequence to be transmitted, where K and T are both non-negative integers and K≤T.
(16) With the above steps, a first bit sequence having a length of K bits is mapped to a specified position based on M_index to obtain a second bit sequence. Polar encoding is applied to the second bit sequence to obtain a Polar encoded bit sequence. T bits are selected based on the Polar encoded bit sequence as a bit sequence to be transmitted. That is, the present disclosure provides a method for determining a bit sequence to be transmitted, capable of solving the problem in the related art associated with lack of a sequence determination scheme in the 5G New RAT.
(17) It is to be noted that the above method may further include, prior to the step S202: applying a first predetermined transform to a first index matrix to obtain a second index matrix and obtaining M_index based on the second index matrix. The first predetermined transform includes row permutation or column permutation. That is, in the Polar encoding process, the same transform pattern is applied to one dimension of the first index matrix, such that only the other dimension of the first index matrix needs to be changed when a mother code length changes. Thus, the hardware can be reused in the implementation of Polar codes, thereby solving the problem in the related art associated with incapability of hardware reuse in the Polar encoding process.
(18) It is to be noted that the method can further include, prior to selecting T bits based on the Polar encoded bit sequence as the bit sequence to be transmitted: forming a first bit sequence matrix from the Polar encoded bit sequence; and applying a second predetermined transform to the first bit sequence matrix to obtain a second bit sequence matrix. The second predetermined transform includes row permutation or column permutation. The operation of selecting T bits based on the Polar encoded bit sequence as the bit sequence to be transmitted includes: selecting T bits based on the second bit sequence matrix as the bit sequence to be transmitted. That is, the same transform pattern is applied to one dimension of the first bit sequence matrix, such that only the other dimension of the first bit sequence matrix needs to be changed when a mother code length changes. Thus, the hardware can be further reused in the implementation of Polar codes, thereby further solving the problem in the related art associated with incapability of hardware reuse in the Polar encoding process.
(19) It is to be noted that the above method can further include, subsequent to applying the second predetermined transform to the first bit sequence matrix to obtain the second bit sequence matrix: storing bit sequences in the second bit sequence matrix in a buffer and selecting T bits from the buffer as the bit sequence to be transmitted.
(20) It is to be noted that the above buffer can be, but not limited to be, embodied as another physical or logic entity.
(21) It is to be noted that the above first index matrix can be, but not limited to, a two dimensional, three dimensional or multi-dimensional matrix. In an example where the above first index matrix is a two dimensional matrix, the above first predetermined transform can be embodied such that a row transform pattern or a column transform pattern for the first index matrix is the same.
(22) In an example where the above first index matrix is a two dimensional matrix, in an embodiment of the present disclosure, the second index matrix is M.sub.re, which is a matrix of R.sub.re rows and C.sub.re columns. The first index matrix is M.sub.or, which is:
(23)
where R.sub.re×C.sub.re≥N, R.sub.re and C.sub.re are both non-negative integers, and N is a length of the Polar encoded bit sequence.
(24) It is to be noted that the above R.sub.re and C.sub.re have one of the following characteristics: when R.sub.re is constant, C.sub.re is a minimum value satisfying R.sub.re×C.sub.re≥N; or when C.sub.re is constant, R.sub.re is a minimum value satisfying R.sub.re×C.sub.re≥N.
(25) It is to be noted that the operation of applying the first predetermined transform to the first index matrix to obtain the second index matrix includes at least one of: the i-th column of M.sub.re being obtained from the π.sub.1(i)-th column of M.sub.or by means of column permutation, where 0≤i≤C.sub.re−1, 0≤π.sub.1(i)≤C.sub.re−1, R.sub.re×C.sub.re≥N, and i and π.sub.1(i) are both non-negative integers; or the j-th row of M.sub.re being obtained from the π.sub.2(j)-th row of M.sub.or, where 0≤j≤R.sub.re−1, 0≤π.sub.2(j)≤R.sub.re−1, R.sub.re×C.sub.re≥N, and j and π.sub.2(j) are both non-negative integers.
(26) In the Polar encoding process, as the permutation pattern from M.sub.re is the same for each row, if the number of columns of each of M.sub.or and M.sub.re is fixed, when the mother code length of the Polar codes changes, only the number of rows of each of M.sub.or and M.sub.re needs to be changed. Alternatively, the permutation pattern from M.sub.or to M.sub.re can be the same for each column and, if the number of rows of each of M.sub.or and M.sub.re is fixed, when the mother code length of the Polar codes changes, only the number of columns of each of M.sub.or and M.sub.re needs to be changed. In this way, in the implementation of the Polar codes, if the hardware for mapping input bit sequences to input positions in the encoder is designed for the maximum mother code length N.sub.max, it also applies to situations where the mother code length is smaller than N.sub.max, which allows reuse of the hardware.
(27) It is to be noted that the number of columns of the above M.sub.og is 32.
(28) It is to be noted that the above π.sub.1(i) can be obtained according to at least one of:
(29) Scheme 1: π.sub.1(i)=BRO(i), where BRO( ) denotes a bit reverse ordering operation which includes: converting a decimal number i into a first binary number (B.sub.n1−1, B.sub.n1−2, . . . , B.sub.0), reversing the first binary number to obtain a second binary number (B.sub.0, B.sub.1, . . . , B.sub.n1−1) and converting the second binary number into a decimal number π.sub.1(i), where n1=log.sub.2(C.sub.re) and 0≤i≤C.sub.re−1;
(30) Scheme 2: π.sub.1(i)={S1, S2, S3}, where S1={0, 1, . . . , i1−1}, S2={i2, i3, i2+1, i3+1, . . . , i4, i5}, and S3 is a set of elements in {0, 1, . . . , C.sub.re−1} other than those included in S1 and S2, where C.sub.re/8≤i1≤i2≤C.sub.re/3, i2≤i4≤i3≤2C.sub.re/3, i3≤i5≤C.sub.re−1, i1, i2, i3, i4 and i5 are all non- negative integers, and an intersection of any two of S1, S2 and S3 is null; or
(31) Scheme 3: π.sub.1(i)={I}, where {I} is a sequence obtained by organizing numerical results of applying a function f(r) to column indices r of M.sub.or in ascending or descending order, where 0≤r≤C.sub.re−1.
(32) The above three schemes will be explained with reference to the following examples.
(33) For Scheme 1, if C.sub.re=8, i=6, then n1=log.sub.2(8)=3. i=6 is converted into a binary number (B.sub.2, B.sub.1, B.sub.0)=(1,1,0). The binary number (B.sub.2, B.sub.1, B.sub.0)=(1,1,0) is reversed to obtain (B.sub.0, B.sub.1, B.sub.2)=(0,1,1). (B.sub.0, B.sub.1, B.sub.2)=(0,1,1) is then converted into a decimal number π.sub.1(i)=3.
(34) For Scheme 2, if C.sub.re=8, i.sub.1=2, i.sub.2=2, i.sub.3=4, i.sub.4=3 and i.sub.5=5, then S1={0,1}, S2={2, 4, 3, 5}, S3={6,7}, and π.sub.1(i)={0, 1, 2, 4, 3, 5, 6, 7}.
(35) For Scheme 3, C.sub.re=8, {f(0), . . . , f(7)}={0, 1, 1.18, 2.18, 1.41, 2.41, 2.60, 3.60}. f(0), . . . , f(7) is organized in ascending order to obtain π.sub.1(i)={1, 2, 3, 5, 4, 6, 7, 8}.
(36) It is to be noted that f(r) includes at least one of:
(37)
(B.sub.n1−1, B.sub.n1−2, . . . , B.sub.0) is a binary representation of the index r, where 0≤m1≤n1−1, n1=log.sub.2(C.sub.re), and k is a non-negative integer (e.g., C.sub.re=8, i=6, k=4, n1=log.sub.2(8)=3, i=6 is converted into a binary number (B.sub.2, B.sub.1, B.sub.0)=(1,1,0),
(38)
where ( ) Σ is a summation equation);
(39) initializing a function value corresponding to r as ƒ.sub.1.sup.(r), and obtaining a function value for each element ƒ.sub.C.sub.
(40)
where ƒ.sub.1.sup.(r) is a mean log likelihood ratio (e.g., φ.sup.(z) can be approximately:
(41)
where the nodes i.sub.1 and i.sub.2 involving in the iterative calculation are dependent on the structure of the Polar encoder);
(42) (Let the initial value ƒ.sub.1.sup.(r)=2/σ.sup.2, where σ.sup.2 is the variance of noise, C.sub.re=8, σ.sup.2=0. ƒ.sub.1.sup.(r) is substituted into the iteration equation to obtain ƒ.sub.2.sup.(r), which is then substituted into the iteration equation to obtain ƒ.sub.4.sup.(r), and so on, until ƒ.sub.8.sup.(r), is calculated, where f(r)=ƒ.sub.8.sup.(r), 0≤r≤C.sub.re−1, {f(0), . . . , f(7)}={0.04, 0.41, 0.61, 3.29, 1.00, 4.56, 5.78, 16.00}); or
(43) initializing a function value corresponding to r as ƒ.sub.1.sup.(r), and obtaining a function value for each element ƒ.sub.C.sub.
(44)
where ƒ.sub.1.sup.(r) is mutual information, where 1≤m2≤n1, 1≤m3≤n1, and r1, r2, 2r and 2r−1 are all integers larger than or equal to 0 and smaller than or equal to C.sub.re−1 (the nodes i.sub.1 and i.sub.2 involving in the iterative calculation are dependent on the structure of the Polar encoder);
(45) (Let ƒ.sub.1.sup.(r)=0.5 and C.sub.re=8. ƒ.sub.1.sup.(r) is substituted into the iteration equation to obtain ƒ.sub.2.sup.(r), which is then substituted into the iteration equation to obtain ƒ.sub.4.sup.(r), and so on, until ƒ.sub.8.sup.(r) is calculated, where f(r)=ƒ.sub.8.sup.(r), 0≤i≤C.sub.re−1, {f(0), . . . , f(7)}={0.008, 0.152, 0.221, 0.682, 0.313, 0.779, 0.850, 0.991}).
(46) It is to be noted that the above π.sub.2(j) can be obtained according to at least one of:
(47) π.sub.2(j)=BRO(j), where BRO( ) denotes a bit reverse ordering operation which includes: converting a decimal number j into a third binary number (B.sub.n2−1, B.sub.n2−2, . . . , B.sub.0), reversing the third binary number to obtain a fourth binary number (B.sub.0, B.sub.1, . . . , B.sub.n2−1) and converting the fourth binary number into a decimal number π.sub.2(j), where n2=log.sub.2(R.sub.re) and 0≤j≤R.sub.re−1;
(48) π.sub.2(j)={S4, S5, S6}, where S4={0, 1, . . . , j1−1}, S5={j2, j3, j2+1, j3+1, . . . , j4, j5}, and S6 is a set of elements in {0, 1, . . . , R.sub.re−1} other than those included in S4 and S5, where R.sub.re/8≤j2≤R.sub.re/3, j2≤j4≤j3≤2 R.sub.re/3, j3≤j5≤R.sub.re−1, j1, j2, j3, j4 and j5 are all non-negative integers, and an intersection of any two of S4, S5 and S6 is null; or
(49) π.sub.2(j)={J}, where {J} is a sequence obtained by organizing numerical results of applying a function f(s) to row indices s of M.sub.or in ascending or descending order, where 0≤s≤R.sub.re.
(50) It is to be noted that f(s) includes at least one of:
(51)
(B.sub.n2−1, B.sub.n2−2, . . . , B.sub.0) is a binary representation of the index s, where 0≤m4≤n2−1, n2=log.sub.2(R.sub.re), and k is a non-negative integer;
(52) initializing a function value corresponding to s as ƒ.sub.1.sup.(s), and obtaining a function value for each element ƒ.sub.R.sub.
(53)
where ƒ.sub.1.sup.(s) is a mean log likelihood ratio; or
(54) initializing a function value corresponding to s as ƒ.sub.1.sup.(s), and obtaining a function value for each element ƒ.sub.R.sub.
(55)
where ƒ.sub.1.sup.(s) is mutual information, where 1≤m5≤n2, 1≤m6≤n2, s1, s2, 2s and 2s−1 are all integers larger than or equal to 0 and smaller than or equal to R.sub.re−1.
(56) It is to be noted that, for explanations for the above π.sub.2(j), reference can be made to π.sub.1(i).
(57) It is to be noted that the above first bit sequence matrix can be, but not limited to, a two dimensional, three dimensional or multi-dimensional matrix. In an example where the above first bit sequence matrix is a two dimensional matrix, the above second predetermined transform can be embodied such that a row transform pattern or a column transform pattern for the first bit sequence matrix is the same.
(58) It is to be noted that the first bit sequence matrix is M.sub.og. The second bit sequence matrix is M.sub.vb, which is a matrix of R.sub.vb rows and C.sub.vb columns. M.sub.og is:
(59)
where x.sub.0, x.sub.1, x.sub.2, . . . , x.sub.R.sub.
(60) It is to be noted that when R.sub.vb is constant, C.sub.vb is a minimum value satisfying R.sub.vb×C.sub.vb≥N; or when C.sub.vb is constant, R.sub.vb is a minimum value satisfying R.sub.vb×C.sub.vb≥N.
(61) It is to be noted that the operation of applying the second predetermined transform to the first bit sequence matrix to obtain the second bit sequence matrix can include at least one of: the g-th column of M.sub.vb being obtained from the π.sub.3(g)-th column of M.sub.og by means of column permutation, where 0≤g≤C.sub.vb−1, 0≤π.sub.3(g)≤C.sub.vb−1, R.sub.vb×C.sub.vb≥N, and g and π.sub.3(g) are both non-negative integers; or the h-th row of M.sub.vb being obtained from the π.sub.4(h)-th row of M.sub.og by means of row permutation, where 0≤h≤R.sub.vb−1, 0≤π.sub.4(h)≤R.sub.vb−1, R.sub.vb×C.sub.vb≥N, and h and π.sub.4(h) are both non-negative integers.
(62) In the encoding process, the process of selecting appropriate bits from the encoded bit sequence to form a bit sequence to be transmitted is a rate matching process. In the Polar encoding process, as the permutation pattern from M.sub.og to M.sub.vb is the same for each row, if the number of columns of each of M.sub.og and M.sub.vb is fixed, when the mother code length of the Polar codes changes, only the number of rows of each of M.sub.og and M.sub.vb needs to be changed. Alternatively, the permutation pattern from M.sub.og to M.sub.vb can be the same for each column and, if the number of rows of each of M.sub.og and M.sub.vb is fixed, when the mother code length of the Polar codes changes, only the number of columns of each of M.sub.og and M.sub.vb needs to be changed.
(63) In this way, in the implementation of the Polar codes, if the hardware for mapping input bit sequences to input positions in the encoder is designed for the maximum mother code length N.sub.max, it also applies to situations where the mother code length is smaller than N.sub.max, which allows reuse of the hardware.
(64) It is to be noted that π.sub.3(g) can be obtained according to at least one of:
(65) π.sub.3(g)=BRO(g), where BRO( ) denotes a bit reverse ordering operation which includes: converting a decimal number g into a fifth binary number (B.sub.n3−1, B.sub.n3−2, . . . , B.sub.0), reversing the fifth binary number to obtain a sixth binary number (B.sub.0, B.sub.11, . . . , B.sub.n3−1) and converting the sixth binary number into a decimal number π.sub.3(g), where n3=log.sub.2(C.sub.vb) and 0≤g≤C.sub.vb−1;
(66) π.sub.3(g)={S1, S2, S3}, where S1={0, 1, . . . , g1−1}, S2={g2, g3, g2+1, g3+1, . . . , g4, g5}, and S3 is a set of elements in {0, 1, . . . , C.sub.vb−1} other than those included in S1 and S2, where C.sub.vb/8≤g1≤g2≤C.sub.vb/3, g2≤g4≤g3≤2C.sub.vb/3, g3≤g5≤C.sub.vb−1, g1, g2, g3, g4 and g5 are all non- negative integers, and an intersection of any two of S1, S2 and S3 is null;
(67) π.sub.3(g)={G}, where {G} is a sequence obtained by organizing numerical results of applying a function f(α) to column indices α of M.sub.og in ascending or descending order, where 0≤α≤C.sub.vb−1;
(68) π.sub.3(g)={Q1, Q2, Q3}, where Q2={q1, q2, q1+1, q2+1, . . . , q3, q4}, 0≤q1≤q3≤(C.sub.vb−1)/2, 0≤q2≤q4≤(C.sub.vb−1)/2, q1, q2, q3, q4 and q5 are all non-negative integers, Q1 and Q3 are other elements in a difference set between {0, 1, . . . , C.sub.vb−1} and Q2, and an intersection of any two of Q1, Q2 and Q3 is null;
(69) π.sub.3(g) being different from a predefined sequence V1 in nV1 positions, where V1={0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 16, 13, 17, 14, 18, 15, 19, 20, 24, 21, 22, 25, 26, 28, 23, 27, 29, 30, 31}, 0≤nV1≤23; or
(70) π.sub.3(g) being different from a predefined sequence V2 in nV2 positions, where V2={0, 1, 2, 4, 3, 5, 6, 7, 8, 16, 9, 17, 10, 18, 11, 19, 12, 20, 13, 21, 14, 22, 15, 23, 24, 25, 26, 28, 27, 29, 30, 31}, 0≤nV2≤3.
(71) It is to be noted that f(α) includes at least one of:
(72)
(B.sub.n3−1, B.sub.n3−2, . . . , B.sub.0) is a binary representation of the index α, where 0≤m6≤n3−1, n3=log.sub.2(C.sub.vb), and k is a non-negative integer;
(73) initializing a function value corresponding to α as ƒ.sub.1.sup.(α), and obtaining a function value for each element ƒ.sub.C.sub.
(74)
where ƒ.sub.1.sup.(α) is a mean log likelihood ratio; or
(75) initializing a function value corresponding to s as ƒ.sub.1.sup.(α), and obtaining a function value for each element ƒ.sub.C.sub.
(76)
where ƒ.sub.1.sup.(α) is mutual information, where 1≤m7≤n3, 1≤m8≤n3, and α1, α2, 2α and 2α−1 are all integers larger than or equal to 0 and smaller than or equal to C.sub.vb−1.
(77) It is to be noted that π.sub.4(h) can be obtained according to at least one of:
(78) π.sub.4(h)=BRO(h), where BRO( ) denotes a bit reverse ordering operation which includes: converting a decimal number h into a seventh binary number (B.sub.n4−1, B.sub.n4−2, . . . , B.sub.0), reversing the seventh binary number to obtain an eighth binary number (B.sub.0, B.sub.1, . . . , B.sub.n4−1) and converting the eighth binary number into a decimal number π.sub.4(h), where n4=log.sub.2(R.sub.vb) and 0≤h≤R.sub.vb−1;
(79) π.sub.4(h)={S4, S5, S6}, where S4={0, 1, . . . , h1−1}, S5={h2, h3, h2+1, h3+1, . . . , h4, h5}, and S6 is a set of elements in {0, 1, . . . , R.sub.vb−1} other than those included in S4 and S5, where R.sub.vb/8≤h1≤h2≤R.sub.vb/3, h2≤h4≤h3≤2R.sub.vb/3, h3≤h5≤R.sub.vb−1, h1, h2, h3, h4 and h5 are all non-negative integers, and an intersection of any two of S4, S5 and S6 is null;
(80) π.sub.4(h)={H}, where {H} is a sequence obtained by organizing numerical results of applying a function f(β) to row indices β of M.sub.og in ascending or descending order, where 0≤β≤R.sub.vb−1;
(81) π.sub.4(h)={O1, O2, O3}, where O2={o1, o2, o1+1, o2+1, . . . , o3, o4}, 0≤o1≤o3≤(R.sub.vb−1)/2, 0≤o2≤o4≤(R.sub.vb−1)/2, o1, o2, o3, o4 and o5 are all non-negative integers, O1 and O3 are other elements in a difference set between {0, 1, . . . , R.sub.vb−1} and O2, and an intersection of any two of O1, O2 and O3 is null;
(82) π.sub.4(h) being different from a predefined sequence VV1 in nVV1 positions, where VV1={0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 16, 13, 17, 14, 18, 15, 19, 20, 24, 21, 22, 25, 26, 28, 23, 27, 29, 30, 31}, 0≤nVV1≤23; or
(83) π.sub.4(h) being different from a predefined sequence VV2 in nVV2 positions, where VV2={0, 1, 2, 4, 3, 5, 6, 7, 8, 16, 9, 17, 10, 18, 11, 19, 12, 20, 13, 21, 14, 22, 15, 23, 24, 25, 26, 28, 27, 29, 30, 31}, 0≤nVV2≤3.
(84) It is to be noted that f(β) includes at least one of:
(85)
(B.sub.n4−1, B.sub.n4−2, . . . , B.sub.0) is a binary representation of the index β, where 0≤m9≤n4−1, n4=log.sub.2(R.sub.vb), and k is a non-negative integer;
(86) initializing a function value corresponding to β as ƒ.sub.1.sup.(β), and obtaining a function value for each element ƒ.sub.R.sub.
(87)
where ƒ.sub.1.sup.(β) is a mean log likelihood ratio; or
(88) initializing a function value corresponding to β as ƒ.sub.1.sup.(β), and obtaining a function value for each element ƒ.sub.R.sub.
(89)
where ƒ.sub.1.sup.(β) is mutual information, where 1≤m10≤n4, 1≤m11≤n4, and β1, β2, 2β and 2β−1 are all integers larger than or equal to 0 and smaller than or equal to R.sub.vb−1.
(90) It is to be noted that, for explanations for π.sub.3(g) and π.sub.4(h), reference can be made to π.sub.1(i) and descriptions thereof will be omitted here.
(91) In an embodiment of the present disclosure, the operation of obtaining M_index based on the second index matrix includes: selecting a predetermined number of indices from M.sub.re row by row, column by column or diagonal by diagonal, as M_index.
(92) In an embodiment of the present disclosure, the operation of selecting the predetermined number of indices from M.sub.re column by column includes: selecting K.sub.p indices from the p-th column of M.sub.re, where Σ.sub.p=1.sup.C.sup.
(93) In an embodiment of the present disclosure, the operation of selecting the predetermined number of indices from M.sub.re column by column includes at least one of: selecting K.sub.ic1 indices from the 1.sup.st, 2.sup.nd, . . . , C.sub.1-th columns of M.sub.re, where Σ.sub.ic1=1.sup.C.sup.
(94) In an embodiment of the present disclosure, the operation of selecting the predetermined number of indices from M.sub.re row by row includes at least one of: selecting K.sub.ir1 indices from the 1.sup.st, 2.sup.nd, . . . , R.sub.1-th rows of M.sub.re, where Σ.sub.ir1=1.sup.R.sup.
(95) In an embodiment of the present disclosure, the operation of selecting the predetermined number of indices from M.sub.re diagonal by diagonal includes at least one of: selecting K.sub.id1 indices from the (−min(R.sub.re, C.sub.re)+1)-th, (−min(R.sub.re, C.sub.re)+2)-th, . . . , D.sub.1-th diagonals of M.sub.re, where Σ.sub.id1=−min(R.sub.
(96) It is to be noted that, for a matrix M as an example, if M is a square matrix, the number, cc, of its columns is equal to the number, rr, of its rows. If the 0-th diagonal is the primary diagonal, the diagonals parallel with the primary diagonal are the 1.sup.st, 2.sup.nd, . . . , (rr−1)-th diagonals from the bottom up, and the diagonals parallel with the primary diagonal are the −1.sup.st, −2.sup.nd, . . . , (−rr+1)-th diagonals from the top down. If the 0-th diagonal is the secondary diagonal, the diagonals parallel with the secondary diagonal are the 1.sup.st, 2.sup.nd, . . . , (rr−1)-th diagonals from the bottom up, and the diagonals parallel with the secondary diagonal are the −1.sup.st, −2.sup.nd, . . . , (−rr+1)-th diagonals from the top down.
(97) It is to be noted that, for a matrix M as an example, if M is not a square matrix, the number, cc, of its columns can be larger than the number, rr, of its rows. For the matrix
(98)
as an example, if the 0-th diagonal is along the line connecting the element a.sub.1,cc and a.sub.rr,cc−rr+1, the diagonals parallel with the 0-th diagonal are the 1.sup.st, 2.sup.nd, . . . , (rr−1)-th diagonals from the bottom up, and the diagonals parallel with the 0-th diagonal are the −1.sup.st, −2.sup.nd, . . . , (−rr+1)-th diagonals from the top down. If the 0-th diagonal is along the line connecting the element a.sub.1,1 and a.sub.rr,rr, the diagonals parallel with the 0-th diagonal are the 1.sup.st, 2.sup.nd, . . . , (rr−1)-th diagonals from the bottom up, and the diagonals parallel with the 0-th diagonal are the −1.sup.st, 2.sup.nd, . . . , (−rr+1)-th diagonals from the top down.
(99) It is to be noted that, for a matrix M as an example, if M is not a square matrix, the number, rr, of its rows can be larger than the number, cc, of its columns. For the matrix
(100)
as an example, if the 0-th diagonal is along the line connecting the element a.sub.rr,1 and a.sub.rr−cc+1,cc, the diagonals parallel with the 0-th diagonal are the 1.sup.st, 2.sup.nd, . . . , (rr−1)-th diagonals from the bottom up, and the diagonals parallel with the 0-th diagonal are the (−1).sup.st, (−2).sup.nd, . . . , (−rr+1)-th diagonals from the top down. If the 0-th diagonal is along the line connecting the element a.sub.rr−cc+1,1 and a.sub.rr,cc, the diagonals parallel with the 0-th diagonal are the 1.sup.st, 2.sup.nd, . . . , (rr−1)-th diagonals from the bottom up, and the diagonals parallel with the 0-th diagonal are the −1.sup.st, −2.sup.nd, . . . , (−rr+1)-th diagonals from the top down.
(101) It is to be noted that, when the predetermined number of indices are selected from M.sub.re row by row, column by column or diagonal by diagonal, each index corresponding to a non-transmitted bit sequence in a second bit sequence matrix is skipped. The second bit sequence matrix is obtained from a first bit sequence matrix by using a second predetermined transform. The first bit sequence matrix is formed from the Polar encoded bit sequence. The second predetermined transform includes row permutation or column permutation.
(102) It is to be noted that, if the encoded bit sequence is {x.sub.0, x.sub.1, x.sub.2, . . . , x15} and the bit sequence to be transmitted is {x.sub.6, x.sub.7, . . . , x.sub.15}, then the indices corresponding to the non-transmitted bit sequence are {0, 1, 2, . . . , 5}. In this case, when the indices in M_index are selected based on M.sub.re, the indices {0, 1, 2, . . . , 5} are to be skipped.
(103) It is to be noted that the operation of selecting T bits based on the second bit sequence matrix as the bit sequence to be transmitted includes: selecting T bits based on the second bit sequence matrix row by row, column by column or diagonal by diagonal, as the bit sequence to be transmitted.
(104) It is to be noted that the operation of selecting T bits based on the second bit sequence matrix row by row, column by column or diagonal by diagonal as the bit sequence to be transmitted includes: selecting T bits based on the second bit sequence matrix row by row, column by column or diagonal by diagonal, from a starting position t in the second bit sequence matrix. When the selection reaches the first or last bit in the second bit sequence matrix, it continues with the last or first bit in the second bit sequence matrix, where 1≤t≤R.sub.vb×C.sub.vb.
(105) It is to be noted that the operation of selecting T bits based on the second bit sequence matrix row by row, column by column or diagonal by diagonal as the bit sequence to be transmitted includes: selecting the 1.sup.st to T-th bits or the (N−T+1)-th to N-th bits from the second bit sequence matrix column by column, when T is smaller than or equal to a length N of the Polar encoded bit sequence; selecting the 1.sup.st to T-th bits or the (N−T+1)-th to N-th bits from the second bit sequence matrix row by row, when T is smaller than or equal to the length N of the Polar encoded bit sequence; selecting the 1.sup.st to T-th bits or the (N−T+1)-th to N-th bits from the second bit sequence matrix diagonal by diagonal, when T is smaller than or equal to the length N of the Polar encoded bit sequence; selecting, when T is larger than the length N of the Polar encoded bit sequence, T bits row by row, column by column or diagonal by diagonal, from the t-th bit in the second bit sequence matrix. When the selection reaches the first or last bit in the second bit sequence matrix, it continues with the last or first bit in the second bit sequence matrix, where 1≤t≤R.sub.vb×C.sub.vb and N is a non-negative integer.
(106) It is to be noted that the operation of selecting T bits from the second bit sequence matrix column by column includes at least one of: selecting T.sub.ie1 bits from the 1.sup.st, 2.sup.nd, . . . , E.sub.1-th columns, where Σ.sub.ie1=1.sup.E.sup.
(107) It is to be noted that the operation of selecting T bits from the second bit sequence matrix row by row includes at least one of: selecting T.sub.if1 bits from the 1.sup.st, 2.sup.nd, . . . , F.sub.1-th rows, where Σ.sub.if1=1.sup.F.sup.
(108) It is to be noted that the operation of selecting T bits from the second bit sequence matrix diagonal by diagonal includes at least one of: selecting T.sub.ig1 bits from the (−min(R.sub.vb, C.sub.vb)+1)-th, (−min(R.sub.vb, C.sub.vb)+2)-th, . . . , G.sub.1th diagonals, where Σ.sub.ig1=−min(R.sub.
(109) In an example, the bit sequence in M.sub.vb can be arranged as
(110)
Let T=9, when the first 9 bits are selected row by row to form the bit sequence to be transmitted, {y.sub.0, y.sub.1, y.sub.2, y.sub.3, y.sub.4, y.sub.5, y.sub.6, y.sub.7, y.sub.8} are selected to form the bit sequence to be transmitted. When the first 9 bits are selected column by column to form the bit sequence to be transmitted, {y.sub.0, y.sub.4, y.sub.8, y.sub.12, y.sub.1, y.sub.5, y.sub.9, y.sub.13, y.sub.2} are selected to form the bit sequence to be transmitted. When the first 9 bits are selected diagonal by diagonal to form the bit sequence to be transmitted, {y.sub.0, y.sub.1, y.sub.4, y.sub.2, y.sub.5, y.sub.8, y.sub.3, y.sub.6, y.sub.9} are selected to form the bit sequence to be transmitted. When the last 9 bits are selected row by row to form the bit sequence to be transmitted, {y.sub.7, y.sub.8, y.sub.9, y.sub.10, y.sub.11, y.sub.12, y.sub.13, y.sub.14, y.sub.15} are selected to form the bit sequence to be transmitted. When the last 9 bits are selected column by column to form the bit sequence to be transmitted, {y.sub.13, y.sub.2, y.sub.6, y.sub.10, y.sub.14, y.sub.3, y.sub.7, y.sub.11, y.sub.15} are selected to form the bit sequence to be transmitted. When the last 9 bits are selected diagonal by diagonal to form the bit sequence to be transmitted, {y.sub.6, y.sub.9, y.sub.12, y.sub.7, y.sub.10, y.sub.13, y.sub.11, y.sub.14, y.sub.15} are selected to form the bit sequence to be transmitted. During the selection in order, when the selection reaches the last bit y.sub.15 in M.sub.vb, it continues with the first bit y.sub.0 in M.sub.vb. During the selection in reverse order, when the selection reaches the first bit y.sub.0 in M.sub.vb, it continues with the last bit y.sub.15 in M.sub.vb.
(111) It is to be noted that the above steps can be, but not limited to be, performed by a base station or a terminal.
(112) With the description of the above embodiments, it will be apparent to those skilled in the art that the method according to the above embodiments can be implemented by means of software plus a necessary general-purpose hardware platform. Of course it can be implemented in hardware, but in many cases the former is the optimal implementation. Based on this understanding, the technical solution of the present disclosure in essence, or parts thereof contributive to the prior art, can be embodied in the form of a software product. The computer software product can be stored in a storage medium (e.g., ROM/RAM, magnetic disk, or optical disc) and includes instructions for causing a terminal device (which may be a mobile phone, a computer, a server, or a network device, etc.) to perform the method described in the various embodiments of the present disclosure.
Embodiment 2
(113) According to an embodiment of the present disclosure, an apparatus for sequence determination is also provided. The apparatus can be applied in a first station for implementing the above embodiments and examples (details thereof will be omitted here). As used hereinafter, the term “module” can be software, hardware, or a combination thereof, capable of performing a predetermined function. While the apparatuses to be described in the following embodiments can be implemented in software, it can be contemplated that they can also be implemented in hardware or a combination of software and hardware.
(114)
(115) a permuting module 32 configured to map a first bit sequence having a length of K bits to a specified position based on M_index to obtain a second bit sequence;
(116) an encoding module 34 coupled to the above permuting module 32 and configured to apply Polar encoding to the second bit sequence to obtain a Polar encoded bit sequence; and
(117) a selecting module 36 coupled to the above encoding module 34 and configured to select T bits based on the Polar encoded bit sequence as a bit sequence to be transmitted, where K and T are both non-negative integers and K≤T.
(118) With the above apparatus, a first bit sequence having a length of K bits is mapped to a specified position based on M_index to obtain a second bit sequence. Polar encoding is applied to the second bit sequence to obtain a Polar encoded bit sequence. T bits are selected based on the Polar encoded bit sequence as a bit sequence to be transmitted. That is, the present disclosure provides a method for determining a bit sequence to be transmitted, capable of solving the problem in the related art associated with lack of a sequence determination scheme in the 5G New RAT.
(119) In an embodiment of the present disclosure, the above apparatus may further include: a first transform module coupled to the above permuting module 32 and configured to apply a first predetermined transform to a first index matrix to obtain a second index matrix and obtain M_index based on the second index matrix. The first predetermined transform includes row permutation or column permutation. That is, in the Polar encoding process, the same transform pattern is applied to one dimension of the first index matrix, such that only the other dimension of the first index matrix needs to be changed when a mother code length changes. Thus, the hardware can be reused in the implementation of Polar codes, thereby solving the problem in the related art associated with incapability of hardware reuse in the Polar encoding process.
(120) In an embodiment of the present disclosure, the apparatus may further include: a second transform module configured to form a first bit sequence matrix from the Polar encoded bit sequence, and apply a second predetermined transform to the first bit sequence matrix to obtain a second bit sequence matrix. The second predetermined transform includes row permutation or column permutation. The selecting module is further configured to select T bits based on the second bit sequence matrix as the bit sequence to be transmitted. That is, the same transform pattern is applied to one dimension of the first bit sequence matrix, such that only the other dimension of the first bit sequence matrix needs to be changed when a mother code length changes. Thus, the hardware can be further reused in the implementation of Polar codes, thereby further solving the problem in the related art associated with incapability of hardware reuse in the Polar encoding process.
(121) It is to be noted that the above apparatus may further include a storage module coupled to the above first transform module and configured to store the second bit sequence matrix.
(122) It is to be noted that the above storage module can be, but not limited to, a buffer or any other memory, such as an internal memory or any other logic entity.
(123) It is to be noted that the above first index matrix can be, but not limited to, a two dimensional, three dimensional or multi-dimensional matrix. In an example where the above first index matrix is a two dimensional matrix, the above first predetermined transform can be embodied such that a row transform pattern or a column transform pattern for the first index matrix is the same.
(124) In an example where the above first index matrix is a two dimensional matrix, in an embodiment of the present disclosure, the second index matrix is M.sub.re, which is a matrix of R.sub.re rows and C.sub.re columns. The first index matrix is M.sub.or, which is:
(125)
where R.sub.re×C.sub.re≥N, R.sub.re and C.sub.re are both non-negative integers, and N is a length of the Polar encoded bit sequence.
(126) It is to be noted that when R.sub.re is constant, C.sub.re is a minimum value satisfying R.sub.re×C.sub.re≥N; or when C.sub.re is constant, R.sub.re is a minimum value satisfying R.sub.re×C.sub.re≥N.
(127) It is to be noted that the above first transform module is further configured to obtain the second index matrix according to at least one of: the i-th column of M.sub.re being obtained from the π.sub.1(i)-th column of M.sub.or by means of column permutation, where 0≤i≤C.sub.re−1, 0≤π.sub.1(i)≤C.sub.re−1, R.sub.re×C.sub.re≥N, and i and π.sub.1(i) are both non-negative integers; or the j-th row of M.sub.re being obtained from the π.sub.2(j)-th row of M.sub.or, where 0≤j≤R.sub.re−1, 0≤π.sub.2(j)≤R.sub.re−1, R.sub.re×C.sub.re≥N, and j and π.sub.2(j) are both non-negative integers.
(128) It is to be noted that the above π.sub.1(i) can be obtained according to at least one of:
(129) Scheme 1: π.sub.1(i)=BRO(i), where BRO( ) denotes a bit reverse ordering operation which includes: converting a decimal number i into a first binary number (B.sub.n1−1, B.sub.n1−2, . . . , B.sub.0), reversing the first binary number to obtain a second binary number (B.sub.0, B.sub.1, . . . , B.sub.n1−1) and converting the second binary number into a decimal number π.sub.1(i), where n1=log.sub.2(C.sub.re) and 0≤i≤C.sub.re−1;
(130) Scheme 2: π.sub.1(i)={S1, S2, S3}, where S1={0, 1, . . . , i1−1}, S2={i2, i3, i2+1, i3+1, . . . , i4, i5}, and S3 is a set of elements in {0, 1, . . . , C.sub.re−1} other than those included in S1 and S2, where C.sub.re/8≤i1≤i2≤C.sub.re/3, i2≤i4≤i3≤2C.sub.re/3, i3≤i5≤C.sub.re−1, i1, i2, i3, i4 and i5 are all non- negative integers, and an intersection of any two of S1, S2 and S3 is null; or
(131) Scheme 3: π.sub.1(i)={I}, where {I} is a sequence obtained by organizing numerical results of applying a function f(r) to column indices r of M.sub.or in ascending or descending order, where 0≤r≤C.sub.re−1.
(132) The above three schemes will be explained with reference to the following examples.
(133) For Scheme 1, if C.sub.re=8, i=6, then n1=log.sub.2(8)=3. i=6 is converted into a binary number (B.sub.2, B.sub.1, B.sub.0)=(1,1,0). The binary number (B.sub.2, B.sub.1, B.sub.0)=(1,1,0) is reversed to obtain (B.sub.0, B.sub.1, B.sub.2)=(0,1,1). (B.sub.0, B.sub.1, B.sub.2)=(0,1,1) is then converted into a decimal number π.sub.1(i)=3.
(134) For Scheme 2, if C.sub.re=8, i.sub.1=2, i.sub.2=, i.sub.3=4, i.sub.4=3 and i.sub.5=5, then S1={0,1}, S2={2, 4, 3, 5}, S3={6,7}, and π.sub.1(i)={0, 1, 2, 4, 3, 5, 6, 7}.
(135) For Scheme 3, C.sub.re=8, {f(0), . . . , f(7)}={0, 1, 1.18, 2.18, 1.41, 2.41, 2.60, 3.60}. f(0), . . . , f(7) is organized in ascending order to obtain π.sub.1(i)={1, 2, 3, 5, 4, 6, 7, 8}.
(136) It is to be noted that f(r) includes at least one of:
(137)
(B.sub.n1−1, B.sub.n1−2, . . . , B.sub.0) is a binary representation of the index r, where 0≤m1≤n1−1, n1=log.sub.2(C.sub.re), and k is a non-negative integer (e.g., C.sub.re=8, i=6, k=4, n1=log.sub.2(8)=3, i=6 is converted into a binary number (B.sub.2, B.sub.1, B.sub.0)=(1,1,0),
(138)
initializing a function value corresponding to r as ƒ.sub.1.sup.(r), and obtaining a function value for each element ƒ.sub.C.sub.
(139)
where ƒ.sub.1.sup.(r) is a mean log likelihood ratio (e.g., φ.sup.(z) can be approximately:
(140)
where the nodes i.sub.1 and i.sub.2 participating in the iterative calculation are dependent on the structure of the Polar encoder);
(141) (Let the initial value ƒ.sub.1.sup.(r)=2/σ.sup.2, where σ.sup.2 is the variance of noise, C.sub.re=8, σ.sup.2=0. ƒ.sub.1.sup.(r) is substituted into the iteration equation to obtain ƒ.sub.2.sup.(r), which is then substituted into the iteration equation to obtain ƒ.sub.4.sup.(r), and so on, until ƒ.sub.8.sup.(r) is calculated, where f(r)=ƒ.sub.8.sup.(r), 0≤r≤C.sub.re−1, {f(0), . . . , f(7)}={0.04, 0.41, 0.61, 3.29, 1.00, 4.56, 5.78, 16.00}); or
(142) initializing a function value corresponding to r as ƒ.sub.1.sup.(r), and obtaining a function value for each element ƒ.sub.C.sub.
(143)
where ƒ.sub.1.sup.(r) is mutual information, where 1≤m2≤n1, 1≤m3≤n1, and r1, r2, 2r and 2r−1 are all integers larger than or equal to 0 and smaller than or equal to C.sub.re−1 (the nodes i.sub.1 and i.sub.2 participating in the iterative calculation are dependent on the structure of the Polar encoder);
(144) (Let ƒ.sub.1.sup.(r)=0.5 and C.sub.re=8. ƒ.sub.1.sup.(r) is substituted into the iteration equation to obtain ƒ.sub.2.sup.(r), which is then substituted into the iteration equation to obtain ƒ.sub.4.sup.(r), and so on, until ƒ.sub.8.sup.(r) is calculated, where f(r)=ƒ.sub.8.sup.(r), 0≤i≤C.sub.re−1, {f(0), . . . , f(7)}={0.008, 0.152, 0.221, 0.682, 0.313, 0.779, 0.850, 0.991}).
(145) It is to be noted that the above π.sub.2(j) can be obtained according to at least one of:
(146) π.sub.2(j)=BRO(j), where BRO( ) denotes a bit reverse ordering operation which includes: converting a decimal number j into a third binary number (B.sub.n2−1, B.sub.n2−2, . . . , B.sub.0), reversing the third binary number to obtain a fourth binary number (B.sub.0, B.sub.1, . . . , B.sub.n2−1) and converting the fourth binary number into a decimal number π.sub.2(j), where n2=log.sub.2(R.sub.re) and 0≤j≤R.sub.re−1;
(147) π.sub.2(j)={S4, S5, S6}, where S4={0, 1, . . . , j1−1}, S5={j2, j3, j2+1, j3+1, . . . , j4, j5}, and S6 is a set of elements in {0, 1, . . . , R.sub.re−1} other than those included in S4 and S5, where R.sub.re/8≤j1≤j2≤R.sub.re/3, j2≤j4≤j3≤2 R.sub.re/3, j3≤j5≤R.sub.re−1, j1, j2, j3, j4 and j5 are all non- negative integers, and an intersection of any two of S4, S5 and S6 is null; or
(148) π.sub.2(j)={J}, where {J} is a sequence obtained by organizing numerical results of applying a function f(s) to row indices s of M.sub.or in ascending or descending order, where 0≤s≤R.sub.re−1.
(149) It is to be noted that f(s) includes at least one of:
(150)
(B.sub.n2−1, B.sub.n2−2, . . . , B.sub.0) is a binary representation of the index s, where 0≤m4≤n2−1, n2=log.sub.2(R.sub.re), and k is a non-negative integer;
(151) initializing a function value corresponding to s as ƒ.sub.1.sup.(s), and obtaining a function value for each element ƒ.sub.R.sub.
(152)
where ƒ.sub.1.sup.(s) is a mean log likelihood ratio; or
(153) initializing a function value corresponding to s as ƒ.sub.1.sup.(s), and obtaining a function value for each element ƒ.sub.R.sub.
(154)
where ƒ.sub.1.sup.(s) is mutual information, where 1≤m5≤n2, 1≤m6≤n2, s1, s2, 2s and 2s−1 are all integers larger than or equal to 0 and smaller than or equal to R.sub.re−1.
(155) It is to be noted that, for explanations for the above π.sub.2(j), reference can be made to π.sub.1(i).
(156) It is to be noted that the above first bit sequence matrix can be, but not limited to, a two dimensional, three dimensional or multi-dimensional matrix. In an example where the above first bit sequence matrix is a two dimensional matrix, the above second predetermined transform can be embodied such that a row transform pattern or a column transform pattern for the first bit sequence matrix is the same.
(157) It is to be noted that the first bit sequence matrix is M.sub.og. The second bit sequence matrix is M.sub.vb, which is a matrix of R.sub.vb rows and C.sub.vb columns. M.sub.og is:
(158)
where x.sub.0, x.sub.1, x.sub.2, . . . , x.sub.R.sub.
(159) It is to be noted that when R.sub.vb is constant, C.sub.vb is a minimum value satisfying R.sub.vb×C.sub.vb≥N; or when C.sub.vb is constant, R.sub.vb is a minimum value satisfying R.sub.vb×C.sub.vb≥N.
(160) It is to be noted that the above second transform module can further be configured to obtain the second bit sequence matrix according to at least one of: the g-th column of M.sub.vb being obtained from the π.sub.3(g)-th column of M.sub.og by means of column permutation, where 0≤g≤C.sub.vb−1, 0≤π.sub.3(g)≤C.sub.vb−1, R.sub.vb×C.sub.vb≥N, and g and π.sub.3(g) are both non-negative integers; or the h-th row of M.sub.vb being obtained from the π.sub.4(h)-th row of M.sub.og by means of row permutation, where 0≤h≤R.sub.vb−1, 0≤π.sub.4(h)≤R.sub.vb−1, R.sub.vb×C.sub.vb≥N, and h and π.sub.4(h) are both non-negative integers.
(161) It is to be noted that π.sub.3(g) can be obtained according to at least one of:
(162) π.sub.3(g)=BRO(g), where BRO( ) denotes a bit reverse ordering operation which includes: converting a decimal number g into a fifth binary number (B.sub.n3−1, B.sub.n3−2, . . . , B.sub.0), reversing the fifth binary number to obtain a sixth binary number (B.sub.0, B.sub.11, . . . , B.sub.n3−1) and converting the sixth binary number into a decimal number π.sub.3(g), where n3=log.sub.2(C.sub.vb) and 0≤g≤C.sub.vb−1;
(163) π.sub.3(g)={S1, S2, S3}, where S1={0, 1, . . . , g1−1}, S2={g2, g3, g2+1, g3+1, . . . , g4, g5}, and S3 is a set of elements in {0, 1, . . . , C.sub.vb−1} other than those included in S1 and S2, where C.sub.vb/8≤g1≤g2≤C.sub.vb/3, g2≤g4≤g3≤2C.sub.vb/3, g3≤g5≤C.sub.vb−1, g1, g2, g3, g4 and g5 are all non- negative integers, and an intersection of any two of S1, S2 and S3 is null;
(164) π.sub.3(g)={G}, where {G} is a sequence obtained by organizing numerical results of applying a function f(α) to column indices α of M.sub.og in ascending or descending order, where 0≤α≤C.sub.vb−1;
(165) π.sub.3(g)={Q1, Q2, Q3}, where Q2={q1, q2, q1+1, q2+1, . . . , q3, q4}, 0≤q1≤q3≤(C.sub.vb−1)/2, 0≤q2≤q4≤(C.sub.vb−1)/2, q1, q2, q3, q4 and q5 are all non-negative integers, Q1 and Q3 are other elements in a difference set between {0, 1, . . . , C.sub.vb−1} and Q2, and an intersection of any two of Q1, Q2 and Q3 is null;
(166) π.sub.3(g) being different from a predefined sequence V1 in nV1 positions, where V1={0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 16, 13, 17, 14, 18, 15, 19, 20, 24, 21, 22, 25, 26, 28, 23, 27, 29, 30, 31}, 0≤nV1≤23; or
(167) π.sub.3(g) being different from a predefined sequence V2 in nV2 positions, where V2={0, 1, 2, 4, 3, 5, 6, 7, 8, 16, 9, 17, 10, 18, 11, 19, 12, 20, 13, 21, 14, 22, 15, 23, 24, 25, 26, 28, 27, 29, 30, 31}, 0≤nV2≤3.
(168) It is to be noted that f(α) includes at least one of:
(169)
(B.sub.n3−1, B.sub.n3−2, . . . , B.sub.0) is a binary representation of the index α, where 0≤m6≤n3−1, n3=log.sub.2(C.sub.vb), and k is a non-negative integer;
(170) initializing a function value corresponding to α as ƒ.sub.1.sup.(α), and obtaining a function value for each element ƒ.sub.C.sub.
(171)
where ƒ.sub.1.sup.(α) is a mean log likelihood ratio; or
(172) initializing a function value corresponding to s as ƒ.sub.1.sup.(α), and obtaining a function value for each element ƒ.sub.C.sub.
(173)
where ƒ.sub.1.sup.(α) is mutual information, where 1≤m7≤n3, 1≤m8≤n3, and α1, α2, 2α and 2α−1 are all integers larger than or equal to 0 and smaller than or equal to C.sub.vb−1.
(174) It is to be noted that π.sub.4(h) can be obtained according to at least one of:
(175) π.sub.4(h)=BRO(h), where BRO( ) denotes a bit reverse ordering operation which includes: converting a decimal number h into a seventh binary number (B.sub.n4−1, B.sub.n4−2, . . . , B.sub.0), reversing the seventh binary number to obtain an eighth binary number (B.sub.0, B.sub.1, . . . , B.sub.n4−1) and converting the eighth binary number into a decimal number π.sub.4(h), where n4=log.sub.2(R.sub.vb) and 0≤h≤R.sub.vb−1;
(176) π.sub.4(h)={S4, S5, S6}, where S4={0, 1, . . . , h1−1}, S5={h2, h3, h2+1, h3+1, . . . , h4, h5}, and S6 is a set of elements in {0, 1, . . . , R.sub.vb−1} other than those included in S4 and S5, where R.sub.vb/8≤h1≤h2≤R.sub.vb/3, h2≤h4≤h3≤2R.sub.vb/3, h3≤h5≤R.sub.vb−1, h1, h2, h3, h4 and h5 are all non- negative integers, and an intersection of any two of S4, S5 and S6 is null;
(177) π.sub.4(h)={H}, where {H} is a sequence obtained by organizing numerical results of applying a function f(β) to row indices β of M.sub.og in ascending or descending order, where 0≤β≤R.sub.vb−1;
(178) π.sub.4(h)={O1, O2, O3}, where O2={o1, o2, o1+1, o2+1, . . . , o3, o4}, 0≤o1≤o3≤(R.sub.vb−1)/2, 0≤o2≤o4≤(R.sub.vb−1)/2, o1, o2, o3, o4 and o5 are all non-negative integers, O1 and O3 are other elements in a difference set between {0, 1, . . . , R.sub.vb−1} and O2, and an intersection of any two of O1, O2 and O3 is null;
(179) π.sub.4(h) being different from a predefined sequence VV1 in nVV1 positions, where VV1={0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 16, 13, 17, 14, 18, 15, 19, 20, 24, 21, 22, 25, 26, 28, 23, 27, 29, 30, 31}, 0≤nVV1≤23; or
(180) π.sub.4(h) being different from a predefined sequence VV2 in nVV2 positions, where VV2={0, 1, 2, 4, 3, 5, 6, 7, 8, 16, 9, 17, 10, 18, 11, 19, 12, 20, 13, 21, 14, 22, 15, 23, 24, 25, 26, 28, 27, 29, 30, 31}, 0≤nVV2≤3.
(181) It is to be noted that f(β) includes at least one of:
(182)
(B.sub.n4−1, B.sub.n4−2, . . . , B.sub.0) is a binary representation of the index β, where 0≤m9≤n4−1, n4=log.sub.2(R.sub.vb), and k is a non-negative integer;
(183) initializing a function value corresponding to β as ƒ.sub.1.sup.(β), and obtaining a function value for each element ƒ.sub.R.sub.
(184)
where ƒ.sub.1.sup.(β) is a mean log likelihood ratio; or
(185) initializing a function value corresponding to β as ƒ.sub.1.sup.(β), and obtaining a function value for each element ƒ.sub.R.sub.
(186)
where ƒ.sub.1.sup.(β) is mutual information, where 1≤m10≤n4, 1≤m11≤n4, and β1, β2, 2β and 2β−1 are all integers larger than or equal to 0 and smaller than or equal to R.sub.vb−1.
(187) It is to be noted that, for explanations for π.sub.3(g) and π.sub.4(h), reference can be made to π.sub.1(i) and descriptions thereof will be omitted here.
(188) In an embodiment of the present disclosure, the above first transform module can further be configured to select a predetermined number of indices based on M.sub.re row by row, column by column or diagonal by diagonal, as M_index.
(189) It is to be noted that the operation of selecting the predetermined number of indices from M.sub.re column by column includes: selecting K.sub.p indices from the p-th column of M.sub.re, where Σ.sub.p=1.sup.C.sup.
(190) It is to be noted that the operation of selecting the predetermined number of indices from M.sub.re column by column includes at least one of: selecting K.sub.ic1 indices from the 1.sup.st, 2.sup.nd, . . . , C.sub.1-th columns of M.sub.re, where Σ.sub.ic1=1.sup.C.sup.
(191) It is to be noted that the operation of selecting the predetermined number of indices from M.sub.re row by row includes at least one of: selecting K.sub.ir1 indices from the 1.sup.st, 2.sup.nd, . . . , R.sub.1-th rows of M.sub.re, where Σ.sub.ir1=1.sup.R.sup.
(192) It is to be noted that the operation of selecting the predetermined number of indices from M.sub.re diagonal by diagonal includes at least one of: selecting K.sub.id1 indices from the (−min(R.sub.re, C.sub.re)+1)-th, (−min(R.sub.re, C.sub.re)+2)-th, . . . , D.sub.1-th diagonals of M.sub.re, where Σ.sub.id1=−min(R.sub.
(193) It is to be noted that, when the predetermined number of indices are selected from M.sub.re row by row, column by column or diagonal by diagonal, each index corresponding to a non-transmitted bit sequence in a second bit sequence matrix is skipped. The second bit sequence matrix is obtained from a first bit sequence matrix by using a second predetermined transform. The first bit sequence matrix is formed from the Polar encoded bit sequence. The second predetermined transform includes row permutation or column permutation.
(194) It is to be noted that the above selecting module 36 can further be configured to select T bits based on the second bit sequence matrix row by row, column by column or diagonal by diagonal, as the bit sequence to be transmitted.
(195) It is to be noted that the above selecting module 36 can further be configured to select T bits from the second bit sequence matrix row by row, column by column or diagonal by diagonal, from a starting position t in the second bit sequence matrix. When the selection reaches the first or last bit in the second bit sequence matrix, it continues with the last or first bit in the second bit sequence matrix, where 1≤t≤R.sub.vb×C.sub.vb.
(196) It is to be noted that the above selecting module 36 can further be configured to select the 1.sup.st to T-th bits or the (N−T+1)-th to N-th bits from the second bit sequence matrix column by column, when T is smaller than or equal to a length N of the Polar encoded bit sequence; select the 1.sup.st to T-th bits or the (N−T+1)-th to N-th bits from the second bit sequence matrix row by row, when T is smaller than or equal to the length N of the Polar encoded bit sequence; select the 1.sup.st to T-th bits or the (N−T+1)-th to N-th bits from the second bit sequence matrix diagonal by diagonal, when T is smaller than or equal to the length N of the Polar encoded bit sequence; select, when T is larger than the length N of the Polar encoded bit sequence, T bits row by row, column by column or diagonal by diagonal, from the t-th bit in the second bit sequence matrix. When the selection reaches the first or last bit in the second bit sequence matrix, it continues with the last or first bit in the second bit sequence matrix, where 1≤t≤R.sub.vb×C.sub.vb and N is a non-negative integer.
(197) It is to be noted that the operation of selecting T bits from the second bit sequence matrix column by column includes at least one of: selecting T.sub.ie1 bits from the 1.sup.st, 2.sup.nd, . . . , E.sub.1-th columns, where Σ.sub.ie1=1.sup.E.sup.
(198) It is to be noted that the operation of selecting T bits from the second bit sequence matrix row by row includes at least one of: selecting T.sub.if1 bits from the 1.sup.st, 2.sub.nd, . . . , F.sub.1-th rows, where Σ.sub.if1=1.sup.F.sup.
(199) It is to be noted that the operation of selecting T bits from the second bit sequence matrix diagonal by diagonal includes at least one of: selecting T.sub.ig1 bits from the (−min(R.sub.vb, C.sub.vb)+1)-th, (−min(R.sub.vb, C.sub.vb)+2)-th, . . . , G.sub.1-th diagonals, where Σ.sub.ig1=−min(R.sub.
(200) It is to be noted that the above apparatus can be, but not limited to be, provided in a terminal or a network device such as a base station.
(201) It should be noted that each of the above-described modules can be implemented by means of software or hardware, and the latter can be implemented in, but not limited to, the following manner: the above-described modules can be located at the same processor, or can be distributed over a plurality of processors in any combination.
Embodiment 3
(202) Embodiment 3 of the present disclosure provides a device.
(203) a processor 42 configured to: map a first bit sequence having a length of K bits to a specified position based on M_index to obtain a second bit sequence; apply Polar encoding to the second bit sequence to obtain a Polar encoded bit sequence; and select T bits based on the Polar encoded bit sequence as a bit sequence to be transmitted, where K and T are both non-negative integers and K≤T, and a memory 44 coupled to the processor 42.
(204) With the above device, a first bit sequence having a length of K bits is mapped to a specified position based on M_index to obtain a second bit sequence. Polar encoding is applied to the second bit sequence to obtain a Polar encoded bit sequence. T bits are selected based on the Polar encoded bit sequence as a bit sequence to be transmitted. That is, the present disclosure provides a method for determining a bit sequence to be transmitted, capable of solving the problem in the related art associated with lack of a sequence determination scheme in the 5G New RAT.
(205) In an embodiment of the present disclosure, the above processor 42 can further be configured to: apply a first predetermined transform to a first index matrix to obtain a second index matrix; and obtain M_index based on the second index matrix. The first predetermined transform includes row permutation or column permutation. That is, in the Polar encoding process, the same transform pattern is applied to one dimension of the first index matrix, such that only the other dimension of the first index matrix needs to be changed when a mother code length changes. Thus, the hardware can be reused in the implementation of Polar codes, thereby solving the problem in the related art associated with incapability of hardware reuse in the Polar encoding process.
(206) In an embodiment of the present disclosure, the above processor 42 can further be configured to: write the Polar encoded bit sequence into a first bit sequence matrix; and apply a second predetermined transform to the first bit sequence matrix to obtain a second bit sequence matrix. The second predetermined transform includes row permutation or column permutation. A selecting module is configured to select T bits based on the second bit sequence matrix as the bit sequence to be transmitted. That is, the same transform pattern is applied to one dimension of the first bit sequence matrix, such that only the other dimension of the first bit sequence matrix needs to be changed when a mother code length changes. Thus, the hardware can be further reused in the implementation of Polar codes, thereby further solving the problem in the related art associated with incapability of hardware reuse in the Polar encoding process.
(207) It is to be noted that the above storage module can be configured to store the above second bit sequence matrix. The above storage module can be, but not limited to, a buffer or any other memory, such as an internal memory or any other logic entity.
(208) It is to be noted that the above first index matrix can be, but not limited to, a two dimensional, three dimensional or multi-dimensional matrix. In an example where the above first index matrix is a two dimensional matrix, the above first predetermined transform can be embodied such that a row transform pattern or a column transform pattern for the first index matrix is the same.
(209) In an example where the above first index matrix is a two dimensional matrix, in an embodiment of the present disclosure, the second index matrix is M.sub.re, which is a matrix of R.sub.re rows and C.sub.re columns. The first index matrix is M.sub.or, which is:
(210)
where R.sub.re×C.sub.re≥N, R.sub.re and C.sub.re are both non-negative integers, and N is a length of the Polar encoded bit sequence.
(211) It is to be noted that when R.sub.re is constant, C.sub.re is a minimum value satisfying R.sub.re×C.sub.re≥N; or when C.sub.re is constant, R.sub.re is a minimum value satisfying R.sub.re×C.sub.re≥N.
(212) It is to be noted that the above processor 42 can further be configured to obtain the second index matrix according to at least one of: the i-th column of M.sub.re being obtained from the π.sub.1(i)-th column of M.sub.or by means of column permutation, where 0≤i≤C.sub.re−1, 0≤π.sub.1(i)≤C.sub.re−1, R.sub.re×C.sub.re≥N, and i and π.sub.1(i) are both non-negative integers; or the j-th row of M.sub.re being obtained from the π.sub.2(j)-th row of M.sub.or, where 0≤j≤R.sub.re−1, 0≤π.sub.2(j)≤R.sub.re−1, R.sub.re×C.sub.re≥N, and j and π.sub.2(j) are both non-negative integers.
(213) It is to be noted that the above π.sub.1(i) can be obtained according to at least one of:
(214) Scheme 1: π.sub.1(i)=BRO(i), where BRO( ) denotes a bit reverse ordering operation which includes: converting a decimal number i into a first binary number (B.sub.n1−1, B.sub.n1−2, . . . , B.sub.0), reversing the first binary number to obtain a second binary number (B.sub.0, B.sub.1, . . . , B.sub.n1−1) and converting the second binary number into a decimal number π.sub.1(i), where n1=log.sub.2(C.sub.re) and 0≤i≤C.sub.re−1;
(215) Scheme 2: π.sub.1(i)={S1, S2, S3}, where S1={0, 1, . . . , i1−1}, S2={i2, i3, i3+1, i3+1, . . . , i4, i5}, and S3 is a set of elements in {0, 1, . . . , C.sub.re−1} other than those included in S1 and S2, where C.sub.re/8≤i1≤i2≤C.sub.re/3, i2≤i4≤i3≤2C.sub.re/3, i3≤i5≤C.sub.re−1, i1, i2, i3, i4 and i5 are all non- negative integers, and an intersection of any two of S1, S2 and S3 is null; or
(216) Scheme 3: π.sub.1(i)={I}, where {I} is a sequence obtained by organizing numerical results of applying a function f(r) to column indices r of M.sub.or in ascending or descending order, where 0≤r≤C.sub.re−1.
(217) The above three schemes will be explained with reference to the following examples.
(218) For Scheme 1, if C.sub.re=8, i=6, then n1=log.sub.2(8)=3. i=6 is converted into a binary number (B.sub.2, B.sub.1, B.sub.0)=(1,1,0). The binary number (B.sub.2, B.sub.1, B.sub.0)=(1,1,0) is reversed to obtain (B.sub.0, B.sub.1, B.sub.2)=(0,1,1). (B.sub.0, B.sub.1, B.sub.2)=(0,1,1) is then converted into a decimal number π.sub.1(i)=3.
(219) For Scheme 2, if C.sub.re=8, i.sub.1=2, i.sub.2=2, i.sub.3=4, i.sub.4=3 and i.sub.5=5, then S1={0,1}, S2={2, 4, 3, 5}, S3={6,7}, and π.sub.1(i)={0, 1, 2, 4, 3, 5, 6, 7}.
(220) For Scheme 3, C.sub.re=8, {f(0), . . . , f(7)}={0, 1, 1.18, 2.18, 1.41, 2.41, 2.60, 3.60}. f(0), . . . , f(7) is organized in ascending order to obtain π.sub.1(i)={1, 2, 3, 5, 4, 6, 7, 8}.
(221) It is to be noted that f(r) includes at least one of:
(222)
(B.sub.n1−1, B.sub.n1−2, . . . , B.sub.0) is a binary representation of the index r, where 0≤m1≤n1−1, n1=log.sub.2(C.sub.re), and k is a non-negative integer (e.g., C.sub.re=8, i=6, k=4, n1=log.sub.2(8)=3, i=6 is converted into a binary number (B.sub.2, B.sub.1, B.sub.0)=(1,1,0),
(223)
initializing a function value corresponding to r as ƒ.sub.1.sup.(r), and obtaining a function value for each element ƒ.sub.C.sub.
(224)
where ƒ.sub.1.sup.(r) is a mean log likelihood ratio. (e.g., φ.sup.(z) can be approximately:
(225)
where the nodes i.sub.1 and i.sub.2 participating in the iterative calculation are dependent on the structure of the Polar encoder);
(226) (Let the initial value ƒ.sub.1.sup.(r)=2/σ.sup.2, where σ.sup.2 is the variance of noise, C.sub.re=8, σ.sup.2=0. ƒ.sub.1.sup.(r) is substituted into the iteration equation to obtain ƒ.sub.2.sup.(r), which is then substituted into the iteration equation to obtain ƒ.sub.4.sup.(r), and so on, until ƒ.sub.8.sup.(r) is calculated, where f(r)=ƒ.sub.8.sup.(r), 0≤r≤C.sub.re−1, {f(0), . . . , f(7)}={0.04, 0.41, 0.61, 3.29, 1.00, 4.56, 5.78, 16.00}); or
(227) initializing a function value corresponding to r as ƒ.sub.1.sup.(r), and obtaining a function value for each element ƒ.sub.C.sub.
(228)
where ƒ.sub.1.sup.(r) is mutual information, where 1≤m2≤n1, 1≤m3≤n1, and r1, r2, 2r and 2r−1 are all integers larger than or equal to 0 and smaller than or equal to C.sub.re−1 (the nodes i.sub.1 and i.sub.2 participating in the iterative calculation are dependent on the structure of the Polar encoder);
(229) (Let ƒ.sub.1.sup.(r)=0.5 and C.sub.re=8. ƒ.sub.1.sup.(r) is substituted into the iteration equation to obtain ƒ.sub.2.sup.(r), which is then substituted into the iteration equation to obtain ƒ.sub.4.sup.(r), and so on, until ƒ.sub.8.sup.(r) is calculated, where f(r)=ƒ.sub.8.sup.(r), 0≤i≤C.sub.re−1, {f(0), . . . , f(7)}={0.008, 0.152, 0.221, 0.682, 0.313, 0.779, 0.850, 0.991}).
(230) It is to be noted that the above π.sub.2(j) can be obtained according to at least one of:
(231) π.sub.2(j)=BRO(j), where BRO( ) denotes a bit reverse ordering operation which includes: converting a decimal number j into a third binary number (B.sub.n2−1, B.sub.n2−2, . . . , B.sub.0), reversing the third binary number to obtain a fourth binary number (B.sub.0, B.sub.1, . . . , B.sub.n2−1) and converting the fourth binary number into a decimal number π.sub.2(j), where n2=log.sub.2(R.sub.re) and 0≤j≤R.sub.re−1;
(232) π.sub.2(j)={S4, S5, S6}, where S4={0, 1, . . . , j1−1}, S5={j2, j3, j2+1, j3+1, . . . , j4, j5}, and S6 is a set of elements in {0, 1, . . . , R.sub.re−1} other than those included in S4 and S5, where R.sub.re/8≤j1≤j2≤R.sub.re/3, j2≤j4≤j3≤2 R.sub.re/3, j3≤j5≤R.sub.re−1, j1, j2, j3, j4 and j5 are all non- negative integers, and an intersection of any two of S4, S5 and S6 is null; or
(233) π.sub.2(j)={J}, where {J} is a sequence obtained by organizing numerical results of applying a function f(s) to row indices s of M.sub.or in ascending or descending order, where 0≤s≤R.sub.re−1.
(234) It is to be noted that f(s) includes at least one of:
(235)
(B.sub.n2−1, B.sub.n2−2, . . . , B.sub.0) is a binary representation of the index s, where 0≤m4≤n2−1, n2=log.sub.2(R.sub.re), and k is a non-negative integer;
(236) initializing a function value corresponding to s as ƒ.sub.1.sup.(s), and obtaining a function value for each element ƒ.sub.R.sub.
(237)
where ƒ.sub.1.sup.(s) is a mean log likelihood ratio; or
(238) initializing a function value corresponding to s as ƒ.sub.1.sup.(s), and obtaining a function value for each element ƒ.sub.R.sub.
(239)
where ƒ.sub.1.sup.(s) is mutual information, where 1≤m5≤n2, 1≤m6≤n2, s1, s2, 2s and 2s−1 are all integers larger than or equal to 0 and smaller than or equal to R.sub.re−1.
(240) It is to be noted that, for explanations for the above π.sub.2(j), reference can be made to π.sub.1(i).
(241) It is to be noted that the above first bit sequence matrix can be, but not limited to, a two dimensional, three dimensional or multi-dimensional matrix. In an example where the above first bit sequence matrix is a two dimensional matrix, the above second predetermined transform can be embodied such that a row transform pattern or a column transform pattern for the first bit sequence matrix is the same.
(242) It is to be noted that the first bit sequence matrix is M.sub.og. The second bit sequence matrix is M.sub.vb, which is a matrix of R.sub.vb rows and C.sub.vb columns. M.sub.og is:
(243)
where x.sub.0, x.sub.1, x.sub.2, . . . , x.sub.R.sub.
(244) It is to be noted that when R.sub.vb is constant, C.sub.vb is a minimum value satisfying R.sub.vb×C.sub.vb≥N; or when C.sub.vb is constant, R.sub.vb is a minimum value satisfying R.sub.vb×C.sub.vb≥N.
(245) It is to be noted that the above processor 42 can further be configured to obtain the second bit sequence matrix according to at least one of: the g-th column of M.sub.vb being obtained from the π.sub.3(g)-th column of M.sub.og by means of column permutation, where 0≤g≤C.sub.vb−1, 0≤π.sub.3(g)≤C.sub.vb−1, R.sub.vb×C.sub.vb≥N, and g and π.sub.3(g) are both non-negative integers; or the h-th row of M.sub.vb being obtained from the π.sub.4(h)-th row of M.sub.og by means of row permutation, where 0≤h≤R.sub.vb−1, 0≤π.sub.4(h)≤R.sub.vb−1, R.sub.vb×C.sub.vb≥N, and h and π.sub.4(h) are both non-negative integers.
(246) It is to be noted that π.sub.3(g) can be obtained according to at least one of:
(247) π.sub.3(g)=BRO(g), where BRO( ) denotes a bit reverse ordering operation which includes: converting a decimal number g into a fifth binary number (B.sub.n3−1, B.sub.n3−2, . . . , B.sub.0), reversing the fifth binary number to obtain a sixth binary number (B.sub.0, B.sub.11, . . . , B.sub.n3−1) and converting the sixth binary number into a decimal number π.sub.3(g), where n3=log.sub.2(C.sub.vb) and 0≤g≤C.sub.vb−1;
(248) π.sub.3(g)={S1, S2, S3}, where S1={0, 1, . . . , g1−1}, S2={g2, g3, g2+1, g3+1, . . . , g4, g5}, and S3 is a set of elements in {0, 1, . . . , C.sub.vb−1} other than those included in S1 and S2, where C.sub.vb/8≤g1≤g2≤C.sub.vb/3, g2≤g4≤g3≤2C.sub.vb/3, g3≤g5≤C.sub.vb−1, g1, g2, g3, g4 and g5 are all non-negative integers, and an intersection of any two of S1, S2 and S3 is null;
(249) π.sub.3(g)={G}, where {G} is a sequence obtained by organizing numerical results of applying a function f(α) to column indices α of M.sub.og in ascending or descending order, where 0≤α≤C.sub.vb−1;
(250) π.sub.3(g)={Q1, Q2, Q3}, where Q2={q1, q2, q1+1, q2+1, . . . , q3, q4}, 0≤q1≤q3≤(C.sub.vb−1)/2, 0≤q2≤q4≤(C.sub.vb−1)/2, q1, q2, q3, q4 and q5 are all non-negative integers, Q1 and Q3 are other elements in a difference set between {0, 1, . . . , C.sub.vb−1} and Q2, and an intersection of any two of Q1, Q2 and Q3 is null;
(251) π.sub.3(g) being different from a predefined sequence V1 in nV1 positions, where V1={0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 16, 13, 17, 14, 18, 15, 19, 20, 24, 21, 22, 25, 26, 28, 23, 27, 29, 30, 31}, 0≤nV1≤23; or
(252) π.sub.3(g) being different from a predefined sequence V2 in nV2 positions, where V2={0, 1, 2, 4, 3, 5, 6, 7, 8, 16, 9, 17, 10, 18, 11, 19, 12, 20, 13, 21, 14, 22, 15, 23, 24, 25, 26, 28, 27, 29, 30, 31}, 0≤nV2≤3.
(253) It is to be noted that f(α) includes at least one of:
(254)
(B.sub.n3−1, B.sub.n3−2, . . . , B.sub.0) is a binary representation of the index α, where 0≤m6≤n3−1, n3=log.sub.2(C.sub.vb), and k is a non-negative integer;
(255) initializing a function value corresponding to α as ƒ.sub.1.sup.(α), and obtaining a function value for each element ƒ.sub.C.sub.
(256)
where ƒ.sub.1.sup.(α) is a mean log likelihood ratio; or
(257) initializing a function value corresponding to s as ƒ.sub.1.sup.(α), and obtaining a function value for each element ƒ.sub.C.sub.
(258)
where ƒ.sub.1.sup.(α) is mutual information, where 1≤m7≤n3, 1≤m8≤n3, and α1, α2, 2α and 2α−1 are all integers larger than or equal to 0 and smaller than or equal to C.sub.vb−1.
(259) It is to be noted that π.sub.4(h) can be obtained according to at least one of:
(260) π.sub.4(h)=BRO(h), where BRO( ) denotes a bit reverse ordering operation which includes: converting a decimal number h into a seventh binary number (B.sub.n4−1, B.sub.n4−2, . . . , B.sub.0), reversing the seventh binary number to obtain an eighth binary number (B.sub.0, B.sub.1, . . . , B.sub.n4−1) and converting the eighth binary number into a decimal number π.sub.4(h), where n4=log.sub.2(R.sub.vb) and 0≤h≤R.sub.vb−1;
(261) π.sub.4(h)={S4, S5, S6}, where S4={0, 1, . . . , h1−1}, S5={h2, h3, h2+1, h3+1, . . . , h4, h5}, and S6 is a set of elements in {0, 1, . . . , R.sub.vb−1} other than those included in S4 and S5, where R.sub.vb/8≤h1≤h2≤R.sub.vb/3, h2≤h4≤h3≤2R.sub.vb/3, h3≤h5≤R.sub.vb−1, h1, h2, h3, h4 and h5 are all non-negative integers, and an intersection of any two of S4, S5 and S6 is null;
(262) π.sub.4(h)={H}, where {H} is a sequence obtained by organizing numerical results of applying a function f(β) to row indices β of M.sub.og in ascending or descending order, where 0≤β≤R.sub.vb−1;
(263) π.sub.4(h)={O1, O2, O3}, where O2={o1, o2, o1+1, o2+1, . . . , o3, o4}, 0≤o1≤o3≤(R.sub.vb−1)/2, 0≤o2≤o4≤(R.sub.vb−1)/2, o1, o2, o3, o4 and o5 are all non-negative integers, O1 and O3 are other elements in a difference set between {0, 1, . . . , R.sub.vb−1} and O2, and an intersection of any two of O1, O2 and O3 is null;
(264) π.sub.4(h) being different from a predefined sequence VV1 in nVV1 positions, where VV1={0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 16, 13, 17, 14, 18, 15, 19, 20, 24, 21, 22, 25, 26, 28, 23, 27, 29, 30, 31}, 0≤nVV1≤23; or
(265) π.sub.4(h) being different from a predefined sequence VV2 in nVV2 positions, where VV2={0, 1, 2, 4, 3, 5, 6, 7, 8, 16, 9, 17, 10, 18, 11, 19, 12, 20, 13, 21, 14, 22, 15, 23, 24, 25, 26, 28, 27, 29, 30, 31}, 0≤nVV2≤3.
(266) It is to be noted that f(β) includes at least one of:
(267)
(B.sub.n4−1, B.sub.n4−2, . . . , B.sub.0) is a binary representation of the index β, where 0≤m9≤n4−1, n4=log.sub.2(R.sub.vb), and k is a non-negative integer;
(268) initializing a function value corresponding to β as ƒ.sub.1.sup.(β), and obtaining a function value for each element ƒ.sub.R.sub.
(269)
where ƒ.sub.1.sup.(β) is a mean log likelihood ratio; or
(270) initializing a function value corresponding to β as ƒ.sub.1.sup.(β), and obtaining a function value for each element ƒ.sub.R.sub.
(271)
where ƒ.sub.1.sup.(β) is mutual information, where 1≤m10≤n4, 1≤m11≤n4, and β1, β2, 2β and 2β−1 are all integers larger than or equal to 0 and smaller than or equal to R.sub.vb−1.
(272) It is to be noted that, for explanations for π.sub.3(g) and π.sub.4(h), reference can be made to π.sub.1(i) and descriptions thereof will be omitted here.
(273) In an embodiment of the present disclosure, the above first transform module can further be configured to select a predetermined number of indices based on M.sub.re row by row, column by column or diagonal by diagonal, as M_index.
(274) It is to be noted that the operation of selecting the predetermined number of indices from M.sub.re column by column includes: selecting K.sub.p indices from the p-th column of M.sub.re, where Σ.sub.p=1.sup.C.sup.
(275) It is to be noted that the operation of selecting the predetermined number of indices from M.sub.re column by column includes at least one of: selecting K.sub.ic1 indices from the 1.sup.st, 2.sup.nd, . . . , C.sub.1-th columns of M.sub.re, where Σ.sub.ic1=1.sup.C.sup.
(276) It is to be noted that the operation of selecting the predetermined number of indices from M.sub.re row by row includes at least one of: selecting K.sub.ir1 indices from the 1.sup.st, 2.sup.nd, . . . , R.sub.1-th rows of M.sub.re, where Σ.sub.ir1=1.sup.R.sup.
(277) It is to be noted that the operation of selecting the predetermined number of indices from M.sub.re diagonal by diagonal includes at least one of: selecting K.sub.id1 indices from the (−min(R.sub.re, C.sub.re)+1)-th, (−min(R.sub.re, C.sub.re)+2)-th, . . . , D.sub.1-th diagonals of M.sub.re, where Σ.sub.id1=−min(R.sub.
(278) It is to be noted that, when the predetermined number of indices are selected from M.sub.re row by row, column by column or diagonal by diagonal, each index corresponding to a non-transmitted bit sequence in a second bit sequence matrix is skipped. The second bit sequence matrix is obtained from a first bit sequence matrix by using a second predetermined transform. The first bit sequence matrix is formed from the Polar encoded bit sequence. The second predetermined transform includes row permutation or column permutation.
(279) It is to be noted that the above processor 42 can further be configured to select T bits based on the second bit sequence matrix row by row, column by column or diagonal by diagonal, as the bit sequence to be transmitted.
(280) It is to be noted that the above processor 42 can further be configured to select T bits based on the second bit sequence matrix row by row, column by column or diagonal by diagonal, from a starting position t in the second bit sequence matrix. When the selection reaches the first or last bit in the second bit sequence matrix, it continues with the last or first bit in the second bit sequence matrix, where 1≤t≤R.sub.vb×C.sub.vb.
(281) It is to be noted that the above processor 42 can further be configured to select the 1.sup.st to T-th bits or the (N−T+1)-th to N-th bits from the second bit sequence matrix column by column, when T is smaller than or equal to a length N of the Polar encoded bit sequence; select the 1.sup.st to T-th bits or the (N−T+1)-th to N-th bits from the second bit sequence matrix row by row, when T is smaller than or equal to the length N of the Polar encoded bit sequence; select the 1.sup.st to T-th bits or the (N−T+1)-th to N-th bits from the second bit sequence matrix diagonal by diagonal, when T is smaller than or equal to the length N of the Polar encoded bit sequence; select, when T is larger than the length N of the Polar encoded bit sequence, T bits row by row, column by column or diagonal by diagonal, from the t-th bit in the second bit sequence matrix. When the selection reaches the first or last bit in the second bit sequence matrix, it continues with the last or first bit in the second bit sequence matrix, where 1≤t≤R.sub.vb×C.sub.vb and N is a non-negative integer.
(282) It is to be noted that the operation of selecting T bits from the second bit sequence matrix column by column includes at least one of: selecting T.sub.ie1 bits from the 1.sup.st, 2.sup.nd, . . . , E.sub.1-th columns, where Σ.sub.ie1=1.sup.E.sup.
(283) It is to be noted that the operation of selecting T bits from the second bit sequence matrix row by row includes at least one of: selecting T.sub.if1 bits from the 1.sup.st, 2.sup.nd, . . . , F.sub.1-th rows, where Σ.sub.if1=1.sup.F.sup.
(284) It is to be noted that the operation of selecting T bits from the second bit sequence matrix diagonal by diagonal includes at least one of: selecting T.sub.ig1 bits from the (−min(R.sub.vb, C.sub.vb)+1)-th, (−min(R.sub.vb, C.sub.vb)+2)-th, . . . , G.sub.1-th diagonals, where Σ.sub.ig1=−min(R.sub.
(285) It is to be noted that the above device can be, but not limited to a terminal or a network device such as a base station.
Embodiment 4
(286) According to an embodiment of the present disclosure, a storage medium is also provided. The storage medium stores a program which, when executed, performs any of the above described methods.
(287) According to an embodiment of the present disclosure, the above storage medium can be configured to store program codes for performing the steps of the method described above in connection with Embodiment 1.
(288) According to an embodiment of the present disclosure, the above storage medium may include, but not limited to, a USB disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a mobile hard disk, a magnetic disk, an optical disc, or other mediums capable of storing program codes.
(289) According to an embodiment of the present disclosure, a processor is provided. The processor is configured to execute a program for performing the steps of any of the above described methods.
(290) According to an embodiment of the present disclosure, the above program is configured to perform the steps of the method described above in connection with Embodiment 1.
(291) For detailed examples of this embodiment, reference can be made to those examples described in connection with the above and optional embodiments and description thereof will be omitted here.
(292) In the following, the present disclosure will be further explained with reference to the examples, such that the present disclosure can be better understood.
Example 1
(293) The following numerical values are provided for the purpose of illustration. For other situations, reference can be made to the following operation steps.
(294) It is assumed that the number of columns in each of the index matrix M.sub.or, the index matrix M.sub.re, the bit sequence matrix Mo and the bit sequence matrix M.sub.og is fixed to be 32. The length of the first bit sequence is K=40 and the length of the bit sequence to be transmitted is T=100. Polar encoding having a mother code length of 128 is applied. In particular, the encoding process is as follows.
(295) (1) The number R.sub.re of rows of the index matrix M.sub.re needs to be selected as a minimum value satisfying R.sub.re×C.sub.re≥N. According to the above assumptions, C.sub.re=32 and N=128, then R.sub.re=4. It is assumed that the indices in the index matrix M.sub.og are arranged row by row:
(296)
(297) (2) If the index matrix M.sub.re is obtained from the index matrix M.sub.or by means of column permutation, e.g., by mapping the π1(i)-th column of the index matrix M.sub.or to the i-th column of the index matrix M.sub.re by means of column permutation. The indices in π1(i) are arranged in ascending order of numerical results obtained based on a function. If the function is expressed as
(298)
and k=4, then {f(0), . . . , f(31)}={0, 1,1.19, 2.19, 1.41, 2.41, 2.60, 3.60, 1.68, 2.68, 2.87, 3.87, 3.10, 4.10, 4.29, 5.29, 2.00, 3.00, 3.19, 4.19, 3.41, 4.41, 4.60, 5.60, 3.68, 4.68, 4.87, 0.87, 5.10, 6.10, 6.29, 7.29}. f(0), . . . , f(31) are arranged in ascending order to obtain a column permutation pattern π.sub.1(i)={0, 1, 2, 4, 8, 16, 3, 5, 6, 9, 10, 17, 12, 18, 20, 7, 24, 11, 13, 19, 14, 21, 22, 25, 26, 28, 15, 23, 27, 29, 30, 31}. Accordingly, the column having an index of 0 in the index matrix M.sub.or is the column having an index of 0 in the index matrix M.sub.re, the column having an index of 1 in the index matrix M.sub.or is the column having an index of 1 in the index matrix M.sub.re, the column having an index of 2 in the index matrix M.sub.or is the column having an index of 2 in the index matrix M.sub.re, the column having an index of 4 in the index matrix M.sub.or is the column having an index of 3 in the index matrix M.sub.re, the column having an index of 8 in the index matrix M.sub.or is the column having an index of 4 in the index matrix M.sub.re, and so on.
(299) (3) The bit sequence matrix M.sub.vb is obtained from the bit sequence matrix M.sub.og by means of column permutation, e.g., by mapping the π.sub.2(i)-th column of the bit sequence matrix M.sub.og to the i-th column of the bit sequence matrix M.sub.vb by means of column permutation. Here, π.sub.2(i)=BRO(i), and the column permutation pattern is π.sub.2(i)={0, 16, 8, 24, 4, 20, 12, 28, 2, 18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23,15,31}. Accordingly, the column having an index of 0 in the bit sequence matrix M.sub.og is the column having an index of 0 in the bit sequence matrix M.sub.vb, the column having an index of 16 in the bit sequence matrix M.sub.og is the column having an index of 1 in the bit sequence matrix M.sub.vb, the column having an index of 8 in the bit sequence matrix M.sub.og is the column having an index of 2 in the bit sequence matrix M.sub.vb, and so on.
(300) (4) The first T=100 bits are selected from the bit sequence matrix M.sub.vb column by column to form a bit sequence to be transmitted, which is {y.sub.0, y.sub.32, y.sub.64, y.sub.96, y.sub.16, y.sub.48, y.sub.80, y.sub.112, . . . , y.sub.23, y.sub.55, y.sub.87, y.sub.119}.
(301) (5) K=40 indices in total are selected from the index matrix M.sub.re row by row to form the index sequence M_index. It is to be noted that, during the selection of the indices, each index corresponding to a non-transmitted bit sequence is skipped. That is, the selection is made from the indices corresponding to the bit sequence to be transmitted as outputted from an encoder in the step (4).
(302) (6) After an input bit sequence having a length of K is mapped to encoder positions indicated by the index sequence M_index, Polar encoding can be applied to obtain an encoded bit sequence having a length of N=128. The bits determined in the step (4) are organized into a bit sequence to be transmitted, for transmission from a transmitter.
Example 2
(303) It is assumed that the number of columns in each of the index matrix M.sub.or, the index matrix M.sub.re, the bit sequence matrix M.sub.vb and the bit sequence matrix M.sub.og is fixed to be 32. The length of the input bit sequence is K=40 and the length of the bit sequence to be transmitted is T=100. Polar encoding having a mother code length of 128 is applied. In particular, the encoding process is different from Example 1 in that, in the step (4), the last T=100 bits are selected from the bit sequence matrix M.sub.vb column by column to form the bit sequence to be transmitted, which is {y.sub.8, y.sub.24, y.sub.40, y.sub.56, y.sub.72, y.sub.88, y.sub.104, y.sub.120, . . . , y.sub.15, y.sub.31, y.sub.47, y.sub.63, y.sub.79, y.sub.95, y.sub.111, y.sub.127}.
Example 3
(304) It is assumed that the number of columns in each of the index matrix M.sub.or, the index matrix M.sub.re, the bit sequence matrix M.sub.vb and the bit sequence matrix M.sub.og is fixed to be 32. The length of the input bit sequence is K=40 and the length of the bit sequence to be transmitted is T=150. Polar encoding having a mother code length of 128 is applied. In particular, the encoding process is different from Example 1 in that, in the step (4), T=130 bits are selected from the bit sequence matrix M.sub.vb row by row, starting from the first element in the bit sequence matrix M.sub.vb. When the selection reaches the last bit y.sub.127 in the buffer or in the bit sequence matrix M.sub.vb, it continues with the first bit y.sub.0 of the bit sequence matrix M.sub.vb. The resulting bit sequent to be transmitted is {y.sub.0, y.sub.1, y.sub.2, . . . , y.sub.127, y.sub.0, y.sub.1, y.sub.2}.
Example 4
(305) It is assumed that the number of columns in each of the index matrix M.sub.or, the index matrix M.sub.re, the bit sequence matrix M.sub.vb and the bit sequence matrix M.sub.og is fixed to be 32. The length of the input bit sequence is K=40 and the length of the bit sequence to be transmitted is T=150. Polar encoding having a mother code length of 128 is applied. In particular, the encoding process is different from Example 3 in that, in the step (4), T=130 bits are selected from the bit sequence matrix M.sub.vb row by row, starting from the last element in the bit sequence matrix M.sub.vb. When the selection reaches the first bit y.sub.0 in the buffer or in the bit sequence matrix M.sub.vb, it continues with the last bit y.sub.127 of the bit sequence matrix M.sub.vb. The resulting bit sequent to be transmitted is {y.sub.0, y.sub.1, y.sub.2, . . . , y.sub.127, y.sub.127, y.sub.126, y.sub.125}.
Example 5
(306) It is assumed that the number of columns in each of the index matrix M.sub.or, the index matrix M.sub.re, the bit sequence matrix M.sub.vb and the bit sequence matrix M.sub.og is fixed to be 32. The length of the input bit sequence is K=40 and the length of the bit sequence to be transmitted is T=100. Polar encoding having a mother code length of 128 is applied. In particular, the encoding process is different from Example 1 in that, the input bit sequence having the length of K=40 is mapped to the encoder positions using Gaussian approximation, density evolution, PW sequence, FRANK sequence, or other schemes. Details of the operations will be omitted here.
Example 6
(307) It is assumed that the number of columns in each of the index matrix M.sub.or, the index matrix M.sub.re, the bit sequence matrix M.sub.vb and the bit sequence matrix M.sub.og is fixed to be 32. The length of the input bit sequence is K=40 and the length of the bit sequence to be transmitted is T=100. Polar encoding having a mother code length of 128 is applied. In particular, the encoding process is different from Example 2 in that, the input bit sequence having the length of K=40 is mapped to the encoder positions using Gaussian approximation, density evolution, PW sequence, FRANK sequence, or other schemes. Details of the operations will be omitted here.
Example 7
(308) It is assumed that the number of columns in each of the index matrix M.sub.or, the index matrix M.sub.re, the bit sequence matrix M.sub.vb and the bit sequence matrix M.sub.og is fixed to be 32. The length of the input bit sequence is K=40 and the length of the bit sequence to be transmitted is T=130. Polar encoding having a mother code length of 128 is applied. In particular, the encoding process is different from Example 3 in that, the input bit sequence having the length of K=40 is mapped to the encoder positions using Gaussian approximation, density evolution, PW sequence, FRANK sequence, or other schemes. Details of the operations will be omitted here.
Example 8
(309) It is assumed that the number of columns in each of the index matrix M.sub.or, the index matrix M.sub.re, the bit sequence matrix M.sub.vb and the bit sequence matrix M.sub.og is fixed to be 32. The length of the input bit sequence is K=40 and the length of the bit sequence to be transmitted is T=130. Polar encoding having a mother code length of 128 is applied. In particular, the encoding process is different from Example 4 in that, the input bit sequence having the length of K=40 is mapped to the encoder positions using Gaussian approximation, density evolution, PW sequence, FRANK sequence, or other schemes. Details of the operations will be omitted here.
Example 9
(310) It is assumed that the number of columns in each of the index matrix M.sub.or, the index matrix M.sub.re, the bit sequence matrix M.sub.vb and the bit sequence matrix M.sub.og is fixed to be 32. The length of the input bit sequence is K=40 and the length of the bit sequence to be transmitted is T=100. Polar encoding having a mother code length of 128 is applied. In particular, the encoding process is different from Example 1 in that a different rate matching scheme is used. Details of the operations will be omitted here.
Example 10
(311) It is assumed that the number of columns in each of the index matrix M.sub.or, the index matrix M.sub.re, the bit sequence matrix M.sub.vb and the bit sequence matrix M.sub.og is fixed to be 32. The length of the input bit sequence is K=40 and the length of the bit sequence to be transmitted is T=100. Polar encoding having a mother code length of 128 is applied. In particular, the encoding process is different from Example 2 in that a different rate matching scheme is used. Details of the operations will be omitted here.
Example 11
(312) It is assumed that the number of columns in each of the index matrix M.sub.or, the index matrix M.sub.re, the bit sequence matrix M.sub.vb and the bit sequence matrix M.sub.og is fixed to be 32. The length of the input bit sequence is K=40 and the length of the bit sequence to be transmitted is T=130. Polar encoding having a mother code length of 128 is applied. In particular, the encoding process is different from Example 3 in that a different rate matching scheme is used. Details of the operations will be omitted here.
Example 12
(313) It is assumed that the number of columns in each of the index matrix M.sub.or, the index matrix M.sub.re, the bit sequence matrix M.sub.vb and the bit sequence matrix M.sub.og is fixed to be 32. The length of the input bit sequence is K=40 and the length of the bit sequence to be transmitted is T=130. Polar encoding having a mother code length of 128 is applied. In particular, the encoding process is different from Example 4 in that a different rate matching scheme is used. Details of the operations will be omitted here.
(314) It can be appreciated by those skilled in the art that the above-described modules or steps of the present disclosure can be implemented by a general purpose computing device, and can be centralized at one single computing device or distributed over a network of multiple computing devices. Optionally, they can be implemented by means of computer executable program codes, which can be stored in a storage device and executed by one or more computing devices. In some cases, the steps shown or described herein may be performed in an order different from the one described above. Alternatively, they can be implemented separately in individual integrated circuit modules, or one or more of the modules or steps can be implemented in one single integrated circuit module. Thus, the present disclosure is not limited to any particular hardware, software, and combination thereof.
(315) The foregoing is merely illustrative of the examples of the present disclosure and is not intended to limit the present disclosure. Various changes and modifications may be made by those skilled in the art. Any modifications, equivalent alternatives or improvements that are made without departing from the spirits and principles of the present disclosure are to be encompassed by the scope of the present disclosure.
INDUSTRIAL APPLICABILITY
(316) With the present disclosure, a first bit sequence having a length of K bits is mapped to a specified position based on M_index to obtain a second bit sequence. Polar encoding is applied to the second bit sequence to obtain a Polar encoded bit sequence. T bits are selected based on the Polar encoded bit sequence as a bit sequence to be transmitted. That is, the present disclosure provides a method for determining a bit sequence to be transmitted, capable of solving the problem in the related art associated with lack of a sequence determination scheme in the 5G New RAT.