Methods, systems, and apparatus for determination of mother code length
By determining a plurality of mother code lengths based on specific parameters, the method addresses the inflexibility of existing code schemes, enabling support for diverse scenarios in next-generation wireless communication systems, such as 6G, and improving transmission efficiency and reliability.
Patent Information
- Application Number
- PCT/CN2024/080361
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-11-14
- Filing Date
- 2024-03-06
- Publication Date
- 2025-05-22
AI Technical Summary
Existing code schemes are not flexible enough to support the diverse scenarios of next-generation wireless communication systems, such as 6G, which require multiple redundancy versions and retransmissions.
A method for determining a plurality of mother code lengths based on a set of parameters, including minimum and maximum code rates, mother code lengths, and redundancy version indices, to support various communication scenarios by obtaining different code words during the encoding process.
This approach allows communication systems to flexibly support multiple scenarios with different transmission times or redundancy versions, enhancing transmission efficiency and reliability.
Smart Images

Figure CN2024080361_22052025_PF_FP_ABST
Abstract
Description
Methods, Systems, and Apparatus for Determination of Mother Code Length
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] The present application is related to, and claims priority to: United States provisional patent application Serial No. 63 / 598, 609, entitled "Determination of Mother Code Length for Polar Codes" , filed on November 14th, 2023, the entirety of which is hereby incorporated by reference.TECHNICAL FIELD
[0003] The present application relates to coding, and in particular to methods, systems, and apparatus for determination of mother code length.BACKGROUND
[0004] In the field of communication systems, channel coding is usually used to improve the reliability of signal transmission and ensure communication quality. The existing code methods have been proven to achieve the theoretical channel capacity, which have relatively simple encoding and decoding complexity.
[0005] With the rapid evolution of wireless communication systems, some new wireless communication systems, such as so-called sixth-generation (6G) systems will aim to support multiple scenarios, including immersive communication, massive communication, hyper reliable and low-latency communication, and so on.
[0006] However, the existing code schemes are not flexible to support these scenarios that need at least one retransmission or a plurality of codes of multiple redundancy versions due to the design principles of mother code.SUMMARY
[0007] The following examples pertain to embodiments described throughout this disclosure.
[0008] One or more embodiments are related to a method. The method comprising: determining a plurality of mother code lengths; encoding a plurality of information bits based on the plurality of mother code lengths to obtain a plurality of code words, the plurality of code words correspond to the plurality of mother code lengths.
[0009] In some embodiments, after the plurality of mother code lengths is determined, codes for different transmission times or redundancy versions could be obtained during the encoding process. Therefore the communication systems may be able to support multiple scenarios, which is very useful and convenient in transmission process.
[0010] In some implements of the method, determining a plurality of mother code lengths comprising: determining a plurality of mother code lengths based on a set of parameters, the set of parameters comprising one or more of the following: a minimum code rate, a maximum code rate, a minimum mother code length, a maximum mother code length, a rate matching output length, an index of redundancy version, a transmission index, a number of transmission times, and a self-decodable indicator.
[0011] In some embodiments, the number of the plurality of mother code lengths and the value of each of the plurality of mother code lengths may be determined by the set of parameters. Different number of the plurality of mother code lengths and different value of each of the plurality of mother code lengths may support different scenario that required different number of retransmissions or different index of redundancy versions.
[0012] In some implements of the method, each of the plurality of mother code lengths is based on the mother code length parameter and a first coefficient.
[0013] In some embodiments, the mother code length parameter refers to the current calculated mother code length, the first coefficient refers to the fixed number of extension times. Therefore with different value of the first coefficient and the mother code length parameter, different mother code length may be determined. In the embodiments of the disclosure, no specific limitation is imposed on the value of the first coefficient.
[0014] For example, in the case of “optional retransmission” , which means that retransmissions may not occur, in some embodiments the mother code length parameter refers to an initial mother code length for the initial transmission. And the mother code length parameter may be determined first. Then mother code lengths for retransmissions may be determined based on the mother code length parameter and different values of the first coefficient.
[0015] For example, in the case of “forced retransmission” , which means that at least one retransmission will definitely occur, in some embodiments the mother code length parameter refers to a mother code length for retransmission. And the mother code length parameter may be determined first. Then the initial mother code length and other mother code lengths for retransmissions may be determined based on the mother code length parameter and different values of the first coefficient.
[0016] For example, in the case of “pre-allocation of transmission resources” , in some embodiments the mother code length parameter refers to a reference mother code length. And the mother code length parameter may be determined first. Mother code lengths for transmissions (including the initial transmission and retransmissions) , or redundancy versions may be based on the mother code length parameter and different values of the first coefficient.
[0017] In some implements of the method, a method for obtaining the mother code length parameter comprises: obtaining a rate matching output length, a number of the plurality of information bits, a minimum code rate, and a minimum mother code length; obtaining a first stage mother code length based on the rate matching output length; obtaining a second stage mother code length based on the number of the plurality of information bits and the minimum code rate; obtaining a third stage mother code length; obtaining the mother code length parameter based on the first stage mother code length, the second stage mother code length, the third stage mother code length, and the minimum mother code length.
[0018] In some embodiments, different mother code lengths may be obtained based on the mother code length parameter. In some embodiments, the first stage mother code length, the second stage mother code length and the third stage mother code length may be different with different rate matching output length, different number of the plurality of information bits, different minimum code rate, and different minimum mother code length. The method of obtained the first stage mother code length, the second stage mother code length and the third stage mother code length are very flexible, and is related to the scene that supported by the community system.
[0019] In some implements of the method, the first stage mother code length is the smallest power-of-2 integer which is larger than the rate matching output length.
[0020] In some implements of the method, the first stage mother code length is equal to E is the rate matching output length.
[0021] In some embodiments, the first stage mother code length may be the difference between the smallest power-of-2 integer which is larger than the rate matching output length and a first integer. The integer may be 1, -1, or others. In the embodiments of the disclosure, no specific limitation is imposed on the first integer.
[0022] In some implements of the method, the first stage mother code length is the largest power-of-2 integer which is smaller than the rate matching output length.
[0023] In some implements of the method, the first stage mother code length is equal to E is the rate matching output length.
[0024] In some embodiments, the first stage mother code length may be the difference between the largest power-of-2 integer which is smaller than the rate matching output length and a second integer. The second integer may be 1, -1, or others. In the embodiments of the disclosure, no specific limitation is imposed on the integer.
[0025] In some implements of the method, the mother code length parameter is related to one or more of the followings: a number of transmission times, a type of channel, an index of redundancy version, and a communication scenario.
[0026] In some embodiments, different number of transmission times, different type of channel, different index of redundancy version, and different communication scenario may results in different mother code length parameter. Therefore a plurality of mother code lengths may be determined by different mother code length parameter.
[0027] In some implements of the method, the second stage mother code length is the smallest power-of-2 integer which leads to the second mother code rate is smaller than the minimum code rate, the second mother code rate is the quotient of the number of the plurality of information bits and the second stage mother code length.
[0028] In some implements of the method, the second stage mother code length is equal to K is the number of the plurality of information bits and Rmin is the minimum code rate.
[0029] In some implements of the method, the second stage mother code length is the largest power-of-2 integer which leads to the second mother code rate is larger than the minimum code rate, the second mother code rate is the quotient of the number of the plurality of information bits and the second stage mother code length.
[0030] In some implements of the method, the second stage mother code length is equal to and K is the number of the plurality of information bits and Rmin is the minimum code rate.
[0031] In some embodiments, the second stage mother code length may be different due to different method, which is helpful for the community system used to support multiple scenarios.
[0032] In some implements of the method, the minimum code rate is related to one or more of the followings: a number of transmission times, a type of channel, a type of service, an index of redundancy version, and a communication scenario.
[0033] In some implements of the method, n the minimum code rate is the same as a first constant.
[0034] In some embodiments, the first constant may be any positive integer. In the embodiments of the disclosure, no specific limitation is imposed on the first constant.
[0035] In some implements of the method, the third stage mother code length is the same as a second constant.
[0036] In some embodiments, the second constant may be any positive integer. In the embodiments of the disclosure, no specific limitation is imposed on the second constant.
[0037] In some implements of the method, obtaining the third stage mother code length based on a maximum mother code length.
[0038] In some implements of the method, the maximum mother code length is related to one or more of the followings: a type of channel, a type of service, and device capability.
[0039] In some implements of the method, the maximum mother code length is a power-of-2 integer.
[0040] In some implements of the method, the maximum mother code length is the same as the length of a nested reliability sequence.
[0041] In some embodiments, the maximum mother code length may be different, which is helpful for the community system used to support multiple scenarios.
[0042] In some implements of the method, the maximum mother code length is the same as a third constant.
[0043] In some embodiments the third constant may be any positive integer. In the embodiments of the disclosure, no specific limitation is imposed on the third constant.
[0044] In some implements of the method, the minimum mother code length is the same as a fourth constant.
[0045] In some embodiments the fourth constant may be any positive integer. In the embodiments of the disclosure, no specific limitation is imposed on the fourth constant.
[0046] In some implements of the method, the minimum mother code length is related to a type of channel or service.
[0047] In some implements of the method, each of the plurality of mother code lengths is the same as the maximum mother code length.
[0048] In some implements of the method, the plurality of mother code lengths are equal to a plurality of constants.
[0049] In some embodiments, the plurality of constants may be any positive integers. In the embodiments of the disclosure, no specific limitation is imposed on the plurality of constants.
[0050] In some implements of the method, each of the plurality of mother code lengths is equal to the product of the mother code length parameter and a first coefficient.
[0051] In some implements of the method, the first coefficient is related to one or more of the followings: a number of transmission times, device capability, a type of channel, a type of service, a communication scenario, an index of redundancy version.
[0052] In some implements of the method, the first coefficient is a positive integer.
[0053] In some implements of the method, the first coefficient is equal to a quotient of two positive integers.
[0054] In some implements of the method, encoding a plurality of information bits based on the plurality of mother code lengths, comprising: determining one or more information bits sets based on the plurality of information bits and the plurality of mother code lengths.
[0055] In some embodiments, one or more information bits sets may be obtained based on the plurality of mother code lengths, which may be used for a plurality of transmissions or redundancy versions.
[0056] One or more embodiments are related to a method. The method comprising: obtaining a plurality of code words, the plurality of code words correspond to a plurality of mother code lengths; decoding the plurality of code words to obtain a plurality of sequences, the plurality of sequences correspond to the plurality of information bits.
[0057] In some embodiments, the plurality of code words may be converted to a plurality of first sequences by demodulation or other ways. The number of the plurality of first sequences is related to at least one of the followings: a number of redundancy versions, a number of transmission times, and a self-decodable indicator. Flexible decoding process may be executed according to the plurality of first sequences, and the communication systems may be able to support multiple scenarios with different transmission times or redundancy versions, which is very useful and convenient in transmission process. In the embodiments of the disclosure, no specific limitation is imposed on the ways of obtaining the plurality of first sequences, and the algorithm and technique in decoding. In some implements of the method, the plurality of mother code lengths are determined based on a set of parameters, the set of parameters comprising one or more of the following: a minimum code rate, a maximum code rate, a minimum mother code length, a maximum mother code length, a rate matching output length, an index of redundancy version, a transmission index, a number of transmission times, a self-decodable indicator.
[0058] In some implements of the method, each of the plurality of mother code lengths is related to a mother code length parameter and a first coefficient.
[0059] In some implements of the method, a method for obtaining the mother code length parameter comprises: obtaining a rate matching output length, a number of the plurality of information bits, a minimum code rate, and a minimum mother code length; obtaining a first stage mother code length based on the rate matching output length; obtaining a second stage mother code length based on the number of the plurality of information bits and the minimum code rate; obtaining a third stage mother code length; obtaining the mother code length parameter based on the first stage mother code length, the second stage mother code length, the third stage mother code length, and the minimum mother code length.
[0060] In some implements of the method, the first stage mother code length is the smallest power-of-2 integer which is larger than the rate matching output length.
[0061] In some implements of the method, the first stage mother code length is the largest power-of-2 integer which is smaller than the rate matching output length.
[0062] In some implements of the method, the mother code length parameter is related to one or more of the followings: a number of transmission times, a type of channel, an index of redundancy version, and a communication scenario.
[0063] In some implements of the method, the second stage mother code length is the smallest power-of-2 integer which leads to the second mother code rate is smaller than the minimum code rate, wherein the second mother code rate is the quotient of the number of the plurality of information bits and the second stage mother code length.
[0064] In some implements of the method, the second stage mother code length is the largest power-of-2 integer which leads to the second mother code rate is larger than the minimum code rate, wherein the second mother code rate is the quotient of the number of the plurality of information bits and the second stage mother code length.
[0065] In some implements of the method, the minimum code rate is related to one or more of the followings: a number of transmission times, a type of channel, a type of service, an index of redundancy version, and a communication scenario.
[0066] In some implements of the method, obtaining the third stage mother code length based on a maximum mother code length.
[0067] In some implements of the method, the maximum mother code length is related to one or more of the followings: a type of channel, a type of service, and device capability.
[0068] In some implements of the method, the maximum mother code length is a power-of-2 integer.
[0069] In some implements of the method, the maximum mother code length is the same as the length of a nested reliability sequence.
[0070] In some implements of the method, the minimum mother code length is related to a type of channel or service.
[0071] In some implements of the method, one of the plurality of mother code lengths is the same as the maximum mother code length.
[0072] In some implements of the method, each of the plurality of mother code lengths is related to the product of the mother code length parameter and the first coefficient.
[0073] In some implements of the method, the first coefficient is related to one or more of the followings: a number of transmission times, device capability, a type of channel, a type of service, a communication scenario, and an index of redundancy version.
[0074] In some implements of the method, the first coefficient is equal to a quotient of two positive integers.
[0075] One or more embodiments can include an apparatus, the apparatus comprises a function or unit configured to cause the apparatus to perform the method of the present disclosure.
[0076] One or more embodiments can include an apparatus, and the apparatus comprising a processor configured to cause the apparatus to perform the method of the present disclosure.
[0077] One or more embodiments can include an apparatus / chipset system, the apparatus / chipset system comprising: at least one processor executing instructions stored in a computer-readable medium to implement the method of the present disclosure.
[0078] One or more embodiments can include a computer program comprising instructions, the instructions, when executed by a processor, may cause the processor to implement the method of the present disclosure.
[0079] One or more embodiments can include a non-transitory computer-readable medium storing programming, the programming, when executed by a processor, may cause the processor to implement the method of the present disclosure.
[0080] The present disclosure encompasses these and other aspects or embodiments.BRIEF DESCRIPTION OF THE DRAWINGS
[0081] For a more complete understanding of the present embodiments, and the advantages thereof, reference is now made, by way of example, to the following descriptions taken in conjunction with the accompanying drawings.
[0082] Fig. 1 is a simplified schematic illustration of a communication system.
[0083] Fig. 2 is a block diagram illustration of the example communication system in Fig. 1.
[0084] Fig. 3 illustrates an example electronic device and examples of base stations.
[0085] Fig. 4 illustrates units or modules in a device.
[0086] Fig. 5 is a trellis graph illustrating an example of a polar code.
[0087] Fig. 6 is a table of sub-block interleaver pattern.
[0088] Fig. 7 is a diagram illustrating puncturing and shortening with a cyclic buffer.
[0089] Fig. 8 is a diagram illustration of an example of the encoding process for 4 transmissions.
[0090] Fig. 9 is a diagram illustration of an example of the encoding process of the initial transmission.
[0091] Fig. 10 is a diagram illustration of an example of the encoding process of the first retransmission.
[0092] Fig. 11 is a block diagram illustration of an example of a polar transform matrix of three transmissions.
[0093] Fig. 12 is a flow schematic illustration of an example of an encoding method.
[0094] Fig. 13 is a flow schematic illustration of an example of a decoding method.
[0095] Fig. 14 is a block diagram illustration of an example of determination of mother code lengths.DETAILED DESCRIPTION
[0096] For illustrative purposes, specific example embodiments will now be explained in greater detail in conjunction with the figures.
[0097] The embodiments set forth herein represent information sufficient to practice the claimed subject matter and illustrate ways of practicing such subject matter. Upon reading the following description in light of the accompanying figures, those of skill in the art will understand the concepts of the claimed subject matter and will recognize applications of these concepts not particularly addressed herein. In some embodiments these concepts and applications fall within the scope of the disclosure and the accompanying claims.
[0098] Reference may be made, above and / or elsewhere herein, to particular examples (such as “the method” ) that have or provide certain features. It should be appreciated that these are example only, and such features need not necessarily be provided in all examples or embodiments, or may be provided in other examples or embodiments.
[0099] Although embodiments of methods of determination of mother code length in the present disclosure may illustrate by taking polar codes as examples, these methods may be applicable for other codes. For example, these methods of determination of mother code length in the present disclosure may be applicable for Low Density Parity Check (LDPC) codes, Turbo codes, Reed Muller (RM) codes, convolutional codes, product codes, etc. In the embodiments of the disclosure, no specific limitation is imposed on the type of codes.
[0100] In methods of determination of mother code length for polar codes, determination of a plurality of mother code lengths may reduce decoder complexity in high-throughput communications scenarios, and improve performance in cases with multiple transmissions, such as Incremental-Redundancy Hybrid automatic repeat request (IR-HARQ) .
[0101] In methods of determination of mother code length for LDPC codes, determination of a plurality of mother code lengths may reduce buffer size for terminals with limited buffer size and lower device capability.
[0102] In methods of determination of mother code length for Turbo codes, different mother code length may be determined for different communication scenarios, such as Internet of Things (IoT) devices that requires shorter code length.
[0103] In methods of determination of mother code length for Convolutional codes, determination of a plurality of mother code lengths may provide flexible mother code lengths (in the form of constraint length) , which may result in a good tradeoff between decoding complexity and performance.
[0104] In methods of determination of mother code length for RM codes, multiple mother code lengths are provided, especially including longer mother code length, which may further enhance the coding gain of very short codes (with short block length) .
[0105] In methods of determination of mother code length for Product codes, different mother code length for the component codes in a product code may enable a flexible tradeoff between encoding / decoding parallelism and coding gain.
[0106] The background of methods of the determination of mother code length provided in the embodiments of the present disclosure is explained below.
[0107] In wireless communications, channel quality is constantly changing due to the fading effects at both fast and slow scale. Accordingly, channel coding has always been designed to adapt to the channel states. Modulation coding scheme (MCS) adaptation is a powerful method to combat varying channel states, in which the modulation order and code length and coding rate can be changed in real time. Therefore, it requires that a channel coding scheme can flexibly change the code length and code rate in a fine-grained way, and at the same time achieve good error correction performance in all possible configurations. This fine-grained flexibility of channel codes is one of the most challenging problems for engineers in this domain.
[0108] At the same time, the complexity of both encoding and decoding algorithms needs to be sufficiently low. In hardware, complexity can be evaluated through measuring chip area and energy efficiency. They are related to algorithmic complexity, but are more closely related to hardware cost and battery life. Therefore, there exists a desire to reduce implementation complexity when designing coding schemes.
[0109] Future communication systems, such as 6G systems, may aim to support several challenging scenarios, including for example immersive communication, massive communication, and hyper reliable and low-latency communication. The KPIs that are related to channel coding include coding gain, reliability, throughput, latency and their tradeoffs. For example, the throughput target of 6G may reach above 1 Tbps, and the energy efficiency target may decrease to 1 pJ / bit. Meanwhile, a coding scheme supporting flexible rate matching and IR-HARQ schemes is also beneficial. Accordingly, it is desirable yet challenging to design a code ensemble to fulfill all these KPIs and capabilities.
[0110] Referring to Fig. 1, as an illustrative example without limitation, a simplified schematic illustration of a communication system is provided. The communication system 100 comprises a radio access network 120. The radio access network 120 may be a next generation (e.g. sixth generation (6G) or later) radio access network, or a legacy (e.g. 5G, 4G, 3G or 2G) radio access network. 5G refers to 5th generation, 4G refers to 4th generation, 3G refers to 3th generation, 2G refers to 2th generation. Legacy wireless technology may also include 2nd generation (2G) . One or more communication electronic devices (ED) 110a, 110b, 110c, 110d, 110e, 110f, 110g, 110h, 110i, 110j (generically referred to as 110) may be interconnected to one another or connected to one or more network nodes (170a, 170b, generically referred to as 170) in the radio access network 120. A core network 130 may be a part of the communication system and may be dependent or independent of the radio access technology used in the communication system 100. Also the communication system 100 comprises a public switched telephone network (PSTN) 140, the internet 150, and other networks 160.
[0111] Fig. 2 illustrates an example communication system 100. In general, the communication system 100 enables multiple wireless or wired elements to communicate data and other content. The purpose of the communication system 100 may be to provide content, such as voice, data, video, and / or text, via broadcast, multicast, groupcast, unicast, etc. The communication system 100 may operate by sharing resources, such as carrier spectrum bandwidth, between its constituent elements. The communication system 100 may include a terrestrial communication system and / or a non-terrestrial communication system. The communication system 100 may provide a wide range of communication services and applications, such as earth monitoring, remote sensing, passive sensing and positioning, navigation and tracking, autonomous delivery and mobility, etc.. The communication system 100 may provide a high degree of availability and robustness through a joint operation of a terrestrial communication system and a non-terrestrial communication system. For example, integrating a non-terrestrial communication system, or components thereof into a terrestrial communication system can result in what may be considered a heterogeneous network comprising multiple layers. Compared to conventional communication networks, the heterogeneous network may achieve better overall performance through efficient multi-link joint operation, more flexible functionality sharing, and faster physical layer link switching between terrestrial networks and non-terrestrial networks.
[0112] The terrestrial communication system and the non-terrestrial communication system could be considered sub-systems of the communication system. In the example shown in Fig. 2, the communication system 100 includes electronic devices (ED) 110a, 110b, 110c, 110d (generically referred to as ED 110) , radio access networks (RANs) 120a, 120b, a non-terrestrial communication network 120c, a core network 130, a PSTN 140, the Internet 150, and other networks 160. The RANs 120a, 120b include respective base stations (BSs) 170a, 170b, which may be generically referred to as terrestrial transmit and receive points (T-TRPs) 170a, 170b. The non-terrestrial communication network 120c includes an access node 172, which may be generically referred to as a non-terrestrial transmit and receive point (NT-TRP) 172.
[0113] Any ED 110 may be alternatively or additionally configured to interface, access, or communicate with any T-TRP 170a, 170b and NT-TRP 172, the Internet 150, the core network 130, the PSTN 140, the other networks 160, or any combination of the preceding. In some examples, ED 110a may communicate an uplink and / or downlink transmission over a terrestrial air interface 190a with T-TRP 170a. In some examples, the EDs 110a, 110b, 110c, and 110d may also communicate directly with one another via one or more sidelink air interfaces 190b. In some examples, ED 110d may communicate an uplink and / or downlink transmission over a non-terrestrial air interface 190c with NT-TRP 172.
[0114] The air interfaces 190a and 190b may use similar communication technology, such as any suitable radio access technology. For example, the communication system 100 may implement one or more channel access methods, such as code division multiple access (CDMA) , space division multiple access (SDMA) , time division multiple access (TDMA) , frequency division multiple access (FDMA) , orthogonal FDMA (OFDMA) , or single-carrier FDMA (SC-FDMA, also known as discrete Fourier transform spread OFDMA, DFT-s-OFDMA) in the air interfaces 190a and 190b. The air interfaces 190a and 190b may utilize other higher dimension signal spaces, which may involve a combination of orthogonal and / or non-orthogonal dimensions.
[0115] The non-terrestrial air interface 190c can enable communication between the ED 110d and one or multiple NT-TRPs 172 via a wireless link or simply a link. For some examples, the link is a dedicated connection for unicast transmission, a connection for broadcast transmission, or a connection between a group of EDs 110 and one or multiple NT-TRPs 172 for multicast transmission.
[0116] The RANs 120a and 120b are in communication with the core network 130 to provide the EDs 110a 110b, and 110c with various services such as voice, data, and other services. The RANs 120a and 120b and / or the core network 130 may be in direct or indirect communication with one or more other RANs (not shown) , which may or may not be directly served by core network 130, and may or may not employ the same radio access technology as RAN 120a, RAN 120b or both. The core network 130 may also serve as a gateway access between (i) the RANs 120a and 120b or EDs 110a 110b, and 110c or both, and (ii) other networks (such as the PSTN 140, the Internet 150, and the other networks 160) . In addition, some or all of the EDs 110a 110b, and 110c may include functionality for communicating with different wireless networks over different wireless links using different wireless technologies and / or protocols. Instead of wireless communication (or in addition thereto) , the EDs 110a 110b, and 110c may communicate via wired communication channels to a service provider or switch (not shown) , and to the Internet 150. PSTN 140 may include circuit switched telephone networks for providing plain old telephone service (POTS) . Internet 150 may include a network of computers and subnets (intranets) or both, and incorporate protocols, such as Internet Protocol (IP) , Transmission Control Protocol (TCP) , User Datagram Protocol (UDP) . EDs 110a 110b, and 110c may be multimode devices capable of operation according to multiple radio access technologies, and incorporate multiple transceivers necessary to support such.
[0117] Fig. 3 illustrates another example of an ED 110 and a base station 170a, 170b and / or 170c. The ED 110 is used to connect persons, objects, machines, etc. The ED 110 may be widely used in various scenarios including, for example, cellular communications, device-to-device (D2D) , vehicle to everything (V2X) , peer-to-peer (P2P) , machine-to-machine (M2M) , machine-type communications (MTC) , internet of things (IoT) , virtual reality (VR) , augmented reality (AR) , mixed reality (MR) , metaverse, digital twin, industrial control, self-driving, remote medical, smart grid, smart furniture, smart office, smart wearable, smart transportation, smart city, drones, robots, remote sensing, passive sensing, positioning, navigation and tracking, autonomous delivery and mobility, etc.
[0118] Each ED 110 represents any suitable end user device for wireless operation and may include such devices (or may be referred to) as a user equipment / device (UE) , a wireless transmit / receive unit (WTRU) , a mobile station, a fixed or mobile subscriber unit, a cellular telephone, a station (STA) , a machine type communication (MTC) device, a personal digital assistant (PDA) , a smartphone, a laptop, a computer, a tablet, a wireless sensor, a consumer electronics device, a smart book, a vehicle, a car, a truck, a bus, a train, or an IoT device, wearable devices (such as a watch, a pair of glasses, head mounted equipment, etc. ) , an industrial device, or an apparatus in (e.g. communication module, modem, or chip) or comprising the forgoing devices, among other possibilities. Future generation EDs 110 may be referred to using other terms. The base station 170a and 170b is a T-TRP and will hereafter be referred to as T-TRP 170. Also shown in Fig. 3, a NT-TRP will hereafter be referred to as NT-TRP 172. Each ED 110 connected to T-TRP 170 and / or NT-TRP 172 can be dynamically or semi-statically turned-on (i.e., established, activated, or enabled) , turned-off (i.e., released, deactivated, or disabled) and / or configured in response to one of more of: connection availability and connection necessity.
[0119] The ED 110 includes a transmitter 201 and a receiver 203 coupled to one or more antennas 204. Only one antenna 204 is illustrated to avoid congestion in the drawing. One, some, or all of the antennas 204 may alternatively be panels. The transmitter 201 and the receiver 203 may be integrated, e.g. as a transceiver. The transceiver is configured to modulate data or other content for transmission by at least one antenna 204 or network interface controller (NIC) . The transceiver is also configured to demodulate data or other content received by the at least one antenna 204. Each transceiver includes any suitable structure for generating signals for wireless or wired transmission and / or processing signals received wirelessly or by wire. Each antenna 204 includes any suitable structure for transmitting and / or receiving wireless or wired signals.
[0120] The ED 110 includes at least one memory 208. The memory 208 stores instructions and data used, generated, or collected by the ED 110. For example, the memory 208 could store software instructions or modules configured to implement some or all of the functionality and / or embodiments described herein and that are executed by one or more processing unit (s) (e.g., a processor 210) . 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 disc, subscriber identity module (SIM) card, memory stick, secure digital (SD) memory card, on-processor cache, and the like.
[0121] The ED 110 may further include one or more input / output devices (not shown) or interfaces (such as a wired interface to the Internet 150 in Fig. 1) . The input / output devices or interfaces permit interaction with a user or other devices in the network. Each input / output device or interface includes any suitable structure for providing information to or receiving information from a user, and / or for network interface communications. Suitable structures include, for example, a speaker, a microphone, a keypad, a keyboard, a display, a touch screen, etc.
[0122] The ED 110 includes the processor 210 for performing operations including those operations relate to preparing a transmission for uplink transmission to the NT-TRP 172 and / or the T-TRP 170; those operations relate to processing downlink transmissions received from the NT-TRP 172 and / or the T-TRP 170; and those operations relate to processing sidelink transmission to and from another ED 110. Processing operations relate to preparing a transmission for uplink transmission may include operations such as encoding, modulating, transmit beamforming, and generating symbols for transmission. Processing operations relate to processing downlink transmissions may include operations such as receive beamforming, demodulating and decoding received symbols. Depending upon the embodiment, a downlink transmission may be received by the receiver 203, possibly using receive beamforming, and the processor 210 may extract signaling from the downlink transmission (e.g. by detecting and / or decoding the signaling) . An example of signaling may be a reference signal transmitted by the NT-TRP 172 and / or by the T-TRP 170. In some embodiments, the processor 210 implements the transmit beamforming and / or the receive beamforming based on the indication of beam direction, e.g. beam angle information (BAI) , received from the T-TRP 170. In some embodiments, the processor 210 may perform operations relating to network access (e.g. initial access) and / or downlink synchronization, such as operations relating to detecting a synchronization sequence, decoding and obtaining the system information, etc. In some embodiments, the processor 210 may perform channel estimation, e.g. using a reference signal received from the NT-TRP 172 and / or from the T-TRP 170.
[0123] Although not illustrated, the processor 210 may form part of the transmitter 201 and / or part of the receiver 203. Although not illustrated, the memory 208 may form part of the processor 210.
[0124] The processor 210, the processing components of the transmitter 201, and the processing components of the receiver 203 may each be implemented by the same or different one or more processors that are configured to execute instructions stored in a memory (e.g. in the memory 208) . Alternatively, some or all of the processor 210, the processing components of the transmitter 201, and the processing components of the receiver 203 may each be implemented using dedicated circuitry, such as a programmed field-programmable gate array (FPGA) , an application-specific integrated circuit (ASIC) , or a hardware accelerator such as a graphics processing unit (GPU) or an artificial intelligence (AI) accelerator.
[0125] In some embodiments, the ED110 could be replaced with an apparatus in the ED110 (The apparatus, for example, is a communication module, a modem, a chip, or a chipset in side theED110) . It includes at least one processor, and an interface or at least one pin. In this scenario, the transmitter 201 and receiver 203 may be replaced by the interface or at least one pin, wherein the interface or at least one pin is to connect the apparatus (e.g., chip) and other apparatus (e.g., chip, memory, or bus) . Accordingly, the transmitting information to T-TRP170 or NT-TRP 172 may be referred as transmitting information to the interface or at least one pin, and receiving information from T-TRP170 or NT-TRP 172 may be referred as receiving information from the interface or at least one pin. The information may include control signaling and / or data.
[0126] The T-TRP 170 may be known by other names in some implementations, such as a base station, a base transceiver station (BTS) , a radio base station, a network node, a network device, a device on the network side, a transmit / receive node, a Node B, an evolved NodeB (eNodeB or eNB) , a Home eNodeB, a next Generation NodeB (gNB) , a transmission point (TP) , a site controller, an access point (AP) , a wireless router, a relay station, a terrestrial node, a terrestrial network device, a terrestrial base station, a base band unit (BBU) , a remote radio unit (RRU) , an active antenna unit (AAU) , a remote radio head (RRH) , a central unit (CU) , a distributed unit (DU) , a positioning node, among other possibilities. The T-TRP 170 may be a macro BS, a pico BS, a relay node, a donor node, or the like, or combinations thereof. The T-TRP 170 may refer to the forgoing devices or refer to apparatus in the forgoing devices.
[0127] In some embodiments, the parts of the T-TRP 170 may be distributed. For example, some of the modules of the T-TRP 170 may be located remote from the equipment that houses the antennas 256 for the T-TRP 170, and may be coupled to the equipment that houses the antennas 256 over a communication link (not shown) sometimes known as front haul, such as common public radio interface (CPRI) . Therefore, in some embodiments, the term T-TRP 170 may also refer to modules on the network side that perform processing operations, such as determining the location of the ED 110, resource allocation (scheduling) , message generation, and encoding / decoding, and that are not necessarily part of the equipment that houses the antennas 256 of the T-TRP 170. The modules may also be coupled to other T-TRPs. In some embodiments, the T-TRP 170 may actually be a plurality of T-TRPs that are operating together to serve the ED 110, e.g. through the use of coordinated multipoint transmissions.
[0128] The T-TRP 170 includes at least one transmitter 252 and at least one receiver 254 coupled to one or more antennas 256. Only one antenna 256 is illustrated to avoid congestion in the drawing. One, some, or all of the antennas 256 may alternatively be panels. The transmitter 252 and the receiver 254 may be integrated as a transceiver. The T-TRP 170 further includes a processor 260 for performing operations including those related to: preparing a transmission for downlink transmission to the ED 110, processing an uplink transmission received from the ED 110, preparing a transmission for backhaul transmission to the NT-TRP 172, and processing a transmission received over backhaul from the NT-TRP 172. Processing operations relate to preparing a transmission for downlink or backhaul transmission may include operations such as encoding, modulating, precoding (e.g. multiple input multiple output (MIMO) precoding) , transmit beamforming, and generating symbols for transmission. Processing operations relate to processing received transmissions in the uplink or over backhaul may include operations such as receive beamforming, demodulating received symbols, and decoding received symbols. The processor 260 may also perform operations relating to network access (e.g. initial access) and / or downlink synchronization, such as generating the content of synchronization signal blocks (SSBs) , generating the system information, etc. In some embodiments, the processor 260 also generates an indication of beam direction, e.g. BAI, which may be scheduled for transmission by a scheduler 253. The processor 260 performs other network-side processing operations described herein, such as determining the location of the ED 110, determining where to deploy the NT-TRP 172, etc.
[0129] In some embodiments, the processor 260 may generate signaling, e.g. to configure one or more parameters of the ED 110 and / or one or more parameters of the NT-TRP 172. Any signaling generated by the processor 260 is sent by the transmitter 252. Note that “signaling” , as used herein, may alternatively be called control signaling. Signaling may be transmitted in a physical layer control channel, e.g. a physical downlink control channel (PDCCH) , in which case the signaling may be known as dynamic signaling. Signaling transmitted in a downlink physical layer control channel may be known as Downlink Control Information (DCI) . Signaling transmitted in an uplink physical layer control channel may be known as Uplink Control Information (UCI) . Signaling transmitted in a sidelink physical layer control channel may be known as Sidelink Control Information (SCI) . Signaling may be included in a higher-layer (e.g., higher than physical layer) packet transmitted in a physical layer data channel, e.g. in a physical downlink shared channel (PDSCH) , in which case the signaling may be known as higher-layer signaling, static signaling, or semi-static signaling. Higher-layer signaling may also refer to Radio Resource Control (RRC) protocol signaling or Media Access Control -Control Element (MAC-CE) signaling.
[0130] The scheduler 253 may be coupled to the processor 260. The scheduler 253 may be included within or operated separately from the T-TRP 170. The scheduler 253 may schedule uplink, downlink, sidelink, and / or backhaul transmissions, including issuing scheduling grants and / or configuring scheduling-free (e.g., “configured grant” ) resources. The T-TRP 170 further includes a memory 258 for storing information and data. The memory 258 stores instructions and data used, generated, or collected by the T-TRP 170. For example, the memory 258 could store software instructions or modules configured to implement some or all of the functionality and / or embodiments described herein and that are executed by the processor 260.
[0131] Although not illustrated, the processor 260 may form part of the transmitter 252 and / or part of the receiver 254. Also, although not illustrated, the processor 260 may implement the scheduler 253. Although not illustrated, the memory 258 may form part of the processor 260.
[0132] The processor 260, the scheduler 253, the processing components of the transmitter 252, and the processing components of the receiver 254 may each be implemented by the same or different one or more processors that are configured to execute instructions stored in a memory, e.g. in the memory 258. Alternatively, some or all of the processor 260, the scheduler 253, the processing components of the transmitter 252, and the processing components of the receiver 254 may be implemented using dedicated circuitry, such as a programmed FPGA, a hardware accelerator (e.g., a GPU or AI accelerator) , or an ASIC.
[0133] In some embodiments, the T-TRP 170 could be replaced with an apparatus in the T-TRP (The apparatus, for example, is a communication module, a modem, a chip, or a chipset inside the T-TRP) . It includes at least one processor, and an interface or at least one pin. In this scenario, the transmitter 252 and receiver 254 may be replaced by the interface or at least one pin, wherein the interface or at least one pin is to connect the apparatus (e.g., chip) and other apparatus (e.g., chip, memory, or bus) . Accordingly, the transmitting information to ED 110 may be referred as transmitting information to the interface or at least one pin, and receiving information from the ED 110 may be referred as receiving information from the interface or at least one pin. The information may include control signaling and / or data.
[0134] Although the NT-TRP 172 is illustrated as a drone only as an example, the NT-TRP 172 may be implemented in any suitable non-terrestrial form, such as satellites and high altitude platforms, including international mobile telecommunication base stations and unmanned aerial vehicles, for example. Also, the NT-TRP 172 may be known by other names in some implementations, such as a non-terrestrial node, a non-terrestrial network device, or a non-terrestrial base station. The NT-TRP 172 includes a transmitter 272 and a receiver 274 coupled to one or more antennas 280. Only one antenna 280 is illustrated to avoid congestion in the drawing. One, some, or all of the antennas may alternatively be panels. The transmitter 272 and the receiver 274 may be integrated as a transceiver. The NT-TRP 172 further includes a processor 276 for performing operations including those relate to: preparing a transmission for downlink transmission to the ED 110s, processing an uplink transmission received from the ED 110s, preparing a transmission for backhaul transmission to T-TRP 170, and processing a transmission received over backhaul from the T-TRP 170. Processing operations relate to preparing a transmission for downlink or backhaul transmission may include operations such as encoding, modulating, precoding (e.g. MIMO precoding) , transmit beamforming, and generating symbols for transmission. Processing operations relate to processing received transmissions in the uplink or over backhaul may include operations such as receive beamforming, demodulating received symbols, and decoding received symbols. In some embodiments, the processor 276 implements the transmit beamforming and / or receive beamforming based on beam direction information (e.g. BAI) received from the T-TRP 170. In some embodiments, the processor 276 may generate signaling, e.g. to configure one or more parameters of the ED 110. In some embodiments, the NT-TRP 172 implements physical layer processing, but does not implement higher layer functions such as functions at the medium access control (MAC) or radio link control (RLC) layer. As this is only an example, more generally, the NT-TRP 172 may implement higher layer functions in addition to physical layer processing.
[0135] The NT-TRP 172 further includes a memory 278 for storing information and data. Although not illustrated, the processor 276 may form part of the transmitter 272 and / or part of the receiver 274. Although not illustrated, the memory 278 may form part of the processor 276.
[0136] The processor 276, the processing components of the transmitter 272, and the processing components of the receiver 274 may each be implemented by the same or different one or more processors that are configured to execute instructions stored in a memory, e.g. in the memory 278. Alternatively, some or all of the processor 276, the processing components of the transmitter 272, and the processing components of the receiver 274 may be implemented using dedicated circuitry, such as a programmed FPGA, a hardware accelerator (e.g., a GPU or AI accelerator) , or an ASIC. In some embodiments, the NT-TRP 172 may actually be a plurality of NT-TRPs that are operating together to serve the ED 110, e.g. through coordinated multipoint transmissions.
[0137] The T-TRP 170, the NT-TRP 172, and / or the ED 110 may include other components, but these have been omitted for the sake of clarity.
[0138] One or more steps of the embodiment methods provided herein may be performed by corresponding units or modules, according to Fig. 4. Fig. 4 illustrates units or modules in a device, such as in the ED 110, in the T-TRP 170, or in the NT-TRP 172. For example, a signal may be transmitted or output by a transmitting unit or by a transmitting module. A signal may be received or input by a receiving unit or by a receiving module. A signal may be processed by a processing unit or a processing module. Other steps may be performed by an artificial intelligence (AI) or machine learning (ML) module. The respective units or modules may be implemented using hardware, one or more components or devices that execute software, or a combination thereof. For instance, one or more of the units or modules may be a circuit such as an integrated circuit. Examples of an integrated circuit include a programmed FPGA, a GPU, or an ASIC.
[0139] For instance, one or more of the units or modules may be logical such as a logical function performed by a circuit, by a portion of an integrated circuit, or by software instructions executed by a processor. It will be appreciated that where the modules are implemented using software for execution by a processor for example, the modules may be retrieved by a processor, in whole or part as needed, individually or together for processing, in single or multiple instances, and that the modules themselves may include instructions for further deployment and instantiation.
[0140] While not shown, the transmitting module and the receiving module may be part of, or combined into, a transceiver module. A transceiver module may also be known as an interface module, or simply an interface, for inputting and outputting operations.
[0141] Additional details regarding the EDs 110, the T-TRP 170, and the NT-TRP 172 are known to those of skill in the art. As such, these details are omitted here.
[0142] The channel coding module in communications systems encode K source bits into N code bits to provide error correction capability against adversary channel condition such as noise and interference. The code rate is R=K / N. In practice, the code rate R is selected according to channel quality.
[0143] Polar codes are capacity-achieving codes and thus a great breakthrough in coding theory. As code length approaches infinity, the synthesized channels become either noiseless or pure noise. The synthesized channels that are also known as subchannels are created by or associated with the polar code. The noiseless subchannels are utilized to transport information, and their proportion is proven to achieve the channel capacity defined by Shannon. The above-mentioned channel polarization phenomenon occurs under successive cancellation (SC) or SC-based decoding, which has a relatively low complexity.
[0144] Rate matching is performed after channel encoding, by either puncturing / shortening or repeating some code bits. The purpose of this operation is to obtain a code bit sequence of desired length for transmission over limited channel resources.
[0145] Channel interleaving is applied after channel encoding and rate matching by permuting the code bits. The purpose is to provide stable or superior performance under high-order modulation or in a fading channel.
[0146] HARQ is a mechanism to provide reliable wireless transmission. It combines forward error correction (FEC) and automatic repeat request (ARQ) . In HARQ, the initial transmission is a FEC code word with means (such as cyclic redundancy check (CRC) bits) to support error detection at the receiver. If a decoding error is detected, the receiver will send back a negative acknowledgment (NACK) signaling to inform the transmitter of the error, and request a retransmission. The retransmitted bits can be directly selected from the initially transmitted bits, or incrementally generated code bits which form a longer code word with the initially transmitted bits. The former approach is called chase-combining HARQ (CC-HARQ) and the latter approach is called IR-HARQ. Typically, IR-HARQ outperforms CC-HARQ with the additional coding gain from incremental redundancy.
[0147] Polar codes belong to the class of linear block codes. For a polar code of length N, its generator matrix is GN, and its encoding process is wherein is the binary information vector, is the binary code vector. The N×N binary matrix wherein is the polarization kernel matrix, n=log2N, and is Kronecker product.
[0148] Typically, there are K information bits to be encoded into N code bits. In some embodiments of the present disclosure, K information bits refer to K source bits. Accordingly, the inequality K<N is given to obtain a code rate R=K / N<1. That implies only part of is used to carry information bits, and the rest are typically called frozen bits. The information bit set or called information set may be denoted by I, and the frozen bit set, or called frozen set may be denoted by F respectively. In some cases there is an additional parity-check bit set or called PC bit set that is denoted by P. The frozen bits are known (usually all zeros, but may also be other known values or sequences) before decoding, so they do not carry any payload information. The PC bits are parity-check bits generated from a subset of information bits. Therefore, the PC bits are known once the associated information bits are decoded. The decoding of polar codes attempts to recover all information bits.
[0149] The transmitted code length M may not always be the power of 2, i.e., M<N. In practice, puncturing and shortening are used to reduce transmitted code bits from N to M. For convenience, the present disclosure hereinafter refers to N as the mother code length, and M as the code length. In particular, punctured bits are non-transmitted bits unknown to the decoder, but shortened bits are non-transmitted bits known to the decoder, and shortened bits are usually all zeros.
[0150] An example of a polar code with N=8, K=4 is shown in the Fig. 5. Each “butterfly” in Fig. 5 represents a polarization, i.e., In this example, the information set is I= {u4, u6, u7, u8} , and the frozen set is F= {u1, u2, u3, u5} .
[0151] Successive cancellation (SC) is the basic decoding algorithm for polar codes, where all the frozen bits and information bits are decoded sequentially, i.e., bit by bit. The preceding bits are typically always decoded first.
[0152] Successive cancellation list (SCL) is an enhanced decoding algorithm for polar codes, where multiple (e.g., a number L) SC decoding instances are executed. Each instance is called a “decoding path” . When decoding each binary bit, both “0” and “1” branches are extended to each path, creating 2L paths. Then, all 2L paths are compared, where the most likely L paths are kept, and the least likely L paths are discarded or pruned. These path extension and pruning operations are performed during decoding of every information bit, until all information bits are decoded. At last, the most likely path is selected as the decoding output.
[0153] CRC-aided successive cancellation list (CA-SCL) works almost the same as SCL, except that in the last step, the most likely path that passes CRC check is selected as the decoding output.
[0154] Parity-check successive cancellation list (PC-SCL) works almost the same as SCL, except that when decoding parity-check (PC) bits, the parity check value of associated preceding bits is used as the bit decision result. PC bits may be considered a type of bit in addition to frozen bits and information bits.
[0155] Rate-compatible polar coding is a desirable technology for wireless applications. In one example of polar code rate matching, a combination of puncturing, shortening and repetition is used together with a fixed reliability sequence to balance performance and complexity. In particular, subblock-wise interlacing and interleaving is used for both puncturing and shortening. The puncturing and shortening patterns are symmetric.
[0156] With mother code length N, and the transmitted code length M, the specific rate matching scheme used is Repetition, when M>N; Puncturing, when K / M≤7 / 16; Shortening, when K / M>7 / 16;
[0157] A subblock-wise interleaving is performed before puncturing and shortening. The interleaver partitions the length-N mother code into 32 subblocks of size N / 32 and interlaces them. An example interleaver scheme is shown in Fig. 6, which is reproduced from a 3GPP standard specification.
[0158] Since puncturing is performed from the 1st code bit of a code word, and shortening is performed from the last code bit, the rate matching module is efficiently implemented through a cyclic buffer. And a code word also refers to a code bit, a coded bit, or an encoded bit. All mother code bits are placed in the cyclic buffer, and puncturing is done by selecting the bits in clockwise order, and shortening is done by selecting bits in counter-clockwise order.
[0159] Fig. 7 is a diagram illustrating puncturing and shortening with a cyclic buffer. At 602 in Fig. 7, code bits of a code word are illustrated in a vertical column, with punctured and shortened bits as shown. At 604, Fig. 7 illustrates a cyclic buffer, represented by a circle shape, and reading of code bits with no puncturing or shortening. The next two circles illustrate, respectively, cyclic buffers with dashed lines representing puncturing from the beginning of the buffer at 606 and shortening from the end of the buffer at 608.
[0160] Another polar code rate matching example involves an incremental freezing HARQ method, wherein transmissions of multiple short code words are supported. As more short codes are transmitted, the overall code length increases, and the overall code rate decreases.
[0161] In the first transmission, an (M1, K) polar code is constructed, encoded and transmitted. M1 is the first transmitted code length, K is the number of the first transmitted information bits. The first code rate is R1=K / M1. Usually, the code rate is determined such that R1<C1, wherein C1 is the channel capacity of the first transmission. But in the case of faded channel or inaccurate channel estimation, there may be the inequality R1>C1, and decoding will fail and a second transmission is required.
[0162] In the second transmission, K2 least reliable information bits are selected from the K information bits in the first transmission. In practice, K2 is chosen according to the estimated channel capacity of the second transmission. An (M2, K2) polar code is constructed accordingly and encoded and transmitted. M2 is the second transmitted code length, K2 is the number of the second transmitted information bits. However, if R2>C2, and decoding will fail again and a third transmission is required. The third and fourth transmissions are constructed similarly, and so on.
[0163] At the receiver side, the decoder should always decode the last received code word, because it has the lowest code rate and thus the best chance of successful decoding. After the last transmission is correctly decoded, the corresponding information bits in all previous transmissions become known, and can be decoded as frozen bits with known values. This process is repeated as more code words are decoded, until all K bits in the first transmission is decoded. The term “incremental freezing” refers to the operations to additionally freeze some information bits in the previous transmissions once a later transmitted code word is decoded. Fig. 8 shows an example of the encoding process for 4 transmissions, wherein M1=M2=M3=M4=16, and K1=12, K2=6, K3=4, K4=3. M3 is the third transmitted code length, M4 is the fourth transmitted code length, K3 is the number of the third transmitted information bits, and K4 is the number of the fourth transmitted information bits.
[0164] Parity-check (PC) polar codes may be used to improve the minimum code distance of the original polar codes. Values of PC bits are determined by their preceding information bits, and specifically, binary linear combinations of a subset of preceding information bits. In one proposal of PC polar codes to support IR-HARQ, the PC bits are used to coupling multiple retransmissions into a longer polar code with extra coding gain.
[0165] The PC functions currently used for IR-HARQ are also a special case, wherein some information bits are copied from the initial transmitted code block to a retransmitted code block. This one-to-one parity checking between the two shorter code blocks effectively couples the two code blocks into a longer code block.
[0166] For example, the initial transmission is a (M1=8, K=5) polar code, wherein {u0, u1, u2, u3, u4} is the information set, and {u5, u6, u7} is the frozen set. Its encoding process is shown in Fig. 9. In this example, bit indices are in decreasing order of reliability.
[0167] In the first retransmission, four additional code bits are transmitted. These four bits are coupled with the initially transmitted 8 bits to form a (M2=12, K=5) polar code. The coupling is achieved by copying the value of u4 to u8 during encoding, thus generating a PC function u4 + u8 = 0, or equivalently a PC function u8 = u4. As said, the largest index in this PC function corresponds to the PC bit (here u8) . During decoding, u4 decoded as an information bit, while u8 is decoded as a PC bit using u8 = u4. With {u0, u1, u2, u3, u8} as the information set, {u4} as the PC set, and {u5, u6, u7, u9, u10, u11} as the frozen set, the encoding process is shown in Fig. 10.
[0168] In the second retransmission, the remaining four bits c12, c13, c14, c15 are transmitted to form a (M3=16, K=5) polar code. But no new PC bits are generated.
[0169] From the polar transform matrix point of view, the three transmissions with effective code lengths M1=8, M2=12, M3=16, are showed in Fig. 11.
[0170] Because a polar code with arbitrary length is always rate matched from a mother polar code of length 2n, wherein n is a non-negative integer, determining the mother code length is a crucial step in the encoding chain of polar codes.
[0171] An example polar coding scheme for determining mother code length is as follows. An example of the pseudocodes of the current mother code length calculating method is shown below:
[0172] Denote by E the rate matching output sequence length;
[0173] If and K / E<9 / 16
[0174] else
[0175] end if
[0176] Rmin=1 / 8;
[0177] n=max {min {n1, n2, nmax} , nmin} ,
[0178] wherein nmin=5. E is the rate matching output sequence length, which refers to the transmitted code length M. K is the number of the information bits. Rmin is the minimum code rate, nmin is the minimum mother code length Nmin in logarithm domain, nmax is the maximum mother code length Nmax in logarithm domain, n1 is a first stage mother code length N1 in logarithm domain, n2 is a second stage mother code length N2 in logarithm domain.
[0179] In summary, the principles for determining mother code length are:
[0180] 1. The mother code length should be larger than the rate matching output sequence length to allow for puncturing or shortening.
[0181] 2. The mother code length should be no larger than the maximum mother code length.
[0182] 3. The mother code length should be no larger than twice the rate matching output sequence length to avoid too much puncturing or shortening.
[0183] 4. The mother code length should be no smaller than the minimum mother code length.
[0184] 5. The mother code rate should be no smaller than the minimum code rate, wherein the mother code rate is defined by K / N, N is the mother code length.
[0185] The polar coding examples described above have only one mother code length, or determine the mother code length for only one transmission. However, this mother code determination scheme cannot be applied for polar code with retransmissions, or with multiple redundancy versions:
[0186] If the mother code length is only designed for an initial transmission, the length does not consider the possibility of potential retransmissions, which requires a longer mother code. And In examples with only one mother code length, additional different mother code lengths will need to be defined for multiple transmissions or multiple redundancy versions.
[0187] In order to support potential retransmissions, e.g., incremental-redundancy HARQ, some embodiments of the present disclosure extend the mother code length to be more than twice the rate matching output sequence length. On the one hand, the mother code length needs to be increased based on current design to allow one or more retransmissions; on the other hand, the mother code length cannot exceed certain value for low complexity consideration.
[0188] The following descriptions are some detailed examples of polar codes for present disclosure.
[0189] Referring to Fig. 12, as an illustrative example without limitation, a simplified flow illustration of the encoding method is provided.
[0190] As shown in Fig. 12, the encoding method includes the following steps 710 and 720. The executing entity of the encoding method may be a device or an apparatus in the device, wherein the device or the apparatus may include an encoder of polar codes. In some embodiments the apparatus may be a communication module, a modem, or a chip in the device.
[0191] Step 710, determining a plurality of mother code lengths.
[0192] In the embodiments of the present disclosure, the scenarios that at least a retransmission is required or a plurality of redundancy versions are transmitted in a certain transmission are considered in encoding process. Therefore a plurality of mother code lengths are needed to be determined based on the communications systems.
[0193] In some embodiments, the plurality of mother code lengths could be determined based on the number of retransmissions or redundancy versions. And in some embodiments, determining a plurality of mother code lengths may be based on at least one parameter of the followings, such as a minimum code rate, a maximum code rate, a minimum mother code length, a maximum mother code length, a rate matching output length, an index of redundancy version, a transmission index, a number of transmissions or a self-decodable indicator.
[0194] Step 720, encoding a plurality of information bits based on the plurality of mother code lengths to obtain a plurality of code words, wherein the plurality of code words correspond to the plurality of mother code lengths.
[0195] In some embodiments, a plurality of sequences may be obtained according to the plurality of mother code lengths, and a plurality of information bit sets may be obtained according to the plurality of sequences. In the encoding process, the plurality of information bit sets may be encoded to a new sequence, which corresponds to a plurality of code words.
[0196] In Fig. 13 as an illustrative example without limitation, a simplified flow illustration of the decoding method is provided. As shown in Fig. 13, the decoding method includes the following steps 730 and 740. The executing entity of the decoding method may be a device or an apparatus in the device, wherein the device or the apparatus may include a decoder of polar codes. In some embodiments the apparatus may be a communication module, a modem, or a chip in the device.
[0197] Step 730, obtaining a plurality of code words, and the plurality of code words correspond to a plurality of mother code lengths.
[0198] In some embodiments, before decoding, the plurality of code words may be converted to a plurality of first sequences by demodulation or other ways. In the embodiments of the disclosure, no specific limitation is imposed on the ways of obtaining the plurality of first sequences.
[0199] In some embodiments, a number of the plurality of first sequences is related to at least one of the followings: a number of redundancy versions, a number of transmission times, and a self-decodable indicator. The number of the plurality of first sequences is related to the number of the plurality of code words. And the number of the plurality of code words is related to a number of the plurality of mother code lengths. In some embodiments, different number of the plurality of mother code lengths may be determined with different number of redundancy versions, different number of transmission times, or different self-decodable indicator. In some embodiments, the flexible decoding process may be executed according to the number of the plurality of first sequences, and the communication systems may be able to support multiple scenarios with different transmission times or redundancy versions, which is very useful and convenient in transmission process.
[0200] Step 740, decoding the plurality of code words to obtain a plurality of sequences, and the plurality of sequences correspond to the plurality of information bits.
[0201] In some embodiments, SCL algorithm may be operated during the decoding process. Then after CRC process, the device may output the plurality of sequences including the plurality of information bits. In some embodiments, another algorithm and technique may be used in decoding. In the embodiments of the disclosure, no specific limitation is imposed on the algorithm and technique in decoding.
[0202] Some embodiments of the present disclosure may provide methods of determination of mother code lengths for polar codes in scenarios in which longer or multiple mother codes may be required.
[0203] Methods of determination of mother code lengths for polar codes are introduced in details below.
[0204] In order to support multiple redundancy versions or aggregations levels, some embodiments of the present disclosure specify multiple mother code lengths.
[0205] Some example methods of determining polar mother code length include the following features:
[0206] In these cases the schemes of polar codes include at least one extended mother code length:
[0207] In some embodiments, methods of determination of mother code length may be based on the fixed mother code length extension. An extended mother code length may be obtained based on the current calculated mother code length. For example the extended mother code length may be obtained by multiplying the current calculated mother code length by a fixed number of extension times. The fixed number of extension times is one of the factors used to determining mother code length. The extended mother code length is related to retransmissions, redundancy versions, or other scenarios.
[0208] At this time methods of determination of mother code length include the following features of the fixed number of extension times:
[0209] The fixed number of extension times is pre-defined in a standard.
[0210] The fixed number of extension times is signaled by DCI or configured in RRC.
[0211] In some embodiments the fixed number of extension times may be obtained by the transmitters though several ways, such as signaling the transmitters by DCI, configuring in RRC and so on. In the embodiments of the disclosure, no specific limitation is imposed on the ways transmitting the number of fixed extension times.
[0212] The fixed number of extension times is related to device capability, which can be derived from other non-channel-coding parameters.
[0213] The fixed number of extension times is related to uplink or downlink, and / or traffic type (e.g., data channel, control channel) .
[0214] The fixed number of extension times is related to communication scenario (e.g., Enhanced Mobile Broadband (eMBB) , Ultra-Reliable Low-Latency Communications (URLLC) ) .
[0215] The fixed number of extension times can be 2, 4, 8, 16 or larger. I. e., it is a power-of-2 integer.
[0216] In some embodiments the fixed number of extension times is related to an index of redundancy version, a transmission index, a number of transmissions and so on, which means the fixed number of extension times may or may not be the same in the different transmission or the different index of redundancy version of polar codes. In the embodiments of the disclosure, no specific limitation is imposed on the value of the fixed number of extension times.
[0217] In some embodiments, methods of determination of mother code length may be based on a maximum mother code length. No matter what the current calculated mother code length is, the current calculated mother code length may be extended until it reaches the maximum mother code length, or the extended mother code length may be fixed to the maximum mother code length. The maximum mother code length is one of the factors used to determining mother code length.
[0218] At this time methods of determination of mother code length include the following features of the maximum mother code length:
[0219] The maximum mother code length is pre-defined in a standard;
[0220] The maximum mother code length is signaled by DCI or configured in RRC;
[0221] The maximum mother code length is related to device capability, which can be derived from other non-channel-coding parameters;
[0222] The maximum mother code length is related to uplink or downlink, and / or traffic type (e.g., data channel, control channel) ;
[0223] The maximum mother code length can be 2, 4, 8, 16 or larger. I. e., it is a power-of-2 integer.
[0224] Then, considering both the above two factors, methods of determination of mother code lengths may include at least one of the following:
[0225] The first aspect is modifying the current mother code length calculating method, such that the parameter “the fixed number of extension times” is included, and thus mother code extension is taken into consideration when determining the extended mother code length. At this time the method of determination of mother code lengths ensures that the extended mother code length does not exceed the maximum mother code length; otherwise, the fixed number of extension times may set to be a fixed value according to features of the fixed number of extension times.
[0226] The second aspect is keeping the current mother code length calculating formula, which does not involve the parameter “the fixed number of extension times” , but decides whether to extend the current calculated mother code by the fixed number of extension times according to the features of the fixed number of extension times or fewer times. If the extended mother code length does not exceed the maximum mother code length, then do nothing. Otherwise, reduce the number of extension times until the maximum mother code length is not exceeded. [Note that the two aspects may lead to different current calculated mother code lengths which are obtained with different methods. (e.g., the current calculated mother code lengths are related to the initial transmission or retransmissions) .
[0227] In these cases the schemes of polar codes with multiple mother code lengths are as follows:
[0228] 1. In the case that the multiple mother code lengths include a mother code length for an initial transmission and an extended mother code length for all retransmissions:
[0229] Two mother code lengths are defined. One is shorter, called the initial mother code length, for initial transmission; and the other is longer, called the extended mother code length, for all the possible retransmissions. Note that the longer extended mother code length includes the initial mother code length.
[0230] One short mother code length is defined (e.g., using the method in methods of determination of mother code length based on the fixed mother code length extension) , and the longer mother code length is defined with respect to the short mother code length.
[0231] The longer mother code length is defined (e.g., using the method in methods of determination of mother code length based on a maximum mother code length) , and the short mother code length is defined with respect to the longer mother code length.
[0232] Two mother code lengths are defined at the same time (e.g., using the method in methods of determination of mother code length based on the fixed mother code length extension and methods of determination of mother code length based on a maximum mother code length) .
[0233] 2. In the case that the multiple mother code lengths include a mother code length for each of the retransmissions, or each of the redundancy versions:
[0234] Using this definition, the mother code length for each transmission and retransmission are separately defined. And one mother code length does not include another mother code length.
[0235] In some scenarios, the retransmissions opportunities are pre-defined or pre-scheduled, i.e., without the need to request a retransmission using NACK. This is called blind retransmission. In this case, the mother code length can be the same for each retransmission (or redundancy version) for simplicity, or monotonically increasing for higher reliability, or monotonically decreasing for higher spectrum efficiency.
[0236] Fig. 14 is a block diagram of methods of determination of mother code lengths. In Fig. 14, the first mother code length refers to the short mother code length, such as the initial mother code length for the initial transmission. And the second mother code length refers to the longer mother code length, such as the mother length for retransmissions. In some embodiments, the short mother code length and the longer mother code length may relate to different redundancy version.
[0237] Control channel, also known as CC, is mainly used for transmitting signaling or synchronizing data in multi-channel shared communication systems. In analog cellular systems, it mainly consists of paging and access channels. In digital cellular systems, it mainly consists of broadcast channels, public control channels, and dedicated control channels. Data channel is the key to the flexibility of mobile communication systems and the introduction of new services. Data channels can provide high-speed data transmission services for mobile users. Control channel will provide high-speed signaling transmission services for network management and introduce new business services such as integrated digital services.
[0238] In scenario of data channel encoding or control channel encoding, the initial mother code length and the mother code length for retransmissions may be obtained according to the minimum mother code rate Rmin, the rate matching output length E, and the maximum mother code length. In some embodiments of the present disclosure, the mother code length of data channel and control channel are different, which means the initial mother code length of data channel is different from that of control channel, and the extended mother code length for retransmissions of data channel is different from that of control channel. In some embodiments of the present disclosure, the mother code length of data channel is longer than that of control channel, which means the initial mother code length of data channel is longer than that of control channel, and the extended mother code length for retransmissions of data channel is longer than that of control channel.
[0239] In some embodiments the number of mother code lengths and the order of determination of mother code lengths may be different in different situations. The principles of methods of determination of mother code lengths in different situations are as follows:
[0240] In the first situation, in the case of “optional retransmission” , which means that retransmissions may not occur, the initial mother code length for the initial transmission may be determined first. Therefore in the subsequent retransmissions, mother code lengths for retransmissions may be determined based on the initial mother code length. For example, mother code lengths for retransmissions may be obtained by multiplying the initial transmission mother code length with the first coefficient. And mother code length for different retransmission may relate to different value of the first coefficient. In some embodiments the mother code length for retransmission refers to the extended mother code length.
[0241] In the second situation, in the case of “forced retransmission” , which means that at least one retransmission will definitely occur, at least one mother code length for retransmission may be determined first. And the initial mother code length may be obtained depend on the mother code length for retransmission. For example, the initial mother code length may be obtained by dividing the mother code length for retransmission with the first coefficient. Other mother code lengths for retransmissions may also be determined depend on the mother code length for retransmission. For example, other mother code lengths for retransmissions may be obtained by multiplying the mother code length for retransmission with different values of the first coefficient.
[0242] In the third situation, if transmission resources need to be pre-allocated, the reference mother code length will be determined first. And mother code lengths for transmissions (including the initial transmission and retransmissions) , or redundancy versions could be obtained based on the reference mother code length. For example, the initial mother code length, each of mother code lengths for retransmissions, or each of mother code lengths for redundancy versions may be obtained by dividing the reference mother code length with different values of the first coefficients.
[0243] In some embodiments, there may be some other principles of methods of determination of mother code lengths in other situations. In the embodiments of the disclosure, no specific limitation is imposed on the principles of methods of determination of mother code lengths in other situations.
[0244] In some embodiments, the extended mother code length may be obtained based on the first stage mother code length N1, the second stage mother code length N2 and the third stage mother code length N3.
[0245] The first stage mother code length may be calculated according to the rate matching output sequence length E, the number of the information bits K to be encoded, a minimum code rate Rmin, a minimum mother code length Nmin, and a maximum mother code length Nmax. Note that the rate matching output sequence length may specifically be the length for the initial (first) transmission, or the first redundancy version (with rvid=0) .
[0246] Specifically, a few quantities may be defined beforehand:
[0247] The first stage mother code length N1 is determined in any of the following ways:
[0248] In the first case, the first stage mother code length N1 is the smallest power-of-2 integer which is larger than (or no smaller than) the rate matching output length E.
[0249] In the second case, the first stage mother code length N1 is the largest power-of-2 integer which is smaller than (or no larger than) the rate matching output length E.
[0250] The minimum code rate (or minimum mother code rate) Rmin is determined in any of the following ways:
[0251] The value of the minimum code rate may be pre-defined in standard specification, e.g., 3 / 4, 2 / 3, 1 / 2, 2 / 5, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, 1 / 8, 1 / 9, 1 / 10, 3 / 32, 1 / 12, 1 / 16, 1 / 32, 1 / 64.
[0252] The value of the minimum code rate may be determined depends on traffic or services types, e.g., 3 / 32 for low-power devices such as for Massive Machine Type Communication (mMTC) or Internet of Things (IoT) , and 1 / 9 for sidelink traffic and downlink control information, and 1 / 6 or 1 / 8 for uplink control information, and 1 / 3 or 1 / 4 for eMBB data traffics, and 3 / 4 or 1 / 2 for immersive data traffic (high throughput up to 1Tbps) .
[0253] The value of the minimum code rate may be flexibly configured through RRC or other means, by a base station to adapt to a situation.
[0254] The second stage mother code length N2 is determined in any of the following ways:
[0255] In the first case, the second stage mother code length N2 is the smallest power-of-2 integer which leads to a mother code rate, defined as K / N2, is smaller than (or no larger than) the minimum code rate Rmin.
[0256] In the second case, the second stage mother code length N2 is the largest power-of-2 integer which leads to a mother code rate, defined as K / N2, is larger than (or no smaller than) the minimum code rate Rmin.
[0257] The maximum mother code length Nmax is determined in any of the following ways:
[0258] The value of the maximum mother code length Nmax may be pre-defined in standard specification, e.g., 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768.
[0259] The value of the maximum mother code length Nmax may be the same as the length of a nested reliability sequence of the polar code.
[0260] In some embodiments the nested reliability sequence of the polar code that defined the reliability of each subchannel may or may not be set in the standard. In the embodiments of the disclosure, no specific limitation is imposed on the nested reliability sequence of the polar code.
[0261] The value of the maximum mother code length may be depends on traffic or services types, e.g., 128 for low-power devices such as for mMTC or IoT, and 512 for sidelink traffic and downlink control information, and 1024 for uplink control information, and 4096 or 8192 for eMBB data traffics, and 1024 or 2048 for immersive data traffic (high throughput up to 1Tbps) .
[0262] The value of the maximum mother code length may be flexibly configured through RRC or other means, by a base station to adapt to a situation.
[0263] The minimum mother code length Nmin is determined in any of the following way:
[0264] The value of the minimum mother code length may be pre-defined in standard specification, e.g., 16, 32, 64, 128.
[0265] The value of the minimum mother code length may be depends on traffic or services types, e.g., 16 for low-power devices such as for mMTC or IoT, and 32 for sidelink traffic and downlink control information, and 64 for uplink control information, and 128 or 256 for eMBB data traffics, and 32 or 64 for immersive data traffic (high throughput up to 1Tbps) .
[0266] The value of the minimum mother code length may be flexibly configured through RRC or other means, by a base station to adapt to a situation.
[0267] With the above quantities, there are several different methods to determine the mother code lengths (including the mother code lengths related to the initial transmission, retransmissions and different redundancy versions) :
[0268] Step 1a-2a of the first method of determination of mother code lengths is described below.
[0269] Step 1a, determining the minimum of N1, N2 and a pre-defined value N3, i.e., N’ =min {N1, N2, N3} .
[0270] Wherein the pre-defined value N3 can be independent from Nmax, e.g., N3=512.
[0271] Or the pre-defined value N3 can be derived from Nmax, e.g., N3 = Nmax / 2, N3 = Nmax / 4, or N3 = Nmax×2.
[0272] Step 2a, determining the first current calculated mother code length Na by determining the maximum between the above minimum in step 1a and Nmin, i.e., N=max {N’ , Nmin} . In some embodiments, the initial mother code length and the extended mother code length may be obtained based on the first current calculated mother code length Na.
[0273] For example, the extended mother code length may be equal to the current calculated mother code length Na. Or the extended mother code length may be equal to the first current calculated mother code length Na multiplied by the fixed number of extension times. The initial mother code length may be equal to the current calculated mother code length Na. Or the initial mother code length may be equal to the first current calculated mother code length Na multiplied by a constant.
[0274] In the embodiments of the disclosure, no specific limitation is imposed on the method of obtaining the initial mother code length and extended mother code length based on the first method.
[0275] An example of the pseudocodes of the first method are below (in logarithm domain, e.g., n=log2N) . n1
[0276] n3=nmax-1;
[0277] na=max {min {n1, n2, n3} , nmin} .
[0278] Wherein, n3 is a third stage mother code length N3 in logarithm domain, na is the first current calculated mother code length in logarithm domain.
[0279] Step 1b-3b of the second method of determination of mother code lengths is described below.
[0280] Step 1b, determining the minimum of N1, N2 and Nmax, i.e., N’ =min {N1, N2, Nmax}
[0281] Step 2b, determining the initial mother code length Nini as the maximum between the above minimum in step 1b and Nmin, i.e., Nini =max {N’, Nmin} .
[0282] Step 3b, determining the extended mother code length Nest by multiplying the above length Nini by C, i.e., Nest=C×Nini, where C is constant power-of-two value specified in standard, e.g., C=2, C=4, C=8, C=16. C is the fixed number of extension times.
[0283] Wherein C depends on the channel type, e.g., C=2 for downlink and C=4 for uplink, or C=1 for downlink and C=2 for uplink; or C=1 for control signals and C=2 for data traffic.
[0284] In the logarithm domain, multiple by C is equivalent to add c=log2C, e.g., Nest =C×N is equivalent to nest=c+n. nest is the extended mother code length in logarithm domain.
[0285] An example of the pseudocodes of the second method are below (in logarithm domain, e.g., n=log2N) :
[0286] nini=max {min {n1, n2, nmax} , nmin} ;
[0287] nest=1+nini.
[0288] Step 1c-3c of the third method of determination of mother code lengths is described below.
[0289] Step 1c, determining the minimum of N1, N2 and Nmax, i.e., N’ =min {N1, N2, Nmax} .
[0290] Step 2c, determining the current calculated mother code length, or called the initial mother code length, as the maximum between the above minimum in step 1c and Nmin, i.e., Nini=max {N’ , Nmin} .
[0291] Step 3c, determining the extended mother code length Nest using a fixed value.
[0292] Wherein the fixed value can be the maximum mother code length Nmax.
[0293] Wherein the fixed value can be a pre-defined mother code length, which can be either independent from Nmax, or derived from Nmax, e.g., Nest = Nmax / 2, or Nest = Nmax×2.
[0294] An example of the pseudocodes of the third method are below (in logarithm domain, e.g., n=log2N) :
[0295] n″=max {min {n1, n2, nmax} , nmin} ;
[0296] nex=12.
[0297] Step 1d-3d of the fourth method of determination of mother code lengths is described below.
[0298] Step 1d, determining the minimum of N1, N2 and Nmax, i.e., N’ =min {N1, N2, Nmax} .
[0299] Step 2d, determining the current calculated mother code length, or called the initial mother code length Nini as the maximum between the above minimum in step 1d and Nmin, i.e., N” =max {N’, Nmin} .
[0300] Step 3d, determining the extended mother code length Nest by multiplying the initial mother code length Nini by a fixed value, i.e., Nest =C×N”, which should be also no larger than the maximum mother code length.
[0301] Wherein C is constant power-of-two value specified in standard, e.g., C=2, C=4, C=8, C=16.
[0302] Wherein C depends on the channel type, e.g., C=2 for downlink and C=4 for uplink, or C=1 for downlink and C=2 for uplink; or C=1 for control signals and C=2 for data traffic.
[0303] In the logarithm domain, a constant multipled by C is equivalent to add c, wherein c=log2C, e.g., Nest =C×Nini is equivalent to n=c+n”.
[0304] If the extended mother code length obtained by the above method is larger than Nmax, it will be set to Nest =Nmax.
[0305] An example of the pseudocodes of the fourth method are below (in logarithm domain, e.g., n=log2N) :
[0306] nini=max {min {n1, n2} , nmin}
[0307] next=min {1+n″, nmax}
[0308] Note that all the above four methods can be represented in the logarithm domain.
[0309] The following description is the detailed introduction of the principles of methods of determination of mother code lengths for polar codes in different situations.
[0310] In some embodiments of the present disclosure, the mother code length may be defined according to a different order of determination. For example, in the HARQ retransmission scenario, some retransmissions are optional, while some others are mandatory.
[0311] In the first situation, corresponding to the “optional retransmission” case, a mother code length is defined for initial transmission, but an extended mother code length may not need to be defined for retransmission (s) . In this case, the initial mother code length is preferentially defined first, and then an extended mother code length that is derived from the initial mother code length is defined later.
[0312] Denote by Nini the initial mother code length, and Nest the extended mother code length, the method of the first situation can be described as:
[0313] Determine the initial mother code length Nini.
[0314] use any of the information described in methods of determination of the extended mother code lengths for polar codes to obtain Nini
[0315] Derive the extended mother code length Nest from Nini
[0316] Nest = f (Nini) , where f (·) is a function that can be multiplied by a constant, where in some cases the constant can be a power-of-2 integer.
[0317] The pseudocodes of the method in the first situation are below (in logarithm domain, e.g., n=log2N) :
[0318] n3=nmax-1;
[0319] nini=max {min {n1, n2, n3} , nmin}
[0320] next=nini+1
[0321] In some embodiments the pseudocodes of the method in the first situation is an example according to the description of the method of the first situation, which means values of n1, n2, n3, nini, nest may be different in other pseudocodes of the method in the first situation.
[0322] In the second situation, corresponding to the “mandatory retransmission” case, both a mother code length for initial transmission and an extended mother code length for retransmission (s) are defined. In this case, the longer extended mother code length may be defined first, and then the partial length corresponding to the initial transmission is specified.
[0323] Using the same definition of Nini and Nest, the method of the second situation can be described as:
[0324] Determine the extended mother code length Nest
[0325] use any of the methods described in methods of determination of mother code lengths for polar codes to obtain Nest
[0326] Derive the initial mother code length Nini from Nest
[0327] Nini = f (Nest) , where f (·) is a function that can be divide by a constant, where in some cases the constant can be a power-of-2 integer.
[0328] The pseudocodes of the method in the second situation are below (in logarithm domain, e.g., n=log2N) :
[0329] n″=max {min {n1, n2} , nmin}
[0330] next=min {1+n″, nmax}
[0331] nini=next-1
[0332] Note that all the above methods in the present disclosure can be represented in the logarithm domain.
[0333] In some embodiments the pseudocodes of the method in the second situation is an example according to the description of the method of the second situation, which means values of n1, n2, n3, nini, nest may be different in other pseudocodes of the method in the second situation.
[0334] In the third situation, the mother code length of multiple retransmissions (or redundancy versions) can be determined all at once. For example, in some so-called blind retransmission cases, the resources for retransmissions are pre-allocated. Therefore, the mother length of each retransmission can also be pre-determined.
[0335] Specifically, the reference mother code length Nref can be defined, and then several mother code lengths for each (re) transmission Nrv0, Nrv1, Nrv2, Nrv3 …can be defined with respect to Nref. Steps are as follows:
[0336] 1. Determining the reference mother code length Nref by using any of the methods described in methods of determination of mother code lengths for polar codes.
[0337] 2. Deriving the mother code lengths Nrv0, Nrv1, Nrv2, Nrv3 …for each redundancy version.
[0338] Nrv0 = f0 (Nref) , Nrv1 = f1 (Nref) , Nrv2 = f2 (Nref) , Nrv3 = f3 (Nref) , …, wherein f0 (·) , f1 (·) , f2 (·) and f3 (·) are functions that can be either multiplied by a constant or divided by a constant. Here the constants can be power-of-2, but in some cases can also be “power-of-2 minus 1” , or the difference between two different power-of-2 integers.
[0339] In the first example there are two transmissions, including an initial transmission and a retransmission. If the reference mother code length Nref is 1024, the mother code lengths for each transmission can be set using the following options:
[0340] Option A: Nrv0 = Nref =1024; Nrv1 = Nref =1024;
[0341] Option B: Nrv0 = Nref =1024; Nrv1 = Nref / 2=512; (or Nrv0 = Nref =512; Nrv1 = Nref / 2=256) .
[0342] If the reference mother code length Nref is 512, the mother code lengths for each transmission can be set using the following options:
[0343] Option C: Nrv0 = Nref =512, Nrv1 = 2×Nref =1024;
[0344] Option D: Nrv0 = Nref =512, Nrv1 = 3×Nref =1536.
[0345] In the second example there are four transmissions, including an initial transmission and three retransmissions (or a subset of the three retransmissions) . If the reference mother code length Nref is 512, the mother code lengths for each transmission can be set using the following options:
[0346] Option A: Nrv0 = Nref =512; Nrv1 = Nref =512; Nrv3 = Nref =512; Nrv4 = Nref =512;
[0347] Option B: Nrv0 = Nref =512; Nrv1 = Nref / 2=256; Nrv3 = Nref =512; Nrv4 = Nref / 2 =256; (or Nrv0 = 2×Nref =1024; Nrv1 = Nref =512; Nrv3 = 2×Nref =1024; Nrv4 = Nref =512)
[0348] Option C: Nrv0 = Nref =512, Nrv1 = Nref =512; Nrv3 = 2×Nref =1024; Nrv4 = 4×Nref =2048;
[0349] Option D: Nrv0 = Nref =512, Nrv1 = Nref =512; Nrv3 = 3×Nref =1536; Nrv4 = 3×Nref =1536.
[0350] Note that the mother code lengths for each transmission of all the above options in the first example and the second example can be extended (meaning the current four transmissions are a subset of more than four transmissions) , or reduced (meaning the current four transmissions are a superset of less than four transmissions) .
[0351] Some embodiments of the present disclosure may enable advantageous effects such as:
[0352] Flexibility in determining the mother code lengths of a polar code, and support for multiple mother code lengths.
[0353] Although this disclosure refers to illustrative embodiments, this is not intended to be construed in a limiting sense. Various modifications and combinations of the illustrative embodiments, as well as other embodiments of the disclosure, will be apparent to persons skilled in the art upon reference to the description.
[0354] Features disclosed herein in the context of any particular embodiments may also or instead be implemented in other embodiments. Method embodiments, for example, may also or instead be implemented in apparatus, system, and / or computer program product embodiments. In addition, although embodiments are described primarily in the context of methods and apparatus, other implementations are also contemplated, as instructions stored on one or more non-transitory computer-readable media, for example. Such media could store programming or instructions to perform any of various methods consistent with the present disclosure.
[0355] Although aspects of the present invention have been described with reference to specific features and embodiments thereof, various modifications and combinations can be made thereto without departing from the invention. The description and drawings are, accordingly, to be regarded simply as an illustration of some embodiments of the invention as defined by the appended claims, and are contemplated to cover any and all modifications, variations, combinations or equivalents that fall within the scope of the present invention. Therefore, although embodiments and potential advantages have been described in detail, various changes, substitutions and alterations can be made herein without departing from the invention as defined by the appended claims. Moreover, the scope of the present application is not intended to be limited to the particular embodiments of the process, machine, manufacture, composition of matter, means, methods and steps described in the specification. As one of ordinary skill in the art will readily appreciate from the disclosure of the present invention, processes, machines, manufacture, compositions of matter, means, methods, or steps, presently existing or later to be developed, that perform substantially the same function or achieve substantially the same result as the corresponding embodiments described herein may be utilized according to the present invention. Accordingly, the appended claims are intended to include within their scope such processes, machines, manufacture, compositions of matter, means, methods, or steps.
[0356] Moreover, any module, component, or device exemplified herein that executes instructions may include or otherwise have access to a non-transitory computer readable or processor readable storage medium or media for storage of information, such as computer readable or processor readable instructions, data structures, program modules, and / or other data. A non-exhaustive list of examples of non-transitory computer readable or processor readable storage media includes magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, optical disks such as compact disc read-only memory (CD-ROM) , digital video discs or digital versatile disc (DVDs) , Blu-ray DiscTM, or other optical storage, volatile and non-volatile, removable and non-removable media implemented in any method or technology, random-access memory (RAM) , read-only memory (ROM) , electrically erasable programmable read-only memory (EEPROM) , flash memory or other memory technology. Any such non-transitory computer readable or processor readable storage media may be part of a device or accessible or connectable thereto. Any application or module herein described may be implemented using instructions that are readable and executable by a computer or processor may be stored or otherwise held by such non-transitory computer readable or processor readable storage media.
[0357] Simple standard description and low complexity.
[0358] The present disclosure encompasses various embodiments, including not only method embodiments, but also other embodiments such as apparatus embodiments and embodiments related to non-transitory computer readable storage media. Embodiments may incorporate, individually or in combinations, the features disclosed herein.
[0359] Although this disclosure refers to illustrative embodiments, this is not intended to be construed in a limiting sense. Various modifications and combinations of the illustrative embodiments, as well as other embodiments of the disclosure, will be apparent to persons skilled in the art upon reference to the description.
[0360] Features disclosed herein in the context of any particular embodiments may also or instead be implemented in other embodiments. Method embodiments, for example, may also or instead be implemented in apparatus, system, and / or computer program product embodiments. In addition, although embodiments are described primarily in the context of methods and apparatus, other implementations are also contemplated, as instructions stored on one or more non-transitory computer-readable media, for example. Such media could store programming or instructions to perform any of various methods consistent with the present disclosure.
[0361] Acronyms, Abbreviations, and Initialisms
Claims
1.A method comprising:determining a plurality of mother code lengths;encoding a plurality of information bits based on the plurality of mother code lengths to obtain a plurality of code words, wherein the plurality of code words correspond to the plurality of mother code lengths.2.The method of claim 1,wherein determining a plurality of mother code lengths comprising:determining a plurality of mother code lengths based on a set of parameters, wherein the set of parameters comprising one or more of the following:a minimum code rate, a maximum code rate, a minimum mother code length, a maximum mother code length, a rate matching output length, an index of redundancy version, a transmission index, a number of transmission times, a self-decodable indicator.3.The method of claim 2,wherein each of the plurality of mother code lengths is related on a mother code length parameter and a first coefficient.4.The method of claim 3,wherein a method for obtaining the mother code length parameter comprises:obtaining a rate matching output length, a number of the plurality of information bits, a minimum code rate, and a minimum mother code length;obtaining a first stage mother code length based on the rate matching output length;obtaining a second stage mother code length based on the number of the plurality of information bits and the minimum code rate;obtaining a third stage mother code length;obtaining the mother code length parameter based on the first stage mother code length, the second stage mother code length, the third stage mother code length, and the minimum mother code length.5.The method of claim 4,wherein the first stage mother code length is the smallest power-of-2 integer which is larger than the rate matching output length.6.The method of claim 4,wherein the first stage mother code length is equal towherein E is the rate matching output length.7.The method of claim 4,wherein the first stage mother code length is the largest power-of-2 integer which is smaller than the rate matching output length.8.The method of claim 7,wherein the first stage mother code length is equal towherein E is the rate matching output length.9.The method of any one of claims 4 to 8,wherein the mother code length parameter is related to one or more of the followings:a number of transmission times, a type of channel, an index of redundancy version, and a communication scenario.10.The method of any one of claims 4 to 9,wherein the second stage mother code length is the smallest power-of-2 integer which leads to the second mother code rate is smaller than the minimum code rate, wherein the second mother code rate is the quotient of the number of the plurality of information bits and the second stage mother code length.11.The method of claim 7,wherein the second stage mother code length is equal towherein K is the number of the plurality of information bits and Rmin is the minimum code rate.12.The method of any one of claims 4 to 9,wherein the second stage mother code length is the largest power-of-2 integer which leads to the second mother code rate is larger than the minimum code rate, wherein the second mother code rate is the quotient of the number of the plurality of information bits and the second stage mother code length.13.The method of claim 12,wherein the second stage mother code length is equal towherein K is the number of the plurality of information bits and Rmin is the minimum code rate.14.The method of any one of claims 4 to 13,wherein the minimum code rate is related to one or more of the followings: a number of transmission times, a type of channel, a type of service, an index of redundancy version, and a communication scenario.15.The method of any one of claims 4 to 14,wherein the minimum code rate is the same as a first constant.16.The method of any one of claims 4 to 15,wherein the third stage mother code length is the same as a second constant.17.The method of any one of claims 4 to 16,wherein obtaining the third stage mother code length based on a maximum mother code length.18.The method of claim 17,wherein the maximum mother code length is related to one or more of the followings: a type of channel, a type of service, and device capability.19.The method of any one of claims 17 or 18,wherein the maximum mother code length is a power-of-2 integer.20.The method of any one of claims 17 to 19,wherein the maximum mother code length is the same as the length of a nested reliability sequence.21.The method of any one of claims 17 to 20,wherein the maximum mother code length is the same as a third constant.22.The method of any one of claims 4 to 21,wherein the minimum mother code length is the same as a fourth constant.23.The method of any one of claims 4 to 22,wherein the minimum mother code length is related to a type of channel or service.24.The method of any one of claims 17 to 23,wherein one of the plurality of mother code lengths is the same as the maximum mother code length.25.The method of any one of claims 1 to 23,wherein the plurality of mother code lengths are equal to a plurality of constants.26.The method of any one of claim 3 to 25,wherein each of the plurality of mother code lengths is related to the product of the mother code length parameter and the first coefficient.27.The method of any one of claim 3 to 26,wherein the first coefficient is related to one or more of the followings:a number of transmission times, device capability, a type of channel, a type of service, a communication scenario, an index of redundancy version.28.The method of any one of claim 3 to 27,wherein the first coefficient is a positive integer.29.The method of any one of claim 3 to 28,wherein the first coefficient is equal to a quotient of two positive integers.30.The method of any one of claim 1 to 29,wherein encoding a plurality of information bits based on the plurality of mother code lengths, comprising:determining one or more information bits sets based on the plurality of information bits and the plurality of mother code lengths.31.The method of any one of claim 1 to 30,wherein the plurality of mother code lengths are related to at least one of the followings:polar codes, LDPC codes, Turbo codes, RM codes, convolutional codes, and product codes.32.A method comprising:obtaining a plurality of code words, wherein the plurality of code words correspond to a plurality of mother code lengths;decoding the plurality of code words to obtain a plurality of sequences, wherein the plurality of sequences correspond to the plurality of information bits.33.The method of claim 32,wherein the plurality of mother code lengths are determined based on a set of parameters, wherein the set of parameters comprising one or more of the following:a minimum code rate, a maximum code rate, a minimum mother code length, a maximum mother code length, a rate matching output length, an index of redundancy version, a transmission index, a number of transmission times, a self-decodable indicator.34.The method of claim 33,wherein each of the plurality of mother code lengths is related to a mother code length parameter and a first coefficient.35.The method of claim 34,wherein a method for obtaining the mother code length parameter comprises:obtaining a rate matching output length, a number of the plurality of information bits, a minimum code rate, and a minimum mother code length;obtaining a first stage mother code length based on the rate matching output length;obtaining a second stage mother code length based on the number of the plurality of information bits and the minimum code rate;obtaining a third stage mother code length;obtaining the mother code length parameter based on the first stage mother code length, the second stage mother code length, the third stage mother code length, and the minimum mother code length.36.The method of claim 35,wherein the first stage mother code length is the smallest power-of-2 integer which is larger than the rate matching output length.37.The method of claim 35,wherein the first stage mother code length is the largest power-of-2 integer which is smaller than the rate matching output length.38.The method of any one of claims 35 to 37,wherein the mother code length parameter is related to one or more of the followings:a number of transmission times, a type of channel, an index of redundancy version, and a communication scenario.39.The method of any one of claims 35 to 38,wherein the second stage mother code length is the smallest power-of-2 integer which leads to the second mother code rate is smaller than the minimum code rate, wherein the second mother code rate is the quotient of the number of the plurality of information bits and the second stage mother code length.40.The method of any one of claims 35 to 38,wherein the second stage mother code length is the largest power-of-2 integer which leads to the second mother code rate is larger than the minimum code rate, wherein the second mother code rate is the quotient of the number of the plurality of information bits and the second stage mother code length.41.The method of any one of claims 35 to 40,wherein the minimum code rate is related to one or more of the followings: a number of transmission times, a type of channel, a type of service, an index of redundancy version, and a communication scenario.42.The method of any one of claims 35 to 41,wherein obtaining the third stage mother code length based on a maximum mother code length.43.The method of claim 42,wherein the maximum mother code length is related to one or more of the followings: a type of channel, a type of service, and device capability.44.The method of any one of claims 42 or 43,wherein the maximum mother code length is a power-of-2 integer.45.The method of any one of claims 42 to 44,wherein the maximum mother code length is the same as the length of a nested reliability sequence.46.The method of any one of claims 35 to 45,wherein the minimum mother code length is related to a type of channel or service.47.The method of any one of claims 42 to 46,wherein one of the plurality of mother code lengths is the same as the maximum mother code length.48.The method of any one of claim 34 to 47,wherein each of the plurality of mother code lengths is related to the product of the mother code length parameter and the first coefficient.49.The method of any one of claim 34 to 48,wherein the first coefficient is related to one or more of the followings:a number of transmission times, device capability, a type of channel, a type of service, a communication scenario, an index of redundancy version.50.The method of any one of claim 34 to 49,wherein the first coefficient is equal to a quotient of two positive integers.51.An apparatus, wherein the apparatus comprises a processor, wherein the processor is configured to execute one or more instructions stored in a memory, to enable the apparatus to implement the method according to any one of claims 1 to 31 or claims 32 to 50.52.An apparatus, wherein the apparatus comprises a function or unit to perform the method according to any one of claims 1 to 31 or perform the method according to any one of claims 32 to 50.53.A computer readable storage medium, comprising one or more instructions, wherein when the instructions are run on a computer, the computer performs the method according to any one of claims 1 to 31, or the method according to any one of claims 32 to 50.54.A computer program product, comprising a non-transitory computer readable medium storing programming for execution by a processor, the programming including instructions to perform the method of any one of claims 1 to 31 or claims 32 to 50.
Citation Information
Patent Citations
Polar code construction for incremental redundancy
CN112262535A
Coding method and device
CN116980070A
Rate matching method and device
US20120110406A1
Techniques for hybrid chase combining and incremental redundancy HARQ with polar codes
US20190280829A1
Rate matching method and device
WO2010060309A1