Adaptation of CRC Code Length for 3GPP NR

JP7636469B2Active Publication Date: 2025-02-26TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2023076578
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2017-03-24
Filing Date
2023-05-08
Publication Date
2025-02-26
Estimated Expiration
2038-03-23

Smart Images

  • Figure 0007636469000002
    Figure 0007636469000002
  • Figure 0007636469000003
    Figure 0007636469000003
  • Figure 0007636469000004
    Figure 0007636469000004
Patent Text Reader

Abstract

To provide a method and a wireless transmitter for adapting the length of the cyclic redundancy check (CRC) code in the context of 3GPP NR in which the length of uplink and downlink control information (UCI, DCI) significantly varies.SOLUTION: A method for use in a wireless transmitter comprises: determining an amount of data to transmit; determining a cyclic redundancy check (CRC) polynomial length based on the amount of data to transmit; encoding the data using a CRC of the determined polynomial length; and transmitting the encoded data. The data to transmit may not only comprise control channel data but also user data and may be encoded with a Polar code or a low-density parity check (LDPC) code.SELECTED DRAWING: Figure 2A
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] Particular embodiments are directed to wireless communications, and more particularly to an adaptive length cyclic redundancy check (CRC) for data transmission. [Background technology]

[0002] 3rd Generation Partnership Project (3GPP) Long-Term Evolution (LTE) networks use cyclic redundancy checks (CRCs) for error detection and / or correction. 3GPP New Radio (NR) can use polar codes for downlink and uplink control information (DCI, UCI). For example, enhanced mobile broadband (eMBB) uplink control information can employ polar coding, but not for very small block lengths where repetition / block coding is probably preferred. eMBB downlink control information can employ polar coding, but not for very small block lengths where repetition / block coding is probably preferred.

[0003] The UCI parameters for NR are N max、UCI = 1024. The code design may be optimized for K up to 200, and it supports values ​​of K up to 500 with good performance, which typically uses higher code rates.

[0004] Therefore, the UCI in NR can span a wide range, e.g., from K=1 bit to K=500 bits, which is much larger than the UCI size range in LTE.

[0005] With regard to channel coding, CRC codes are expected to cover the full size range of UCIs for error detection purposes and possibly also for error control purposes. Polar codes are expected to cover the full size range of UCIs for error control purposes.

[0006] The CRC generator polynomial may be selected to be of various types depending on the CRC length and the desired code characteristics. Below are two typical types:

[0007] Type 1 Generator Polynomial: If g(x)=(x+1)b(x), where b(x) is a primitive polynomial of degree L-1, then Natural cord length N CRC1 =2 L-1 -1, info length K CRC1 =N CRC1 -L=2 L-1 -L-1.

[0008] The code has a block length of N≦N CRC1 When used with , it can detect single, double, triple and any odd number of errors.

[0009] Type 2 Generator Polynomial: If g(x) is a primitive polynomial of degree L, then Natural cord length N CRC2 =2 L -1, info length K CRC2 =N CRC2 -L=2 L -L-1.

[0010] The code has a block length of N≦N CRC2 When used in conjunction with , any single-bit or double-bit error can be detected.

[0011] If the block length is greater than the natural code length, a repeated version of the original cyclic code needs to be used, so the minimum distance of the code is 2. However, the number of weight-2 codewords in a repeated CRC code depends on both the natural code length and the degree of the generator polynomial. The longer the natural code length and the higher the degree of the generator polynomial, the fewer the weight-2 codewords will be.

[0012] Table 1 shows the natural code length and info length for a set of CRC lengths L for both type 1 and type 2 generator polynomials. TIFF0007636469000001.tif112170

[0013] A particular problem is that the NR UCI can be much larger than that of the LTE UCI. The size of the NR UCI can be as much as 500 bits or even larger. The existing CRC length of 8 bits, as used for the LTE UCI, is not sufficient for the NR UCI.

[0014] The alternatives described in the introductory section are not necessarily alternatives that have been previously conceived or promoted, and therefore, unless otherwise indicated herein, the alternatives described in the introductory section are not prior art and are not admitted to be prior art by inclusion in the introductory section. Summary of the Invention

[0015] The embodiments described herein include an adaptive length cyclic redundancy check (CRC) to facilitate a wide range of uplink control information (UCI) or downlink control information (DCI) sizes in New Radio (NR).

[0016] According to some embodiments, a method for use in a wireless transmitter comprises determining an amount of data to transmit, determining a cyclic redundancy check (CRC) polynomial length based on the amount of data to transmit, encoding the data using a CRC of the determined polynomial length, and transmitting the encoded data.

[0017] In a particular embodiment, determining a CRC polynomial length based on the amount of data to transmit comprises determining a first CRC polynomial length if the determined amount of data to transmit is less than or equal to a threshold number of bits, and determining a second CRC polynomial length if the determined amount of data to transmit is greater than the threshold number of bits.

[0018] In a particular embodiment, the data to transmit comprises control channel data. The control channel data may comprise uplink control information (UCI) or downlink control information (DCI). Encoding the data using a CRC of the determined polynomial length may comprise encoding the data using a polar code. As one example, the threshold number of bits may be 19 bits, the first CRC polynomial length may be 6, and the second CRC polynomial length may be 11. A portion of the CRC polynomial length may be error correction (LCC). corr ) and another part of the CRC polynomial length may be used for error detection (L det ), where L det is 3.

[0019] In a particular embodiment, the data to transmit comprises user data. The user data may comprise a physical downlink shared channel (PDSCH) or a physical uplink shared channel (PUSCH). Encoding the data using a CRC of the determined polynomial length may comprise encoding the data using a low density parity check (LDPC) code. As one example, the threshold number of bits may be 3824 bits, the first CRC polynomial length may be 16, and the second CRC polynomial length may be 24.

[0020] In a particular embodiment, the method further comprises applying a scaling factor to the determined CRC polynomial length to increase or decrease the determined CRC polynomial length based on an error detection or error correction requirement. The CRC block length of the CRC may be greater than the natural code length of the CRC. The natural code length of the CRC may include a margin over the block length of the CRC.

[0021] According to some embodiments, a wireless transmitter comprises a processing circuit operable to determine an amount of data to transmit, determine a CRC polynomial length based on the amount of data to transmit, encode the data using a CRC of the determined polynomial length, and transmit the encoded data.

[0022] In a particular embodiment, the processing circuitry is operable to determine a CRC polynomial length based on the amount of data to transmit by determining a first CRC polynomial length if the determined amount of data to transmit is less than or equal to a threshold number of bits, and determining a second CRC polynomial length if the determined amount of data to transmit is greater than the threshold number of bits.

[0023] In a particular embodiment, the data to transmit comprises control channel data. The control channel data may comprise UCI or DCI. The processing circuitry may be operable to encode the data using a CRC of a polynomial length determined using a polar code. As one example, the threshold number of bits may be 19 bits, the first CRC polynomial length may be 6, and the second CRC polynomial length may be 11. A portion of the CRC polynomial length may be error correction (L corr ) and another part of the CRC polynomial length may be used for error detection (L det ), where L det is 3.

[0024] In a particular embodiment, the data to transmit comprises user data. The user data may comprise a PDSCH or a PUSCH. The processing circuit may be operable to encode the data using a CRC of a polynomial length determined using an LDPC code. As one example, the threshold number of bits may be 3824 bits, the first CRC polynomial length may be 16, and the second CRC polynomial length may be 24.

[0025] In a particular embodiment, the processing circuitry is further operable to apply a scaling factor to the determined CRC polynomial length to increase or decrease the determined CRC polynomial length based on error detection or error correction requirements. The CRC block length of the CRC may be greater than the natural code length of the CRC. The natural code length of the CRC may include a margin over the block length of the CRC.

[0026] In certain embodiments, the wireless transmitter comprises a network node or a wireless device.

[0027] According to some embodiments, a method for use in a wireless receiver comprises receiving encoded data from a wireless transmitter, determining an amount of data received in the encoded data, determining a CRC polynomial length based on the amount of data, and decoding the received encoded data using a CRC of the determined polynomial length.

[0028] In a particular embodiment, determining a CRC polynomial length based on the amount of received data comprises determining a first CRC polynomial length if the determined amount of received data is less than or equal to a threshold number of bits, and determining a second CRC polynomial length if the determined amount of received data is greater than the threshold number of bits.

[0029] In a particular embodiment, the received data comprises control channel data. The control channel data may comprise UCI or DCI. Decoding the received encoded data using a CRC of the determined polynomial length may comprise decoding the data using a polar code. As one example, the threshold number of bits may be 19 bits, the first CRC polynomial length may be 6, and the second CRC polynomial length may be 11. A portion of the CRC polynomial length may be an error correction (LCC) polynomial. corr ) and another part of the CRC polynomial length may be used for error detection (L det ), where Ldet is 3.

[0030] In a particular embodiment, the received data comprises user data. The user data may comprise a PDSCH or a PUSCH. Decoding the received encoded data using a CRC of the determined polynomial length may comprise decoding the received encoded data using an LDPC code. As one example, a threshold number of bits may be 3824 bits, a first CRC polynomial length may be 16, and a second CRC polynomial length may be 24.

[0031] In a particular embodiment, the method further comprises applying a scaling factor to the determined CRC polynomial length to increase or decrease the determined CRC polynomial length based on an error detection or error correction requirement. The CRC block length of the CRC may be greater than the natural code length of the CRC. The natural code length of the CRC may include a margin over the block length of the CRC.

[0032] In certain embodiments, the wireless receiver comprises a network node or a wireless device.

[0033] According to some embodiments, a wireless receiver includes a processing circuit operable to receive encoded data from a wireless transmitter, determine an amount of data received in the encoded data, determine a CRC polynomial length based on the amount of data, and decode the received encoded data using a CRC of the determined polynomial length.

[0034] In a particular embodiment, the processing circuit is operable to determine a CRC polynomial length based on the amount of received data by determining a first CRC polynomial length if the determined amount of received data is less than or equal to a threshold number of bits, and determining a second CRC polynomial length if the determined amount of received data is greater than the threshold number of bits.

[0035] In a particular embodiment, the received data comprises control channel data. The control channel data may comprise UCI or DCI. The processing circuitry may be operable to decode the received encoded data using a CRC of a polynomial length determined using a polar code. As one example, the threshold number of bits may be 19 bits, the first CRC polynomial length may be 6, and the second CRC polynomial length may be 11. A portion of the CRC polynomial length may be error correction (L corr ) and another part of the CRC polynomial length may be used for error detection (L det ), where L det is 3.

[0036] In a particular embodiment, the received data comprises user data. The user data may comprise a PDSCH or a PUSCH. The processing circuit may be operable to decode the received encoded data using a CRC of a polynomial length determined using an LDPC code. As an example, the threshold number of bits may be 3824 bits, the first CRC polynomial length may be 16, and the second CRC polynomial length may be 24.

[0037] In a particular embodiment, the processing circuitry is further operable to apply a scaling factor to the determined CRC polynomial length to increase or decrease the determined CRC polynomial length based on error detection or error correction requirements. The CRC block length of the CRC may be greater than the natural code length of the CRC. The natural code length of the CRC may include a margin over the block length of the CRC.

[0038] In certain embodiments, the wireless transmitter comprises a network node or a wireless device.

[0039] According to some embodiments, a wireless transmitter comprises a determination module, an encoding / decoding module, and a transmission module. The determination module is operable to determine an amount of data to transmit and to determine a CRC polynomial length based on the amount of data to transmit. The encoding / decoding module is operable to encode the data using a CRC of the determined polynomial length. The transmission module is operable to transmit the encoded data.

[0040] According to some embodiments, a wireless receiver comprises a determination module, an encoding / decoding module, and a receiving module. The receiving module is operable to receive encoded data from a wireless transmitter. The determination module is operable to determine an amount of data received in the encoded data and to determine a CRC polynomial length based on the amount of data. The encoding / decoding module is operable to decode the received encoded data using a CRC of the determined polynomial length.

[0041] Also disclosed is a computer program product comprising instructions stored on a non-transitory computer-readable medium that, when executed by a processor, performs the steps of determining an amount of data to transmit, determining a CRC polynomial length based on the amount of data to transmit, encoding the data using a CRC of the determined polynomial length, and transmitting the encoded data.

[0042] Another computer program product comprises instructions stored on a non-transitory computer-readable medium that, when executed by a processor, perform the steps of receiving encoded data from a wireless transmitter, determining an amount of data received in the encoded data, determining a CRC polynomial length based on the amount of data, and decoding the received encoded data using a CRC of the determined polynomial length.

[0043] Certain implementations may offer some of the following technical advantages: In certain embodiments, adapting the CRC size retains good error detection capability while using a moderately sized CRC overhead. Alternatively, various levels of error detection capability may be supported by adapting the CRC size to the application at hand. Other technical advantages will be readily apparent to those skilled in the art from the following figures, description, and exemplary claims.

[0044] For a more complete understanding of the embodiments and their features and advantages, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which: [Brief description of the drawings]

[0045] [Figure 1] 1 is a block diagram illustrating an example wireless network, according to some embodiments. [Figure 2A] 4 is a flow diagram illustrating an example method for use in a wireless transmitter in accordance with some embodiments. [Figure 2B] 4 is a flow diagram illustrating an example method for use in a wireless receiver, according to some embodiments. [Figure 3A] 1 is a block diagram illustrating an example embodiment of a wireless device. [Figure 3B] 2 is a block diagram illustrating example components of a wireless device. [Figure 4A] FIG. 2 is a block diagram illustrating an example embodiment of a network node. [Figure 4B] FIG. 2 is a block diagram illustrating example components of a network node. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0046] 3rd Generation Partnership Project (3GPP) Long-Term Evolution (LTE) networks use cyclic redundancy checks (CRCs) for error detection and / or correction. 3GPP New Radio (NR) can use polar codes for downlink and uplink control information (DCI, UCI). For example, enhanced mobile broadband (eMBB) UCI ​​and DCI can employ polar coding, but not for very small block lengths where repetition or block coding is probably preferred.

[0047] The NR code design may be optimized for K up to 200, and further supports values ​​of K up to 500 with good performance that typically uses higher code rates. Thus, the NR UCI can span a wide range, e.g., from K=1 bit to K=500 bits, which is larger than the UCI size range in LTE.

[0048] With regard to channel coding, CRC codes are expected to cover the full size range of UCIs for error detection and possibly also for error control. Polar codes are expected to cover the full size range of UCIs for error control purposes.

[0049] A particular problem is that the NR UCI can be much larger than that of the LTE UCI. The size of the NR UCI can be as much as 500 bits or even larger. The existing CRC length of 8 bits, as used for the LTE UCI, is not sufficient for the NR UCI.

[0050] Certain embodiments include an adaptive length CRC to obviate the problems described above and facilitate a wide range of UCI or DCI sizes in NR. In certain embodiments, adapting the CRC size retains good error detection capability while using a moderately sized CRC overhead. Alternatively, different levels of error detection capability may be supported by adapting the CRC size to the application at hand.

[0051] The following description sets forth numerous specific details. However, it should be understood that the embodiments may be practiced without those specific details. In other instances, well-known circuits, structures, and techniques have not been shown in detail so as not to obscure the understanding of this description. Those skilled in the art will be able to implement the appropriate functionality without undue experimentation using the included description.

[0052] References herein to "one embodiment," "an embodiment," "an example embodiment," and the like indicate that the embodiment being described may include a particular feature, structure, or characteristic, but not all embodiments necessarily include the particular feature, structure, or characteristic. Moreover, such phrases do not necessarily refer to the same embodiment. Furthermore, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that one of ordinary skill in the art will know how to implement such feature, structure, or characteristic in connection with other embodiments, whether or not explicitly described.

[0053] Particular embodiments are described with reference to Figures 1 through 4B of the drawings, where like numbers are used for like and corresponding parts of the various drawings. Although LET and NR are used throughout this disclosure as example cellular systems, the concepts presented herein may be applied to other wireless communication systems as well.

[0054] 1 is a block diagram illustrating an example wireless network, according to a particular embodiment. The wireless network 100 includes one or more wireless devices 110 (such as mobile phones, smartphones, laptop computers, tablet computers, MTC devices, or any other devices capable of providing wireless communication) and multiple network nodes 120 (such as base stations or eNodeBs). The wireless devices 110 may also be referred to as UEs. The network nodes 120 serve coverage areas 115 (also referred to as cells 115).

[0055] In general, a wireless device 110 that is within the coverage of a network node 120 (e.g., within a cell 115 served by the network node 120) communicates with the network node 120 by transmitting and receiving wireless signals 130. For example, the wireless device 110 and the network node 120 may communicate wireless signals 130 that include voice traffic, data traffic, and / or control signals. A network node 120 that communicates the voice traffic, data traffic, and / or control signals to the wireless device 110 may be referred to as a serving network node 120 of the wireless device 110. Communications between the wireless device 110 and the network node 120 may be referred to as cellular communications.

[0056] The wireless signals 130 may include both downlink transmissions (from the network node 120 to the wireless device 110) and uplink transmissions (from the wireless device 110 to the network node 120). The wireless signals 130 may include control channels and user data channels. The wireless signals 130 may include a CRC for error detection and / or correction.

[0057] Each network node 120 may have a single transmitter or multiple transmitters for transmitting signals 130 to the wireless devices 110. In some embodiments, the network nodes 120 may comprise a multiple-input multiple-output (MIMO) system. Similarly, each wireless device 110 may have a single receiver or multiple receivers for receiving signals 130 from the network nodes 120 or other wireless devices 110.

[0058] A wireless transmitter, such as a network node 120 or a wireless device 110, may transmit a wireless signal 130 encoded with a CRC of various lengths depending on the amount of data to be transmitted. In some embodiments, the wireless transmitter may apply a scaling factor when determining the CRC length.

[0059] A wireless receiver, such as the network node 120 or the wireless device 110, may receive a wireless signal 130 encoded with a CRC of various lengths depending on the amount of data being received. In some embodiments, the wireless receiver may apply a scaling factor when determining the CRC length.

[0060] In wireless network 100, each network node 120 may use any suitable radio access technology, such as Long-Term Evolution (LTE), LTE-Advanced, NR, UMTS, HSPA, GSM, cdma2000, NR, WiMax, WiFi, and / or other suitable radio access technologies. Wireless network 100 may include any suitable combination of one or more radio access technologies. For purposes of illustration, various embodiments may be described within the context of a particular radio access technology. However, the scope of the disclosure is not limited to this illustration and other embodiments may use various radio access technologies.

[0061] As described above, an embodiment of a wireless network may include one or more wireless devices and one or more various types of wireless network nodes that may communicate with the wireless devices. The network may also further include any additional elements suitable for supporting communication between wireless devices or between a wireless device and another communication device (such as a landline phone). Similarly, a network node may include any suitable combination of hardware and / or software. For example, in a particular embodiment, a wireless device, such as wireless device 110, may include the components described with respect to FIG. 4A below. A wireless device may include any suitable combination of hardware and / or software. For example, in a particular embodiment, a network node, such as network node 120, may include the components described with respect to FIG. 5A below.

[0062] In NR systems, the UCI size K is expected to cover a much larger range than the UCI in LTE. The minimum size is K min = 1, and the maximum size K max can be as high as 500 bits, or even higher for NR Release 15.

[0063] K max The exact value of may evolve as NR systems evolve. For example, if a future NR release adopts a larger number of component carriers, the UCI size may increase. In another example, if a UE monitors and reports a larger number of MIMO layers or beams as part of a channel state information (CSI) report, the UCI size may increase.

[0064] Therefore, according to some embodiments, it is desirable for the CRC length to match the UCI size it protects: for larger UCI sizes, a longer CRC is used, and for shorter UCIs, a shorter UCI is used.

[0065] The first group of embodiments uses the CRC vector for error detection only. These embodiments are based on the assumption that the natural length of the CRC is (K CRC1、L1 , N CRC1、L1 ), which corresponds to a CRC length of L1 for CRC size type 1. Type 1 denotes a CRC with g(x) = (x + 1) b(x), where b(x) is a primitive polynomial of degree L-1, which corresponds to a natural code length of N CRC1 =2 L-1 -1. Although a Type 1 CRC generator polynomial is assumed in the examples, it will be understood by those skilled in the art that Type 2 and other types of CRC generator polynomials may be used instead and the same methodology applies.

[0066] In these embodiments, the CRC vector is used only for error detection and not for error correction, which is the case, for example, when the UCI is protected by a PC-Polar code.

[0067] For the first group of UCIs, the maximum UCI size is K UCI、1、max And K UCI、1、max <=K CRC1、L1 Let K CRC1、L1 is preferably K UCI、1、max Above K CRC1 The smallest value in the list. Then, a CRC of length L1 is used for the first population of UCIs. For example, the first population is UCI、1、max <= 100 bits. Then, by looking up Table 1, K CRC1、L1 is K CRC1、L1 = 119, and a CRC vector of length L1 = 8 bits is used.

[0068] For the second group of UCIs, the maximum UCI size is K UCI、2、max And K UCI、1、max <K UCI、2、max <=K CRC1、L2 Let K CRC1、L2 is preferably K UCI、2、max Above K CRC1The minimum value in the list. Then, a CRC of length L2 is used for the second population of UCIs, where L2>L1. For example, the second population is UCI、2、max <=2000 bits. Then, by looking up Table 1, K CRC1、L2 is K CRC1、L2 = 2035, and a CRC of length L2 = 12 bits is used. If there are more UCI populations, the same procedure may be performed.

[0069] A second group of embodiments uses a CRC vector for both error correction and error detection. These embodiments also assume that the natural length of the CRC is (K CRC1、L1 , N CRC1、L1 ), which corresponds to the CRC length L1 for CRC size type 1. The CRC vector is used for both error correction and error detection. For example, this is the case when the UCI is protected by a CRC-aided polar code. L corr The equivalent of CRC bits is required for error correction, L det Assume that the equivalent of CRC bits is required for error detection. For better code performance, a single CRC is preferable instead of two separate CRCs. Length >= (L corr +L det ) CRC vectors are used, so that degree >= (L corr +L det ) CRC polynomial is used.

[0070] For the first group of UCIs, the maximum UCI size is K UCI、1、max And K UCI、1、max <=K CRC1、L1 Let K CRC1、L1 is preferably K UCI、1、max Above K CRC1 The smallest value in the list. Then, the length max(L1, L corr +L det ) CRC is used for the first group of UCI. For example, the first group is K UCI、1、max <= 100 bits. Then, by looking up Table 1, K CRC1、L1is L1=8 bits and K CRC1、L1 = 119, and the length is maximum (8, L corr +L det ) CRC vector is used.

[0071] For the second group of UCIs, the maximum UCI size is K UCI、2、max And K UCI、1、max <K UCI、2、max <=K CRC1、L2 Let K CRC1、L2 is preferably K UCI、2、max Above K CRC1 The smallest value in the list. Then, the length max(L2, L corr +L det ) is used for the second population of UCIs. For example, the second population is UCI、2、max <=2000 bits. Then, by looking up Table 1, K CRC1、L2 is L2=12 bits and K CRC1、L2 = 2035, and the length max(12, L corr +L det ) CRC vector is used. If there are more UCI populations, the same procedure may be performed.

[0072] The third group of embodiments uses a CRC block length that is larger than the natural code length. Using a CRC with a code length equal to or smaller than the natural code length of the CRC ensures good error detection capability of the CRC code. However, in some situations, a long code length is used, but the requirements for the error detection capability of the CRC code may be relaxed. In such cases, the adaptive CRC length may be selected to be slightly smaller than the CRC length required to avoid repetition of the CRC code.

[0073] For the first group of UCIs, the maximum UCI size is K UCI、1、max And K UCI、1、max F<=K CRC1、L1Then, the CRC of length L1 is used for the first group of UCIs. F is a multiplication factor 0 < F <= 1 that should take into account the required error detection characteristics of the resulting CRC code. For example, the first group has K UCI、1、max <= 100 bits, and a multiplication factor F = 0.5. Then, by examining Table 1, a K CRC1、L1 = 56 can be found such that 100 * 0.5 < 56 is satisfied. Thus, L1 = 7, and a CRC vector of length 7 is used.

[0074] For the second group of UCIs, the maximum UCI size is K UCI、2、max and K UCI、2、max · F <= K CRC1、L2 Then, the CRC of length L2 is used for the second group of UCIs. For example, the second group has K UCI、2、max <= 2000 bits, and a multiplication factor F = 0.5. Then, by examining Table 1, a K CRC1、L2 = 1012 can be found such that 2000 * 0.5 < 1012 is satisfied. Thus, L2 = 11, and a CRC vector of length 11 is used. If there are more groups of UCIs, the same procedure may be performed.

[0075] The fourth group of embodiments uses a CRC with a natural code length that provides a variable margin across the block length. This may be applicable when different amounts of error detection capabilities are required for the same block length. To facilitate different amounts of error detection capabilities, a special margin is placed on the difference between the natural code length and the block length.

[0076] For the first group of UCIs, the maximum UCI size is K UCI、1、max and K UCI、1、max <= K CRC1、L1 and K CRC1、L1 is preferably K UCI、1、max or more. CRC1The smallest value in the list. Then, a CRC of length (L1+d1) is used for the first population of UCIs, where d1 is an integer that serves as a knob to adjust the specific error detection capabilities of the resulting CRC code depending on the application. For example, the first population is UCI、1、max With a margin of <=100 bits, and d1=2, then L1=7 is found by looking up Table 1. L1+d1=7+2=9, and a CRC vector of length 9 is used.

[0077] For the second group of UCIs, the maximum UCI size is K UCI、2、max And K UCI、1、max <K UCI、2、max <=K CRC2、L2 And K CRC1、L2 is preferably K UCI、2、max Above K CRC1 The smallest value in the list. A CRC of length (L+d) is then used for the second population of UCIs, where d is an integer that serves as a knob to adjust the special error detection capabilities of the resulting CRC code for the second population of UCIs. For example, the second population may be UCI、2、max With a margin of <=2000 bits, and d2=1, then L2=12 is found by looking up Table 1. L2+d2=12+1=13, and a CRC vector of length 13 is used.

[0078] In general, the margins d1 and d2 may or may not be independent of the size of the UCI. If there is a larger population of UCIs, the same procedure may be performed.

[0079] The allocation of UCI to various constellations may be according to various system parameters and settings, including, but not limited to, (a) the number of component carriers in the carrier aggregation, (b) the number of MIMO layers for which the UE is configured to report channel state information, (c) the number of beams for which the UE is configured to report channel state information, and (d) the number of bits in the CSI field according to the quantization level of the reported value.

[0080] Although the above description uses UCI as an example, the same method may be applied to other types of information transmission, such as downlink data packets, uplink data packets other than control information, for example, downlink control information (DCI) instead of UCI, and the related error control coding method may include other code types, such as LDPC codes instead of polar codes.

[0081] Particular embodiments may include methods in a wireless transmitter and a wireless receiver, such as a network node or a wireless device. The examples and embodiments described above may be generally represented by flow diagrams in FIG. 2A and FIG. 2B.

[0082] 2A is a flow diagram illustrating an example method for use in a wireless transmitter according to some embodiments. In certain embodiments, one or more steps of FIG. 2A may be performed by components of the wireless network 100 described with respect to FIG.

[0083] The method begins at step 212, where a wireless transmitter determines an amount of data to transmit. For example, the network node 120 or the wireless device 110 may determine that it has 100 bits of data to transmit. In some embodiments, the data to transmit may include control information, such as uplink control information or downlink control information. In some embodiments, the data to transmit may include user data, such as a PDSCH or a PUSCH.

[0084] In step 214, the wireless transmitter determines the CRC length based on the amount of data to transmit. For example, the network node 120 or the wireless device 110 may perform a table lookup of a CRC length value that is associated with a minimum amount of data that is greater than or equal to the determined amount of data to transmit.

[0085] In a particular embodiment, when the amount of data to transmit is equal to or less than a threshold number of bits, the wireless transmitter determines a first CRC polynomial length. For example, to transmit control channel data (e.g., DCI, UCI, etc.), the threshold may be 19 bits. For a number of control channel bits equal to or less than 19 bits, the wireless transmitter may determine a CRC polynomial length of 6. For a number of control channel bits greater than 19 bits, the wireless transmitter may determine a CRC polynomial length of 11. A portion of the CRC polynomial length may be used for error correction (e.g., 3 or 9 bits) and a portion may be used for error detection (e.g., 3 bits).

[0086] As another example, for transmitting user data (e.g., PDSCH, PUSCH, etc.), the threshold may be 3824 bits. For a number of user data bits equal to or less than 3824 bits, the wireless transmitter may determine a CRC polynomial length of 16. For a number of user data bits greater than 3824 bits, the wireless transmitter may determine a CRC polynomial length of 24. Other embodiments may select any suitable threshold and any suitable CRC polynomial length.

[0087] In some embodiments, the wireless transmitter may apply a scaling factor, such as those described above with respect to the third and fourth groups of embodiments. The CRC block length of the CRC may be greater than the natural code length of the CRC, or the natural code length of the CRC may include a margin spanning the block length of the CRC.

[0088] In step 216, the wireless transmitter encoded the data using a CRC of the determined length. For example, the network node 120 or the wireless device 110 may encode the data using an 8-bit CRC or a 12-bit CRC depending on the amount of data to transmit and the value of the look-up table. The wireless transmitter may encode the control channel data using a polar code and the user data using an LDPC code.

[0089] The wireless transmitter transmits the encoded data in step 218. For example, the network node 120 may transmit the encoded data to the wireless device 110 or vice versa.

[0090] Modifications, additions, or omissions may be made to method 200. In addition, one or more steps in method 200 of Figure 2A may be performed in parallel or in any suitable order. Steps of method 200 may be repeated over time as necessary.

[0091] 2B is a flow diagram illustrating an example method for use in a wireless receiver according to some embodiments. In certain embodiments, one or more steps of FIG. 2B may be performed by components of the wireless network 100 described with respect to FIG.

[0092] The method begins at step 252, where a wireless receiver receives encoded data from a wireless transmitter. For example, the network node 120 may receive encoded data from the wireless device 110, or vice versa.

[0093] In step 254, the wireless receiver determines the amount of data received in the encoded data. For example, the network node 120 or the wireless device 110 may determine that it has 100 bits of received data. In some embodiments, the received data may include control information, such as uplink control information or downlink control information. In some embodiments, the received data may include user data, such as a PDSCH or a PUSCH.

[0094] In step 256, the wireless receiver determines the CRC length based on the amount of data received. For example, the network node 120 or the wireless device 110 may perform a table lookup of a CRC length value associated with a minimum amount of data that is greater than or equal to the determined amount of data received.

[0095] In a particular embodiment, if the amount of data received is equal to or less than a threshold number of bits, the wireless receiver determines a first CRC polynomial length. For example, to receive control channel data (e.g., DCI, UCI, etc.), the threshold may be 19 bits. For a number of control channel bits equal to or less than 19 bits, the wireless receiver may determine a CRC polynomial length of 6. For a number of control channel bits greater than 19 bits, the wireless receiver may determine a CRC polynomial length of 11. A portion of the CRC polynomial length may be used for error correction (e.g., 3 or 9 bits) and a portion may be used for error detection (e.g., 3 bits).

[0096] As another example, to receive user data (e.g., PDSCH, PUSCH, etc.), the threshold may be 3824 bits. For a number of user data bits equal to or less than 3824 bits, the wireless receiver may determine a CRC polynomial length of 16. For a number of user data bits greater than 3824 bits, the wireless receiver may determine a CRC polynomial length of 24. Other embodiments may select any suitable threshold and any suitable CRC polynomial length.

[0097] In some embodiments, the wireless receiver may apply a scaling factor, such as those described above with respect to the third and fourth groups of embodiments. The CRC block length of the CRC may be greater than the natural code length of the CRC, or the natural code length of the CRC may include a margin spanning the block length of the CRC.

[0098] In step 258, the wireless receiver decodes the data using the determined length CRC. For example, the network node 120 or the wireless device 110 may decode the data using an 8-bit CRC or a 12-bit CRC depending on the amount of data received and the value of the look-up table. The wireless receiver may decode the control channel data using a polar code and the user data using an LDPC code.

[0099] Modifications, additions, or omissions may be made to method 250. In addition, one or more steps in method 250 of FIG. 2B may be performed in parallel or in any suitable order. Steps of method 250 may be repeated over time as necessary.

[0100] 3A is a block diagram illustrating an example embodiment of a wireless device. The wireless device is an example of wireless device 110 shown in FIG 1. In a particular embodiment, the wireless device can determine the CRC length based on the amount of data to transmit or receive.

[0101] Specific examples of wireless devices include mobile phones, smartphones, PDAs (personal digital assistants), portable computers (e.g., laptops, tablets), sensors, modems, machine type communication (MTC) devices / machine to machine (M2M) devices, laptop embedded equipment (LEE), laptop mounted equipment (LME), USB dongles, device to device enabled devices, vehicle to vehicle devices, or any other device capable of providing wireless communication. The wireless device includes a transceiver 310, a processing circuit 320, a memory 330, and a power supply 340. In some embodiments, the transceiver 310 facilitates transmitting and receiving wireless signals to and from the radio network node 120 (e.g., via an antenna), the processing circuit 320 executes instructions for providing some or all of the functionality described herein as provided by the wireless device, and the memory 330 stores instructions executed by the processing circuit 320. The power supply 340 provides power to one or more of the components of the wireless device 110, such as the transceiver 310, the processing circuit 320, and / or the memory 330.

[0102] The processing circuitry 320 includes any suitable combination of hardware and software embodied in one or more integrated circuits or modules to execute instructions and manipulate data to perform some or all of the described functions of the wireless device. In some embodiments, the processing circuitry 320 may include, for example, one or more computers, one or more programmable logic devices, one or more central processing units (CPUs), one or more microprocessors, one or more applications, and / or other logic, and / or any suitable combination thereof. The processing circuitry 320 may include analog and / or digital circuitry configured to perform some or all of the described functions of the wireless device 110. For example, the processing circuitry 320 may include resistors, capacitors, inductors, transistors, diodes, and / or any other suitable circuit components.

[0103] The memory 330 is generally operable to store computer-executable code and data. Examples of the memory 330 include computer memory (e.g., random access memory (RAM) or read-only memory (ROM)), mass storage media (e.g., hard disks), removable storage media (e.g., compact discs (CDs) or digital video discs (DVDs)), and / or any other volatile or non-volatile, non-transitory computer-readable and / or computer-executable memory devices that store information.

[0104] The power supply 340 is generally operable to provide power to the components of the wireless device 110. The power supply 340 may include any suitable type of battery, such as a lithium ion, lithium air, lithium polymer, nickel cadmium, nickel metal hydride, or any other suitable type of battery for powering a wireless device.

[0105] In a particular embodiment, the processing circuit 320 is in communication with the transceiver 310 to determine the CRC length based on the amount of data to be transmitted or received.

[0106] Other embodiments of the wireless device may include additional components (other than those shown in FIG. 3A ) responsible for providing particular aspects of the functionality of the wireless device, including any of the functionality described above and / or any additional functionality (including any functionality necessary to support the solutions described above).

[0107] 3B is a block diagram illustrating example components of the wireless device 110. The components may include a determining module 350, an encoding / decoding module 352, a transmitting module 354, and a receiving module 356.

[0108] The determination module 350 may perform the determination functions of the wireless device 110. For example, the determination module 350 may determine the amount of data to transmit or receive based on the amount of data and the CRC length according to any of the embodiments and examples described above. In a particular embodiment, the determination module 350 may include or be included in the processing circuit 320. In a particular embodiment, the determination module 350 may communicate with the encoding / decoding module 352, the transmitting module 354, and the receiving module 356.

[0109] The encoding / decoding module 352 may perform encoding and / or decoding functions of the wireless device 110. For example, the encoding / decoding module 352 may encode or decode a data transmission with an adaptive length CRC according to any of the embodiments and examples described above. In a particular embodiment, the encoding / decoding module 352 may include or be included in the processing circuit 320. In a particular embodiment, the encoding / decoding module 352 may be in communication with the determination module 350, the transmitting module 354, and the receiving module 356.

[0110] The transmitting module 354 may perform transmitting functions of the wireless device 110. For example, the transmitting module 354 may transmit adaptive length CRC encoded data. In a particular embodiment, the transmitting module 354 may include or be included in the processing circuit 320. In a particular embodiment, the transmitting module 354 may be in communication with the determining module 350 and the encoding / decoding module 352.

[0111] The receiving module 356 may perform receiving functions of the wireless device 110. For example, the receiving module 356 may receive adaptive length CRC encoded data. In a particular embodiment, the receiving module 356 may include or be included in the processing circuit 320. In a particular embodiment, the receiving module 356 may be in communication with the determination module 350 and the encoding / decoding module 352.

[0112] 4A is a block diagram illustrating an example embodiment of a network node. The network node is an example of network node 120 shown in FIG 1. In a particular embodiment, the network node determines the CRC length based on the amount of data to be transmitted or received.

[0113] The network node 120 may be an eNodeB, a NodeB, a base station, a wireless access point (e.g., a Wi-Fi access point), a low power node, a base station (BTS), a transmission point or node, a remote RF unit (RRU), a remote radio head (RRH), or other wireless access node. The network node includes at least one transceiver 410, a processing circuit 420, at least one memory 430, and at least one network interface 440. The transceiver 410 facilitates transmitting and receiving wireless signals (e.g., via an antenna) to and from a wireless device, such as the wireless device 110, the processing circuit 420 executes instructions for providing some or all of the functionality described above as provided by the network node 120, the memory 430 stores instructions executed by the processing circuit 420, and the network interface 440 communicates signals to back-end network components, such as gateways, switches, routers, the Internet, a public switched telephone network (PSTN), a controller, and / or other network nodes 120. The processing circuitry 420 and memory 430 may be of the same type as described with respect to the processing circuitry 320 and memory 330 of FIG. 3A above.

[0114] In some embodiments, network interface 440 represents any suitable device that is communicatively coupled to processing circuitry 420 and operable to receive input from network node 120, transmit output from network node 120, perform appropriate processing of the input or output or both, communicate with other devices, or any combination of the foregoing. Network interface 440 includes appropriate hardware (e.g., ports, modems, network interface cards, etc.) and software, including protocol conversion and data processing capabilities, to communicate over a network.

[0115] In a particular embodiment, the processing circuit 420 is in communication with the transceiver 410 to determine the CRC length based on the amount of data to be transmitted or received.

[0116] Other embodiments of network node 120 include additional components (other than those shown in FIG. 4A ) responsible for providing particular aspects of the network node's functionality, including any of the functionality described above and / or additional functionality (including any functionality necessary to support the solutions described above). The various types of network nodes may include components that have the same physical hardware but are configured (e.g., by programming) to support different radio access technologies, or may represent partially or wholly different physical components.

[0117] 4B is a block diagram illustrating example components of the network node 120. The components may include a decision module 450, an encoding / decoding module 452, a transmitting module 454, and a receiving module 456.

[0118] The determination module 450 may perform the determination functions of the network node 120. For example, the determination module 450 may determine the amount of data to transmit or receive based on the amount of data and the CRC length according to any of the embodiments and examples described above. In certain embodiments, the determination module 450 may include or be included in the processing circuit 420. In certain embodiments, the determination module 450 may communicate with the encoding / decoding module 452, the transmitting module 454, and the receiving module 456.

[0119] The encoding / decoding module 452 may perform encoding and / or decoding functions of the network node 120. For example, the encoding / decoding module 452 may encode or decode a data transmission with an adaptive length CRC according to any of the embodiments or examples described above. In certain embodiments, the encoding / decoding module 452 may include or be included in the processing circuit 420. In certain embodiments, the encoding / decoding module 452 may be in communication with the determination module 450, the transmitting module 454, and the receiving module 456.

[0120] The transmitting module 454 may perform the transmitting functions of the network node 120. For example, the transmitting module 454 may transmit adaptive length CRC encoded data. In particular embodiments, the transmitting module 454 may include or be included in the processing circuit 420. In particular embodiments, the transmitting module 454 may be in communication with the determining module 450 and the encoding / decoding module 452.

[0121] The receiving module 456 may perform receiving functions of the network node 120. For example, the receiving module 456 may receive adaptive length CRC encoded data. In particular embodiments, the receiving module 456 may include or be included in the processing circuit 420. In particular embodiments, the receiving module 456 may be in communication with the determination module 450 and the encoding / decoding module 452.

[0122] Modifications, additions, or omissions may be made to the systems and devices disclosed herein without departing from the scope of the disclosure. Components of the systems and devices may be integrated or separated. Further, operations of the systems and devices may be performed by more, fewer, or other components. In addition, operations of the systems and devices may be performed using any suitable logic comprising software, hardware, and / or other logic. As used in this document, "each" refers to each configuration element of a set, or each configuration element of a subset of a set.

[0123] Modifications, additions, or omissions may be made to the methods disclosed herein without departing from the scope of the invention. Methods may include more, fewer, or other steps. In addition, steps may be performed in any suitable order.

[0124] Although the present disclosure has been described with respect to specific embodiments, modifications and substitutions of the embodiments will be apparent to those skilled in the art. Therefore, the above description of the embodiments does not limit the present disclosure. Other changes, substitutions, and alterations are possible without departing from the spirit and scope of the present disclosure, as defined by the following claims.

[0125] Abbreviations used in the preceding description include the following: 3GPP 3rd Generation Partnership Project BTS base station CRC Cyclic Redundancy Check CSI Channel State Information CSI-RS Channel State Information Reference Signal D2D Device to Device DCI Downlink Control Information DL Downlink DMRS Demodulation Reference Signal eMBB Enhanced Mobile Broadband eNB eNodeB FDD Frequency Division Duplex LDPC Low Density Parity Check LTE Long Term Evolution (LTE) M2M Machine to Machine MIMO Multiple Input Multiple Output MTC Machine Type Communication NR New Radio OFDM Orthogonal Frequency Division Multiplexing PDCCH Physical Downlink Control Channel PDSCH Physical Downlink Shared Channel PUCCH Physical Uplink Control Channel PUSCH Physical Uplink Shared Channel RAN Radio Access Network RAR Random Access Response RAT Radio Access Technology RBS Radio Base Station RNC Radio Network Controller RRC Radio Resource Control RRH Remote Radio Head RRU Remote Radio Unit RS reference signal UCI Uplink Control Information UE User Equipment UL Uplink UTRAN Universal Terrestrial Radio Access Network WAN Radio Access Network

Claims

1. 1. A method for use in a wireless transmitter for transmitting data using Third Generation Partnership Project (3GPP) New Radio (NR), comprising: determining an amount of data to transmit using 3GPP NR and at least one of a polar encoder and a low density parity check (LDPC) encoder; determining a cyclic redundancy check (CRC) length based on the amount of data to be transmitted, the determining of the CRC length comprising: If the determined amount of data to be transmitted is equal to or less than 3824 bits, determining the CRC length to be 16; if the determined amount of data to transmit is greater than 3824 bits, determining the CRC length to be 24; encoding the data using a CRC of the determined length; and transmitting the encoded data using 3GPP NR.

2. The method of claim 1 , wherein encoding the data using the CRC of the determined length comprises encoding the data using a polar code.

3. A part of the CRC length is an error correction (L corr ) and another part of the CRC length is used for error detection (L det ), where L det The method of claim 1 , wherein:

4. 2. The method of claim 1, wherein encoding the data using the CRC of the determined length comprises encoding the data using a low density parity check (LDPC) code.

5. 1. A wireless transmitter operable to transmit data using a Third Generation Partnership Project (3GPP) New Radio (NR), the wireless transmitter comprising: a processing circuit, the processing circuit comprising: determining an amount of data to transmit using 3GPP NR and at least one of a polar encoder and a low density parity check (LDPC) encoder; determining a cyclic redundancy check (CRC) length based on the amount of data to be transmitted, the determining of the CRC length comprising: If the determined amount of data to be transmitted is equal to or less than 3824 bits, determining the CRC length to be 16; if the determined amount of data to transmit is greater than 3824 bits, determining the CRC length to be 24; encoding the data using the CRC of the determined length; and transmitting the encoded data using 3GPP NR.

6. The wireless transmitter of claim 5 , wherein the processing circuitry is operable to encode the data using the CRC of the determined length using a polar code.

7. A part of the CRC length is an error correction (L corr ) and another part of the CRC length is used for error detection (L det ), where L det 6. The wireless transmitter of claim 5, wherein:

8. 6. The wireless transmitter of claim 5, wherein the processing circuitry is operable to encode the data using the CRC of the determined length using a Low Density Parity Check (LDPC) code.

9. 1. A method for use in a wireless receiver for receiving data using Third Generation Partnership Project (3GPP) New Radio (NR), comprising: receiving polar-encoded or low-density parity check (LDPC) encoded data from a wireless transmitter using 3GPP NR; determining an amount of data received in the encoded data; and determining a cyclic redundancy check (CRC) length based on the amount of data, the determining of the CRC length comprising: if the determined amount of received data is less than or equal to 3824 bits, determining the CRC length to be 16; if the determined amount of received data is greater than 3824 bits, determining the CRC length to be 24; and and decoding the received encoded data using a CRC of the determined length.

10. 10. The method of claim 9, wherein decoding the received encoded data using the CRC of the determined length comprises decoding the data using a polar code.

11. A part of the CRC length is an error correction (L corr ) and another part of the CRC length is used for error detection (L det ), where L det The method of claim 9 , wherein:

12. 10. The method of claim 9, wherein decoding the received encoded data using the CRC of the determined length comprises decoding the received encoded data using a low density parity check (LDPC) code.

13. 1. A radio receiver operable to receive data using a Third Generation Partnership Project (3GPP) New Radio (NR), the radio receiver comprising a processing circuit, the processing circuit comprising: receiving polar-encoded or low-density parity check (LDPC) encoded data from a wireless transmitter using 3GPP NR; determining an amount of data received in the encoded data; and determining a cyclic redundancy check (CRC) length based on the amount of data, the processing circuitry comprising: if the determined amount of received data is less than or equal to 3824 bits, determining the CRC length to be 16; If the determined amount of received data is greater than 3824 bits, by determining the CRC length to be 24; Operable to determine the CRC length; and and decoding the received encoded data using a CRC of the determined length.

14. 14. The wireless receiver of claim 13, wherein the processing circuitry is operable to decode the received encoded data using the CRC of the determined length using a polar code.

15. A part of the CRC length is an error correction (L corr ) and another part of the CRC length is used for error detection (L det ), where L det 14. The radio receiver of claim 13, wherein: is 3.

16. 14. The wireless receiver of claim 13, wherein the processing circuitry is operable to decode the received encoded data using a CRC of a length determined using a low density parity check (LDPC) code.

Citation Information

Patent Citations

  • Feedback signaling error detection and error inspection in MIMO wireless communication system

    JP2016119702A

  • Apparatus and method for communicating mac layer data in broadband wireless communication system

    US20070297451A1

  • Feedback signaling error detection and checking in MIMO wireless communication systems

    US20090006925A1

  • Method and wireless device for transmitting uplink control information

    WO2016182378A1

  • Downlink control channel in wireless systems

    WO2017035305A1