Communication method and related apparatus
By using XOR operations to generate new bit blocks in communication devices, the data transmission problem under the requirements of high reliability and low latency services is solved, achieving more efficient resource utilization and reliability, and reducing transmission latency.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2025-09-15
- Publication Date
- 2026-05-28
AI Technical Summary
Existing communication equipment cannot meet the requirements of high reliability and low latency services in terms of data transmission performance. In particular, when transmission errors occur, retransmission mechanisms may lead to increased latency and low resource utilization.
By using XOR operations to generate new bit blocks during data transmission, and using the same bit block to carry the information of multiple original bit blocks, retransmission is achieved without relying on feedback, thereby reducing latency and improving reliability.
It improves the resource utilization and reliability of data transmission, reduces transmission latency, and enhances data transmission performance.
Smart Images

Figure CN2025121213_28052026_PF_FP_ABST
Abstract
Description
A communication method and related apparatus
[0001] This application claims priority to Chinese Patent Application No. 202411696803.5, filed with the State Intellectual Property Office of China on November 22, 2024, entitled “A Communication Method and Related Device”, the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of communication technology, and in particular to a communication method and related apparatus. Background Technology
[0003] In a communication system, data can be transmitted between different communication devices. A transmission error (or reception error, parsing error, etc.) occurs when the data receiver fails to receive the correct information. Furthermore, upon discovering a transmission error, the data receiver can request the data sender to retransmit the erroneous data.
[0004] For example, if a data receiver determines that one or more bit blocks in a transmission are transmitted incorrectly, the data receiver may request the data sender to retransmit the one or more bit blocks. Accordingly, the data sender may retransmit the bit blocks in the one or more bit blocks based on the request, so that the data receiver can parse the one or more bit blocks one by one based on the retransmitted data to obtain the data carried by the one or more bit blocks.
[0005] However, with the development of communication technology, the demand for data transmission performance of communication equipment is constantly increasing (for example, there are high data reliability requirements for high reliability services and / or low latency services). Under such circumstances, the above-mentioned data transmission methods may not be able to meet the requirements. Therefore, how to improve data transmission performance is a technical problem that urgently needs to be solved. Summary of the Invention
[0006] This application provides a communication method and related apparatus for improving data transmission performance.
[0007] The first aspect of this application provides a communication method applied to a first communication device. For example, the first communication device may be a communication equipment (such as a terminal or network equipment), or it may be a component of a communication equipment (such as a processor, circuit, chip, or chip system responsible for communication functions, including but not limited to a modem chip, a baseband chip, a system-on-chip (SoC) chip containing a modem core, or a system-in-package (SIP) chip, etc.). Alternatively, the first communication device may also be a logic module or software capable of implementing all or part of the functions of a communication equipment. The following description uses a first communication device as an example.
[0008] In this method, a first communication device sends first data, which is obtained based on N second bit blocks, at least one of the N second bit blocks being obtained by XORing at least two of the Q first bit blocks, where N is a positive integer and Q is an integer greater than or equal to 2; the first communication device receives first information indicating that M of the N second bit blocks have been transmitted incorrectly, where M is a positive integer less than or equal to N; the first communication device sends second data, which is retransmission data of the M second bit blocks; wherein, the second data is obtained based on K third bit blocks, which are obtained by XORing the M second bit blocks, where K is a positive integer.
[0009] Based on the above scheme, after the first communication device sends first data based on N second bit blocks, the first information received by the first communication device indicates that M of the N second bit blocks have been transmitted incorrectly. Subsequently, the first communication device can send second data based on the first information; this second data is retransmission data of the M second bit blocks. Specifically, the first communication device can obtain at least one second bit from the N second bit blocks by XORing at least two of the Q first bit blocks; that is, at least one second bit block from the N second bit blocks can be used to determine at least two of the Q first bit blocks. In this way, during the transmission of the first data, the receiver of the first data can use the information carried by the same second bit block to parse (or decode) the information carried by at least two first bit blocks, thereby improving resource utilization and data transmission performance.
[0010] Furthermore, the second data is retransmitted data of the M second bit blocks, which is obtained based on K third bit blocks, which are obtained by XORing the M second bit blocks. In this way, during the transmission of the second data, the receiver can use the information carried by the same third bit block to parse (or decode) the information carried by at least two second bit blocks, thereby improving resource utilization and data transmission performance.
[0011] Optionally, in at least two of the N second bit blocks, the bit sequence of each (or one or at least one) second bit block can be obtained by bitwise XORing the bit sequences of the same first bit block among the Q first bit blocks and 0 or 1 or more other bit blocks. For example, taking the at least two second bit blocks as including second bit block_1 and second bit block_2, and the same first bit block as first bit block_A, second bit block_1 can be obtained based on first bit block_A, and second bit block_2 can be obtained by XORing first bit block_A and 1 or more other bit blocks. In this way, during the transmission of the first data, at least two of the N second bit blocks can be used to parse (or decode, etc.) to obtain the same first bit block among the Q first bit blocks, so that the same first bit block can be transmitted at least twice in the first data, which is equivalent to the effect of retransmission. At the same time, it does not rely on feedback, which can reduce transmission latency, improve transmission reliability, and further improve data transmission performance.
[0012] Similarly, in at least two of the K third bit blocks, the bit sequence of each (or one or at least one) third bit block can be obtained by bitwise XORing the bit sequences of the same second bit block from the N second bit blocks and 0 or 1 or more other bit blocks. In this way, during the transmission of the second data, at least two of the K third bit blocks can be used to parse (or decode, etc.) the same second bit block from the N second bit blocks, allowing this same second bit block to be transmitted at least twice in the second data, effectively achieving a retransmission effect. Furthermore, it does not rely on feedback, reducing transmission latency, improving transmission reliability, and further enhancing data transmission performance.
[0013] In this application, "bit block" can be understood as other terms, such as bit sequence or bit information.
[0014] In this application, transmission error can be understood as other terms, such as receiving error, decoding error, parsing error, failure to decode, failure to parse, failure to receive, etc.
[0015] Optionally, the first data can be either the initial transmission data or the retransmission data; there is no limitation here. For example, if the first data is the initial transmission, the XOR operation described above can improve the reliability of data transmission while reducing the probability of retransmission. Similarly, if the first data is a retransmission, the XOR operation described above can improve the reliability of data transmission while avoiding transmission timeouts caused by further transmission errors. Here, the retransmission involved in this application can refer to a non-initial transmission or a non-new transmission, and the retransmission can be the x-th retransmission (x is a positive integer).
[0016] Furthermore, this first data can be obtained in various ways, which will be described below with some examples.
[0017] Example A: N second bit blocks are obtained based on Q first bit blocks, which may have already undergone rate matching. For example, the Q first bit blocks may be a redundant version of one or more bit blocks obtained through rate matching, where these one or more bit blocks may be channel-coded bit blocks. Similarly, K third bit blocks are obtained by XORing the M second bit blocks, which may have already undergone rate matching. For example, the M second bit blocks may be a redundant version of one or more bit blocks obtained through rate matching, where these one or more bit blocks may be channel-coded bit blocks.
[0018] Optionally, the channel coding involved in this application may be low-density parity-check (LDPC) coding, polar coding, Reed-solomon codes (RS codes), turbo codes, convolutional codes, or other coding methods defined by the future network.
[0019] In Example A above, the first communication device can perform a first process based on the N second bit blocks to obtain first data; similarly, the first communication device can perform a first process based on the M second bit blocks to obtain second data. The first process may include one or more of the following: code block concatenation, interleaving, scrambling, modulation, layer mapping, precoding, resource mapping (or port mapping), beamforming, and digital-to-analog conversion. Correspondingly, the first data (and / or second data) transmitted by the first communication device can be data after code block concatenation, interleaved data, scrambled data, modulated data, layer-mapped data, precoded data, resource-mapped (or port-mapped) data, beamformed data, digital-to-analog conversion data, etc.
[0020] Example B: N second bit blocks are obtained based on Q first bit blocks, which may not have undergone rate matching. For example, after a first communication device obtains N second bit blocks based on the Q first bit blocks, it can perform a second process on the N second bit blocks to obtain first data; this second process includes at least rate matching. Similarly, K third bit blocks are obtained based on M second bit blocks through XOR, which may not have undergone rate matching. For example, after a first communication device obtains K third bit blocks based on the M second bit blocks, it can perform a second process on the K third bit blocks to obtain first data; this second process includes at least rate matching.
[0021] In Example B above, the second processing may further include one or more of the following: code block splicing, interleaving, scrambling, modulation, layer mapping, precoding, resource mapping (or port mapping), beamforming, and digital-to-analog conversion; correspondingly, the first data (and / or second data) transmitted by the first communication device may be data after rate matching, data after code block splicing, data after interleaving, data after scrambling, data after modulation, data after layer mapping, data after precoding, data after resource mapping (or port mapping), data after beamforming, data after digital-to-analog conversion, etc.
[0022] Optionally, in the first data, at least one of the N second bit blocks is obtained by XORing at least two of the Q first bit blocks. For example, any one of the N second bit blocks is obtained by XORing at least two of the Q first bit blocks; or, one of the N second bit blocks is the same as one of the Q first bit blocks, and the other N-1 second bit blocks are obtained by XORing at least two of the Q first bit blocks; this provides a more flexible encoding scheme.
[0023] Optionally, the N second bit blocks can be obtained based on the Q first bit blocks, wherein the N second bit blocks satisfy the following conditions: at least one of the N second bit blocks is the XOR result of at least two of the Q first bit blocks; and / or, at least one of the N second bit blocks is obtained by processing at least two of the Q first bit blocks through a third process. This third process can be XOR, or it can be adding multiple bit sequences and then performing modulo-2 processing, etc. Similarly, the K third bit blocks can be obtained based on the N second bit blocks, wherein the K third bit blocks satisfy the following conditions: at least one of the K third bit blocks is the XOR result of at least two of the N second bit blocks; and / or, at least one of the K third bit blocks is obtained by processing at least two of the N second bit blocks through a third process.
[0024] Optionally, the first information can indicate that M of the N second bit blocks have been transmitted incorrectly in various ways. For example, the first information may include the indices of the M second bit blocks. Alternatively, the first information may include a bitmap containing N bits, where the value of the i-th bit indicates whether the i-th second bit block has been transmitted incorrectly (e.g., a value of 0 indicates a transmission error and a value of 1 indicates no transmission error; a value of 1 indicates a transmission error and a value of 0 indicates no transmission error).
[0025] In one possible implementation of the first aspect, the method further includes: the first communication device sending second information, the second information being used to indicate the association relationship between the K third bit blocks and the M second bit blocks.
[0026] Based on the above scheme, the first communication device, as the sender of the second data, can also send second information, so that the receiver of the second data can determine the association between the K third bit blocks and the M second bit blocks based on the second information, so that the receiver can parse or decode the second data based on the association, thereby improving the success rate of parsing or decoding.
[0027] Optionally, the second information may indicate one or more parameters for generating / determining K third bit blocks.
[0028] As an example, the one or more parameters may include a first parameter that indicates the association between the K third bit blocks and the N second bit blocks.
[0029] As another example, the one or more parameters may include a second parameter indicating the number of bit blocks. The first communication device can obtain K third bit blocks based on this number and N second bit blocks, so that the receiver of the second data can parse the second data based on the second parameter to improve the reception performance of the second data. For example, the number of bit blocks indicated by the second parameter can be the number of bit blocks XORed, or the size of the XOR processing window (or superposition window, XOR superposition window), etc.
[0030] In one possible implementation of the first aspect, the K third bit blocks are obtained by XORing the M second bit blocks and the P first bit blocks, where P is a positive integer.
[0031] Based on the above scheme, the second data is obtained from K third bit blocks, and these K third bit blocks can be obtained by XORing the M second bit blocks and P first bit blocks. In this way, the receiver of the second data can obtain M second bit blocks by parsing or decoding the second data, or it can obtain P first bit blocks (for example, these P first bit blocks are newly transmitted data) by parsing or decoding the second data. This allows the receiver to reuse the transmission process of the second data to transmit more bit blocks, thereby improving data transmission performance.
[0032] A second aspect of this application provides a communication method applied to a second communication device. For example, the second communication device may be a communication equipment (such as a terminal or network device), or it may be a component of a communication equipment (such as a processor, circuit, chip, or chip system responsible for communication functions, including but not limited to a modem chip, a baseband chip, a system-on-chip (SoC) chip containing a modem core, or a system-in-package (SIP) chip, etc.). Alternatively, the second communication device may also be a logic module or software capable of implementing all or part of the functions of a communication equipment. The following description uses a second communication device as an example.
[0033] In this method, a second communication device receives first data, which is obtained based on N second bit blocks, at least one of the N second bit blocks being obtained by XORing at least two of the Q first bit blocks, where N is a positive integer and Q is an integer greater than or equal to 2; the second communication device sends first information indicating that M of the N second bit blocks have been transmitted incorrectly, where M is a positive integer less than or equal to N; the second communication device receives second data, which is retransmission data of the M second bit blocks; wherein, the second data is obtained based on K third bit blocks, which are obtained by XORing the M second bit blocks, where K is a positive integer.
[0034] Based on the above scheme, after the second communication device receives the first data obtained from N second bit blocks, the second communication device sends a first message indicating that M of the N second bit blocks have been transmitted incorrectly. Afterward, the second communication device can receive second data, which is retransmission data of the M second bit blocks. The first communication device can obtain at least one second bit from the N second bit blocks by XORing at least two of the Q first bit blocks; that is, the second communication device can determine at least two first bit blocks from the Q first bit blocks based on at least one of the N second bit blocks. In this way, during the transmission of the first data, the second communication device can use the information carried by the same second bit block to parse (or decode) the information carried by at least two first bit blocks, improving resource utilization and thus enhancing data transmission performance.
[0035] Furthermore, the second data is retransmitted data of the M second bit blocks, which is obtained based on K third bit blocks, which are obtained by XORing the M second bit blocks. In this way, during the transmission of the second data, the second communication device can use the information carried by the same third bit block to parse (or decode) the information carried by at least two second bit blocks, thereby improving resource utilization and data transmission performance.
[0036] In one possible implementation of the second aspect, the method further includes: the second communication device receiving second information, the second information being used to indicate the association relationship between the K third bit blocks and the M second bit blocks.
[0037] Based on the above scheme, the second communication device, as the receiver of the second data, can also receive second information, enabling the second communication device to determine the association relationship between the K third bit blocks and the M second bit blocks based on the second information, so that the second communication device can parse or decode the second data based on the association relationship, thereby improving the success rate of parsing or decoding.
[0038] A third aspect of this application provides a communication method applied to a first communication device. For example, the first communication device may be a communication equipment (such as a terminal or network device), or it may be a component of a communication equipment (such as a processor, circuit, chip, or chip system responsible for communication functions), or it may be a logic module or software capable of implementing all or part of the functions of the communication equipment. The following description uses a first communication device as an example.
[0039] In this method, a first communication device transmits first data, which is obtained based on N second bit blocks, at least one of the N second bit blocks being obtained by XORing at least two of the Q first bit blocks, where N is a positive integer and Q is an integer greater than or equal to 2; the first communication device receives first information indicating that M of the N second bit blocks have transmission errors, where M is a positive integer less than or equal to N; the first communication device transmits second data, which is retransmission data of the M second bit blocks; wherein the M second bit blocks are obtained by XORing L of the Q first bit blocks, and the second data is obtained based on the modulation symbols of the L first bit blocks, where L is a positive integer greater than or equal to M.
[0040] Based on the above scheme, after the first communication device sends first data based on N second bit blocks, the first information received by the first communication device indicates that M of the N second bit blocks have been transmitted incorrectly. Subsequently, the first communication device can send second data based on the first information; this second data is retransmission data of the M second bit blocks. Specifically, the first communication device can obtain at least one second bit from the N second bit blocks by XORing at least two of the Q first bit blocks; that is, at least one second bit block from the N second bit blocks can be used to determine at least two of the Q first bit blocks. In this way, during the transmission of the first data, the receiver of the first data can use the information carried by the same second bit block to parse (or decode) the information carried by at least two first bit blocks, thereby improving resource utilization and data transmission performance.
[0041] Furthermore, the first data is derived from N second bit blocks, which in turn are derived from Q first bit blocks. This means the receiver of the first data can obtain the information content carried by the Q first bit blocks from the first data. The second data is a retransmission of the M second bit blocks, derived from the modulation symbols of the L first bit blocks corresponding to the M second bit blocks that had transmission errors. In this way, during the transmission of the second data, the receiver can obtain the L first bit blocks corresponding to the M second bit blocks from the second data, and can quickly obtain the information content carried by the first bit blocks from these L first bit blocks, thus reducing data processing latency.
[0042] In one possible implementation of the first or third aspect, the method further includes: the first communication device sending third information, the third information being used to indicate the association relationship between the N second bit blocks and the Q first bit blocks.
[0043] Based on the above scheme, the first communication device, as the sender of the first data, can also send third information, so that the receiver of the first data can determine the association between the N second bit blocks and the Q first bit blocks based on the third information, so that the receiver can parse or decode the first data based on the association, thereby improving the success rate of parsing or decoding.
[0044] Optionally, the third information may indicate one or more parameters for generating / determining N second bit blocks.
[0045] As an example, the one or more parameters may include a third parameter that indicates the association between the N second bit blocks and the Q first bit blocks.
[0046] As another example, the one or more parameters may include a fourth parameter indicating the number of bit blocks. The first communication device can obtain N second bit blocks based on this number and Q first bit blocks, so that the receiver of the first data can parse the first data based on the fourth parameter to improve the reception performance of the first data. For example, the number of bit blocks indicated by the second parameter may be the number of bit blocks XORed, or the size of the XOR processing window (or superposition window, XOR superposition window), etc.
[0047] A fourth aspect of this application provides a communication method applied to a second communication device. For example, the second communication device may be a communication equipment (such as a terminal or network device), or it may be a component of a communication equipment (such as a processor, circuit, chip, or chip system responsible for communication functions), or it may be a logic module or software capable of implementing all or part of the functions of the communication equipment. The following description uses a second communication device as an example.
[0048] In this method, a second communication device receives first data, which is obtained based on N second bit blocks, at least one of the N second bit blocks being obtained by XORing at least two of the Q first bit blocks, where N is a positive integer and Q is an integer greater than or equal to 2; the second communication device sends first information indicating that M of the N second bit blocks have transmission errors, where M is a positive integer less than or equal to N; the second communication device receives second data, which is retransmission data of the M second bit blocks; wherein the M second bit blocks are obtained by XORing L of the Q first bit blocks, and the second data is obtained based on the modulation symbols of the L first bit blocks, where L is a positive integer greater than or equal to M.
[0049] Based on the above scheme, after the second communication device receives the first data obtained from N second bit blocks, the second communication device sends a first message indicating that M of the N second bit blocks have been transmitted incorrectly. Afterward, the second communication device can receive second data, which is retransmission data of the M second bit blocks. The first communication device can obtain at least one second bit from the N second bit blocks by XORing at least two of the Q first bit blocks; that is, the second communication device can determine at least two of the Q first bit blocks based on at least one of the N second bit blocks. In this way, during the transmission of the first data, the second communication device can use the information carried by the same second bit block to parse (or decode) the information carried by at least two first bit blocks, improving resource utilization and thus enhancing data transmission performance.
[0050] Furthermore, the first data is obtained based on N second bit blocks, and the N second bit blocks are obtained based on Q first bit blocks. This means the second communication device can obtain the information content carried by the Q first bit blocks through the first data. The second data is retransmission data of the M second bit blocks, obtained based on the modulation symbols of the L first bit blocks corresponding to the M second bit blocks with transmission errors. In this way, during the transmission of the second data, the second communication device can obtain the L first bit blocks corresponding to the M second bit blocks through the second data, and can quickly obtain the information content carried by the first bit blocks through these L first bit blocks, thus reducing data processing latency.
[0051] In one possible implementation of the second or fourth aspect, the method further includes: the second communication device receiving third information, the third information being used to indicate the association relationship between the N second bit blocks and the Q first bit blocks.
[0052] Based on the above scheme, the second communication device, as the receiver of the first data, can also receive third information, enabling the second communication device to determine the association between the N second bit blocks and the Q first bit blocks based on the third information, so that the second communication device can parse or decode the first data based on the association, thereby improving the success rate of parsing or decoding.
[0053] In any of the first to fourth aspects, N is greater than or equal to Q.
[0054] Based on the above scheme, the first data is obtained from N second bit blocks, and the N second bit blocks are obtained from Q first bit blocks. The sender of the first data can combine the bit information contained in the Q first bit blocks and then perform an XOR operation based on the combination result to obtain N first bit blocks.
[0055] Optionally, the Q first bit blocks can be Q transport blocks (TBs) or Q code block groups (CBGs). The bit information contained in the Q first bit blocks can be represented as T (T greater than or equal to Q) code blocks (CBs). The sender of the first data can combine the T CBs contained in the Q first bit blocks to obtain N groups of CBs, where each group of CBs contains the number of CBs. This indicates that T / N is rounded up, and N first bit blocks are obtained based on these N groups of CB.
[0056] As an example (denoted as Example 1), N blocks of first bits can be transmitted through N processes. The 1st process (where i takes values from 1 to N) transmits the i-th first bit block out of the N first bit blocks. Optionally, "process" can be understood as other terms, such as "thread" or other descriptions defined by future standards / protocols.
[0057] For example, the first bit block transmitted in the first process is obtained by XORing the following CBs: the 1+N*(n-1)th CB of the first CB group, the 1+N*(n-1)th CB of the second CB group, ..., the 1+N*(n-1)th CB of the Nth CB group, where n takes values from 1 to ...
[0058] For example, the first bit block transmitted in the i-th process is obtained by XORing the following CBs: the (i+N*(n-1)th CB of the first CB group, the (i+N*(n-1)th CB of the second CB group, ..., the (i+N*(n-1)th CB of the N-th CB group, where n takes values from 1 to...
[0059] For example, the Nth first bit block transmitted in the Nth process is obtained by XORing the following CBs: the N+N*(n-1)th CB of the first CB group, the N+N*(n-1)th CB of the second CB group, ..., the N+N*(n-1)th CB of the Nth CB group, where n takes values from 1 to...
[0060] As another example (denoted as Example 2), the i-th group of CB in N groups contains The first bit block is obtained by XORing the N first bit blocks.
[0061] Optionally, when N is greater than or equal to Q, either the first bit block and either the second bit block are TB, or either the first bit block and either the second bit block are CB, or either the first bit block and either the second bit block are CBG.
[0062] In any of the first to fourth aspects, the first bit block is CB and the second bit block is TB, and Q is greater than or equal to N.
[0063] Based on the above scheme, when the sender of the first data sends Q CBs, the sender can process the Q CBs, so that the receiver of the first data can use the information carried by the same TB to parse (or decode) the information carried by at least two CBs, thereby improving the reliability of data transmission and improving data transmission performance.
[0064] Optionally, when the first bit block is CB and the second bit block is TB, Q CBs can be used to determine N first TBs (each or one or at least one first TB is obtained based on several CBs among the Q CBs), and the first communication device can perform an XOR operation on the N first TBs to obtain N second TBs (the N first bit blocks mentioned above are denoted as N second TBs).
[0065] For example, N first TBs can be used as N groups of CBs in Example 1 above, and N second TBs can be used as N first bit blocks in Example 1 above. The transmission of N second TBs is achieved through the processing of N processes.
[0066] For example, each (or one or at least one) of the N first TBs can be obtained by XORing several CBs corresponding to each first TB, so that each first TB can obtain the gain of XOR processing, and the second TB obtained based on the first TB can also obtain the gain of XOR processing.
[0067] Optionally, when each (or one or at least one) of the N first TBs is obtained by XORing several CBs corresponding to each first TB, the XOR can be implemented in a variety of ways.
[0068] For example, the first TB is obtained by XORing each of the several CBs corresponding to each (or one or at least one) first TB.
[0069] For example, in each (or one or more) of the several CBs corresponding to the first TB, one or more CB groups (e.g., each CB group contains different CBs) can be used to determine the first TB by XORing each of two or more adjacent CB groups.
[0070] For example, in each (or one or more) of the several CBs corresponding to the first TB, one or more CB groups can be identified (e.g., each CB group contains different CBs), and the CBs contained in each CB group can be XORed.
[0071] In one possible implementation of any of the first to fourth aspects, the M second bit blocks are obtained by XORing L first bit blocks from the Q first bit blocks, where L is a positive integer greater than or equal to M; wherein the first information is also used to indicate the L first bit blocks.
[0072] Based on the above scheme, the first information can also indicate the L first bit blocks corresponding to the M second bit blocks, so that the receiver of the first information can clearly identify the first bit blocks that were transmitted incorrectly, and subsequently the receiver of the first information can generate retransmitted data (e.g., second data) based on the L first bit blocks.
[0073] The fifth aspect of this application provides a communication device that performs the functions described in the first aspect. For example, the communication device includes modules, units, or means corresponding to the operations involved in the first aspect. These modules, units, or means can be implemented in software, hardware, or a combination of both. For instance, the device includes a processing unit and a communication unit. The communication unit is used to transmit first data, which is obtained based on N second bit blocks, where at least one of the N second bit blocks is obtained by XORing at least two of the Q first bit blocks, where N is a positive integer and Q is an integer greater than or equal to 2. The communication unit is also used to receive first information. The processing unit is used to determine, based on the first information, that M second bit blocks out of the N second bit blocks have transmission errors, where M is a positive integer less than or equal to N. The communication unit is also used to transmit second data, which is retransmission data of the M second bit blocks. The second data is obtained based on K third bit blocks, which are obtained by XORing the M second bit blocks, where K is a positive integer.
[0074] In the fifth aspect of this application, the constituent modules of the communication device can also be used to perform the steps executed in various possible implementations of the first aspect and achieve the corresponding technical effects. For details, please refer to the first aspect, which will not be repeated here.
[0075] The sixth aspect of this application provides a communication device that has the functions of the second aspect described above. For example, the communication device includes modules, units, or means that perform the operations involved in the second aspect described above. These modules, units, or means can be implemented by software, hardware, or a combination of software and hardware. For example, the device includes a processing unit and a communication unit; the communication unit is used to receive first data, which is obtained based on N second bit blocks, at least one of the N second bit blocks being obtained by XORing at least two of the Q first bit blocks, where N is a positive integer and Q is an integer greater than or equal to 2; the processing unit is also used to determine first information; the communication unit is also used to send first information, which indicates that M of the N second bit blocks have transmission errors, where M is a positive integer less than or equal to N; the communication unit is also used to receive second data, which is retransmission data of the M second bit blocks; wherein, the second data is obtained based on K third bit blocks, which are obtained by XORing the M second bit blocks, where K is a positive integer.
[0076] In the sixth aspect of this application, the constituent modules of the communication device can also be used to perform the steps executed in various possible implementations of the second aspect and achieve the corresponding technical effects. For details, please refer to the second aspect, which will not be repeated here.
[0077] The seventh aspect of this application provides a communication device that has the functions of the third aspect described above. For example, the communication device includes modules, units, or means that perform the operations involved in the third aspect. These modules, units, or means can be implemented by software, hardware, or a combination of software and hardware. For example, the device includes a processing unit and a communication unit; the communication unit is used to transmit first data, which is obtained based on N second bit blocks, at least one of the N second bit blocks being obtained by XORing at least two of the Q first bit blocks, where N is a positive integer and Q is an integer greater than or equal to 2; the communication unit is also used to receive first information, and the processing unit is used to determine, based on the first information, that M of the N second bit blocks have transmission errors, where M is a positive integer less than or equal to N; the communication unit is also used to transmit second data, which is retransmission data of the M second bit blocks; wherein the M second bit blocks are obtained by XORing L of the Q first bit blocks, and the second data is obtained based on the modulation symbols of the L first bit blocks, where L is a positive integer greater than or equal to M.
[0078] In the seventh aspect of this application, the constituent modules of the communication device can also be used to perform the steps executed in various possible implementations of the third aspect and achieve the corresponding technical effects. For details, please refer to the third aspect, which will not be repeated here.
[0079] The eighth aspect of this application provides a communication device that has the functions of the fourth aspect described above. For example, the communication device includes modules, units, or means that perform the operations involved in the fourth aspect. These modules, units, or means can be implemented by software, hardware, or a combination of software and hardware. For example, the device includes a processing unit and a communication unit; the communication unit is used to receive first data, which is obtained based on N second bit blocks, at least one of the N second bit blocks being obtained by XORing at least two of the Q first bit blocks, where N is a positive integer and Q is an integer greater than or equal to 2; the processing unit is used to determine first information; the communication unit is also used to send first information, which indicates that M of the N second bit blocks have transmission errors, where M is a positive integer less than or equal to N; the communication unit is also used to receive second data, which is retransmission data of the M second bit blocks; wherein the M second bit blocks are obtained by XORing L of the Q first bit blocks, and the second data is obtained based on the modulation symbols of the L first bit blocks, where L is a positive integer greater than or equal to M.
[0080] In the eighth aspect of this application, the constituent modules of the communication device can also be used to perform the steps executed in various possible implementations of the fourth aspect and achieve the corresponding technical effects. For details, please refer to the fourth aspect, which will not be repeated here.
[0081] The ninth aspect of this application provides a communication device including at least one processor for executing computer programs or instructions to enable the device to implement any one of the first to fourth aspects and any possible implementation thereof.
[0082] Optionally, the at least one processor is coupled to a memory for storing computer programs or instructions.
[0083] Optionally, the communication device includes the memory. Optionally, the memory is integrated with at least one processor.
[0084] The tenth aspect of this application provides a communication device including at least one logic circuit and an input / output interface; the logic circuit is used to perform a method as described in any one of the possible implementations of the first to fourth aspects.
[0085] In one possible implementation, the communication device is a chip or chip system.
[0086] The eleventh aspect of this application provides a communication system, which includes the first communication device and the second communication device described above.
[0087] The twelfth aspect of this application provides a computer-readable storage medium for storing one or more computer-executable instructions, which, when executed by a processor, perform a method as described in any one of the possible implementations of the first to fourth aspects above.
[0088] The thirteenth aspect of this application provides a computer program product (or computer program) in which, when the computer program in the computer program product is executed by the processor, the processor executes any possible implementation of any of the first to fourth aspects described above.
[0089] The fourteenth aspect of this application provides a chip or chip system including at least one processor for supporting a communication device in implementing any possible implementation of any of the first to fourth aspects described above. For example, the chip may be a baseband chip, a modem chip, a system-on-a-chip (SoC) chip containing a modem core, a system-in-package (SIP) chip, or a communication module, etc.
[0090] In one possible design, the chip or chip system may further include a memory for storing program instructions and data necessary for the communication device. The chip system may be composed of chips or may include chips and other discrete devices. Optionally, the chip system may also include interface circuitry that provides program instructions and / or data to the at least one processor.
[0091] The fifteenth aspect of this application provides a communication device including an interface circuit and one or more processors. The one or more processors are coupled to a memory. The memory stores part or all of a computer program or instructions necessary for implementing the functions involved in any of the first to fourth aspects described above. The one or more processors are executable to carry out the computer program or instructions, which, when executed, cause the communication device to implement the methods in any possible design or implementation of any of the first to fourth aspects described above. The interface circuit is used to implement communication functions within the communication device and / or communication functions between the communication device and other devices or components.
[0092] In one possible design, the processor is used to communicate with other devices or components through the interface circuit.
[0093] In one possible design, the communication device may also include a memory.
[0094] The aforementioned communication device may be a terminal, a communication module in a terminal, or a chip in a terminal that is responsible for communication functions, such as a modem chip (also known as a baseband chip) or a SoC or SIP chip containing a modem module.
[0095] The technical effects of any of the design methods in aspects five through fourteen can be found in the technical effects of the different design methods in aspects one through four above, and will not be repeated here. Attached Figure Description
[0096] Figure 1 is a schematic diagram of the communication system provided in this application;
[0097] Figures 2a to 2d are some schematic diagrams of the data processing process involved in this application;
[0098] Figures 3 and 5 are some schematic diagrams of the communication method provided in this application;
[0099] Figures 4a to 4d are schematic diagrams illustrating the application of the communication method provided in this application;
[0100] Figures 6 and 7 are schematic diagrams of the communication device provided in this application. Detailed Implementation
[0101] First, some terms used in the embodiments of this application will be explained to facilitate understanding by those skilled in the art.
[0102] (1) The terms "system" and "network" in the embodiments of this application can be used interchangeably. "Multiple" refers to two or more. "And / or" describes the relationship between related objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, or B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the related objects before and after are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, "at least one of A, B and C" includes A, B, C, AB, AC, BC or ABC. And, unless otherwise specified, the ordinal numbers such as "first" and "second" mentioned in the embodiments of this application are used to distinguish multiple objects and are not used to limit the order, sequence, priority or importance of multiple objects.
[0103] (2) In the embodiments of this application, "send" and "receive" indicate the direction of signal transmission. For example, "send information to XX" can be understood as the destination of the information being XX, which may include sending directly through the air interface or sending indirectly through the air interface by other units or modules. "Receive information from YY" can be understood as the source of the information being YY, which may include receiving directly from YY through the air interface or receiving indirectly from YY through the air interface by other units or modules. "Send" can also be understood as the "output" of the chip interface, and "receive" can also be understood as the "input" of the chip interface.
[0104] In other words, sending and receiving can occur between devices, such as between network devices and terminals, or within a device, such as between components, modules, chips, software modules, or hardware modules within the device via buses, wiring, or interfaces.
[0105] It is understandable that information may undergo necessary processing, such as encoding and modulation, between the source and destination, but the destination can understand the valid information from the source. Similar statements in this application can be interpreted in a similar way and will not be elaborated further.
[0106] (3) In the embodiments of this application, "instruction" may include direct instruction and indirect instruction, as well as explicit instruction and implicit instruction. The information indicated by a certain piece of information (as described below, the instruction information) is called the information to be instructed. In the specific implementation process, there are many ways to indicate the information to be instructed, such as, but not limited to, directly indicating the information to be instructed, such as the information to be instructed itself or its index. It can also indirectly indicate the information to be instructed by indicating other information, where there is an association between the other information and the information to be instructed; or it can only indicate a part of the information to be instructed, while the other parts of the information to be instructed are known or pre-agreed upon. For example, the instruction can be implemented by using a pre-agreed (e.g., protocol predefined) arrangement of various information, thereby reducing the instruction overhead to a certain extent. This application does not limit the specific method of instruction. It is understood that for the sender of the instruction information, the instruction information can be used to indicate the information to be instructed, and for the receiver of the instruction information, the instruction information can be used to determine the information to be instructed.
[0107] In this application, unless otherwise specified, the same or similar parts between the various embodiments can be referred to each other. In the various embodiments of this application, and the various methods / designs / implementations within each embodiment, unless otherwise specified or logically conflicting, the terminology and / or descriptions between different embodiments and between the various methods / designs / implementations within each embodiment are consistent and can be mutually referenced. The technical features in different embodiments and the various methods / designs / implementations within each embodiment can be combined to form new embodiments, methods, or implementations based on their inherent logical relationships. The following descriptions of the embodiments of this application do not constitute a limitation on the scope of protection of this application.
[0108] This application can be applied to long-term evolution (LTE) systems, new radio (NR) systems, or future communication systems. These communication systems include at least one network device and / or at least one terminal.
[0109] Please refer to Figure 1, which is a schematic diagram of the architecture of the communication system 1000 used in the embodiments of this application. As shown in Figure 1, the communication system includes a radio access network (RAN) 100 and a core network 200. Optionally, the communication system 1000 may also include an Internet 300. The RAN 100 includes at least one RAN node (110a and 110b in Figure 1, collectively referred to as 110), and may also include at least one terminal (120a-120j in Figure 1, collectively referred to as 120). The RAN 100 may also include other RAN nodes, such as wireless relay devices and / or wireless backhaul devices (not shown in Figure 1). The terminal 120 is wirelessly connected to the RAN node 110, and the RAN node 110 is wirelessly or wiredly connected to the core network 200. The core network equipment in the core network 200 and the RAN node 110 in the RAN 100 can be independent and different physical devices, or they can be the same physical device integrating the logical functions of the core network equipment and the logical functions of the RAN node. Terminals can be connected to each other, as can RAN nodes, via wired or wireless means.
[0110] RAN100 can be an evolved universal terrestrial radio access (E-UTRA) system, a new radio (NR) system, or a future radio access system as defined in the 3rd generation partnership project (3GPP). RAN100 can also include two or more of the above-mentioned different radio access systems. RAN100 can also be an open RAN (O-RAN).
[0111] RAN nodes, also known as radio access network devices, RAN entities, radio access equipment, or access nodes, are used to help terminals access the communication system wirelessly. Furthermore, multiple RAN nodes 110 can be of the same type or different types. In some scenarios, the roles of RAN nodes 110 and terminals 120 are relative. For example, network element 120i in Figure 1 can be a helicopter or drone, which can be configured as a mobile base station. For terminals 120j accessing RAN 100 through network element 120i, network element 120i is a base station; but for base station 110a, network element 120i is a terminal. RAN nodes 110 and terminals 120 are sometimes referred to as communication devices. For example, network elements 110a and 110b in Figure 1 can be understood as communication devices with base station functions, and network elements 120a-120j can be understood as communication devices with terminal functions.
[0112] In one possible scenario, a RAN node can be a base station, an evolved NodeB (eNodeB), an access point (AP), a transmission reception point (TRP), a next-generation NodeB (gNB), or a base station in a future mobile communication system, or an access node in a WiFi system. A RAN node can be a macro base station (as shown in Figure 1, 110a), a micro base station or indoor station (as shown in Figure 1, 110b), a relay node or donor node, or a radio controller in a CRAN scenario. Optionally, a RAN node can also be a server, wearable device, vehicle, or in-vehicle equipment. For example, the access network equipment in vehicle-to-everything (V2X) technology can be a roadside unit (RSU). All or part of the functions of the RAN node in this application can also be implemented through software functions running on hardware, or through virtualization functions instantiated on a platform (e.g., a cloud platform). The RAN node in this application can also be a logical node, logical module, or software capable of implementing all or part of the RAN node functions.
[0113] In another application scenario, multiple RAN nodes can collaborate to help terminals achieve wireless access, with different RAN nodes implementing different functions of the base station. For example, a RAN node can be a central unit (CU), a distributed unit (DU), or a radio unit (RU). Here, the CU performs the functions of the base station's radio resource control (RRC) protocol and packet data convergence protocol (PDCP), and can also perform the functions of the service data adaptation protocol (SDAP). The DU performs the functions of the base station's radio link control layer and MAC layer, and can also perform some or all of the physical layer functions. For specific descriptions of these protocol layers, refer to the relevant 3GPP technical specifications. The RU can be used to implement radio frequency signal transmission and reception. The CU and DU can be two independent RAN nodes or integrated into the same RAN node, such as within a baseband unit (BBU). The RU can be included in radio frequency equipment, such as in a remote radio unit (RRU) or an active antenna unit (AAU). The CU can be further divided into two types of RAN nodes: CU-control plane and CU-user plane.
[0114] In different systems, RAN nodes may have different names. For example, in an O-RAN system, a CU can be called an open CU (O-CU), a DU can be called an open DU (O-DU), and an RU can be called an open RU (O-RU). The RAN nodes in the embodiments of this application can be implemented through software modules, hardware modules, or a combination of software and hardware modules. For example, a RAN node can be a server loaded with the corresponding software modules. The embodiments of this application do not limit the specific technology or device form used in the RAN nodes. For ease of description, a base station is used as an example of a RAN node in the following description.
[0115] A terminal is a device with wireless transceiver capabilities, capable of sending signals to or receiving signals from a base station. Terminals can also be referred to as user equipment (UE), mobile stations, mobile terminals, etc. Terminals can be widely used in various scenarios, such as device-to-device (D2D), vehicle-to-everything (V2X) communication, machine-type communication (MTC), the Internet of Things (IoT), virtual reality, augmented reality, industrial control, autonomous driving, telemedicine, smart grids, smart furniture, smart offices, smart wearables, intelligent transportation, and smart cities. Terminals can be mobile phones, tablets, computers with wireless transceiver capabilities, wearable devices, vehicles, airplanes, ships, robots, robotic arms, smart home devices, etc. The embodiments of this application do not limit the specific technologies or device forms used in the terminals.
[0116] Base stations and terminals can be fixed or mobile. They can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; they can also be deployed on water; and they can be deployed on aircraft, balloons, and satellites. The embodiments of this application do not limit the application scenarios of the base stations and terminals.
[0117] Communication between base stations and terminals, between base stations, and between terminals can be conducted using licensed spectrum, unlicensed spectrum, or both simultaneously. Communication can be conducted using spectrum below 6 GHz, spectrum above 6 GHz, or both simultaneously. The embodiments of this application do not limit the spectrum resources used for wireless communication.
[0118] In the embodiments of this application, the functions of the base station can be executed by modules (such as chips) within the base station, or by a control subsystem that includes base station functions. This control subsystem, including base station functions, can be a control center in the aforementioned application scenarios such as smart grids, industrial control, intelligent transportation, and smart cities. Similarly, the functions of the terminal can be executed by modules (such as chips or modems) within the terminal, or by a device that includes terminal functions.
[0119] Optionally, the scenario shown in Figure 1 is one implementation example. The solution provided in this application can also be applied to other scenarios, such as sidelink (SL), where both the data sender and the data receiver can be terminals.
[0120] In addition, a typical application of sidelinks is V2X communication, which utilizes and enhances current cellular network functions and elements to achieve low-latency and high-reliability communication between various nodes in the vehicle network, including vehicle-to-vehicle (V2V), vehicle-to-pedestrian (V2P), vehicle-to-infrastructure (V2I), and vehicle-to-network (V2N).
[0121] In wireless communication systems (as shown in Figure 1), data can be transmitted between different communication devices. With the continuous development of communication technology, multimedia services with high real-time requirements and large data capacity are gradually being incorporated into communication systems, such as video transmission, cloud gaming (CG), and extended reality (XR) applications. XR includes virtual reality (VR), augmented reality (AR), and mixed reality (MR). With the rapid increase in communication transmission rates, how to improve data transmission performance is a key research issue in current communication networks. The following will exemplarily describe the data transmission process that may be involved in this application, using the processes shown in Figures 2a to 2c.
[0122] As shown in Figure 2a, during data transmission, the communication device can perform encoding-related processing on the transmitted data. Figure 2a uses LDPC encoding as an example, which includes: cyclic redundancy check (CRC) addition to the transport block, selection of the LDPC basemap, code block segmentation, channel coding (i.e., LDPC coding), rate matching, code block concatenation (optionally also including interleaving), scrambling, modulation, layer mapping, antenna port mapping, and resource block (including vRB and physical resource block (PRB)) mapping, etc.
[0123] Optionally, during data transmission, after resource block mapping, other processing procedures may be involved, including one or more of the following: digital beamforming (BF), inverse fast Fourier transformation (IFFT), cyclic prefix addition (CP), digital to analog (DA) conversion, and analog BF.
[0124] The following section will introduce the code block segmentation, LDPC coding, and rate matching involved in Figure 2a.
[0125] ① Code block segmentation may include CRC addition to code blocks. In this way, large transport blocks can be divided into smaller segments, and error detection functions can be provided at the code block level to ensure efficient and reliable data transmission.
[0126] Block segmentation: If the size of a transport block is too large for efficient LDPC (Low-Density Parity-Check) coding, it is divided into smaller segments called block sizes. For example, the maximum block size is defined by the standard / protocol. Segmentation is performed to ensure efficient channel coding and decoding while maintaining reasonable complexity. Optionally, block segmentation criteria: The segmentation process is determined by comparing the transport block size with a specified maximum block size; if the transport block size exceeds the maximum block size, the transport block is divided into blocks of equal size (except for the last block, which may be smaller); if the transport block size is within the maximum block size, no segmentation is performed.
[0127] CRC appending: After segmenting a code block using code block segmentation, the CRC is calculated and appended individually to each code block. For example, a 24-bit CRC (CEC) allows the receiver (e.g., a terminal) to perform error detection on a per-code-block basis.
[0128] ②LDPC Channel Coding: The LDPC coding process takes segmented code blocks (e.g., CRC with attached code blocks) as input and generates parity bits based on the selected base map and boosting factor. These parity bits are then appended to the original data bits to form codewords transmitted through data channels (e.g., physical downlink shared channel (PDSCH), physical uplink shared channel (PUSCH), etc.).
[0129] ③ Rate matching: The purpose of rate matching is to adjust the output data rate of the channel encoder (e.g., LDPC) to match the available resources allocated to transmission in the time-frequency grid of the data channel.
[0130] Figure 2b illustrates an example of a coding scheme for Block Markov Superposition Transmission (BMST), also known as superposition transmission. In BMST, the transmitting end divides a data block into multiple sub-blocks and encodes these sub-blocks using channel coding to obtain corresponding codewords. The previous codeword is interleaved with the current codeword, and a bitwise XOR operation is performed. The XORed codeword is then used as the actual transmitted codeword sequence. This method forms a sliding-window-based chain superposition transmission. The receiving end then decodes the data using a sliding-window-based decoding algorithm. The following example, using Figure 2b, illustrates the implementation process when the number of XORed bit blocks (i.e., the superposition window size) is 2.
[0131] For example, in Figure 2b, c1 to c4 are four information bit sequences encoded using LDPC without rate matching. The transmitter encodes an information bit sequence u1 using LDPC to obtain a codeword sequence c1. Since it's the first codeword sequence, no XOR operation is needed, and the corresponding transmitted v1 sequence is c1. Similarly, information bit sequence u2 is encoded using LDPC to obtain a codeword sequence c2. By performing bit selection and interleaving on the previous codeword sequence c1, the bits are superimposed onto the bits of codeword sequence c2, and then XORed to obtain the actual transmitted superimposed codeword sequence v2. This process is repeated for u3 and u4, resulting in superimposed v3 and v4 codeword sequences. Afterward, the transmitter can perform rate matching and other subsequent processing on v1 to v4.
[0132] For example, in Figure 2b, c1 to c4 are four information bit sequences that have undergone rate matching processing (e.g., without code block concatenation or scrambling). The transmitting end encodes an information bit sequence u1 using LDPC and then rate-matches it, resulting in a redundant version (RV), denoted as sequence c1. Since this is the first codeword sequence, no superposition is needed, and the corresponding transmitted v1 sequence is sequence c1. Similarly, information bit sequence u2 is also encoded using LDPC and rate-matched, resulting in a redundant version denoted as sequence c2. By selecting and interleaving the bits of the previous sequence c1, superimposing them onto the bits of codeword sequence c2, and then performing an XOR operation, the actual transmitted superimposed codeword sequence v2 is obtained. Similarly, u3 and u4 are processed in the same way to obtain the superimposed codeword sequences v3 and v4. Subsequently, the transmitting end can perform code block concatenation, scrambling, or other subsequent processing on v1 to v4.
[0133] Optionally, the sending end can determine the corresponding bit block threshold for XOR transmission based on the configured or pre-configured maximum bit block length for XOR processing. For example, if a maximum of k information sequences are allowed to be XORed, then the maximum length is uk, and the corresponding actual codewords sent are v1 to vk.
[0134] As described in the above BMST implementation process, the receiving end can determine the generator matrix of the XOR transmission through configuration or pre-configuration, and perform decoding based on the generator matrix.
[0135] For example, as shown in Figure 2c, for decoding, a sliding window decoding algorithm is adopted. Considering the joint decoding of multiple received sequences in the decoding window, taking a decoding window length of 2 as an example, considering that the window contains soft information sequences of two codewords; as shown in Figure 2c, the node LDPC represents the NR LDPC encoder and decoder. For the t-th codeword, decoding is performed by using the soft information sequence and the soft value extrinsic information in the XOR transmission codeword soft information sequence as input; and the corresponding soft information is passed to the decoding process of the t+1 codeword; the t+1 codeword is then decoded by using the soft information sequence and the soft value extrinsic information in the XOR transmission codeword soft information sequence as input; a hard decision is made on the corresponding codeword to finally obtain the corresponding real codeword c(t), and then the information bit sequence u(t) is obtained.
[0136] Therefore, through the implementation of BMST, the soft information associated with the preceding and following codewords can be fully utilized to perform information transmission decoding algorithms, which can improve decoding performance. The XORed codeword contains the soft information of the previous codeword, which is equivalent to the effect of retransmission. At the same time, it does not rely on feedback and reduces latency.
[0137] Figure 2d illustrates the implementation of the Hybrid Automatic Repeat Request (HARQ) mechanism. HARQ retransmission involves the Stop-and-Wait Protocol, where the sender stops transmitting after sending one terabyte (TB) and waits for acknowledgment from the receiver. In other words, the HARQ mechanism operates using a multi-process stop-and-wait protocol. While one process is waiting for acknowledgment, the sender can use another process to continue sending information. Similarly, while the receiver is processing information received by one process, it can use another process to continue receiving information. Multiple HARQ processes process in parallel, forming a HARQ entity. One uplink or downlink carrier corresponds to one HARQ entity; for example, a single HARQ entity can support a maximum of 16 HARQ processes. Retransmission is required in case of transmission failure.
[0138] Furthermore, depending on whether the retransmitted bit information is the same as the initial transmission, soft combining schemes are divided into chase combining (CC) and incremental redundancy (IR). Generally, in chase combining, the retransmitted bit information is the same as the initial transmission, while in incremental redundancy, the retransmitted bit information does not need to be the same as the initial transmission.
[0139] For example, as shown in Figure 2d, for IR combining, including RV0 to RV3, multiple retransmissions can typically be performed in the order of 0, 2, 3, 1.
[0140] As can be seen from the above process, during data transmission, if the data receiver determines that one or more bit blocks in a certain transmission are transmitted incorrectly, the data receiver can request the data sender to retransmit the one or more bit blocks. Correspondingly, the data sender can retransmit the bit blocks in the one or more bit blocks based on the request, so that the data receiver can parse the one or more bit blocks one by one based on the retransmitted data to obtain the one or more bit blocks.
[0141] However, with the development of communication technology, the demands of communication equipment for data transmission performance are constantly increasing (for example, there are high data reliability requirements for high-reliability services and / or low-latency services). In this case, the above-mentioned data transmission methods may not be able to meet the requirements. For example, in the above process, the bit blocks sent by the data sender are transmitted independently (for example, different bit blocks in one or more retransmitted bit blocks are transmitted independently, or different bit blocks in one or more bit blocks from the previous transmission are transmitted independently), resulting in the parsing of different bit blocks being independent of each other. For example, after the transmission of RV for each bit block in Figure 2d, the receiving end performs independent parsing of each bit block based on the received RV. The performance of this transmission method is poor. While the above-mentioned BMST transmission process can improve data transmission performance, there is currently no relevant literature documenting that BMST can be applied to data retransmission scenarios.
[0142] To address the aforementioned problems, this application provides a communication method and related apparatus, which will be described in detail below with reference to the accompanying drawings.
[0143] It should be understood that the following description uses different communication devices as examples to illustrate the method, but this application does not limit the subject of the interaction.
[0144] For example, the first communication device may be a communication device (such as a terminal or network device), or the first communication device may be a component of the communication device (such as a chip, baseband chip, modem chip, SoC chip containing a modem core, SIP chip, communication module, chip system, processor, logic module or software, etc.).
[0145] For example, the second communication device can be a communication device (such as a network device or a terminal), or the second communication device can be a component of the communication device (such as a chip, baseband chip, modem chip, SoC chip containing a modem core, SIP chip, communication module, chip system, processor, logic module or software, etc.).
[0146] It is understood that when the first communication device is a terminal or a component of a terminal, the second communication device is a network device or a component of a network device. Alternatively, when the first communication device is a network device or a component of a network device, the second communication device is a terminal or a component of a terminal. Or, both the first and second communication devices can be terminals or components of terminals.
[0147] Please refer to Figure 3, which is a schematic diagram of an implementation of the communication method provided in this application. The method includes the following steps.
[0148] S301. The first communication device sends first data, and correspondingly, the second communication device receives the first data. The first data is obtained based on N second bit blocks, where at least one of the N second bit blocks is obtained by XORing at least two of the Q first bit blocks, where N is a positive integer and Q is an integer greater than or equal to 2.
[0149] S302. The second communication device sends first information; correspondingly, the first communication device receives the first information. The first information indicates that M of the N second bit blocks have transmission errors, where M is a positive integer less than or equal to N.
[0150] Optionally, the first information can indicate that M of the N second bit blocks have been transmitted incorrectly in various ways. For example, the first information may include the indices of the M second bit blocks. Alternatively, the first information may include a bitmap containing N bits, where the value of the i-th bit indicates whether the i-th second bit block has been transmitted incorrectly (e.g., a value of 0 indicates a transmission error and a value of 1 indicates no transmission error; a value of 1 indicates a transmission error and a value of 0 indicates no transmission error).
[0151] S303. The first communication device sends second data, and correspondingly, the second communication device receives the second data. The second data is retransmitted data of the M second bit blocks; the second data is obtained based on K third bit blocks, which are obtained by XORing the M second bit blocks, where K is a positive integer.
[0152] In this application, "bit block" can be understood as other terms, such as bit sequence or bit information.
[0153] In this application, transmission error can be understood as other terms, such as receiving error, decoding error, parsing error, failure to decode, failure to parse, failure to receive, etc.
[0154] In one possible implementation, during the transmission of the first data, in at least two of the N second bit blocks, the bit sequence of each (or one or at least one) second bit block can be obtained by bitwise XORing the bit sequences of the same first bit block and 0 or 1 or more other bit blocks from the Q first bit blocks. For example, taking the at least two second bit blocks as including second bit block_1 and second bit block_2, and the same first bit block as first bit block_A, second bit block_1 can be obtained based on first bit block_A, and second bit block_2 can be obtained by XORing first bit block_A and 1 or more other bit blocks. Taking Figure 2b above as an example, the second bit block can be v1, v2, v3, or v4, etc., and the first bit block can be c1, c2, c3, or c4, etc. For example, the second bit block _1 can be v2, the second bit block _2 can be v3, and the first bit block _A can be c2. It can be seen that the data receiving end can parse c2 through v2 and also parse c2 through v3. Alternatively, the second bit block _1 can be v3, the second bit block _2 can be v4, and the first bit block _A can be c3. It can be seen that the data receiving end can parse c3 through v3 and also parse c3 through v4.
[0155] In this way, during the transmission of the first data, at least two of the N second bit blocks can be used to parse (or decode, etc.) the same first bit block among the Q first bit blocks, so that the same first bit block can be transmitted at least twice in the first data, which is equivalent to the effect of retransmission. At the same time, it does not rely on feedback, which can reduce transmission latency, improve transmission reliability, and further improve data transmission performance.
[0156] Similarly, during the transmission of the second data, in at least two of the K third bit blocks, the bit sequence of each (or one or at least one) third bit block can be obtained by bitwise XORing the bit sequences of the same second bit block from the N second bit blocks and 0 or 1 or more other bit blocks. In this way, during the transmission of the second data, at least two of the K third bit blocks can be used to parse (or decode, etc.) the same second bit block from the N second bit blocks, allowing this same second bit block to be transmitted at least twice in the second data, effectively achieving a retransmission effect. Furthermore, it does not rely on feedback, reducing transmission latency, improving transmission reliability, and further enhancing data transmission performance.
[0157] In one possible implementation, the first data can be either the initial transmission data or the retransmission data; this is not limited here. For example, if the first data is the initial transmission, the XOR operation described above can improve the reliability of data transmission while reducing the probability of retransmission. Similarly, if the first data is a retransmission, the XOR operation described above can improve the reliability of data transmission while also preventing transmission timeouts caused by further transmission errors. Here, the retransmission involved in this application can refer to a non-initial transmission or a non-new transmission, and the retransmission can be the x-th retransmission (x is a positive integer).
[0158] Furthermore, this first data can be obtained in various ways, which will be described below with some examples.
[0159] Example A: N second bit blocks are obtained based on Q first bit blocks, which may have already undergone rate matching. For example, the Q first bit blocks may be a redundant version of one or more bit blocks obtained through rate matching, where these one or more bit blocks may be channel-coded bit blocks. Similarly, K third bit blocks are obtained by XORing the M second bit blocks, which may have already undergone rate matching. For example, the M second bit blocks may be a redundant version of one or more bit blocks obtained through rate matching, where these one or more bit blocks may be channel-coded bit blocks.
[0160] Optionally, the channel coding involved in this application may be LDPC coding, polar coding, RS code, turbo code, convolutional code, or other coding methods defined by the future network.
[0161] In Example A above, the first communication device can perform a first process based on the N second bit blocks to obtain first data; similarly, the first communication device can perform a first process based on the M second bit blocks to obtain second data. The first process may include one or more of the following: code block concatenation, interleaving, scrambling, modulation, layer mapping, precoding, resource mapping (or port mapping), beamforming, and digital-to-analog conversion. Correspondingly, the first data (and / or second data) transmitted by the first communication device can be data after code block concatenation, interleaved data, scrambled data, modulated data, layer-mapped data, precoded data, resource-mapped (or port-mapped) data, beamformed data, digital-to-analog conversion data, etc.
[0162] Example B: N second bit blocks are obtained based on Q first bit blocks, which may not have undergone rate matching. For example, after a first communication device obtains N second bit blocks based on the Q first bit blocks, it can perform a second process on the N second bit blocks to obtain first data; this second process includes at least rate matching. Similarly, K third bit blocks are obtained based on M second bit blocks through XOR, which may not have undergone rate matching. For example, after a first communication device obtains K third bit blocks based on the M second bit blocks, it can perform a second process on the K third bit blocks to obtain first data; this second process includes at least rate matching.
[0163] In Example B above, the second processing may further include one or more of the following: code block splicing, interleaving, scrambling, modulation, layer mapping, precoding, resource mapping (or port mapping), beamforming, and digital-to-analog conversion; correspondingly, the first data (and / or second data) transmitted by the first communication device may be data after rate matching, data after code block splicing, data after interleaving, data after scrambling, data after modulation, data after layer mapping, data after precoding, data after resource mapping (or port mapping), data after beamforming, data after digital-to-analog conversion, etc.
[0164] In one possible implementation, during the processing of the first data, at least one of the N second bit blocks is obtained by XORing at least two of the Q first bit blocks. For example, any one of the N second bit blocks is obtained by XORing at least two of the Q first bit blocks; or, one of the N second bit blocks is the same as one of the Q first bit blocks, and the other N-1 second bit blocks are obtained by XORing at least two of the Q first bit blocks; this provides a more flexible encoding scheme.
[0165] In one possible implementation, during the processing of the first data, N second bit blocks can be obtained based on Q first bit blocks, wherein the N second bit blocks satisfy the following conditions: at least one of the N second bit blocks is the XOR result of at least two of the Q first bit blocks; and / or, at least one of the N second bit blocks is obtained by a third processing step on at least two of the Q first bit blocks. This third processing step can be XOR, or it can be adding multiple bit sequences and then performing modulo-2 processing, etc. Similarly, during the processing of the second data, K third bit blocks can be obtained based on N second bit blocks, wherein the K third bit blocks satisfy the following conditions: at least one of the K third bit blocks is the XOR result of at least two of the N second bit blocks; and / or, at least one of the K third bit blocks is obtained by a third processing step on at least two of the N second bit blocks.
[0166] Based on the scheme shown in Figure 3, after the first communication device sends the first data obtained based on N second bit blocks in step S301, the first information received by the first communication device in step S302 indicates that M of the N second bit blocks have been transmitted incorrectly. Subsequently, the first communication device can send second data based on the first information in step S303. This second data is the retransmission data of the M second bit blocks. Specifically, the first communication device can obtain at least one second bit from the N second bit blocks by XORing at least two of the Q first bit blocks; that is, at least one second bit block from the N second bit blocks can be used to determine at least two of the Q first bit blocks. In this way, during the transmission of the first data, the receiver of the first data can use the information carried by the same second bit block to parse (or decode) the information carried by at least two first bit blocks, thereby improving resource utilization and data transmission performance.
[0167] Furthermore, the second data is retransmitted data of the M second bit blocks, which is obtained based on K third bit blocks, which are obtained by XORing the M second bit blocks. In this way, during the transmission of the second data, the receiver can use the information carried by the same third bit block to parse (or decode) the information carried by at least two second bit blocks, thereby improving resource utilization and data transmission performance.
[0168] In one possible implementation, the M second bit blocks are obtained by XORing L first bit blocks from the Q first bit blocks, where L is a positive integer greater than or equal to M; wherein, the first information is also used to indicate the L first bit blocks. Specifically, the first information may also indicate the L first bit blocks corresponding to the M second bit blocks, so that the receiver of the first information can clearly identify the first bit blocks that were transmitted incorrectly, and subsequently the receiver of the first information generates retransmitted data (e.g., second data) based on the L first bit blocks. Alternatively, the first information does not need to indicate the L first bit blocks; for example, the receiver of the first information can clearly identify the M second bit blocks that were transmitted incorrectly through the first information, and subsequently the receiver of the first information generates retransmitted data (e.g., second data) based on the M second bit blocks.
[0169] In one possible implementation, the method shown in Figure 3 further includes: the first communication device can send second information, which indicates the association relationship between the K third bit blocks and the M second bit blocks. Specifically, as the sender of the second data, the first communication device can also send the second information, enabling the receiver of the second data to determine the association relationship between the K third bit blocks and the M second bit blocks based on the second information, so that the receiver can parse or decode the second data based on the association relationship, thereby improving the success rate of parsing or decoding.
[0170] Optionally, the second information may indicate one or more parameters for generating / determining K third bit blocks.
[0171] As an example, the one or more parameters may include a first parameter that indicates the association between the K third bit blocks and the N second bit blocks.
[0172] As another example, the one or more parameters may include a second parameter indicating the number of bit blocks. The first communication device can obtain K third bit blocks based on this number and N second bit blocks, so that the receiver of the second data can parse the second data based on the second parameter to improve the reception performance of the second data. For example, the number of bit blocks indicated by the second parameter can be the number of bit blocks XORed, or the size of the XOR processing window (or superposition window, XOR superposition window), etc.
[0173] In one possible implementation, the K third bit blocks are obtained by XORing the M second bit blocks and P first bit blocks, where P is a positive integer. The second data is derived from the K third bit blocks, which can be obtained by XORing the M second bit blocks and P first bit blocks. In this way, the receiver of the second data can obtain the M second bit blocks through parsing or decoding, or it can obtain the P first bit blocks (e.g., these P first bit blocks are newly transmitted data). This allows the receiver to reuse the transmission process of the second data to transmit more bit blocks, thereby improving data transmission performance.
[0174] In one possible implementation, the method shown in Figure 3 further includes: the first communication device sending third information, which indicates the association relationship between the N second bit blocks and the Q first bit blocks. Specifically, as the sender of the first data, the first communication device can also send third information, enabling the receiver of the first data to determine the association relationship between the N second bit blocks and the Q first bit blocks based on the third information, so that the receiver can parse or decode the first data based on the association relationship, thereby improving the success rate of parsing or decoding.
[0175] Optionally, the third information may indicate one or more parameters for generating / determining N second bit blocks.
[0176] As an example, the one or more parameters may include a third parameter that indicates the association between the N second bit blocks and the Q first bit blocks.
[0177] As another example, the one or more parameters may include a fourth parameter indicating the number of bit blocks. The first communication device can obtain N second bit blocks based on this number and Q first bit blocks, so that the receiver of the first data can parse the first data based on the fourth parameter to improve the reception performance of the first data. For example, the number of bit blocks indicated by the second parameter may be the number of bit blocks XORed, or the size of the XOR processing window (or superposition window, XOR superposition window), etc.
[0178] It should be noted that the first data is obtained based on N second bit blocks, and the N second bit blocks are obtained based on Q first bit blocks. There may be various relationships between N and Q. The following will illustrate some possible implementation methods.
[0179] Method 1: N is greater than or equal to Q. For example, the sender of the first data can combine the bit information contained in the Q first bit blocks, and then XOR the combination results to obtain N first bit blocks. Among them, the Q first bit blocks can be Q TBs or Q CBGs, and the bit information contained in the Q first bit blocks can be represented as T (T is greater than or equal to Q) CBs.
[0180] In one possible implementation, in mode one, when N is greater than or equal to Q, any first bit block and any second bit block are TB, or any first bit block and any second bit block are CB, or any first bit block and any second bit block are CBG.
[0181] In one possible implementation, in Method 1, the sender of the first data combines the T CBs contained in the Q first bit blocks to obtain N groups of CBs, where each group of CBs contains the number of CBs. This indicates that T / N is rounded up, and N first bit blocks are obtained based on these N groups of CB.
[0182] For example, as shown in Figure 4a, taking Q first bit blocks as 1 TB or 1 CBG (i.e., Q is 1), the T CBs contained in the Q first bit blocks can be 32 CBs (i.e., T is 32). These 32 CBs are CB_11 to CB_18, CB_21 to CB_28, CB_31 to CB_38, and CB_41 to CB_48 in Figure 4a. Correspondingly, N groups of CBs can be 4 groups (i.e., N is 4), namely CB group_1 containing CB_11 to CB_18, CB group_2 containing CB_21 to CB_28, CB group_3 containing CB_31 to CB_38, and CB group_4 containing CB_41 to CB_48. Each group of CBs contains 8 CBs (i.e., ...). ).
[0183] As an example of Method 1 (denoted as Example 1), N groups of CBs can be transmitted through N processes, where the i-th process (where i takes values from 1 to N) transmits the i-th first bit block out of the N first bit blocks. Optionally, "process" can be understood as other terms, such as "thread" or other descriptions defined by future standards / protocols.
[0184] For example, the first bit block transmitted in the first process is obtained by XORing the following CBs: the 1+N*(n-1)th CB of the first CB group, the 1+N*(n-1)th CB of the second CB group, ..., the 1+N*(n-1)th CB of the Nth CB group, where n takes values from 1 to ... Taking Figure 4a as an example, n takes values from 1 to 2. The CB used to obtain the first bit block contains:
[0185] The first CB in the first group (n takes the value 1, 1+N*(n-1)=1) and the fifth CB (n takes the value 2, 1+N*(n-1)=5);
[0186] The first CB (n takes the value 1, 1+N*(n-1)=1) and the fifth CB (n takes the value 2, 1+N*(n-1)=5) in the second group of CB;
[0187] The first CB (n takes the value 1, 1+N*(n-1)=1) and the fifth CB (n takes the value 2, 1+N*(n-1)=5) in the third group;
[0188] The first CB (n takes the value 1, 1+N*(n-1)=1) and the fifth CB (n takes the value 2, 1+N*(n-1)=5) in the fourth group of CB.
[0189] That is, the first bit block transmitted by the first process is obtained by XORing the eight CBs CB_11, CB_15, CB_21, CB_25, CB_31, CB_35, CB_41, and CB_45 in Figure 4a.
[0190] For example, the first bit block transmitted in the i-th process is obtained by XORing the following CBs: the (i+N*(n-1)th CB of the first CB group, the (i+N*(n-1)th CB of the second CB group, ..., the (i+N*(n-1)th CB of the N-th CB group, where n takes values from 1 to... Taking Figure 4a as an example, n takes values from 1 to 2. The CB used to obtain the i-th first bit block includes:
[0191] The first group of CBs includes the i-th CB (n takes the value 1, i+N*(n-1)=i) and the i+4-th CB (n takes the value 2, i+N*(n-1)=i+4);
[0192] The second group of CBs includes the i-th CB (n takes the value 1, i+N*(n-1)=i) and the i+4-th CB (n takes the value 2, i+N*(n-1)=i+4);
[0193] The i-th CB (n takes the value 1, i+N*(n-1)=i) and the i+4-th CB (n takes the value 2, i+N*(n-1)=i+4) in the third group;
[0194] The i-th CB (n takes the value 1, i+N*(n-1)=i) and the (i+4)-th CB (n takes the value 2, i+N*(n-1)=i+4)-th CB in the fourth group.
[0195] That is, the first bit block transmitted by the i-th process is obtained by XORing the eight CBs CB_1i, CB_1i, CB_2i, CB_2i, CB_3i, CB_3i, CB_4i, and CB_4i in Figure 4a.
[0196] For example, the Nth first bit block transmitted in the Nth process is obtained by XORing the following CBs: the N+N*(n-1)th CB of the first CB group, the N+N*(n-1)th CB of the second CB group, ..., the N+N*(n-1)th CB of the Nth CB group, where n takes values from 1 to... Taking Figure 4a as an example, N takes the value of 4, and n takes the value of 1 to 2. The CB used to obtain the Nth first bit block includes:
[0197] The 4th CB (n takes the value 1, i+N*(n-1)=4) and the 8th CB (n takes the value 2, i+N*(n-1)=8) in the first group of CB;
[0198] The 4th CB (n takes the value 1, i+N*(n-1)=4) and the 8th CB (n takes the value 2, i+N*(n-1)=8) in the second group of CB;
[0199] The 4th CB (n takes the value 1, i+N*(n-1)=4) and the 8th CB (n takes the value 2, i+N*(n-1)=8) in the third group of CB;
[0200] The fourth CB in the fourth group (n takes the value 1, i+N*(n-1)=4) and the eighth CB (n takes the value 2, i+N*(n-1)=8).
[0201] That is, the fourth first bit block transmitted by the fourth process is obtained by XORing the eight CBs CB_14, CB_14, CB_24, CB_24, CB_34, CB_34, CB_44, and CB_44 in Figure 4a.
[0202] Taking a bit block size of 2 as an example, the data sender can XOR the eight CBs (CB_11, CB_15, CB_21, CB_25, CB_31, CB_35, CB_41, and CB_45) pairwise in sequence to obtain eight bit blocks. These eight bit blocks can be further processed (e.g., the first and second processes described above) to obtain the first bit block among N first bit blocks. These eight bit blocks can be represented as v_11, v_12, ..., v_18. The XOR process can be referred to Figure 2b above and related implementations, for example, satisfying:
[0203] v_11 carries the same bit sequence as CB_11;
[0204] The bit sequence carried by v_12 is obtained by XORing CB_11 and CB_15;
[0205] The bit sequence carried by v_13 is obtained by XORing CB_15 and CB_21;
[0206] The bit sequence carried by v_14 is obtained by XORing CB_21 and CB_25;
[0207] The bit sequence carried by v_15 is obtained by XORing CB_25 and CB_31;
[0208] The bit sequence carried by v_16 is obtained by XORing CB_31 and CB_35;
[0209] The bit sequence carried by v_17 is obtained by XORing CB_35 and CB_41;
[0210] The bit sequence carried by v_18 is obtained by XORing CB_41 and CB_45.
[0211] Similarly, the data sender can also perform XOR processing based on the above method to obtain the second first bit block, the third first bit block, and the fourth first bit block out of N first bit blocks.
[0212] As another example of method two (denoted as example two), the i-th group of CB in N groups contains The first bit block is obtained by XORing the N first bit blocks.
[0213] Taking Figure 4a as an example, N is 4, and each group of CB contains 8 CBs. In method two, the following conditions are met:
[0214] The first CB in N groups of CBs contains 8 bit blocks. XORing these 8 bits yields the first bit block in the N first bit blocks. Taking an XOR operation with 2 bit blocks as an example, the sender can XOR each of the 8 CBs (CB_11, CB_12, CB_13, CB_14, CB_15, CB_16, CB_17, CB_18) in sequence to obtain 8 bit blocks, which can be represented as v_11, v_12, ..., v_18. The XOR process can be referenced in Figure 2b above and related implementations. For example, satisfying:
[0215] v_11 carries the same bit sequence as CB_11;
[0216] The bit sequence carried by v_12 is obtained by XORing CB_12 and CB_11;
[0217] The bit sequence carried by v_13 is obtained by XORing CB_13 and CB_12;
[0218] The bit sequence carried by v_14 is obtained by XORing CB_14 and CB_13;
[0219] The bit sequence carried by v_15 is obtained by XORing CB_15 and CB_14.
[0220] The bit sequence carried by v_16 is obtained by XORing CB_16 and CB_15;
[0221] The bit sequence carried by v_17 is obtained by XORing CB_17 and CB_16;
[0222] The bit sequence carried by v_18 is obtained by XORing CB_18 and CB_17.
[0223] Similarly, the data sender can also perform XOR processing based on the above method to obtain the second first bit block, the third first bit block, and the fourth first bit block out of N first bit blocks.
[0224] Method 2: Q is greater than or equal to N. For example, if the first bit block is CB and the second bit block is TB, for instance, if the sender of the first data sends Q CBs, the sender can process the Q CBs to obtain N TBs, so that the receiver of the first data can use the information carried by the same TB to parse (or decode, etc.) the information carried by at least two CBs, thereby improving the reliability of data transmission and thus improving data transmission performance.
[0225] In one possible implementation, in Method 2, when the first bit block is CB and the second bit block is TB, Q CBs can be used to determine N first TBs (each (or one or at least one) first TB is obtained based on several CBs among the Q CBs), and the first communication device can XOR the N first TBs to obtain N second TBs (the N first bit blocks mentioned above are referred to as N second TBs).
[0226] For example, N first TBs can be used as N groups of CBs in Example 1 above, and N second TBs can be used as N first bit blocks in Example 1 above. The transmission of N second TBs is achieved through the processing of N processes.
[0227] For example, each (or one or at least one) of the N first TBs can be obtained by XORing several CBs corresponding to each first TB, so that each first TB can obtain the gain of XOR processing, and the second TB obtained based on the first TB can also obtain the gain of XOR processing.
[0228] In one possible implementation, where each (or one or at least one) of the N first TBs is obtained by XORing several CBs corresponding to each first TB, this XOR can be implemented in various ways. The following example uses 16 CBs corresponding to each (or one or at least one) of the first TBs, represented as CB_1 to CB_16 in the diagram below.
[0229] For example, the first TB is obtained by XORing each of two or more adjacent CBs in the plurality of CBs corresponding to each first TB.
[0230] Taking Figure 4b as an example, the first TB can be obtained by XORing 16 CBs to get 16 bit blocks, which can be represented as v_1, v_2, ..., v_16; taking the number of XORed bit blocks as 2 as an example, it satisfies:
[0231] v_1 carries the same bit sequence as CB_1;
[0232] The bit sequence carried by v_2 is obtained by XORing CB_2 and CB_1;
[0233] The bit sequence carried by v_3 is obtained by XORing CB_3 and CB_2;
[0234] ......
[0235] The bit sequence carried by v_15 is obtained by XORing CB_15 and CB_14.
[0236] The bit sequence carried by v_16 is obtained by XORing CB_16 and CB_15.
[0237] For example, in each (or one or more) of the several CBs corresponding to the first TB, one or more CB groups (e.g., each CB group contains different CBs) can be used to determine the first TB by XORing each of two or more adjacent CB groups.
[0238] Taking Figure 4c as an example, and assuming each CB group contains 2 CBs, the first TB can be obtained by XORing the 8 CBGs corresponding to the 16 CBs to obtain 8 bit blocks. These 8 CBGs can be represented as CBG_1, CBG_2, ..., CBG_8, and these 8 bit blocks can be represented as v_1, v_2, ..., v_8. Taking the number of XORed bit blocks as 2 as an example, the following is satisfied:
[0239] v_1 carries the same bit sequence as CBG_1;
[0240] The bit sequence carried by v_2 is obtained by XORing CBG_2 and CBG_1;
[0241] The bit sequence carried by v_3 is obtained by XORing CBG_3 and CBG_2;
[0242] ......
[0243] The bit sequence carried by v_7 is obtained by XORing CBG_7 and CBG_6;
[0244] The bit sequence carried by v_8 is obtained by XORing CBG_8 and CBG_7.
[0245] For example, in each (or one or more) of the several CBs corresponding to the first TB, one or more CB groups can be identified (e.g., each CB group contains different CBs), and the CBs contained in each CB group can be XORed.
[0246] Taking Figure 4d as an example, and assuming each CB group contains 2 CBs, the first TB can be obtained by XORing 16 CBs to get 16 bit blocks, and then grouping these 16 bit blocks into 16 CBGs. These 16 bit blocks can be represented as v_1, v_2, ..., v_16, and these 16 CBGs can be represented as CBG_1, CBG_2, ..., CBG_8. Taking the number of XORed bit blocks as 2 as an example, the following conditions are met:
[0247] v_1 carries the same bit sequence as CB_1;
[0248] The bit sequence carried by v_2 is obtained by XORing CB_2 and CB_1; and CBG_1 is obtained by XORing v_1 and v_2.
[0249] v_3 carries the same bit sequence as CB_3;
[0250] The bit sequence carried by v_4 is obtained by XORing CB_4 and CB_3; and CBG_2 is obtained by XORing v_3 and v_4.
[0251] ......
[0252] v_15 carries the same bit sequence as CB_15;
[0253] The bit sequence carried by v_16 is obtained by XORing CB_16 and CBG_15; and CBG_8 is obtained by XORing v_15 and v_16.
[0254] Please refer to Figure 5, which is a schematic diagram of an implementation of the communication method provided in this application. The method includes the following steps.
[0255] S501. The first communication device sends first data, and correspondingly, the second communication device receives the first data. The first data is obtained based on N second bit blocks, where at least one of the N second bit blocks is obtained by XORing at least two of the Q first bit blocks, where N is a positive integer and Q is an integer greater than or equal to 2.
[0256] S502. The second communication device sends first information; correspondingly, the first communication device receives the first information. The first information is used to indicate that M of the N second bit blocks have transmission errors, where M is a positive integer less than or equal to N.
[0257] It should be noted that in the implementation method shown in Figure 5, the implementation process of steps S501 and S502 can refer to the implementation process of steps S301 and S302 in the previous text, and achieve the corresponding technical effects. For details, please refer to the previous description.
[0258] S503. The first communication device sends second data, and correspondingly, the second communication device receives the second data. The M second bit blocks are obtained by XORing L of the Q first bit blocks, and the second data is obtained based on the modulation symbols of the L first bit blocks, where L is a positive integer greater than or equal to M.
[0259] Based on the scheme shown in Figure 5, after the first communication device sends first data based on N second bit blocks, the first information received by the first communication device indicates that M of the N second bit blocks have been transmitted incorrectly. Subsequently, the first communication device can send second data based on the first information; this second data is retransmission data of the M second bit blocks. Specifically, the first communication device can obtain at least one second bit from the N second bit blocks by XORing at least two of the Q first bit blocks; that is, at least one second bit block from the N second bit blocks can be used to determine at least two of the Q first bit blocks. In this way, during the transmission of the first data, the receiver of the first data can use the information carried by the same second bit block to parse (or decode) the information carried by at least two first bit blocks, thereby improving resource utilization and data transmission performance.
[0260] Furthermore, the first data is derived from N second bit blocks, which in turn are derived from Q first bit blocks. This means the receiver of the first data can obtain the information content carried by the Q first bit blocks from the first data. The second data is a retransmission of the M second bit blocks, derived from the modulation symbols of the L first bit blocks corresponding to the M second bit blocks that had transmission errors. In this way, during the transmission of the second data, the receiver can obtain the L first bit blocks corresponding to the M second bit blocks from the second data, and can quickly obtain the information content carried by the first bit blocks from these L first bit blocks, thus reducing data processing latency.
[0261] In one possible implementation, the method shown in Figure 5 further includes: the first communication device sending third information. The implementation of this third information can be found in Figure 3 and the related description above.
[0262] In one possible implementation, there may be multiple relationships between N and Q, as detailed in Figure 3 and related descriptions above.
[0263] Figure 6 illustrates a possible exemplary block diagram of the communication device involved in the embodiments of this application. As shown in Figure 6, the communication device 600 may include modules or units for implementing the methods described above. In one possible design, the communication device 600 includes a processing unit 602 and a communication unit 603. Optionally, the communication device 600 may further include a storage unit 601 for storing device program code and / or data.
[0264] The communication device 600 can be the first communication device in the above embodiments. For example, the first communication device is a terminal or a communication module in a terminal, or a circuit or chip in a terminal that is responsible for communication functions, or a circuit or chip in a network device that is responsible for communication functions.
[0265] In one possible design, the communication unit 603 is used to send first data, which is obtained based on N second bit blocks, at least one of the N second bit blocks being obtained by XORing at least two of the Q first bit blocks, where N is a positive integer and Q is an integer greater than or equal to 2; the communication unit 603 is also used to receive first information; the processing unit 602 is used to determine, based on the first information, that M of the N second bit blocks have transmission errors, where M is a positive integer less than or equal to N; the communication unit 603 is also used to send second data, which is retransmission data of the M second bit blocks; wherein, the second data is obtained based on K third bit blocks, which are obtained by XORing the M second bit blocks, where K is a positive integer.
[0266] In one possible design, the communication unit 603 is also used to send second information indicating the association between K third bit blocks and M second bit blocks.
[0267] In another possible design, the communication unit 603 is used to transmit first data, which is obtained based on N second bit blocks, at least one of the N second bit blocks being obtained by XORing at least two of the Q first bit blocks, where N is a positive integer and Q is an integer greater than or equal to 2; the communication unit 603 is also used to receive first information; the processing unit 602 is used to determine, based on the first information, that M of the N second bit blocks have transmission errors, where M is a positive integer less than or equal to N; the communication unit 603 is also used to transmit second data, which is retransmission data of the M second bit blocks; wherein, the M second bit blocks are obtained by XORing L of the Q first bit blocks, and the second data is obtained based on the modulation symbols of the L first bit blocks, where L is a positive integer greater than or equal to M.
[0268] The communication device 600 can be the second communication device in the above embodiments. For example, the second communication device is a terminal or a communication module in the terminal, or a circuit or chip in the terminal that is responsible for communication functions, or a circuit or chip in a network device that is responsible for communication functions.
[0269] In one possible design, communication unit 603 is used to receive first data, which is obtained based on N second bit blocks, at least one of the N second bit blocks being obtained by XORing at least two of the Q first bit blocks, where N is a positive integer and Q is an integer greater than or equal to 2; processing unit 602 is also used to determine first information; communication unit 603 is also used to send first information, which is used to indicate that M of the N second bit blocks have transmission errors, where M is a positive integer less than or equal to N; communication unit 603 is also used to receive second data, which is retransmission data of the M second bit blocks; wherein, the second data is obtained based on K third bit blocks, which are obtained by XORing the M second bit blocks, where K is a positive integer.
[0270] In another possible design, the communication unit 603 is used to receive first data, which is obtained based on N second bit blocks, at least one of the N second bit blocks being obtained by XORing at least two of the Q first bit blocks, where N is a positive integer and Q is an integer greater than or equal to 2; the processing unit 602 is also used to determine first information; the communication unit 603 is also used to send first information, which is used to indicate that M of the N second bit blocks have transmission errors, where M is a positive integer less than or equal to N; the communication unit 603 is also used to receive second data, which is retransmission data of the M second bit blocks; wherein the M second bit blocks are obtained by XORing L of the Q first bit blocks, and the second data is obtained based on the modulation symbols of the L first bit blocks, where L is a positive integer greater than or equal to M.
[0271] In one possible design, when the communication device 600 is a terminal or a communication module within a terminal, the function of the processing unit 602 can be implemented by one or more processors. Specifically, the processor may include a modem chip, or a system-on-a-chip (SoC) chip or a SIP chip containing a modem core. The function of the communication unit 603 can be implemented by transceiver circuitry.
[0272] In one possible design, when the communication device 600 is a circuit or chip in a terminal responsible for communication functions, such as a modem chip or a system-on-a-chip (SoC) or SIP chip containing a modem core, the function of the processing unit 602 can be implemented by a circuit system in the aforementioned chip that includes one or more processors or processor cores. The function of the communication unit 603 can be implemented by an interface circuit or data transceiver circuit on the aforementioned chip.
[0273] It is understood that the division of units in the above-described device is merely a logical functional division. One function can correspond to one functional unit, or two or more functions can be integrated into one functional unit. In actual implementation, all or some units can be integrated onto a single physical entity, or distributed across different physical entities. Furthermore, the aforementioned functional units can be implemented in hardware, software, or a combination of both. Whether a function is executed in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for specific applications, but such implementations should not be considered beyond the scope of this application.
[0274] In one example, the functional unit in any of the above devices may be one or more integrated circuits configured to implement the above methods, such as: one or more application-specific integrated circuits (ASICs), or one or more central processing units (CPUs), one or more microcontroller units (MCUs), one or more digital signal processors (DSPs), or one or more field-programmable gate arrays (FPGAs), or a combination of at least two of these integrated circuit forms.
[0275] In one example, storage unit 601 may include random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory and / or registers, etc.
[0276] Referring to Figure 7, which is a structural schematic diagram of a terminal 700 provided in an embodiment of this application, the terminal 700 can correspond to the first communication device or the second communication device shown in Figure 3 or Figure 5, and is used to implement the operation of the first communication device or the second communication device in the above embodiments. As shown in Figure 7, the terminal includes: one or more antennas 710, a radio frequency processing system 720, and a processor system 730.
[0277] It is understood that the first or second communication device can be a terminal 700 or a processor system 730.
[0278] In the downlink or sidelink direction, the RF processing system 720 receives RF signals through the antenna 710 and sends the RF-processed signals to the processor system 730 for further processing. In the uplink or sidelink direction, the processor system 730 processes the terminal-side information and sends it to the RF processing system 720, which then processes the signal and transmits it through the antenna 710.
[0279] In one example, the radio frequency (RF) processing system 720 serves as the communication interface for external communication of the terminal and may include an RF front end (RFFE) 721 and an RF transceiver 722. The RFFE 721 is primarily used for one or more processing operations, such as shaping, passband selection, or gain adjustment, on the RF signals received by the antenna or those to be transmitted through the antenna. It may include one or more components such as RF switches, duplexers, filters, power amplifiers, antenna tuners, and low-noise amplifiers. The RFFE 721 can be a circuit system composed of multiple discrete components or integrated into one or more chips. The RF transceiver 722 processes the RF signals received by the RFFE into baseband / IF signals for further processing by the processor system 730, and processes the baseband / IF signals provided by the processor system 730 into RF signals for transmission to the RFFE 721. The baseband / IF signals transmitted between the RF transceiver 722 and the processor system 730 can be digital or analog signals. The RF transceiver 722 can be implemented by one or more chips, which are commonly referred to as RF ICs.
[0280] In one example, the processor system 730 may include one or more processors for processing signals and executing one or more communication protocols. Optionally, the processor system 730 may also include a memory 736. In one example, the one or more processors include at least one baseband processor 731 (also known as a modem processor). The memory 736 is used to store data and / or computer program instructions. Optionally, the processor system 730 may also include one or more application processors 732 for implementing processing of the terminal operating system and application layer. Optionally, the processor system 730 may also include one or more of a voice subsystem 733, a multimedia subsystem 734, or an interface circuit 735. The voice subsystem 733 is used to process voice signals, the multimedia subsystem 734 is used to handle multimedia-related operations, such as video encoding / decoding, image processing, etc., and the interface circuit 735 is used to enable communication with other terminal components, such as a display 740, an input device 750, a memory 760, etc. The above-mentioned components in the processor system 730 can communicate with each other via a bus or communication interface circuit.
[0281] In one example, the processor system 730 can be packaged as a single processor chip, such as a SoC chip or a SIP chip. In another example, the processor system 730 can be a system composed of multiple chips; for example, the baseband processor 731 can be packaged as a single chip, or packaged with part or all of the circuitry of the radio frequency processing system into a single chip.
[0282] In one example, memory 736 can be on-chip memory, i.e., located on the processor system 730 chip. In another example, memory 760 can be off-chip memory, i.e. located outside the processor system 730 chip.
[0283] In one example, the baseband processor 731 may include one or more processor cores 7311 and interface circuitry 7314. The one or more processor cores 7311 are used to process signals and execute one or more communication protocols. Optionally, the baseband processor 731 may also include a memory 7312 for storing at least a portion of the corresponding computer program instructions and / or data. In one example, the one or more processor cores 7311 execute the computer program instructions stored in the memory 7312 to implement the relevant operations in the above method embodiments. In this disclosure, the memory 7312 storing the corresponding computer program instructions and / or data may mean that the memory 7312 stores all the corresponding computer program instructions and / or data for the processor core 7311 to execute; or it may mean that the memory 7312 stores a portion of the corresponding computer program instructions and / or data, which includes the computer program instructions and / or data currently needed to be executed by the processor core 7311. The memory 7312 can store different portions of computer program instructions and / or data multiple times for the processor core 7311 to execute in order to implement the relevant operations in the above method embodiments. Interface circuit 7314 serves as a communication interface for communication with other components, such as transmitting signals with RF processing system 720, communicating with other subsystems and related components of processor system 730 via bus, such as transmitting data control signals with application processor 732, and transmitting data or computer program instructions with memory 736 or memory 760. Optionally, to reduce the load on the processor core, baseband signal processing circuit 7313 can also be provided to perform at least some baseband signal processing, including one or more of signal demodulation, modulation, encoding, or decoding.
[0284] In one example, the communication device provided in this application may be a terminal 700, a communication module including a processor system 730 and a radio frequency system 720, or a baseband processor 731.
[0285] The processor, processor system, application processor, baseband processor, processor circuit, or processor core mentioned above can be collectively referred to as a processor. The processor may include one or more of the following: central processing unit (CPU), digital signal processor (DSP), microprocessor unit (MPU), microcontroller unit (MCU), graphics processing unit (GPU), field programmable gate array (FPGA), artificial intelligence processor (AI processor), or neural processing unit (NPU).
[0286] The aforementioned memory may include one or more of the following storage media: random access memory (RAM), static random access memory (SRAM), dynamic random access memory (DRAM), phase-change memory (PCM), resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), cache, register, read-only memory (ROM), flash memory, erasable programmable read-only memory (EPROM), hard disk, etc. In one example, computer program instructions for executing the above embodiments may be stored in non-volatile memory, such as at least a portion of the aforementioned memory 760 (e.g., one or more of ROM, flash memory, EPROM, or hard disk). When the terminal is running, the corresponding computer program instructions may be partially or wholly loaded onto a memory with a faster transfer speed than the processor, such as at least a portion of memory 736 and / or memory 7312 (e.g., one or more of RAM, SRAM, DRAM, PCM, RERAM, MRAM, FRAM, cache, or register), for the processor to execute in order to implement the steps in the above method embodiments.
[0287] In one example, the RF transceiver 722 and the RF front-end 721 can also be packaged in a single chip. In another example, the RF transceiver 722, the RF front-end 721, and the baseband processor 731 can also be packaged in a single chip.
[0288] This application also provides a computer-readable storage medium for storing one or more computer-executable instructions. When the computer-executable instructions are executed by a processor, the processor performs the method described in the possible implementations of the first or second communication device in the foregoing embodiments.
[0289] This application also provides a computer program product (or computer program) that, when executed by a processor, executes the method described above for the possible implementation of the first or second communication device.
[0290] This application also provides a chip system including at least one processor for supporting a communication device in implementing the functions involved in the possible implementations of the communication device described above. Optionally, the chip system further includes an interface circuit that provides program instructions and / or data to the at least one processor. In one possible design, the chip system may also include a memory for storing the program instructions and data necessary for the communication device. The chip system may be composed of chips or may include chips and other discrete devices, wherein the communication device may specifically be the first communication device or the second communication device in the aforementioned method embodiments.
[0291] This application also provides a communication system, which includes a first communication device and a second communication device in any of the above embodiments.
[0292] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection between apparatuses or units through some interfaces, and may be electrical, mechanical, or other forms.
[0293] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0294] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0295] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, optical storage, etc.) containing computer-usable program code.
[0296] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in one or more blocks of the flowchart illustrations and / or one or more blocks of the block diagrams.
[0297] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means that implement the functions specified in one or more flowcharts and / or one or more block diagrams.
[0298] These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions, which execute on the computer or other programmable apparatus, provide steps for implementing the functions specified in one or more flowcharts and / or one or more block diagrams.
Claims
1. A communication method, characterized in that, include: Send first data, which is obtained based on N second bit blocks, at least one of the N second bit blocks is obtained by XORing at least two first bit blocks from Q first bit blocks, where N is a positive integer and Q is an integer greater than or equal to 2; Receive first information, which indicates that M of the N second bit blocks have transmission errors, where M is a positive integer less than or equal to N; Send second data, which is retransmission data of the M second bit blocks; wherein the second data is obtained based on K third bit blocks, which are obtained by XORing the M second bit blocks, and K is a positive integer.
2. The method according to claim 1, characterized in that, The method further includes: Send a second message, which indicates the association between the K third bit blocks and the M second bit blocks.
3. The method according to claim 2, characterized in that, The K third bit blocks are obtained by XORing the M second bit blocks and P first bit blocks, where P is a positive integer.
4. A communication method, characterized in that, include: Send first data, which is obtained based on N second bit blocks, at least one of the N second bit blocks is obtained by XORing at least two first bit blocks from Q first bit blocks, where N is a positive integer and Q is an integer greater than or equal to 2; Receive first information, which indicates that M of the N second bit blocks have transmission errors, where M is a positive integer less than or equal to N; Send second data, which is retransmission data of the M second bit blocks; wherein the M second bit blocks are obtained by XORing L first bit blocks from the Q first bit blocks, and the second data is obtained based on the modulation symbols of the L first bit blocks, where L is a positive integer greater than or equal to M.
5. The method according to any one of claims 1 to 4, characterized in that, N is greater than or equal to Q.
6. The method according to any one of claims 1 to 4, characterized in that, The first bit block is a code block CB and the second bit block is a transport block TB, where Q is greater than or equal to N.
7. The method according to any one of claims 1 to 6, characterized in that, The Q first bit blocks are a redundant version obtained by rate matching of one or more bit blocks, or the first data is obtained based on a redundant version obtained by rate matching of the N second bit blocks.
8. The method according to any one of claims 1 to 7, characterized in that, The method further includes: Send a third message, which is used to indicate the association between the N second bit blocks and the Q first bit blocks.
9. The method according to any one of claims 1 to 8, characterized in that, The M second bit blocks are obtained by XORing L first bit blocks from the Q first bit blocks, where L is a positive integer greater than or equal to M; The first information is also used to indicate the L first bit blocks.
10. A communication device, characterized in that, Includes a module for performing the method as described in any one of claims 1 to 3, or any one of claims 5 to 9.
11. A communication device, characterized in that, Includes a module for performing the method as described in any one of claims 4 to 9.
12. A readable storage medium, characterized in that, The storage medium stores a computer program or instructions, which, when executed by a communication device, implement the method as described in any one of claims 1 to 9.
13. A computer program product, characterized in that, It includes a computer program or instructions that, when executed by a computer, implement the method as described in any one of claims 1 to 9.
14. A communication device, characterized in that, The device includes at least one processor for executing computer programs or instructions to cause the device to perform the method as claimed in any one of claims 1 to 3 or any one of claims 5 to 9.
15. A communication device, characterized in that, It includes at least one processor for executing computer programs or instructions that cause the apparatus to perform the method as described in any one of claims 4 to 9.