Method and apparatus for wireless communication retransmission using check blocks generated according to a subblock interleaver
The use of subblock interleavers in HARQ retransmission systems addresses the overhead issue in CBG-based HARQ by reducing unnecessary feedback and enhancing decoding efficiency through vertical check blocks.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2021-09-28
- Publication Date
- 2026-06-30
Smart Images

Figure 0007882946000006 
Figure 0007882946000007 
Figure 0007882946000008
Abstract
Description
[Technical Field]
[0001] This disclosure relates to wireless communication, including a redundant version-based retransmission scheme that uses a subblock interleaver for check block generation. [Background technology]
[0002] Hybrid Automatic Retransmission Request (HARQ) is a common technique used in radio communications for retransmission. HARQ can improve the reliability of radio transmissions while reducing latency compared to Automatic Retransmission Request (ARQ). In Long-Term Evolution (LTE), a transport block (TB) scheduled by the scheduler can be divided into several forward error correction (FEC) encoded blocks. However, HARQ retransmission is TB-based. If one TB transmission fails (e.g., via a CRC check), redundant versions of all FEC encoded blocks must be retransmitted, even if some of the FEC encoded blocks were received correctly. Retransmission can be done using the same or different redundant versions (RV) of the same TB. Soft coupling of different (re)transmissions of the same TB may be used to recover the TB at the receiving node.
[0003] NewRadio (NR) Release 15 (i.e., the "5G" standard specification) supports code block group (CBG) based retransmission, where a group of code blocks is a group of FEC encoded blocks (which may be a subset of FEC encoded blocks within a TB). The difference between CBG-based HARQ in NR and TB-based HARQ in LTE is that CBG-based HARQ in NR allows the retransmission of one or more CBGs rather than the entire TB. Therefore, if feedback from the receiving node indicates that a portion of the CBG has already been successfully recovered (i.e., decoded), the already recovered CBG does not need to be retransmitted. However, with CBG-based retransmission, the receiving node must provide feedback on CBG indices that were not successfully recovered (and therefore need to be retransmitted), which increases the overhead of HARQ feedback. Therefore, it is desirable to provide a solution for CBG-based HARQ retransmission that reduces the overhead. [Overview of the Initiative] [Means for solving the problem]
[0004] This disclosure describes a method and apparatus for performing HARQ-based retransmission using vertical check blocks. A vertical check block comprises check bits generated from selected information bits across multiple information code blocks. The vertical check block can be used in conjunction with soft information from previous decoding attempts to assist in the recovery of information code blocks.
[0005] In the examples described herein, the set of vertical check blocks used to perform a given retransmission is generated using a specific subblock interleaver set, in which case each subblock interleaver set is uniquely mapped to its respective redundant version index. The association between each subblock interleaver set and its respective redundant version index is defined and known to both the transmitting and receiving nodes. In this way, only the redundant version index of a given retransmission needs to be communicated to the receiving node in order for the vertical check blocks received in a given retransmission to be available to the receiving node.
[0006] In various examples, this disclosure describes various techniques that may be used to define subblock interleaver sets according to a redundant version index. In some examples, subblock interleaver sets defined using such techniques may be computed as needed by the transmitting and / or receiving nodes based on a given redundant version index of retransmissions. In other examples, subblock interleaver sets may be pre-computed, stored in a table (which may be defined by standard), and easily retrieved from memory as needed.
[0007] In exemplary embodiments, the Disclosure describes a method comprising: performing an initial transmission, which includes sending a transport block containing two or more information code blocks (CBs) to a receiving node; performing a first retransmission to a receiving node, which includes sending at least one check block from a first set of one or more check blocks, wherein the at least one check block is generated from at least a portion of each of the two or more information CBs, and the first set of one or more check blocks is generated using a first subblock interleaver associated with a first redundant version (RV) index of the first retransmission; and performing a second retransmission to a receiving node, which includes sending at least one check block from a second set of one or more check blocks generated using a second subblock interleaver associated with a second RV index of the second retransmission.
[0008] In the above-described exemplary embodiment of the Method, the Method may further include the steps of providing the receiving node with the RV index of the initial transmission before performing the initial transmission, and providing the receiving node with the first RV index of the first retransmission and the second RV index of the second retransmission, respectively, before performing the first retransmission and before performing the second retransmission.
[0009] In the exemplary embodiments of this method described above, the RV index of the initial transmission, the first RV index of the first retransmission, and the second RV index of the second retransmission may be provided together to the receiving node in a control signal or configuration signal before the initial transmission is performed.
[0010] In any of the foregoing exemplary aspects of the method, the feedback from the receiving node can indicate whether the receiving node has successfully decoded two or more information CBs. The method includes, after determining from the received negative acknowledgment (NACK) feedback or the lack of positive acknowledgment (ACK) feedback that the receiving node has failed to successfully decode two or more information CBs after the initial transmission, executing a first retransmission; and after determining from the received NACK feedback or the lack of ACK feedback that the receiving node has failed to successfully decode two or more information CBs after the first retransmission, executing a second retransmission.
[0011] In any of the foregoing exemplary aspects of the method, a predetermined number of retransmissions, including the first and second retransmissions, can be performed without requiring feedback from the receiving node.
[0012] In any of the foregoing exemplary aspects of the method, the first set of sub-block interlevers can include a first plurality of sub-block interlevers, and each sub-block interlever in the first set of sub-block interlevers applies a respective amount of cyclic shift to the sub-blocks of a respective information CB to obtain a first interleaved sub-block combination. The second set of sub-block interlevers can include a second plurality of sub-block interlevers, and each sub-block interlever in the second set of sub-block interlevers applies a respective amount of cyclic shift to the sub-blocks of a respective information CB to obtain a second interleaved sub-block combination.
[0013] In any of the foregoing exemplary aspects of the method, the difference in the amount of cyclic shift applied by any two sub-block interlevers in the first set of sub-block interlevers to the sub-blocks of two respective information CBs may not be equal to the difference in the amount of cyclic shift applied by any two sub-block interlevers in the second set of sub-block interlevers to the sub-blocks of the same two information CBs.
[0014] In any of the foregoing exemplary aspects of the method, the first sub-block interleaver set may be defined based on the first RV index, and the second sub-block interleaver set may be defined based on the second RV index.
[0015] In the foregoing exemplary aspect of the method, each of the first and second sub-block interleavers may be defined to apply an amount of circular shift to the sub-blocks of each information CB, and the amount of circular shift is (j + c1) * a function of (i + c2), where j is the first or second RV index for the first or second retransmission, respectively, i is the index of the information CB, and c1 and c2 are integer constants, respectively.
[0016] In any of the foregoing exemplary aspects of the method, each information CB may be logically divided into K sub-blocks, and there are K check blocks in each of the first and second sets of check blocks.
[0017] In the foregoing exemplary aspect of the method, K may be the smallest prime number greater than or equal to the number of information CBs in the TB.
[0018] In the foregoing exemplary aspect of the method, the first or second sub-block interleaver may be defined to apply an amount of circular shift to the sub-blocks of each information CB that is a function of (j + c1) * (i + c2) mod (K - L), where j is the first or second RV index for the first or second retransmission, respectively, i is the index of the information CB, c1 and c2 are integer constants, respectively, K is equal to the number of information CBs in the TB, and (K - L) is a prime number.
[0019] In the exemplary embodiment of this method described above, each of the first and second subblock interleaver sets may be defined to apply a cyclic shift amount to each subblock of information CB according to the following formula, namely, (j-1) * (i-1)mod K Here, j is the first or second RV index of the first or second retransmission, respectively, i is the index of the information CB, K is equal to the number of information CBs in the TB, and (j-1) and K are coprims.
[0020] In the exemplary embodiment of the method described above, each of the first and second subblock interleaver sets may be defined to apply an amount of cyclic shift to each subblock of information CB, where no cyclic shift is applied to information CBs that are reference rows of TB, and the amount of cyclic shift applied to subblocks of other information CBs by the second subblock interleaver set is obtained by the vertical cyclic shift of the amount of cyclic shift applied to the corresponding subblock of information CB by the first subblock interleaver set.
[0021] In any of the exemplary embodiments of this method described above, the first RV index and the second RV index may be discontinuous integers.
[0022] In any of the above-described exemplary embodiments of the method, the first number of retransmissions may be performed using a first group of subblock interleaver sets, and additional retransmissions may be performed using additional groups of subblock interleaver sets.
[0023] In the exemplary embodiment of the method described above, a first group of subblock interleaver sets can interleave the information CBs of the TB by dividing each information CB into a first number of subblocks, and a second group of subblock interleaver sets can interleave the information CBs by dividing each information CB into a second number of subblocks.
[0024] In the exemplary embodiment of this method described above, the subblock of the first number may be the first prime number, and the subblock of the second number may be the second prime number, which is the next highest prime number after the first prime number.
[0025] In the exemplary embodiment of the method described above, a first group of subblock interleaver sets can interleave the information CBs of the TB by applying a cyclic shift to each information CB, and a second group of subblock interleaver sets can interleave the information CBs by applying a cyclic shift to at least one information CB to create an alternative base subblock combination, and further applying a cyclic shift to the alternative base subblock combination.
[0026] In any of the above-described exemplary embodiments of the method, the first subblock interleaver set and the second subblock interleaver set may be predefined for the first RV index and the second RV index, respectively.
[0027] In exemplary embodiments, the Disclosure describes an apparatus including a processing unit. The processing unit is configured to perform an initial transmission, which includes sending a transport block containing two or more information code blocks (CBs) to a receiving node; a first retransmission to a receiving node, which includes sending at least one check block from a first set of one or more check blocks, wherein the at least one check block is generated from at least a portion of each of the two or more information CBs, and the first set of one or more check blocks is generated using a first set of subblock interleavers associated with a first redundant version (RV) index of the first retransmission; and a second retransmission to a receiving node, which includes sending at least one check block from a second set of one or more check blocks generated using a second set of subblock interleavers associated with a second RV index of the second retransmission.
[0028] In the aforementioned exemplary embodiment of the apparatus, the processing unit may be further configured to execute instructions causing the apparatus to perform any of the aforementioned exemplary embodiments of the method.
[0029] In exemplary embodiments, the Disclosure describes a computer-readable medium storing a machine-executable instruction. The instruction is configured to cause the device, when executed by a processing unit of the device, to perform an initial transmission, which includes sending a transport block containing two or more information code blocks (CBs) to a receiving node; a first retransmission to a receiving node, which includes sending at least one check block from a first set of one or more check blocks, wherein the at least one check block is generated from at least a portion of each of the two or more information CBs, and the first set of one or more check blocks is generated using a first subblock interleaver set associated with a first redundant version (RV) index of the first retransmission; and a second retransmission to a receiving node, which includes sending at least one check block from a second set of one or more check blocks generated using a second subblock interleaver set associated with a second RV index of the second retransmission.
[0030] In the aforementioned exemplary embodiments of the computer-readable medium, the instruction can cause the device to further execute any of the aforementioned exemplary embodiments of the Method.
[0031] In exemplary embodiments, the Disclosure describes a method comprising: receiving an initial transmission from a transmitting node, which includes a transport block comprising two or more information code blocks (CBs); receiving a first retransmission from a transmitting node, which includes at least one check block from a first set of one or more check blocks, wherein at least one check block is generated from at least a portion of each of the two or more information CBs, and the first set of one or more check blocks is generated using a first subblock interleaver set associated with a first redundant version (RV) index of the first retransmission; and receiving a second retransmission from a transmitting node, which includes at least one check block from a second set of one or more check blocks generated using a second subblock interleaver set associated with a second RV index of the second retransmission.
[0032] In the exemplary embodiments of the Method described above, the Method may further include the steps of: receiving the RV index of an initial transmission before receiving the initial transmission; receiving the first RV index of a first retransmission and the second RV index of a second retransmission, respectively, before receiving a first retransmission and before receiving a second retransmission; and determining a first subblock interleaver set and a second subblock interleaver set, respectively, using the first RV index and the second RV index.
[0033] In the exemplary embodiments of this method described above, the RV index of the initial transmission, the first RV index of the first retransmission, and the second RV index of the second retransmission may be received together in a control signal or configuration signal before the initial transmission is received.
[0034] In any of the above-described exemplary embodiments of the Method, the Method may further include: sending a first indicator to a transmitting node after an initial transmission, indicating that not all two or more information CBs have been successfully decoded, wherein a first retransmission is received after the first indicator has been sent; and sending a second indicator to the transmitting node after the first retransmission, indicating that not all two or more information CBs have been successfully decoded, wherein a second retransmission is received after the second indicator has been sent.
[0035] In any of the exemplary embodiments of this method described above, a predetermined number of retransmissions, including first and second retransmissions, may be scheduled.
[0036] In any of the above-described exemplary embodiments of the method, the first subblock interleaver set and the second subblock interleaver set may be predefined for the first RV index and the second RV index, respectively.
[0037] In exemplary embodiments, the Disclosure describes an apparatus including a processing unit. The processing unit is configured to execute machine-readable instructions to cause the apparatus to receive an initial transmission from a transmitting node, which includes a transport block comprising two or more information code blocks (CBs); receive a first retransmission from a transmitting node, which includes at least one check block from a first set of one or more check blocks, wherein the at least one check block is generated from at least a portion of each of the two or more information CBs, and the first set of one or more check blocks is generated using a first set of subblock interleavers associated with a first redundant version (RV) index of the first retransmission; and receive a second retransmission from a transmitting node, which includes at least one check block from a second set of one or more check blocks generated using a second set of subblock interleavers associated with a second RV index of the second retransmission.
[0038] In the aforementioned exemplary embodiment of the apparatus, the processing unit may be further configured to execute instructions causing the apparatus to perform any of the aforementioned exemplary embodiments of the method.
[0039] In exemplary embodiments, the Disclosure describes a computer-readable medium storing a machine-executable instruction. The instruction is configured, when executed by a processing unit of the device, to cause the device to receive an initial transmission from a transmitting node, which includes a transport block containing two or more information code blocks (CBs); receive a first retransmission from the transmitting node, which includes at least one check block from a first set of one or more check blocks, the at least one check block being generated from at least a portion of each of the two or more information CBs, and the first set of one or more check blocks being generated using a first set of subblock interleavers associated with a first redundant version (RV) index of the first retransmission; and receive a second retransmission from the transmitting node, which includes at least one check block from a second set of one or more check blocks being generated using a second set of subblock interleavers associated with a second RV index of the second retransmission.
[0040] In the aforementioned exemplary embodiment of the computer-readable medium, an instruction, when executed by the processing unit of the device, can cause the device to perform any of the embodiments of the methods described above.
[0041] For example, please refer to the attached drawings illustrating exemplary embodiments of this application. [Brief explanation of the drawing]
[0042] [Figure 1] This is a schematic diagram of an exemplary wireless communication system suitable for implementing the examples described herein. [Figure 2] This is a block diagram showing an exemplary apparatus suitable for implementing the embodiments described herein. [Figure 3] This is a block diagram showing an exemplary apparatus suitable for implementing the embodiments described herein. [Figure 4A]An exemplary code structure for a single transport block (TB), including horizontal and vertical check blocks, is shown. [Figure 4B] An exemplary code structure for a single transport block (TB), including horizontal and vertical check blocks, is shown. [Figure 5] This figure shows an exemplary code structure for a single TB based on non-systematic code, including vertical check blocks. [Figure 6] This figure shows an exemplary code structure for generating a vertical check block, illustrating how information bits are logically divided into subblocks. [Figure 7A] This is a signaling diagram illustrating an example of using a vertical check block for retransmission, according to the examples disclosed herein. [Figure 7B] This is a signaling diagram illustrating an example of using a vertical check block for retransmission, according to the examples disclosed herein. [Figure 8A] Figure 7A is a flowchart showing an example of a method that can be performed by the transmitting node. [Figure 8B] Figure 7B is a flowchart showing an example of a method that can be performed by the receiving node. [Figure 9A] This example demonstrates using a subblock interleaver set to generate a set of vertical check blocks. [Figure 9B] The following shows an example of a left-right cyclic shift applied to rows in a subblock. [Figure 10] This figure shows an example of using different subblock interleaver sets to obtain different subblock combinations of different RV indices, as disclosed herein. [Figure 11A] This figure shows an exemplary set of subblock combinations that can be obtained using a group of subblock interleaver sets defined using the prime-based cyclic shift technique disclosed herein. [Figure 11B]This figure shows another exemplary set of subblock combinations that can be obtained using a group of subblock interleaver sets defined using the prime-based cyclic shift technique disclosed herein. [Figure 12] This figure shows two subblock combinations to help understand the prime-based cyclic shift technique disclosed herein. [Figure 13] This figure shows an exemplary set of subblock combinations that can be obtained using a group of subblock interleaver sets defined using the dual subblock-based cyclic shift technique disclosed herein. [Figure 14] This figure shows an exemplary set of subblock combinations that can be obtained using a group of subblock interleaver sets defined using the prime factor-based cyclic shift technique disclosed herein. [Figure 15] This figure shows an exemplary set of subblock combinations that can be obtained using a group of subblock interleaver sets defined using the RV index skipping technique disclosed herein. [Figure 16] This figure shows an exemplary set of subblock combinations that can be obtained using a group of subblock interleaver sets defined using prime-based cyclic shift techniques, as disclosed herein, where additional subblock combinations are obtained by increasing the number of subblocks. [Figure 17] The following is an exemplary set of subblock combinations that can be obtained using a group of subblock interleaver sets defined using prime-based cyclic shift techniques, as disclosed herein, and additional subblock combinations can be obtained by creating alternative-based subblock combinations. [Modes for carrying out the invention]
[0043] Similar reference numbers may be used in different diagrams to represent similar components.
[0044] Various examples described herein describe methods and apparatus for generating vertical check blocks for HARQ-based retransmission. The examples described herein enable the generation of vertical check blocks using different subblock interleaver sets associated with different redundant version (RV) indices, so that the subblock interleaver set used for a given retransmission can be determined by the receiving node using only the redundant version index of the retransmission. Since the retransmission scheme includes check blocks across at least several information blocks (i.e., vertical check blocks) and check blocks on each information block (i.e., horizontal check blocks), the retransmission scheme is referred to herein, for convenience and in a non-limiting manner, as a “2D” HARQ retransmission scheme, although other appropriate names may also be commonly used.
[0045] To aid in understanding this disclosure, we hereby describe some existing approaches to retransmission.
[0046] Existing Hybrid Automatic Retransmission Request (HARQ) retransmission schemes include feedback-based retransmission schemes and blind retransmission schemes. In feedback-based retransmission, the receiving node (or simply the receiver) can send back an acknowledgment (ACK) or negation acknowledgment (NACK) to the transmitting node (or simply the transmitter). If a NACK is received, a retransmission is sent to the receiving node. In blind retransmission or iterative schemes, the ACK / NACK response from the receiving node is optional. The transmitting node instead sends a predetermined number of retransmissions.
[0047] Another existing technique is erasure external code. Erasure external code retransmission schemes use erasure code to generate parity code blocks (CBs) across multiple information CBs. Reed-Solomon code is an example of an erasure code that can be used as an external code to generate different parity CBs for retransmission. However, when used as a rateless code, the external code is optimized only for erasure channels. In particular, the erasure external code approach does not utilize soft information for joint decoding (i.e., undecoded CBs are completely discarded), and therefore performance may be degraded on non-erasure channels. A further drawback is that practical implementations of common erasure codes such as Reed-Solomon code and Bose-Chowdry-Hockhenhem code do not function well as rateless codes. The 2D HARQ retransmission scheme described herein allows the receiving node to utilize soft information from failed decoding attempts, and therefore can achieve improved performance compared to conventional external erasure code-based retransmission schemes.
[0048] To aid in understanding this disclosure, an exemplary wireless communication system is described here.
[0049] Figure 1 shows an example of a wireless communication system 100 (also referred to as wireless system 100) in which embodiments of the present disclosure may be implemented. Generally, wireless system 100 enables multiple wireless or wired elements to communicate data and other content. Wireless system 100 may enable content (e.g., voice, data, video, text, etc.) to be communicated between entities of system 100 (e.g., broadcast, narrowcast, to user devices via user devices, etc.). Wireless system 100 may operate by sharing resources, such as bandwidth. Wireless system 100 may be suitable for wireless communication using 5G technology and / or later generation wireless technologies. In some examples, wireless system 100 may also be adaptable to some legacy wireless technologies (e.g., 3G or 4G wireless technologies).
[0050] In the illustrated example, the wireless system 100 includes an electronic device (ED) 110, a radio access network (RAN) 120, a core network 130, a public switched telephone network (PSTN) 140, the internet 150, and other networks 160. In some examples, one or more of the networks may be omitted or replaced with different types of networks. The wireless system 100 may include other networks. A certain number of these components or elements are shown in Figure 1, but any reasonable number of these components or elements may be included in the wireless system 100.
[0051] An ED110 is configured to operate, communicate, or both in the wireless system 100. For example, an ED110 may be configured to transmit, receive, or both over a wireless or wired communication channel. Each ED110 represents any suitable end-user device for wireless operation, and such devices may include (or be referred to as) user equipment (UE), wireless transmit / receive unit (WTRU), mobile station, mobile relay, fixed or mobile subscriber unit, mobile phone, station (STA), machine-type communications (MTC) device, personal digital assistant (PDA), smartphone, laptop, computer, tablet, wireless sensor, Internet of Things (IoT) device, network-enabled vehicle, or home electronics device. Future generations of ED110 may be referred to using other terms.
[0052] In Figure 1, RAN120 includes base stations (BS)170. Although Figure 1 shows each RAN120 containing a single BS170, it should be understood that any given RAN120 may contain two or more BS170s, and any given RAN120 may also include base station controllers (BSCs), radio network controllers (RNCs), relay nodes, elements, and / or devices. Each BS170 is configured to wirelessly interface with one or more of the ED110s to enable access to any other BS170s, the core network 130, the PSTN 140, the internet 150, and / or other networks 160. For example, a BS170 may also be called (or include) a base transceiver base station (BTS), radio base station, Node-B (NodeB), evolved NodeB (eNodeB or eNB), Home eNodeB, gNodeB (gNB) (also called next-generation NodeB), transmit point (TP), transmit / receive point (TRP), site controller, access point (AP), or radio router. Future generations of BS170s may be referred to using other terms. Any ED110 may, instead or in addition, be configured to interface with, access, or communicate with any other BS170, the Internet 150, the core network 130, the PSTN 140, other networks 160, or any combination thereof. In some examples, a BS170 may have access to the core network 130 via the Internet 150.
[0053] ED110 and BS170 are examples of communication equipment that can be used to implement some or all of the functions and / or embodiments described herein. Any BS170 may be a single element as shown, or multiple elements distributed in the corresponding RAN120, or otherwise. Each BS170 transmits and / or receives radio signals within a specific geographical area or area, which may also be called a “cell” or “coverage area.” A cell may be further divided into cell sectors, and a BS170 may use multiple transceivers to serve multiple sectors, for example. In some embodiments, picocells or femtocells may be established, supported by radio access technology. A macrocell may contain one or more smaller cells. In some embodiments, multiple transceivers may be used per cell, for example using multi-input multiple-output (MIMO) technology. The number of RAN120s shown is merely an example. Any number of RANs can be conceivable when designing the radio system 100.
[0054] BS170 communicates with one or more ED110s through one or more uplink (UL) / downlink (DL) radio interfaces 190 (e.g., via radio frequency (RF), microwave, infrared, etc.). The UL / DL interfaces 190 are sometimes referred to as, for example, UL / DL connections, ED-BS links / connections / interfaces, or ED-network links / connections / interfaces. ED110s can also communicate directly with each other (i.e., without going through BS170) through one or more sidelink (SL) radio interfaces 195. The SL interfaces 195 are also sometimes referred to as, for example, SL connections, UE-to-UE links / connections / interfaces, vehicle-to-vehicle (V2V) links / connections / interfaces, vehicle-to-all (V2X) links / connections / interfaces, vehicle-to-infrastructure (V2I) links / connections / interfaces, vehicle-to-pedestrian (V2P) links / connections / interfaces, ED-ED links / connections / interfaces, device-to-device (D2D) links / connections / interfaces, or simply SL. The wireless interfaces 190 and 195 can utilize any suitable wireless access technology. For example, the wireless system 100 can implement one or more channel access methods for wireless communication, such as code division multiple access (CDMA), time division multiple access (TDMA), frequency division multiple access (FDMA), quadrature FDMA (OFDMA), or single-carrier FDMA (SC-FDMA).
[0055] RAN120 communicates with core network 130 to provide ED110 with various services, such as voice, data, and other services. RAN120 and / or core network 130 may communicate directly or indirectly with one or more other RANs (not shown), which may or may not be directly serviced by core network 130, and may or may not employ the same radio access technology. Core network 130 may also function as a gateway access between (i) RAN120 or ED110, or both, and (ii) other networks (such as PSTN140, the Internet 150, and other networks 160). In addition, some or all of ED110 may include the capability to communicate with different radio networks through different radio links using different radio technologies and / or protocols. Instead of (or in addition to) radio communication, ED110 may communicate with service providers or switches (not shown) and the Internet 150 via wired communication channels. PSTN140 may include a circuit-switched telephone network for providing basic telephone services (POTS). The Internet 150 may include a network of computers and / or a subnet (intranet), and may incorporate protocols such as the Internet Protocol (IP), Transmission Control Protocol (TCP), and User Datagram Protocol (UDP). The ED110 may be a multimode device capable of operating according to multiple radio access technologies and may incorporate multiple transceivers necessary to support them.
[0056] Figures 2 and 3 show exemplary apparatus that can implement the methods and teachings of this disclosure. Figures 2 and 3 show different possible embodiments of ED110 and BS170 and are not intended to limit them.
[0057] As shown in Figure 2, an exemplary apparatus (e.g., an exemplary embodiment of ED110 or BS170) includes at least one processing unit 201. The processing unit 201 implements various processing operations of the apparatus. For example, the processing unit 201 can perform signal coding, data processing, power control, input / output processing, or any other function of the apparatus. The processing unit 201 may also be configured to implement some or all of the functions and / or embodiments described in more detail herein. Each processing unit 201 includes any suitable processing unit or computing device configured to perform one or more operations. Each processing unit 201 may include, for example, a microprocessor, a microcontroller, a digital signal processor, a field-programmable gate array, or an application-specific integrated circuit.
[0058] The device (e.g., ED110 or BS170) includes at least one communication interface 202 for wired and / or wireless communication. Each communication interface 202 includes any suitable structure for generating signals for wireless or wired transmission and / or for processing signals received wireless or wired. The device in this example includes at least one antenna 204 (antennas 204 may be omitted in other examples). Each antenna 204 includes any suitable structure for transmitting and / or receiving wireless or wired signals. One or more communication interfaces 202 may be used in the device. One or more antennas 204 may be used in the device. In some examples, one or more antennas 204 may be an antenna array 204 that can be used to perform beamforming and beam steering operations. Although shown as a single functional unit, the device may be implemented using at least one transmitter interface and at least one separate receiver interface.
[0059] The device (e.g., ED110 or BS170) further includes one or more input / output devices 206 or input / output interfaces (such as a wired interface to the Internet 150). The input / output devices 206 enable interaction with the user or other devices in the network. Each input / output device 206 includes any suitable structure for providing information to or receiving information from the user, including network interface communication, such as a speaker, microphone, keypad, keyboard, display, or touchscreen.
[0060] Furthermore, the device (e.g., ED110 or BS170) includes at least one memory 208. Memory 208 stores instructions and data used, generated, or collected by the device. For example, memory 208 can store software instructions or modules configured to implement some or all of the functions and / or embodiments described herein and executed by the processing unit 201. Each memory 208 includes any suitable volatile and / or non-volatile storage and retrieval device(s). Any suitable type of memory may be used, such as random access memory (RAM), read-only memory (ROM), hard disk, optical disk, subscriber identification module (SIM) card, memory stick, or secure digital (SD) memory card.
[0061] As illustrated in Figure 3, another typical apparatus (e.g., another exemplary embodiment of ED110 or BS170) includes at least one processing unit 250, at least one transmitter 252, at least one receiver 254, one or more antennas 256, at least one memory 258, and one or more input / output devices or interfaces 266. The processing unit 250 implements various processing operations of the apparatus, such as signal coding, data processing, power control, input / output processing, or any other function. The processing unit 250 may also be configured to implement some or all of the functions and / or embodiments described herein. Each processing unit 250 includes any suitable processing unit or computing device configured to perform one or more operations. Each processing unit 250 may include, for example, a microprocessor, microcontroller, digital signal processor, field-programmable gate array, or application-specific integrated circuit.
[0062] Each transmitter 252 includes any suitable structure for generating signals for wireless or wired transmission. Each receiver 254 includes any suitable structure for processing signals received wirelessly or wired. Although shown as separate components, at least one transmitter 252 and at least one receiver 254 may be coupled to a transceiver. Each antenna 256 includes any suitable structure for transmitting and / or receiving wireless or wired signals. Here, a common antenna 256 is shown coupled to both the transmitter 252 and the receiver 254, but one or more antennas 256 may be coupled to the transmitter(s) 252, and one or more separate antennas 256 may be coupled to the receiver(s) 254. In some examples, one or more antennas 256 may be antenna arrays that can be used for beamforming and beam steering operations. Each memory 258 includes any suitable volatile and / or non-volatile storage and retrieval device as described above with respect to Figure 2. The memory 258 stores instructions and data used, generated, or retrieved by the device. For example, memory 258 may be configured to implement some or all of the functions and / or embodiments described herein and may store software instructions or modules executed by processing unit 250.
[0063] Each input / output device / interface 266 enables interaction with users or other devices in the network. Each input / output device / interface 266 includes any suitable structure for providing information to or receiving / providing information to a user, including network interface communication.
[0064] A technique for joint encoding multiple code blocks (CBs) within a single transport block (TB), including the generation of vertical check blocks, is described in U.S. Patent Application No. 16 / 665,121, “SYSTEM AND METHOD FOR HYBRID-ARQ,” filed on 28 October 2019, which is incorporated herein by reference in its entirety.
[0065] Figure 4A shows an exemplary code structure for a single TB, including horizontal and vertical check blocks. TB402 includes multiple information blocks 404 formed from encoder input bits (four information blocks 404 are shown in this example for simplification, but this is not intended to be limiting). Encoder input bits are sometimes called information bits. The bits in this example are arranged in rows L and columns K. The code structure also includes horizontal check blocks 406 (one horizontal check block 406 for each information block 404 in this example) and vertical check blocks 408-1 to 408-4 (commonly referred to as vertical check blocks 408). Four vertical check blocks 408 are shown in this example for simplification, but this is not intended to be limiting. The number of vertical check blocks 408 to be used may be based on the configuration at the transmitting node (e.g., BS170 for downlink DL transmission, or ED110 for uplink UL or SL transmission) and / or may be defined by the standard. Furthermore, the number of vertical check blocks 408 may or may not be equal to the number of horizontal check blocks 406. Each line in the code contains n1 bits, including k1 encoder input bits (or information bits) (in one information block 404) and each horizontal check block 406 containing n1 to k1 check bits. In this disclosure, check bits may also be called redundant bits, and in some examples (e.g., in systematic code), they may also be called parity bits.
[0066] Each information block 404 and its corresponding horizontal check block 406 can be considered an n1-bit information CB410, and TB402 has multiple information CB410s. In the example in Figure 4A, the information CB410 is a systematic CB in that it includes systematic bits (in the information block 404) and check bits (in the horizontal check block 406) determined from the systematic bits. In other examples (further described below), the information CB410 may be non-systematic.
[0067] Each vertical check block 408 is generated from k2 encoder input bits (or information bits) selected across multiple information blocks 404 (also called cross information block bits, cross CB bits, or simply cross block bits). The k2 cross block bit contains M encoder input bits from each of L information CBs 410, where M ≥ 1 and k2 = M x L. In other words, the k2 cross block bit contains bits from one of K columns, each column being M bit wide. In some examples, the k2 cross block bit can contain a different number of information bits taken from each information CB 410. This is mathematically expressed as k2 = M1 + … + M L It can be expressed as, in this case, M i is the number of information bits obtained from each of the L information CB410, and M i When >0 and p≠q, M p =M q There are no such requirements.
[0068] In this disclosure, the terms “horizontal” (as in horizontal check block 406) and “vertical” (as in vertical check block 408) are used. These terms are used for convenience in understanding the layout in some figures and to distinguish the two types of check blocks from one another. However, these terms do not imply any physical structure. More generally, the descriptors “horizontal” and “vertical” may be replaced with “first” and “second,” respectively. For example, horizontal and vertical check blocks 406, 408 could simply be called first and second check blocks. In particular, each second (or vertical) check block is generated from information bits selected from a plurality of information CBs 410, and therefore, vertical check blocks may also be known as cross-CB check blocks. Horizontal CBs may also be called information CBs. For ease of understanding, this disclosure uses the terms “horizontal” and “vertical” instead of “first” and “second,” but this is not intended to be limiting.
[0069] Figure 4B shows another exemplary code structure for a single TB, including horizontal and vertical check blocks. The example in Figure 4B is similar to the example in Figure 4A, and therefore no further detailed explanation of its similar features is necessary. In the example in Figure 4B, the code structure further includes 408-5 to 408-7 of vertical check blocks 5 to 7, in addition to 408-1 to 408-4 of vertical check blocks 1 to 4 described above (all 408-1 to 408-7 of vertical check blocks 1 to 7 may be generally referred to as vertical check block 408). 408-5 to 408-7 of vertical check blocks 5 to 7 are similar to 408-1 to 408-4 of vertical check blocks 1 to 4, but differ in that 408-5 to 408-7 of vertical check blocks 5 to 7 are generated using bits selected across multiple horizontal check blocks 406 (rather than bits selected across multiple information blocks 404). Thus, the bits 408-5 to 408-7 of vertical check blocks 5 to 7 are sometimes called "check-on-check" bits.
[0070] Figures 4A and 4B show and illustrate bits arranged in rows and columns, for example, that a vertical check block 408 has a rectangular / two-dimensional structure. However, this is for illustrative purposes only and is not intended to limit how bits are arranged logically or during transmission. Furthermore, the code structures shown in Figures 4A and 4B may be split for transmission. Typically, all bits of one vertical check block 408 are transmitted in the same transmission.
[0071] The check bits contained in the horizontal check block 406 and the vertical check block 408 are useful for assisting decoding at the receiving node. For example, after each decoding attempt in a decoder where check bits are present, an error check may be performed to determine whether the information bits in the information CB410 were successfully decoded. The vertical check block 408 contains check bits determined across multiple information CB410s, thereby providing useful information for decoding multiple information CB410s. The decoder can use the check bits of the vertical check block 408 to assist in decoding the information CB410s.
[0072] Figure 5 shows an exemplary code structure for a single TB502 based on a non-systematic code (e.g., polar code, block code, or convolutional code). Each non-systematic codeword is determined based on a set of encoder input bits, but the information bits do not appear in the codeword as systematic bits. Unlike systematic codes, horizontal check bits cannot simply be appended to the end of each line.
[0073] TB502 contains multiple non-systematic codewords 504. Each non-systematic codeword 504 can be considered an information CB510. Unlike the examples in Figures 4A and 4B, the information CB510 does not contain a clear horizontal check block. Each vertical check block 508 is generated by one or more sequences of bits obtained across multiple information CB510, as described in Figures 4A and 4B.
[0074] Regardless of whether the TB is based on a systematic codeword or a non-systematic codeword, in a transmission, an informational check block (sent by the corresponding horizontal check block in the case of a systematic codeword) may be transmitted in the initial transmission. A vertical check block may be transmitted along with the informational check block in the initial transmission or in a separate transmission (also called a retransmission). A retransmission may contain only bits from the vertical check block, but it may also contain some informational bits related to the vertical check block in the retransmission.
[0075] In examples where the information CB is systematic (such as a low-density parity check (LDPC) code or turbo code), iterative decoding may be used in the decoder (at the receiving node) to decode the received CB. The decoder calculates the log-likelihood ratio (LLR) of the bit values during decoding the information CB, which may be considered the decoder's "soft" output. In this disclosure, the soft output may refer to a decoder output that has not yet been definitively determined (e.g., a bit value that has not yet been definitively determined to be either 1 or 0), but which may still provide useful information (e.g., in subsequent decoding iterations). Such a soft output may be inherently probabilistic (e.g., LLR). An information CB that has not been correctly decoded (e.g., has failed to check using the corresponding horizontal check block) can benefit from processing the vertical check block. Since each vertical check block is generated from information bits selected from two or more (or all) of the information CB, the soft output (e.g., LLR) from an attempt to decode the vertical check block 408 may help improve the decoding of the information CB (and vice versa). At least in this way, vertical check blocks help improve decoding.
[0076] This disclosure is not limited to systematic code but is equally applicable and may be implemented in non-systematic code. Furthermore, while this disclosure describes an example of using vertical check blocks in the context of unicast transmission / retransmission (i.e., between one transmitting node and one receiving node), it should be understood that the examples described herein are also applicable to multicast, groupcast, and broadcast transmission / retransmission, among many others.
[0077] Those skilled in the art will understand that the following detailed discussion is independent of whether the vertical check block is generated from a systematic or non-systematic CB. For simplicity, the following may refer to and use reference numbers that refer to the examples in Figures 4A and 4B based on a systematic CB. It should be understood that this is not intended to be limiting.
[0078] In this disclosure, vertical check blocks are sometimes also called cross-block check blocks because the bits for generating each vertical check block are taken across multiple information blocks. Similarly, the generation of horizontal check blocks is sometimes called block-based (or block-specific) coding because the bits for generating each horizontal check block are taken from all bits of a single information block. The generation of vertical check blocks is sometimes called two-dimensional (2D) coding, where 2D refers to the generation of vertical check blocks (in addition to horizontal check blocks in the case of systematic code). Thus, the use of vertical check blocks in the HARQ retransmission scheme is sometimes called 2D HARQ. The terms “parity block” or “redundant block” may also be used instead of “check block.” For ease of understanding, the following description will refer to vertical and horizontal check blocks, but please understand that the terms “vertical” and “horizontal” are not intended to imply or limit any physical structure.
[0079] The above discussion describes a vertical check block generated from cross-block bits within a single TB. A vertical check block can also be generated from cross-block bits across two or more TBs (e.g., TBs transmitted as separate packets by a single source). This may occur when vertical check blocks are used with network coding (for example, as described in U.S. Patent Application No. 17 / 110,226, filed 2 December 2020, entitled "METHODS AND SYSTEMS FOR NET WORK CODING USING CROSS-PACKET CHECK BLOCKS," which is incorporated herein by reference in its entirety). When vertical check blocks are used with network coding, a given vertical check block is generated from bits acquired across two or more CBs or two or more packets (which may come from a single TB or multiple TBs).
[0080] As described above, the 2D HARQ retransmission scheme generates vertical check blocks based on information bits across different information CBs. Therefore, retransmitting vertical check blocks can provide information that helps decode multiple information CBs. At the receiving node, soft information from failed decoding attempts can be retained and combined with information from the vertical check blocks to help decode the information CBs. Compared to the conventional CBG-based HARQ scheme, the 2D HARQ retransmission scheme may not require feedback on which CBGs have been successfully recovered (and therefore which CBGs need to be retransmitted). From a performance standpoint, all vertical check blocks in a retransmission provide useful information for decoding all CBs, even if some CBs have already been correctly decoded, whereas in conventional TB-based or CBG-based HARQ schemes, if some CBs have been correctly decoded, retransmitting corresponding CBs does not help decode undecoded CBs and may therefore be considered inefficient or "wasteful".
[0081] This disclosure describes examples that may help reduce the redundancy and feedback required for retransmission compared to conventional TB or CB group-based HARQ. The examples disclosed herein may be implemented in feedback-based schemes and rateless code.
[0082] While examples can be illustrated in the context of unicast transmissions, this disclosure may also be applicable to groupcast, broadcast, or multicast transmissions. In groupcast, broadcast, or multicast transmissions, different receiving nodes (e.g., different UEs in the case of DL groupcasts or broadcasts or multicasts) may have different undecoded CBs. In such scenarios, the same vertical check block may be retransmitted to help different receiving nodes decode different undecoded CBs, whereas in conventional HARQ schemes, a retransmitted CB can only be used to decode that particular CB, meaning that if different CBs are undecoded for different receiving nodes, all of the different CBs must be retransmitted. Again, this can be considered inefficient, as not all of the retransmitted different CBs may be useful to individual receiving nodes.
[0083] Next, refer to Figure 6. For simplicity, Figure 6 shows an example using systematic code, but it should be understood that this disclosure may be applicable to both systematic and non-systematic code. As described above, the vertical check block 408 is determined from cross-block bits selected across the information CB 410. With respect to a given vertical check block 408, the cross-block bits can include information bits taken from different columns of different information CB 410. For example, the cross-block bits can include input bits from column x of the first information CB 410, from column y of the second information CB 410, and from column z of the third information CB 410, where x, y, and z are different. Another way of thinking about it is that the cross-block bits for generating the vertical check block 408 can be considered to be selected by taking vertical columns of bits after the bits in the information rows have been arbitrarily shuffled (also called row-direction shuffling). This row-direction shuffling of information bits is sometimes called interleaving or row-direction interleaving.
[0084] A predefined shuffle scheme or predefined interleaver may be used to perform this shuffle. This disclosure describes the use of an interleaver for interleaving information bits in such row direction to generate different vertical check blocks 408. The interleaver may be (among others) a predefined algorithm, a predefined interleave pattern, or a predefined transformation matrix, which is applied to rows of bits to obtain rows of reordered bits. In particular, this disclosure describes the use of a set of subblock interleavers (referred to herein as a subblock interleaver set) for applying interleaving to a TB. Each subblock interleaver set includes one or more subblock interleavers, each subblock interleaver logically divides each information CB410 of the TB into rows of subblocks and performs interleaving for each row of subblocks. The use of subblock interleavers may be more useful than bit-based interleavers because subblock interleavers can be defined without knowing a specific number of bits in each information CB410.
[0085] Figure 6 shows an exemplary code structure having M information CB410s (i.e., 410-1 of information CB-1, 410-2 of information CB-2, and 410-M of information CB-M, where M is a positive integer). The bits within each information CB410 are divided into multiple subblocks, with the k-th subblock of the i-th information CB being denoted as SBik. In this example, each information CB410 is divided into K subblocks for a total of MxK subblocks in the code structure, where K is a positive integer. Note that the number of bits in each subblock is not necessarily equal across all subblocks (for example, the number of bits in an information CB410 may not be divisible equally by K). The subblocks from each information CB410 are combined together to generate a vertical code block 408 (e.g., using FEC). In particular, the k-th subblock from each information CB410 is used to generate the k-th vertical code block. In the illustrated example, SB11, SB21…SBM1 are combined to generate 408-1 of vertical check block-1, SB12, SB22…SBM2 are combined to generate 408-2 of vertical check block-2, and so on until SB1K, SB2K…SBMK are combined to generate 408-M of vertical check block-M.
[0086] Having defined subblocks in this way, it should be understood that different sets of vertical checkblocks 408 can be generated by shuffling (or interleaving) each row of the subblocks to obtain different subblock combinations. Each set of vertical checkblocks 408 can be generated by applying a subblock interleaver set to obtain its respective subblock combination. Note that for a given set of vertical checkblocks 408 to be useful for decoding information CB410, the receiving node needs to know the subblock interleaver set used to generate the given set of vertical checkblocks 408. Generally, in a retransmission scheme, different retransmissions are characterized by different RV indices. This disclosure describes an example for generating vertical checkblocks 408 using different interleaver sets, where each subblock interleaver set is uniquely associated with its respective RV index. In this way, the receiving node can determine the subblock interleaver set used to generate the vertical checkblocks 408 in a given retransmission simply by knowing the RV index of the given retransmission.
[0087] This disclosure describes a technique for defining a group of subblock interleaver sets, each subblock interleaver set within the group, which can be used to generate a set of vertical check blocks for several different retransmissions. In particular, each subblock interleaver set within the group may be associated with a respective RV index. Each subblock interleaver set associated with a separate RV index is known to both the transmitting and receiving nodes. Therefore, when a retransmission is scheduled, only the RV index needs to be signaled to the receiving node. This helps reduce the amount of information that needs to be included in the control signaling to the receiving node, thus improving efficiency, reducing the use of network resources (e.g., communication bandwidth), and lowering latency.
[0088] Figures 7A and 7B are signaling diagrams showing 2D HARQ retransmission schemes with or without feedback (Figure 7B). While Figures 7A and 7B (and other examples disclosed herein) are described in the context of transmission to a single receiving node (i.e., unicast), it should be noted that the signaling described herein (including configuration or control signaling, as well as (re)transmission) may also be applicable to multicast, broadcast, or groupcast transmissions (i.e., transmission to multiple receiving nodes). In Figures 7A and 7B, transmitting node 12 (also simply referred to as transmitter 12 and indicated as Tx12) transmits to receiving node 14 (also simply referred to as receiver 14 and indicated as Rx14). Transmitting node 12 may be BS170 (for example, for DL transmission to ED110) or ED110 (for example, for SL transmission to another ED110, or UL transmission to BS170).
[0089] First, let's describe Figure 7A. In 702, the transmitting node 12 may send a control signal (or configuration signal) to the receiving node 14 to schedule an initial transmission. The control signal may indicate that the RV index is 0 (i.e., RV=0) and that the information block and horizontal check block should be transmitted, which typically corresponds to the initial transmission. The control signal may also be transmitted via a control channel, which may be different from the data channel (as indicated by the thicker arrow). The type of control signal transmitted may depend, for example, on whether the transmitting node 12 is an ED110 or a BS170. If the transmitting node 12 is a BS170 and the receiving node 14 is an ED110 (i.e., in DL transmission), the control signal may be dynamically signaled using physical layer (or layer 1) signaling such as downlink control information (DCI) transmission, or quasi-statically signaled using higher layer signaling such as radio resource control (RRC) signaling. If the transmitting node 12 is ED110 and the receiving node 14 is another ED110 (i.e., in SL transmission), the control signal may be quasi-statically signaled to the other ED110 using, for example, sidelink RRC or PC5-RRC, or it may be a dynamic signal to the other ED110 using, for example, sidelink control information (SCI) transmission. In some examples, if the transmitting node 12 is ED110 and the receiving node 14 is another ED110 (i.e., in SL transmission), or if the receiving node 14 is BS170 (i.e., in UL transmission), the control signal does not have to be transmitted by the transmitting node 12, but instead may be transmitted from the BS170 associated with the ED110 that is the transmitting node 12.
[0090] At 704, an initial transmission is sent. The initial transmission may be, for example, a transmission of TB402 containing all the information CB410 (which may include the horizontal code block 406 in the case of systematic code) without including the vertical check block 408. The receiving node 14 attempts to decode the received TB402. Optionally, the receiving node 14 may send an indication that decoding of at least one information CB410 failed (e.g., a NACK at 706). Sending a NACK at 706 may indicate to the sending node 12 that retransmission is required. This is sometimes called a NACK-based retransmission scheme. In some examples, instead of sending a NACK to indicate a failed decoding attempt, the absence of an ACK may indicate to the sending node 12 that retransmission is required. This is sometimes called an ACK / NACK-less retransmission scheme. Since both NACK-based retransmission schemes and ACK / NACK-less retransmission schemes depend on the presence or absence of feedback from the receiving node 14 to determine whether retransmission is necessary, both NACK-based retransmission schemes and ACK / NACK-less retransmission schemes are sometimes commonly referred to as feedback-based retransmission schemes.
[0091] At 708, the transmitting node 12 may send another control signal (which may be similar to the control signal in 702) to the receiving node 14 to schedule a first retransmission. The control signal also includes an RV index, which may be RV=1. However, it should be understood that the first retransmission does not necessarily have to be associated with RV=1, as long as the mapping of the RV index to the specific subblock interleaver set used for the retransmission is unique. For example, the control signal could instead indicate RV=6 for the first retransmission, which could simply indicate that the subblock interleaver set associated with (mapped to) RV=6 will be used to generate the VCB for this first retransmission. At 710, the first retransmission is sent. In particular, the first retransmission includes one or more vertical check blocks 408 from a first set of vertical check blocks 408, which is generated using a first subblock interleaver set associated with the RV index of the first retransmission (e.g., RV=1). In some examples, all vertical check blocks 408 (from the first set of vertical check blocks 408) generated using the first subblock interleaver set may be sent in the first retransmission, and in other examples, fewer vertical check blocks than all vertical check blocks 408 (from the first set of vertical check blocks 408) may be sent in the first retransmission. The receiving node 14 attempts to decode the received TB402 using the soft information from the previous decoding attempt along with the additional information from the first retransmission. Optionally, the receiving node 14 may send an indication that decoding of at least one information CB410 failed (e.g., sending a NACK in 712), or alternatively, the absence of an ACK from the receiving node 14 may indicate that decoding of at least one information CB410 failed.
[0092] At 714, the transmitting node 12 may send another control signal (which may be similar to the control signal in 702) to the receiving node 14 to schedule a second retransmission. Similar to the control signal sent at 708, the control signal sent at 714 includes an RV index associated with the second retransmission, which may be RV=2 (or some other RV index scheduled for the second retransmission). At 716, the second transmission is sent. Similar to the first retransmission, the second retransmission includes one or more vertical check blocks 408 from a second set of vertical check blocks 408, which are generated using a second set of subblock interleavers associated with the RV index of the second retransmission (e.g., RV=2). The second retransmission may include all or fewer blocks of vertical check blocks 408 (from the second set of vertical check blocks 408) generated using the second set of subblock interleavers. The receiving node 14 attempts to decode the received TB402 using the soft information from the previous two decoding attempts, along with the additional information from the second retransmission. Optionally, the receiving node 14 may send an indication that decoding of at least one information CB410 failed (e.g., sending a NACK at 718), or alternatively, the absence of an ACK from the receiving node 14 may indicate that decoding of at least one information CB410 failed.
[0093] Signaling similar to that in 714-718 may be repeated with each subsequent retransmission. Retransmissions can continue until an indication is received that TB402 has been successfully decoded (e.g., sending an ACK in 720) or until the maximum number of retransmissions is reached (each different set of vertical check blocks 408 is generated using each different set of subblock interleavers).
[0094] Next, Figure 7B will be described. In 752, the transmitting node 12 may transmit a control signal (or configuration signal) to the receiving node 14 to schedule a predefined number of transmissions (including an initial transmission and at least one retransmission). The control signal may indicate a sequence of RV indices corresponding to a predefined transmission, including the RV index of the initial transmission (RV=0) and the respective RV indices of each predefined retransmission. As previously mentioned, any RV index may be associated with any given retransmission. For example, if three retransmissions are scheduled (in addition to the initial transmission), the control signal may include an RV sequence {0,1,2,3} corresponding to the initial transmission, the first retransmission, the second retransmission, and the third retransmission, respectively. However, the RV sequence may effectively be the same as {0,4,2,3}. The control signal may be transmitted via a control channel, which may be different from the data channel (as indicated by the thicker arrow), and may be signaling of any appropriate control or configuration, as previously mentioned with respect to transmission in 702.
[0095] At 754, an initial transmission is sent. The initial transmission may be, for example, a transmission of TB402 containing all the information CB410 (which may include the horizontal code block 406 in the case of systematic code) without the vertical check block 408. The receiving node 14 attempts to decode the received TB402. In this example, the receiving node 14 does not feed back information to the transmitting node 12 indicating whether the decoding was successful or not.
[0096] If no feedback is received, the transmitting node 12 performs a predefined number of retransmissions (as indicated in the control signal sent at 752), in this case a first retransmission at 756 and a second retransmission at 758. Each of the first and second retransmissions includes one or more vertical check blocks 408 from their respective first or second set of vertical check blocks 408, which are generated using their respective first or second subblock interleaver sets associated with the RV index of each first or second retransmission. Each retransmission may include all or fewer vertical check blocks from their respective first or second subblock interleaver sets.
[0097] Optionally, if the receiving node 14 successfully decodes TB402, it can send an indication that TB402 has been successfully decoded (e.g., sending an ACK in 760). Regardless of whether an ACK is received, the transmitting node 12 can stop retransmitting after reaching a predefined number of retransmissions. Sending a predetermined number of retransmissions that are not triggered by feedback (or do not receive feedback between transmit / retransmit) may be called iterative or blind retransmissions.
[0098] In some examples, a hybrid or combination of feedback-based or blind retransmission schemes may be used. For example, the transmitting node 12 may initially schedule a predefined number of retransmissions (including an initial transmission and a predefined number of retransmissions), and the transmitting node 12 may perform the predefined number of transmissions without feedback from the receiving node 14. If, after the predefined number of transmissions, decoding of at least one information CB410 still fails, the receiving node 14 may send feedback (e.g., NACK) to the transmitting node 12. The transmitting node 12 may then schedule and perform one retransmission at a time, and the receiving node 14 may return feedback (e.g., NACK or ACK) each time until all information CB410 has been successfully decoded. It should be understood that this disclosure is not limited to the specific feedback mechanisms described above and shown in Figures 7A and 7B.
[0099] As mentioned above, the transmitting node 12 and the receiving node 14 each know the subblock interleaver set used to generate a set of vertical check blocks 408 given a specific RV index. In this way, to determine the subblock interleaver set used to generate a given set of vertical check blocks 408 in a given retransmission, the receiving node 14 only needs to receive the RV index from the transmitting node 12. This avoids the need to send the full subblock interleaver set to the receiving node 14, thus reducing the consumption of network resources and / or reducing latency.
[0100] Different subblock interleaver sets may be predefined for their respective different RV indices (e.g., defined by standard, or otherwise configured between transmitting node 12 and receiving node 14 before transmission begins). In some examples, subblock interleaver sets may be explicitly defined for specific RV indices (e.g., explicitly described in a transformation matrix or table). The appropriate subblock interleaver set may then be determined based on the RV indices associated with the retransmission, according to the explicit definitions.
[0101] In some examples, a subblock interleaver set can be defined using a formula or other implicit definition. For example, a subblock interleaver set can be defined by a seed (uniquely associated with each RV index) that can be used to compute the subblock interleaver set. In another example, a predefined formula can make it possible to compute a subblock interleaver set given the RV index (and optionally, other known variables such as the number of information CB410s). Several exemplary techniques for defining a subblock interleaver set based on the RV index are further disclosed below.
[0102] Figure 8A is a flowchart illustrating an exemplary method 800 that can be performed by the transmitting node 12, for example, as shown in the signaling examples in Figures 7A and 7B. For example, the processing unit of the transmitting node 12 can execute instructions stored in the memory of the transmitting node 12 to cause the transmitting node 12 to perform method 800.
[0103] Optionally, in 802, the transmitting node 12 may provide the receiving node 14 with an RV index for the initial transmission. For example, the RV index for the initial transmission may be provided to the control signal that schedules the initial transmission. In some examples, if the transmitting node 12 is not responsible for scheduling resources (e.g., the transmitting node 12 is not BS170), the transmitting node 12 may receive a control signal from another node (e.g., from BS170) and optionally forward the received control signal to the receiving node 14. The RV index for the initial transmission may be, for example, RV=0.
[0104] Optionally, in step 804, the transmitting node 12 may provide one or more RV indices for one or more predefined retransmissions. In some examples, one or more RV indices for retransmissions may be provided together with the RV index for the initial transmission (for example, a sequence of RV indices including the RV index for the initial transmission and one or more RV indices for the predefined number of retransmissions may be included in a control signal that schedules the initial transmission and the predefined number of retransmissions). In some examples, step 804 may be performed when the predefined number of retransmissions are performed by the transmitting node 12 if there is no feedback from the receiving node 14 (for example, in a blind retransmission scheme). In some examples, if the transmitting node 12 is not responsible for scheduling resources (for example, the transmitting node 12 is not BS170), the transmitting node 12 may receive scheduled resources for the predefined number of retransmissions from another node (for example, from BS170) and optionally forward the control signal to the receiving node 14. In examples where a feedback-based retransmission scheme is used (e.g., a NACK-based retransmission scheme or an ACK / NACK-less retransmission scheme), step 804 may be omitted.
[0105] In 806, the transmitting node 12 sends an initial transmission to the receiving node 14. The initial transmission includes a TB with multiple information CBs. If systematic code is used, the initial transmission also includes multiple horizontal check blocks corresponding to the multiple information CBs.
[0106] Optionally, in step 808, the transmitting node 12 may decide whether retransmission is necessary. If retransmission is necessary, method 800 may proceed to the optional step 810. For example, based on negative feedback from the receiving node (e.g., in a NACK-based retransmission scheme) or lack of feedback (e.g., in an ACK / NACK-less retransmission scheme), the transmitting node 12 may decide that at least one piece of information CB was not decoded successfully at the receiving node 14 and therefore retransmission is necessary. For example, the transmitting node 12 may receive an indication from the receiving node 14 that decoding was unsuccessful (e.g., a NACK) and therefore retransmission is necessary. In another example, the lack of an indication of success from the receiving node 14 (e.g., an ACK) may indicate to the transmitting node 12 that decoding was unsuccessful and therefore retransmission is necessary. Optionally, if the transmitting node 12 is not responsible for scheduling resources (for example, if the transmitting node 12 is not BS170), the transmitting node 12 may request resources for retransmission from another node (for example, from BS170). Step 808 may be omitted if the transmitting node 12 is configured to send a predefined number of retransmissions (for example, in a blind retransmission scheme).
[0107] Optionally, in step 810, the transmitting node 12 may provide the receiving node 14 with an RV index for the first retransmission. For example, the RV index for the first retransmission may be provided in the control signal that schedules the first retransmission. If the transmitting node 12 is not responsible for scheduling resources, as in step 802, the transmitting node 12 may receive a control signal from another node (e.g., from BS170) and optionally forward the control signal to the receiving node 14. The RV index for the first retransmission may be, for example, RV=1. In general, the RV index for the first retransmission can be any value assigned to the first retransmission. If the transmitting node 12 is configured to send a predefined number of retransmissions (e.g., in a blind retransmission scheme), the RV index for the first retransmission may have already been provided in step 804, and step 810 may be omitted.
[0108] In 812, the transmitting node 12 performs a first retransmission to the receiving node 14, which includes transmitting at least one vertical check block from a first set of vertical check blocks generated using a first subblock interleaver set associated with the RV index of the first retransmission. The transmitting node 12 generates the first set of vertical check blocks by applying a first subblock interleaver set defined for the RV index of the first retransmission (e.g., explicitly defined or defined by formula or calculation). The transmitting node 12 may include one, some, or all of the vertical check blocks from the first set of vertical check blocks in the first retransmission. Note that the first set of vertical check blocks may be generated at any time during method 800 prior to the first retransmission. For example, the first set of vertical check blocks may be generated before the initial transmission.
[0109] Optionally, in step 814, the transmitting node 12 may decide whether another retransmission is necessary. If a retransmission is necessary, method 800 may proceed to the optional step 816. Step 814 may be the same as step 808 described above. If the transmitting node 12 is configured to send a predefined number of retransmissions (for example, in a blind retransmission scheme), step 814 may be omitted.
[0110] Optionally, in step 816, the transmitting node 12 may provide the receiving node 14 with an RV index for a second retransmission. If the transmitting node 12 is not responsible for scheduling resources, it may receive control signals from another node (e.g., from BS170) and optionally forward the control signals to the receiving node 14. For example, the RV index for a second retransmission may be provided in a control signal that schedules the second retransmission. The RV index for a second retransmission may be, for example, RV=2. In general, the RV index for a second retransmission can be any value assigned to the second retransmission. If the transmitting node 12 is configured to send a predefined number of retransmissions (e.g., in a blind retransmission scheme), the RV index for a second retransmission may have already been provided in step 804, and step 816 may be omitted.
[0111] In 818, the transmitting node 12 performs a second retransmission to the receiving node 14, which includes transmitting at least one vertical check block from a second set of vertical check blocks generated using a second subblock interleaver set associated with the RV index of the second retransmission. The transmitting node 12 generates the second set of vertical check blocks by applying a second subblock interleaver set defined for the RV index of the second retransmission (e.g., explicitly defined or defined by formula or calculation). The transmitting node 12 may include one, some, or all of the vertical check blocks from the second set of vertical check blocks in the second retransmission. Note that the second set of vertical check blocks may be generated at any time during method 800 prior to the second retransmission. For example, the second set of vertical check blocks may be generated before the initial transmission.
[0112] Method 800 can repeat steps 814-818 (using a different RV index and a different subblock interleaver set for each retransmission) until an indication of success (e.g., an ACK) is received from the receiving node 14 (e.g., in a feedback-based retransmission scheme) or until a predefined number of retransmissions are sent (e.g., in a blind retransmission scheme).
[0113] Figure 8B is a flowchart illustrating an exemplary method 850 that can be performed by the receiving node 14, for example, as shown in the signaling examples in Figures 7A and 7B. Method 850 may be similar to method 800 described above, but from the perspective of the receiving node 14. For example, the processing unit of the receiving node 14 can execute instructions stored in the memory of the receiving node 14 to cause the receiving node 14 to perform method 850.
[0114] Optionally, in 852, the receiving node 14 may receive the RV index for the initial transmission. For example, the RV index for the initial transmission may be received in a control signal that schedules the initial transmission. The control signal may be received from the transmitting node 12 or from any other node that schedules resources for the initial transmission (e.g., BS170, not transmitting node 12). The RV index for the initial transmission may be, for example, RV=0.
[0115] Optionally, in step 854, the receiving node 14 may receive one or more RV indices for each of one or more retransmissions for a predefined number of times. The RV indices may be received from the transmitting node 12 or from any other node (e.g., BS170, not the transmitting node 12) that schedules the resources for the predefined number of retransmissions. In some examples, one or more RV indices for retransmissions may be received together with the RV indices for the initial transmission (e.g., a sequence of RV indices including the RV indices for the initial transmission and one or more RV indices for the predefined number of retransmissions may be included in a control signal that schedules the initial transmission and the predefined number of retransmissions). In some examples, step 854 may be performed when the transmitting node 12 performs the predefined number of retransmissions if there is no feedback from the receiving node 14 (e.g., in a blind retransmission scheme). In examples where a feedback-based retransmission scheme is used (e.g., a NACK-based retransmission scheme or an ACK / NACK-less retransmission scheme), step 854 may be omitted.
[0116] At 856, the receiving node 14 receives an initial transmission from the transmitting node 12. The initial transmission includes a TB with multiple information CBs. If systematic code is used, the initial transmission also includes multiple horizontal check blocks corresponding to the multiple information CBs. The receiving node 14 attempts to decode the information CBs.
[0117] Optionally, in step 858, the receiving node 14 may provide the transmitting node 12 with an indication that retransmission is required. If retransmission is required, method 850 may proceed to the optional step 860. For example, in a NACK-based retransmission scheme, if decoding of at least one information CB is unsuccessful, the receiving node 14 may send negative feedback (e.g., a NACK) to the transmitting node 12. In another example, in an ACK / NACK-less retransmission scheme, the receiving node 14 may only send an indication of success, and step 858 may be omitted even if decoding is unsuccessful. In yet another example, in a blind retransmission scheme, step 858 may be omitted.
[0118] Optionally, in step 860, the receiving node 14 may receive the RV index for the first retransmission. The RV index may be received from the transmitting node 12 or from any other node scheduling resources for the first retransmission (e.g., BS170, not the transmitting node 12). For example, the RV index for the first retransmission may be provided in the control signal scheduling the first retransmission. The RV index for the first retransmission may be, for example, RV=1. In general, the RV index for the first retransmission can be any value assigned to the first retransmission. If the transmitting node 12 is configured to send a predefined number of retransmissions (e.g., in a blind retransmission scheme), the RV index for the first retransmission may already be provided in step 854, and step 860 may be omitted.
[0119] In 862, the receiving node 14 receives a first retransmission from the transmitting node 12, which includes receiving at least one vertical check block from a first set of vertical check blocks generated using a first subblock interleaver set associated with the RV index of the first retransmission. The first retransmission may contain one, some, or all of the vertical check blocks from the first set of vertical check blocks. The receiving node 14 can use the vertical check blocks received in the first retransmission, along with soft information from previous decoding attempts, to attempt to decode information CB that was previously unsuccessfully decoded. In particular, the receiving node 14 can determine the first subblock interleaver set used to generate the first set of vertical check blocks based on the RV index of the first retransmission, and thus can utilize the vertical check blocks without having to send the first subblock interleaver set to the receiving node 14.
[0120] Optionally, in step 864, the receiving node 14 may provide the transmitting node 12 with an indication that retransmission is required. If retransmission is required, method 850 may proceed to the optional step 866. Step 864 may be the same as step 858 described above. Step 864 may be omitted if the transmitting node 12 is configured to send a predefined number of retransmissions (for example, in a blind retransmission scheme).
[0121] Optionally, in step 866, the receiving node 14 may receive the RV index for the second retransmission. The RV index may be received from the transmitting node 12 or from any other node scheduling resources for the second retransmission (e.g., BS170, not the transmitting node 12). For example, the RV index for the second retransmission may be provided in the control signal scheduling the second retransmission. The RV index for the second retransmission may be, for example, RV=2. In general, the RV index for the second retransmission can be any value assigned to the second retransmission. If the transmitting node 12 is configured to send a predefined number of retransmissions (e.g., in a blind retransmission scheme), the RV index for the second retransmission may already be provided in step 854, and step 866 may be omitted.
[0122] In 866, the receiving node 14 receives a second retransmission from the transmitting node 12, which includes receiving at least one vertical check block from a second set of vertical check blocks generated using a second set of subblock interleavers associated with the RV index of the second retransmission. The second retransmission may contain one, some, or all of the vertical check blocks from the second set of vertical check blocks. The receiving node 14 can use the vertical check block received in the second retransmission, along with soft information from previous decoding attempts, to attempt to decode information CB that was previously unsuccessfully decoded. In particular, the receiving node 14 can determine, based on the RV index of the second retransmission, the second subblock interleaver used to generate the second set of vertical check blocks, and thus can utilize the vertical check block without having to send the second subblock interleaver to the receiving node 14.
[0123] Method 850 may repeat steps 864-868 (using different RV indices and their respective different subblock interleaver sets) until all information CBs have been successfully decoded or until a predefined number of retransmissions have been sent (for example, in a blind retransmission scheme).
[0124] Optionally, in a feedback-based retransmission scheme, after all information CB has been successfully decoded, the receiving node 14 may provide the transmitting node 12 with an indication that the decoding was successful (e.g., an ACK).
[0125] While we have described an example of unicast, this disclosure may also be applicable to retransmission schemes for multicast, groupcast, or broadcast transmission.
[0126] This disclosure describes examples of subblock interleaver sets that may be used to generate different sets of vertical check blocks for each different retransmission. The subblock interleaver sets disclosed herein may be explicitly defined (e.g., explicitly defined using their respective transformation matrices or defined in tables) and may be explicitly associated with their respective RV indexes (e.g., defined by standards). The subblock interleaver sets disclosed herein may also be implicitly defined for their respective RV indexes, for example, according to formulas or other deterministic relationships.
[0127] To help understand the following explanation, some terms will be introduced first. Figure 9A is a diagram of an exemplary transport block 402 having five information CBs 410-1 to 410-5 (commonly referred to as information CBs 410). Each information CB 410 may correspond to a row in TB 402. The bits of each information CB 410 may be logically divided into rows of subblocks 412, as previously mentioned. In this example, each information CB 410 is divided into five rows of subblocks 412, and the k-th subblock 412 of the i-th information CB 410 is denoted by SBik.
[0128] In an initial transmission (for example, with RV index RV=0), subblock 412 is in natural order. Natural order means that subblock 412 is arranged so that the order of bits within each information CB410 is not shuffled. It should be understood that while TB402 is shown as being divided into subblock 412 before any subblock interleaving is applied, this is only for the sake of clarity. In actual use, the logical division of TB402 into subblock 412 may only occur if subblock interleaving is applied, and may not occur in the initial transmission of TB402. Figure 9A shows TB402 with the horizontal check block 406 omitted for simplification. However, it should be understood that the initial transmission may include the horizontal check block 406.
[0129] In a given retransmission with a given RV index, a subblock interleaver set 900 associated with the given RV index is applied to obtain a subblock combination 910. The subblock interleaver set 900 can be implemented using software (e.g., using a transformation matrix to compute the subblock combination 910), hardware (e.g., using a shift register to apply a cyclic shift), or a combination of software and hardware. The subblock combination has subblocks 412 arranged by rows 912 and columns 914. In the example in Figure 9A, after applying the subblock interleaver set 900, the subblocks 412 are interleaved (also called shuffled) within each row 912, sometimes called row-direction interleaving. Note that the subblocks 412 of the first row (corresponding to information CB410-1) are not interleaved. The first row may remain in natural order (e.g., at the receiving node) to serve as a reference row providing a reference to undo the interleaving, however any row can be a reference row. In some examples, reference rows may not be necessary. Note that there is no columnar interleaving in subblock 412 (i.e., each subblock interleaver in subblock interleaver set 900 applies subblock interleaving to each row of subblock 412).
[0130] A set of vertical check blocks 408-1 to 408-5 (commonly referred to as vertical check blocks 408) is generated from the subblock combination 910. In particular, the bits from each column 914 of the subblock are information bits used to generate one vertical check block 408 each.
[0131] In general, to maximize or increase the amount of useful information carried in each retransmission, the set of vertical check blocks 408 used in each retransmission should be generated from each subblock combination 910, and it is preferable that the column 914 of that subblock does not overlap with the column 914 of any other subblock combination 910 used in any other retransmission. No overlap means that there are no repeating columns 914 of subblocks between different subblock combinations 910, and no pairs of subblocks 412 found together in the column multiple times between different subblock combinations 910. Since vertical check blocks 408 are generated from the column 914 of subblocks, the absence of overlapping columns 914 across different subblock combinations 910 means that all vertical check blocks 408 are generated from different combinations of subblocks 412 (i.e., different combinations of information bits across the information CB 410). Thus, all vertical check blocks 408 provide different information to assist in decoding. In this way, the overall performance of the radio system is improved due to less repetition of coded bits in retransmission. Regardless of the number of duplicates in column 914 (for example, if there are one or more pairs of subblocks 412 found together in a column within multiple subblock combinations 910), some performance improvement can be achieved.
[0132] This disclosure describes examples of how subblock interleaver sets may be used to define subblock interleaver sets such that the resulting subblock combinations have little to no column overlap. In particular, this disclosure describes examples of how subblock interleaver sets may be defined based on an RV index.
[0133] As mentioned above, different subblock interleaversets 900 are used for different RV indices. The following description explains different techniques for defining groups of subblock interleaversets 900.
[0134] An exemplary technique for defining a group of subblock interleaver sets is described here. In this exemplary technique, which may be called prime-based cyclic shifts, a group of subblock interleaver sets has K unique subblock interleaver sets, which can be used to generate a set of K vertical check blocks for each of K distinct RV indices (where K is a positive integer). In particular, in the technique of this example, K is a prime number. Each subblock interleaver set in the group of subblock interleaver sets is associated with each RV index from 1 to K, or generally with each of K distinct RV indices (i.e., not necessarily from 1 to K). For example, the subblock interleaver set associated with RV index RV=1 may be used as the first subblock interleaver set to generate the first set of vertical check blocks for the first retransmission, the subblock interleaver set associated with RV index RV=2 may be used as the second subblock interleaver set to generate the second set of vertical check blocks for the second retransmission, and so on up to the kth subblock interleaver set associated with RV index RV=K. However, it should be understood that the RV index values (and the order of the subblock interleaver sets) do not necessarily correspond to the order of retransmissions (for example, the first retransmission may have an RV index other than RV=1).
[0135] Regarding TB402 having M pieces of information CB410 (where M is a positive integer), the value of K is defined as the smallest prime number such that K is greater than or equal to M. Each sub-block interleaver set within a group of K sub-block interleavers divides the bits of each information CB410 into K sub-blocks 412 such that TB402 is divided into MxK sub-blocks 412 (i.e., the M pieces of information CB410 are each divided into K sub-blocks 412). Note that the number of bits within each sub-block 412 is not necessarily exactly equal, and there may be cases where they are substantially equal (e.g., the number of bits in different sub-blocks 412 differ by only a few bits).
[0136] And the sub-block interleaver set associated with the RV index RV = j (where j is an integer value from 1 to K) results in a combination of sub-blocks where each row of the sub-blocks is shifted as follows when applied to TB402. For the sub-block in the i-th row (i.e., corresponding to the i-th information CB410), the sub-block interleaver set applies a circular shift that shifts the i-th row sub-block by an amount equal to (j - 1) * (i - 1) mod K, where mod K represents the arithmetic modulus K. Note that the circular shift can be a left circular shift or a right circular shift, provided that the same shift direction (i.e., left shift or right shift) is used for all K sub-block interleaver sets.
[0137] (j - 1) * Applying a circular shift by an amount equal to (j + c1) *This can be more generally described as applying a cyclic shift amount that is a function of (i + c2), where j is the RV index associated with the subblock interleaverset, i is the row number (i.e., the index of the information CB), and c1 and c2 are integer constants, respectively. The constants c1 and c2 mean that the values of j and i can start from any value (they do not necessarily have to start from 0 or 1).
[0138] Figure 9B shows an example that helps understand left-right cyclic shifts. (SB1, SB2, ..., SB K Consider the case where information CB410 (which may be rows of TB402) has K rows of subblocks 412 in the order ), and the subscripts 1, 2, ..., K are the indices of the subblocks (denoted as SB). If the subblock interleaver is a left cyclic shift of an amount equal to t (where t is an integer, 0 <= t <= K-1), which is equivalent to cyclically shifting each subblock to the left by t positions, then (SB (1+t) , ..., SB K , SB1, ..., SB t) This will result in K subblocks 412 in the order of . Similarly, if the subblock interleaver is a right cyclic shift of an amount equal to t (where t is an integer, 0 <= t <= K-1), which is equivalent to cyclically shifting each subblock t positions to the right, then when this is applied, (SB (K-t+1) , ..., SB K , SB1, ..., SB (K-t) This will result in K subblocks in the order (SB1, SB2, SB3). As an example, Figure 9B also shows information CB410 having three subblocks 412 (i.e., K=3), where the original (or natural) order of the K subblocks is (SB1, SB2, SB3), and a left cyclic shift of cyclic shift amount t=1 will result in subblocks in the order (SB2, SB3, SB1), and a right cyclic shift of cyclic shift amount t=1 will result in subblocks in the order (SB3, SB1, SB2).
[0139] By defining a group of K subblock interleaver sets in this way, it is possible to generate a set of K vertical check blocks for retransmission using K different RVs (corresponding to RV indices 1-K), where RV index RV=0 is reserved for transmitting information blocks and horizontal check blocks, which typically corresponds to the initial transmission. RV indices 1-K can be used in any order to perform retransmission. If fewer than K RV indices are defined, a subset of K subblock interleaver sets may be used.
[0140] In a group of K subblock interleaver sets defined according to the example above, it can be guaranteed that there are no repetitions in any column of the subblocks across the subblock combinations obtained using the group of K subblock interleaver sets. Furthermore, across all subblock combinations obtained using the group of K subblock interleaver sets, there are no repetitions in any pair of subblocks used in a single vertical check block (i.e., the same two subblocks are not found multiple times in the same column across all subblock combinations within the group of K subblock interleaver sets). As a result, all vertical check blocks 408 generated for all K RV indices are generated from unique, non-repeating combinations of subblocks across the entire information CB 410. This property may be referred to herein as subblock combinations having “non-repeating columns” and can help maximize the usefulness of the information carried in each retransmission, and thus maximize the performance of the entire radio system.
[0141] Several exemplary implementations of the above-defined group of K subblock interleaver sets are described here.
[0142] Figure 10 shows an exemplary implementation where TB402 contains three information CB410s. Let M=3 be the number of information CB410s. Since K is defined as the smallest prime number greater than or equal to the number of information CB410s, K=3 in this example. Thus, Figure 10 shows an implementation of the above definition of a subblock interleaverset, where three different subblock interleaversets are defined for RV indices 1 to 3.
[0143] As shown in Figure 10, subblock interleaver sets 900-1, 900-2, and 900-3 (RV=1, RV=2, and RV=3, respectively) can be computed by an optional subblock interleaver set compute module 950. For example, the subblock interleaver set compute module 950 may be a module implemented in the transmitting node 12 that computes a cyclic shift for each row of the subblock according to the RV index, as described above (for example, implemented using software, hardware, or a combination thereof). The subblock interleaver set compute module 950 may be used by the transmitting node 12 to define appropriate subblock interleaver sets 900-1, 900-2, and 900-3 according to the RV index of the retransmission when a set of vertical check blocks needs to be generated. Alternatively, the subblock interleaver sets 900-1, 900-2, and 900-3 may be defined at any point before the retransmission is performed, for values M=3, K=3, before a time (for example, predefined by standard or defined using the subblock interleaver set calculation module 950). Similarly, at the receiving node 14, the subblock interleaver sets 900-1, 900-2, and 900-3 may be predefined or calculated by the receiving node 14 as needed when the retransmission is received.
[0144] For ease of reference, subblock interleaver sets 900-1, 900-2, and 900-3 (corresponding to RV=1, RV=2, and RV=3, respectively) may be referred to as the first, second, and third subblock interleaver sets, respectively, but it should be understood that the use of the terms “first,” “second,” and “third” is not intended to limit the order in which subblock interleaver sets 900-1, 900-2, and 900-3 are used in retransmission. The first subblock interleaver set 900-1, when applied to TB402, results in the first subblock combination 910-1; the second subblock interleaver set 900-2, when applied to TB402, results in the second subblock combination 910-2; and the third subblock interleaver set 900-3, when applied to TB402, results in the third subblock combination 910-3. Note that the first subblock combination 910-1 has subblocks in their natural order.
[0145] As shown in Figure 10, subblock interleaver sets 900-1, 900-2, and 900-3 interleave subblocks by applying cyclic shifts to each row, as follows:
[0146] [Table 1]
[0147] In this case, j represents the RV index of each subblock interleaverset 900-1, 900-2, and 900-3 (i.e., RV=1, RV=2, and RV=3), and i represents the row of the subblock.
[0148] As shown in the table above, the cyclic shift applied to each row is (j-1) *This can be calculated according to (i-1)mod K (in the example above, K=3). For example, in the case of the first subblock interleaverset 900-1, j=1 (i.e., RV=1), and therefore no cyclic shift is applied to any row.
[0149] With respect to the second subblock interleaverset 900-2, j=2 (i.e., RV=2), and therefore the cyclic shift applied to the first row is (1) * (0) mod 3 = 0, and the cyclic shift applied to the second row is (1) * (1) mod 3 = 1, and the cyclic shift applied to the 3rd row is (1) * (2) mod 3 = 2. The cyclic shift applied by the third subblock interleaver set 900-3 can be determined in the same way. In particular, across all three subblock combinations 910-1, 910-2, and 910-3, no column contains two subblock pairs together more than twice, and therefore the subblock combinations 910-1, 910-2, and 910-3 have non-overlapping columns.
[0150] In the example in Figure 10, the number of information CB410s (denoted as M) is a prime number. Therefore, the number of subblocks for each information CB410 (denoted as K) is the same as the number of information CB410s (i.e., K = M).
[0151] Figure 11A shows an example where the number of information CB410 is 5 (M=5). Therefore, the number of subblocks for each information CB410 is also 5 (K=5). As described above, using a prime-based cyclic shift of the subblocks, five subblock combinations 910-1 to 910-5 are obtained, as shown in the figure.
[0152] The cyclic shifts in each row of subblock combinations 910-1 to 910-5 in the example shown in Figure 11A are as follows:
[0153] [Table 2]
[0154] In this case, j represents the RV index (i.e., RV=1, RV=2, RV=3, RV=4, and RV=5), and i represents the row of the subblock.
[0155] Here again, note that no two (or more) subblock combinations appear more than twice in any column across all five subblock combinations 910-1 to 910-5. Therefore, all subblock combinations 910-1 to 910-5 have non-overlapping columns.
[0156] If the number of information CB410 is not prime, K is defined as the smallest prime number greater than M. Next, as described above, a group of K subblock interleaver sets can be defined. In particular, a group of K subblock interleaver sets can be defined assuming that there are subblocks with K rows (K > M) to be interleaved. If there are fewer than K rows in a subblock (i.e., the number of information CB410 is less than K), any M subblock interleavers in the subblock interleaver set can be used (to interleave any M rows). That is, if a subblock interleaver set defines a subblock interleave pattern for a subblock of K rows, and there are fewer than K information CB410 in TB402, a subset of the K subblock interleavers in the subblock interleaver set can be selected and used to interleave the information CB410.
[0157] Figure 11B shows an example where the number of information CB410s is 4 (i.e., M=4). Therefore, the number of subblocks per information CB410 is 5 (i.e., K=5) (since 5 is the smallest prime number greater than 4). As shown in Figure 11A, the subblock combination defined for K=5 may be applied to the four information CB410s by selecting the subblock interleaver defined for any four rows.
[0158] In a simple example, the first four subblock interleavers within each subblock interleaver set may be selected to obtain the modified subblock interleaver set 910-1'~910-5'. The remaining fifth subblock interleaver (defined for the fifth row of the subblock) may be ignored or discarded. This is illustrated in Figure 11B by a thicker border surrounding the four selected subblock interleavers for each modified subblock interleaver set 910-1'~910-5', and by hiding unused subblock interleavers with diagonal lines. The information bits from the subblocks of the first four information CBs within each column are used to generate their respective vertical check blocks.
[0159] Different groups of subblock interleaver sets may be predefined in advance for different expected (or common) values of K and stored in memory (and therefore need to be computed whenever they are needed). For example, the cyclic shift of each row in a subblock may be pre-computed and stored for expected values of K (e.g., as a lookup table showing the amount of cyclic shift per row). Alternatively or additionally, groups of subblock interleaver sets defined using cyclic shifts in the manner described above may be predefined in the standard (e.g., as a table showing the amount of cyclic shift per row). Alternatively or additionally, the resulting subblock combinations corresponding to a particular RV index after performing the above cyclic shift operations may be predefined in the standard (e.g., as a table showing the resulting subblock combinations).
[0160] In general, the prime-based cyclic shift technique described above defines a group of subblock interleaver sets. For each given subblock interleaver set in the group, the subblock interleavers within a given subblock interleaver apply a specific amount of cyclic shift to each individual row of the subblock, with different amounts of cyclic shift applied to different rows of the subblock (except for the special case of RV=1 where the cyclic shift applied to all rows of the subblock is 0). The difference in the amount of cyclic shift applied to any two given rows of a subblock by a given subblock interleaver set is not replicated for the same two rows by any other subblock interleaver set in the defined group of subblock interleaver sets. This property holds if the number of subblocks per information CB is a prime number greater than or equal to the number of information CBs. A group of subblock interleaver sets defined using the prime-based cyclic shift technique disclosed above always results in subblock combinations with non-overlapping columns. This can be proven mathematically, as described below.
[0161] Let's consider Figure 12, which shows a scenario in which pairs of subblocks occur together multiple times within a column. In particular, two subblocks are identified. Subblock SB(i1,x) is CB i1 This is the xth subblock belonging to the information CB shown by . Subblock SB(i2,y) is CB i2 This is the yth subblock belonging to the information CB shown by [the symbol].
[0162] Assuming that pairs of subblocks SB(i1,x) and SB(i2,y) are found together more than once in a single column (i.e., there are at least two overlapping columns that contain the same pair of subblocks), then there are two RV indices (RV) that share the same pair of subblocks SB(i1,x) and SB(i2,y). j1 and RV j2 Each of the two vertical check blocks (VCB) belonging to the (shown as) p1 and VCB p2(As shown) must exist.
[0163] According to the techniques disclosed above for defining subblock interleaversets, each row of a subblock is generated based on the cyclic shift of the corresponding row relative to its natural order (i.e., its order at initial transmission RV=0). Thus, RV j1 and RV j2 The difference in column positions of the subblock SB(i1,x) is RV j2 RV for row i1 j1 This is the relative cyclic shift of row i1, which is also equal to p2-p1. The same conclusion applies to subblock SB(i2, y).
[0164] Therefore, using the calculation of the row-direction cyclic shift disclosed above, p2-p1=RV j2 RV for row i1 j1 Circular shift of row i1 =((j1-1) * (i1-1)-(j2-1) * (i1-1))mod K =(j1-j2) * (i1-1)mod K (1)
[0165] The same calculation can be performed for the cyclic shift of row i2. p2-p1=(j1-j2) * (i²-1)mod K (2)
[0166] The only way in which both (1) and (2) can be true is in the following case: (j2-j1) * (i2-i1)mod K=0
[0167] However, K is defined as a non-zero prime number, and j1 ≠ j2 and i1 ≠ i2. 1≦j1≠j2≦K; and 1≦i1≠i2≦K
[0168] Therefore, (1) and (2) cannot both be true, and thus the assumption that pairs of subblocks SB(i1,x) and SB(i2,y) are found together in two or more columns must be false. In other words, this proves that there are no pairs of subblocks that occur together in a column more than twice across all K RVs (i.e., there are no overlapping columns).
[0169] While the efficiency and performance of the entire radio communication system can be improved (and thus the amount of useful information contained in each retransmission is maximized) if all subblock combinations have non-overlapping columns across all K RVs, retransmission schemes using vertical check blocks are still superior to other conventional retransmission schemes (e.g., CBG-based retransmission schemes) even if there is some overlap in columns within the subblock combinations used to generate the vertical check blocks. Accordingly, this disclosure describes several other exemplary subblock interleaver sets that may be used to generate vertical check blocks.
[0170] Herein, another exemplary technique for defining a group of subblock interleaver sets is described. In this example, in addition to applying a row-direction cyclic shift to each row of a subblock, each subblock interleaver set also applies a vertical cyclic shift, which shifts the amount of cyclic shift applied to each row from the first row onward vertically (up and down). Note that the vertical cyclic shift may also be applied vertically, provided that the same shift direction is used for all applicable subblock interleaver sets. This technique is sometimes called a dual subblock-based cyclic shift.
[0171] In the dual sub-block based circular shift method, the RV with index 0 can similarly correspond to the transmission of the original information block and the horizontal code block that are normally used in the initial transmission. And the sub-block interleaver set associated with the RV index j = 1 is the same as the aforementioned circular shift method, and the circular shift amount is 0 for all rows. For 1 < j ≤ K, for the i-th row of the sub-block (i.e., corresponding to the i-th information CB410), the sub-block interleaver set applies a circular shift that shifts the sub-block of its i-th row by an amount equal to (i - j) mod (K - 1)+1, where mod (K - 1) represents the arithmetic modulus (K - 1).
[0172] This dual sub-block based circular shift can be used to define a group of sub-block interleaver sets for generating prime vertical check blocks (prime RVs), or for any number of vertical check blocks (not necessarily limited to prime numbers). In this exemplary technique, the number of sub-blocks for each information CB410 is set to be equal to the number of information CB410s (i.e., M = K).
[0173] FIG. 13 shows an example of using the dual sub-block based circular shift technique to define a group of sub-block interleaver sets where the number of information CB410s is 5 (M = 5). Therefore, the number of sub-blocks for each information CB410 is also 5 (K = 5). Using the dual sub-block based circular shift of the sub-blocks, as shown in the figure, five sub-block combinations 910-1 to 910-5 can be obtained.
[0174] The circular shifts in each row of the sub-block combinations 910-1 to 910-5 in the example of FIG. 13 are as follows.
[0175]
Table 3
[0176] In this case, j represents the RV index (i.e., RV=1, RV=2, RV=3, RV=4, and RV=5), and i represents the row of the subblock. For RV index j=3, the row-direction cyclic shift amount for rows i=2 through i=5 is equivalent to vertically shifting the row-direction cyclic shift amount of the corresponding row in RV index j=2 downwards by one position. For example, the row-direction cyclic shift amount seen in row i=2 of RV index j=2 is vertically shifted by 1, as seen in row i=3 of RV index j=3, and similarly, the row-direction cyclic shift amount seen in row i=5 of RV index j=2 is vertically shifted down by 1, as seen in row i=2 of RV index j=3 (note that no row-direction cyclic shift is applied to row i=1 for any RV so that row i=1 can be used as a reference row). This vertical cyclic shift of row-direction cyclic shift amounts continues for RVj=4 and RVj=5. Therefore, the row-direction cyclic shift amount for RVj=4 can be obtained by vertically shifting the row-direction cyclic shift amount of the corresponding row with RV index j=3 by one position. It can be seen that the vertical cyclic shift of the row-by-row cyclic shift amount described above can be calculated for row i (i>1) and column j (j>1) using the formula (ij)mod(K-1)+1 (K=5 in this example).
[0177] The dual subblock-based cyclic shift described above ensures that no two rows share the same cyclic shift value in any retransmission. However, unlike the prime-based cyclic shift described earlier, the dual subblock-based cyclic shift does not guarantee that the relative amount of cyclic shift between any two rows is not repeated. For example, as seen in the table above, the relative amount of cyclic shift between rows i=2 and i=3 is repeated at j=2, j=4, and j=5. As shown in Figure 13, as a result, there are multiple columns with the same subblock pair between the second and third rows. For example, subblock pairs SB22 and SB33 are found together (as indicated by the dark outlines) in the columns of the second, fourth, and fifth subblock combinations 910-2, 910-4, and 910-5. Despite this repetition of subblock pairs, the amount of repetition is relatively small, and the dual subblock-based cyclic shift technique for defining groups of subblock interleaver sets can still be useful for generating vertical checkblocks on different RVs. It should also be noted that a dual subblock-based cyclic shift method can be used regardless of whether K is a prime number or not.
[0178] Herein, another exemplary technique for defining a group of subblock interleaver sets is described. This exemplary technique, sometimes referred to herein as prime factor-based cyclic shift, may be used when the number of information CB410 is not prime (i.e., M is not prime), and it is desirable that the number of subblocks per information CB410 is equal to the number of information CB410 (i.e., M = K). Note that K defines the number of subblocks per information CB410, and K also defines the number of vertical check blocks that can be generated using the subblock interleaver sets.
[0179] In prime factor-based cyclic shifts, a value K1 is defined where K1 is the smallest prime number that is a factor of K (K is equal to the number of information CB410), and a value L is defined where L is the smallest positive integer, and KL is a prime number.
[0180] Then, the subblock interleaverset associated with the RV index RV=j (in this case, j is an integer between 1 and KL) when applied to TB402 results in a subblock combination in which each row of the subblock is shifted as follows: With respect to the i-th row of a subblock (i is an integer between 1 and K), the subblock interleaverset shifts the subblock of that i-th row to (j-1) if the conditions (i) (K1+1≦j≦KL) and (ii) (1≦i≦KL) are met. * Apply a cyclic shift that shifts by an amount equal to (i-1)mod(KL). If conditions (i) and (ii) are not met, the subblock interleaverset shifts the subblock of row i by (j-1). * Apply a cyclic shift that shifts by an amount equal to (i-1) mod K.
[0181] More generally, a group of subblock interleaver sets can be defined, where one (or more) subblock interleaver sets within the group are defined to apply a cyclic shift amount to each row of the subblock, and the amount of the cyclic shift is a function of (j+c1) of at least one subset of the information CB rows (for example, for the first KL column). * (i+c2)mod(KL) is the RV index associated with the subblock interleaverset, i is the row number (i.e., the index of the information CB), c1 and c2 are integer constants, and KL is a prime number.
[0182] Defining a group of subblock interleaversets using the prime factor-based cyclic shift technique described above results in a first K1 subblock interleaverset being defined similarly to the prime number-based cyclic shift technique described earlier. Thus, it can be guaranteed that the subblock combinations arising from the first K1 subblock interleaverset will not have any overlapping columns. Further subblock interleaversets are defined (from the (K1+1)th subblock interleaverset to the (KL)th subblock interleaverset) that do not necessarily possess this property, but the number of repeated subblock pairs in the columns should be relatively small. This is because KL is a prime number, close to K, and the first KL row from the (K1+1)th subblock interleaverset to the (KL)th subblock interleaverset has similar properties to the prime number-based cyclic shift design. Note that the number of subblock interleaversets defined using the prime factor-based cyclic shift technique may be less than K.
[0183] Figure 14 shows an example of using a prime factor-based cyclic shift technique to define a group of subblock interleaver sets where the number of information CB410s is 6 (M=6). Therefore, the number of subblocks per information CB410 is also 6 (K=6). The smallest prime that is a factor of K is 2, so therefore K1=2. The smallest positive integer L such that KL is prime is L=1 (thus KL=6-1=5). Thus, using a prime factor-based cyclic shift technique, the first two subblock combinations 910-1 and 910-2 are calculated as (j-1). * This can be obtained by applying a cyclic shift to each row according to (i-1) mod 6. Then, the third to fifth subblock combinations 910-3 to 910-5 are calculated as (j-1) * This can be obtained by applying a cyclic shift to each row according to (i-1) mod 5, except for row 6 and columns 1 and 2, which are quantities (j-1) * The cycle shift is performed by (i-1) mod 6.
[0184] Specifically, the cyclic shifts in each row of subblock combinations 910-1 to 910-5 in the example shown in Figure 14 are as follows:
[0185] [Table 4]
[0186] In this case, j represents the RV index (i.e., RV=1, RV=2, RV=3, RV=4, and RV=5), and i represents the row of the subblock.
[0187] The first two subblock combinations, 910-1 and 910-2, have non-overlapping columns, while the third to fifth subblock combinations, 910-3 to 910-5, have some column overlap. However, the third to fifth subblock combinations have relatively small column overlaps because there is no column overlap if they only contain rows 1 through 5.
[0188] Herein, another exemplary technique for defining a group of subblock interleaversets is described. This exemplary technique, sometimes referred to herein as RV index skipping, can be used when the number of information CB410s is not prime (i.e., M is not prime) and it is desirable that the number of subblocks per information CB410 is equal to the number of information CB410s (i.e., M=K).
[0189] In RV index skipping, when a subblock interleaver set associated with the RV index RV=j (where j is an integer between 1 and K) is applied to TB402, each row of the subblock is calculated (j-1). *This results in subblock combinations that are shifted according to (i-1) mod K. However, since K=M and M is not a prime number, it is expected that there will be column overlaps between subblock combinations. To reduce the amount of column overlap, the RV index skipping technique defines groups of subblock interleaver sets such that subblock interleaver sets within a group are associated only with RV index values, and for RV=j, the greater common coefficient between (j-1) and K is 1 (i.e., (j-1) and K are disjoint). Any RV index that does not satisfy this disjoint requirement is skipped, meaning that there are no subblock interleaver sets defined for that RV index. Such skipped RV indexes may not be used for retransmission because there are no subblock interleaver sets defined for that RV index. Alternatively, to maintain the use of consecutive RV indexes in retransmission, subblock interleaver sets may be reassigned to consecutive RV indexes after being defined using the RV index skipping technique. For example, if subblock interleaver sets are defined for RV indices 1, 2, and 4, and RV index RV=3 is skipped, then after the subblock interleaver sets are defined, they may be reassigned to RV indices 1, 2, and 3 (i.e., a subblock interleaver set defined using RV=4 will be reassigned to RV index RV=3).
[0190] Figure 15 shows an example of using the RV index skipping technique to define a group of subblock interleaver sets where the number of information CB410s is 4 (M=4). Therefore, the number of subblocks per information CB410 is also 4 (K=4). Note that in this example, since the numbers (j-1)=(3-1)=2 and K=4 are not relatively prime, the RV index RV=3 is skipped.
[0191] The cyclic shifts in each row of subblock combinations 910-1 to 910-3 in the example shown in Figure 15 are as follows:
[0192] [Table 5]
[0193] Here, j represents the RV index (i.e., RV=1, RV=2, and RV=4), and i represents the row of the subblock.
[0194] Therefore, the subblock combinations 910-1, 910-2, and 910-3 shown in Figure 15 correspond to subblock interleaver sets defined using RV indices RV=1, RV=2, and RV=4, respectively (skipping RV index RV=3). However, the subblock interleaver set defined using RV=4 may be reassigned to RV index RV=3 in order to use consecutive RV indices for retransmission.
[0195] The above describes the definition of a group of subblock interleaver sets that can be used to generate vertical check blocks of K RVs, where K is defined as the smallest prime number equal to or greater than the number of information CBs in the TB. However, in some circumstances (e.g., when there is a lot of noise on the radio communication channel), more retransmissions may be required. In some cases, additional retransmissions (i.e., retransmissions made after K retransmissions) can simply reuse the RV index, and as a result, the same subblock interleaver set may be used to generate vertical check blocks for two or more retransmissions (e.g., the same subblock interleaver may be associated with RV indices RV=1 and RV=(K+1), or two different retransmissions may use the same RV index). Such reuse of subblock interleaver sets is considered to be within the scope of this disclosure.
[0196] This disclosure also describes exemplary techniques for defining additional subblock interleaver sets so that there is no reuse of subblock interleaver sets for two or more retransmissions. This may help provide a performance advantage compared to retransmission schemes that reuse subblock interleaver sets.
[0197] The following techniques for defining additional subblock interleaver sets may result in some overlap of columns in different subblock combinations. However, the amount of overlap is expected to be relatively small. Furthermore, even with some column overlap, defining additional subblock interleaver sets using the techniques described later will improve performance compared to reusing subblock interleaver sets.
[0198] In some examples, additional subblock interleaver sets can be defined by increasing the number of subblocks per information CB. For example, if there are five information CBs (i.e., M=5), instead of dividing each information CB into five subblocks, the number of subblocks per information CB may be chosen to be the next highest prime number (K=7). This makes it possible to define seven unique subblock interleaver sets to perform seven retransmissions using seven different RV indices (i.e., without repeating the subblock interleaver set up in seven retransmissions) rather than five retransmissions (which would require two subblock interleaver sets to be reused or one subblock interleaver set to be reused twice). This approach may be used when it is known or expected that more retransmissions will be needed (e.g., when the radio communication channel is known to be noisy).
[0199] In some examples, prime-based cyclic shift techniques may be used first to define a group subblock interleaver set for the RV of a first prime, and then used for the retransmission of the first prime. Then, if additional retransmissions are needed after the retransmission of the first prime has been performed, the number of subblocks per information CB can be increased up to the second prime (e.g., the next largest prime after the first prime) to define additional groups of subblock interleaver sets for the additional retransmissions.
[0200] Figure 16 shows an example where additional retransmissions are performed by using an additional subblock interleaver set that increases the number of subblocks per information CB up to the next largest prime number.
[0201] In this example, there are two information CBs, and therefore, using prime-based cyclic shift techniques, two groups of subblock interleaver sets are defined (i.e., M=K=2). As shown in Figure 16, the first subblock combination 910-1 is used to generate a vertical check block for the first retransmission, and the second subblock combination 910-2 is used to generate a vertical check block for the second retransmission.
[0202] If additional retransmission is required, the number of subblocks per information CB increases up to the next largest prime number. In Figure 16, SB * The notation represents a subblock obtained by dividing each information CB into the next largest prime number subblock (in this case, K=3). The prime number-based cyclic shift technique may then be iterated over an additional group of three subblock interleaver sets, resulting in third, fourth, and fifth subblock combinations 910-3, 910-4, and 910-5, which can be used to generate vertical check blocks for three additional retransmissions.
[0203] In another example, additional subblock interleaver sets may be defined by first defining alternative base subblock combinations that differ from the natural order of subblocks in the initial transmission. In particular, the alternative base subblock combinations are not the result of a cyclic shift of the natural order of subblocks, but rather the result of applying a noncyclic shift shuffle or substitution to subblocks of at least one row.
[0204] For example, you can reverse the order of subblocks in one or more rows to create an alternative base subblock combination.
[0205] In another example, a bit interleaver can be used to shuffle the bits (not subblocks) of one or more rows to create alternative base subblock combinations.
[0206] In another example, the bits of one or more rows may be cyclically shifted by an amount less than the size of the subblock defined by the subblock interleaver set in order to create an alternative base subblock combination (for example, if the subblock interleaver set defines a subblock as having 1024 bits, a cyclic shift of 512 bits may be applied to one or more rows).
[0207] Regardless of the technique used to create the alternative base subblock combination, after the alternative base subblock combination has been created, the aforementioned prime-based cyclic shift technique or dual subblock-based cyclic shift technique may be used to define additional groups of subblock interleaver sets from the alternative base subblock combination. The technique used to create the alternative base subblock combination may be predefined (e.g., defined in a standard) and known to both the sending and receiving nodes.
[0208] Figure 17 illustrates an example where additional retransmissions are performed by rearranging the order of subblocks in one or more rows to create alternative base subblock combinations.
[0209] In this example, there are three information CBs, and therefore, using prime-based cyclic shift techniques, a group of three subblock interleaver sets is defined (i.e., M=K=3). As shown in Figure 17, subblock combinations 910-1 to 910-3 are defined using prime-based cyclic shift techniques and obtained using subblock interleaver sets applied to the natural order of subblocks in the TB. After the first prime retransmission is performed, if additional retransmissions are needed, alternative subblock combinations are created (for example, by swapping two subblocks in a row or by reversing the order of subblocks in a row).
[0210] In the example in Figure 17, an alternative subblock combination 910-4 is created, where the first row is the same as subblock combinations 910-1 to 910-3, and the second and third rows are obtained by applying a noncyclic shift-based subblock interleaver to the corresponding row of subblock combination 910-1. Then, two more subblock combinations 910-5 and 910-6 are obtained by applying another group of subblock interleaver sets (defined, for example, using prime-based cyclic shifts) to the alternative subblock combination 910-4. The additional subblock combinations 910-4 to 910-6 may be used to generate vertical check blocks for three additional retransmissions.
[0211] In this example, the first row of each subblock is left unchanged in all subblock combinations 910-1 to 910-6 so that it can be used as a reference row. However, this is not intended to be restrictive, and any other row may be used as a reference row instead. Note that there are no overlapping columns between subblock combinations 910-1 to 910-3, and no overlapping columns between subblock combinations 910-4 to 910-6. However, it cannot be guaranteed that there are no overlapping columns between all six subblock combinations 910-1 to 910-6.
[0212] Figure 17 shows an example where an additional group of subblock interleaver sets is defined from an alternative base subblock combination using prime-based cyclic shift techniques; however, it should be understood that dual subblock-based cyclic shift techniques may be used instead.
[0213] In various examples, the disclosure has described methods and systems for performing retransmissions using vertical check blocks, wherein the vertical check blocks generated for a given retransmission are generated using subblock interleaver sets associated with the RV index of a given retransmission. Each subblock interleaver set is uniquely associated with its respective RV index (i.e., no subblock interleaver set is associated with more than one RV index). In this way, given that the RV index is known, both the transmitting and receiving nodes can determine the subblock interleaver set to be used for a given retransmission, and only the RV index of a given retransmission needs to be signaled. The disclosed retransmission schemes include feedback-based retransmission schemes and blind retransmission schemes or iterative schemes.
[0214] We have discussed subblock interleaver sets associated with the RV index, but it should be understood that subblock interleaver sets may be associated with some other index or parameter. For example, instead of using the RV index as the basis for determining which subblock interleaver set to use to generate a vertical check block for a given retransmission, an interleaver index or interleaver parameter may be introduced into the signaling and used to uniquely identify the subblock interleaver set (e.g., each subblock interleaver set may be uniquely associated with its respective interleaver index value or interleaver parameter value). The interleaver index or interleaver parameter (or some other index uniquely associated with the subblock interleaver set) is then communicated to the receiving node (in addition to the RV index) to enable the receiving node to identify the subblock interleaver set to be used for a given retransmission. In such an example, the function of the RV index may be the same as in the conventional HARQ retransmission scheme; that is, the RV index may correspond to different starting positions in the circular buffer of channel coding used to generate the vertical check block. Selecting different RV index values corresponds to selecting a different set of coded bits (from the same set of information bits) to generate a vertical check block.
[0215] It should be noted that, as disclosed herein, the design of subblock interleaver sets may still be applicable even if the interleaver index or interleaver parameter (or any other index uniquely associated with the subblock interleaver set) is associated with the subblock interleaver set instead of the RV index. For example, in the formulas described herein, the variable j may represent the interleaver index or interleaver parameter instead of the RV index.
[0216] In an example where the RV index is used to indicate the subblock interleaver set used to generate a vertical check block, the position of the set of coded bits selected from the information bits to generate the VCB (or the start of the circular buffer) can be fixed or predefined.
[0217] This disclosure describes various techniques for defining a group of subblock interleaver sets that can be used for a defined number of RV indices. In particular, this disclosure describes a technique called prime-based cyclic shift, which aims to maximize the usefulness of the information carried in vertical check blocks (and thus maximize the performance of wireless communication systems).
[0218] This disclosure also describes techniques for defining additional group subblock interleaver sets when additional retransmissions are required.
[0219] This disclosure describes methods and processes using steps in a specific order, but one or more steps of a method or process may be omitted or modified as necessary. One or more steps may be performed in an order other than that described, if necessary.
[0220] While this disclosure describes at least in part a method, those skilled in the art will understand that this disclosure also covers various components for performing at least some of the aspects and features of the described method, whether hardware components, software, or any combination of the two. Accordingly, the technical solutions of this disclosure may be embodied in the form of a software product. A suitable software product may be stored on a pre-recorded storage device or other similar non-volatile or non-temporary computer-readable medium, including, for example, a DVD, CD-ROM, USB flash disk, removable hard disk, or other storage medium. The software product includes tangibly stored instructions that enable a processing device (e.g., a personal computer, server, or network device) to perform an example of the method disclosed herein. The machine-executable instructions may be in the form of a code sequence, configuration information, or other data that, when executed, causes a machine (e.g., a processor or other processing device) to perform a step of the method according to the example of this disclosure.
[0221] This disclosure may be embodied in other specific forms without departing from the subject matter of the claims. The exemplary embodiments described should be considered in all respects as illustrative and not limiting. Features selected from one or more of the above embodiments may be combined to produce alternative embodiments not expressly described, and features suitable for such combinations will be understood within the scope of this disclosure.
[0222] All values and partial ranges within the disclosed scope are also disclosed. Furthermore, while the systems, devices, and processes disclosed and illustrated herein may include a certain number of elements / components, those systems, devices, and assemblies may be modified to include additional or fewer such elements / components. For example, while any of the disclosed elements / components may be referred to as singular, embodiments disclosed herein may be modified to include multiple such elements / components. The subject matter described herein is intended to encompass and include all appropriate technological advancements. [Explanation of Symbols]
[0223] 12 transmitting nodes 14 Receiving Nodes 100 Wireless Systems 110 Electronic Devices (ED) 120 Wireless Access Network (RAN) 130 Core Network 140 Public Switched Telephone Network (PSTN) 150 Internet 160 Other Networks 170 Base Station (BS) 190 Uplink (UL) / Downlink (DL) Wireless Interfaces 195 Sidelink (SL) Wireless Interface 201 Processing Unit 202 Communication Interface 204 Antenna 206 Input / Output Devices 208 memory 250 processing units 252 Transmitter 254 Receiver 256 Antenna 258 memory 266 Input / Output Devices or Interfaces 402 Transport Block 404 Information Block 406 Horizontal check block 408 Vertical check block 408-1 Vertical Check Block 1 408-2 Vertical Check Block 2 408-3 Vertical Check Block 3 408-4 Vertical Check Block 4 408-5 Vertical Check Block 5 408-6 Vertical Check Block 6 408-7 Vertical Check Block 7 410 Information CB 410-1 Information CB-1 410-2 Information CB-2 410-3 Information CB-3 410-4 Information CB-4 410-5 Information CB-5 412 subblocks 502 TB 504 Non-systematic codeword 508 Vertical check block 510 Information CB 706 NACK 800 ways 850 method 900 Subblock Interleaver Set 900-1 First subblock interleaver set 900-2 Second subblock interleaver set 900-3 Third subblock interleaver set 910 Subblock Combinations 910-1 First subblock combination 910-2 Second subblock combination 910-3 Third subblock combination 910-4 Fourth subblock combination 910-5 Fifth subblock combination Line 912 Column 914 950 Subblock Interleaver Set Calculation Module
Claims
1. The process includes performing an initial transmission, which involves sending a transport block (TB) containing two or more information code blocks (CBs) to a receiving node, A step of performing a first retransmission to the receiving node, comprising sending at least one check block from a first set of a plurality of check blocks, wherein the at least one check block is generated from at least a portion of each of the two or more information CBs, and the first set of the plurality of check blocks is generated using a first subblock interleaver set associated with a first redundant version (RV) index of the first retransmission, The steps of performing the second retransmission to the receiving node include transmitting at least one check block from a second set of check blocks generated using a second subblock interleaver set associated with the second RV index of the second retransmission; Includes, Each information CB is logically divided into K subblocks, and each of the first set of check blocks and the second set of check blocks has K check blocks. A method wherein each of the first subblock interleaver set and the second subblock interleaver set is defined to apply an amount of cyclic shift to each subblock of information CB, no cyclic shift is applied to information CB that is a reference row of the TB, and the amount of cyclic shift applied to a subblock of another information CB by the second subblock interleaver set is obtained by the vertical cyclic shift of the amount of cyclic shift applied to the corresponding subblock of information CB by the first subblock interleaver set.
2. Before performing the initial transmission, the step of providing the RV index of the initial transmission to the receiving node, The steps include providing the receiving node with the first RV index for the first retransmission and the second RV index for the second retransmission, respectively, before performing the first retransmission and before performing the second retransmission. The method according to claim 1, further comprising:
3. The method according to claim 2, wherein the RV index of the initial transmission, the first RV index of the first retransmission, and the second RV index of the second retransmission are provided together to the receiving node in a control signal or configuration signal before the initial transmission is performed.
4. The feedback from the receiving node indicates whether the receiving node has succeeded in decoding the two or more pieces of information CB. The method described above is The steps include performing the first retransmission after the receiving node determines, based on the absence of received negative response (NACK) feedback or acknowledgment (ACK) feedback, that it failed to successfully decode the two or more information CBs after the initial transmission, The step of performing a second retransmission after the receiving node has determined that it failed to successfully decode the two or more information CBs after the first retransmission, based on the lack of the received NACK feedback or ACK feedback. The method according to claim 1, further comprising:
5. The method according to claim 1, wherein a predetermined number of retransmissions, including the first retransmission and the second retransmission, are performed without requiring any feedback from the receiving node.
6. The first subblock interleaver set comprises a first set of subblock interleavers, each subblock interleaver in the first subblock interleaver set applies a cyclic shift of a certain amount to the subblocks of its respective information CB to obtain a first interleaved subblock combination. The aforementioned second subblock interleaver set comprises a second set of subblock interleavers, each subblock interleaver in the second subblock interleaver set applies a respective amount of cyclic shift to the subblocks of the respective information CB to obtain a second interleaved subblock combination. The method according to claim 1.
7. The first subblock interleaver set is defined based on the first RV index, The second subblock interleaver set is defined based on the second RV index. The method according to claim 1.
8. The method according to claim 1, wherein K is the smallest prime number greater than or equal to the number of pieces of information CB in TB.
9. The method according to claim 1, wherein the first RV index and the second RV index are discontinuous integers.
10. The method according to claim 1, wherein the first subblock interleaver set and the second subblock interleaver set are predefined for the first RV index and the second RV index, respectively.
11. The process includes performing an initial transmission, which involves sending a transport block (TB) containing two or more information code blocks (CBs) to a receiving node, A step of performing a first retransmission to the receiving node, comprising sending at least one check block from a first set of a plurality of check blocks, wherein the at least one check block is generated from at least a portion of each of the two or more information CBs, and the first set of the plurality of check blocks is generated using a first subblock interleaver set associated with a first redundant version (RV) index of the first retransmission, The steps of performing the second retransmission to the receiving node include transmitting at least one check block from a second set of check blocks generated using a second subblock interleaver set associated with the second RV index of the second retransmission; Includes, A first number of retransmissions is performed using a first group of subblock interleaver sets, the first group of subblock interleaver sets interleaves the information CB of the TB by dividing each information CB into a first number of subblocks, the first number of subblocks being a first prime number, A method wherein additional retransmissions are performed using a second group of subblock interleaver sets, the second group of subblock interleaver sets interleaving each information CB by dividing it into a second number of subblocks, the second number of subblocks being a second prime number which is the next largest prime number after the first prime number.
12. The first group of the subblock interleaver set interleaves the information CBs of the TB by applying a cyclic shift to each information CB, The second group of the subblock interleaver set interleaves the information CB by applying a noncyclic shift shuffle to at least one information CB to create an alternative base subblock combination, and further applying a cyclic shift to the alternative base subblock combination. The method according to claim 11.
13. The steps include receiving an initial transmission from a transmitting node, which includes a transport block (TB) containing two or more information code blocks (CBs), A step of receiving a first retransmission from the transmitting node, the first retransmission comprising at least one check block from a first set of multiple check blocks, wherein the at least one check block is generated from at least a portion of each of the two or more information CBs, and the first set of multiple check blocks is generated using a first subblock interleaver set associated with a first redundant version (RV) index of the first retransmission; The steps of receiving the second retransmission from the transmitting node include: Includes, Each information CB is logically divided into K subblocks, and each of the first set of check blocks and the second set of check blocks has K check blocks. A method wherein each of the first subblock interleaver set and the second subblock interleaver set is defined to apply an amount of cyclic shift to each subblock of information CB, no cyclic shift is applied to information CB that is a reference row of the TB, and the amount of cyclic shift applied to a subblock of another information CB by the second subblock interleaver set is obtained by the vertical cyclic shift of the amount of cyclic shift applied to the corresponding subblock of information CB by the first subblock interleaver set.
14. Before receiving the initial transmission, the step of receiving the RV index of the initial transmission, The steps include receiving the first RV index of the first retransmission and the second RV index of the second retransmission, respectively, before receiving the first retransmission and before receiving the second retransmission, The steps include determining the first subblock interleaver set and the second subblock interleaver set, respectively, using the first RV index and the second RV index, and The method according to claim 13, further comprising:
15. The method according to claim 14, wherein the RV index of the initial transmission, the first RV index of the first retransmission, and the second RV index of the second retransmission are received together in a control signal or configuration signal before the initial transmission is received.
16. A step of sending a first indicator to the transmitting node after the initial transmission, indicating that not all of the two or more pieces of information CB have been successfully decoded, wherein the first retransmission is received after the first indicator has been transmitted. A step of sending a second indicator to the transmitting node after the first retransmission, indicating that not all of the two or more pieces of information CB have been successfully decoded, wherein the second retransmission is received after the second indicator has been sent. The method according to claim 13, further comprising:
17. The method according to claim 13, wherein a predetermined number of retransmissions, including the first retransmission and the second retransmission, are scheduled.
18. The method according to claim 13, wherein the first subblock interleaver set and the second subblock interleaver set are predefined for the first RV index and the second RV index, respectively.
19. The steps include receiving an initial transmission from a transmitting node, which includes a transport block (TB) containing two or more information code blocks (CBs), A step of receiving a first retransmission from the transmitting node, the first retransmission comprising at least one check block from a first set of multiple check blocks, wherein the at least one check block is generated from at least a portion of each of the two or more information CBs, and the first set of multiple check blocks is generated using a first subblock interleaver set associated with a first redundant version (RV) index of the first retransmission; The steps of receiving the second retransmission from the transmitting node include: Includes, A first number of retransmissions is performed using a first group of subblock interleaver sets, the first group of subblock interleaver sets interleaves the information CB of the TB by dividing each information CB into a first number of subblocks, the first number of subblocks being a first prime number, A method wherein additional retransmissions are performed using a second group of subblock interleaver sets, the second group of subblock interleaver sets interleaving each information CB by dividing it into a second number of subblocks, the second number of subblocks being a second prime number which is the next largest prime number after the first prime number.
20. An apparatus comprising a processing unit, wherein the processing unit is configured to execute machine-readable instructions to cause the apparatus to perform the method according to any one of claims 1 to 12.
21. An apparatus comprising a processing unit, wherein the processing unit is configured to execute machine-readable instructions to cause the apparatus to perform the method according to any one of claims 13 to 19.
22. A computer-readable medium storing machine-executable instructions, wherein, when executed by a processing unit of a device, the instructions cause the device to perform the method according to any one of claims 1 to 12.
23. A computer-readable medium storing machine-executable instructions, wherein, when executed by a processing unit of a device, the instructions cause the device to perform the method according to any one of claims 13 to 19.