DATA PROCESSING METHOD, NETWORK DEVICE, AND TERMINAL
20190132076 ยท 2019-05-02
Inventors
Cpc classification
H04L27/3444
ELECTRICITY
H04L5/003
ELECTRICITY
International classification
H04L1/00
ELECTRICITY
H04L27/34
ELECTRICITY
Abstract
The present disclosure discloses a data processing method, a network device, and a terminal. In this method, a transmit end combines basic modulation symbols obtained after basic modulation is performed on all layers of data, to obtain a combined symbol vector X. The transmit end maps the symbol vector X to Q resource elements to obtain a data vector S. A symbol quantity of the symbol vector X is greater than a symbol quantity of the data vector S. The symbol quantity of the data vector S is Q. Q is a positive integer. Therefore, non-orthogonal spreading and superposition transmission of a plurality of terminals can be implemented in both uplink and downlink, thereby effectively improving transmission efficiency.
Claims
1. A data processing method, comprising: dividing, by a terminal, data sent on Q resource elements into G.sub.k layers of data, wherein the terminal is one of a plurality of terminals scheduled by a network device on the Q resource elements, the network device receives a maximum of G layers of data on the Q resource elements, wherein G.sub.k is a positive integer, G.sub.k<G, Q is a positive integer, and Q<G; performing, by the terminal, basic modulation on the G.sub.k layers of data to obtain D.sub.k basic modulation symbols, wherein D.sub.kG.sub.k, and D.sub.k is a positive integer; combining, by the terminal, the D.sub.k basic modulation symbols to obtain a combined symbol vector X.sub.k; and mapping, by the terminal, the symbol vector X.sub.k to the Q resource elements to obtain a data vector S.sub.k.
2. The method according to claim 1, wherein the mapping, by the terminal, the symbol vector X.sub.k to the Q resource elements to obtain a data vector S.sub.k is: mapping, by the terminal, the symbol vector X.sub.k to the Q resource elements by using a preprocessing operation to obtain the data vector S.sub.k, wherein the preprocessing operation comprises at least spreading and superposition.
3. The method according to claim 1, wherein the preprocessing operation comprises: performing power adjustment first, then performing angle rotation, and then performing spreading and superposition; or performing angle rotation first, then performing power adjustment, and then performing spreading and superposition; or performing power adjustment and angle rotation first at the same time, and then performing spreading and superposition; or performing power adjustment, angle rotation, and spreading and superposition at the same time.
4. The method according to claim 1, wherein the mapping, by the terminal, the symbol vector X.sub.k to the Q resource elements to obtain a data vector S.sub.k is: S.sub.k=F.sub.1F.sub.2F.sub.3X.sub.k, S.sub.k=F.sub.1F.sub.3F.sub.2X.sub.k, S.sub.k=F.sub.1F.sub.23X.sub.k, S.sub.k=F.sub.1F.sub.32X.sub.k, or S.sub.k=FX.sub.k, wherein F.sub.23=F.sub.2F.sub.3, F.sub.32=F.sub.3F.sub.2, F=F.sub.1F.sub.2F.sub.3, or F=F.sub.1F.sub.3F.sub.2; and F.sub.1 is a non-orthogonal spreading and superposition matrix, F.sub.2 is an angle rotation matrix, and F.sub.3 is a power allocation matrix F.sub.3.
5. The method according to claim 4, wherein at least one of F.sub.2 and F.sub.3 is an identity matrix.
6. The method according to claim 1, wherein the mapping, by the terminal, the symbol vector X.sub.k to the Q resource elements to obtain a data vector S.sub.k is: S.sub.k=F.sub.1(F.sub.2(F.sub.3(X.sub.k))), S.sub.k=F.sub.1(F.sub.3(F.sub.2(X.sub.k))), S.sub.k=F.sub.1(F.sub.23(X.sub.k)), S.sub.k=F.sub.1(F.sub.32(X.sub.k)), or S.sub.k=F(X.sub.k), wherein F.sub.23()=F.sub.3(F.sub.2()), F.sub.32()=F.sub.2(F.sub.3()), F=F.sub.1(F.sub.2(F.sub.3())), or F=F.sub.1(F.sub.3(F.sub.2())), wherein F.sub.1() is a non-orthogonal spreading and superposition function, F.sub.2() is an angle rotation function, and F.sub.3() is a power allocation function.
7. The method according to claim 6, wherein at least one function of F.sub.2() and F.sub.3() has an output equal to an input.
8. The method according to claim 1, wherein the G.sub.k layers of data correspond to at least two basic modulation schemes.
9. A network device, wherein the network device comprises a modulation module, a combination module, a preprocessing operation module, and a processing module, wherein the modulation module is coupled to the combination module, and the processing module is coupled to the modulation module and the preprocessing operation module; the processing module is configured to divide data of any one of N terminals scheduled on Q resource elements into G.sub.k layers of data, wherein the processing module processes a maximum of G layers of data on the Q resource elements, wherein G.sub.k is a positive integer, G.sub.k<G, Q is a positive integer, Q<G, N is a positive integer, and NG; the modulation module is configured to perform basic modulation on the G.sub.k layers of data to obtain D.sub.k basic modulation symbols, wherein D.sub.kG.sub.k, and D.sub.k is a positive integer; the combination module is configured to combine the basic modulation symbols that are of the N terminals and that are obtained after the basic modulation to obtain a combined symbol vector X; and the preprocessing operation module is configured to map the symbol vector X to the Q resource elements to obtain a data vector S, wherein a symbol quantity of the symbol vector X is greater than a symbol quantity of the data vector S, and the symbol quantity of the data vector S is the quantity Q of the resource elements.
10. The network device according to claim 9, wherein that the preprocessing operation module is configured to map the symbol vector X to the Q resource elements to obtain a data vector S comprises: the preprocessing operation module is configured to map the symbol vector X to the Q resource elements by using a preprocessing operation to obtain the data vector S, wherein the preprocessing operation comprises at least spreading and superposition.
11. The network device according to claim 10, wherein the preprocessing operation comprises: S=F.sub.1F.sub.2F.sub.3X, S=F.sub.1F.sub.3F.sub.2X, S=F.sub.1F.sub.23X, S=F.sub.1F.sub.32X, or S=FX, wherein F.sub.23=F.sub.2F.sub.3, F.sub.32=F.sub.3F.sub.2, F=F.sub.1F.sub.2F.sub.3, or F=F.sub.1F.sub.3F.sub.2; and F.sub.1 is a non-orthogonal spreading and superposition matrix, F.sub.2 is an angle rotation matrix, and F.sub.3 is a power allocation matrix F.sub.3.
12. The network device according to claim 10, wherein the preprocessing operation comprises: S=F.sub.1(F.sub.2(F.sub.3(X))), S=F.sub.1(F.sub.3(F.sub.2(X))), S=F.sub.1(F.sub.23(X)), S=F.sub.1(F.sub.32(X)), or S=F(X), wherein F.sub.23()=F.sub.3(F.sub.2()), F.sub.32()=F.sub.2(F.sub.3()), F=F.sub.1(F.sub.2(F.sub.3())), or F=F.sub.1(F.sub.3(F.sub.2())), wherein F.sub.1() is a non-orthogonal spreading and superposition function, F.sub.2() is an angle rotation function, and F.sub.3() is a power allocation function.
13. A terminal, wherein the terminal is one of a plurality of terminals scheduled by a network device on Q resource elements, the network device receives a maximum of G layers of data on the Q resource elements, and the terminal comprises a modulation module, a combination module, a preprocessing operation module, and a processing module, wherein the modulation module is coupled to the combination module, the combination module is coupled to the modulation module and the preprocessing operation module, and the processing module is coupled to the modulation module and the preprocessing operation module; the processing module is configured to divide data sent on the Q resource elements into G.sub.k layers of data, wherein G.sub.k is a positive integer, G.sub.k<G, Q is a positive integer, and Q<G; the modulation module is configured to perform basic modulation on the G.sub.k layers of data to obtain D.sub.k basic modulation symbols, wherein D.sub.kG.sub.k, and D.sub.k is a positive integer; the combination module is configured to combine the D.sub.k basic modulation symbols to obtain a combined symbol vector X.sub.k; and the preprocessing operation module is configured to map the symbol vector X.sub.k to the Q resource elements to obtain a data vector S.sub.k.
14. The terminal according to claim 13, wherein that the preprocessing operation module is configured to perform a preprocessing operation on the symbol vector X.sub.k comprises: the preprocessing operation module is configured to map the symbol vector X.sub.k to the Q resource elements by using the preprocessing operation to obtain the data vector S.sub.k, wherein the preprocessing operation comprises at least spreading and superposition.
15. The terminal according to claim 13, wherein the preprocessing operation module comprises the following modules: a power adjustment module, an angle rotation module, and a spreading and superposition module, wherein the power adjustment module is configured to adjust power of the basic modulation symbol, the angle rotation module is configured to rotate an angle of the basic modulation symbol, and the spreading and superposition module is configured to perform spreading and superposition on the basic modulation symbol, wherein the power adjustment module is coupled to the combination module and the angle rotation module, and the angle rotation module is coupled to the power adjustment module and the spreading and superposition module; or the angle rotation module is coupled to the combination module and the power adjustment module, and the power adjustment module is coupled to the spreading and superposition module and the angle rotation module.
16. The terminal according to claim 14, wherein the preprocessing operation comprises: S.sub.k=F.sub.1F.sub.2F.sub.3X.sub.k, S.sub.k=F.sub.1F.sub.3F.sub.2X.sub.k, S.sub.k=F.sub.1F.sub.23X.sub.k, S.sub.k=F.sub.1F.sub.32X.sub.k, or S.sub.k=FX.sub.k, wherein F.sub.23=F.sub.2F.sub.3, F.sub.32=F.sub.3F.sub.2, F=F.sub.1F.sub.2F.sub.3, or F=F.sub.1F.sub.3F.sub.2; and F.sub.1 is a non-orthogonal spreading and superposition matrix, F.sub.2 is an angle rotation matrix, and F.sub.3 is a power allocation matrix F.sub.3.
17. The terminal according to claim 16, wherein at least one of F.sub.2 and F.sub.3 is an identity matrix.
18. The terminal according to claim 14, wherein the preprocessing operation comprises: S.sub.k=F.sub.1(F.sub.2(F.sub.3(X.sub.k))), S.sub.k=F.sub.1(F.sub.3(F.sub.2(X.sub.k))), S.sub.k=F.sub.1(F.sub.23(X.sub.k)), S.sub.k=F.sub.1(F.sub.32(X.sub.k)), or S.sub.k=F(X.sub.k), wherein F.sub.23()=F.sub.3(F.sub.2()), F.sub.32()=F.sub.2(F.sub.3()), F=F.sub.1(F.sub.2(F.sub.3())), or F=F.sub.1(F.sub.3(F.sub.2())), wherein F.sub.1() is a non-orthogonal spreading and superposition function, F.sub.2() is an angle rotation function, and F.sub.3() is a power allocation function.
19. The terminal according to claim 18, wherein at least one function of F.sub.2() and F.sub.3 () has an output equal to an input.
20. The terminal according to claim 13, wherein the G.sub.k layers of data correspond to at least two basic modulation schemes.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0069]
[0070]
[0071]
[0072]
[0073]
[0074]
[0075]
[0076]
[0077]
[0078]
[0079]
[0080]
[0081]
[0082]
[0083]
[0084]
[0085]
[0086]
[0087]
[0088]
DESCRIPTION OF EMBODIMENTS
[0089] In the embodiments of this application, one network device may communicate with a plurality of terminals. As shown in
[0090] An SCMA technology is a typical non-orthogonal multiple access and transmission technology, in which a total of G layers of data streams of N terminals (where N and G are integers not less than 1, and NG) are superposed to Q (where Q is an integer not less than 1, and usually, G>Q) REs (which are minimum granularities for time-frequency resource allocation) for sending. Each data symbol of each layer of data stream is extended to the Q REs in a sparse spreading method. The Q REs may be Q consecutive subcarriers in a same symbol, or may be Q consecutive symbols on a same subcarrier, or may be Q consecutive REs in another form. When a value of G is greater than that of Q, the layers of data are definitely non-orthogonal. This type of technology can effectively increase a network capacity, including a quantity of terminals that can access a system, spectrum efficiency, and the like. In a process of sending a signal in the SCMA technology, an encoded bit is modulated into a corresponding multi-dimensional symbol by using a codebook prestored at each data layer and is mapped to an RE at a corresponding location. The codebook includes both multi-dimensional modulation symbol information and a spreading rule. Therefore, a codebook design has crucial impact on system performance (especially downlink performance) using the SCMA technology. An LDS technology is similar to the SCMA technology except that symbols sent by a terminal on different REs are not multi-dimensional modulation symbols but repeated QAM symbols. For downlink transmission in the SCMA and LDS, angle rotation needs to be performed on symbols of a non-orthogonal data layer of equal power to ensure unique solvability of superposed symbols.
[0091] MUSA is a non-orthogonal multiple access solution in code domain. In this solution, a predesigned sequence (with a low cross-correlation) is used for spreading of a data symbol, making it easy for a receive end to use a SIC receiving mode. In a MUSA system, superposed transmission is performed on spreading symbols of all terminals on a same spectrum resource, and a codeword-level SIC receiver is used on a receive end of the spreading symbols. A non-binary spreading sequence is used in MUSA uplink, and this is non-sparse spreading. There is a power difference between symbols in a same group in MUSA downlink, and it is ensured that superposed symbols comply with a modulation rule of a Gray constellation.
[0092] PDMA is a non-orthogonal access solution that further increases a system capacity by introducing diversity between terminals. At a transmit end, a PDMA terminal uses a non-orthogonal transmission pattern in time, frequency, space, code domain, and other dimensions. At a receive end, a BP-IDD algorithm may be used.
[0093] A spreading method of the PDMA is different from that of the SCMA. To be specific, there are both sparse and non-sparse spreading layers, making the spreading irregular. Regular spreading herein means that spreading factors (or referred to as spreading multiples) of all layers of data are consistent. The irregular spreading means that all layers of data have respective independent spreading factors. A modulation symbol of the PDMA is also a common QAM symbol, and a transmission symbol of the PDMA is also generated in a form similar to an SCMA codebook.
[0094] All of the foregoing solutions can increase a system capacity in a non-orthogonal manner, but specific implementation details are not considered. This application provides specific implementations.
[0095] Usually, it is assumed that the Q REs support the G layers of data in total from the N terminals, and data of a k.sup.th terminal occupies G.sub.k layers, meeting G=G.sub.1+G.sub.2+ . . . +G.sub.k+ . . . +G.sub.N. Because non-orthogonal transmission is considered in this application, G>Q. To be specific, an overload probability is G/Q. It should be noted that the Q REs may be Q symbols occupying a same subcarrier, or may be Q subcarriers occupying a same symbol, or may be Q consecutive REs in another form. The Q consecutive REs are selected to ensure that a corresponding channel does not change greatly. In
[0096]
[0097] Specifically, for a k.sup.th terminal in N terminals, it is assumed that a quantity of data layers occupied by data of the k.sup.th terminal is G.sub.k. A specific process of modulation 300 is shown in
[0098] Herein, the basic modulation is different from conventional modulation. For example, conventionally, QPSK is mapping every two bits of encoded information bits into one QPSK symbol based on a constellation diagram. However, in the basic modulation in this application, referring to
[0099] Based on the procedure shown in
[0100] For uplink transmission, for modulation and a preprocessing operation procedure on a terminal side, refer to
[0101] Descriptions are provided below by using embodiments.
Embodiment 1
[0102] Before a network device performs modulation and a preprocessing operation shown in
[0103] For example, it may be assumed that currently the network device supports N=6 terminals multiplexed on Q=4 REs, and each terminal has one layer of data. To be specific, G.sub.1=G.sub.2=G.sub.3=G.sub.4=G.sub.5=G.sub.6=1 (because a value of G.sub.k of each terminal is 1, for ease of description, subscripts relating to G.sub.k are all omitted, the same below). In this case, G=6, and an overload probability is G/Q=150%. Each layer of data is mapped to two symbols after basic modulation. In other words, d.sub.1=d.sub.2=d.sub.3=d.sub.4=d.sub.5=d.sub.6=2. Because each terminal occupies only one layer of data, D.sub.1=D.sub.2=D.sub.3=D.sub.4=D.sub.5=D.sub.6=2, and there are D=d.sub.1+d.sub.2+d.sub.3+d.sub.4+d.sub.5+d.sub.6=12 symbols in total. These parameters are listed in Table 1. These parameters are all determined by the network device and notified to each terminal. The notified content further includes a number of a layer at which the data of each terminal is located. Subsequently, the network device performs a preprocessing operation including power allocation, angle rotation, and spreading and superposition on the data of all the terminals after the basic modulation and then proceeds to further processing. The further processing herein includes but is not limited to an operation such as an IFFT transform. Because quantities of basic modulation symbols mapped at all the layers are the same, this is also referred to as regular spreading. For a corresponding schematic diagram of spreading, refer to
TABLE-US-00002 TABLE 1 Downlink spreading parameter table Parameter Value Total data layer quantity G 6 Distribution of basic modulation symbol quantities of data [2,2,2,2,2,2] layers Quantity Q of REs 4 Overload probability (G/Q) 150% Mode Downlink
[0104] It can be learned from
[0105] After determining all these parameters and spreading methods and completing modulation of each layer of data based on the basic modulation scheme of each layer of data, the network device enters the preprocessing operation. As shown in
[0106] (1) The Preprocessing Operation is Implemented by Using a Precoding Matrix.
[0107] When the precoding matrix is used for implementation, a symbol vector S (Q1 dimensions) that is used for further processing and that occupies code blocks of the Q REs may be expressed as:
[0108] F.sub.1 is a non-orthogonal spreading and superposition matrix of QD dimensions. F.sub.2 is an angle rotation matrix of DD dimensions. F.sub.3 is a power allocation matrix of DD dimensions. X is a basic modulation symbol vector. In the formula, a correspondence between F.sub.1, F.sub.2, F.sub.3, and X and each matrix is also applicable to another expression in this application. In X, x.sub.ki (k=1, 2, . . . , 6, i=1, 2) indicates an i.sup.th symbol in d.sub.k=2 symbols in total that are obtained by performing basic constellation modulation on m.sub.k bits of a k.sup.th terminal (in this example, each terminal has one layer of data, and therefore, this is also a k.sup.th layer). In spreading methods corresponding to
where .sub.ki=.sub.kip.sub.ki, and is a complex number for indicating power and angle adjustment. In some cases in which receiving is not affected, F.sub.3, F.sub.2, or F.sub.23 may alternatively be an identity matrix, indicating that either of power adjustment or angle adjustment is not performed, or neither of power adjustment and angle adjustment is performed. This is also applicable to the following other embodiments. Alternatively, all steps may further be combined into a precoding matrix F, namely,
[0109] The matrix F is used to adjust the basic modulation symbol X. F may include the following two cases. In either case, a same configuration needs to be used at the receive end and the transmit end.
[0110] (1.1) .sub.k1=.sub.k2, to be specific, the basic modulation symbol vector X is used only for power and angle adjustment on different data layers, but same power is allocated to and rotation by a same angle is performed on different symbols within a same data layer.
[0111] (1.2) .sub.k1.sub.k2, k, to be specific, different power is allocated to and rotation by different angles is performed on d.sub.k different basic modulation symbols within a same data layer.
[0112] (2) The Preprocessing Operation is Implemented by Using a Function.
[0113] When the preprocessing operation is implemented by using a function, a symbol vector used for further processing may be expressed as S=F.sub.1(F.sub.2(F.sub.3 (X))). An input vector may be expressed by the following expression: X=[x.sub.11,x.sub.12,x.sub.21,x.sub.22,x.sub.31,x.sub.32,x.sub.41,x.sub.42,x.sub.51,x.sub.52,x.sub.61,x.sub.62].sup.T. T indicates a transpose operation. To be specific, X is a set of 12 sequentially sorted symbols in total obtained after basic modulation constellation mapping is performed on six layers of information bits:
[0114] where X(t) indicates a t.sup.th element in the vector X. An operator * in P*X indicates a Hadamard product of two vectors or matrixes, that is, indicates operation of directly multiplying elements at corresponding locations of two vectors or matrixes. Operations on F.sub.2() and F.sub.3() may be performed in a reverse order. To be specific, S=F.sub.1(F.sub.2(F.sub.3 (X))). Alternatively, F.sub.2() and F.sub.3() may be combined into F.sub.23(). To be specific, S=F.sub.1(F.sub.23(X)). F.sub.23()=F.sub.3(F.sub.2(x)), or S=F.sub.1(F.sub.32(X)). F.sub.32()=F.sub.2F.sub.3(x)).
F.sub.23(X)=*X=[.sub.11,.sub.12,.sub.21,.sub.22,.sub.31,.sub.32,.sub.41,.sub.42,.sub.51,.sub.52,.sub.61,.sub.62].sup.T*X
where .sub.ki=.sub.kip.sub.ki. The three steps may alternatively be combined into one function, S=F(X), and
[0115] It is easily learned that a function implementation solution and a precoding matrix implementation solution are substantially the same, except that forms of expression are different. This is the same in the following embodiments. Details are not described again. Therefore, similarly, in some cases in which receiving is not affected, F.sub.3, F.sub.2, or F.sub.23 may alternatively be a pass-through function, in other words, an input is equal to an output, indicating that either of power adjustment or angle adjustment is not performed, or neither of power adjustment and angle adjustment is performed. This is also applicable to the following other embodiments.
[0116] In either of the foregoing two methods, after receiving S obtained through detection, the terminal may work out the basic modulation symbol of the terminal based on a basic modulation scheme notified in advance or prestored by the network device, the data layer number occupied by the terminal, precoding matrix information, or function information. Then an encoded information bit can be restored based on a basic modulation constellation diagram and is further decoded.
Embodiment 2
[0117] Embodiment 1 provides a procedure instance of downlink modulation and a preprocessing operation of regular spreading. In contrast, this embodiment provides a procedure instance of downlink modulation and a preprocessing operation of irregular spreading.
[0118] Similarly, before a network device performs modulation and a preprocessing operation shown in
[0119] For example, it may be assumed that currently the network device supports N=5 terminals multiplexed on Q=3 REs, and each terminal has one layer of data. To be specific, G.sub.1=G.sub.2=G.sub.3=G.sub.4=G.sub.5=1. In this case, G=5, and an overload probability is G/Q=166.7%. Each layer of data is mapped to a different quantity of symbols after basic modulation. In other words, d.sub.1=3, d.sub.2=d.sub.3=2, and d.sub.4=d.sub.5=1. Because each terminal occupies only one layer of data, subscripts relating to G.sub.k are all omitted. Therefore, D.sub.1=3, D.sub.2=D.sub.3=2, D.sub.4=D.sub.5=1, and there are D=d.sub.1+d.sub.2+d.sub.3+d.sub.4+d.sub.5=9 symbols in total. These parameters are listed in Table 2. These parameters are all determined by the network device and notified to each terminal. The notified content further includes a number of a layer at which the data of each terminal is located. Subsequently, the network device performs a preprocessing operation including power allocation, angle rotation, and spreading and superposition on the data of all the terminals after the basic modulation and then proceeds to further processing. The further processing herein includes but is not limited to an operation such as an IFFT transform. Because quantities of basic modulation symbols mapped at all the layers are different, this is also referred to as irregular spreading.
TABLE-US-00003 TABLE 2 Downlink irregular spreading parameter table Parameter Value Total data layer quantity G 5 Distribution of basic modulation symbol quantities of data [3,2,2,1,1] layers Quantity Q of REs 3 Overload probability (G/Q) 166.7% Mode Downlink
[0120] It can be learned from
[0121] After determining all these parameters and spreading methods and completing modulation of each layer of data based on the basic modulation scheme of each layer of data, the network device enters the preprocessing operation. As shown in
[0122] (1) The Preprocessing Operation is Implemented by Using a Precoding Matrix.
[0123] When the precoding matrix is used for implementation, a symbol vector S used for further processing may be expressed as:
[0124] Meanings of the matrixes F.sub.1, F.sub.2, and F.sub.3 are similar to those in Embodiment 1, and are not described in detail herein. X is a symbol vector obtained after the basic modulation is performed on each layer of information bits. Herein, it is assumed that x.sub.11=x.sub.12=x.sub.13, X.sub.21=x.sub.22, and x.sub.31=x.sub.32. To be specific, a same modulation constellation diagram mapping method is used for symbols of a same layer (certainly, different methods may alternatively be used, depending on a specific basic modulation scheme, and this is merely an example herein). A power allocation matrix F.sub.3 and an angle rotation matrix F.sub.2 are both diagonal matrixes of D=9 dimensions, and may be in a reverse order. The spreading and superposition matrix F.sub.1 is a matrix of 39 dimensions, and a symbol vector S of 31 dimensions is finally output.
[0125] Similarly, F.sub.2 and F.sub.3 may alternatively be combined into F.sub.23 or F.sub.32. To be specific,
where .sub.ki=.sub.kip.sub.ki (k indicates a terminal number, and i indicates an i.sup.th symbol of a k.sup.th terminal). In some cases in which receiving is not affected, F.sub.3, F.sub.2, or F.sub.23 may alternatively be an identity matrix, indicating that either of power adjustment or angle adjustment is not performed, or neither of power adjustment and angle adjustment is performed. This is also applicable to the following other embodiments. The three steps are combined into a precoding matrix F. To be specific,
[0126] (2) The Preprocessing Operation is Implemented by Using a Function.
[0127] When the preprocessing operation is implemented by using a function, a symbol vector used for further processing may be expressed as S=F.sub.1(F.sub.2(F.sub.3(X))). An input vector X=[x.sub.11,x.sub.12,x.sub.13,x.sub.21,x.sub.22,x.sub.31,x.sub.32,x.sub.41,x.sub.51].sup.T, and is a set of a plurality of sequentially sorted symbols obtained after basic modulation constellation mapping is performed on five layers of information bits.
[0128] where X(t) indicates a t.sup.th element in the vector X, and operations on F.sub.2() and F.sub.3() may be performed in a reverse order. Alternatively, F.sub.2() and F.sub.3() may be combined into F.sub.23(). To be specific, S=F.sub.1(F.sub.23(X)), and F.sub.23(X)=*X=[.sub.11,.sub.12,.sub.13,.sub.21,.sub.22,.sub.31,.sub.32,.sub.41,.sub.51].sup.T*X. Therefore, similarly, in some cases in which receiving is not affected, F.sub.3, F.sub.2, or F.sub.23 may alternatively be a pass-through function, in other words, an input is equal to an output, indicating that either of power adjustment or angle adjustment is not performed, or neither of power adjustment and angle adjustment is performed. This is also applicable to the following other embodiments. Similarly, the three steps may alternatively be combined into one function, S=F(X), and
[0129] Similarly, in either of the foregoing two methods, after receiving S obtained through detection, the terminal may work out the basic modulation symbol of the terminal based on a basic modulation scheme notified in advance or prestored by the network device, the data layer number occupied by the terminal, precoding matrix information, or function information. Then an encoded information bit can be restored based on a basic modulation constellation diagram and is further decoded.
Embodiment 3
[0130] This embodiment provides another downlink preprocessing operation method. A network device schedules N terminals. A total of G layers of data are classified into H groups. It is assumed that each group includes a same quantity of J=G/H layers of data. The J layers of data may multiplex completely same REs by using a superposition modulation scheme and a same spreading method. Data layers in a same group do not belong to a same terminal. Certainly, quantities of layers in the groups may be different (a specific value of J and a power difference between the J layers of data are determined based on a specific superposition modulation scheme, and this is not limited herein). In this embodiment, data of each group of terminals is spread, in a manner similar to that in CDMA, to the Q REs for transmission. Spreading methods for a same group of terminals are consistent. In other words, columns in a precoding matrix F.sub.1 that correspond to data of a same group of terminals need to be completely consistent. However, in Embodiment 1 and Embodiment 2, columns in a precoding matrix F.sub.1 that correspond to a same layer of data need to be inconsistent. This is a biggest difference between this embodiment and Embodiment 1 and Embodiment 2. Therefore, to be consistent with forms of embodiments 1 and 2, in this embodiment, a basic modulation symbol of each layer is set to 1. Mapping of the symbol to the REs is implemented by using a spreading and superposition matrix or a spreading and superposition function.
[0131] Similarly, before the network device performs modulation and a preprocessing operation shown in
[0132] Herein, an example is used to describe a downlink symbol generation procedure. It is assumed that the network device is to use Q=4 (that is, a spreading length is 4) REs to transmit data of N=6 terminals. Each terminal transmits one layer. To be specific, G=N. Each layer maps only d.sub.k=1 basic modulation symbol and then the basic modulation symbol is spread to Q=4 symbols. To be specific, d.sub.1=d.sub.2=d.sub.3=d.sub.4=d.sub.5=d.sub.6=1. Because each terminal occupies only one layer of data, D.sub.1=D.sub.2=D.sub.3=D.sub.4=D.sub.5=D.sub.6=1. A conventional constellation diagram may be used as a constellation diagram of basic modulation. The terminals may be classified into H=3 groups, and J=N/H=2 terminals in each group may be superposed by using a superposition modulation scheme. In this way, the following preprocessing operation may be performed after the basic modulation is performed for N=6 users. For specific parameters, refer to Table 3. These parameters are determined by the network device and notified to each terminal. The notified content further includes a number of a layer at which the data of each terminal is located. Compared with Table 1, in Table 3, only distribution of basic modulation symbol quantities of the data layers is changed and a spreading factor is added. A value of the spreading factor indicates a quantity of REs to which each basic modulation symbol is spread. Mapping of each layer of data to the REs may be obtained based on Table 3. For this, refer to
TABLE-US-00004 TABLE 3 Downlink spreading parameter table Parameter Value Total data layer quantity G 6 Distribution of basic modulation symbol quantities of data [1,1,1,1,1,1] layers Quantity Q of REs 4 Overload probability (G/Q) 150% Mode Downlink Spreading factor 4
[0133] (1) The Preprocessing Operation is Implemented by Using a Precoding Matrix.
[0134] First, the network device performs basic modulation on the data of the terminals based on the procedure of
[0135] Then the network device sets, based on a requirement of a multiplexing modulation scheme such as superposition modulation, a power adjustment factor p.sub.n,j and an angle adjustment factor .sub.n,j that correspond to each basic modulation symbol. Especially for terminals in a same group, corresponding power adjustment factors need to be set based on different superposition modulation principles. In this case, F.sub.2 and F.sub.3 may be designed in the manner in Embodiment 1 and Embodiment 2, but some changes need to be made for F.sub.1. Q spreading coefficients may be further designed for each group of terminals. c.sub.m,v is a v.sup.th spreading coefficient (v=1, 2, . . . , or Q) of an m.sup.th group of terminals. It can be learned that spreading coefficients of data of a same group are consistent.
[0136] In this case, a symbol vector S used for further processing may be expressed as:
[0137] This example may not be related to angle rotation. Therefore, it may be assumed that an angle rotation factor is 1. To be specific, F.sub.2 is an identity matrix. In this case, based on an overall precoding matrix form, the symbol vector S may be expressed as:
[0138] As can be learned from comparison with F.sub.1 in Embodiment 1 and Embodiment 2, F.sub.1 in Embodiment 1 and Embodiment 2 may be considered as a special case in which values 1 and 0 are set for c.sub.m,v in F.sub.1 in this embodiment. It may be considered that, F.sub.1 in Embodiment 1 and Embodiment 2 indicates selection of a spreading location for a basic modulation symbol. However, for F.sub.1 in this embodiment, all Q spreading locations are selected, and a further spreading operation is performed by using the spreading coefficient c.sub.m,v. Therefore, the network device and the terminal further need to store all spreading coefficients c.sub.m,v. If there are a plurality of groups of different spreading coefficients, the network device further needs to notify the terminal of a used group of spreading coefficients. In addition, in this example, there are only H=3 groups of terminals, and each terminal has only one layer of data. However, there is actually no limitation. There may be a maximum of H=Q groups of terminals, and each terminal may have H layers of data. To be specific, it only needs to ensure that there are no duplicate terminals in each group.
[0139] (2) The Preprocessing Operation is Implemented by Using a Function.
[0140] A downlink symbol vector used for further processing in this embodiment may alternatively be obtained by using a basic modulation symbol set and based on a precoding function, namely,
S=F(X),
[0141] where X=[x.sub.11 x.sub.12 x.sub.21 x.sub.22 x.sub.31 x.sub.32].sup.T is a basic modulation symbol vector of each group, and the function F is:
[0142] A definition of each element is the same as that in the precoding matrix solution in this embodiment. Details are not described herein again. Similarly, the network device and the terminal further need to store all spreading coefficients c.sub.m,v. If there are a plurality of groups of different spreading coefficients, the network device further needs to notify the terminal of a used group of spreading coefficients. This example may not be related to angle rotation. Therefore, it may be assumed that an angle rotation factor is 1, or an item of an angle rotation factor may be omitted. For ease of description, the item of an angle rotation factor is omitted in the following expressions. In this case, an overall precoding function F() may alternatively be decomposed into a spreading and superposition function F.sub.1() and a power allocation function F.sub.3(), to be specific,
S=F.sub.1(F.sub.3(X)),
[0143] where
[0144] In either of the foregoing two methods, after receiving S obtained through detection, the terminal may work out the basic modulation symbol of the terminal based on a basic modulation scheme notified in advance or prestored by the network device, the layer number occupied by the terminal, precoding matrix information, or function information. Then an encoded information bit can be restored based on a basic modulation constellation diagram and is further decoded.
Embodiment 4
[0145] Embodiment 1 to Embodiment 3 discuss a case of downlink transmission. Correspondingly, this embodiment, Embodiment 5, and Embodiment 6 discuss how to perform data modulation and a preprocessing operation in uplink transmission.
[0146] Corresponding to Embodiment 1, referring to
[0147] If a quantity D.sub.k of basic modulation symbols when the terminal sends data is equal to or less than the quantity Q of REs, each layer of data may occupy a different RE. Steps of power allocation and angle rotation in the preprocessing operation may be omitted (in terms of a form, matrixes F.sub.2 and F.sub.3 are identity matrixes, or inputs of functions F.sub.2() and F.sub.3() are equal to outputs).
[0148] For example, it may be assumed that currently the network device supports an example in which G=6 layers of data are multiplexed on Q=4 REs. To be specific, an overload probability is G/Q=150%. Each layer of data is mapped to two symbols after basic modulation. In other words, d.sub.g=.sup.2, g=1, . . . , or G and there are D=12 symbols in total. These parameters are listed in Table 4. These parameters are all determined by the network device and notified to each terminal. The notified content includes a number of a layer at which the data of each terminal is located. Compared with the parameters in Table 1, an only difference is that the mode is changed from downlink to uplink. However, it should be noted that, distribution of data layers in the terminals is not yet discussed herein. For spreading mapping corresponding to each layer of data in Table 4, refer to
TABLE-US-00005 TABLE 4 Parameter table of an uplink regular spreading embodiment Parameter Value Total data layer quantity G 6 Distribution of basic modulation symbol quantities of data [2,2,2,2,2,2] layers Quantity Q of REs 4 Overload probability (G/Q) 150% Mode Uplink
[0149] (1) A Case in which One Terminal Occupies One Data Layer
[0150] It is assumed that a terminal uses, based on a scheduling result of the network device, a data layer 1 (G.sub.k=1) for uplink transmission. Therefore, based on
[0151] (1-1) The Preprocessing Operation is Implemented by Using a Precoding Matrix.
[0152] A symbol vector S used for further processing may be expressed as:
[0153] Two identity matrixes indicate that neither power nor an angle is adjusted. Therefore, sometimes F.sub.2 and F.sub.3 may be directly omitted. In other words, S=FX=F.sub.1X. This principle is also applicable to the following embodiments. Two columns of the matrix F.sub.1 are orthogonal to each other. X is two different basic modulation symbols to which a first layer of data bits are mapped. To be specific, x.sub.11x.sub.12. (certainly, x.sub.11 may alternatively be the same as x.sub.12, and this needs to be determined based on a specific basic modulation scheme). Alternatively, F and F may be combined into F.sub.23, to be specific,
[0154] Alternatively, power allocation and angle rotation may be omitted, and a form of uniform precoding F is used for writing, to be specific,
[0155] (1-2) The Preprocessing Operation is Implemented by Using a Function.
[0156] A symbol vector S used for further processing may be expressed as:
S=F.sub.1(F.sub.2(F.sub.3(X))),
[0157] where
[0158] where X(t) indicates a t.sup.th element in the vector X, F.sub.2() and F.sub.3() may be in a reverse order, and S=F.sub.1(F.sub.3(F.sub.2(X))). Alternatively, F.sub.2() and F.sub.3() may be combined into F.sub.23(), to be specific,
S=F.sub.1(F.sub.23(X)),
[0159] where F.sub.23(X)=X. Certainly, another form of adjusting power and an angle may alternatively be set. Alternatively, a uniform form of a function F() may also be used for writing, where F()=F.sub.1(), to be specific,
S=F(X).
[0160] (2) A Case in which One Terminal Occupies Two Data Layers
[0161] It is assumed that a terminal uses, based on a scheduling result, a first and a second data layers for uplink transmission. The G=2 layers of data are mapped to D=d.sub.1+d.sub.2=4 basic modulation symbols in total and are orthogonally spread to four REs for sending. In other words, the four basic modulation symbols of the terminal do not interfere with each other. Referring to
[0162] (2-1) The Preprocessing Operation is Implemented by Using a Precoding Matrix.
[0163] A symbol vector S used for further processing may be expressed as:
[0164] where X is a symbol vector to which a first layer and a second layer of data bits are mapped. Alternatively, F.sub.2 and F.sub.3 may be combined into F.sub.23, to be specific,
[0165] Alternatively, power allocation and angle rotation may be omitted, and an operation may be performed by using a uniform precoding matrix F=F.sub.1, to be specific,
[0166] (2-2) The Preprocessing Operation is Implemented by Using a Function.
[0167] A symbol vector S used for further processing may be expressed as:
S=F.sub.1(F.sub.2(F.sub.3(X))),
[0168] where
[0169] where X(t) indicates a t.sup.th element in the vector X, F.sub.2() and F.sub.3() may be in a reverse order, and S=F.sub.1(F.sub.3(F.sub.2(X))). Alternatively, F.sub.2() and F.sub.3() may be combined into F.sub.23(), to be specific,
S=F.sub.1(F.sub.23(X)),
where F.sub.23(X)=X. Alternatively, F.sub.2(), F.sub.3(), or F.sub.23() may be omitted, and a uniform form of a function F() may be used for writing, to be specific,
S=F(X),
where F()=F.sub.1().
[0170] (3) A Case in which One Terminal Occupies Four Data Layers (Non-Orthogonally)
[0171] It is assumed that a terminal uses a first to a fourth data layers (G=4) for uplink transmission, and there are eight basic modulation symbols in total (D=d.sub.1+d.sub.2+d.sub.3+d.sub.4=8). Therefore, the basic modulation symbols cannot be orthogonally superposed on four REs, but can only be non-orthogonally superposed on the four REs for sending. Referring to
[0172] (3-1) The Preprocessing Operation is Implemented by Using a Precoding Matrix.
[0173] A symbol vector S used for further processing may be expressed as:
[0174] where operations on F.sub.2 and F.sub.3 may be performed in a reverse order, or F.sub.2 and F.sub.3 may be combined into F.sub.23, to be specific,
[0175] where .sub.gi (where g is a layer number, and i indicates different basic modulation symbols in a same layer of data) is defined the same as that in the foregoing embodiments, and is a complex number indicating power and angle adjustment.
[0176] Alternatively, S=FX
[0177] (3-2) The Preprocessing Operation is Implemented by Using a Function.
[0178] A symbol vector S used for further processing may be expressed as:
[0179] where X(t) indicates a t.sup.th element in the vector X, and operations on F.sub.2() and F.sub.3() may be performed in a reverse order, or F.sub.2() and F.sub.3() may be combined into F.sub.23(), to be specific,
S=F.sub.1(F.sub.23(X)), and
F.sub.23(X)=*X=[.sub.11,.sub.12,.sub.21,.sub.22,.sub.31,.sub.32,.sub.41,.sub.42].sup.T*X.
[0180] Alternatively, the three steps may be combined into one function, S=F(X), and
[0181] After receiving detected S of each terminal on the Q REs, the network device may work out a basic modulation symbol of each terminal based on preset precoding matrix information or function information. Then an encoded information bit can be restored based on a basic modulation constellation diagram and is further decoded.
Embodiment 5
[0182] Corresponding to Embodiment 2, referring to
[0183] For example, corresponding to Embodiment 2, it may be assumed that currently the network device supports an example in which G=5 layers of data are multiplexed on Q=3 REs. To be specific, an overload probability is G/Q=167%. Each layer of data is mapped to a different quantity of symbols after basic modulation. In other words, d.sub.1=3, d.sub.2=d.sub.3=2, d.sub.4=d.sub.5=1, and there are D=9 symbols in total. These parameters are listed in Table 5. These parameters are all determined by the network device and notified to each terminal. The notified content further includes a number of a layer at which the data of each terminal is located. Compared with the parameters in Table 2, an only difference is that the mode is changed from downlink to uplink. However, it should be noted that, distribution of data layers in the terminals is not yet discussed herein. For spreading mapping corresponding to each layer of data in Table 5, refer to
TABLE-US-00006 TABLE 5 Parameter table of an uplink irregular spreading embodiment Parameter Value Total data layer quantity G 5 Distribution of basic modulation symbol quantities of data [3,2,2,1,1] layers Quantity Q of REs 3 Overload probability (G/Q) 166.7% Mode Uplink
[0184] Compared with Embodiment 4, the spreading herein is irregular, and symbol quantities of the layers may not be consistent. In other words, different layers occupy different quantities of REs. Therefore, the spreading herein is referred to as irregular spreading. However, once a mapping manner is determined, procedures of the preprocessing operation are consistent.
[0185] (1) A Case in which One Terminal Occupies One Data Layer
[0186] It is assumed that a terminal uses, based on a scheduling result of the network device, a data layer 1 for uplink transmission, in other words, G=1. Therefore, based on
[0187] (1-1) The Preprocessing Operation is Implemented by Using a Precoding Matrix.
[0188] It is assumed that a terminal uses the first data layer for uplink transmission. Symbols of the layer are to be orthogonally sent on the three REs. A symbol vector S used for further processing may be expressed as:
[0189] X is symbols to which a first layer of data bits are mapped based on a basic constellation. It is assumed that x.sub.11=x.sub.12=x.sub.13 (certainly, x.sub.11, x.sub.12, and x.sub.13 may alternatively be different, and this needs to be determined based on a specific basic modulation scheme). Locations of F.sub.2 and F.sub.3 may change, or F.sub.2 and F.sub.3 may be combined into F.sub.23:
[0190] Alternatively, a uniform matrix F may be used. To be specific, F=F.sub.1:
[0191] (1-2) The Preprocessing Operation is Implemented by Using a Function.
[0192] A symbol vector S used for further processing may be expressed as:
S=F.sub.1(F.sub.2(F.sub.3(X))),
[0193] where
[0194] where X(t) indicates a t.sup.th element in the vector X. Alternatively, F.sub.2() and F.sub.3() may be in a reverse order, or F.sub.2() and F.sub.3() may be combined into F.sub.23(), to be specific,
S=F.sub.1(F.sub.23(X)),
[0195] where F.sub.23(X)=X, and an input is equal to an output. Alternatively, F.sub.2(), F.sub.3(), or F.sub.23() may be omitted, and a uniform form of a function F() may be used for writing, to be specific,
S=F(X),
[0196] where F()=F.sub.1().
[0197] (2) A Case in which One Terminal Occupies a Plurality of Data Layers (Non-Orthogonally)
[0198] It is assumed that a terminal uses, based on a scheduling result of the network device, the data layers 2 and 3 for uplink transmission. Therefore, based on
[0199] (2-1) The Preprocessing Operation is Implemented by Using a Precoding Matrix.
[0200] It is assumed that a terminal uses the second and the third data layers for uplink transmission. Symbols of the layers are to be non-orthogonally sent on the three REs after superposition. A symbol vector S used for further processing may be expressed as:
[0201] X is symbols to which a second and a third layers of data bits are mapped based on a basic constellation. It is assumed that x.sub.21=x.sub.22, and x.sub.31=x.sub.32 (certainly, x.sub.21 and x.sub.22 may alternatively be different, x.sub.31 and x.sub.32 may alternatively be different, this needs to be determined based on a specific basic modulation scheme, and this is merely an example herein). Alternatively, F.sub.2 and F.sub.3 may be combined into F.sub.23, to be specific,
where .sub.gi where g is a layer number, and i indicates different basic modulation symbols in a same layer of data) is defined the same as that in the foregoing embodiments, and is a complex number indicating power and angle adjustment. Alternatively, a uniform precoding matrix F is used, and
[0202] (2-2) The Preprocessing Operation is Implemented by Using a Function.
[0203] A symbol vector S used for further processing may be expressed as:
[0204] where X(t) indicates a t.sup.th element in the vector X, and operations on F.sub.2() and F.sub.3() may be performed in a reverse order. Alternatively, F.sub.2() and F.sub.3() may be combined into F.sub.23(). To be specific,
S=F.sub.1(F.sub.23(X)), and
F.sub.23(X)=*X=[.sub.21,.sub.22,.sub.31,.sub.32].sup.T*X.
[0205] Alternatively, the three steps may be combined into one function, S=F(X), and
[0206] Similarly, after receiving detected S of each terminal on the Q REs, the network device may work out a basic modulation symbol of each terminal based on preset precoding matrix information or function information. Then an encoded information bit can be restored based on a basic modulation constellation diagram and is further decoded.
Embodiment 6
[0207] Corresponding to Embodiment 3, this embodiment provides a procedure of generating an uplink to-be-transmitted symbol by a terminal based on scheduling by a network device. Similarly, the network device schedules N terminals. A total of G layers of data are classified into H groups. It is assumed that each group includes a same quantity of J=G/H layers of data. The J layers of data may multiplex completely same REs by using a superposition modulation scheme. Data layers in a same group do not belong to a same terminal. Certainly, quantities of data layers in the groups may be different. Before the terminal performs modulation and a preprocessing operation shown in
[0208] In a system of this embodiment, symbols of the terminals are extended by using a complex sequence with a low correlation, and then are sent on a same time-frequency resource.
[0209] For example, an example provided in Embodiment 3 is used herein. To be specific, Q=4 (that is, a spreading length is 4) REs are used for transmitting G=6 layers of uplink data. The six layers of data are classified into H=3 groups. J=G/H=2 layers of data in each group use a same spreading sequence, and are directly superposed when the layers of data are received on a network device side. For specific parameters, refer to Table 6. These parameters are all determined by the network device and notified to each terminal. The notified content further includes a number of a layer at which the data of each terminal is located. Compared with Table 4, in Table 6, only distribution of basic modulation symbol quantities of the data layers is changed. For mapping of the layers of data to the REs, refer to
TABLE-US-00007 TABLE 6 Uplink spreading parameter table Parameter Value Total data layer quantity G 6 Distribution of basic modulation symbol quantities of data [1,1,1,1,1,1] layers Quantity Q of REs 4 Overload probability (G/Q) 150% Mode Uplink
[0210] (1) A Case in which One Terminal Occupies One Data Layer
[0211] It is assumed that a sequence length is Q, and a terminal 1 uses, based on a scheduling result of the network device, a data layer 1 for uplink transmission. Based on
[0212] Because this scenario does not relate to power and angle adjustment, items of power allocation and angle adjustment are omitted. Alternatively, a form of a function S=F.sub.1(X)=c.sub.1,1x.sub.1+c.sub.1,2x.sub.1+ . . . +c.sub.1,Qx.sub.1 is used for writing.
[0213] (2) A Case in which One Terminal Occupies a Plurality of Data Layers
[0214] It is assumed that a sequence length is Q, and a terminal 1 uses, based on a scheduling result of the network device, data layers 1 and 3 (G.sub.1=2) for uplink transmission. Because the data layers 1 and 2 are in a same group, the terminal cannot occupy the data layers 1 and 2 at the same time. Based on
[0215] Because this scenario does not relate to power and angle adjustment, items of power allocation and angle adjustment are omitted. It is easily learned that F.sub.1 herein is a column orthogonal matrix. In other words, columns are orthogonal to each other, and this is orthogonal spreading. However, this does not need to be limited between different terminals.
[0216] The foregoing formula may alternatively be written in a form of a function s=F.sub.1(X), and
[0217] After receiving detected S of each terminal on the Q REs, the network device may work out a basic modulation symbol of each terminal based on preset precoding matrix information or function information of each terminal. Then an encoded information bit can be restored based on a basic modulation constellation diagram and is further decoded.
Embodiment 7
[0218] The foregoing embodiments provide examples of uplink and downlink preprocessing operation procedures of regular or irregular spreading. This embodiment and Embodiment 8 are to discuss corresponding apparatus designs.
[0219]
[0220] The processing module 160 is configured to divide data of any one of N terminals scheduled on Q resource elements into G.sub.k layers of data. The processing module processes a maximum of G layers of data on the Q resource elements. G.sub.k is a positive integer, G.sub.k<G, Q is a positive integer, Q<G, N is a positive integer, and NG.
[0221] The modulation module 100 is configured to perform basic modulation on the G.sub.k layers of data to obtain D.sub.k basic modulation symbols, where D.sub.kG.sub.k, and D.sub.k is a positive integer.
[0222] The combination module 110 is configured to combine the basic modulation symbols that are of the N terminals and that are obtained after the basic modulation to obtain a combined symbol vector X.
[0223] The preprocessing operation module 150 is configured to map the symbol vector X to the Q resource elements to obtain a data vector S. A symbol quantity of the symbol vector X is greater than a symbol quantity of the data vector S. The symbol quantity of the data vector S is the quantity Q of the resource elements.
[0224] That the preprocessing operation module 150 is configured to map the symbol vector X to the Q resource elements to obtain a data vector S includes: the preprocessing operation module 150 is configured to map the symbol vector X to the Q resource elements by using a preprocessing operation to obtain the data vector S. The preprocessing operation includes at least spreading and superposition.
[0225] The preprocessing operation module 150 includes a power adjustment module 120, an angle rotation module 130, and a spreading and superposition module 140. The power adjustment module 120 is configured to adjust power of the basic modulation symbol. The angle rotation module 130 is configured to rotate an angle of the basic modulation symbol. The spreading and superposition module 140 is configured to perform spreading and superposition on the basic modulation symbol. Particularly, the power adjustment module 120 and the angle rotation module 130 may change an order of sequential processing. Alternatively, the power adjustment module 120, the angle rotation module 130, and the spreading and superposition module 140 may further jointly form the preprocessing operation module 150. Alternatively, the power adjustment module 120 and the angle rotation module 130 may further be combined into a power adjustment and angle rotation module 170. The power adjustment and angle rotation module 170 is configured to perform power adjustment and angle rotation on the basic modulation symbol at the same time. When a power adjustment matrix F.sub.2 is an identity matrix or when a power adjustment function F.sub.2(X) is equal to X, the power adjustment module 120 may not be used. When an angle rotation matrix F.sub.3 is an identity matrix or when an angle rotation function F.sub.3(X) is equal to X, the angle rotation module 130 may not be used. The modulation module 100 is coupled to the combination module 110. The combination module 110 is coupled to the preprocessing operation module 150.
[0226] The modulation module 100 modulates a plurality of layers of data from the N terminals into basic modulation symbols based on a basic modulation scheme of each layer. The combination module 110 sequentially combines the data into the vector X based on a basic modulation symbol combination method according to any one of Embodiment 1 to Embodiment 3. The vector X is input into the preprocessing operation module 150. The preprocessing operation module 150 processes the vector X by using a preprocessing operation method according to any one of Embodiment 1 to Embodiment 3, maps the vector X to Q REs, and outputs the vector S. For details about how to perform the basic modulation and how to perform the power adjustment, the angle rotation, and the spreading and superposition, refer to related descriptions in the foregoing Embodiment 1 to Embodiment 3. Details are not described herein again.
[0227] The processing module 160 is further configured to perform further processing on the vector S. Such processing includes but is not limited to an IFFT transform.
[0228] The modulation module 100, the combination module 110, the preprocessing operation module 150, and the processing module 160 may further be integrated into one processor. The processor is configured to process the data of the N terminals.
Embodiment 8
[0229]
[0230] The processing module 260 is configured to divide data sent on the Q resource elements into G.sub.k layers of data. G.sub.k is a positive integer, G.sub.k<G, Q is a positive integer, Q<G, N is a positive integer, and NG.
[0231] The modulation module 200 is configured to perform basic modulation on the G.sub.k layers of data to obtain D.sub.k basic modulation symbols, where D.sub.kG.sub.k, and D.sub.k is a positive integer.
[0232] The combination module 210 is configured to combine the D.sub.k basic modulation symbols to obtain a combined symbol vector X.sub.k.
[0233] The preprocessing operation module 250 is configured to map the symbol vector X.sub.k to the Q resource elements to obtain a data vector S.sub.k, where a sum of symbol quantities of symbol vectors of the N terminals is greater than Q.
[0234] That the preprocessing operation module 250 is configured to perform a preprocessing operation on the symbol vector X.sub.k includes: the preprocessing operation module 250 is configured to map the symbol vector X.sub.k to the Q resource elements by using the preprocessing operation to obtain the data vector S.sub.k, where the preprocessing operation includes at least spreading and superposition.
[0235] The preprocessing operation module 250 includes a power adjustment module 220, an angle rotation module 230, and a spreading and superposition module 240. The power adjustment module 220 is configured to adjust power of the basic modulation symbol. The angle rotation module 230 is configured to rotate an angle of the basic modulation symbol. The spreading and superposition module 240 is configured to perform spreading and superposition on the basic modulation symbol. Particularly, the power adjustment module 220 and the angle rotation module 230 may change an order of sequential processing. Alternatively, the power adjustment module 220, the angle rotation module 230, and the spreading and superposition module 240 may further jointly form the preprocessing operation module 250. Alternatively, the power adjustment module 220 and the angle rotation module 230 may further be combined into a power adjustment and angle rotation module 270. The power adjustment and angle rotation module 270 is configured to perform power adjustment and angle rotation on the basic modulation symbol at the same time. When a power adjustment matrix F.sub.2 is an identity matrix or when a power adjustment function F.sub.2(X) is equal to X, the power adjustment module 220 may not be used. When an angle rotation matrix F.sub.3 is an identity matrix or when an angle rotation function F.sub.3(X) is equal to X, the angle rotation module 230 may not be used. The modulation module 200 modulates at least one layer of data of the terminal into basic modulation symbols based on a basic modulation scheme of each layer. The G.sub.k layers of data of the terminal are sequentially combined into the vector X.sub.k by using a basic modulation symbol combination method according to any one of Embodiment 4 to Embodiment 6. The vector X.sub.k is input into the preprocessing operation module 250. The preprocessing operation module 250 processes the vector X.sub.k by using a preprocessing operation method according to any one of Embodiment 4 to Embodiment 6, and outputs the vector S.sub.k, for further processing in the processing module 260. Such processing includes but is not limited to an IFFT transform.
[0236] The modulation module 200, the combination module 210, the preprocessing operation module 250, and the processing module 260 may further be integrated into one processor. The processor is configured to process the data of the terminal.
[0237] For details about how to perform the basic modulation and how to perform the power adjustment, the angle rotation, and the spreading and superposition, refer to related descriptions in the foregoing Embodiment 4 to Embodiment 6. Details are not described herein again.
[0238] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and method may be implemented in other manners. For example, the described apparatus embodiments are merely examples. For example, the module or device division is merely logical function division and may be other division in actual implementation. For example, a plurality of modules or devices may be combined to form a new device. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented by using some interfaces. The indirect couplings or communication connections between the apparatuses, devices, or units may be implemented in electronic, mechanical, or other forms. The devices in the embodiments of this application are physical units, and some functions of the devices may be implemented by software or by hardware. A person skilled in the art may select a corresponding implementation based on actual needs. The processor of the present disclosure may be a general purpose processor, an integrated circuit, or a chip.
[0239] In addition, modules in the embodiments of this application may be integrated into one processor, or each of the modules may exist alone physically, or two or more modules may be integrated into one unit.