# Patent

## Title
Multi-element code modulation mapping method, device and computer storage medium

## Abstract

Disclosed is a multi-element code modulation mapping method and device, relating to communications and designed to improve communication reliability. The method includes that: multi-element domain coding is performed on a first sequence including K multi-element codes to obtain a second sequence including N multi-element codes; K1 and K2 are calculated according to a multi-element domain element number q and a modulation order M, wherein K1*log2 q=K2*log2 M, both K1 and K2 are integers not smaller than 2, and both q and M are power of 2; the second sequence is divided into z groups of multi-element codes with each group including K1 multi-element codes, wherein C=formula (I), and formula (II) represents rounding up; each group of multi-element codes is mapped to a constellation diagram to form K2 Mth-order modulation symbols; and z groups of Mth-order modulation symbols are sequentially cascaded to form a modulation symbol to be sent. The present disclosure further discloses a computer storage medium.

## Background
TECHNICAL FIELD
The present disclosure relates to a modulation technology in the field of communications, and in particular to a multi-element code modulation mapping method and device and a computer storage medium.
BACKGROUND
In signal modulation and demodulation, a relationship between signals is usually represented directly by means of a constellation diagram. For example, a code element containing communication information is mapped to a constellation point in the constellation diagram in the modulation process, and a received signal is judged in the constellation diagram to acquire the communication information or the like in the demodulation process.
A constellation diagram has the following characteristics:
(1). Bits of different constellation points on the constellation diagram for modulation mapping have different reliability. For example, if bit x of constellation point A is the same as all or most of bits x of constellation points around constellation point A, bit x of constellation point A in decoding has a low error probability, i.e. high reliability; otherwise, reliability is low.
(2). When each of the constellation points includes more bits, different bits also correspond to different reliability. For example, a constellation point in a 64 Quadrature Amplitude Modulation (QAM) constellation diagram includes 6 bits, and reliability of the 6 bits may sequentially be “high, high, medium, medium, low and low.”
Therefore, if modulation symbols formed during multi-element code mapping are all mapped to low-reliability positions of constellation points, a poor anti-interference capability may be incurred due to low reliability. In addition, smaller errors in a transmission process may result in decoding errors. Meanwhile, there will be the problem of high error rate, which further results in low communication performance.
In addition, it is common to combine a multi-element error correcting code and high-order modulation in a conventional communication system to increase a data transmission rate and improve a sudden error resisting capability in a fading channel. However, modulation symbols formed by code element mapping may be unlikely to be recovered during decoding on a receiving side if there is deep attenuation for modulation symbols, namely when signals are seriously attenuated, in the transmission process, which may cause a high information transmission error rate and performance loss.
From the above, it is a problem urgent to be solved in a conventional art to provide a modulation mapping method capable of solving low reliability caused by deep attenuation and the characteristic of reliability unbalance of constellation points.
SUMMARY
In view of this, the embodiments of the present disclosure are intended to provide a multi-element code modulation mapping method and device and a computer storage medium, so as to solve the problem of low reliability caused by the characteristic of reliability unbalance of constellation points in a constellation diagram and deep attenuation.
To this end, the technical solutions of the embodiments of the present disclosure are implemented as follows.
In a first aspect, the embodiments of the present disclosure provide a modulation mapping method, which includes that:
multi-element domain coding is performed on a first sequence including K multi-element codes to obtain a second sequence including N multi-element codes;
K1 and K2 are calculated according to a multi-element domain element number q and a modulation order M, wherein K1*log2 q=K2*log2 M, K1 and K2 may both be integers not smaller than 2, and q and M may both be power of 2;
the second sequence is divided into z groups of multi-element codes with each group including K1 multi-element codes, wherein z=┌N/K1┐, and ┌ ┐ may represent rounding up;
each group of multi-element codes is mapped to a constellation diagram to form K2 Mth-order modulation symbols, wherein each group of multi-element codes may be mapped to at least two Mth-order modulation symbols; and
z groups of Mth-order modulation symbols are sequentially cascaded to form a modulation symbol to be sent.
Preferably,
log2 M=m and log2 q=p; a least common multiple of m and p may be Y; n may be a positive integer;
if m=n*p, K1=2*m/p;
if p=n*m, K1=2; and
if m is unequal to n*p and p is unequal to n*m, K1=Y/p.
Preferably, the step that the second sequence is divided into the z groups of multi-element codes with each group including K1 multi-element codes may include that:
┌N/K1┐*K1−N zero code words are added to the second sequence to form a third sequence including N1 multi-element codes, wherein N1=┌N/K1┐*K1; and
the third sequence is grouped to obtain the z groups of multi-element codes with each group including K1 multi-element codes.
Preferably, the step that the third sequence is grouped to obtain the z groups of multi-element codes with each group including K1 multi-element codes may be implemented as follows:
the third sequence is sequentially grouped backwards from a starting position of the third sequence according to formula Ci,j=Bi·K1+j by taking continuous K1 multi-element codes as a group,
wherein Ci,j may be a jth multi-element code in an ith group; Bi·K1+j may be an (i·K1+j)th multi-element code in the third sequence;
i may be 0 or a positive integer smaller than z; and
j may be 0 or a positive integer smaller than K1.
Preferably, the step that each group of multi-element codes is mapped to the constellation diagram may be implemented as follows:
each group of multi-element codes is mapped to the constellation diagram by adopting a direct total mapping, In-phase/Quadrature (I/Q) path mapping or interleaving mapping method.
Preferably, the step that each group of multi-element codes is mapped to the constellation diagram by adopting the direct total mapping method may include that:
when K1=log2 M, a kth bit in a binary bit sequence corresponding to each multi-element code in the ith group of multi-element codes Ci,0, Ci,1, . . . , Ci,K1−1 is extracted to form a kth Mth-order complex modulation symbol Si,k for mapping according to formula (Si,km−1, . . . , Si,k0)=(ci,0k, ci,1k, . . . , ci,K1−1k), and Si,k is mapped to the constellation diagram,
wherein (Si,km−1, . . . , Si,k0) may be a binary bit sequence corresponding to the modulation symbol Si,k; m=log2 M;
the binary bit sequence corresponding to the jth multi-element code Ci,j in the ith group may be ci,j0, ci,j1, . . . , ci,jp−1; p=log2 q; ci,jk may represent the kth bit of the binary bit sequence corresponding to the jth multi-element code in the ith group;
i may be 0 or a positive integer smaller than z;
j may be 0 or a positive integer smaller than K1; and
k may be 0 or a positive integer smaller than K2.
Preferably, the step that each group of multi-element codes is mapped to the constellation diagram by adopting the I/Q path mapping method may include that:
when K1=(log2 M)/2, the kth bit in the binary bit sequence corresponding to each multi-element code in the ith group of multi-element codes Ci,0, Ci,1, . . . , Ci,K1−1 is extracted to form a real part or imaginary part of the Mth-order modulation symbol Si,k according to formula (Si,kI,m/2−1, . . . , Si,kI,0)=(ci,0k, ci,1k, . . . , ci,K1−1k) and formula (Si,kQ,m/2−1, . . . , Si,kQ,0)=(ci,0k+p/2, ci,1k+p/2, . . . ci,K1−1k+p/2),
wherein (Si,kI,m/2−1, . . . , Si,kI,0) may be the real part Si,kI of Si,k; (Si,kQ,m/2−1, . . . , Si,kQ,0) may be the real part Si,kQ of Si,k; m=log2 M; p=log2 q;
the binary bit sequence corresponding to the jth multi-element code Ci,j in the ith group may be ci,j0, ci,j1, . . . , ci,jp−1; p=log2 q; ci,jk may represent the kth bit of the binary bit sequence corresponding to the jth multi-element code in the ith group;
i may be 0 or a positive integer smaller than z;
j may be 0 or a positive integer smaller than K1; and
k may be 0 or a positive integer smaller than K2.
Preferably, the step that each group of multi-element codes is mapped to the constellation diagram by adopting the I/Q path mapping method may include that:
when K1=2 and p=log2 q=n*(log2 M)/2, continuous m/2 bits in the binary bit sequence corresponding to each multi-element code in the ith group of multi-element codes Ci,0, Ci,1, . . . , Ci,K1−1 are extracted to form the real part or imaginary part of the Mth-order modulation symbol Si,k according to formula (Si,kI,m/2−1, . . . , Si,kI,0)=(ci,0mk/2, ci,0mk/2+1, . . . , ci,0m(k+1)/2−1) and formula (Si,kQ,m/2−1, . . . Si,kQ,0)=(ci,1mk/2, ci,1mk/2+1, . . . ci,1m(k+1)/2−1),
wherein (Si,kI,m/2−1, . . . , Si,kI,0) may be the real part of Si,k; (Si,kQ,m/2−1, . . . , Si,kQ,0) may be the imaginary part Si,kQ of Si,k; m=log2 M;
the binary bit sequence corresponding to the jth multi-element code Ci,j in the ith group may be ci,j0, ci,j1, . . . , ci,jp−1; p=log2 q; ci,jk may represent the kth bit of the binary bit sequence corresponding to the jth multi-element code in the ith group;
i may be 0 or a positive integer smaller than z;
j may be 0 or a positive integer smaller than K1; and
k may be 0 or a positive integer smaller than K2.
Preferably, the step that each group of multi-element codes is mapped to the constellation diagram by adopting the interleaving mapping method may include that:
when K1=log2 M, a binary bit sequence ei,0, ei,1, . . . , ei,pK1−1 obtained after cyclic interleaving of a binary bit sequence di,0, di,1, . . . , di,pK1−1 corresponding to the ith group of multi-element codes Ci,0, Ci,1, . . . , Ci,K1−1 is obtained according to formulae r=((t mod p)*(m+1)+└t/m┘)mod m+(t mod p)*m and di,t=ei,r; and
a binary bit sequence (Si,km/2−1, . . . , Si,k0) corresponding to the Mth-order modulation symbol Si,k is acquired according to formula (Si,km−1, . . . , Si,k0)=(ei,km, ei,km+1, . . . , ei,(k+1)m−1), and Si,k is sequentially mapped to the constellation diagram,
wherein m=log2 M; p=log2 q;
the binary bit sequence corresponding to the jth multi-element code Ci,j in the ith group may be ci,j0, ci,j1, . . . , ci,jp−1;
di,t may be a tth bit of the binary bit sequence di,0, di,1, . . . , di,pK1−1 corresponding to the ith group of multi-element codes Ci,0, Ci,1, . . . , Ci,K1−1, and t may be an index number, and may be valued to be 0 or a positive integer smaller than pK1;
ei,r may be a rth bit of the binary bit sequence ei,0, ei,1, . . . , ei,pK1−1 output after cyclic interleaving of the binary bit sequence of the ith group, and r may be an index number, and may be valued to be 0 or a positive integer smaller than pK1; and
k may be 0 or a positive integer smaller than K2.
In a second aspect, the embodiments of the present disclosure provide a modulation mapping device, which includes:
a multi-element domain coding unit, configured to perform multi-element domain coding on a first sequence including K multi-element codes to obtain a second sequence including N multi-element codes;
a calculation unit, configured to calculate K1 and K2 according to a multi-element domain element number q and a modulation order M, wherein K1*log2 q=K2*log2 M, K1 and K2 may both be integers not smaller than 2, and q and M may both be power of 2;
a grouping unit, configured to divide the second sequence into z groups of multi-element codes with each group including K1 multi-element codes, wherein z=┌N/K1┐, and ┌ ┐ may represent rounding up;
a mapping unit, configured to map each group of multi-element codes to a constellation diagram to form K2 Mth-order modulation symbols, wherein each group of multi-element codes may be mapped to at least two Mth-order modulation symbols; and
a cascading unit, configured to sequentially cascade z groups of Mth-order modulation symbols to form a modulation symbol to be sent.
Preferably,
log2 M=m and log2 q=p; a least common multiple of m and p may be Y; n may be a positive integer;
if m=n*p, K1=2*m/p;
if p=n*m, K1=2; and
if m is unequal to n*p and p is unequal to n*m, K1=Y/p.
Preferably, the grouping unit may include:
an addition module, configured to add ┌N/K1┐*K1−N zero code words to the second sequence to form a third sequence including N1 multi-element codes, wherein N1=┌N/K1┐*K1; and
a group forming module, configured to group the third sequence to obtain the z groups of multi-element codes with each group including K1 multi-element codes.
Preferably, the group forming module may be configured to
sequentially group the third sequence backwards from a starting position of the third sequence according to formula Ci,j=Bi·K1+j by taking continuous K1 multi-element codes as a group;
Ci,j may be a jth multi-element code in an ith group; and Bi·K1+j may be an (i·K1+j)th multi-element code in the third sequence,
wherein i may be 0 or a positive integer smaller than z; and
j may be 0 or a positive integer smaller than K1.
Preferably, the mapping unit may be configured to map each group of multi-element codes to the constellation diagram by adopting a direct total mapping, I/Q path mapping or interleaving mapping method.
Preferably, the mapping unit may include:
a first mapping module, configured to, when K1=log2 M, extract a kth bit in binary bit sequence corresponding to each multi-element code in the ith group of multi-element codes Ci,0, Ci,1, . . . , Ci,K1−1 to form a kth Mth-order complex modulation symbol Si,k for mapping according to formula (Si,km−1, . . . , Si,k0)=(ci,0k, ci,1k, . . . , ci,K1 −1k), and map Si,k to the constellation diagram,
wherein (Si,km−1, . . . , Si,k0) may be a binary bit sequence corresponding to Si,k; m=log2 M;
the binary bit sequence corresponding to the jth multi-element code Ci,j in the ith group may be ci,j0, ci,j1, . . . , ci,jp−1; p=log2 q; ci,jk may represent the kth bit of the binary bit sequence corresponding to the jth multi-element code in the ith group;
i may be 0 or a positive integer smaller than z;
j may be 0 or a positive integer smaller than K1; and
k may be 0 or a positive integer smaller than K2.
Preferably, the mapping unit may include:
a second mapping module, configured to, when K1=(log2 M)/2, extract the kth bit in the binary bit sequence corresponding to each multi-element code in the ith group of multi-element codes Ci,0, Ci,1, . . . , Ci,K1−1 to form a real part or imaginary part of the Mth-order modulation symbol Si,k according to formula (Si,kI,m/2−1, . . . , Si,kI,0)=(ci,0k, ci,1k, . . . , ci,K1−1k) and formula (Si,kQ,m/2−1, . . . , Si,kQ,0)=(ci,0k+p/2, ci,1k+p/2, . . . ci,K1−1k+p/2), wherein (Si,kI,m/2−1, . . . , Si,kI,0) may be the real part Si,k of Si,k; (Si,kQ,m/2−1, . . . , Si,kQ,0) may be the real part Si,kQ of Si,k; m=log2 M; p=log2 q;
the binary bit sequence corresponding to the jth multi-element code Ci,j in the ith group may be ci,j0, ci,j1, . . . , ci,jp−1; p=log2 q; ci,jk may represent the kth bit of the binary bit sequence corresponding to the jth multi-element code in the ith group;
i may be 0 or a positive integer smaller than z;
j may be 0 or a positive integer smaller than K1; and
k may be 0 or a positive integer smaller than K2.
Preferably, the mapping unit may include:
a third mapping module, configured to, when K1=2 and p=log2 q=n*(log2 M)/2, extract continuous m/2 bits in the binary bit sequence corresponding to each multi-element code in the ith group of multi-element codes Ci,0, Ci,1, . . . , Ci,K1−1 to form the real part or imaginary part of the Mth-order modulation symbol Si,k according to formula (Si,kI,m/2−1, . . . , Si,kI,0)=(ci,0mk/2, ci,0mk/2+1, . . . , ci,0m(k+1)/2−1) and formula (Si,kQ,m/2−1, . . . Si,kQ,0)=(ci,1mk/2, ci,1mk/2+1, . . . ci,1m(k+1)/2−1),
wherein (Si,kI,m/2−1, . . . , Si,kI,0) may be the real part of Si,k; (Si,kQ,m/2−1, . . . , Si,kQ,0) may be the imaginary part Si,kQ of Si,k; m=log2 M;
the binary bit sequence corresponding to the jth multi-element code Ci,j in the ith group may be ci,j0, ci,j1, . . . , ci,jp−1; p=log2 q; ci,jk may represent the kth bit of the binary bit sequence corresponding to the jth multi-element code in the ith group;
i may be 0 or a positive integer smaller than z;
j may be 0 or a positive integer smaller than K1; and
k may be 0 or a positive integer smaller than K2.
Preferably, the mapping unit may include:
an interleaving module, configured to, when K1=log2 M, obtain a binary bit sequence ei,0, ei,1, . . . , ei,pK1−1 obtained after cyclic interleaving of a binary bit sequence di,0, di,1, . . . , di,pK1−1 corresponding to the ith group of multi-element codes Ci,0, Ci,1, . . . , Ci,K1−1 according to formulae r=((t mod p)*(m+1)+└t/m┘)mod m+(t mod p)*m and di,t=ei,r; and
a fourth mapping module, configured to acquire a binary bit sequence (Si,km/2−1, . . . , Si,k0) corresponding to the Mth-order modulation symbol Si,k according to formula (Si,km−1, . . . , Si,k0)=(ei,km, ei,km+1, . . . , ei,(k+1)m−1), and sequentially map Si,k to the constellation diagram,
wherein m=log2 M; p=log2 q;
the binary bit sequence corresponding to the jth multi-element code Ci,j in the ith group may be ci,j0, ci,j1, . . . , ci,jp−1;
di,t may be a tth bit of the binary bit sequence di,0, di,1, . . . , di,pK1−1 corresponding to the ith group of multi-element codes Ci,0, Ci,1, . . . , Ci,K1−1, and t may be an index number, and may be valued to be 0 or a positive integer smaller than pK1;
ei,r may be a rth bit of the binary bit sequence ei,0, ei,1, . . . , ei,pK1−1 output after cyclic interleaving of the binary bit sequence of the ith group, and r may be an index number, and may be valued to be 0 or a positive integer smaller than pK1; and
k may be 0 or a positive integer smaller than K2.
In a third aspect, the embodiments of the present disclosure further provide a computer storage medium having computer-executable instructions configured to execute at least one of the methods according to the first aspect of the embodiments of the present disclosure.
According to the multi-element code modulation mapping method and device and computer storage medium in the embodiments of the present disclosure, the same multi-element code is mapped to at least two Mth-order modulation symbols. Each of the modulation symbols passes through different paths of a multipath fading channel to obtain a diversity gain of the fading channel of the multi-element code in a transmission process. The same multi-element code is further mapped to bits, with different reliability, of different constellation points in a constellation diagram, so as to obtain a diversity gain of the constellation diagram, thereby improving transmission reliability and facilitating improvement in communication quality.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a flowchart showing a multi-element code modulation mapping method according to embodiment 1 of the present disclosure;
FIG. 2 is schematic diagram 1 showing a multi-element code modulation mapping method according to example 1;
FIG. 3 is schematic diagram 2 showing a multi-element code modulation mapping method according to example 1;
FIG. 4 is schematic diagram 1 showing a multi-element code modulation mapping method according to example 2;
FIG. 5 is schematic diagram 2 showing a multi-element code modulation mapping method according to example 2;
FIG. 6 is schematic diagram 1 showing a multi-element code modulation mapping method according to example 3;
FIG. 7 is schematic diagram 2 showing a multi-element code modulation mapping method according to example 3;
FIG. 8 is schematic diagram 1 showing a multi-element code modulation mapping method according to example 4;
FIG. 9 is schematic diagram 2 showing a multi-element code modulation mapping method according to example 4; and
FIG. 10 is a structural diagram illustrating a multi-element code modulation mapping device according to embodiment 2 of the present disclosure.



DETAILED DESCRIPTION
Preferable embodiments of the present disclosure will be described below with reference to the drawings in detail, and it should be understood that the preferable embodiments described below are only intended to describe and explain the present disclosure and not intended to limit the present disclosure.
Embodiment 1
As shown in FIG. 1, the embodiment provides a multi-element code modulation mapping method, which includes the following steps.
Step 110: multi-element domain coding is performed on a first sequence including K multi-element codes to obtain a second sequence including N multi-element codes, wherein N=K/u, K is an integer not smaller than 1, and u is a code rate, and is valued to be a positive number not more than 1;
Step 120: K1 and K2 are calculated according to a multi-element domain element number q and a modulation order M, wherein K1*log2 q=K2*log2 M, both K1 and K2 are integers not smaller than 2, both q and M are power of 2, and the multi-element domain element number is the total number of multi-element codes in a multi-element domain;
Step 130: the second sequence is divided into z groups of multi-element codes with each group including K1 multi-element codes, wherein z=┌N/K1┐, and ┌ ┐ represents rounding up;
Step 140: each group of multi-element codes is mapped to a constellation diagram to form K2 Mth-order modulation symbols, wherein each group of multi-element codes is mapped to at least two Mth-order modulation symbols; and
Step 150: z groups of Mth-order modulation symbols are sequentially cascaded to form a modulation symbol to be sent.
In Step 110, a specific value of K may be any positive integer such as 2, 3, 4 and 5; and one multi-element code corresponds to an element in the first sequence. For example, if the first sequence includes 3 multi-element codes, and 1⁄2 multi-element domain coding is performed, a second sequence including 6 multi-element codes is formed.
In Step 120, K1 is a first sub-group parameter, and K2 is a second sub-group parameter. The power may be recorded as 2o, wherein o is 0 or a positive integer. A ratio of K1 and K2 is at least determined according to formula K1*log2 q=K2*log 2 M. There are many methods for determining specific values of K1 and K2. For example, during specific implementation, one of K1 and K2 may be directly assigned, and the other is naturally determined. In the embodiment, a specific implementation mode is further provided, specifically as follows:
log2 M=m and log2 q=p; a least common multiple of m and p is Y; n is a positive integer;
if m=n*p, K1=2*m/p;
if p=n*m, K1=2; and
if m is unequal to n*p and p is unequal to n*m, K1=Y/p.
According to the definitions about m and p, K1*log2 q=K2*log2 M may further be represented as formula K2=K1*p/m.
During division of group in Step 130, each group includes K1 multi-element codes from the second sequence. When being equal to 3.12, N/K1 is rounded up to obtain a value 4 of c. In a specific implementation process, when N/K1 is not an integer, the number of multi-element codes in the last group may be not equal to the number of multi-element codes in a group which is not the last group. In this case, there are many methods to make the number of multi-element codes in each group of multi-element codes be same. For example, zero code elements may be added, specifically as follows:
the step that the second sequence is divided into the z groups of multi-element codes with each group including K1 multi-element codes includes that:
┌N/K1┐*K1−N zero code words are added to the second sequence to form a third sequence including N1 multi-element codes, wherein N1=┌N/K1┐*K1; and
the third sequence is divided into the z groups of multi-element codes with each group including K1 multi-element codes.
wherein the step that the third sequence is divided into the z groups of multi-element codes with each group including K1 multi-element codes is implemented as follows:
continuous K1 multi-element codes from a starting position of the third sequence are taken as a group and so on; and the first multi-element code is taken as the starting position for sequential grouping, and each next group of multi-element codes follows the last multi-element code of the previous group of multi-element codes to the end.
Continuous K1 multi-element codes from a starting position of the third sequence are taken as a group according to formula Ci,j=Bi·K1+j and so on,
wherein Ci,j is a jth multi-element code in an ith group; and Bi·K1+j is an (i·K1+j)th multi-element code in the third sequence,
wherein i is 0 or a positive integer smaller than z; and
j is 0 or a positive integer smaller than K1.
In a specific implementation process, the zero code elements may further be directly added to the last group to make the numbers of the multi-element codes in all groups equal.
There are many methods for mapping the multi-element codes to the constellation diagram in Step 140. For example, the multi-element codes are mapped to the constellation diagram by adopting a direct total mapping, I/Q path mapping or interleaving mapping method.
The step that each group of multi-element codes is mapped to the constellation diagram by adopting the direct total mapping method includes that:
when K1=log2 M, kth bit in binary bit sequence corresponding to each multi-element code in the ith group of multi-element codes Ci,0, Ci,1, . . . , Ci,K1−1 is extracted to form a kth Mth-order complex modulation symbol Si,k for mapping according tok formula (Si,km−1, . . . , Si,k0)=(ci,0k, ci,1k, . . . , ci,K1−1k), and Si,k is mapped to the constellation diagram,
wherein (Si,km−1, . . . , Si,k0) is a binary bit sequence corresponding to the Si,k; m=log2 M;
i is 0 or a positive integer smaller than z;
the binary bit sequence corresponding to the jth multi-element code Ci,j in the ith group is ci,j0, ci,j1, . . . , ci,jp−1; p=log2 q; ci ,j k represents the kth bit of the binary bit sequence corresponding to the jth multi-element code in the ith group;
i is 0 or a positive integer smaller than z;
j is 0 or a positive integer smaller than K1; and
k is 0 or a positive integer smaller than K2.
The step that each group of multi-element codes is mapped to the constellation diagram by adopting the direct total mapping method may specifically include the following steps:
first, each multi-element code in each group of multi-element codes is converted into a binary bit sequence or the binary bit sequence corresponding to each multi-element code in each group of multi-element codes is directly acquired according to a mapping table; and
when K1=log2 M, the kth bit in the binary bit sequence corresponding to each multi-element code in a group is sequentially extracted to form the kth Mth-order complex modulation symbol for mapping, and is mapped to the constellation diagram,
wherein k is a natural number not more than K2, and k may be a number equal to or smaller than K2, such as 0, 1 or 2.
When the I/Q path mapping method is adopted, there are two manners.
Manner 1: the step that each group of multi-element codes is mapped to the constellation diagram by adopting the I/Q path mapping method includes that:
when K1=(log2 M)/2, the kth bit in the binary bit sequence corresponding to each multi-element code in the ith group of multi-element codes Ci,0, Ci,1, . . . , Ci,K1−1 is extracted to form a real part or imaginary part of the Mth-order modulation symbol Si,k according to formula (Si,kI,m/2−1, . . . , Si,kI,0)=(ci,0k, ci,1k, . . . , ci,K1−1k) and formula (Si,kQ,m/2−1, . . . , Si,kQ,0)=(ci,0k+p/2, ci,1k+p/2, . . . ci,K1−1k+p/2), that is, the kth bits in the binary bit sequences corresponding to multi-element codes in a group are sequentially extracted to form the real part of the Mth-order modulation symbol, and (k+p/2)th bits in the binary bit sequences corresponding to multi-element codes in the group are sequentially extracted to form the imaginary part of the Mth-order modulation symbol,
wherein (Si,kI,m/2−1, . . . , Si,kI,0) is the real part Si,kI of Si,k; (Si,kQ,m/2−1, . . . , Si,kQ,0) is the imaginary part Si,kQ of Si,k; m=log2 M; p=log2 q;
the binary bit sequence corresponding to the jth multi-element code Ci,j in the ith group is ci,j0, ci,j1, . . . , ci,jp−1; p=log2 q; ci,jk represents the kth bit of the binary bit sequence corresponding to the jth multi-element code in the ith group;
i is 0 or a positive integer smaller than z;
j is 0 or a positive integer smaller than K1; and
k is 0 or a positive integer smaller than K2.
The step that each group of multi-element codes is mapped to the constellation diagram in the first I/Q path mapping manner may specifically include the following steps.
Firstly, each multi-element code in each group of multi-element codes is converted into a binary bit sequence or the binary bit sequence corresponding to each multi-element code in each group of multi-element codes is directly acquired according to the mapping table;
secondly, when K1=(log2 M)/2 is met, bits at the same positions of the binary bit sequences corresponding to respective multi-element codes are sequentially mapped to the real parts of the Mth-order modulation symbols, thereby implementing mapping of first half part of the binary bit sequence corresponding to each multi-element code; and
finally, bits at the same positions of latter half parts of the binary bit sequences corresponding to respective multi-element codes are sequentially mapped to the imaginary parts of the Mth-order modulation symbols, thereby implementing mapping of the latter half part of the binary bit sequence corresponding to each multi-element code. As such, the total mapping is completed.
In the first I/Q path mapping method, for each Mth-order modulation symbol, the bits at the same positions of the real part and the imaginary part are from the same multi-element code word. For example, when 16QAM is adopted, M=16, and then each symbol includes 4 bits, wherein each real part includes 2 bits, each imaginary part includes 2 bits, and the 0th bits of the real and imaginary parts are both from the 0th multi-element code.
Manner 2: the step that each group of multi-element codes is mapped to the constellation diagram by adopting the I/Q path mapping method includes that:
when K1=2 and p=log2 q=n*(log2 M)/2, continuous m/2 bits in the binary bit sequence corresponding to each multi-element code in the ith group of multi-element codes Ci,0, Ci,1, . . . , Ci,K1−1 are extracted to form the real part or imaginary part of the Mth-order modulation symbol Si,k according to formula (Si,kI,m/2−1, . . . , Si,kI,0)=(ci,0mk/2, ci,0mk/2+1, . . . , ci,0m(k+1)/2−1) and formula (Si,kQ,m/2−1, . . . Si,kQ,0)=(ci,1mk/2, ci,1mk/2+1, . . . ci,1m(k+1)/2−1), wherein (Si,kI,m/2−1, . . . , Si,kI,0) is the real part of Si,k; (Si,kQ,m/2−1, . . . , Si,kQ,0) is the imaginary part Si,kQ of Si,k; m=log2 M;
the binary bit sequence corresponding to the jth multi-element code Ci,j in the ith group is ci,j0, ci,j1, . . . , ci,jp−1; p=log2 q; ci,jk represents the kth bit of the binary bit sequence corresponding to the jth multi-element code in the ith group;
i is 0 or a positive integer smaller than z;
j is 0 or a positive integer smaller than K1; and
k is 0 or a positive integer smaller than K2.
The step that each group of multi-element codes is mapped to the constellation diagram in the second I/Q path mapping manner may specifically include the following steps.
Firstly, each multi-element code in each group of multi-element codes is converted into a binary bit sequence or the binary bit sequence corresponding to each multi-element code in each group of multi-element codes is directly acquired according to the mapping table;
secondly, when K1=2 and p=log2 q=n*(log2 M)/2 are met, the binary bit sequence corresponding to the 0th multi-element codes is sequentially divided into n groups with each group including (log2 M)/2 bits, and the bits of each group are sequentially mapped to the real parts of the K2 Mth-order modulation symbols to finish mapping the binary bit sequence corresponding to the 0th multi-element codes; and
thirdly, the binary bit sequence corresponding to the first multi-element codes is sequentially divided into n groups with each group including (log2 M)/2 bits, and the bits of each group are sequentially mapped to the imaginary parts of the K2 Mth-order modulation symbols to finish mapping the binary bit sequences corresponding to the first multi-element codes. As such, the complete mapping is finished.
In the second I/Q path mapping method, K1=2 is limited. That is, each group includes only two multi-element codes, each part of the 0th code word is mapped to the real parts of the K2 Mth-order modulation symbols, and each part of the first code word is mapped to the imaginary parts of the K2 Mth-order modulation symbols. For example, if 16QAM is adopted, M=16, and then each symbol includes 4 bits, wherein the real part includes 2 bits, the imaginary part includes 2 bits, the 2 bits of the real part are from the 0th multi-element code and the 2 bits of the imaginary part are from the first multi-element code.
The step that the multi-element codes are mapped to the constellation diagram by adopting the interleaving mapping method includes that:
when K1=log2 M, a binary bit sequence ei,0, ei,1, . . . , ei,pK1−1 obtained after cyclic interleaving of a binary bit sequence di,0, di,1, . . . , di,pK1−1 corresponding to the ith group of multi-element codes Ci,0, Ci,1, . . . , Ci,K1−1 is obtained according to formulae r=((t mod p)*(m+1)+└t/m┘)mod m+(t mod p)*m and di,t=ei,r; and
a binary bit sequence (Si,km/2−1, . . . , Si,k0) corresponding to the Mth-order modulation symbol Si,k is acquired according to formula (Si,km−1, . . . , Si,k0)=(ei,km, ei,km+1, . . . , ei,(k+1)m−1), and Si,k is sequentially mapped to the constellation diagram,
wherein m=log2 M; p=log2 q;
the binary bit sequence corresponding to the jth multi-element code Ci,j in the ith group is ci,j0, ci,j1, . . . , ci,jp−1; p=log2 q;
di,t is the tth bit of the binary bit sequence di,0, di,1, . . . , di,pK1−1 corresponding to the ith group of multi-element codes Ci,0, Ci,1, . . . , Ci,K1−1, and t is an index number, and is valued to be 0 or a positive integer smaller than pK1;
ei,r is the rth bit of the binary bit sequence ei,0, ei,1, . . . , ei,pK1−1 output after cyclic interleaving of the binary bit sequence of the ith group, and r is an index number, and is valued to be 0 or a positive integer smaller than pK1; and
k is 0 or a positive integer smaller than K2.
The step that the multi-element codes are mapped to the constellation diagram by adopting the interleaving mapping method may be implemented by the following steps.
Firstly, each multi-element code in each group of multi-element codes is converted into a binary bit sequence, wherein a binary bit is 0 or 1 and the binary bit sequence is a sequence consisting of 0 and 1;
secondly, cyclic shift interleaving is performed on the binary bit sequences of each group of multi-element codes to obtain a matrix of cyclically interleaved binary bit sequences according to q and M; and
thirdly, the cyclically interleaved binary bit sequences are sequentially mapped to the constellation diagram with each row or column as an Mth-order modulation symbol.
Herein, the step that cyclic shift interleaving is performed on the binary bit sequences of each group of multi-element codes to obtain the matrix of cyclically interleaved binary bit sequences according to q and M may be implemented by:
converting each multi-element code in each group of multi-element codes into a binary bit sequence. For example, if a multi-element code is 4, then a binary bit sequence corresponding to the multi-element code 4 is 100. Further, if p is 8 at this moment, binary bits 0 may be directly added before 100 to form a binary bit sequence 00000100 including 8 bits.
Binary bit sequences respectively corresponding to a group of multi-element codes are sequentially arranged into a binary bit sequence, and the binary bit sequence is input into a p*m matrix, wherein m=log2 M and p=log2 q; and cyclic shift is performed on each column in the matrix by different numbers of bits, and then a cyclically interleaved binary bit sequence is output by column.
The constellation diagram may be a constellation diagram corresponding to a modulation method such as Quadrature Phase Shift Keying (QPSK), Multiple Quadrature Amplitude Modulation (MQAM), Multiple Phase Shift Keying (MPSK) or Multiple Amplitude Phase Shift Keying (MAPSK), wherein the MAPSK is also called a star-like QAM.
According to the multi-element code modulation mapping method of the embodiment, a binary bit sequence corresponding to the same code element corresponds to multiple Mth-order modulation symbols, so that a diversity gain of a fading channel may be obtained. Moreover, the multiple Mth-order modulation symbols are mapped to bits, with different reliability, of different constellation points, so that instability of the constellation points in the constellation diagram is relieved.
The multi-element code modulation mapping method of the embodiment may be applied to any communication node, specifically such as a macro evolved Node B, a micro evolved Node B, a home evolved Node B, a relay station, a radio frequency connector, a terminal or a mobile communication device.
Some specific examples will be provided below based on the multi-element code modulation mapping method of the embodiment.
Example 1
The example is an application example of a direct total mapping-based multi-element code modulation mapping method. As shown in FIG. 2 and FIG. 3, a first sequence is A0,A1, . . . ,AK−1 including K multi-element codes, wherein AI represents one multi-element code; and I is a natural number smaller than K. The natural number includes zero and positive integers. GF(8) Low-Density Parity-Check (LDPC) coding is performed on the first sequence to obtain a second sequence B0,B1, . . . ,BN−1 including N multi-element codes, wherein a value of N is determined by K and a code rate of multi-element domain coding.
It is set that α is a primitive element on Galois Field GF(q) (q>2), α∞=0, and each power of α, α0=1. α, . . . , αq−2 form all domain elements on a GF(q) domain and these domain elements form a cyclic group. Each power of α may be converted into a (p=log2 q)th-order polynomial of α by primitive polynomial transformation, p coefficients of the polynomial of α are extracted and sequentially arranged to form a pth-dimensional vector, and the vector may be associated with a multi-element code including p binary code elements. Element 0 may be represented by a pth-dimensional all-zero binary code. In such a manner, a GF(4) domain multi-element code may be represented as a 2-bit vector, a GF(16) domain multi-element code may be represented as a 4-bit vector, a GF(64) domain multi-element code may be represented as a 6-bit vector, and so on, wherein each element corresponds to a multi-element code.
If it is necessary to perform 16QAM mapping on the multi-element code sequence, then q=8, and M=16. K1=3 and K2=4 are calculated according to formula (1) and formula (2), wherein formula (1) is:




  
    K
    1
  
  =
  
    {
    
      
        
          
            
              
                
                  
                    2
                    *
                    
                      m
                      /
                      p
                    
                  
                
                
                  
                    
                      
                        
                          
                            
                              condition
                              ⁢
                              
                                
                              
                              ⁢
                              1
                              ⁢
                              
                                :
                              
                              ⁢
                              
                                
                              
                              ⁢
                              if
                              ⁢
                              
                                
                              
                              ⁢
                              m
                            
                            =
                            
                              n
                              *
                              p
                            
                          
                          ,
                        
                      
                    
                    
                      
                        
                          
                            wherein
                            ⁢
                            
                              
                            
                            ⁢
                            n
                            ⁢
                            
                              
                            
                            ⁢
                            is
                            ⁢
                            
                              
                            
                            ⁢
                            a
                            ⁢
                            
                              
                            
                            ⁢
                            positive
                            ⁢
                            
                              
                            
                            ⁢
                            integer
                            ⁢
                            
                              
                            
                            ⁢
                            more
                            ⁢
                            
                              
                            
                            ⁢
                            than
                            ⁢
                            
                              
                            
                            ⁢
                            1
                          
                          ;
                        
                      
                    
                  
                
              
              
                
                  2
                
                
                  
                    
                      
                        
                          
                            
                              condition
                              ⁢
                              
                                
                              
                              ⁢
                              2
                              ⁢
                              
                                :
                              
                              ⁢
                              
                                
                              
                              ⁢
                              if
                              ⁢
                              
                                
                              
                              ⁢
                              p
                            
                            =
                            
                              n
                              *
                              m
                            
                          
                          ,
                        
                      
                    
                    
                      
                        
                          wherein
                          ⁢
                          
                            
                          
                          ⁢
                          n
                          ⁢
                          
                            
                          
                          ⁢
                          is
                          ⁢
                          
                            
                          
                          ⁢
                          a
                          ⁢
                          
                            
                          
                          ⁢
                          positive
                          ⁢
                          
                            
                          
                          ⁢
                          integer
                          ⁢
                          
                            
                          
                          ⁢
                          more
                          ⁢
                          
                            
                          
                          ⁢
                          than
                          ⁢
                          
                            
                          
                          ⁢
                          or
                        
                      
                    
                    
                      
                        
                          
                            equal
                            ⁢
                            
                              
                            
                            ⁢
                            to
                            ⁢
                            
                              
                            
                            ⁢
                            1
                          
                          ;
                        
                      
                    
                  
                
              
            
          
        
        
          
            
              
                
                  (
                  
                    least
                    ⁢
                    
                      
                    
                    ⁢
                    common
                    ⁢
                    
                      
                    
                    ⁢
                    multiple
                    ⁢
                    
                      
                    
                    ⁢
                    of
                    ⁢
                    
                      
                    
                    ⁢
                    m
                    ⁢
                    
                      
                    
                    ⁢
                    and
                    ⁢
                    
                      
                    
                    ⁢
                    p
                  
                  )
                
                /
                p
              
              ⁢
              
                
              
              ⁢
              if
              ⁢
              
                
              
              ⁢
              both
            
          
        
        
          
            
              condition
              ⁢
              
                
              
              ⁢
              1
              ⁢
              
                
              
              ⁢
              and
              ⁢
              
                
              
              ⁢
              2
              ⁢
              
                
              
              ⁢
              are
              ⁢
              
                
              
              ⁢
              not
              ⁢
              
                
              
              ⁢
              
                met
                .
              
            
          
        
      
      ;
    
  




and

formula (2) is: K2=K1*p/m.
┌N/K1┐*K1−N zero code words are added after the second sequence, and then the added sequence with a length of N1=┌N/K1┐*K1 is divided into totally z=┌N/K1┐ group of multi-element codes with each group including 4 multi-element codes.
A binary bit sequence (ci,j0ci,j1ci,j2) corresponding to a jth GF(8) domain multi-element code Ci,j in 4 coded GF(8) domain multi-element codes [Ci,0Ci,1Ci,2Ci,3] of the ith group is modulated to form totally K2=3 16QAM symbols Si,0Si,1Si,2, wherein the ith group is any group in the z group of multi-element codes; ci,j0 is a 0th bit of the binary bit sequence corresponding to the multi-element code Ci,j; ci,j1 is a first bit in the binary bit sequence corresponding to the multi-element code Ci,j; and ci,j2 is a second bit of the binary bit sequence corresponding to the multi-element code Ci,j.
When K1=log2 M, a direct total mapping method is adopted, kth bits in binary bit sequences corresponding to each multi-element code in an input group of K1 GF(q) domain multi-element codes are totally mapped to form a group of K1 bits for mapping to a constellation diagram to form a kth Mth-order complex modulation symbol.
A binary bit sequence (Si,km−1, . . . , Si,k0) corresponding to the kth modulation symbol Si,k is obtained according to the following formula:

(Si,km−1, . . . Si,k0)=(ci,kk, ci,1k, . . . , ci,K1−1k).

By the direct total mapping method, a group of 4 bits (ci,00ci,10ci,20ci,30) formed by 0th bit of the binary bit sequence corresponding to each multi-element code in the ith group is mapped to a 0th 16QAM symbol Si,0 of the ith group, i.e. a binary bit sequence (Si,03, Si,02, si,01, Si,00)=ci,00ci,10ci,20ci,30 corresponding to Si,0.
A group of 4 bits (ci,01ci,11ci,21ci,31) formed by first bit of the binary bit sequences corresponding to each multi-element code in the ith group is mapped to a first 16QAM symbol Si,1 of the ith group, i.e. a binary bit sequence (Si,13, Si,12, si,11, Si,10)=ci,01ci,11ci,21ci,31 corresponding to Si,1.
A group of 4 bits (ci,02ci,12ci,22ci,32) formed by second bits of the binary bit sequences corresponding to each multi-element code in the ith group are mapped to a second 16QAM symbol Si,2 of the ith group, i.e. a binary bit sequence (Si,23, Si,22, si,21, Si,20)=ci,02ci,12ci,22ci,32 corresponding to Si,2.
By the direct total mapping method, the bits are mapped to the 3 16QAM symbols (Si,0Si,1Si,2).
The modulation symbols corresponding to each group of multi-element codes are sequentially cascaded.
When being transmitted through a multipath Rayleigh fading channel, symbol Si,0 passes through path H0, symbol Si,1 passes through path H1 and symbol Si,2 passes through path H2. Signals received on a receiving side are H0*(ci,00ci,10ci,20ci,30)+n0, H1*(ci,01ci,11ci,21ci,31)+n1 and H2*(ci,02ci,12ci,22ci,32)+n2, respectively. Soft information of the first multi-element code obtained before decoding comes from H0*ci,00, H1*ci,01 and H2*ci,02, and soft information of each next multi-element code is all from the three paths H0, H1 and H2. If a part of bits corresponding to the multi-element codes is subject to deep attenuation in a certain path and has poorer performance, but other bits are gently attenuated and have higher performance in the other paths, overall performance of whole multi-element code transmission may be prevented from being greatly influenced according to associations between different bits during multi-element domain decoding at a receiver, and a capability of a multi-element code in resisting the fading channel is improved, so that the method of the example obtains a fading diversity gain by means of the characteristics of the multi-element codes.
In the example, a value of k is ranged from 0 to a positive integer smaller than K2; and a value of j is ranged from 0 to a positive integer smaller than p, wherein p=log2 q.
Example 2
The example is a specific application example based on a first I/Q path mapping method.
As shown in FIG. 4 and FIG. 5, firstly, GF(64) LDPC coding is performed on a first sequence A0,A1, . . . ,AK−1 including K multi-element codes to obtain a second sequence B0,B1, . . . ,BN−1 including N multi-element codes.
Secondly, if it is necessary to perform 16QAM mapping on the multi-element code sequence, then q=64 and M=16. K1=2 and K2=3 are calculated according to formula (1) and formula (2), wherein formula (1) is:




  
    K
    1
  
  =
  
    {
    
      
        
          
            
              
                
                  
                    2
                    *
                    
                      m
                      /
                      p
                    
                  
                
                
                  
                    
                      
                        
                          
                            
                              condition
                              ⁢
                              
                                
                              
                              ⁢
                              1
                              ⁢
                              
                                :
                              
                              ⁢
                              
                                
                              
                              ⁢
                              if
                              ⁢
                              
                                
                              
                              ⁢
                              m
                            
                            =
                            
                              n
                              *
                              p
                            
                          
                          ,
                        
                      
                    
                    
                      
                        
                          
                            wherein
                            ⁢
                            
                              
                            
                            ⁢
                            n
                            ⁢
                            
                              
                            
                            ⁢
                            is
                            ⁢
                            
                              
                            
                            ⁢
                            a
                            ⁢
                            
                              
                            
                            ⁢
                            positive
                            ⁢
                            
                              
                            
                            ⁢
                            integer
                            ⁢
                            
                              
                            
                            ⁢
                            more
                            ⁢
                            
                              
                            
                            ⁢
                            than
                            ⁢
                            
                              
                            
                            ⁢
                            1
                          
                          ;
                        
                      
                    
                  
                
              
              
                
                  2
                
                
                  
                    
                      
                        
                          
                            
                              condition
                              ⁢
                              
                                
                              
                              ⁢
                              2
                              ⁢
                              
                                :
                              
                              ⁢
                              
                                
                              
                              ⁢
                              if
                              ⁢
                              
                                
                              
                              ⁢
                              p
                            
                            =
                            
                              n
                              *
                              m
                            
                          
                          ,
                        
                      
                    
                    
                      
                        
                          wherein
                          ⁢
                          
                            
                          
                          ⁢
                          n
                          ⁢
                          
                            
                          
                          ⁢
                          is
                          ⁢
                          
                            
                          
                          ⁢
                          a
                          ⁢
                          
                            
                          
                          ⁢
                          positive
                          ⁢
                          
                            
                          
                          ⁢
                          integer
                          ⁢
                          
                            
                          
                          ⁢
                          more
                          ⁢
                          
                            
                          
                          ⁢
                          than
                          ⁢
                          
                            
                          
                          ⁢
                          or
                        
                      
                    
                    
                      
                        
                          
                            equal
                            ⁢
                            
                              
                            
                            ⁢
                            to
                            ⁢
                            
                              
                            
                            ⁢
                            1
                          
                          ;
                        
                      
                    
                  
                
              
            
          
        
        
          
            
              
                
                  (
                  
                    least
                    ⁢
                    
                      
                    
                    ⁢
                    common
                    ⁢
                    
                      
                    
                    ⁢
                    multiple
                    ⁢
                    
                      
                    
                    ⁢
                    of
                    ⁢
                    
                      
                    
                    ⁢
                    m
                    ⁢
                    
                      
                    
                    ⁢
                    and
                    ⁢
                    
                      
                    
                    ⁢
                    p
                  
                  )
                
                /
                p
              
              ⁢
              
                
              
              ⁢
              if
              ⁢
              
                
              
              ⁢
              both
            
          
        
        
          
            
              condition
              ⁢
              
                
              
              ⁢
              1
              ⁢
              
                
              
              ⁢
              and
              ⁢
              
                
              
              ⁢
              2
              ⁢
              
                
              
              ⁢
              are
              ⁢
              
                
              
              ⁢
              not
              ⁢
              
                
              
              ⁢
              
                met
                .
              
            
          
        
      
      ;
    
  




and

formula (2) is: K2=K1*p/m.
Thirdly: ┌N/K1┐*K1−N zero code words are added after the second sequence including the N multi-element codes, and then the added sequence with a length of N1=┌N/K1┐*K1 is divided into groups with each group including 2 multi-element codes.
Fourthly: a binary bit sequence (ci,j0ci,j1ci,j2ci,j3ci,j4ci,j5) corresponding to a jth GF(64) domain multi-element code Ci,j in 2 coded GF(64) domain multi-element codes [Ci,0Ci,1] of an ith group is modulated to form totally 3 16QAM symbols Si,0Si,1Si,2.
When K1=(log2 M)/2, if a modulation node adopts an I/Q path mapping method, a group of K1 bits formed by bits at the same positions in binary bit sequences corresponding to respective multi-element codes in an input group of K1 GF(q) domain multi-element codes is modulated into a real part (I path) or imaginary part (Q path) of a complex modulation symbol, and the K1 GF(q) domain multi-element codes are modulated into K2 Mth-order modulation symbols, wherein the Mth-order modulation symbols are complex modulation symbols. A kth complex modulation symbol Si,k corresponds to (si,kI,m/2−1, . . . , si,kI,0, si,kQ,m/2−1, . . . , si,kQ,0) and Si,k includes a real part Si,kI and an imaginary part Si,kQ, each part including m/2 bits, wherein m=log2 M, m is an even number, i is a group number index, k is a complex modulation symbol sequence number and a minimum value of k is 0.
For K1=(log2 M)/2, the kth complex modulation symbol Si,k is obtained according to the following formulae:
the real part (I path): (Si,kI,m/2−1, . . . , Si,kI,0)=(ci,0k, ci,1k, . . . , ci,K1−1k), and
the imaginary part (Q path): (Si,kQ,m/2−1, . . . Si,kQ,0)=(ci,0k+p/2, ci,1k+p/2, . . . ci,K1−1k+p/2).
By the I/Q path mapping method, a group of 2 bits (ci,00ci,10) formed by 0th bits of the binary bit sequences corresponding to respective multi-element codes in the ith group is mapped to a real part (I path) of a 0th 16QAM symbol Si,0 of the ith group, i.e. a binary bit sequence (Si,0I,1, Si,0I,0)=(ci,00ci,10) corresponding to the I path of Si,0.
A group of 2 bits (ci,01ci,11) formed by first bits of the binary bit sequences corresponding to respective multi-element codes in the ith group is mapped to a real part (I path) of a first 16QAM symbol Si,1 of the ith group, i.e. a binary bit sequence (Si,1I,1, Si,1I,0)=(ci,01ci,11) corresponding to the I path of Si,1.
A group of 2 bits (ci,02ci,12) formed by second bits of the binary bit sequences corresponding to respective multi-element codes in the ith group is mapped to a real part (I path) of a second 16QAM symbol Si,2 of the ith group, i.e. a binary bit sequence (Si,0I,1, Si,0I,0)=(ci,02ci,12) corresponding to the I path of Si,2.
A group of 2 bits (ci,03ci,13) formed by third bits of the binary bit sequences corresponding to respective multi-element codes in the ith group is mapped to an imaginary part (Q path) of the 0th 16QAM symbol Si,0 of the ith group, i.e. a binary bit sequence (Si,0Q,1, Si,0Q,0)=(ci,03ci,13) corresponding to the Q path of Si,0.
A group of 2 bits (ci,04ci,14) formed by fourth bits of the binary bit sequences corresponding to respective multi-element codes in the ith group is mapped to an imaginary part (Q path) of the first 16QAM symbol Si,1 of the ith group, i.e. a binary bit sequence (Si,1Q,1, Si,1Q,0)=(ci,04ci,14) corresponding to the Q path of Si,1.
A group of 2 bits (ci,05ci,15) formed by fifth bits of the binary bit sequences corresponding to respective multi-element codes in the ith group is mapped to an imaginary part (Q path) of the second 16QAM symbol Si,2 of the ith group, i.e. a binary bit sequence (Si,0Q,1, Si,0Q,0)=(ci,05ci,15) corresponding to the Q path of Si,2.
In such a manner, the 2 multi-element codes [Ci,0, Ci,1] of the ith group are mapped to the 3 16QAM symbols [Si,0Si,1Si,2] by the I/Q path mapping method; and the modulation symbols of each group are connected.
When being transmitted through a multipath Rayleigh fading channel, symbol Si,0 passes through path H0, symbol Si,1 passes through path H1, and symbol Si,2 passes through path H2. Signals received at a receiving side are H0*(ci,00ci,10ci,23ci,33)+n0, H1*(ci,01ci,11ci,24ci,34)+n1 and H2*(ci,02ci,12ci,25ci,35)+n2, respectively. Soft information of the first multi-element code obtained before decoding comes from H0*ci,00, H0*ci,03, H1*ci,01, H1*ci,04, H2*ci,02 and H2*ci,05, and soft information of each next multi-element code is all from the three paths H0, H1 and H2, so that decoding performance is achieved by means of a diversity effect of the fading channel, and a fading diversity gain is obtained.
In the example, a value of k is ranged from 0 to a positive integer smaller than K2; and a value of j is ranged from 0 to a positive integer smaller than p, wherein p=log2 q.
Example 3
The example is a specific application example based on interleaving mapping.
As shown in FIG. 6 and FIG. 7, GF(32) LDPC coding is performed on a first sequence A0,A1, . . . ,AK−1 including K multi-element codes to obtain a second sequence B0,B1, . . . ,BN−1 including N multi-element codes.
If it is necessary to perform 16QAM mapping on the multi-element code sequence, then q=32 and M=64. K1=6 and K2=5 are calculated according to formula (1) and formula (2), wherein formula (1) is:




  
    K
    1
  
  =
  
    {
    
      
        
          
            
              
                
                  
                    2
                    *
                    
                      m
                      /
                      p
                    
                  
                
                
                  
                    
                      
                        
                          
                            
                              condition
                              ⁢
                              
                                
                              
                              ⁢
                              1
                              ⁢
                              
                                :
                              
                              ⁢
                              
                                
                              
                              ⁢
                              if
                              ⁢
                              
                                
                              
                              ⁢
                              m
                            
                            =
                            
                              n
                              *
                              p
                            
                          
                          ,
                        
                      
                    
                    
                      
                        
                          
                            wherein
                            ⁢
                            
                              
                            
                            ⁢
                            n
                            ⁢
                            
                              
                            
                            ⁢
                            is
                            ⁢
                            
                              
                            
                            ⁢
                            a
                            ⁢
                            
                              
                            
                            ⁢
                            positive
                            ⁢
                            
                              
                            
                            ⁢
                            integer
                            ⁢
                            
                              
                            
                            ⁢
                            more
                            ⁢
                            
                              
                            
                            ⁢
                            than
                            ⁢
                            
                              
                            
                            ⁢
                            1
                          
                          ;
                        
                      
                    
                  
                
              
              
                
                  2
                
                
                  
                    
                      
                        
                          
                            
                              condition
                              ⁢
                              
                                
                              
                              ⁢
                              2
                              ⁢
                              
                                :
                              
                              ⁢
                              
                                
                              
                              ⁢
                              if
                              ⁢
                              
                                
                              
                              ⁢
                              p
                            
                            =
                            
                              n
                              *
                              m
                            
                          
                          ,
                        
                      
                    
                    
                      
                        
                          wherein
                          ⁢
                          
                            
                          
                          ⁢
                          n
                          ⁢
                          
                            
                          
                          ⁢
                          is
                          ⁢
                          
                            
                          
                          ⁢
                          a
                          ⁢
                          
                            
                          
                          ⁢
                          positive
                          ⁢
                          
                            
                          
                          ⁢
                          integer
                          ⁢
                          
                            
                          
                          ⁢
                          more
                          ⁢
                          
                            
                          
                          ⁢
                          than
                          ⁢
                          
                            
                          
                          ⁢
                          or
                        
                      
                    
                    
                      
                        
                          
                            equal
                            ⁢
                            
                              
                            
                            ⁢
                            to
                            ⁢
                            
                              
                            
                            ⁢
                            1
                          
                          ;
                        
                      
                    
                  
                
              
            
          
        
        
          
            
              
                
                  (
                  
                    least
                    ⁢
                    
                      
                    
                    ⁢
                    common
                    ⁢
                    
                      
                    
                    ⁢
                    multiple
                    ⁢
                    
                      
                    
                    ⁢
                    of
                    ⁢
                    
                      
                    
                    ⁢
                    m
                    ⁢
                    
                      
                    
                    ⁢
                    and
                    ⁢
                    
                      
                    
                    ⁢
                    p
                  
                  )
                
                /
                p
              
              ⁢
              
                
              
              ⁢
              if
              ⁢
              
                
              
              ⁢
              both
            
          
        
        
          
            
              condition
              ⁢
              
                
              
              ⁢
              1
              ⁢
              
                
              
              ⁢
              and
              ⁢
              
                
              
              ⁢
              2
              ⁢
              
                
              
              ⁢
              are
              ⁢
              
                
              
              ⁢
              not
              ⁢
              
                
              
              ⁢
              
                met
                .
              
            
          
        
      
      ;
    
  




and

formula (2) is: K2=K1*p/m.
┌N/K1┐*K1−N zero code words are added to the tail of the second sequence, and then the added multi-element code sequence with a length of N1=┌N/K1┐*K1 is divided into groups with each group including 6 multi-element codes.
Cyclic shift interleaving and mapping are sequentially performed when an interleaving mapping method is used, which includes the following steps:
Step a: for binary bit sequences corresponding to K1 GF(q) domain multi-element codes of each input group, cyclic shift interleaving is performed on the binary bit sequences according to q and a modulation order M, and the binary bit sequences are cyclically interleaved; and
Step b: the cyclically interleaved binary bit sequences are sequentially mapped to a constellation diagram, m bits of one group being modulated into a complex modulation symbol, m=log2 M and the cyclically interleaved binary bit sequences being modulated into totally K2 Mth-order complex modulation symbols.
A binary bit sequence corresponding to a GF(32) domain multi-element code sequence Ci,0Ci,1, . . . , Ci,5 of an ith input group is di,0, di,1, . . . , di,29.
Herein, a binary bit sequence corresponding to a jth GF(32) domain multi-element code Ci,j is di,jp, di,jp+1, . . . , di,(j+1)p−1, wherein p=log2 q; i is a group number index; and j is a sequence number of a multi-element code in the group, and a value of j is ranged from 0.
A binary bit sequence output after cyclic shift interleaving of the binary bit sequence is ei,0, ei,1, . . . , ei,29.
A 6*5 row and column interleaver is adopted to read the binary bit sequence di,0, di,1, . . . , di,29 by row, and cyclic shift is performed on each column by certain bits from the second column. For example, the second column is cyclically shifted down by 1 bit, the third column is cyclically shifted down by 2 bits, the fourth column is cyclically shifted down by 3 bits, and the fifth column is cyclically shifted down by 4 bits. The interleaved binary bit sequence ei,0, ei,1, . . . , ei,29 is output by column after cyclic downward shift.
The input binary bit sequence is di,0, di,1, . . . , di,29, the binary bit sequence output after interleaving is ei,0, ei,1, . . . , ei,29, and a formula is defined as follows:

di,t=ei,r,

wherein r=((t mod p)*(m+1)+└t/m┘)mod m+(t mod p)*m;
m=log2 M=6 and p=log2 q=5.
For example, for t=3, r=((t mod p)*(m+1)+└t/m┘)mod m+(t mod p)*m=21, that is, di,3=ei,21. For t=24, r=((t mod p)*(m+1)+└t/m┘)mod m+(t mod p)*m=26, that is, di,4=ei,26.
The bits are sequentially mapped to the constellation diagram, and the kth complex modulation symbol Si,k is obtained according to the following formula:

(Si,km−1, . . . , Si,k0)=(Ei,km,Ei,km−1, . . . ,Ei,(k+1)m−1).

A binary bit sequence corresponding to a 0th modulation symbol Si,0 of the ith group is (Si,05Si,04Si,03Si,02Si,01Si,00)=(ei,0ei,1ei,2ei,3ei,4ei,5)=(di,0di,5di,10di,15di,20di,25).
A binary bit sequence corresponding to a first modulation symbol Si,1 of the ith group is (Si,15Si,14Si,13Si,12Si,11Si,10)=(ei,6ei,7ei,8ei,9ei,10ei,11)=(di,26di,1di,6di,11di,16di,21).
A binary bit sequence corresponding to a second modulation symbol Si,2 of the ith group is (Si,25Si,24Si,23Si,22Si,21Si,20)=(ei,12ei,13ei,14ei,15ei,16ei,17)=(di,22di,27di,2di,7di,12di,17).
A binary bit sequence corresponding to a third modulation symbol Si,3 of the ith group is (Si,35Si,34Si,33Si,32Si,31Si,30)=(ei,18ei,19ei,20ei,21ei,22ei,23)=(di,18di,23di,28di,3di,8di,13).
A binary bit sequence corresponding to a fourth modulation symbol Si,4 of the ith group is (Si,45Si,44Si,43Si,42Si,41Si,40)=(ei,24ei,25ei,26ei,27ei,28ei,29)=(di,14di,19di,24di,29di,4di,9).
The 5 64QAM symbols [Si,0Si,1Si,2Si,3Si,4] are obtained, and then the modulation symbols of each group are connected. It can be seen that the 0th bit of multi-element code Ci,0 is located at a fourth position of a constellation point of the 0th modulation symbol, the first bit, i.e. di,6, of multi-element code Ci,0 is located at a third position of a constellation point of the first modulation symbol, the second bit, i.e. di,7, of multi-element code Ci,0 is located at a second position of a constellation point of the second modulation symbol, the third bit, i.e. di,8, of multi-element code Ci,0 is located at a first position of a constellation point of the third modulation symbol, and the fourth bit, i.e. di,9, of multi-element code Ci,0 is located at a 0th position of a constellation point of the fourth modulation symbol. The other multi-element codes may also be uniformly mapped to different constellation point positions by such design, so that bits of the same multi-element code may be distributed at bits, with different reliability, of different modulation symbols, and in addition, a constellation point diversity gain and a fading diversity gain are obtained.
Herein, t is an index number, and is valued to be 0 or a positive integer smaller than pK1; r is an index number, and is valued to be 0 or a positive integer smaller than pK1; a value of k is ranged from 0 to a positive integer smaller than K2; and a value of j is ranged from 0 to a positive integer smaller than p, wherein p=log2 q.
Example 4
The example is a specific application example based on second I/Q path interleaving mapping.
As shown in FIG. 8 and FIG. 9, GF(256) LDPC coding is performed on a first sequence A0,A1, . . . ,AK−1 including K multi-element codes to obtain a second sequence B0,B1, . . . ,BN−1 including N multi-element codes.
If it is necessary to perform 16QAM mapping on the multi-element code sequence, then q=256, M=16 and p is double of m. K1=2 and K2=4 are calculated according to formula (1) and formula (2), wherein formula (1) is:




  
    K
    1
  
  =
  
    {
    
      
        
          
            
              
                
                  
                    2
                    *
                    
                      m
                      /
                      p
                    
                  
                
                
                  
                    
                      
                        
                          
                            
                              condition
                              ⁢
                              
                                
                              
                              ⁢
                              1
                              ⁢
                              
                                :
                              
                              ⁢
                              
                                
                              
                              ⁢
                              if
                              ⁢
                              
                                
                              
                              ⁢
                              m
                            
                            =
                            
                              n
                              *
                              p
                            
                          
                          ,
                        
                      
                    
                    
                      
                        
                          
                            wherein
                            ⁢
                            
                              
                            
                            ⁢
                            n
                            ⁢
                            
                              
                            
                            ⁢
                            is
                            ⁢
                            
                              
                            
                            ⁢
                            a
                            ⁢
                            
                              
                            
                            ⁢
                            positive
                            ⁢
                            
                              
                            
                            ⁢
                            integer
                            ⁢
                            
                              
                            
                            ⁢
                            more
                            ⁢
                            
                              
                            
                            ⁢
                            than
                            ⁢
                            
                              
                            
                            ⁢
                            1
                          
                          ;
                        
                      
                    
                  
                
              
              
                
                  2
                
                
                  
                    
                      
                        
                          
                            
                              condition
                              ⁢
                              
                                
                              
                              ⁢
                              2
                              ⁢
                              
                                :
                              
                              ⁢
                              
                                
                              
                              ⁢
                              if
                              ⁢
                              
                                
                              
                              ⁢
                              p
                            
                            =
                            
                              n
                              *
                              m
                            
                          
                          ,
                        
                      
                    
                    
                      
                        
                          wherein
                          ⁢
                          
                            
                          
                          ⁢
                          n
                          ⁢
                          
                            
                          
                          ⁢
                          is
                          ⁢
                          
                            
                          
                          ⁢
                          a
                          ⁢
                          
                            
                          
                          ⁢
                          positive
                          ⁢
                          
                            
                          
                          ⁢
                          integer
                          ⁢
                          
                            
                          
                          ⁢
                          more
                          ⁢
                          
                            
                          
                          ⁢
                          than
                          ⁢
                          
                            
                          
                          ⁢
                          or
                        
                      
                    
                    
                      
                        
                          
                            equal
                            ⁢
                            
                              
                            
                            ⁢
                            to
                            ⁢
                            
                              
                            
                            ⁢
                            1
                          
                          ;
                        
                      
                    
                  
                
              
            
          
        
        
          
            
              
                
                  (
                  
                    least
                    ⁢
                    
                      
                    
                    ⁢
                    common
                    ⁢
                    
                      
                    
                    ⁢
                    multiple
                    ⁢
                    
                      
                    
                    ⁢
                    of
                    ⁢
                    
                      
                    
                    ⁢
                    m
                    ⁢
                    
                      
                    
                    ⁢
                    and
                    ⁢
                    
                      
                    
                    ⁢
                    p
                  
                  )
                
                /
                p
              
              ⁢
              
                
              
              ⁢
              if
              ⁢
              
                
              
              ⁢
              both
            
          
        
        
          
            
              condition
              ⁢
              
                
              
              ⁢
              1
              ⁢
              
                
              
              ⁢
              and
              ⁢
              
                
              
              ⁢
              2
              ⁢
              
                
              
              ⁢
              are
              ⁢
              
                
              
              ⁢
              not
              ⁢
              
                
              
              ⁢
              
                met
                .
              
            
          
        
      
      ;
    
  




and

formula (2) is: K2=K1*p/m.
┌N/K1┐*K1−N zero code words are added after the second sequence, and then the added multi-element code sequence with a length of N1=┌N/K1┐*K1 is divided into groups with each group including 4 multi-element codes.
A binary bit sequence (ci,j0ci,j1ci,j2ci,j3ci,j4ci,j5ci,j6ci,j7) corresponding to a jth GF(256) domain multi-element code Ci,j in 2 coded GF(256) domain multi-element codes [Ci,0Ci,1] of an ith group is modulated to form totally K2=4 16QAM symbols Si,0Si,1Si,2.
For K1=2, p=log2 q=n*(log2 M)/2, wherein n=4, and is a positive integer more than or equal to 2, K1 bits of each GF(q) domain multi-element code in a group of GF(q) domain multi-element codes input by I/Q mapping are sequentially modulated into a real part (i.e. I path) or imaginary part (i.e. Q path) of a complex modulation symbol, and the K1 GF(q) domain multi-element codes are modulated into K2 Mth-order modulation symbols, wherein the Mth-order modulation symbols are complex modulation symbols.
A kth complex modulation symbol Si,k corresponds to a binary bit sequence (Si,kI,m/2−1, . . . , Si,kI,0, Si,kQ,m/2−1, . . . , Si,kQ,0), and Si,k includes a real part Si,k and an imaginary part Si,kQ, each part including m/2 bits, wherein m=log2 M, m is an even number, i is a group number index, k is a complex modulation symbol sequence number and a value of k is ranged from 0.
The kth complex modulation symbol Si,k is obtained according to the following formulae:
the real part (I path): (di,kI,m/2−1, . . . , di,kI,0)=(ci,0mk/2, ci,0mk/2+1, . . . , ci,0m(k+1)/2−1), and
the imaginary part (Q path): (Si,kQ,m/2−1, . . . Si,kQ,0)=(ci,1mk/2, ci,1mk/2+1, . . . ci,1m(k+1)/2−1).
By the I/Q path mapping method, 2 bits (ci,00ci,00) of a 0th segment in a binary bit sequence (ci,00ci,01ci,02ci,03ci,04ci,05ci,06ci,07) corresponding to multi-element code Ci,0 in a multi-element code sequence of an ith group are mapped into a real part (I path) of a 0th 16QAM symbol Si,0 of the ith group, m=4, k=0, i.e. a binary bit sequence (Si,0I,1, Si,0I,0)=(ci,00ci,01) corresponding to the I path of Si,0.
2 bits (ci,02ci,03) of a first segment in the binary bit sequence (ci,00ci,01ci,02ci,03ci,04ci,05ci,06ci,07) corresponding to multi-element code Ci,0 in the multi-element code sequence of the ith group are mapped into a real part (I path) of a first 16QAM symbol Si,1 of the ith group, m=4, k=1, i.e. a binary bit sequence (Si,1I,1, Si,1I,0)=(ci,02ci,03) corresponding to the I path of Si,1.
2 bits (ci,04ci,05) of a second segment in the binary bit sequence (ci,00ci,01ci,02ci,03ci,04ci,05ci,06ci,07) corresponding to multi-element code Ci,0 in the multi-element code sequence of the ith group are mapped into a real part (I path) of a second 16QAM symbol Si,2 of the ith group, m=4, k=2, i.e. a binary bit sequence (Si,2I,1, Si,2I,0)=(ci,04ci,05) corresponding to the I path of Si,2.
2 bits (ci,06ci,07) of a third segment in the binary bit sequence (ci,00ci,01ci,02ci,03ci,04ci,05ci,06ci,07) corresponding to multi-element code Ci,0 in the multi-element code sequence of the ith group are mapped into a real part (I path) of a third 16QAM symbol Si,3 of the ith group, m=4, k=3, i.e. a binary bit sequence (Si,3I,1, Si,3I,0)=(ci,06ci,07) corresponding to the I path of Si,3.
2 bits (ci,10ci,11) of a 0th segment in a binary bit sequence (ci,10ci,11ci,12ci,13ci,14ci,15ci,16ci,17) corresponding to multi-element code Ci,1 in the multi-element code sequence of the ith group are mapped into an imaginary part (Q path) of the 0th 16QAM symbol Si,0 of the ith group, m=4, k=0, i.e. a binary bit sequence (Si,0Q,1, Si,0Q,0)=(ci,10ci,11) corresponding to the Q path of Si,0.
2 bits (ci,12ci,13) of a first segment in the binary bit sequence (ci,10ci,11ci,12ci,13ci,14ci,15ci,16ci,17) corresponding to multi-element code Ci,1 in the multi-element code sequence of the ith group are mapped into an imaginary part (Q path) of the first 16QAM symbol Si,1 of the ith group, m=4, k=1, i.e. a binary bit sequence (Si,1Q,1, Si,1Q,0)=(ci,12ci,13) corresponding to the Q path of Si,1.
2 bits (ci,14ci,15) of a second segment in the binary bit sequence (ci,10ci,11ci,12ci,13ci,14ci,15ci,16ci,17) corresponding to multi-element code Ci,1 in the multi-element code sequence of the ith group are mapped into an imaginary part (Q path) of the second 16QAM symbol Si,2 of the ith group, m=4, k=2, i.e. a binary bit sequence (Si,2Q,1, Si,2Q,0)=(ci,14ci,15) corresponding to the Q path of Si,2.
2 bits (ci,16ci,17) of a third segment in the binary bit sequence (ci,10ci,11ci,12ci,13ci,14ci,15ci,16ci,17) corresponding to multi-element code Ci,1 in the multi-element code sequence of the ith group are mapped into an imaginary part (Q path) of the third 16QAM symbol Si,3 of the ith group, m=4, k=3, i.e. a binary bit sequence (Si,3Q,1, Si,3Q,0)=(ci,16ci,17) corresponding to the Q path of Si,3.
In such a manner, the 2 multi-element codes [Ci,0, Ci,1] of the ith group are mapped to the 4 16QAM symbols [Si,0Si,1Si,2] by the I/Q path mapping method. A connection node connects the modulation symbols of each group to each other.
When being transmitted through a multipath Rayleigh fading channel, symbol Si,0 passes through path H0, symbol Si,1 passes through path H1, symbol Si,2 passes through path H2, and symbol Si,3 passes through path H3. Signals received at a receiving side are H0*(ci,00ci,01ci,10ci,11)+n0, H1*(ci,02ci,03ci,12ci,13)+n1, H2*(ci,04ci,05ci,14ci,15)+n2 and H3*(ci,06ci,07ci,16ci,17)+n3, respectively. Soft information of the first multi-element code obtained before decoding comes from H0*ci,00, H0*ci,01, H1*ci,02, H1*ci,03, H2*ci,04, H2*ci,05, H3*ci,06 and H3*ci,07, and soft information of each next multi-element code is all from the four paths H0, H1, H2 and H3, so that decoding performance is achieved by means of a diversity effect of the fading channel, and a fading diversity gain is obtained.
Embodiment 2
As shown in FIG. 10, the embodiment provides a multi-element code modulation mapping device, which includes:
a multi-element domain coding unit 110, configured to perform multi-element domain coding on a first sequence including K multi-element codes to obtain a second sequence including N multi-element codes, wherein N=K/u, and u is usually a positive number smaller than 1;
a calculation unit 120, configured to calculate K1 and K2 according to a multi-element domain element number q and a modulation order M, wherein K1*log2 q=K2*log2 M, K1 and K2 are both integers not smaller than 2, and q and M are both power of 2;
a grouping unit 130, configured to divide the second sequence into z groups of multi-element codes with each group including K1 multi-element codes, wherein z=┌N/K1┐, and ┌ ┐ represents rounding up;
a mapping unit 140, configured to map each group of multi-element codes to a constellation diagram to form K2 Mth-order modulation symbols, wherein each group of multi-element codes is mapped to at least two Mth-order modulation symbols; and
a cascading unit 150, configured to sequentially cascade z groups of Mth-order modulation symbols to form a modulation symbol to be sent.
The multi-element domain coding unit 110, the calculation unit 120, the grouping unit 130, the mapping unit 140 and the cascading unit 150 may collectively be called functional units. The functional units may independently or integrally correspond to a device including a processor, a storage medium, a bus and at least one communication interface. The storage medium includes a transient storage medium and a non-transient storage medium. The transient storage medium may be configured for caching and the non-transient storage medium may be configured to store data, programs or software required to be stored for long. Data stored on the non-transient storage medium may still be stored under the condition of sudden power failure. The bus connects the processor, the storage medium and the communication interfaces to implement data communication within the device. Programs or software are stored on the non-transient storage medium, and the processor may run the programs or the software to implement any technical solution of the multi-element code modulation mapping method described in embodiment 1. The processor may be a structure such as a central processing unit, a single-chip microcomputer, a digital signal processor or a programmable array. The processor may also be the sum of electronic components and parts with special processing functions, and the calculation unit may specifically be a calculator.
Preferably, if m=n*p, K1=2*m/p;
if p=n*m, K1=2; and
if m is unequal to n*p and p is unequal to n*m, K1=Y/p,
wherein m=log2 M and p=log2 q; Y is a least common multiple of m and p; and n is a positive integer.
The grouping unit 130 includes:
an addition module, configured to add ┌N/K1┐*K1−N zero code words to the second sequence to form a third sequence including N1 multi-element codes, wherein N1=┌N/K1┐*K1; and
a group forming module, configured to group the third sequence to obtain the z groups of multi-element codes with each group including K1 multi-element codes according to formula Ci,j=Bi·K1+j. The group forming module is specifically configured to sequentially group the third sequence backwards from a starting position of the third sequence by taking continuous K1 multi-element codes as a group, wherein Ci,j is a jth multi-element code in an ith group, and Bi·K1+j is an (i·K1+j)th multi-element code in the third sequence, and
wherein i is 0 or a positive integer smaller than z; and j is 0 or a positive integer smaller than K1.
The mapping unit is configured to map each group of multi-element codes to the constellation diagram by adopting a direct total mapping, I/Q path mapping or interleaving mapping method. With respect to different methods for implementing mapping, the mapping unit may use the different structures, and four structures are provided below.
Structure 1
The mapping unit includes:
a first mapping module, configured to, when K1=log2 M, extract kth bit in a binary bit sequence corresponding to each multi-element code in the ith group of multi-element codes Ci,0, Ci,1, . . . , Ci,K1−1 to form a kth Mth-order complex modulation symbol Si,k for mapping according to formula (Si,km−1, . . . , Si,k0)=(ci,0k, ci,1k, . . . , ci,K1−1k), and map Si,k to the constellation diagram,
wherein (Si,km−1, . . . , Si,k0) is a binary bit sequence corresponding to Si,k; m=log2 M;
the binary bit sequence corresponding to the jth multi-element code Ci,j in the ith group is ci,j0, ci,j1, . . . , ci,jp−1; p=log2 q; ci,jk represents the kth bit of the binary bit sequence corresponding to the jth multi-element code in the ith group;
i is 0 or a positive integer smaller than z;
j is 0 or a positive integer smaller than K1; and
k is 0 or a positive integer smaller than K2.
Structure 2
The mapping unit includes:
a second mapping module, configured to, when K1=(log2 M)/2, extract the kth bit in the binary bit sequence corresponding to each multi-element code in the ith group of multi-element codes Ci,0, Ci,1, . . . , Ci,K1 1 to form a real part or imaginary part of the Mth-order modulation symbol Si,k according to formula (Si,kI,m/2−1, . . . , Si,kI,0)=(ci,0kci,1k, . . . , ci,K1−1k) and formula (Si,kQ,m/2−1, . . . , Si,kQ,0)=(ci,0k+p/2, ci,1k+p/2, . . . ci,K1−1k+p/2), wherein (Si,kI,m/2−1, . . . , Si,kI,0) is the real part Si,kI of Si,k; (Si,kQ,m/2−1, . . . , Si,kQ,0) is the imaginary part Si,kQ of Si,k; m=log2 M; p=log2 q.
The binary bit sequence corresponding to the jth multi-element code Ci,j in the ith group is ci,j0, ci,j1, . . . , ci,jp−1; p=log2 q; and ci,jk represents the kth bit of the binary bit sequence corresponding to the jth multi-element code in the ith group,
wherein i is 0 or a positive integer smaller than z;
j is 0 or a positive integer smaller than K1; and
k is 0 or a positive integer smaller than K2.
Structure 3
The mapping unit includes:
a third mapping module, configured to, when K1=2 and p=log2 q=n*(log2 M)/2, extract continuous m/2 bits in the binary bit sequence corresponding to each multi-element code in the ith group of multi-element codes Ci,0, Ci,1, . . . , Ci,K1−1 to form the real part or imaginary part of the Mth-order modulation symbol Si,k according to formula (Si,kI,m/2−1, . . . , Si,kI,0)=(ci,0mk/2, ci,0mk/2+1, . . . , ci,0m(k+1)/2−1) and formula (Si,kQ,m/2−1, . . . Si,kQ,0)=(ci,1mk/2ci,1mk/2+1, . . . ci,1m(k+1)/2−1),
wherein (Si,kI,m/2−1, . . . , Si,kI,0) is the real part of Si,k; (Si,kQ,m/2−1, . . . , Si,kQ,0) is the imaginary part Si,kQ of Si,k; m=log2 M;
the binary bit sequence corresponding to the jth multi-element code Ci,j in the ith group is ci,j0, ci,j1, . . . , ci,jp−1; p=log2 q; ci,jk represents the kth bit of the binary bit sequence corresponding to the jth multi-element code in the ith group;
i is 0 or a positive integer smaller than z;
j is 0 or a positive integer smaller than K1; and
k is 0 or a positive integer smaller than K2.
Structure 4
The mapping unit includes:
a fourth mapping module, configured to acquire a binary bit sequence (Si,km/2−1, . . . , Si,k0) corresponding to the Mth-order modulation symbol Si,k according to formula (si,km−1, . . . , si,k0)=(Ei,km,Ei,km+1, . . . ,Ei,(k+1)m−1), and sequentially map Si,k to the constellation diagram;
an interleaving module, configured to, when K1=log2 M, obtain a binary bit sequence ei,0, ei,1, . . . , ei·pK1−1 obtained after cyclic interleaving of a binary bit sequence di,0, di,1, . . . , di,pK1−1 corresponding to the ith group of multi-element codes Ci,0, Ci,1, . . . , Ci,K1−1 according to formulae r=((t mod p)*(m+1)+└t/m┘)mod m+(t mod p)*m and di,t=ei,r; and
a fourth mapping module, configured to acquire a binary bit sequence (Si,km/2−1, . . . , Si,k0) corresponding to the Mth-order modulation symbol Si,k according to formula (Si,km−1, . . . , Si,k0)=(ei,km, ei,km+1, . . . , ei,(k+1)m−1), and sequentially map Si,k to the constellation diagram,
wherein m=log2 M; p=log2 q;
the binary bit sequence corresponding to the jth multi-element code Ci,j in the ith group is ci,j0, ci,j1, . . . , ci,jp−1;
di,t is a tth bit of the binary bit sequence di,0, di,1, . . . , di,pK1−1 corresponding to the ith group of multi-element codes Ci,0, Ci,1, . . . , Ci,K1−1, and t is an index number, and is valued to be 0 or a positive integer smaller than pK1;
ei,r is an rth bit of the binary bit sequence ei,0, ei,1, . . . , ei,pK1−1 output after cyclic interleaving of the binary bit sequence of the ith group, and r is an index number, and is valued to be 0 or a positive integer smaller than pK1; and
k is 0 or a positive integer smaller than K2.
In a specific implementation process, the mapping unit may further include a conversion module; and the conversion module is configured to convert each multi-element code into a binary bit sequence.
The multi-element code modulation mapping device of the embodiment provides a physical device for implementing the multi-element code modulation mapping method of embodiment 1 and may be configured to implement any technical solution in embodiment 1. Specific structure may be a communication node such as a base station or a terminal. For modulation symbols formed by the multi-element code modulation mapping device of the embodiment, the same multi-element code is mapped to multiple modulation symbols, so that a diversity gain of a fading channel is increased; and moreover, different modulation symbols are mapped to different constellation points of the constellation diagram, so that performance loss caused by different stability of the constellation points in the constellation diagram is well reduced, and communication quality is improved.
Embodiment 3
The embodiment of the present disclosure further records a computer storage medium having computer-executable instructions stored therein, wherein the computer-executable instructions are configured to implement at least one of the methods described in embodiment 1 or the examples, specifically the method shown in FIG. 1.
The computer storage medium includes: various media capable of storing program codes such as mobile storage equipment, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or a compact disc, and is preferably a non-transient storage medium.
The above is only the preferred embodiments of the present disclosure and not intended to limit the scope of protection of the present disclosure. Any modification made according to the principle of the present disclosure shall fall within the scope of protection of the present disclosure.

## Claims

1. A multi-element code modulation mapping method, comprising:
performing multi-element domain coding on a first sequence comprising K multi-element codes to obtain a second sequence comprising N multi-element codes;
calculating K1 and K2 according to a multi-element domain element number q and a modulation order M, wherein K1*log2 q=K2*log2 M , K1 and K2 are both integers not smaller than 2, and q and M are both power of 2;
dividing the second sequence into z groups of multi-element codes with each group comprising K1 multi-element codes, wherein z=┌N/K1┐, and ┌┐ represents rounding up;
mapping each group of multi-element codes to a constellation diagram to form K2 Mth-order modulation symbols, wherein each group of multi-element codes is mapped to at least two Mth-order modulation symbols; and
sequentially cascading z groups of Mth-order modulation symbols to form a modulation symbol to be sent.

2. The method according to claim 1, wherein
log2 M=m and log2 q=p; a least common multiple of m and p is Y; n is a positive integer;
if m=n*p, K1=2*m/p;
if p=n*m, K1=2; and
if m is unequal to n*p and p is unequal to n*m, K1=Y/p.

3. The method according to claim 1, wherein the step of dividing the second sequence into the z groups of multi-element codes with each group comprising K1 multi-element codes comprises:
adding ┌N/K1┐*K1−N zero code words to the second sequence to form a third sequence comprising N1 multi-element codes, wherein N1=┌N/K1┐*K1; and
dividing the third sequence into the z groups of multi-element codes with each group comprising K1 multi-element codes.

4. The method according to claim 3, wherein the step of dividing the third sequence into the z groups of multi-element codes with each group comprising K1 multi-element codes is implemented by:
sequentially grouping the third sequence backwards from a starting position of the third sequence according to formula Ci,j=Bi·K1+j by taking continuous K1 multi-element codes as a group,
wherein Ci,j is a jth multi-element code in an ith group; Bi·K1+j is an (i·K1+j)th multi-element code in the third sequence; and
wherein i is 0 or a positive integer smaller than z; and
j is 0 or a positive integer smaller than K1 .

5. The method according to claim 1, wherein the step of mapping each group of multi-element codes to the constellation diagram is implemented by:
mapping each group of multi-element codes to the constellation diagram by adopting a direct total mapping, In-phase/Quadrature (I/Q) path mapping or interleaving mapping method.

6. The method according to claim 5, wherein the step of mapping each group of multi-element codes to the constellation diagram by adopting the direct total mapping method comprises:
when K1=log2 M , extracting a kth bit in binary bit sequence corresponding to each multi-element code in the ith group of multi-element codes Ci,0, Ci,1, . . . , Ci,K1−1 to form a kth Mth-order complex modulation symbol Si,k for mapping according to formula (Si,km−1, . . . , Si,k0)=(ci,0k, ci,1k, . . . , ci,K1−1k)and mapping Si,k to the constellation diagram,
wherein (Si,km−1, . . . , Si,k0) is a binary bit sequence corresponding to the modulation symbol Si,k; M=log2 M;
the binary bit sequence corresponding to the jth multi-element code Ci,j , in the ith group is ci,j0, ci,j1, . . . , ci,jp−1; p=log2 q; ci,jk represents the kth bit of the binary bit sequence corresponding to the jth multi-element code in the ith group;
i is 0 or a positive integer smaller than z;
j is 0 or a positive integer smaller than K1; and
k is 0 or a positive integer smaller than K2 .

7. The method according to claim 5, wherein the step of mapping each group of multi-element codes to the constellation diagram by adopting the I/Q path mapping method comprises:
when K1=(log2 M)/2, extracting a kth bit in the binary bit sequence corresponding to each multi-element code in the ith group of multi-element codes Ci,0, Ci,1, . . . , Ci,K1−1 to form a real part or imaginary part of Mth-order modulation symbol Si,k according to formula (Si,kI,m/2−1, . . . , Si,kI,0)=(ci,0k, ci,1k, . . . , ci,K1−1k) and formula (Si,kQ,m/2−1, . . . , Si,kQ,0)=(ci,0k+p/2, ci,1k+p/2, . . . ci,K1−1k+p/2),
wherein (Si,kI,m/2−1, . . . , Si,kI,0) is the real part Si,kI of Si,k; (Si,kQ,m/2−1, . . . , Si,kQ,0) is the imaginary part Si,kQ of Si,k; m=log2 M; p=log2 q;
the binary bit sequence corresponding to the jth multi-element code Ci,j in the ith group is ci,j0, ci,j1, . . . , ci,jp−1; p=log2 q; ci,jk represents the kth bit of the binary bit sequence corresponding to the jth multi-element code in the ith group;
i is 0 or a positive integer smaller than z;
j is 0 or a positive integer smaller than K1; and
k is 0 or a positive integer smaller than K2.

8. The method according to claim 5, wherein the step of mapping each group of multi-element codes to the constellation diagram by adopting the I/Q path mapping method comprises:
when K1=2 and p=log2 q=n*(log2 M)/2, extracting continuous m/2 bits in the binary bit sequence corresponding to each multi-element code in the ith group of multi-element codes Ci,0, Ci,1, . . . , Ci,K1−1 to form a real part or imaginary part of the Mth-order modulation symbol Si,k according to formula (Si,kI,m/2−1, . . . , Si,kI,0)=(ci,0mk/2, ci,0mk/2+1, . . . , ci,0m(k+1)/2−1) and formula (Si,kQ,m/2−1, . . . Si,kQ,0)=(ci,1mk/2, ci,1mk/2+1, . . . ci,1m(k+1)/2−1),
wherein (Si,kI,m/2−1, . . . , Si,kI,0) is the real part of Si,k; (Si,kQ,m/2−1, . . . , Si,kQ,0) is the imaginary part Si,kQ of Si,k; m=log2 M;
the binary bit sequence corresponding to the jth multi-element code Ci,j in the ith group is ci,j0, ci,j1, . . . , ci,jp−1; p=log2 q; ci,jk represents the kth bit of the binary bit sequence corresponding to the jth multi-element code in the ith group;
i is 0 or a positive integer smaller than z;
j is 0 or a positive integer smaller than K1; and
k is 0 or a positive integer smaller than K2.

9. The method according to claim 5, wherein the step of mapping each group of multi-element codes to the constellation diagram by adopting the interleaving mapping method comprises:
when K1=log2 M, obtaining a binary bit sequence ei,0ei,1, . . . , ei,pK1−1 by cyclic interleaving a binary bit sequence di,0, di,1, . . . , di,pK1−1 corresponding to the ith group of multi-element codes Ci,0, Ci,1, . . . , Ci,K1−1 according to formulae r=((t mod p)*(m+1)+└t/m┘)mod m+(t mod p)*m and di,t=ei,r; and
acquiring a binary bit sequence (Si,km/2−1, . . . , Si,k0) corresponding to the Mth-order modulation symbol Si,k according to formula (Si,km−1, . . . , Si,k0)=(ei,km, ei,km+1, . . . , ei,(k+1)m−1), and sequentially mapping Si,k to the constellation diagram,
wherein m=log2 M; p=log2 q;
the binary bit sequence corresponding to the jth multi-element code Ci,j in the ith group is ci,j0, ci,j1, . . . , ci,jp−1;
di,t is a tth bit of the binary bit sequence di,0, di,1, . . . , di,pK1−1 corresponding to the ith group of multi-element codes Ci,0, Ci,1, . . . , Ci,K1−1, and t is an index number, and is valued to be 0 or a positive integer smaller than pK1;
ei,r is an rth bit of the binary bit sequence ei,0, ei,1, . . . , ei,pK1−1 output after cyclic interleaving of the binary bit sequence of the ith group, and r is an index number, and is valued to be 0 or a positive integer smaller than pK1; and
k is 0 or a positive integer smaller than K2.

10. A multi-element code modulation mapping device, comprising:
a processor; and
a memory having instructions stored therein, the instructions when executed by the processor, cause the processor to:
perform multi-element domain coding on a first sequence comprising K multi-element codes to obtain a second sequence comprising N multi-element codes;
calculate K1 and K2 according to a multi-element domain element number q and a modulation order M, wherein K1*log2 q=K2*log2 M , K1 and K2 are both integers not smaller than 2, and q and M are both power of 2;
divide the second sequence into z groups of multi-element codes with each group comprising K1 multi-element codes, wherein z=┌N/K1┐, and ┌┐ represents rounding up;
map each group of multi-element codes to a constellation diagram to form K2 Mth-order modulation symbols, wherein each group of multi-element codes is mapped to at least two Mth-order modulation symbols; and
sequentially cascade z groups of Mth-order modulation symbols to form a modulation symbol to be sent.

11. The device according to claim 10, wherein
log2 M=m and log2 q=p; a least common multiple of m and p is Y; n is a positive integer;
if m=n*p, K1=2*m/p;
if p=n*m, K1=2; and
if m is unequal to n*p and p is unequal to n*m, K1=Y/p.

12. The device according to claim 10, wherein the instructions when executed by the processor, further cause the processor to:
add ┌N/K1┐*K1−N zero code words to the second sequence to form a third sequence comprising N1 multi-element codes, wherein N1=┌N/K1┐*K1; and
divide the third sequence into the z groups of multi-element codes with each group comprising K1 multi-element codes.

13. The device according to claim 12, wherein the instructions when executed by the processor, further cause the processor sequentially group the third sequence backwards from a starting position of the third sequence according to formula Ci,j=Bi·K1+j by taking continuous K1 multi-element codes as a group;
Ci,j is a jth multi-element code in an ith group; and Bi·Ki+j is an (i·K1+j)th multi-element code in the third sequence,
wherein i is 0 or a positive integer smaller than z; and
j is 0 or a positive integer smaller than K1.

14. The device according to claim 10, wherein the instructions when executed by the processor, further cause the processor to map each group of multi-element codes to the constellation diagram by adopting a direct total mapping, I/Q path mapping or interleaving mapping method.

15. The device according to claim 14, wherein the instructions when executed by the processor, further cause the processor to
when K1=log2 M , extract a kth bits in binary bit sequence corresponding to each multi-element code in the ith group of multi-element codes Ci,0, Ci,1, . . . , Ci,K1−1 to form a kth Mth-order complex modulation symbol Si,k for mapping according to formula (Si,km−1, . . . , Si,k0)=(ci,0k, ci,1k, . . . , ci,K1−1k), and mapping Si,k to the constellation diagram,
wherein (Si,km−1, . . . , Si,k0) is a binary bit sequence corresponding to si,k; m=log2 M ;
the binary bit sequence corresponding to the jth multi-element code Ci,j in the ith group is ci,j0, ci,j1, . . . , ci,jp−1; p=log2 q; ci,jk represents the kth bit of the binary bit sequence corresponding to the jth multi-element code in the ith group;
i is 0 or a positive integer smaller than z;
j is 0 or a positive integer smaller than K1; and
k is 0 or a positive integer smaller than K2.

16. The device according to claim 14, wherein the instructions when executed by the processor, further cause the processor to:
when K1=(log2 M)/2, extract a kth bit in the binary bit sequence corresponding to each multi-element code in the ith group of multi-element codes Ci,0, Ci,1, . . . , Ci,K1−1 to form a real part or imaginary part of the Mth-order modulation symbol Si,k according to formula (Si,kI,m/2−1, . . . , Si,kI,0)=(ci,0k, ci,1k, . . . , ci,K1−1k) and formula (Si,kQ,m/2−1, . . . , Si,kQ,0)=(ci,0k+p/2, ci,1k+p/2, . . . ci,K1−1k+p/2), wherein (Si,kI,m/2−1, . . . , Si,kI,0) is the real part Si,kI of Si,k; (Si,kQ,m/2−1, . . . , Si,kQ,0) is the imaginary part Si,kQ of Si,k; m=log2 M; p=log2 q;
the binary bit sequence corresponding to the jth multi-element code Ci,j in the ith group is ci,j0, ci,j1, . . . , ci,jp−1; p=log2 q; ci,jk represents the kth bit of the binary bit sequence corresponding to the jth multi-element code in the ith group;
i is 0 or a positive integer smaller than z;
j is 0 or a positive integer smaller than K1; and
k is 0 or a positive integer smaller than K2.

17. The device according to claim 14, wherein the instructions when executed by the processor, further cause the processor to:
when K1=2 and p=log2 q =n*(log2 M)/2, extract continuous m/2 bits in the binary bit sequence corresponding to each multi-element code in the ith group of multi-element codes Ci,0, Ci,1, . . . , Ci,K1−1 to form the real part or imaginary part of the Mth-order modulation symbol Si,k according to formula (Si,kI,m/2−1, . . . , Si,kI,0)=(ci,0mk/2, ci,0mk/2+1, . . . , ci,0m(k+1)/2−1) and formula (Si,kQ,m/2−1, . . . Si,kQ,0)=(ci,1mk/2, ci,1mk/2+1, . . . ci,1m(k+1)/2−1),
wherein (Si,kI,m/2−1, . . . , Si,kI,0) is the real part of Si,k; (Si,kQ,m/2−1, . . . , Si,kQ,0) is the imaginary part Si,kQ of Si,k; m=log2 M;
the binary bit sequence corresponding to the jth multi-element code Ci,j in the ith group is ci,j0, ci,j1, . . . , ci,jp−1; p=log2 q; ci,jk represents the kth bit of the binary bit sequence corresponding to the jth multi-element code in the ith group;
i is 0 or a positive integer smaller than z;
j is 0 or a positive integer smaller than K1; and
k is 0 or a positive integer smaller than K2.

18. The device according to claim 14, wherein the instructions when executed by the processor, further cause the processor to:
when K1=log2 M , obtain a binary bit sequence ei,0, ei,1, . . . , ei,pK1−1 by cyclic interleaving a binary bit sequence di,0, di,1, . . . , di,pK1−1 corresponding to the ith group of multi-element codes Ci,0, Ci,1, . . . , Ci,K1−1 according to formulae r=((t mod p)*(m+1)+└t/m┘)mod m+(t mod p)*m and di,t=ei,r; and
acquire a binary bit sequence (Si,km/2−1, . . . , Si,k0) corresponding to the Mth-order modulation symbol Si,k according to formula (Si,km−1, . . . , Si,k0)=(ei,km, ei,km+1, . . . , ei,(k+1)m−1) and sequentially map Si,k to the constellation diagram,
wherein m=log2 M; p=log2 q;
the binary bit sequence corresponding to the jth multi-element code Ci,j in the ith group is ci,j0, ci,j1, . . . , ci,jp−1;
di,t is a tth bit of the binary bit sequence di,0, di,1, . . . , di,pK1−1 corresponding to the ith group of multi-element codes Ci,0, Ci,1, . . . , Ci,K1−1, and t is an index number, and is valued to be 0 or a positive integer smaller than pK1;
ei,r is an rth bit of the binary bit sequence ei,0, ei,1, . . . , ei,pK1−1 output after cyclic interleaving of the binary bit sequence of the ith group, and r is an index number, and is valued to be 0 or a positive integer smaller than pK1; and
k is 0 or a positive integer smaller than K2.

19. A non-transitory tangible computer storage medium having computer-executable instructions stored therein, the computer-executable instructions being configured to execute a multi-element code modulation mapping method, wherein the method comprises:
performing multi-element domain coding on a first sequence comprising K multi-element codes to obtain a second sequence comprising N multi-element codes;
calculating K1 and K2 according to a multi-element domain element number q and a modulation order M, wherein K1*log2 q =K2*log2 M , K1 and K2 are both integers not smaller than 2, and q and M are both power of 2;
dividing the second sequence into z groups of multi-element codes with each group comprising K1 multi-element codes, wherein z=┌N/K1┐, and ┌┐ represents rounding up;
mapping each group of multi-element codes to a constellation diagram to form K2 Mth-order modulation symbols, wherein each group of multi-element codes is mapped to at least two Mth-order modulation symbols; and
sequentially cascading z groups of Mth-order modulation symbols to form a modulation symbol to be sent.