Patent Description:
As wireless cellular networks continuously evolve, orthogonal multiple access technologies such as a Code Division Multiple Access (Code Division Multiple Access, CDMA) technology and an Orthogonal Frequency Division Multiple Access (Orthogonal Frequency Multiple Access, OFDMA) technology that are widely applied to third-generation (<NUM>) and fourth-generation (<NUM>) mobile communications systems already gradually become inadequate to meet increasing capacity requirements of people on cellular networks, for example, are already inadequate to meet massive access and continuous increase of spectral efficiency, and the like. With ongoing development of research and application of non-orthogonal multiple access technologies, people hope that a future wireless cellular network such as a fifth-generation (<NUM>) mobile communications system can effectively address a problem of increasing capacity requirements by means of non-orthogonal multiple access technologies.

In another aspect, conventional request-grant-based uplink data transmission in a cellular network is usually performed according to the following steps: First, a user sends a service request to a base station by using a specific resource (for example, a time-frequency resource). After receiving the service request, the base station grants uplink data transmission for the user according to a data buffer status reported by the user periodically or non-periodically, and delivers, to the user, an allocated resource for use in uplink transmission. Finally, the user transmits uplink data according to grant information by using the allocated uplink resource.

At an initial stage of an evolution process of a cellular network, a quantity of terminals increases relatively slowly, and users have relatively low requirements on delays. A conventional request-grant-based uplink data transmission method can be widely applied to <NUM> and <NUM> systems. However, as application scenarios, terminal types, and application types become increasingly varied, in a future evolution process of the cellular network, the quantity of terminals increases in an explosive manner. In specific application scenarios, users also impose higher requirements on network delays. In such a case, the conventional request-grant-based uplink data transmission method becomes no longer applicable because of relatively long delays and relatively high signaling overheads.

Compared with a conventional request-grant-based transmission method, in a non-grant-mode transmission method, a user directly sends uplink data by using a specific resource without needing to undergo a process from service requesting to uplink granting by a base station. Therefore, the non-grant-mode transmission method has significant advantages in terms of network delays and signaling overheads. In a non-orthogonal multiple access technology, it is allowed to use different codebooks to send different data streams on a same time-frequency resource, and a receive end can implement error-free decoding of multiple data streams. Therefore, a non-grant-mode uplink transmission method in which a non-orthogonal multiple access technology is combined has the potential to be extremely widely applied in future cellular communications systems (for example, <NUM>).

Currently, a non-grant-mode uplink transmission method in an SCMA system is: A base station assigns one contention transmission unit (Contention Transmission Unit, CTU) to each user. The CTU is defined as a combination of a time-frequency resource and an SCMA codebook or a pilot sequence. After a user has reached uplink synchronization with the base station, if uplink data needs to be sent, the user directly generates the uplink data by using an SCMA codebook in a corresponding CTU and directly generates a pilot by using a pilot sequence in the corresponding CTU, and sends the uplink data and the pilot on a time-frequency resource specified by the CTU. The base station decodes user data on a possible time-frequency resource by using a blind detection method and by using a possible SCMA codebook and pilot sequence.

However, because the base station needs to try sizes of all possible transport blocks during decoding, so as to perform blind detection on user data. The blind detection has huge costs. For example, a processing delay is extremely long, and even exceeds a transmission delay that can be saved in a non-grant-mode transmission method, thereby causing the non-grant-mode transmission method to lose an advantage of a short delay over the conventional request-grant-based transmission method.

<CIT> discloes methods for scheduling of uplink transmission and generating transport blocks according to multiple received uplink assignments. Document <CIT> and document <CIT> relate to method for providing control signalling associated to a transport block in a mobile communication system and to apparatuses for performing such methods. Document <CIT> relates to wireless communications and to methods, systems and apparatus for timing synchronization during a wireless uplink random access procedure. This document describes a technique for receiving first timing advance information associated with uplink wireless communications with a base station (BS), transmitting a random access connection request message to the BS, receiving a random access response from the BS while the first timing advance information is within a valid time period, the random access response comprising second timing advance information associated with uplink wireless communications with the base station, determining, after receiving the random access response, that the valid time period for the first timing advance information has expired, and utilizing the second timing advance information for uplink communications with the BS after determining that the valid time period for the first timing advance information has expired.

The scope of the protection of the present invention is defined by the appended claims.

To describe the technical solutions in the embodiments of the present disclosure more clearly, the following briefly describes the accompanying drawings required for describing the embodiments of the present disclosure or the prior art. Apparently, the accompanying drawings in the following description show merely some embodiments of the present disclosure. In the following, parts of the drawings referring to embodiments which are not covered by the appended claims are not presented as embodiments of the invention, but as examples useful for understanding the invention.

In the following, parts of the description of the embodiments which are not covered by the appended claims are not presented as embodiments of the invention, but as examples useful for understanding the invention.

Terminologies such as "component", "module", and "system" used in this specification are used to represent computer-related entities, hardware, firmware, combinations of hardware and software, software, or software being executed. For example, a component may be, but is not limited to, a process that runs on a processor, a processor, an object, an executable file, a thread of execution, a program, and/or a computer. As shown in figures, both a computing device and an application that runs on a computing device may be components. One or more components may reside within a process and/or a thread of execution, and a component may be located on one computer and/or distributed between two or more computers. In addition, these components may be executed from various computer-readable media that store various data structures. For example, the components may communicate by using a local and/or remote process and according to, for example, a signal having one or more data packets (for example, data from two components interacting with another component in a local system, a distributed system, and/or across a network such as the Internet interacting with other systems by using the signal).

The embodiments of the present disclosure are described by using a terminal device. The terminal device may also be referred to as user equipment (UE, User Equipment) user equipment, an access terminal, a user unit, a user station, a mobile site, a mobile station, a remote station, a remote terminal, a mobile device, a user terminal, a terminal, a wireless communications device, a user agent, or a user apparatus. The access terminal may be a cellular phone, a cordless phone, a SIP (Session Initiation Protocol, Session Initiation Protocol) phone, a WLL (Wireless Local Loop, wireless local loop) station, a PDA (Personal Digital Assistant, personal digital assistant), a handheld device having a wireless communications function, a computing device, another processing device connected to a wireless modem, an in-vehicle device, a wearable device, or a terminal device in a future <NUM> network.

In addition, the embodiments of the present disclosure are described by using a network device. The network device may be a base station or another device that is configured to communicate with a mobile device. The base station may be a BTS (Base Transceiver Station, base transceiver station) in GSM (Global System of Mobile communication, Global System for Mobile Communications) or CDMA (Code Division Multiple Access, Code Division Multiple Access), or may be an NB (NodeB, NodeB) in WCDMA (Wideband Code Division Multiple Access, Wideband Code Division Multiple Access), or may be an eNB or eNodeB (Evolutional Node B, evolved NodeB) in LTE (Long Term Evolution, Long Term Evolution), or a relay station or an access point, or an in-vehicle device, a wearable device, or a network device in a future <NUM> network.

In addition, aspects or features of the present disclosure may be implemented as a method, an apparatus or a product that uses standard programming and/or engineering technologies. The term "product" used in this application covers a computer program that can be accessed from any computer readable component, carrier or medium. For example, the computer-readable medium may include but is not limited to: a magnetic storage component (for example, a hard disk, a floppy disk or a magnetic tape), an optical disc (for example, a CD (Compact Disk, compact disk), a DVD (Digital Versatile Disk, digital versatile disk), a smart card and a flash memory component (for example, EPROM (Erasable Programmable Read-Only Memory, erasable programmable read-only memory), a card, a stick, or a key drive). In addition, various storage media described in this specification may represent one or more devices and/or other machine-readable media that is used to store information. The term "machine readable media" may include but is not limited to a radio channel, and various other media that can store, contain and/or carry an instruction and/or data.

<FIG> is a schematic diagram of a communications system <NUM> applicable to an uplink data transmission method according to an embodiment of the present disclosure. As shown in <FIG>, the communications system <NUM> includes a network device <NUM>. The network device <NUM> may include multiple antenna groups. Each antenna group may include multiple antennas. For example, one antenna group may include antennas <NUM> and <NUM>, another antenna group may include antennas <NUM> and <NUM>, and an additional group may include antennas <NUM> and <NUM>. In <FIG>, two antennas are shown in each antenna group. However, in each group, more or fewer antennas can be used. The network device <NUM> may additionally include a transmitter chain and a receiver chain, and a person of ordinary skill in the art may understand that both the transmitter chain and the receiver chain may include multiple components (for example, a processor, a modulator, a multiplexer, a demodulator, a demultiplexer, and an antenna) related to signal sending and receiving.

The network device <NUM> may communicate with multiple terminal devices (for example, a terminal device <NUM> and a terminal device <NUM>). However, it may be understood that the network device <NUM> may communicate with any quantity of terminal devices similar to the terminal device <NUM> or <NUM>. The terminal devices <NUM> and <NUM> may be, for example, a cellular phone, a smartphone, a portable computer, a handheld communications device, a handheld computing device, a satellite radio apparatus, a global positioning system, a PDA, and/or any other suitable devices configured to perform communication on the wireless communications system <NUM>.

As shown in <FIG>, the terminal device <NUM> communicates with the antennas <NUM> and <NUM>, where the antennas <NUM> and <NUM> send information to the terminal device <NUM> by using a forward link <NUM>, and receive information from the terminal device <NUM> by using a reverse link <NUM>. In addition, the terminal device <NUM> communicates with the antennas <NUM> and <NUM>, where the antennas <NUM> and <NUM> send information to the terminal device <NUM> by using a forward link <NUM>, and receive information from the terminal device <NUM> by using a reverse link <NUM>.

For example, in a frequency division duplex (FDD, Frequency Division Duplex) system, the forward link <NUM> may use a frequency band different from that used by the reverse link <NUM>, and the forward link <NUM> may use a frequency band different from that used by the reverse link <NUM>.

For another example, in a time division duplex (TDD, Time Division Duplex) system and a full duplex (Full Duplex) system, the forward link <NUM> and the reverse link <NUM> may use a common frequency band, and the forward link <NUM> and the reverse link <NUM> may use a common frequency band.

Each group of antennas or an area or both that are designed to perform communication are referred to as a sector of the network device <NUM>. For example, the antenna group may be designed to communicate with a terminal device in a sector of coverage of the network device <NUM>. In a process that the network device <NUM> respectively communicates with the terminal devices <NUM> and <NUM> by using the forward links <NUM> and <NUM>, a transmit antenna of the network device <NUM> may improve signal-to-noise ratios of the forward links <NUM> and <NUM> by means of beamforming. In addition, compared with a manner in which a network device sends signals to all terminal devices of the network device by using a single antenna, when the network device <NUM> sends, by means of beamforming, signals to the terminal devices <NUM> and <NUM> that are randomly scattered in related coverage, relatively little interference is caused to a mobile device in a neighboring cell.

Within a given time, the network device <NUM>, the terminal device <NUM>, or the terminal device <NUM> may be a wireless communications sending apparatus and/or a wireless communications receiving apparatus. When sending data, the wireless communications sending apparatus may encode data so as to transmit the encoded data. Specifically, the wireless communications sending apparatus may obtain (for example, generate, receive from another communications apparatus, or save in a memory) a particular quantity of data bits that need to be sent to the wireless communications receiving apparatus through a channel. Such data bits may be included in a transport block (or multiple transport blocks) of data, and the transport block may be segmented to generate multiple code blocks.

<FIG> is a schematic flowchart of an uplink data transmission method <NUM> according to an embodiment of the present disclosure. As shown in <FIG>, the method <NUM> may be executed by a network device, for example, a base station. The method <NUM> includes:.

S201: Determine M transmission areas allocated to a terminal device, and generate first information used to indicate the M transmission areas, where M is a positive integer, and the transmission area represents an air interface time-frequency resource that includes a time range and a frequency range that are specified by a communications system.

S202: Determine, for each transmission area of the M transmission areas, second information used to indicate a transport block size.

S203: Send an indication message to the terminal device, so that the terminal device transmits uplink data according to the indication message, where the indication message includes the first information and the second information.

Therefore, in the uplink data transmission method provided in this embodiment of the present disclosure, at least one transmission area is determined, and related information about a transport block size is assigned to the transmission area, so that a terminal device transmits uplink data on the transmission area by using the corresponding transport block size. Therefore, uplink data can be decoded on a transmission area according to a transport block size. In this way, a processing delay can be reduced.

First, the "transmission area" mentioned in this embodiment of the present disclosure is described. The transmission area in this embodiment of the present disclosure may represent an air interface time-frequency resource that includes a time range and a frequency range that are specified by a communications system. The air interface time-frequency resource may be not granted to only a specific terminal device, but instead, a nonspecific terminal device may be allowed to perform non-grant-mode uplink data transmission on the air interface time-frequency resource. In the non-grant-mode uplink data transmission method, a terminal device may directly use a specific time-frequency resource to send uplink data without needing to undergo a process from service requesting to uplink granting by a network device. Certainly, a person skilled in the art may understand that the "transmission area" may be referred to as another name. As shown in <FIG>, in a same communications system, there may be multiple transmission areas, and any two different transmission areas may overlap in a time range, or may overlap in a frequency range, but cannot overlap in both a time range and a frequency range. That is, any two different transmission areas cannot overlap in an area formed of two-dimensional coordinate space.

In addition, the "data" in this embodiment of the present disclosure may refer to a signal transmitted through an air interface, a symbol generated after constellation modulation is performed, a symbol generated after codebook modulation is performed, a bit stream, or a signal in another form. For brevity, the foregoing signals and symbols in this embodiment of the present disclosure are collectively referred to as data.

Specifically, the determining transmission areas that are allocated by a network device to a terminal device in S201 may refer to determining a time resource and a frequency resource of a transmission area that can be used by the terminal device, and a quantity of transmission areas that can be used by the terminal device is M. In an embodiment, the first information generated by the network device includes time domain information and frequency domain information of each transmission area of the M transmission areas. That is, the first information used to indicate the M transmission areas may be generated according to time resources and frequency resources of the M transmission areas allocated by the network device to the terminal device. The first information may be a time resource and a frequency resource, or may be, for example, a sequence number/an identifier/an index that indicates a time resource and a frequency resource. The network device may determine one transmission area for the terminal device, or may determine multiple transmission areas for the terminal device, and a quantity of determined transmission areas is not limited in this embodiment of the present disclosure.

The determining, for each transmission area of the M transmission areas, second information used to indicate a transport block size in S202 may include assigning, to each transmission area, a transport block size or a coding rate used to calculate a transport block size. That is, each transmission area is bound to the assigned transport block size or the assigned coding rate used to calculate a transport block size. When the terminal device and the network device respectively send and receive uplink data on a transmission area, the terminal device and the network device use the transport block size or coding rate assigned to the transmission area. Generally, the network device may assign, to each transmission area, a transport block size or one coding rate used to calculate a transport block size, or may assign, to each transmission area, multiple transport block sizes or multiple coding rates used to calculate transport block sizes. Transport block sizes or coding rates, used to calculate transport block sizes, assigned by the base station to different transmission areas may be the same or different. This is not limited in this embodiment of the present disclosure. The second information may be a transport block size or a coding rate, or may be a sequence number/an identifier/an index indicating a transport block size or a coding rate.

In S203, the network device sends an indication message that includes the first information and the second information to the terminal device. That is, the network device informs the terminal device of the M transmission areas allocated to the terminal device and the second information related to the transport block size of each transmission area of the M transmission areas, so that the terminal device transmits uplink data according to the indication message. Specifically, the terminal device may select N transmission areas from the M transmission areas, and transmit uplink data on each transmission area of the N transmission areas according to a transport block size corresponding to each transmission area of the N transmission areas.

Optionally, in an embodiment, the second information includes information about a transport block size determined for each transmission area of the M transmission areas; or
the second information includes information about a coding rate determined for each transmission area of the M transmission areas, so that the terminal device determines a transport block size according to a quantity of unit time-frequency resources that are in a transmission area and that can be used to transmit data, a modulation order, and the coding rate.

Specifically, the network device may inform, in a form of explicit indication, the terminal device of the transport block size determined for each transmission area. For example, the network device directly sends information about the transport block size to the terminal device. The network device may further inform, in a form of implicit indication, the terminal device of the transport block size determined for each transmission area. For example, the network device sends information about a coding rate to the terminal device. The terminal device may calculate the transport block size according to the coding rate. For example, the terminal device may determine the transport block size according to a quantity of unit time-frequency resources that are in a transmission area and that can be used to transmit data, a modulation order, and a coding rate. The quantity of unit time-frequency resources that are used to transmit data and the modulation order may be preset in the communications system and configured on the network device and the terminal device, or may be notified by the network device to the terminal device, or may be obtained by the terminal device by using another device, and this is not limited in this embodiment of the present disclosure. A specific calculation manner may be as follows:.

The transport block size = the quantity of unit time-frequency resources that are in a transmission area and that can be used to transmit data * the modulation order * the coding rate/a total quantity of elements in a codeword (applicable to a system in which codebook modulation is used); or the transport block size = the quantity of unit time-frequency resources that are in a transmission area and that can be used to transmit data * the modulation order * the coding rate (applicable to a system in which constellation modulation is used). The unit time-frequency resource refers to a minimum time-frequency resource used to transmit one modulation symbol, and is, for example, a resource element (Resource Element, RE) in an Orthogonal Frequency Division Multiplexing (Orthogonal Frequency Division Multiplexing, OFDM) system. The modulation order may be obtained according to a quantity of codewords included in a codebook, or obtained according to a quantity of constellation points included in a modulation constellation. The quantity of unit time-frequency resources that are in a transmission area and that can be used to transmit data is obtained by subtracting, from a quantity of all unit time-frequency resources included in the transmission area, a quantity of unit time-frequency resources that are in the transmission area and that are used to send signals (for example, a pilot and hybrid automatic repeat request (Hybrid Automatic Repeat reQuest, HARQ) information) other than the data.

Optionally, in an embodiment, the sending an indication message to the terminal device in S203 includes:.

Specifically, manners for carrying and delivering the indication message that is sent by the network device to the terminal device may be, but are not limited to, the following several manners.

For example, an indication message is delivered in a broadcast channel carrying manner. For example, an indication message is carried in system information (System Information, SI) by using a broadcast channel (Broadcast Channel, BCH) in an LTE system, and the indication message is sent in a broadcast manner to all or some of the terminal devices served by the network device.

For another example, an indication message is delivered in a dedicated control channel carrying manner. For example, an indication message is carried in a radio resource control reconfiguration (Radio Resource Control Reconfiguration, RRCR) message by using a dedicated control channel (Dedicated Control Channel, DCCH) in an LTE system, and the indication message is sent in a unicast manner to one specific terminal device or one specific group of terminal devices served by the network device.

Optionally, in an embodiment, the method in this embodiment of the present disclosure may be applicable to a non-orthogonal multiple access technology, for example, an SCMA technology. When the method <NUM> is applicable to the non-orthogonal multiple access technology, the method <NUM> further includes:.

Before this embodiment is described in detail, the SCMA and the codebook-pilot set that is involved in this embodiment are first described in detail.

The SCMA is a non-orthogonal multiple access technology. In the technology, multiple different data streams are transmitted on a same resource unit by using a codebook (that is, a same resource unit is reused for multiple different data streams), where different codebooks are used for different data streams, thereby achieving an objective of improving resource utilization. Data streams may come from same user equipment or may come from different user equipments.

A codebook used in the SCMA is a set of two or more codewords.

The codeword may be represented as a multidimensional complex vector. The multidimensional complex vector has two or more dimensions, and is used to represent a mapping relationship between data and two or more modulation symbols. The modulation symbol includes at least one zero modulation symbol and at least one non-zero modulation symbol, and the data may be binary bit data or m-ary data.

The codebook includes two or more codewords, where the codewords may be different from each other. The codebook may represent a mapping relationship between a possible data combination of data having a particular length and a codeword in a codebook.

In the SCMA technology, data in a data stream is directly mapped to a codeword, that is, a multidimensional complex vector, in a codebook according to a particular mapping relationship, so as to implement spreading the data onto multiple resource units. The data here may be binary bit data or may be m-ary data. The multiple resource units may be resource units in a time domain, a frequency domain, a space domain, a time-frequency domain, a time-space domain, and a time-frequency-space domain.

A feature sequence in the specification corresponds to a codebook, and includes a zero element and a <NUM> element. The zero element represents that elements, in corresponding locations of zero elements, of a codeword in a corresponding codebook are all zero. The <NUM> element represents that elements, in corresponding locations of <NUM> elements, of a codeword in a corresponding codebook are not all zero or none of the elements are zero. Two or more feature sequences form a feature matrix. It should be understood that the SCMA is only a name, and in the industry, another name may also be used to represent the technology.

A codeword used in the SCMA may have particular sparsity. For example, in the codeword, a quantity of zero elements may be not less than a quantity of non-zero elements, so that a receive end can use a multi-user detection technology to perform decoding of relatively low complexity. Herein, the above mentioned relationship between a quantity of zero elements and a modulation symbol is only description of an example of sparsity, and the present disclosure is not limited thereto. A ratio of a quantity of zero elements to a quantity of non-zero elements may be arbitrarily set according to a requirement.

The SCMA system can be used as an example of the foregoing communications system <NUM>. In the system <NUM>, multiple users reuse a same time-frequency resource block to perform data transmission. Each resource block includes several resources REs. The RE herein may be a subcarrier-symbol unit in an OFDM technology, or may be a resource unit in a time domain or a frequency domain in another air interface technology. For example, in an SCMA system that includes L terminal devices, available resources are divided into several orthogonal time-frequency resource blocks. Each resource block includes U REs, where the U REs may be at a same location in a time domain. When a terminal device #L sends data, the data to be sent is first divided into data blocks of an S-bit size. A codebook (the codebook is determined and delivered by the network device to the terminal device) is searched to map each data block to a modulation symbol sequence X#L={X#L<NUM>, X#L<NUM>,. , X#LU} that includes U modulation symbols. Each modulation symbol in the sequence corresponds to one RE in a resource block. A signal waveform is then generated according to the modulation symbols. For a data block of an S-bit size, each codebook includes <NUM> different modulation symbol groups, and the <NUM> different modulation symbol groups correspond to <NUM> possible data blocks.

The foregoing codebook may also be referred to as an SCMA codebook, and is an SCMA codeword set. An SCMA codeword is a mapping relationship from an information bit to a modulation symbol. That is, the SCMA codebook is a set of the foregoing mapping relationships.

In addition, in the SCMA, in a group of modulation symbols X#k={X#k<NUM>, X#k<NUM>,. , X#kL} corresponding to each terminal device, at least one symbol is a zero symbol, and at least one symbol is a non-zero symbol. That is, for data of one terminal device, only some REs (at least one RE) of L REs carry the data of the terminal device.

<FIG> is a schematic diagram of bit mapping processing (or encoding processing) of SCMA in an example in which four resource units are reused for six data streams. The schematic diagram is a bipartite graph. As shown in <FIG>, the six data streams form one group, and the four resource units form one encoding unit. One resource unit may be one subcarrier, or one RE, or one antenna port.

In <FIG>, a connecting line between a data stream and a resource unit represents that at least one data combination of the data stream exists, and after codeword mapping is performed on the data combination, a non-zero modulation symbol is sent on the resource unit. When no connecting line exists between a data stream and a resource unit, it represents that after codeword mapping is performed on all possible data combinations of the data stream, modulation symbols sent on the resource unit are all zero. A data combination of a data stream may be understood according to the following description. For example, in a binary bit data stream, <NUM>, <NUM>, <NUM>, and <NUM> are all possible two-bit data combinations.

For ease of description, s1 to s6 are used to sequentially represent to-be-sent data combinations of the six data streams in <FIG>, and x1 to x4 are used to sequentially represent symbols sent on the four resource units in <FIG>. A connecting line between a data stream and a resource unit represents that after data of the data stream is spread, a modulation symbol is sent on the resource unit, where the modulation symbol may be a zero modulation symbol (corresponding to a zero element), or may be a non-zero modulation symbol (corresponding to a non-zero element). When no connecting line exists between a data stream and a resource unit, it represents that after the data of the data stream is spread, a modulation symbol is not sent on the resource unit.

As can be seen from <FIG>, after codeword mapping is performed on data of each data stream, modulation symbols are sent on two or more resource units. Meanwhile, a symbol sent on each resource unit is overlay of modulation symbols obtained after codeword mapping is performed on data from two or more data streams. For example, after codeword mapping is performed on a to-be-sent data combination s3 of a data stream <NUM>, non-zero modulation symbols may be sent on a resource unit <NUM> and a resource unit <NUM>. Data x3 sent on a resource unit <NUM> is overlay of non-zero modulation symbols obtained after codeword mapping is separately performed on to-be-sent data combinations s2, s4, and s6 of a data stream <NUM>, a data stream <NUM>, and a data stream <NUM>. Because a quantity of data streams may be greater than a quantity of resource units, the SCMA system may effectively improve a network capacity, including a quantity of users that can access the system, spectral efficiency of the system, and the like.

With reference to the foregoing description of a codebook and <FIG>, a codeword in a codebook usually has the following form: <MAT> and the corresponding codebook usually has the following form: <MAT> where N is a positive integer greater than <NUM>, and may represent a quantity of resource units included in one encoding unit, or may be understood as a length of a codeword; Qm is a positive integer greater than <NUM>, represents a quantity of codewords included in a codebook, and corresponds to a modulation order. For example, during sampling of quadrature phase shift keying (QPSK, Quadrature Phase Shift Keying) or <NUM>th-order modulation, Qm is <NUM>; q is a positive integer, and <NUM> ≤ q ≤ Qm; an element cn,q included in a codebook and a codeword is a complex number, and cn,q may be mathematically represented as: <MAT> where α and β may be any real numbers, and N and Qm may be positive integers.

A particular mapping relationship may be formed between a codeword in a codebook and data. For example, the following mapping relationship may be formed between a codeword in a codebook and a two-bit data combination of a binary data stream.

For example, "<NUM>" may correspond to a codeword <NUM>, that is, <MAT>,.

With reference to the foregoing <FIG>, when a connecting line exists between a data stream and a resource unit, a codebook corresponding to the data stream and a codeword in the codebook should have the following characteristics: For at least one codeword in the codebook, a non-zero modulation symbol is sent on the corresponding resource unit. For example, a connecting line exists between the data stream <NUM> and the resource unit <NUM>, and at least one codeword in a codebook corresponding to the data stream <NUM> meets c<NUM>,q ≠ <NUM>, where <NUM> ≤ q ≤ Qm.

When no connecting line exists between a data stream and a resource unit, a codebook corresponding to the data stream and a codeword in the codebook should have the following characteristics: For all codewords in the codebook, zero modulation symbols are sent on the corresponding resource unit. For example, no connecting line exists between the data stream <NUM> and the resource unit <NUM>, and any codeword in a codebook corresponding to the data stream <NUM> meets c<NUM>,q = <NUM>, where <NUM> ≤ q ≤ Qm.

In conclusion, when a modulation order is QPSK, the codebook corresponding to the data stream <NUM> in the foregoing <FIG> may have the following form and characteristics: <MAT> where cn,q = α*exp(j*β),<NUM> ≤ n ≤ <NUM>,<NUM> ≤ q ≤ <NUM>, and α and β may be any real number. For any q, <NUM>≤ q ≤ <NUM>. c<NUM>,q and c<NUM>,q are not all zero at the same time. At least one group of q<NUM> and q<NUM> meets c<NUM>,q<NUM> ≠ <NUM> and c<NUM>,q<NUM> ≠ <NUM>, where <NUM> ≤ q<NUM>, and q<NUM> ≤ <NUM>.

For example, if the data s3 of the data stream <NUM> is "<NUM>", according to the foregoing mapping rule, the data combination is mapped to a codeword, that is, a four-dimensional complex vector: <MAT>.

Further, in the SCMA system, the bipartite graph may also be represented by using a feature matrix. The feature matrix may have the following form: <MAT> where rn,m represents an element in the feature matrix, m and n are natural numbers, where <NUM> ≤ n ≤ N,<NUM> ≤ m ≤ M , N rows separately represent N resource units in one encoding unit, and M columns separately represent a quantity of reused data streams. Although the feature matrix may be expressed in a universal form, the feature matrix may have the following feature:.

Meanwhile, a column in the feature matrix may be referred to as a feature sequence. The feature sequence may have the following expression form: <MAT>.

Therefore, the feature matrix may also be regarded as a matrix formed of a series of feature sequences.

With reference to the feature description of the foregoing feature matrix, for the example shown in <FIG>, a corresponding feature matrix may be represented as: <MAT>.

A feature sequence corresponding to the codebook <MAT> used for the data stream <NUM> in <FIG> may be represented as: <MAT>.

Therefore, as can be considered, a correspondence between a codebook and a feature sequence is a one-to-one relationship, that is, one codebook uniquely corresponds to one feature sequence. A correspondence between a feature sequence and a codebook may be a one-to-multiple relationship, that is, one feature sequence corresponds to one or more codebooks. Therefore, the feature sequence may be understood as: A feature sequence corresponds to a codebook, and includes a zero element and a <NUM> element. A location of the zero element represents that elements, at corresponding locations of zero elements, of the codeword in the corresponding codebook are all zero. The <NUM> element represents that elements, at corresponding locations of <NUM> elements, of the codeword in the corresponding codebook are not all zero or none of the elements are zero. The correspondence between a feature sequence and a codebook may be determined by using the following two conditions:.

It should be further understood that in the SCMA system, a codebook may be directly represented and stored. For example, the foregoing codebook or each codeword in the codebook is stored, or only an element at a location whose corresponding feature sequence element is <NUM> in a codeword is stored. Therefore, during application of the present disclosure, it needs to be assumed that in the SCMA system, both a base station and user equipment may store some or all of the following content that is designed in advance:.

Qm ≥ <NUM>, Qm may be a modulation order corresponding to the codebook, and each codebook may correspond to one modulation order, where N is a positive integer greater than <NUM>, and may represent a quantity of resource units included in one encoding unit, or may be understood to represent a length of a codeword.

It should be understood that the SCMA system discussed above is only an example of a communications system applicable to the data transmission method and apparatus of the present disclosure, and the present disclosure is not limited thereto. Any other communications system that can enable a terminal device to reuse a same time-frequency resource within a same period of time to perform data transmission falls within the protection scope of the present disclosure.

A codebook in an SCMA system is used as an example below to describe a codebook-pilot set in detail. That is, a codebook is a sparse code multiple access SCMA codebook. The codebook includes two or more codewords, the codeword is a multidimensional complex vector and is used to represent a mapping relationship between data and at least two modulation symbols, and the at least two modulation symbols include at least one zero modulation symbol and at least one non-zero modulation symbol.

The codebook-pilot set includes multiple SCMA codebooks, multiple pilot sequences, and a combination relationship between a codebook and a pilot. The combination relationship between a codebook and a pilot sequence is a combination formed of each pilot sequence in the codebook-pilot set and one or more codebooks in the codebook-pilot set.

The pilot sequence and the SCMA codebook are an uplink pilot sequence and an SCMA codebook that are used to allow a terminal to send uplink data based on a non-grant mode, pilot sequences in a same codebook-pilot set are different from each other, and codewords of different codebooks that belong to a same codebook-pilot set have a same quantity of elements (including a zero element and a non-zero element). Each pilot sequence in the codebook-pilot set is combined with one or more SCMA codebooks in the codebook-pilot set to form a specific combination of a codebook and a pilot.

In this embodiment of the present disclosure, when a terminal device selects a combination of a codebook and a pilot in a codebook-pilot set, the terminal device generates and sends an uplink pilot signal by using a pilot sequence corresponding to the combination, and modulates one or more data streams of a user by using one or more SCMA codebooks corresponding to the combination, where each data stream corresponds to one SCMA codebook, and uplink SCMA data is generated and sent.

An example of a possible combination relationship between a codebook and a pilot in a codebook-pilot set is provided below. As shown in Table <NUM>, it is assumed that a codebook-pilot set has L (L is an integer greater than <NUM>) pilot sequences in total, which are separately denoted as P<NUM>, P<NUM>,. , and PL, and has <MAT> SCMA codebooks in total, which are denoted as Ci,j, where Ki is an integer greater than or equal to <NUM>, <NUM>≤i≤L, and <NUM>≤j≤ Ki. Generally, for any <NUM>≤i≤L, when <NUM>≤j<NUM>≠j<NUM>≤Ki, Ci,j<NUM> is different from Ci,j<NUM> ; and for any <NUM>≤i<NUM>≠i<NUM>≤L, where <NUM>≤j<NUM>≤Ki, and <NUM>≤j<NUM>≤K<NUM>, C and Ci<NUM>,j<NUM> may be the same or may be different.

The codebook-pilot set may be predefined and stored on a network device and a terminal device. One or more codebook-pilot sets may be stored on the network device and the terminal device. Generally, codewords in codebooks that belong to different codebook-pilot sets have different quantities of elements (including a zero element and a non-zero element).

In this embodiment of the present disclosure, that the network device determines a codebook-pilot set for each transmission area of the M transmission areas refers to binding each transmission area to an assigned codebook-pilot set. When the network device and the terminal device respectively send and receive uplink data on a transmission area, a codebook and a pilot in a codebook-pilot set assigned to the transmission area are used. Generally, the network device may assign one codebook-pilot set to each transmission area, or may assign multiple codebook-pilot sets to each transmission area. The network device may assign a same codebook-pilot set or different codebook-pilot sets for different transmission areas. That is, the network device may determine at least one codebook-pilot set for each transmission area, and generate third information used to indicate the at least one codebook-pilot set.

It should be understood, this embodiment of the present disclosure is applicable to a system that uses a codebook to perform modulation, and the system is, for example, an SCMA system or a low density signature (Low Density Signature, LDS) system. The third information used to indicate a codebook-pilot set may be information that directly indicates a combination of a codebook and a pilot (applicable to the SCMA system), or may be information that indicates a combination of a modulation constellation, a signature sequence, and a pilot, so that a codebook is determined by using the modulation constellation and the signature sequence, so as to further indicate a combination of the codebook and the pilot (applicable to the LDS system). This is not limited in this embodiment of the present disclosure.

It should be further understood that the third information may include content similar to that of the codebook-pilot set shown in Table <NUM>. In a more common processing method, multiple codebook-pilot sets similar to the codebook-pilot set shown in Table <NUM> are stored on both the network device and the terminal device, and only an index used to indicate a codebook-pilot set is transmitted in the third information. The index may also be a sequence number or an identifier, which is used to indicate a codebook-pilot set. Preferably, the third information includes an index of at least one codebook-pilot set. For example, the codebook-pilot sets are indexed, an index, which is determined by the network device, of at least one codebook-pilot set is used as the third information, and the third information is sent to the terminal device by sending an indication message.

In this embodiment of the present disclosure, that the network device sends, to the terminal device, an indication message corresponding to a transmission area may be implemented in the following manner, but the present disclosure is not limited thereto. A form of the indication message is:
<IMG>
or
<IMG>.

GrantFreeTransAreaList is a list of transmission areas, and includes M transmission areas; maxGrantFreeTransArea is a maximum value M of a quantity of transmission areas; timeDomainAssign is used to indicate a time domain resource of a transmission area, a form of a bit string can be used, each bit represents one subframe, a bit being <NUM> represents that the transmission area is located in the subframe, and a bit being <NUM> represents that the transmission area is not located in the subframe; and freqDomainAssign is used to indicate a frequency domain resource of a transmission area, and a form of a bit string can be used to indicate a resource block occupied by the transmission area. Correspondingly, the first information includes a first bit string used to indicate a subframe of a time domain of each transmission area of the M transmission areas and a second bit string used to indicate a resource block of a frequency domain of each transmission area of the M transmission areas.

The pilot-CodebookAssign is used to indicate a codebook-pilot set assigned to a transmission area, and a form of a bit string can be used to indicate an index of the assign codebook-pilot set; transportBlockAssign is used to indicate a transport block size assigned to a transmission area, and a form of a bit string can be used to indicate an index of the assigned transport block size; and codeRateAssign is used to indicate a coding rate that is assigned to a transmission area and that is used to calculate a transport block size, and a form of a bit string can be used to indicate an index of the assigned coding rate. Correspondingly, the second information includes an index of the transport block size determined for each transmission area of the M transmission areas; or the second information includes an index of the coding rate determined for each transmission area of the M transmission areas.

When the indication message is sent in the foregoing manner, at least one predefined codebook-pilot set needs to be stored on the network device and the terminal device. Moreover, the stored codebook-pilot set is numbered, and at the same time, an index of a transport block size in Table <NUM> or an index of a coding rate in Table <NUM> below needs to be stored on the network device and the terminal device.

In the foregoing Table <NUM> and Table <NUM>, x, y, z, and p are non-negative integers, and q is a real number between <NUM> and <NUM>.

In the foregoing embodiment, the coding rate and the codebook-pilot set may be further indicated in an enumeration manner. For example,
<IMG>
where pilot-CodebookAssign is used to indicate a codebook-pilot set assigned to a transmission area, where set-<NUM> represents a codebook-pilot set <NUM>, set-<NUM> represents a codebook-pilot set <NUM>, and so on; and codeRateAssign is used to indicate a coding rate that is assigned to a transmission area and that is used to calculate a transport block size, where cr-r1 represents a coding rate r1, cr-r2 represents a coding rate r2, and so on.

In addition, in this embodiment of the present disclosure, the transport block size may be further indicated in the following manner. For example:.

where transportBlockAssign is used to indicate a transport block size assigned to a transmission area, where for the transport block size, refer to a protocol used in a system.

In the foregoing embodiment, the time domain information of the transmission area may be further indicated in the following manner. For example:.

timeDomainAssign is used to indicate a time domain resource of a transmission area, where a form of a bit string can be used, each bit represents one subframe, a bit being <NUM> represents that the transmission area is located in the subframe, and a bit being <NUM> represents that the transmission area is not located in the subframe; timeDomainPeriod is used to indicate a period of a transmission area, where if a current radio frame meets a condition mod(current radio frame number, timeDomainPeriod) = timeDomainOffset, timeDomainAssign indicates whether the transmission area is located on X consecutive subframes starting from a <NUM>th subframe of a current radio frame, where rf-p1 represents p1 radio frames, rf-p2 represents p2 radio frames, and so on; and timeDomainOffset is used to indicate a radio frame offset of a transmission area, where if a current radio frame meets a condition mod(current radio frame number, timeDomainPeriod) = timeDomainOffset, timeDomainAssign indicates whether the transmission area is located on X consecutive subframes starting from a <NUM>th subframe of a current radio frame.

Optionally, in another embodiment, in a system in which a constellation is used to perform modulation, for example, a Code Division Multiple Access (Code Division Multiple Access, CDMA) system, an Orthogonal Frequency Multiple Access (Orthogonal Frequency Division Multiple Access, OFDMA) system, a Long Term Evolution (Long Term Evolution, LTE) system, an Orthogonal Frequency Division Multiplexing (Orthogonal Frequency Division Multiplexing, OFDM) system, a Generalized Frequency Division Multiplexing (Generalized Frequency Division Multiplexing, GFDM) system, or a Filtered-Orthogonal Frequency Division Multiplexing (Filtered-OFDM, F-OFDM) system, the network device does not send, to the terminal device, the third information that indicates a codebook-pilot set, but instead, sends information that indicates a constellation-pilot set, or the network device and the terminal device store a constellation-pilot set, so that the terminal device selects a corresponding combination of a constellation and a pilot.

The constellation-pilot set may also be referred to as a constellation-pilot combination relationship list, where a pilot sequence and a modulation constellation are combined, to form one or more specific combinations of a modulation constellation and a pilot sequence. It is assumed that there are L uplink pilot sequences used to allow the terminal device to send uplink data based on a non-grant mode, where the L uplink pilot sequences are separately numbered from <NUM> to L, and there are J modulation constellations used to allow the terminal device to send uplink data based on a non-grant mode, where the J modulation constellations are separately numbered from <NUM> to J. Generally, L = K * J + j, where K is an integer greater than or equal to <NUM>, and j is a non-negative integer less than J. Table <NUM> gives a possible combination relationship between a constellation and a pilot. There are L combinations in total. In different combinations, pilot sequences are different from each other, and modulation constellations may be the same.

The constellation-pilot set may be predefined and stored on the network device and the terminal device. Because a quantity of combination relationships between a constellation and a pilot is less than a quantity of combination relationships between a codebook and a pilot, generally, the network device and the terminal device separately need to store only a constellation-pilot set.

It should be understood that the nouns such as the transmission area, the codebook-pilot set, and the constellation-pilot set that are involved in this embodiment of the present disclosure may appear in other different forms in different scenarios or systems, that is, may be varied by using various equivalent changes or replacements, and these changes or replacements within the technical scope disclosed in the present disclosure should fall within the protection scope of the present disclosure.

Similar to the foregoing description, in this embodiment of the present disclosure, an indication message that is sent by the network device to the terminal device that corresponds to a transmission area may be implemented in the following manner, but the present disclosure is not limited thereto. A form of the indication message is:
<IMG>
or
<IMG>.

GrantFreeTransAreaList is a list of transmission areas, and includes M transmission areas; maxGrantFreeTransArea is a maximum value M of a quantity of transmission areas; timeDomainAssign is used to indicate a time domain resource of a transmission area, a form of a bit string can be used, each bit represents one subframe, a bit being <NUM> represents that the transmission area is located in the subframe, and a bit being <NUM> represents that the transmission area is not located in the subframe; freqDomainAssign is used to indicate a frequency domain resource of a transmission area, and a form of a bit string can be used to indicate a resource block occupied by the transmission area; transportBlockAssign is used to indicate a transport block size assigned to a transmission area, and a form of a bit string can be used to indicate an index of the assigned transport block size; and codeRateAssign is used to indicate a coding rate that is assigned to a transmission area and that is used to calculate a transport block size, and a form of a bit string can be used to indicate an index of the assigned coding rate.

When the indication message is sent in the foregoing manner, an index of a transport block size in Table <NUM> or an index of a coding rate in Table <NUM> below needs to be stored on the network device and the terminal device.

In the foregoing embodiment, the coding rate may be further indicated in an enumeration manner. For example:.

where codeRateAssign is used to indicate a coding rate that is assigned to a transmission area and that is used to calculate a transport block size, where cr-r1 represents a coding rate r1, cr-r2 represents a coding rate r2, and so on.

transportBlockAssign is used to indicate a transport block size assigned to a transmission area, where for the transport block size, refer to a protocol used in a system.

In this embodiment of the present disclosure, after receiving an indication message sent by a network device, the terminal device selects N transmission areas from the M transmission areas according to the indication message, determines transport block sizes of the transmission areas, and sends, on the selected N transmission areas, uplink data to the network device according to the transport block sizes of the transmission areas, where N is a positive integer less than or equal to M. Specific implementation is described below in detail, and details are no longer described herein.

Optionally, in an embodiment, the method <NUM> further includes:.

Specifically, the network device receives data on a time-frequency resource corresponding to a transmission area, tries some or all of codebook-pilot combinations in a codebook-pilot set bound to the transmission area, and decodes the uplink data sent by the terminal device. According to information (a transport block size or a coding rate) that is determined when the indication message is determined and that indicates a transport block size, the network device performs decoding according to the transport block sizes of the transmission areas.

It should be understood that in this embodiment of the present disclosure, the transmission area, the transport block size assigned to the transmission area or the coding rate that is assigned to the transmission area and that is used to calculate a transport block size, and the codebook-pilot set assigned to the transmission area are not constant, and the network device may redetermine a transmission area according to an actual case, where transmission areas determined twice successively are at least different on a time or frequency resource. Alternatively, a transport block size or a coding rate used to calculate a transport block size is assigned to the transmission area again, where different transport block sizes or coding rates are assigned twice successively. Alternatively, a codebook-pilot set is assigned to the transmission area again, where different codebook-pilot sets are assigned twice successively. When the transmission area, or the transport block size assigned to the transmission area or the coding rate that is assigned to the transmission area and that is used to calculate the transport block size, or the codebook-pilot set assigned to the transmission area is changed, the network device needs to resend a new indication message to the terminal device. The new indication message includes the following content: at least one transmission area, a transport block size assigned to each transmission area or a coding rate that is assigned to each transmission area and that is used to calculate a transport block size, and a codebook-pilot set assigned to each transmission area.

In this embodiment of the present disclosure, by means of the following technologies, after decoding data from different terminal devices, the network device can distinguish which terminal device the data is from. For example, a terminal device sends an identifier such as a radio network temporary identity (Radio Network Temporary Identity, RNTI) of the terminal device to the network device, where the identifier is used as a part of data or is scrambled in data. After decoding the data, the network device determines, according to the identifier in the data, which terminal device the data is from. In addition to the foregoing method, an objective of distinguishing, by a base station, which terminal device the data is from may be further implemented by using another method, and this is not limited in this embodiment of the present disclosure.

The uplink data transmission methods according to the embodiments of the present disclosure are described above in detail with reference to <FIG> from the perspective of a network device. The uplink data transmission method according to an embodiment of the present disclosure is described below in detail with reference to <FIG> from the perspective of a terminal device.

<FIG> is a schematic flowchart of an uplink data transmission method <NUM> according to an embodiment of the present disclosure. As shown in <FIG>, the method <NUM> is executed by a terminal device. The method <NUM> includes:.

S301: Receive an indication message sent by a network device, where the indication message includes first information and second information, the first information is used to indicate M transmission areas allocated by the network device, the second information is used to indicate a transport block size of each transmission area of the M transmission areas, M is a positive integer, and the transmission area represents an air interface time-frequency resource that includes a time range and a frequency range that are specified by a communications system.

S302: Select N transmission areas from the M transmission areas according to the first information, where N is a positive integer less than or equal to M.

S303: Determine a transport block size of each transmission area of the N transmission areas according to the second information.

S304: Send, on each transmission area of the N transmission areas, uplink data to the network device according to the transport block size of each transmission area of the N transmission areas.

Therefore, in the uplink data transmission method provided in this embodiment of the present disclosure, at least one transmission area is selected, and uplink data is transmitted according to related information about a transport block size assigned to the transmission area. Therefore, a network device can decode uplink data on a transmission area according to a transport block size. In this way, a processing delay can be reduced.

Specifically, in S301, the terminal device receives the indication message sent by the network device, and the indication message includes information indicating M transmission areas that can be selected and used by the terminal device, and further includes information indicating a transport block size of each transmission area of the M transmission areas. The terminal device may learn, from the indication message delivered by the network device, information such as a time-frequency resource used to send uplink data by using a non-grant mode, and a transport block size or a coding rate used to calculate a transport block size.

In S302, the terminal device selects N transmission areas from the M transmission areas according to the first information, where N is a positive integer less than or equal to M. The terminal device may select a transmission area by using a random method, or may select a transmission area according to factors such as a data buffer status of the terminal device, a channel condition of a transmission area, a transport block size or a coding rate assigned to a transmission area, and a codebook-pilot set assigned to a transmission area. For example, the terminal device selects a transmission area having a relatively desirable channel condition, or selects a transmission area in which a transport block size matches a data buffer status. In addition to the foregoing method, the terminal device may further select a transmission area by using another method, and this is not limited in this embodiment of the present disclosure.

In S303, the terminal device determines the transport block sizes of the N transmission areas according to the second information. If the second information included in the indication message is a transport block size that is in a form of explicit indication and that is determined for each transmission area, the terminal device may directly use the transport block size. If the second information included in the indication message is a transport block size that is in a form of implicit indication and that is determined for each transmission area, for example, information of a coding rate is sent to the terminal device, the terminal device may calculate the transport block size according to the coding rate.

In S304, the terminal device sends, on each transmission area of the N transmission areas, uplink data to the network device according to the transport block size of each transmission area.

Optionally, in an embodiment, the second information includes information about a transport block size that is determined by the network device for each transmission area of the M transmission areas; or
the second information includes information about a coding rate that is determined by the network device for each transmission area of the M transmission areas, and the determining a transport block size of each transmission area of the N transmission areas according to the second information includes:
determining the transport block size of each transmission area of the N transmission areas according to a quantity of unit time-frequency resources that are in each transmission area of the N transmission areas and that can be used to transmit data, a modulation order, and the coding rate.

Specifically, if the second information included in the indication message is a transport block size that is in a form of explicit indication and that is determined for each transmission area, the terminal device may directly use the transport block size. If the second information included in the indication message is a transport block size that is in a form of implicit indication and that is determined for each transmission area, for example, information of a coding rate is sent to the terminal device, the terminal device may calculate the transport block size according to the coding rate. For example, the terminal device may determine the transport block size according to a quantity of unit time-frequency resources that are in a transmission area and that can be used to transmit data, a modulation order, and a coding rate. A specific calculation manner may be as follows:.

The transport block size = the quantity of unit time-frequency resources that are in a transmission area and that can be used to transmit data * the modulation order * the coding rate/a total quantity of elements in a codeword (applicable to a system in which codebook modulation is used); or the transport block size = the quantity of unit time-frequency resources that are in a transmission area and that can be used to transmit data * the modulation order * the coding rate (applicable to a system in which constellation modulation is used). The unit time-frequency resource refers to a minimum time-frequency resource used to transmit one modulation symbol, and is, for example, a resource element (Resource Element, RE) in an Orthogonal Frequency Division Multiplexing (Orthogonal Frequency Division Multiplexing, OFDM) system. The modulation order may be obtained according to a quantity of codewords included in a codebook, or obtained according to a quantity of constellation points included in a modulation constellation. The quantity of unit time-frequency resources that are in a transmission area and that can be used to transmit data is obtained by subtracting, from a quantity of all unit time-frequency resources included in the transmission area, a quantity of unit time-frequency resources that are in the transmission area and that are used to send signals (for example, a pilot and HARQ information) other than the data.

Preferably, the second information includes an index of the transport block size determined for each transmission area of the M transmission areas; or the second information includes an index of the coding rate determined for each transmission area of the M transmission areas.

In an embodiment, area information of each transmission area includes time domain information and frequency domain information of each transmission area. Preferably, the first information includes a first bit string used to indicate a subframe of each transmission area of the M transmission areas and a second bit string used to indicate a frequency of each transmission area of the M transmission areas.

Optionally, in an embodiment, the method further includes:.

Specifically, in the system in which a constellation is used to perform modulation, for example, a Code Division Multiple Access (Code Division Multiple Access, CDMA) system, an Orthogonal Frequency Multiple Access (Orthogonal Frequency Division Multiple Access, OFDMA) system, a Long Term Evolution (Long Term Evolution, LTE) system, an Orthogonal Frequency Division Multiplexing (Orthogonal Frequency Division Multiplexing, OFDM) system, a Generalized Frequency Division Multiplexing (Generalized Frequency Division Multiplexing, GFDM) system, or a Filtered-Orthogonal Frequency Division Multiplexing (Filtered-OFDM, F-OFDM) system, the network device and the terminal device store a constellation-pilot set, so that the terminal device selects a corresponding combination of a constellation and a pilot.

The terminal may select a constellation-pilot combination from a constellation-pilot set (or referred to as a constellation-pilot combination relationship list, for example, the foregoing constellation-pilot combination relationship list that is predefined and stored on the network device and the terminal device) by using a random method, or may select a constellation-pilot combination according to factors such as a data buffer status of the terminal, a channel condition of a transmission area, and a transport block size or a coding rate assigned to a transmission area. For example, when the channel condition is relatively desirable or a large amount of data is buffered or a transport block is relatively large or a coding rate is relatively low, the terminal device selects a constellation-pilot combination corresponding to higher order modulation. When the channel condition is relatively poor or a relatively small amount of data is buffered or a transport block is relatively small or a coding rate is relatively high, the terminal device selects a constellation-pilot combination corresponding to lower order modulation. In addition to the foregoing method, the terminal device may further select a constellation-pilot combination from the constellation-pilot set by using another method, and this is not limited in this embodiment of the present disclosure. It should be understood in this embodiment of the present disclosure, uplink data may be a symbol obtained after constellation modulation is performed.

Optionally, in an embodiment, the constellation-pilot combination meets the following condition:
a quantity of unit time-frequency resources that are in a transmission area and that can be used to transmit data * a modulation order of a modulation constellation in a constellation-pilot combination > a transport block size determined for the transmission area.

Specifically, regardless of which method is used to select a constellation-pilot combination, if a transport block size is assigned to a transmission area, when the terminal device selects a constellation-pilot combination, it needs to be ensured that a selected constellation-pilot combination meets the following condition: a quantity of unit time-frequency resources that are in a transmission area and that can be used to transmit data * a modulation order > a transport block size assigned to a transmission area. The unit time-frequency resource refers to a minimum time-frequency resource, for example, an RE in an OFDM system, used to transmit one modulation symbol. The modulation order may be obtained according to a quantity of constellation points included in a constellation. The quantity of unit time-frequency resources that are in a transmission area and that can be used to transmit data is obtained by subtracting, from a quantity of all unit time-frequency resources included in the transmission area, a quantity of unit time-frequency resources that are in the transmission area and that are used to send signals (for example, a pilot and HARQ information) other than the data.

Optionally, in an embodiment, the indication message further includes third information, the third information is used to indicate at least one codebook-pilot set that is determined by the network device for each transmission area of the M transmission areas, and the codebook-pilot set includes multiple codebooks, pilot sequences, and a combination relationship between a codebook and a pilot sequence;
the method <NUM> further includes:.

Optionally, in an embodiment, the codebook is a sparse code multiple access SCMA codebook, that is, the codebook includes two or more codewords, the codeword is a multidimensional complex vector and is used to represent a mapping relationship between data and at least two modulation symbols, and the at least two modulation symbols include at least one zero modulation symbol and at least one non-zero modulation symbol.

This embodiment of the present disclosure is applicable to a system in which a codebook is used to perform modulation, and the system is, for example, an SCMA system or an LDS system. The third information used to indicate a codebook-pilot set may be information that directly indicates a combination of a codebook and a pilot (applicable to the SCMA system), or may be information that indicates a combination of a modulation constellation, a signature sequence, and a pilot, so that a codebook is determined by using the modulation constellation and the signature sequence, so as to further indicate the combination of the codebook and the pilot (applicable to the LDS system). This is not limited in this embodiment of the present disclosure.

The terminal device may select a codebook-pilot combination from a codebook-pilot set by using a random method, or may select a codebook-pilot combination according to one or more of factors such as a data buffer status of the terminal, a channel condition of a transmission area, and a transport block size or a coding rate assigned to a transmission area. For example, when the channel condition is relatively desirable or a transport block size is relatively large or a coding rate is relatively low, the terminal device selects a codebook-pilot combination corresponding to higher order modulation (a modulation order may be obtained according to a quantity of codewords included in a codebook, for example, the quantity of codewords is Qm, and the corresponding modulation order is log<NUM>(Qm)). When the channel condition is relatively poor or the transport block size is relatively small or the coding rate is relatively high, the terminal device selects a codebook-pilot combination corresponding to lower order modulation. When a relatively large amount of data is buffered, the terminal device selects a codebook-pilot combination that includes multiple codebooks to send multiple data streams, or selects a codebook-pilot combination corresponding to higher order modulation. When a relatively small amount of data is buffered, the terminal device selects a codebook-pilot combination that includes a single codebook, or selects a codebook-pilot combination corresponding to lower order modulation. In addition to the foregoing method, the terminal device may further select a codebook-pilot combination from a codebook-pilot set by using another method, and this is not limited in this embodiment of the present disclosure. It should be understood in this embodiment of the present disclosure, the uplink data may be a symbol that is obtained after SCMA codebook modulation is performed.

Optionally, in an embodiment, the codebook-pilot combination meets the following condition:
a quantity of unit time-frequency resources that are in a transmission area and that can be used to transmit data * a modulation order of a codebook in a codebook-pilot combination > a transport block size determined for the transmission area.

Specifically, regardless of which method is used, if a transport block size is assigned to a transmission area, when the terminal device selects a codebook-pilot combination, it must be ensured that the selected codebook-pilot combination meets the following condition: a quantity of unit time-frequency resources that are in a transmission area and that can be used to transmit data * a modulation order/a total quantity of elements in a codeword > a transport block size bound to the transmission area. The unit time-frequency resource refers to a minimum time-frequency resource used to transmit one modulation symbol. The modulation order may be obtained according to a quantity of codewords included in a codebook. The quantity of unit time-frequency resources that are in a transmission area and that can be used to transmit data is obtained by subtracting, from a quantity of all unit time-frequency resources included in the transmission area, a quantity of unit time-frequency resources that are in the transmission area and that are used to send signals (for example, a pilot and HARQ information) other than the data.

Embodiments of the present disclosure are described below in detail with reference to <FIG> and <FIG> by using two specific examples.

<FIG> is a schematic flowchart of an uplink data transmission method <NUM> according to an embodiment of the present disclosure. In this embodiment of the present disclosure, an example in which a network device is a base station and a terminal device is a terminal is used for description. As shown in <FIG>, the method <NUM> includes:
S401: The base station determines at least one transmission area.

S402: The base station determines, for each transmission area, a transport block size or a coding rate used to calculate a transport block size.

S403: The base station determines a codebook-pilot set for each transmission area.

S404: The base station generates an indication message, where the indication message includes at least one transmission area, the transport block size determined for each transmission area, or the coding rate that is determined for each transmission area and that is used to calculate a transport block size, and the codebook-pilot set of each transmission area.

S405: The base station sends the indication message to the terminal.

S406: The terminal selects one or more transmission areas from the at least one transmission area according to the indication message.

S407: The terminal determines, according to the indication message, a transport block size of each selected transmission area or a coding rate, which is used to calculate a transport block size, of each selected transmission area.

S408: The terminal selects, according to the indication message, a codebook-pilot combination from the codebook-pilot set as a codebook-pilot combination of the selected transmission area.

S409: The terminal generates an uplink pilot and uplink data according to the codebook-pilot combination and the transport block size or the coding rate used to calculate a transport block size.

S410: The terminal sends the uplink pilot and the uplink data to the network device on one or more transmission areas.

Therefore, in the uplink data transmission method provided in this embodiment of the present disclosure, a network device determines at least one transmission area, and related information about a transport block size is assigned to the transmission area, so that a terminal device transmits uplink data on the transmission area by using the corresponding transport block size. Therefore, a network device can decode uplink data on a transmission area according to a transport block size. In this way, a processing delay can be reduced.

<FIG> is a schematic flowchart of an uplink data transmission method <NUM> according to an embodiment of the present disclosure. In this embodiment of the present disclosure, an example in which a network device is a base station and a terminal device is a terminal is used for description. As shown in <FIG>, the method <NUM> includes:.

S501: The base station determines at least one transmission area.

S502: The base station determines, for each transmission area, a transport block size or a coding rate used to calculate a transport block size.

S503: The base station generates an indication message, where the indication message includes at least one transmission area, the transport block size determined for each transmission area, or the coding rate that is determined for each transmission area and that is used to calculate a transport block size.

S504: The base station sends the indication message to the terminal.

S505: The terminal selects one or more transmission areas from the at least one transmission area according to the indication message.

S506: The terminal determines, according to the indication message, a transport block size of each selected transmission area or a coding rate, which is used to calculate a transport block size, of each selected transmission area.

S507: The terminal selects a constellation-pilot combination as a constellation-pilot combination of the selected transmission area according to a constellation-pilot set stored on the terminal.

S508: The terminal generates an uplink pilot and uplink data according to the constellation-pilot combination and the transport block size or the coding rate used to calculate a transport block size.

S509: The terminal sends the uplink pilot and the uplink data to the network device on the one or more transmission areas.

The uplink data transmission methods according to the embodiments of the present disclosure are described above in detail with reference to <FIG>. Uplink data transmission apparatuses according to embodiments of the present disclosure are described below with reference to <FIG>.

<FIG> shows an uplink data transmission apparatus <NUM> according to an embodiment of the present disclosure. As shown in <FIG>, the apparatus <NUM> includes:.

Therefore, the uplink data transmission apparatus provided in this embodiment of the present disclosure determines at least one transmission area, and assigns related information about a transport block size to the transmission area, so that a terminal device transmits uplink data on the transmission area by using the corresponding transport block size. Therefore, uplink data can be decoded on a transmission area according to a transport block size. In this way, a processing delay can be reduced.

Optionally, in an embodiment, the apparatus <NUM> further includes:.

Optionally, in an embodiment, the codebook includes two or more codewords, the codeword is a multidimensional complex vector and is used to represent a mapping relationship between data and at least two modulation symbols, and the at least two modulation symbols include at least one zero modulation symbol and at least one non-zero modulation symbol.

In an embodiment, the first information includes time domain information and frequency domain information of each transmission area of the M transmission areas.

Optionally, in an embodiment, the third information includes an index of the at least one codebook-pilot set.

Optionally, in an embodiment, the second information includes an index of the transport block size determined for each transmission area of the M transmission areas; or
the second information includes an index of the coding rate determined for each transmission area of the M transmission areas.

Optionally, in an embodiment, the first information includes a first bit string used to indicate a subframe of a time domain of each transmission area of the M transmission areas and a second bit string used to indicate a resource block of a frequency domain of each transmission area of the M transmission areas.

Optionally, in an embodiment, the sending module <NUM> is specifically configured to:.

Optionally, in an embodiment, the apparatus <NUM> is a network device.

It should be understood that the apparatus <NUM> according to this embodiment of the present disclosure may correspond to the network device in the method embodiment of the present disclosure, and the foregoing and other operations and/or functions of the modules in the apparatus <NUM> are separately used to implement corresponding procedures in the methods in <FIG>, and are no longer described herein in detail for brevity.

Therefore, the uplink data transmission apparatus provided in this embodiment of the present disclosure selects at least one transmission area, and transmits uplink data according to related information, which is assigned to the transmission area, about a transport block size. Therefore, a network device can decode uplink data on a transmission area according to a transport block size. In this way, a processing delay can be reduced.

Optionally, in an embodiment, the indication message further includes third information, the third information is used to indicate at least one codebook-pilot set that is determined by the network device for each transmission area of the M transmission areas, and the codebook-pilot set includes multiple codebooks, pilot sequences, and a combination relationship between a codebook and a pilot sequence;
the apparatus <NUM> further includes:.

Optionally, in an embodiment, the codebook is a sparse code multiple access SCMA codebook, the codebook includes two or more codewords, the codeword is a multidimensional complex vector and is used to represent a mapping relationship between data and at least two modulation symbols, and the at least two modulation symbols include at least one zero modulation symbol and at least one non-zero modulation symbol.

Optionally, in an embodiment, the second information includes information about a transport block size that is determined by the network device for each transmission area of the M transmission areas; or
the second information includes information about a coding rate that is determined by the network device for each transmission area of the M transmission areas, and the second determining module is specifically configured to:
determine the transport block size of each transmission area of the N transmission areas according to a quantity of unit time-frequency resources that are in each transmission area of the N transmission areas and that can be used to transmit data, a modulation order, and the coding rate.

Optionally, in an embodiment, the apparatus <NUM> is a terminal device.

As shown in <FIG>, an embodiment of the present disclosure further provides an uplink data transmission apparatus <NUM>. The apparatus <NUM> includes: a processor <NUM>, a memory <NUM>, a bus system <NUM>, and a transceiver <NUM>. The processor <NUM>, the memory <NUM>, and the transceiver <NUM> are connected by using the bus system <NUM>. The memory <NUM> is configured to store an instruction, and the processor <NUM> is configured to execute the instruction stored in the memory <NUM>, so as to control the transceiver <NUM> to send a signal. The processor <NUM> is configured to: determine M transmission areas allocated to a terminal device, and generate first information used to indicate the M transmission areas, where M is a positive integer, and the transmission area represents an air interface time-frequency resource that includes a time range and a frequency range that are specified by a communications system; and determine, for each transmission area of the M transmission areas, second information used to indicate a transport block size; and
the transceiver <NUM> is configured to send an indication message to the terminal device, so that the terminal device transmits uplink data according to the indication message, where the indication message includes the first information and the second information.

It should be understood that in this embodiment of the present disclosure, the processor <NUM> may be a central processing unit (Central Processing Unit, "CPU" for short), or the processor <NUM> may be another general purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or another programmable logical device, discrete gate or transistor logical device, discrete hardware component, or the like. The general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.

The memory <NUM> may include a read-only memory and a random access memory, and provides an instruction and data to the processor <NUM>. A part of the memory <NUM> may further include a non-volatile random access memory. For example, the memory <NUM> may further store device-type information.

The bus system <NUM> may include a power bus, a control bus, a status signal bus, and the like in addition to a data bus. However, for the purpose of clear description, various types of buses in the figure are all marked as the bus system <NUM>.

In an implementation process, the steps of the foregoing methods may be completed by using an integrated logical circuit of hardware in the processor <NUM> or an instruction in a form of software. Steps of the methods disclosed with reference to the embodiments of the present disclosure may be directly performed and completed by means of a hardware processor, or may be performed and completed by using a combination of hardware and software modules in the processor. The software module may be located in a mature storage medium in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically-erasable programmable memory, or a register. The storage medium is located in the memory <NUM>, and the processor <NUM> reads information in the memory <NUM> and completes the steps of the foregoing methods in combination with hardware of the processor <NUM>. To avoid repetition, details are not described herein again.

Optionally, in an embodiment, the processor <NUM> is further configured to:.

Optionally, in an embodiment, the transceiver <NUM> is further configured to:.

Optionally, in an embodiment, the sending, by the transceiver <NUM>, an indication message to the terminal device includes:.

It should be understood that the uplink data transmission apparatus <NUM> according to this embodiment of the present disclosure may correspond to the network device and the apparatus <NUM> in this embodiment of the present disclosure, and may correspond to a corresponding object that performs the methods according to the embodiments of the present disclosure. The foregoing and other operations and/or functions of the modules in the apparatus <NUM> are separately used to implement corresponding procedures in the methods in <FIG>, and are no longer described herein in detail for brevity.

As shown in <FIG>, an embodiment of the present disclosure further provides an uplink data transmission apparatus <NUM>. The apparatus <NUM> includes: a processor <NUM>, a memory <NUM>, a bus system <NUM>, and a transceiver <NUM>. The processor <NUM>, the memory <NUM>, and the transceiver <NUM> are connected by using the bus system <NUM>. The memory <NUM> is configured to store an instruction, and the processor <NUM> is configured to execute the instruction stored in the memory <NUM>, so as to control the transceiver <NUM> to send a signal. The transceiver <NUM> is configured to:.

Optionally, in an embodiment, the indication message further includes third information, the third information is used to indicate at least one codebook-pilot set that is determined by the network device for each transmission area of the M transmission areas, and the codebook-pilot set includes multiple codebooks, pilot sequences, and a combination relationship between a codebook and a pilot sequence;.

The processor <NUM> is further configured to:.

Optionally, in an embodiment, the second information includes information about a transport block size that is determined by the network device for each transmission area of the M transmission areas; or the second information includes information about a coding rate that is determined by the network device for each transmission area of the M transmission areas, and the determining, by the processor <NUM>, a transport block size of each transmission area of the N transmission areas according to the second information includes:
determining the transport block size of each transmission area of the N transmission areas according to a quantity of unit time-frequency resources that are in each transmission area of the N transmission areas and that can be used to transmit data, a modulation order, and the coding rate.

Therefore, the uplink data transmission apparatus provided in this embodiment of the present disclosure selects at least one transmission area, and transmits uplink data according to related information, which is assigned to the transmission area, about a transport block size. Therefore, a network device can decode uplink data on a transmission area according to a transport block size. In this way, a processing delay can be reduced. In addition, the term "and/or" in this specification describes only an association relationship for describing associated objects and represents that three relationships may exist. In addition, the character "/" in this specification generally represents an "or" relationship between the associated objects.

A person of ordinary skill in the art may be aware that, in combination with the examples described in the embodiments disclosed in this specification, units and algorithm steps may be implemented by electronic hardware, computer software, or a combination thereof. To clearly describe the interchangeability between the hardware and the software, the foregoing has generally described compositions and steps of each example according to functions.

It may be clearly understood by a person skilled in the art that, for the purpose of convenient and brief description, for a detailed working process of the foregoing system, apparatus, and unit, reference may be made to a corresponding process in the foregoing method embodiments, and details are not described herein.

In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented through some interfaces.

The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located at one location, or may be distributed on a plurality of network units. A part or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments of the present disclosure.

It may be understood that, for the brevity and clarity of the application document, technical features and description in an embodiment in the foregoing are applicable to other embodiments, and are no longer described in detail one by one in the other embodiments.

In addition, functional units in the embodiments of the present disclosure may be integrated into one processing unit, or each of the units may exist alone physically, or two or more units are integrated into one unit.

Claim 1:
A data transmission apparatus (<NUM>, <NUM>, <NUM>, <NUM>), comprising:
a receiving module (<NUM>), configured to receive an indication message sent by a network device (<NUM>), wherein the indication message comprises first information and second information, the first information is used to indicate one of M transmission areas allocated by the network device (<NUM>), M being a positive integer, the second information comprises information about a coding rate determined for the one of the M transmission areas, and the one of the M the transmission areas represents an air interface time-frequency resource that comprises a time range and a frequency range that are specified by a communications system (<NUM>), wherein the one of the M transmission areas is used for non-grant mode uplink data transmission, where uplink data is sent by using, without needing undergo a process from resource requesting to uplink granting by the network device (<NUM>), the one of the M transmission areas;
a determining module (<NUM>, <NUM>, <NUM>, <NUM>), configured to determine, according to the coding rate determined for the one of the M transmission areas, transport block size; and
a sending module (<NUM>, <NUM>), configured to send, on the one of the M transmission areas, uplink data to the network device (<NUM>) according to the transport block size,
wherein the first information comprises time domain information and frequency domain information of the one of the transmission areas, and wherein the time domain information comprises a time domain assignment and a time domain offset.