Bit allocation for encoding and decoding
By recursively polarizing channel instances and adjusting bit allocation based on channel reliability metrics and group size, the problem of low encoding and decoding efficiency in existing technologies is solved, resource utilization and computational complexity of wireless communication systems are optimized, and system performance is improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- QUALCOMM INC
- Filing Date
- 2017-12-07
- Publication Date
- 2026-04-21
AI Technical Summary
Existing encoding and decoding techniques are inefficient in bit allocation among channel instances, resulting in resource waste and high computational complexity, especially in wireless communication systems, particularly polar coding techniques, which need improvement.
By using recursive polarization channel instances, information bits, frozen bits, or odd/even bits are allocated to different groups, and the allocation of bit types is dynamically adjusted based on channel reliability metrics and group size. The location of information bits is determined using basic sequences, thus optimizing the encoding and decoding process.
It improves the efficiency of encoding and decoding, reduces resource consumption and computational complexity, and enhances the performance of wireless communication systems.
Smart Images

Figure CN116707710B_ABST
Abstract
Description
[0001] This application is a divisional application of the invention patent filed on December 7, 2017, with application number 201780082291.5 and title "Bit Allocation for Encoding and Decoding".
[0002] Cross-references
[0003] This patent application claims priority to International Patent Application No. PCT / CN2017 / 071363, filed January 17, 2017, entitled “BIT ALLOCATION FOR ENCODING AND DECODING”, and U.S. Provisional Patent Application No. 62 / 444,368, filed January 9, 2017, entitled “BIT ALLOCATION FOR ENCODING AND DECODING”, both of which have been assigned to the assignee of this application. Technical Field
[0004] Certain aspects of this disclosure relate generally to encoding by an encoder and / or decoding by a decoder, and more specifically to bit allocation for encoding and / or decoding. Background Technology
[0005] Wireless communication systems are widely deployed to provide various types of communication content, such as voice, video, packet data, messaging, broadcasting, and more. These systems can support communication with multiple users by sharing available system resources (e.g., time, frequency, and power). Examples of such multiple access systems include Code Division Multiple Access (CDMA) systems, Time Division Multiple Access (TDMA) systems, Frequency Division Multiple Access (FDMA) systems, and Orthogonal Frequency Division Multiple Access (OFDMA) systems (e.g., Long Term Evolution (LTE) systems or New Radio (NR) systems). A wireless multiple access communication system may include multiple base stations or access network nodes, each supporting communication with multiple communication devices (which may otherwise be referred to as User Equipment (UE)).
[0006] Code blocks can be encoded by the transmitting device (e.g., a base station or UE) using an encoding algorithm. Error-correcting codes can be used to introduce redundancy into the code block, allowing transmission errors to be detected and corrected. Some examples of encoding algorithms with error-correcting codes include convolutional codes (CC), low-density parity-check (LDPC) codes, and polar codes. Some encoding techniques (such as polar coding) use reliability metrics during encoding and decoding, allowing information bits to be loaded onto channel instances (of the encoder or decoder) associated with a favorable (e.g., high) reliability metric. However, these techniques may require significant storage space and / or may be computationally complex or resource-intensive. Improved techniques for bit allocation during encoding and decoding (e.g., between channel instances) are expected. Summary of the Invention
[0007] The described technique relates to improved methods, systems, devices, or apparatuses for supporting bit allocation for encoding and decoding. Typically, the described technique provides encoding in which an encoder assigns information bits of vectors to channel instances of a channel. Channel instances are divided or grouped into groups of different sizes. Vectors can be recursively polarized until a given length of group is reached. The given length can be the same as the length of a base sequence, and the base sequence can be used to indicate the position of information bits, frozen bits, or parity bits within a group. The position of information bits, frozen bits, or parity bits can be determined using one or more base sequences by recursively polarizing one or more vectors or groups within vectors. During decoding, the decoder can use the base sequence to assign different bit types to channel instances corresponding to each group. The decoder can divide codewords into multiple groups and assign bit types to one or more channel instances in multiple groups based on the number of information bits allocated to a given group and the group size.
[0008] A method for encoding by an encoder is described. The method may include: identifying a plurality of channel instances associated with the transmission of a vector comprising a first plurality of information bits, wherein the plurality of channel instances are recursively polarized into one or more groups; allocating the first plurality of information bits among the one or more groups based at least in part on a reliability metric associated with the channel; performing an encoding operation to encode the vector based at least in part on the allocation of the first plurality of information bits among the one or more groups and the size of at least one of the one or more groups; and transmitting the encoded vector using the plurality of channel instances.
[0009] An apparatus for encoding is described. The apparatus may include: units for identifying a plurality of channel instances associated with a transmission of a vector comprising a first plurality of information bits, wherein the plurality of channel instances are recursively polarized into one or more groups; units for allocating the first plurality of information bits among the one or more groups based at least in part on a reliability metric associated with the channel; units for performing an encoding operation to encode the vector based at least in part on the allocation of the first plurality of information bits among the one or more groups and the size of at least one of the one or more groups; and units for transmitting the encoded vector using the plurality of channel instances.
[0010] Another apparatus for encoding is described. The apparatus may include a processor, a memory electrically communicating with the processor, and instructions stored in the memory. The instructions are operable to cause the processor to: identify a plurality of channel instances associated with the transmission of a vector comprising a first plurality of information bits, wherein the plurality of channel instances are recursively polarized into one or more groups; allocate the first plurality of information bits among the one or more groups based at least in part on a reliability metric associated with the channel; perform an encoding operation to encode the vector based at least in part on the allocation of the first plurality of information bits among the one or more groups and the size of at least one of the one or more groups; and transmit the encoded vector using the plurality of channel instances.
[0011] A non-transitory computer-readable medium for encoding is described. The non-transitory computer-readable medium may include instructions operable to cause a processor to: identify a plurality of channel instances associated with the transmission of a vector comprising a first plurality of information bits, wherein the plurality of channel instances are recursively polarized into one or more groups; allocate the first plurality of information bits among the one or more groups based at least in part on a reliability metric associated with the channel; perform an encoding operation to encode the vector based at least in part on the allocation of the first plurality of information bits among the one or more groups and the size of at least one of the one or more groups; and transmit the encoded vector using the plurality of channel instances.
[0012] Some examples of the methods, apparatuses and non-transitory computer-readable media described above may also include processes, features, units or instructions for performing the following: retransmitting a portion of the encoded vector using one or more of the plurality of channel instances, based at least in part on the receipt of a negative acknowledgment (NACK) message.
[0013] In some examples of the methods, apparatuses, and non-transitory computer-readable media described above, retransmitting said portion of the encoded vector includes retransmitting each of the first plurality of information bits.
[0014] In some examples of the methods, apparatuses, and non-transitory computer-readable media described above, retransmitting said portion of the encoded vector includes: allocating a second plurality of information bits associated with said portion of the encoded vector among one or more groups of said groups, the second plurality of information bits corresponding to corresponding information bits in the first plurality of information bits.
[0015] In some examples of the methods, apparatuses and non-transitory computer-readable media described above, the bit position of at least one of the first plurality of information bits during the transmission of the encoded vector may differ from the bit position of the corresponding information bit in the second plurality of information bits during the retransmission of the encoded vector.
[0016] In some examples of the methods, apparatuses and non-transitory computer-readable media described above, the bit position of each of the first plurality of information bits may differ from the bit position of the corresponding information bit in the second plurality of information bits.
[0017] In some examples of the methods, apparatuses, and non-transitory computer-readable media described above, the vector includes a plurality of encoded bits determined at least in part based on a vector of encoded input bits, the encoded input bits including a set of information bits and a set of frozen bits.
[0018] In some examples of the methods, apparatuses, and non-transitory computer-readable media described above, the reliability metric may be associated with a corresponding equivalent channel following the polarization operation.
[0019] Some examples of the methods, apparatuses, and non-transitory computer-readable media described above may also include processes, features, units, or instructions for performing the following operations: storing a basic sequence for allocating information bits, the information bit allocation corresponding to a given group size and a given number of information bit positions associated with the given group size. Some examples of the methods, apparatuses, and non-transitory computer-readable media described above may also include processes, features, units, or instructions for performing the following operations: determining one or more information bit positions of a group based at least in part on the number of information bits allocated to the group and the associated basic sequence.
[0020] Some examples of the methods, apparatuses, and non-transitory computer-readable media described above may also include processes, features, units, or instructions for performing the following: storing one or more basic sequences, each of the one or more basic sequences being combined with at least one of a given group size or a given number of information bit positions associated with the given group size to determine the information bit allocation of the group.
[0021] In some examples of the methods, apparatuses, and non-transitory computer-readable media described above, each of the one or more basic sequences may be determined at least in part based on: density evolution techniques, density evolution based at least in part on Gaussian approximation (mean value evolution) techniques, mutual information evolution techniques, mean squared error density evolution techniques, or polarization weighting techniques. In some other examples of the methods, apparatuses, and non-transitory computer-readable media described above, each of the one or more basic sequences may be obtained via a simulated computer search.
[0022] In some examples of the methods, apparatuses, and non-transitory computer-readable media described above, the allocation of the first plurality of information bits among one or more groups of the group may be at least partially based on a basic sequence based on the size of at least one of the one or more groups.
[0023] In some examples of the methods, apparatuses, and non-transitory computer-readable media described above, the basic sequence may not be based on the size of the vector.
[0024] In some examples of the methods, apparatuses, and non-transitory computer-readable media described above, the given group size and the number of information bits allocated to the group can determine the location of the information bits.
[0025] In some examples of the methods, apparatuses, and non-transitory computer-readable media described above, the reliability measure of the channel includes: the capacity of the channel, the reliability of the channel, the information rate of the channel, the mean square error of the channel, or a combination thereof.
[0026] In some examples of the methods, apparatuses and non-transitory computer-readable media described above, the encoding operation includes at least one of the following: a polarization encoding operation, a Reed-Muller (RM) encoding operation, or a polarized RM operation.
[0027] In some examples of the methods, apparatuses, and non-transitory computer-readable media described above, allocating the first plurality of information bits includes: determining a first output rate associated with a first group of the one or more groups. Some examples of the methods, apparatuses, and non-transitory computer-readable media described above may also include processes, features, units, or instructions for performing the following operation: determining the number of information bits to be allocated to the first group, at least in part based on the first output rate. The allocation may be performed recursively.
[0028] In some examples of the methods, apparatus, and non-transitory computer-readable media described above, determining the first output rate may be based at least in part on data indicating the relationship between one or more channel instances and the channels before polarization. The channels before polarization may be different due to, for example, puncturing / shortening / repetition or bit modulation mapping.
[0029] In some examples of the methods, apparatuses and non-transitory computer-readable media described above, the data may be directed to at least one of the following: a binary erase channel (BEC), a binary symmetric channel (BSC), an additive white Gaussian noise (AWGN) channel, or a combination thereof.
[0030] Some examples of the methods, apparatuses and non-transitory computer-readable media described above may also include processes, features, units or instructions for performing the following: calculating the allocation of information bits for each of the first and second groups based at least in part on the total number of information bits to be allocated and the reliability metric.
[0031] In some examples of the methods, apparatuses, and non-transitory computer-readable media described above, allocating the first plurality of information bits further includes: determining a second output rate associated with a second group of the one or more groups. Some examples of the methods, apparatuses, and non-transitory computer-readable media described above may also include processes, features, units, or instructions for performing the following operation: determining the number of information bits to be allocated to the second group, at least in part based on the second output rate.
[0032] In some examples of the methods, apparatus, and non-transitory computer-readable media described above, the average of the first output rate and the second output rate is equal to the original channel rate before polarization. In some examples, the original channel rate may be derived from the coding rate. Each instance of the original channel may be different due to, for example, puncturing / shortening or bit modulation mapping.
[0033] In some examples of the methods, apparatuses and non-transitory computer-readable media described above, the first output rate may be based at least in part on the size of the first group, the second output rate may be based at least in part on the size of the second group, and the first output rate and the second output rate may be based at least in part on the total number of information bits allocated to the first group and the second group.
[0034] In some examples of the methods, apparatuses, and non-transitory computer-readable media described above, the group size may not be a power of 2 and may contain punched or shortened bits.
[0035] A method for decoding by a decoder is described. The method may include: receiving a codeword for decoding, the codeword comprising a first plurality of information bits; identifying a plurality of channel instances of a channel associated with the reception of the codeword, wherein the plurality of channel instances are recursively polarized into a plurality of groups; assigning bit types to a subset of at least the plurality of channel instances based at least in part on a reliability metric associated with the channel and the size of at least one of the plurality of groups; and performing a decoding operation on one or more portions of the codeword to obtain the first plurality of information bits, based at least in part on the assigned bit types.
[0036] An apparatus for decoding is described. The apparatus may include: a unit for receiving a codeword for decoding, the codeword comprising a first plurality of information bits; a unit for identifying a plurality of channel instances of a channel associated with the reception of the codeword, wherein the plurality of channel instances are recursively polarized into a plurality of groups; a unit for assigning bit types to at least a subset of the plurality of channel instances based at least in part on a reliability metric associated with the channel and the size of at least one of the plurality of groups; and a unit for performing a decoding operation on one or more portions of the codeword to obtain the first plurality of information bits, based at least in part on the assigned bit types.
[0037] Another apparatus for decoding is described. The apparatus may include a processor, a memory in electrical communication with the processor, and instructions stored in the memory. The instructions are operable to cause the processor to: receive a codeword for decoding, the codeword comprising a first plurality of information bits; identify a plurality of channel instances of a channel associated with the reception of the codeword, wherein the plurality of channel instances are recursively polarized into a plurality of groups; assign bit types to at least a subset of the plurality of channel instances, at least in part based on a reliability metric associated with the channel and the size of at least one of the plurality of groups; and perform decoding operations on one or more portions of the codeword, at least in part based on the assigned bit types, to obtain the first plurality of information bits.
[0038] A non-transitory computer-readable medium for decoding is described. The non-transitory computer-readable medium may include instructions operable to cause a processor to: receive a codeword for decoding, the codeword comprising a first plurality of information bits; identify a plurality of channel instances of a channel associated with the reception of the codeword, wherein the plurality of channel instances are recursively polarized into a plurality of groups; assign bit types to at least a subset of the plurality of channel instances based at least in part on a reliability metric associated with the channel and the size of at least one of the plurality of groups; and perform decoding operations on one or more portions of the codeword to obtain the first plurality of information bits, based at least in part on the assigned bit types.
[0039] Some examples of the methods, apparatuses, and non-transitory computer-readable media described above may also include processes, features, units, or instructions for sending a NACK message when a decoding operation is unsuccessful.
[0040] Some examples of the methods, apparatus, and non-transitory computer-readable media described above may also include processes, features, units, or instructions for performing: retransmissions and / or original transmissions of the codeword, comprising at least a portion of a second plurality of information bits, wherein the bit position of at least one of the second plurality of information bits may differ from the bit position of the corresponding information bit in the first plurality of information bits. In such an example, information assigned to non-overlapping bit positions in the first plurality of information bits and the second plurality of information bits can be copied from said position in the retransmission to said position in the initial transmission, for example, to keep the overall polarization received codeword consistent between IR-HARQ transmissions.
[0041] In some examples of the methods, apparatuses, and non-transitory computer-readable media described above, the reception of the codeword includes a receiving portion and an XOR portion in a polarization transformation.
[0042] In some examples of the methods, apparatuses, and non-transitory computer-readable media described above, the reliability metric may be associated with a corresponding equivalent channel following the polarization operation.
[0043] Some examples of the methods, apparatuses, and non-transitory computer-readable media described above may also include processes, features, units, or instructions for performing the following operations: storing a basic sequence for allocating information bits, the information bit allocation corresponding to a given group size and a given number of information bit positions associated with the given group size. Some examples of the methods, apparatuses, and non-transitory computer-readable media described above may also include processes, features, units, or instructions for performing the following operations: determining one or more information bit positions of a group based at least in part on the number of information bits allocated to the group and the common basic sequence.
[0044] Some examples of the methods, apparatuses, and non-transitory computer-readable media described above may also include processes, features, units, or instructions for performing the following: storing one or more basic sequences, each of the one or more basic sequences being based on at least one of the information bit positions associated with a given group size or the given group.
[0045] Some examples of the methods, apparatuses and non-transitory computer-readable media described above may also include processes, features, units or instructions for determining the position of one or more information bits of a group, at least in part based on the number of information bits and one or more of the plurality of basic sequences.
[0046] In some examples of the methods, apparatuses, and non-transitory computer-readable media described above, the allocation of the bit type may be at least partially based on a basic sequence, which is based on the size of at least one of the plurality of groups and the number of information bits allocated to the at least one of the plurality of groups.
[0047] In some examples of the methods, apparatuses, and non-transitory computer-readable media described above, the basic sequence may not be based on the size of the codeword.
[0048] In some examples of the methods, apparatuses, and non-transitory computer-readable media described above, each of the one or more basic sequences may be determined at least in part based on: density evolution techniques, density evolution based at least in part on Gaussian approximation (mean value evolution) techniques, mutual information evolution techniques, mean squared error density evolution techniques, or polarization weighting techniques. In some other examples of the methods, apparatuses, and non-transitory computer-readable media described above, each of the one or more basic sequences may be obtained via a simulated computer search.
[0049] In some examples of the methods, apparatuses, and non-transitory computer-readable media described above, the given group size may be a constant.
[0050] In some examples of the methods, apparatuses, and non-transitory computer-readable media described above, the reliability measure of the channel includes: the capacity of the channel, the reliability of the channel, the information rate of the channel, the mean square error of the channel, or a combination thereof.
[0051] In some examples of the methods, apparatuses and non-transitory computer-readable media described above, the decoding operation includes at least one of the following: a polarization coding operation, an RM coding operation, a belief propagation decoding operation for low-density parity-check (LDPC) codes, or a polarization RM operation.
[0052] In some examples of the methods, apparatuses, and non-transitory computer-readable media described above, assigning the bit type includes: determining a first output rate associated with a first group of the plurality of groups. Some examples of the methods, apparatuses, and non-transitory computer-readable media described above may also include processes, features, units, or instructions for performing the following: determining the number of information bit types to be assigned to the first group, at least in part based on the first output rate.
[0053] In some examples of the methods, apparatuses, and non-transitory computer-readable media described above, assigning the bit type further includes determining a second output rate associated with a second of the plurality of groups. Some examples of the methods, apparatuses, and non-transitory computer-readable media described above may also include processes, features, units, or instructions for performing the following: determining the number of information bit types to be assigned to the second group, at least in part based on the second output rate.
[0054] In some examples of the methods, apparatuses, and non-transitory computer-readable media described above, the average of the first output rate and the second output rate is equal to the average of the original set of channels before polarization.
[0055] In some examples of the methods, apparatuses, and non-transitory computer-readable media described above, the first output rate may be based at least in part on the size of the first group, and the second output rate may be based at least in part on the size of the second group.
[0056] In some examples of the methods, apparatus, and non-transitory computer-readable media described above, determining the first output rate may be based on data indicating the relationship between one or more channel instances and the channels before polarization. The channel instances before polarization may be different due to, for example, puncturing / shortening / repetition or bit modulation mapping.
[0057] In some examples of the methods, apparatus, and non-transitory computer-readable media described above, the data may be directed to at least one of the following: BEC, BSC, AWGN channel, or a combination thereof.
[0058] In some examples of the methods, apparatus, and non-transitory computer-readable media described above, the bit type includes: information bits, frozen bits, parity bits, or combinations thereof.
[0059] In some examples of the methods, apparatuses, and non-transitory computer-readable media described above, the group size may not be a power of 2. Attached Figure Description
[0060] Figure 1 According to aspects of this disclosure, examples of systems that support bit allocation for encoding and / or decoding are shown for encoding of an encoder and / or decoding of a decoder.
[0061] Figure 2 According to aspects of this disclosure, examples of devices that support bit allocation for encoding and / or decoding are shown.
[0062] Figure 3 According to aspects of this disclosure, examples of encoders that support bit allocation for encoding and / or decoding are shown.
[0063] Figure 4 According to aspects of this disclosure, examples of encoders that support bit allocation for encoding and / or decoding are shown.
[0064] Figure 5 According to aspects of this disclosure, examples of encoders that support bit allocation for encoding and / or decoding are shown.
[0065] Figure 6 According to aspects of this disclosure, examples of encoders that support bit allocation for encoding and / or decoding are shown.
[0066] Figure 7 Examples of information bit allocation for polar codes are shown, based on one or more aspects of this disclosure.
[0067] Figure 8 According to aspects of this disclosure, an example of an incremental redundancy hybrid automatic repeat request (IR-HARQ) scheme supporting bit allocation for encoding and / or decoding is shown.
[0068] Figure 9 An example of an initial HARQ transfer is shown based on one or more aspects of this disclosure.
[0069] Figure 10Examples of HARQ transports are shown based on one or more aspects of this disclosure.
[0070] Figures 11 to 13 According to aspects of this disclosure, a block diagram of a device supporting bit allocation for encoding and / or decoding is shown.
[0071] Figure 14 According to aspects of this disclosure, a block diagram of a system including a UE that supports bit allocation for encoding and / or decoding is shown.
[0072] Figure 15 According to an aspect of this disclosure, a block diagram of a system including a base station that supports bit allocation for encoding and / or decoding is shown.
[0073] Figures 16-17 According to aspects of this disclosure, methods for bit allocation for encoding and / or decoding are shown. Detailed Implementation
[0074] An encoder may include multiple channel instances (e.g., coding branches), each loaded with bits to be encoded. For example, an information vector (e.g., including information and non-information bits (e.g., redundant or frozen bits)) may be loaded into or allocated to one or more channel instances of the encoder's channels (e.g., before or after a Hadamard transformation for a polar code). Each channel instance may be associated with a reliability metric, which may relate to, for example, capacity, reliability, information rate, etc. The reliability metric may indicate the likelihood that bits loaded into a given channel instance for transmission will be successfully decoded at the receiver. Therefore, to increase the probability of successful decoding, a proportional number of information bits in the information vector are loaded into channel instances associated with favorable (e.g., high) reliability metric (e.g., after multiple stages of channel polarization), and a proportional number of information bits are loaded into channel instances associated with lower reliability metric. That is, information bits may be distributed among the encoder's channel instances based on the corresponding reliability metric of the channel instances. During decoding, the decoder may receive encoded information bits (and non-information bits) in codewords. In some cases, the decoder can also rely on reliability metrics to correctly decode one or more parts of the codeword and obtain a decoded output including the information bits.
[0075] For example, polar code encoders use multiple recursive concatenations of short kernel codes to encode information bits. In polar coding, as the number of recursions becomes large, the resulting channel instances tend to have either high or low reliability (examples of polarization). Therefore, additional information bits are typically loaded into channel instances with favorable (e.g., high) reliability metrics. Additional frozen information bits are typically loaded into channel instances with unfavorable (e.g., low) reliability metrics.
[0076] Determining the location and distribution of information bits can improve polar code design. Reliability metrics can be generated for each bit across each channel instance, and techniques can be used to sort and select the most reliable bit in the channel instance as the information bit.
[0077] In some examples of improved polar code construction, the channels of the encoder and / or decoder can be partitioned (e.g., polarized) or grouped into sectors or groups, such that each group includes one or more channel instances (for at least one iteration). Partitioning (e.g., polarization) or grouping can be performed based on or according to a recursive formula, where the recursive formula can be based on, for example, the length of the basic sequence. Subsequently, the encoder or decoder can determine the number of information bits to be allocated (during encoding) to each group (e.g., the total number of information bits used to encode the information vector) based on the rate associated with each group. During decoding, the decoder can allocate a determined number of information bits to one or more groups based on the information bit rate associated with each group.
[0078] In the encoding operation, after determining the number of information bits, the information bits of the information vector can be loaded into the various channel instances of one or more groups. When determining which channel bit to load a given information bit, the encoder can compare the size of the group and the associated number of information bits to be allocated to that group with a base sequence indicating the position of the information bits within that group. The encoder can use or store one or more base sequences, and each base sequence can be associated with a code length (N) and dimension (k) to determine the allocation of information bits in that group, where N and k correspond to the number of information bits to be allocated in a given code of length N. The base sequence can also be determined based on the group position within the partitioned information vector. Once the information bits are allocated to channel instances, the encoder can use the channel instances and encode the information vector including the information bits based on the assigned information bits.
[0079] During the decoding operation, the decoder can assign bit types (e.g., information bits, parity bits, frozen bits, etc.) to one or more channel instances of its channels. The decoder can then use the assigned bit types to determine the information bits of the codeword and decode the codeword accordingly to obtain the information bits. One or more channel instances associated with frozen bits may be known to the encoder and / or provided to the decoder.
[0080] The aspects of this disclosure were initially described in the context of wireless communication systems. These aspects are also illustrated by apparatus diagrams, system diagrams, and flowcharts relating to bit allocation for encoding and decoding, and are described with reference to such diagrams.
[0081] Figure 1 Examples of a wireless communication system 100 are shown according to various aspects of this disclosure. The wireless communication system 100 includes a base station 105, a UE 115, and a core network 130. In some examples, the wireless communication system 100 may be a Long Term Evolution (LTE), Advanced LTE (LTE-A), New Radio (NR), or 5G network. In an NR or 5G network, the base station 105 may include an access node (AN), a central unit (CU), and / or a distributed unit (DU). An may be an example of a New Radio Base Station (NR BS), a New Radio Node-B (NR NB), a Network Node (NN), etc. A CU may be an example of a Central Node (CN), an Access Node Controller (ANC), etc. Each DU may be an example of an Edge Node (EN), an Edge Unit (EU), a Radio Headend (RH), a Smart Radio Headend (SRH), a Transmit and Receive Point (TRP), etc. The UE 115, the base station 105, and other devices of the wireless communication system 100 may have a low-latency encoder that outputs codeword bits for transmission before loading all input bits. UE 115, base station 105, or both may include encoding components 140 (e.g., encoder, decoder, etc.), as described in more detail below.
[0082] Base station 105 can wirelessly communicate with UE 115 via one or more base station antennas. Each base station 105 can provide communication coverage for a corresponding geographic coverage area 110. The communication link 125 shown in the wireless communication system 100 can include uplink (UL) transmission from UE 115 to base station 105, or downlink (DL) transmission from base station 105 to UE 115. UE 115 can be distributed throughout the wireless communication system 100, and each UE 115 can be fixed or mobile. UE 115 can also be referred to as a mobile station, user station, mobile unit, user cell, radio unit, remote unit, mobile device, radio device, wireless communication device, remote device, mobile user station, access terminal, mobile terminal, radio terminal, remote terminal, mobile phone, user agent, mobile client, client, or some other suitable term. UE 115 can also be a cellular phone, personal digital assistant (PDA), wireless modem, wireless communication device, handheld device, tablet computer, laptop computer, cordless phone, personal electronic device, handheld device, personal computer, wireless local loop (WLL) station, Internet of Things (IoT) device, Internet of Everything (IoE) device, machine type communication (MTC) device, appliance, automobile, etc.
[0083] UE 115 can be distributed throughout the wireless communication system 100, and each UE 115 can be fixed or mobile. UE 115 can also be referred to as a mobile station, user station, mobile unit, user cell, radio unit, remote unit, mobile device, radio device, wireless communication device, remote device, mobile user station, access terminal, mobile terminal, radio terminal, remote terminal, mobile phone, user agent, mobile client, client, or any other suitable term. UE 115 can also be a cellular phone, personal digital assistant (PDA), wireless modem, wireless communication device, handheld device, tablet computer, laptop computer, cordless phone, personal electronic device, handheld device, personal computer, wireless local loop (WLL) station, Internet of Things (IoT) device, Internet of Everything (IoE) device, machine-type communication (MTC) device, appliance, vehicle, etc.
[0084] In some cases, UE 115 can communicate directly with other UEs (e.g., using peer-to-peer (P2P) or device-to-device (D2D) protocols). One or more UEs 115 in a group of UEs 115 utilizing D2D communication can be within the cell's coverage area 110. Other UEs 115 in the group may be outside the cell's coverage area 110 or otherwise unable to receive transmissions from base station 105. In some cases, multiple groups of UEs 115 communicating via D2D communication can utilize a one-to-many (1:M) system, where each UE 115 transmits to every other UE 115 in the group. In some cases, base station 105 facilitates the scheduling of resources used for D2D communication. In other cases, D2D communication is performed independently of base station 105.
[0085] Some UE 115 devices (such as MTC or IoT devices) can be low-cost or low-complexity devices that can provide automated communication between machines, i.e., machine-to-machine (M2M) communication. M2M or MTC can refer to data communication technologies that allow devices to communicate with each other or with a base station without human intervention. For example, M2M or MTC can refer to communication from devices that integrate sensors or meters to measure or capture information and relay that information to a central server or application, which can then utilize or present the information to humans interacting with that program or application. Some UE 115 devices can be designed to collect information or enable automated machine behavior. Examples of applications for MTC devices include smart meters, inventory monitoring, water level monitoring, equipment monitoring, health monitoring, wildlife monitoring, climate and geological event monitoring, fleet management and tracking, remote security sensing, physical access control, and transaction-based billing.
[0086] In some cases, MTC devices can operate using half-duplex (one-way) communication with reduced peak rates. MTC devices can also be configured to enter a power-saving "deep sleep" mode when not engaged in active communication. In some cases, MTC or IoT devices can be designed to support mission-critical functions, and the wireless communication system can be configured to provide ultra-reliable communication for these functions.
[0087] In some cases, wireless communication system 100 may utilize enhanced component carriers (eCC). In some examples, NR or 5G networks may utilize eCC, and using eCC on shared spectrum may be referred to as New Radio Shared Spectrum (NR-SS). A SCell may be, for example, an eCC. An eCC may be characterized by one or more of the following characteristics: wider bandwidth, shorter symbol duration, shorter TTI, and modified control channel configuration. In some cases, eCC may be associated with carrier aggregation configurations or dual connectivity configurations (e.g., when multiple serving cells have suboptimal or non-ideal backhaul links). eCC may also be configured for use in unlicensed spectrum or shared spectrum (when more than one operator is permitted to use the spectrum). An eCC characterized by wide bandwidth may include one or more segments that can be used by UE 115, which may be unable to monitor the entire bandwidth or prefers to use limited bandwidth (e.g., to save power). In some cases, eCC may utilize a different symbol duration than other CCs, which may include using a symbol duration reduced compared to other CCs. Shorter symbol duration is associated with increased subcarrier spacing. Devices utilizing eCC (such as UE 115 or base station 105) can transmit wideband signals (e.g., 20, 40, 60, 80 MHz, etc.) with reduced symbol durations (e.g., 16.67 microseconds). The TTI in eCC can include one or more symbols. In some cases, the TTI duration (i.e., the number of symbols in the TTI) can be variable.
[0088] Base station 105 can communicate with core network 130 and with each other. For example, base station 105 can interface with core network 130 via backhaul link 132 (e.g., S1, etc.). Base station 105 can communicate with each other directly or indirectly (e.g., via core network 130) via backhaul link 134 (e.g., X2, etc.). Base station 105 can perform radio configuration and scheduling for communication with UE 115, or can operate under the control of base station controller (not shown). In some examples, base station 105 can be a macro cell, small cell, hotspot, etc. Base station 105 can also be referred to as an access point (AP), Node B, Radio Network Controller (RNC), Evolved Node B (eNB), Base Station Controller (BSC), Base Transceiver (BT), Base Station (BS), Transceiver Functional Unit (TF), Wireless Router, Wireless Transceiver, Basic Service Set (BSS), Extended Service Set (ESS), Radio Base Station (RBS), or some other term.
[0089] Base station 105 can connect to core network 130 via the S1 interface. The core network can be an evolved packet core (EPC), which may include at least one mobility management entity (MME), at least one serving gateway (S-GW), and at least one packet data network gateway (P-GW). The MME can be the control node handling signaling between UE 115 and the EPC. All user Internet Protocol (IP) packets can be transmitted through the S-GW, which can itself connect to the P-GW. The P-GW can provide IP address allocation and other functions. The P-GW can connect to network operator IP services. Operator IP services may include the Internet, intranets, IP Multimedia Subsystem (IMS), and Packet Switched (PS) Streaming Service (PSS).
[0090] Core network 130 can provide user authentication, access authorization, tracking, IP connectivity, and other access, routing, or mobility functions. At least some of the network devices (such as base station 105) may include sub-components such as access network entities, which may be examples of access node controllers (ANCs). Each access network entity can communicate with multiple UEs 115 through multiple other access network transport entities (each of which may be an example of a smart radio headend or a transmit / receive point (TRP)). In some configurations, the various functions of each access network entity or base station 105 may be distributed across individual network devices (e.g., radio headends and access network controllers) or consolidated into a single network device (e.g., base station 105).
[0091] Wireless communication system 100 can operate in the ultra-high frequency (UHF) frequency region using a frequency band from 700 MHz to 2600 MHz (2.6 GHz), although in some cases, WLAN networks can use frequencies as high as 4 GHz. This region can also be referred to as the decimeter band because the wavelength range ranges from approximately one decimeter to one meter in length. UHF waves can propagate primarily through the line of sight and can be blocked by buildings and environmental features. However, these waves are sufficient to penetrate walls to provide service to UE 115 located indoors. Compared to transmission at smaller frequencies (and longer waves) using the high frequency (HF) or ultra-high frequency (VHF) portion of the spectrum, UHF wave transmission is characterized by smaller antennas and shorter ranges (e.g., less than 100 km). In some cases, wireless communication system 100 can also utilize the extremely high frequency (EHF) portion of the spectrum (e.g., from 30 GHz to 300 GHz). This region can also be referred to as the millimeter band because the wavelength range ranges from approximately one millimeter to one centimeter in length. Therefore, EHF antennas can be even smaller and more closely spaced compared to UHF antennas. In some cases, this can be helpful for using antenna arrays within the UE 115 (e.g., for directional beamforming). However, EHF transmissions may suffer from even greater atmospheric attenuation and shorter range compared to UHF transmissions.
[0092] Wireless communication system 100 can support millimeter-wave (mmW) communication between UE 115 and base station 105. Devices operating in the mmW or EHF band can have multiple antennas to allow beamforming. That is, base station 105 can use multiple antennas or antenna arrays to perform beamforming operations for directional communication with UE 115. Beamforming (which can also be referred to as spatial filtering or directional transmission) is a signal processing technique used at a transmitter (e.g., base station 105) to form and / or manipulate the overall antenna beam in the direction of a target receiver (e.g., UE 115). This can be achieved by combining elements in an antenna array in such a way that signals transmitted at a specific angle undergo constructive interference, while other signals undergo destructive interference.
[0093] Multiple-input multiple-output (MIMO) wireless systems use a transmission scheme between a transmitter (e.g., a base station) and a receiver (e.g., a UE), where both the transmitter and receiver are equipped with multiple antennas. Some portions of the wireless communication system 100 may utilize beamforming. For example, base station 105 may have an antenna array comprising multiple rows and columns of antenna ports, which base station 105 may use for beamforming in its communication with UE 115. Signals may be transmitted multiple times in different directions (e.g., beamforming may be applied to each transmission in different ways). The mmW receiver (e.g., UE 115) may attempt multiple beams (e.g., antenna subarrays) while receiving a synchronization signal.
[0094] In some cases, the antennas of base station 105 or UE 115 may be located within one or more antenna arrays that can support beamforming or MIMO operation. One or more base station antennas or antenna arrays may be co-located at the antenna site, such as an antenna tower. In some cases, the antennas or antenna arrays associated with base station 105 may be located in different geographical locations. Base station 105 may use multiple antennas or antenna arrays to perform beamforming operations for directional communication with UE 115.
[0095] In some cases, the wireless communication system 100 may be a packet-based network operating according to a layered protocol stack. In the user plane, communication at the bearer or Packet Data Convergence Protocol (PDCP) layer may be IP-based. In some cases, the Radio Link Control (RLC) layer may perform packet fragmentation and reassembly for communication over logical channels. The Media Access Control (MAC) layer may perform priority processing and multiplexing logical channels into transport channels. The MAC layer may also use Hybrid ARQ (HARQ) to provide retransmissions at the MAC layer to improve link efficiency. In the control plane, the Radio Resource Control (RRC) protocol layer may provide the establishment, configuration, and maintenance of RRC connections between UE 115 and network devices 105-c, 105-b, or the core network 130 to support radio bearers for user plane data. At the physical (PHY) layer, transport channels may be mapped to physical channels.
[0096] In some cases, the wireless communication system 100 may utilize enhanced component carriers (eCC). eCC can be characterized by one or more features including: wider bandwidth, shorter symbol duration, shorter transmission time interval (TTI), and a modified control channel configuration. In some cases, eCC may be associated with carrier aggregation or dual connectivity configurations (e.g., when multiple serving cells have suboptimal or non-ideal backhaul links). eCC can also be configured for use in unlicensed or shared spectrum (when more than one operator is permitted to use the spectrum). eCC characterized by wide bandwidth may include one or more segments that can be used by a UE 115 that is unable to monitor the entire bandwidth or prefers to use a limited bandwidth (e.g., to save power).
[0097] In some cases, eCC can utilize a different symbol duration than other CCs, which may include using a symbol duration reduced compared to other CCs. A shorter symbol duration is associated with increased subcarrier spacing. The TTI in an eCC may include one or more symbols. In some cases, the TTI duration (i.e., the number of symbols in the TTI) can be variable. Devices utilizing eCC (such as UE 115 or base station 105) can transmit wideband signals (e.g., 20, 40, 60, 80 MHz, etc.) with a reduced symbol duration (e.g., 16.67 microseconds). The TTI in an eCC may include one or more symbols. In some cases, the TTI duration (i.e., the number of symbols in the TTI) can be variable.
[0098] In some cases, wireless system 100 may utilize both licensed and unlicensed radio frequency bands. For example, wireless system 100 may employ LTE Licensed Assisted Access (LTE-LAA) or LTE Unlicensed (LTE-U) radio access technology or NR technology in unlicensed frequency bands (such as the 5 GHz Industrial, Scientific, and Medical (ISM) band). When operating in an unlicensed radio frequency band, wireless devices (such as base station 105 and UE 115) may employ a Listen-Before-Speak (LBT) procedure to ensure the channel is idle before transmitting data. In some cases, operation in unlicensed frequency bands may be based on carrier aggregation (CA) configurations that combine component carriers (CCs) operating in licensed frequency bands. Operation in unlicensed spectrum may include downlink transmission, uplink transmission, or both. Duplexing in unlicensed spectrum may be based on Frequency Division Duplex (FDD), Time Division Duplex (TDD), or a combination of both.
[0099] An encoder may have a finite input bus width, or the input bits of a single input vector may become available at different times. For example, the input vector may include information bits, parity bits, frozen bits, etc., where some or all of the information bits may be generated from or received from different sources. For example, bits not assigned as information bits may be assigned as parity bits or frozen bits. Parity bits can be used in parity check (PC) polar coding techniques, and frozen bits can be bits with a given value (0, 1, etc.) known to both the encoder and the decoder (e.g., an encoder that encodes information bits at the transmitter and a decoder that decodes received codewords at the receiver). The construction of the input vector may depend on the location / distribution of information bits among channel instances of the encoder. In some cases, different input vectors containing the same information bits (e.g., input vectors with different allocations of information bits) may be received with different success rates. For example, an input vector with information bits distributed such that information bits are loaded into channel instances associated with high reliability metrics may be decoded with an increased success rate. The input vector may be, for example, physical channel messages (e.g., control channel messages) or data packets.
[0100] The system performance of transmitting information bits in a low-latency environment can be determined by factors such as overhead, coding gain, transmission pipeline, and decoding latency. Some processing techniques may prioritize improvements in transmission pipeline and decoding latency at the expense of higher overhead and lower coding gain. Typically, using a larger code length (e.g., a larger codeword) provides higher coding gain. However, a larger code length leads to greater decoding latency and overall system latency. Conversely, a smaller code length reduces latency and / or decoding latency, but may result in increased overhead and / or lower coding gain.
[0101] Components of the wireless communication system 100, including base station 105 or UE 115, can implement encoding techniques for allocating information bits and outputting codeword bits for transmission. Base station 105 or UE 115 may include an encoder (e.g., encoding component 140) with multiple channel instances (e.g., encoding branches), wherein each channel instance is loaded with bits to be encoded by dividing the encoding branches into groups based on the techniques described herein and allocating information bits within those groups. By encoding and outputting the encoded bits in this manner, the encoder described herein can have lower latency compared to a conventional encoder.
[0102] Components of the wireless communication system 100, including base station 105 or UE 115, can implement decoding techniques that assign bit types to codewords for decoding operations. For example, base station 105 or UE 115 may include a decoder (e.g., encoding component 140) with multiple channel instances (e.g., decoding branches), wherein the multiple channel instances are assigned bit types by dividing the decoding branches into groups using the techniques described herein and assigning information bit types to some decoding groups and other bit types to other decoding branches. By assigning bit types and decoding encoded bits in this manner, the decoder described herein can have lower latency compared to conventional decoders.
[0103] Figure 2 According to one or more aspects of this disclosure, examples of a device 200 for bit allocation for encoding and decoding are shown. Device 200 can be any device within a wireless communication system 100 that performs encoding or decoding operations. Device 200 can be, for example, a UE 115 or a base station 105, as in... Figure 1 As described in [the document / reference], the encoder / decoder 210 can also be an example of the encoding component 140, as shown in [reference]. Figure 1 Described.
[0104] As shown in the figure, device 200 may include memory 205, encoder / decoder 210, and transmitter / receiver 215. Bus 220 can connect memory 205 to encoder / decoder 210, and bus 225 can connect encoder / decoder 210 to transmitter / receiver 215. In some instances, device 200 may have data stored in memory 205 to be transmitted to another device (such as UE 115 or base station 105). To initiate a transmission process, device 200 can retrieve data for transmission from memory 205. The data may include the number of information bits provided from memory 205 to encoder / decoder 210 via bus 220. The number of information bits may be represented by the value 'k', as shown in the figure. Encoder / decoder 210 may encode the number of information bits and output a codeword of length 'N', where N may be different from or the same as k. Bits not allocated as information bits (i.e., Nk bits) may be parity bits or frozen bits. Parity bits can be used in PC polar coding techniques, and frozen bits can be bits with a known given value (0, 1, etc.) for both the encoder and decoder (i.e., the encoder that encodes information bits at the transmitter and the decoder that decodes received codewords at the receiver). In some examples, the allocation of information bits and parity bits (as opposed to frozen bits) can be considered together using the framework used for the non-frozen bit allocation described herein. Furthermore, from the perspective of the receiving device, device 200 can receive encoded data (e.g., codewords) via receiver 215 and use decoder 210 to decode the encoded data to obtain the transmitted data.
[0105] In some examples, the method used by encoder 210 to encode data transmission may involve generating a polar code of length 'N' and dimension 'k' (corresponding to the number of information bits). Polar codes are examples of linear block error-correcting codes and are a first coding technique for provably achieving channel capacity, and can be used to increase the probability of successful transmission. During encoding, the encoder may include multiple channel instances (e.g., coding branches), each loaded with bits to be encoded. The bits to be encoded may include information bits and non-information bits. In other examples, the bits to be encoded may include non-frozen bits but not frozen bits. A reliability metric may be calculated based on the bit positions of encoder / decoder 210 (e.g., channel instances). For example, the probability that a given bit position (or set of bits) will be successfully decoded can be calculated. This probability may be referred to as reliability and may be associated with a given bit position or channel instance (or set of bits or channel positions). In some cases, channel instances may be ordered based on a determined reliability metric (e.g., in an order that decreases or increases reliability) and all or part of the channel instances may be assigned to a specific bit type (e.g., parity bits, information bits, frozen bits). For a given dimension k, the k most reliable bit positions are assigned as information bits, and the remaining bits can be either frozen bits or parity bits. In some other examples, k+p bits can be information bits plus parity bits, and the remaining N-(k+p) bits can be frozen bits.
[0106] Such implementations can be complex and introduce latency into the encoding or decoding process. For example, a decoder might perform blind decoding on a control channel, where multiple hypotheses about code length N and dimension k are tested using the decoder. For each hypothesis of different N, the decoder must recalculate and reorder reliability metrics to determine the positions of information bits, frozen bits, and / or parity bits. Sort of reliability metrics can be computationally expensive, and processing time can impact the latency of encoding or decoding for large N values. Alternatively, the device could store a complete sorted list of bit positions for all code lengths N. However, as the number of N values supported by the encoder or decoder increases, the amount of storage resources used can increase significantly.
[0107] Depending on some aspects, channel instances of encoder / decoder 210 can be divided into sectors or groups, such that each group includes one or more channel instances. The division can be performed according to a recursive formula, which can be based on, for example, the length of the base sequence. In the context of polar codes, channel instances can be divided into sectors or groups by recursively polarizing them into sectors or groups. Encoder 210 can then determine the number of information bits to be allocated or distributed to each group (e.g., the total number of information bits used to encode the information vector) based on a ratio associated with each group. Such techniques can reduce storage and / or processing / computation requirements at decoder 210. For example, fewer assumptions about code length N and dimension k for blind decoding operations on the channel can be tested, and because only sequences of a given length (e.g., the length of the base sequence) are stored, the storage of a list of bit positions / channel instances for all code length N can be reduced or avoided. In some examples, coding performance can be improved by incorporating channel reliability information (such as, for example, puncturing / shortening / repetition and bit modulation mapping).
[0108] The total number of channel instances of encoder 210 can be recursively divided into sectors or groups, as described below. Figure 5 The number of information bits can be allocated to each group of channel instances based on factors such as the total number of information bits, the channel polarization, etc. The number of information bits allocated to each group can depend on factors such as reliability metrics and the number of channel instances in the group (e.g., the group size). For example, the total number of information bits can be distributed across multiple groups, and the channel instances to which information bits are allocated can be based on a basic sequence of a given length. In one example, the given length of the basic sequence can be 64, and a single basic sequence of length 64 can be stored. In this aspect, the length of such a basic sequence can be less than the block length or size. Alternatively or concurrently, multiple basic sequences of the same or different lengths (e.g., 32, 64, 50, 120, 128, etc.) can be stored. In some examples, due to punching and shortening operations, a group may not have a length corresponding to a power of 2.
[0109] After determining the number of information bits to be allocated to each group, the information bits of the information vector can be loaded into the respective channel instances of one or more groups. In determining which channel bit to load a given information bit, the encoder can compare the size of the group and the associated number of information bits to be allocated to that group with a basic sequence indicating the position of the information bits within that group. As discussed above, the encoder / decoder 210 can use or store one or more basic sequences. Alternatively or additionally, each basic sequence can be associated with a code length (N) and a dimension (k), where N and k correspond to the number of information bits to be allocated in a given code of length N. The basic sequence can also be determined based on the group positions within the partitioned information vector. Once the information bits are allocated to channel instances, the encoder can use the channel instances and encode the information vector including the information bits based on the assigned information bits. In some examples, the information bits loaded into the channel instances can be affected at least in part based on puncturing and / or shortening operations. For example, the u-domain bit position corresponding to a punctured or shortened bit position in the x-domain can be fixed to a non-information bit (or frozen bit).
[0110] The techniques described herein enable scalable, improved, and / or optimal methods for expanding one or more basic sequences (e.g., with lengths less than the block length) into sequences or channel instances of arbitrary lengths. In some cases, instead of storing the sequence for every N and k combination, only the basic sequence with a given length can be stored, and the information vector can be recursively partitioned into groups until the group size reaches the size of the basic sequence. As a result, less storage space can be utilized because the entire sequence of bit positions and associated bit types is not stored. The techniques can be scalable for different block lengths, control channel aggregation levels, etc. Furthermore, polar codes can be designed for different channel requirements without having to run numerical density evolution every time. For example, mixed binary erased channel (BEC) and additive white Gaussian noise (AWGN) channel curves (e.g., linear interpolation curves of BEC and AWGN curves) can be used to design mixed Gaussian and erased channels. In some examples, punctured and / or shortened channel instances before polarization can be modeled as passing through a BEC channel, while channel instances transmitted through the channel can be modeled as passing through an AWGN channel. The application can be extended to designing general linear block / convolutional / LDPC code concatenations. Such a scheme can be used to determine the code rate of component codes.
[0111] The encoder / decoder 210 can use various coding techniques to encode the data to be transmitted, such as linear block coding, polar coding, Reed-Muller (RM) coding, polar RM coding, etc., which can introduce redundancy into the encoded output. This redundancy can increase the overall probability that the number of information bits will be successfully decoded upon reception. The encoder 210 is initially described as an example of a polar encoder with 8 channel instances (e.g., coding branches), and the principles of this paper are later extended to encoders with an arbitrary number of channel instances.
[0112] Figure 3 According to one or more aspects of this disclosure, an example of an encoder 300 for bit allocation for encoding and / or decoding is shown. The encoder 300 may be... Figure 2 An example of encoder / decoder 210 is provided. Encoder 300 is described below as a polar encoder, and the principles described herein can be extended to other types of encoders, such as, for example, RM encoders, polar RM encoders, system encoders, bit-inverting encoders, etc.
[0113] In this example, the polar encoder 300 can receive an input information vector I ([i0,i1,...,i7]) having multiple bits to be encoded, at least a portion of which can be information bits. In this example, the encoder 300 is an 8-bit encoder and therefore receives an input vector with a length N = 8. Using this information, the encoder 300 outputs an 8-bit output X ([X0,X1,...,X7]). Encoders with other bit sizes can also be used, and in some cases, the output codeword can have a length different from the length of the input information vector.
[0114] As shown in the figure, encoder 300 includes multiple bit positions U0 to U7, which can be loaded with corresponding bits from input vector I. For example, in branch U0, bit i0 is received at input 310, three Boolean XOR operations are performed (represented by the "+" sign at element 320), and bit X0 of output X is output at 315.
[0115] As depicted, each channel instance U0 to U7 of the polar encoder 300 can perform zero or more encoding operations on the input bits. Encoding of a bit in one channel instance can depend on the bit inputs of one or more other channel instances. For example, branch U6 encodes bit i6 by XORing bits i6 and i7 (e.g., X6 = i6 XOR i7). As seen, bit i6 is received at input 325 of channel instance U6, and bit i7 is received at input 330 of branch U7. At 335, channel instance U6 XORs i6 and i7 and provides X6 at output 340. The remaining channel instances U0 to U7 perform similar operations to encode the corresponding bits of the input vector I.
[0116] In some cases, the channel instance W corresponds to bits U0 to U7. N (For example, W0-W7) can all have associated reliability metrics. Therefore, once the output X is transmitted and received at the receiver, the information bits assigned to bit positions U0 to U7 can have different probabilities of successful decoding. In such a case, the input bits to the 'k' most reliable channel instances can be assigned information bit types.
[0117] Figure 4 According to one or more aspects of this disclosure, an example of an encoder 400 for bit allocation for encoding and decoding is shown. Encoder 400 may be a reference... Figure 1-3 Examples of encoding components 140, encoder / decoder 210, and / or encoder 300 are provided. Encoder 400 is described below as a polar encoder, and the principles described herein can be extended to other types of encoders, such as, for example, RM encoders, polar RM encoders, system encoders, bit-inverting encoders, etc.
[0118] Channel 405 (e.g., W) can be a binary-input discrete memoryless channel (e.g., W: X→Y). The capacity of the channel can be represented by C = I(X;Y) and for the binary-input example, 1 ≤ C ≤ 1, where C = I(X;Y) represents mutual information. In some examples, the capacity of each channel instance can be different. For example, for a binary-input channel, a channel with punctured bits can have C = 0, a channel with shortened bits can have C = 1, and a channel transmitted on a given AWGN channel can have the corresponding channel's C. N copies of channel 405 (e.g., channel W) can exist, and a one-to-one mapping from U to X can exist, such as... Figure 4 As shown (e.g., G) NxN {0, 1} N →{0,1} N Therefore, an effective channel W can be generated as a result.vec (For example, X) N =U N .G NxN ).
[0119] Figure 5 According to one or more aspects of this disclosure, an example of an encoder 500 for bit allocation for encoding and decoding is shown. The encoder 500 may be a reference... Figure 1-4 Examples of encoding components 140, encoder / decoder 210, encoder 300, and / or encoder 400 are provided. Encoder 500 is described below as a polar encoder, and the principles described herein can be extended to other types of encoders, such as, for example, RM encoders, polar RM encoders, system encoders, bit-inverting encoders, etc.
[0120] In this example, the polar encoder 500 can receive an input information vector having multiple bits to be encoded, at least a portion of which can be information bits. In this example, the encoder 500 is a 512-bit encoder and therefore can receive input vectors with a length up to N = 512 and a number of information bits up to k = 512. In this aspect, the block length can be 512. Using this information, the encoder 500 can output a 512-bit codeword. Encoders with other bit sizes can also be used, and in some cases, the output codeword can have a length different from the length of the input information vector.
[0121] As shown in the figure, encoder 500 includes multiple bit positions U0 to U511, which can be loaded with corresponding bits from the input vector (e.g., as in...). Figure 3 (as in the example). Encoder 500 can utilize multiple groups of channel instances for the bit allocation technique described herein. (Refer to the above). Figure 2 The described short or reduced basic sequence (e.g., a basic sequence with a length smaller than the block length) can be used to determine the reduced groups of information bit positions for channel instances. For example, channel instances of encoder 500 can be divided into two or more groups (G) of channel instances, and information bits (k) can be assigned to each group (k0, k1, k2... etc.). Subsequently, the information bits (k0, k1, k2... etc.) assigned to each group can be distributed or allocated among the reduced number of channel instances within each group according to the reliability metric discussed above. Such techniques can reduce the storage and / or computation associated with coding operations that otherwise utilize a larger range of channel instances and information bits, as also described above. Furthermore, the described techniques can facilitate code designs that are more suitable for different types of channels, for example, by better incorporating channel information (such as puncturing / shortening / repetition in information bit allocation) to provide improved coding performance.
[0122] This example utilizes a basic sequence of length 64 (e.g., N). ref =64). 512 channel instances (corresponding to U0 to U511) can be based on the utilized basic sequence (e.g., N). ref =64) are divided into two or more groups. For example, channel instances corresponding to U0 to U511 can be divided into 4 groups (G0, G1, G2, and G3). The minimum size of any group (e.g., the number of channel instances) can depend on the length of the basic sequence used (e.g., N3 = N2 = N). ref =64). Then, refer to the following text for further information. Figure 6 The described reliability formula determines the number of information bits allocated to each group of channel instances. For example, channel instances corresponding to U0 to U511 can be divided into G0 with a length of N0 = 256 and allocated k0 information bits, G1 with a length of N1 = 128 and allocated k1 information bits, G2 with a length of N2 = 64 and allocated k2 information bits, and G3 with a length of N3 = 64 and allocated k3 information bits. The number of information bits allocated to each group can be equal to the total number of bits to be encoded (e.g., k = k0 + k1 + k2 + k3). For this example, encoder 500 can use the storage associated with N0, N1, N2, N3 and / or perform calculations associated with N0, N1, N2, N3. Combining the values of k0, k1, k2, and k3, the information allocation of the overall polar codeword can be determined, as described above. In this aspect, information bits can be allocated based on mutual information (e.g., based on a mutual information transmission table) and / or by using a reliability ordering invariant property.
[0123] In other examples, groups longer than the basic sequence can be reduced to additional groups that decrease to the length of the basic sequence. That is, group G0 of length N0 = 256 can be reduced to the following groups: G4 of length N4 = 128, G5 of length N5 = 64, and G6 of length N6 = 64. Here, the information bits allocated to group G0 (e.g., k0) can also be distributed to groups G4, G5, and G6 (e.g., k0 = k4 + k5 + k6). By expansion, groups G4 and G1 can both be reduced again, each to a length of 64 (e.g., because N...). ref Two more groups (N=64), and encoder 500 can use storage and / or perform calculations associated with N=64 and k0, k1, k2... as described above. That is, in the example where the channel instances of encoder 500 are reduced to groups equal to the basic sequence length (e.g., all N=N...), ref=64), encoder 500 may only need to perform encoding operations associated with the maximum allocation of the basic sequence length and k (e.g., k0 or k1 or k2, etc.). In some examples, a basic sequence of length 64 can be used to determine the position of information bits within each group of groups G0 to G6. In some examples, additional recursion can be performed on some groups to obtain even smaller lengths. Alternatively or additionally, multiple basic sequences can represent positions for the same length 64 but with different k values and / or in different positions. For example, a basic sequence of length 64 can correspond to k3, and a second basic sequence of length 64 can correspond to k6, where k3 and k6 are different, or different basic sequences can be designed for different groups (G0, G1, G2, etc.). i ).
[0124] Figure 6 According to one or more aspects of this disclosure, an example of an encoder 600 for bit allocation for encoding and decoding is shown. Encoder 600 may be a reference... Figure 1-5 Examples of encoding components 140, encoder / decoder 210, encoder 300, encoder 400, and / or encoder 500. In some cases, groups G0 and G1 in this example may refer to... Figure 5 Examples of groups G2 and G3 are given below. Encoder 600 is described below as a polar encoder, and the principles described herein can be extended to other types of encoders, such as, for example, RM encoders, polar RM encoders, system encoders, bit-inverting encoders, etc.
[0125] Channel polarization can be used to create auxiliary channels to achieve coding gains beyond repetition. Figure 6 In the example, N=2 and For example, if W is a BEC with erasure probability ε, the following can be derived: as well as (For example, parity check repetition). For channel W1: U1→Y N The erasure probability can be expressed as ε - =1-(1-ε) 2 =2ε-ε 2 For channel W2: U2→(Y) N The erasure probability (U1) can be expressed as ε. + =ε 2 Therefore, W2 can be considered a better channel than W1 (e.g., W2 can be decoded with a higher success rate) or W + =W2 and W - =W1. The above operation can be performed recursively, which produces more polarization across N channel instances.
[0126] This example illustrates how information bits can be allocated (e.g., how k can be split into k0, k1, k2, k3, etc., see reference). Figure 5 ). Figure 6 The lower portion illustrates the channel polarization. For each polarization code, the information rate (e.g., information rate = k / N) can be used as the mutual information input (e.g., for channel instances corresponding to U1 and U2). The mutual information outputs (e.g., y0 and y1) can be polarized based on the functions associated with the encoder. For example, the higher portion 605 can correspond to the channel after the XOR operation (e.g., W). - The lower portion 610 can correspond to the channel after repetition (e.g., W). + Mutual information transfer tables, etc., can then be used to establish W and W. + / W - The relationship between these relationships is established, and thus the channel polarization is determined. In some examples, W for channel groups X1→Y1 and X2→Y2 can be the same or different, and each channel instance of Xi→Yi can be the same or different. The mutual information output R0 of the higher part 605 and the mutual information output R1 of the lower part can be used to derive the information bit distribution. For example,
[0127]
[0128] Alternatively, they can be represented as a function of the k information bits of the overall code: k0 = k - =R0 / R*k / 2, k1=k + =R1 / R*k / 2. These formulas establish the information bit allocation relationship for each stage of polarization, and they can be recursively applied to obtain the number of information bits at a finer granularity.
[0129] For code lengths that are not powers of 2 (e.g., in terms of rate matching, etc.), the distribution of information bits can be calculated as before. For all (N, k) codes, N = N0 + N1 + ..., and k0, k1... can be derived. For downlink control channels with different aggregation levels, the code length N can naturally grow by scaling in powers of 2. Rate matching can be performed at aggregation level 1 each time, and further polarization can be achieved using N0 * 2^m. For the purposes of the Physical Downlink Control Channel (PDCCH), the higher portions of the extended graph of the channel instance are likely to be sparse (e.g., sparse information bits), and short-length sequences (e.g., basic sequences) may be sufficient. Different groups of channel instances can potentially use different sequences to achieve performance / complexity enhancements.
[0130] Figure 7According to one or more aspects of this disclosure, examples of information bit allocation 700 for polar codes are shown. Information bit allocation 700 illustrates a first information bit allocation 705 for polar codes with punctured bits and a second information bit allocation 710 for polar codes with shortened bits.
[0131] In some examples, when at least some channel instances are used, the information bit allocation 700 can be based on, for example, formula (1) to consider puncturing / shortening. For example, when {NM} bits are punctured, as shown in bit allocation 705, the corresponding information bit allocation for W- and W+ channels can be simplified to:
[0132]
[0133] K + =KK -
[0134]
[0135] Wherein, J is the non-punched bit shown in the higher portion of bit allocation 705.
[0136] In some other examples, when {NM} bits are shortened, as shown in bit allocation 710, the corresponding information bit allocation for the W- and W+ channels can be simplified to:
[0137]
[0138] K + =KK -
[0139]
[0140] Wherein, J is the non-shortened bit shown in the higher part of bit allocation 710.
[0141] For AWGN channels that are not punched or shortened, R0 and R1 can also be approximated using the following formulas:
[0142]
[0143]
[0144] For AWGN channels that are not punched or shortened, R0 and R1 can also be approximated using the following formulas:
[0145]
[0146]
[0147] Figure 8 According to one or more aspects of this disclosure, an example of an incremental redundancy hybrid automatic repeat request (IR-HARQ) scheme 800 for bit allocation for encoding and decoding is shown. In some cases, polar codes may be transmitted in an IR-HARQ scheme utilizing the techniques described herein. For example, a first transmission 815 (e.g., TX1) may be transmitted such that N1 bits are received at the receiver. Next, for example, after an unsuccessful transmission, a second transmission 810 (e.g., TX2) with a total of N2 bits may be transmitted, where N2 may be different from or the same as N1. In some cases, the second transmission 810 may be referred to as a retransmission of the first transmission 815 and may occur after receiving a negative acknowledgment (NACK) message from the intended receiving device. In some examples, the IR-HARQ scheme may also include a punched region 805. The allocation of information bits in the IR-HARQ application (e.g., the allocation of information bits from bit position 820-a of the first transmission 815 to bit position 820-b of the second transmission 810) is described below.
[0148] Each transmission can be viewed as a punctured version of a long code or an extended version of a short code. The recursive scheme discussed in this paper can be used to determine the allocation of information bits for each transmission (e.g., the first transmission 815 and the second transmission 810). For example, the first transmission 815 can be configured in some basic sequence N. ref The upper allocation is k information bits, and the second transmission 810 can be, for example, 2*N. ref The same k information bits are allocated on each bit. Through expansion, additional retransmissions can be made in 3*N bits. ref 4*N ref Allocate k information bits. That is, the allocation of information bits for each transmission of IR-HARQ can follow the recursive scheme described herein. In other examples, the first transmission 815 can utilize N1 = 64 bits and the second transmission 810 can utilize N2 = N1 + 2*N. ref = 64 + 128 = 192 bits. In other examples, the first transmission 815 can utilize N1 = 128 bits and the second transmission 810 can utilize N2 = N1 + 2*N. ref =64 + 128 = 192 bits (in N) ref =64 (for example).
[0149] In this example, the information bits of the first transmission 815 can be copied to a more reliable bit position in the second transmission 810. That is, after the IR-HARQ retransmission, the information bits (e.g., k=3) can be copied from bit position 820-a to bit position 820-b (which can be considered as the punctured bits in the first IR-HARQ retransmission) in a longer master code, and bit position 820-b can be more reliable (e.g., more successfully received) than bit position 820-a due to the increased coding sequence associated with the second transmission 810 (e.g., there is a more reliable bit position 820 because N2>N1) (e.g., after the additional IR-HARQ transmission is received, this could be due to the longer overall code length).
[0150] In some examples, the number of coded bits in each transmission can vary with arbitrary granularity (e.g., it doesn't necessarily have to have a length that is a power of 2). For example, for a given payload k, the first transmission may include M1 bits out of a total of N bits, where (N-M1) bits can be considered to be punctured. In this example, an input channel with a rate derived from the overall rate R1 = k / M1 after the first transmission can be used to determine k information locations among the M1 bits in the u-domain, where the set of k locations is defined as set S1.
[0151] The second transmission may include M2 bits out of a total of N bits, where (N-(M1+M2)) bits may be considered to be punctured. In this example, an input channel with a rate derived from the overall rate R1 = k / (M1+M2) after the second transmission can be used to determine the information positions among a total of (M1+M2) bits in the u-domain, where the set of k positions is defined as set S2.
[0152] In some examples, S1 and S2 may not completely overlap (e.g., due to reliability variations from IR-HARQ transmissions). In such examples, some information bit positions in S2 may not be in S1. For example, IR-HARQ scheme 800 shows that after an IR-HARQ retransmission is received, some information bits in S2 (but not in S1) may be more reliable than bits in S1 (but not in S2). In such examples, during polar coding, information bits can be copied from bit positions in S2 but not in S1 to bit positions in S1 but not in S2, so that the overall polar codeword can be consistent between IR-HARQ transmissions.
[0153] On the decoder side, SC or SCL decoding can be used to perform decoding sequentially. The unpunctured portions of the overall codeword can be decoded sequentially, with the retransmitted portions of the overall coded bits being decoded first. Once some decisions regarding the information bits (e.g., bit 820-b) are determined, those decisions can be used when decoding the corresponding bit 820-a from a previous transmission. The same recursion can be applied to any number of IR-HARQ transmissions.
[0154] In some cases, IR-HARQ technology can utilize puncturing. That is, a portion of the N generated bits can be punctured to reduce the code rate. (See reference...) Figure 5 For example, if N = 256 bits, 64 bits can be punctured and only 192 bits can be sent. In this example, the higher part of the graph (e.g., associated with a less reliable channel instance) can be punctured so that group G0 effectively leaves and G1 can send only 64 bits. In such a puncturing scheme, puncturing can be considered for mutual information computation (e.g., recursively). Therefore, puncturing can be handled with a finer level of granularity through recursion, as discussed below. When M2 = M1 and / or when M2 != M1 and puncturing is required, puncturing can start from the top of the U domain (corresponding to the channel instance domain); however, this scheme can be applied in a generalized manner. In some examples, puncturing can be performed at the bottom of the graph, where the encoded bits are perfectly known for the polar code (also known as shortening).
[0155] Mutual information (which can be represented in a table or reference table) can be used to establish W and W + / W - The relationship between them can be established, and therefore, can be recursively applied to obtain finer-grained k values for each smaller group. For example, for N ref The channel can be recursively divided into basic sequences of length N = 64 and N = 256 bits. ref There are four groups with N0 = N1 = N2 = N3 = 64 bits. Therefore, the information bit distribution can be derived as follows:
[0156]
[0157] This recursion also works when puncturing is present. The information allocation using puncturing can be applied recursively to obtain a finer-grained k value in each minigroup. In such a case, assuming the code block length before puncturing is N, the information bit distribution can be derived as follows:
[0158]
[0159] Note that due to the drilling, k 00=0 (for example, as described above with reference to G1). A similar approach can be applied when larger or smaller portions of the entire diagram are punched.
[0160] Therefore, as described above, recursion can also be applied when puncturing is present, and the information bit allocation scheme can work for different lengths N after puncturing. In the example discussed earlier, for N=64, N can be used. ref =64. Direct lookup table for reference sequence. For N=128, the information bit allocation of k information bits can be determined based on formula (1). For N=256, the information bit allocation of k information bits can be determined based on formula (2) or a recursive operation of formula (1). For N=192, the information bit allocation of k information bits can be determined based on formula (3) or a recursive operation of formula (1) considering punctured bits (such as one of (E1) and (E2)).
[0161] Figure 9 An example of an initial HARQ transmission 900 is shown according to one or more aspects of this disclosure. Based on the information bit allocation of the initial HARQ transmission 900, it can be assumed that k = 4 and M1 = 10. The initial HARQ transmission 900 may include allocated information bits 905 and transmitted code bits 910. The remaining polarization bits may be considered to be punctured.
[0162] Figure 10 An example of HARQ retransmission 1000 is shown according to one or more aspects of this disclosure. HARQ retransmission 1000 includes allocated information bits 1005 and transmitted code bits 1010. During retransmission, six additional code bits 1015 can be transmitted. Assuming six additional code bits 1015 are transmitted, i.e., k = 4 and M1 + M2 = 16, the information bit allocation according to HARQ retransmission 1000 can be recalculated. The information bit allocation can be recalculated based on the code rate R2 = k / (M1 + M2) = 4 / 16, as shown in the HARQ retransmission before recalculating 1020. In some examples, the information bit allocation can be changed between the first transmission and the retransmission. For example, the information position in the non-overlapping portion of the information set allocation can be repeated in two positions, as shown in the HARQ retransmission after recalculating 1025. Repetition can be performed to maintain consistency between IR-HARQ transmissions. From the decoder's perspective, SC or SCL decoding can be used to perform decoding sequentially. The unpunctured portion of the overall polarization codeword can be decoded sequentially, with the retransmitted portion of the overall coded bits being decoded first. In some examples, once some decisions have been made regarding the information bit 1005 in the HARQ retransmission 1025, those decisions can be used for decoding when decoding the corresponding bit 1005 in a previous transmission.
[0163] Figure 11 According to various aspects of this disclosure, a block diagram 1100 of a wireless device 1105 supporting bit allocation for encoding and decoding is shown. The wireless device 1105 may be as described in reference... Figure 1 Examples of aspects of the described UE 115 or base station 105. Wireless device 1105 may include a receiver 1110, an encoding manager 1115, and a transmitter 1120. Wireless device 1105 may also include a processor. Each of these components may communicate with each other (e.g., via one or more buses).
[0164] Receiver 1110 can receive information such as packets, user data, or control information associated with various information channels (e.g., control channels, data channels, and information related to bit allocation for encoding and decoding). The information can be transmitted to other components of the device. Receiver 1110 can be a reference... Figure 14 Examples of aspects of the transceiver 1435 described.
[0165] Encoding Manager 1115 can be used as a reference Figure 14 Examples of aspects of the described encoding manager 1415. At least some of the encoding manager 1115 and / or its various sub-components may be implemented in hardware, software executed by a processor, firmware, or any combination thereof. If implemented in software executed by a processor, the functionality of the encoding manager 1115 and / or its various sub-components may be performed by a general-purpose processor, digital signal processor (DSP), application-specific integrated circuit (ASIC), field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, or any combination thereof, designed to perform the functions described in this disclosure. The encoding manager 1115 and / or its various sub-components may be physically located in various locations, including being distributed such that portions of the functionality are implemented by one or more physical devices in different physical locations. In some examples, according to various aspects of this disclosure, the encoding manager 1115 and / or its various sub-components may be separate and distinct components. In other examples, at least some of the subcomponents of the encoding manager 1115 and / or its various subcomponents may be combined with one or more other hardware components (including, but not limited to, I / O components, transceivers, network servers, another computing device, one or more other components described in this disclosure, or combinations thereof) in accordance with various aspects of this disclosure.
[0166] The encoding manager 1115 can identify a set of channel instances associated with the transmission of a vector comprising a first plurality of information bits, wherein one or more groups of the plurality of channel instances are recursively divided into multiple portions; allocate the first plurality of information bits among the one or more groups based at least in part on a reliability metric associated with the channel; perform encoding operations to encode the vector based at least in part on the allocation of the first plurality of information bits among the one or more groups and the size of at least one of the one or more groups; and transmit the encoded vector using the set of channel instances. The encoding manager 1115 can also receive a codeword for decoding, the codeword comprising the first plurality of information bits; identify a plurality of channel instances associated with the reception of the codeword, wherein the plurality of channel instances are recursively divided into multiple groups; assign bit types to subsets of at least the plurality of channel instances based at least in part on a reliability metric associated with the channel and the size of at least one of the plurality of groups; and perform decoding operations on one or more portions of the codeword to obtain the first plurality of information bits based at least in part on the assigned bit types.
[0167] Transmitter 1120 can transmit signals generated by other components of the device. In some examples, transmitter 1120 can be co-located with receiver 1110 in a transceiver module. For example, transmitter 1120 can be a reference... Figure 14 An example of an aspect of the transceiver 1435 is described. Transmitter 1120 may include a single antenna, or it may include a set of antennas. In this aspect, a set of channel instances can be divided into one or more groups. In this aspect, each group of channel instances can be polarized. Furthermore, mutual information can be used to determine the position of one or more information bits between the one or more groups. At least one basic sequence may correspond to or depend on the size of one of the one or more groups. Compared to existing polarization coding for such channel instances, this method of dividing the channel instances into groups, polarizing such groups, and using mutual information to locate bits reduces complexity.
[0168] Figure 12 According to various aspects of this disclosure, a block diagram 1200 of a wireless device 1205 supporting bit allocation for encoding and decoding is shown. The wireless device 1205 may be as described in reference... Figure 1 and 11 Examples of aspects of the described wireless device 1105, UE 115, or base station 105. Wireless device 1205 may include a receiver 1210, an encoding manager 1215, and a transmitter 1220. Wireless device 1205 may also include a processor. Each of these components may communicate with each other (e.g., via one or more buses).
[0169] Receiver 1210 can receive information such as packets, user data, or control information associated with various information channels (e.g., control channels, data channels, and information related to bit allocation for encoding and decoding). The information can be transmitted to other components of the device. Receiver 1210 can be a reference... Figure 14 Examples of aspects of the transceiver 1435 described.
[0170] Encoding Manager 1215 can be a reference Figure 14 Examples of aspects of the described encoding manager 1415. The encoding manager 1215 may also include a channel component 1225, a bit allocation component 1230, an encoding component 1235, a transmitting component 1240, a receiving component 1245, a bit assignment component 1250, and a decoding component 1255.
[0171] Channel component 1225 can identify multiple channel instances after multi-stage polarization of a channel associated with the transmission of a vector including a first plurality of information bits, wherein one or more groups of the plurality of channel instances are recursively divided into multiple parts. Channel component 925 can also identify multiple channel instances of a channel associated with the reception of a codeword, wherein the plurality of channel instances are recursively divided into multiple groups. In some cases, the vector includes a plurality of coded bits determined at least in part based on a vector of coded input bits, the coded input bits including a set of information bits and a set of frozen bits. In some cases, the minimum group size is a power of 2. In some cases, the minimum group size is not a power of 2.
[0172] Bit allocation component 1230 can allocate a first plurality of information bits among one or more groups within a group based on a reliability metric associated with the channel. In some cases, the allocation of the first plurality of information bits among groups is based on a fundamental sequence, which is based on the size of at least one group within the group. In some cases, the fundamental sequence is not based on the size of a vector. In some cases, the reliability metric can be associated with a corresponding equivalent channel after polarization operation. In some cases, the channel reliability metric includes: channel capacity, channel reliability, channel mean square error, channel information rate, or any combination thereof. In some cases, allocating the first plurality of information bits includes: determining a first output rate associated with a first group within one or more groups; and determining the number of information bits to be allocated to the first group based on the first output rate or an equivalent method of achieving such calculation. In some cases, determining the first output rate is based on data indicating the relationship between one or more channel instances and the channel. In some cases, the data is for at least one of the following: a binary erase channel (BEC), a binary symmetric channel (BSC), or an additive white Gaussian noise (AWGN) channel. In some cases, allocating the first plurality of information bits further includes: determining a second output rate associated with a second group in one or more groups; and determining the number of information bits to be allocated to the second group based on the second output rate. In some cases, the first output rate differs from the second output rate. In some cases, the first output rate is based on the size of the first group, and the second output rate is based on the size of the second group. In some cases, allocating the first plurality of information bits further includes: determining the positions of one or more information bits in the group based at least in part on the number of information bits and a common basic sequence. In some cases, the bit allocation component 930 may allocate a second plurality of information bits associated with a portion of the encoded vector among one or more groups in the group. In some cases, the second plurality of information bits may correspond to corresponding information bits in the first plurality of information bits.
[0173] Encoding component 1235 can perform encoding operations to encode a vector based on the allocation of a first plurality of information bits among one or more groups and the size of at least one group. In some cases, the encoding operation includes at least one of the following: polarization encoding operation, Reed-Muller (RM) encoding operation, or polarized RM operation, or cyclic redundancy check (CRC) concatenated polarization operation.
[0174] Transmitting component 1240 may use a set of channel instances to transmit the encoded vector. Transmitting component 940 may, at least in part, retransmit a portion of the encoded vector using one or more channel instances from a plurality of channel instances based on the reception of a negative acknowledgment (NACK) message. In some cases, transmitting component 940 may transmit incrementally redundant coded bits in the first transmission bits as part of a larger polarization codeword, along with the retransmission of the first plurality of retransmitted information bits. Transmitting component 940 may send a NACK message in the event of an unsuccessful decoding operation. In some cases, the bit position of at least one information bit from the first plurality of information bits during a previous transmission of the encoded vector differs from the bit position of the corresponding information bit from the second plurality of information bits after the initial transmission and retransmission of the co-coded vector. The bit position may be calculated or derived, at least in part, based on the allocation of information bit K over the corresponding overall code length after the reception of all IR-HARQ transmissions. In some cases, after retransmission, the bit position of each information bit from the first plurality of information bits differs from the bit position of the corresponding information bit from the second plurality of information bits. In some such examples, the information assigned to non-overlapping bit positions can be copied from the position in the retransmission to the position in the initial transmission, for example, in order to keep the overall polarization receive codeword consistent between IR-HARQ transmissions.
[0175] Receiver 1245 can receive codewords for decoding, the codewords comprising a first plurality of information bits. Receiver 945 can also receive retransmissions of at least a portion of a codeword comprising at least a portion of a second plurality of information bits. In some cases, the bit position (e.g., the group in which the bit is located) of at least one information bit in the second plurality of information bits differs from the bit position of the corresponding information bit in the first plurality of information bits. In some such examples, information assigned to non-overlapping bit positions can be copied from its position in the retransmission to its position in the initial transmission, for example, to keep the overall polarization received codeword consistent between IR-HARQ transmissions.
[0176] Bit assignment component 1250 can assign bit types to a subset of at least a plurality of channel instances based on a reliability metric associated with the channel and the size of at least one group in the group. In some cases, bit types include: information bits, frozen bits, parity bits, or any combination thereof. In some cases, the basic sequence is not based on codeword size. In some cases, the channel reliability metric includes: channel capacity, channel reliability, channel information rate, or any combination thereof. In some cases, assigning bit types includes: determining a first output rate associated with a first group in one or more groups; and determining, based on the first output rate, the number of information bit types to be assigned to the first group. In some cases, the bit type assignment is based on a basic sequence, which is based on the size of at least one group in the group. In some cases, the first output rate is different from a second output rate. In some cases, the first output rate is based on the size of the first group, and the second output rate is based on the size of the second group. In some cases, determining the first output rate is based on data indicating the relationship between one or more channel instances and the channel. In some cases, the data is for at least one of the following: BEC, BSC, or AWGN channels. In some cases, the bit assignment type also includes: determining a second output rate associated with a second group in one or more groups; and, based on the second output rate, determining the number of information bit types to be assigned to the second group. In some cases, it may be expected that the bit assignment at the receiver is the same as the bit assignment from the transmitter.
[0177] The decoding component 1255 can perform decoding operations on one or more portions of a codeword based on the assigned bit type to obtain a first plurality of information bits. In some cases, the decoding operation includes at least one of the following: polar coding operation, RM coding operation, or polar RM operation.
[0178] Transmitter 1220 can transmit signals generated by other components of the device. In some examples, transmitter 1220 can be co-located with receiver 1210 in a transceiver module. For example, transmitter 1220 can be a reference... Figure 14 Examples of aspects of the transceiver 1435 described. Transmitter 1220 may include a single antenna, or may include a set of antennas.
[0179] Figure 13 According to various aspects of this disclosure, a block diagram 1300 is shown of an encoding manager 1315 supporting bit allocation for encoding and decoding. The encoding manager 1315 may be a reference... Figure 11 , 12Examples of aspects of the encoding managers 1115, 1215, or 1415 described in section 14. Encoding manager 1315 may include channel component 1320, bit allocation component 1325, encoding component 1330, transmitting component 1335, receiving component 1340, bit assignment component 1345, decoding component 1350, and storage component 1355. Each of these modules may communicate directly or indirectly with each other (e.g., via one or more buses).
[0180] Channel component 1320 can identify multiple channel instances associated with the transmission of a vector comprising a first plurality of information bits. In some cases, the multiple channel instances are recursively divided into one or more groups. Channel component 1320 can identify multiple channel instances associated with the reception of a codeword, wherein the multiple channel instances are recursively divided into one or more groups. In some examples, due to, for example, puncturing / shortening or bit modulation mapping, the multiple channel instances in each group may be the same or may be different before polarization. In some cases, the minimum group size is not a power of 2.
[0181] Bit allocation component 1325 can allocate a first plurality of information bits among one or more groups based on a reliability metric associated with a channel having multi-stage polarization. In some cases, the allocation of the first plurality of information bits among one or more groups is based on a basic sequence, which is based on the size of at least one of the groups. In some cases, the basic sequence is not based on the size of a vector. In some cases, the channel reliability metric includes: channel capacity, channel reliability, channel information rate, or any combination thereof. In some cases, allocating the first plurality of information bits includes: determining a first output rate associated with a first group among one or more groups; and determining, based on the first output rate, the number of information bits to be allocated to the first group. In some cases, determining the first output rate is based on data indicating the relationship between one or more channel instances and the channel. In some cases, the data is for at least one of: BEC, BSC, AWGN channels, or some combination thereof. In some cases, allocating the first plurality of information bits also includes: determining a second output rate associated with a second group among one or more groups; and determining, based on the second output rate, the number of information bits to be allocated to the second group. In some cases, the first output rate is different from the second output rate. In some cases, the first output rate is based on the size of the first group, and the second output rate is based on the size of the second group. The bit allocation component 1325 can calculate the information bit allocation for each of the first and second groups, at least in part, based on the total number of information bits to be allocated and a reliability metric. In some cases, the bit allocation component 1325 can allocate a second plurality of information bits associated with a portion of the encoded vector among one or more groups. In some cases, the second plurality of information bits can correspond to a corresponding information bit in the first plurality of information bits.
[0182] The encoding component 1330 can perform an encoding operation to encode a vector based on the allocation of a first plurality of information bits among one or more groups and the size of at least one group. In some cases, the encoding or decoding operation includes at least one of the following: polarization encoding operation, RM encoding operation, confidence propagation decoding operation for low-density parity-check (LDPC) codes, or polarization RM operation.
[0183] Transmitting component 1335 may use a set of channel instances to transmit the encoded vector. Transmitting component 1035 may, at least in part, retransmit a portion of the encoded vector using one or more channel instances from a plurality of channel instances based on the reception of a NACK message. In some cases, transmitting component 1035 may retransmit each of the first plurality of information bits. Transmitting component 1035 may send a NACK message in the event of an unsuccessful decoding operation. In some cases, the bit position of at least one information bit from the first plurality of information bits during the transmission of the encoded vector differs from the bit position of the corresponding information bit from the second plurality of information bits after the reception of all transmissions of the encoded vector. In some cases, the bit position of each information bit from the first plurality of information bits differs from the bit position of the corresponding information bit from the second plurality of information bits.
[0184] Receiver 1340 can receive codewords for decoding, the codewords comprising a first plurality of information bits. In some cases, receiving the codeword includes a receive portion and an XOR portion in the polarization transformation. Receiver 1040 can also receive retransmissions of the codeword, comprising at least a portion of a second plurality of information bits. In some cases, the bit position of at least one information bit in the second plurality of information bits differs from the bit position of the corresponding information bit in the first plurality of information bits. In some such examples, information assigned to non-overlapping bit positions can be copied from the position in the retransmission to the position in the initial transmission, for example, to keep the overall polarization receive codeword consistent between IR-HARQ transmissions.
[0185] Bit assignment component 1345 can assign bit types to subsets of at least a plurality of channel instances based on a reliability metric associated with the channel and the size of at least one group in the group. In some cases, bit types include: information bits, frozen bits, parity bits, or any combination thereof. In some cases, the basic sequence is not based on codeword size. In some cases, the channel reliability metric includes: channel capacity, channel reliability, channel information rate, or any combination thereof. In some cases, assigning bit types includes: determining a first output rate associated with a first group in the group; and determining the number of information bit types to be assigned to the first group based on the first output rate. In some cases, the assigned bit types are based on a basic sequence, which is based on the size of at least one group in the group. In some cases, the first output rate is different from the second output rate. In some cases, the average of the first and second output rates is equal to the original channel rate before polarization. In some cases, the first output rate is based on the size of the first group, and the second output rate is based on the size of the second group. In some cases, the first and second output rates may be based at least in part on the total number of information bits allocated to the first and second groups. In some cases, determining the first output rate is based on data indicating the relationship between one or more channel instances and channels. In some cases, the data is for at least one of the following: BEC, BSC, or AWGN channels. In some cases, the bit assignment type also includes: determining a second output rate associated with a second group in the group; and, based on the second output rate, determining the number of information bit types to be assigned to the second group. In some cases, the bit assignment component 1045 may determine the position of one or more information bits in the group based at least in part on the number of information bits and one or more basic sequences of a plurality of basic sequences.
[0186] The decoding component 1350 can perform decoding operations on one or more portions of a codeword based on the assigned bit type to obtain a first plurality of information bits. In some cases, the decoding operation includes at least one of the following: polar coding operation, RM coding operation, or polar RM operation.
[0187] Storage component 1355 can store a basic sequence for allocating information bits, the allocation corresponding to a given group size and a given number of information bit positions associated with that group size. Storage component 955 can store one or more basic sequences, each based on at least one of a given group size or positions associated with that group size. In some cases, each of the one or more basic sequences can be determined at least in part based on: density evolution techniques, density evolution techniques at least in part based on Gaussian approximation (mean value evolution), cross-information techniques, mean squared error density evolution techniques, or polarization weighting techniques. In some other cases, each of the one or more basic sequences can be obtained via a simulated computer search. In some cases, the given group size is constant for each information bit position in a given number of information bit positions.
[0188] Figure 14 Based on various aspects of this disclosure, a diagram of a system 1400 including a device 1405 supporting bit allocation for encoding and decoding is shown. Device 1405 may be as described above (e.g., refer to...). Figure 1 , 11 Examples of wireless devices 1105, 1205, or UE 115 described in 12) or components including wireless devices 1105, 1205, or UE 115. Device 1405 may include components for bidirectional voice and data communication, including components for transmitting communication and components for receiving communication, including UE code manager 1415, processor 1420, memory 1425, software 1430, transceiver 1435, antenna 1440, and I / O controller 1445. These components may communicate electronically via one or more buses (e.g., bus 1410). Device 1405 may communicate wirelessly with one or more base stations 105.
[0189] Processor 1420 may include intelligent hardware devices (e.g., general-purpose processors, DSPs, central processing units (CPUs), microcontrollers, ASICs, FPGAs, programmable logic devices, discrete gate or transistor logic components, discrete hardware components, or any combination thereof). In some cases, processor 1420 may be configured to use a memory controller to operate a memory array. In other cases, the memory controller may be integrated into processor 1420. Processor 1420 may be configured to execute computer-readable instructions stored in memory to perform various functions (e.g., functions or tasks supporting bit allocation for encoding and decoding).
[0190] Memory 1425 may include random access memory (RAM) and read-only memory (ROM). Memory 1425 may store computer-readable, computer-executable software 1430, which includes instructions that, when executed, cause the processor to perform the various functions described herein. In some cases, among others, memory 1425 may also include a basic input / output system (BIOS) that controls basic hardware and / or software operations, such as interaction with peripheral components or devices.
[0191] Software 1430 may include code for implementing aspects of this disclosure, including code for supporting bit allocation for encoding and decoding. Software 1430 may be stored in a non-transitory computer-readable medium, such as system memory or other memory. In some cases, software 1430 may not be directly executable by a processor, but may enable a computer (e.g., when compiled and executed) to perform the functions described herein.
[0192] Transceiver 1435 can communicate bidirectionally via one or more antennas, wired or wireless links, as described above. For example, transceiver 1435 can represent a wireless transceiver and can communicate bidirectionally with another wireless transceiver. Transceiver 1435 may also include a modem for modulating packets and providing the modulated packets to the antenna for transmission, and demodulating packets received from the antenna.
[0193] In some cases, a wireless device may include a single antenna 1440. However, in other cases, the device may have more than one antenna 1440, which are capable of transmitting or receiving multiple wireless transmissions simultaneously.
[0194] I / O controller 1445 can manage the input and output signals of device 1405. I / O controller 1445 can also manage peripheral devices not integrated into device 1405. In some cases, I / O controller 1445 can represent a physical connection or port to an external peripheral device. In some cases, I / O controller 1445 can utilize, for example... The operating system may be a known operating system. In other cases, the I / O controller 1445 may represent or interact with a modem, keyboard, mouse, touchscreen, or similar device. In some cases, the I / O controller 1445 may be implemented as part of the processor. In some cases, a user may interact with the device 1405 via the I / O controller 1445 or via hardware components controlled by the I / O controller 1445.
[0195] Figure 15According to various aspects of this disclosure, a diagram of a system 1500 including a device 1505 supporting bit allocation for encoding and decoding is shown. Device 1505 may be as described above (e.g., refer to...). Figure 1 , 12 Examples of wireless devices 1205, 1305, or base station 105 described in 13) or components including wireless devices 1205, 1305, or base station 105. Device 1505 may include components for bidirectional voice and data communication, including components for transmitting communication and components for receiving communication, including base station encoding manager 1515, processor 1520, memory 1525, software 1530, transceiver 1535, antenna 1540, network communication manager 1545, and base station communication manager 1550. These components may communicate electronically via one or more buses (e.g., bus 1510). Device 1505 may communicate wirelessly with one or more UEs 115.
[0196] Processor 1520 may include intelligent hardware devices (e.g., general-purpose processors, DSPs, CPUs, microcontrollers, ASICs, FPGAs, programmable logic devices, discrete gate or transistor logic components, discrete hardware components, or any combination thereof). In some cases, processor 1520 may be configured to use a memory controller to operate a memory array. In other cases, the memory controller may be integrated into processor 1520. Processor 1520 may be configured to execute computer-readable instructions stored in memory to perform various functions (e.g., functions or tasks supporting bit allocation for encoding and decoding).
[0197] Memory 1525 may include RAM and ROM. Memory 1525 may store computer-readable, computer-executable software 1530, which includes instructions that, when executed, cause the processor to perform the various functions described herein. In some cases, among others, memory 1525 may also contain a BIOS, which controls basic hardware and / or software operations, such as interaction with peripheral components or devices.
[0198] Software 1530 may include code for implementing aspects of this disclosure, including code for supporting bit allocation for encoding and decoding. Software 1530 may be stored in a non-transitory computer-readable medium, such as system memory or other memory. In some cases, software 1530 may not be directly executable by a processor, but may enable a computer (e.g., when compiled and executed) to perform the functions described herein.
[0199] Transceiver 1535 can communicate bidirectionally via one or more antennas, wired or wireless links, as described above. For example, transceiver 1535 can represent a wireless transceiver and can communicate bidirectionally with another wireless transceiver. Transceiver 1535 may also include a modem for modulating packets and providing the modulated packets to the antenna for transmission, and demodulating packets received from the antenna.
[0200] In some cases, a wireless device may include a single antenna 1540. However, in other cases, the device may have more than one antenna 1540, which are capable of transmitting or receiving multiple wireless transmissions simultaneously.
[0201] The network communication manager 1545 can manage communication with the core network (e.g., via one or more wired backhaul links). For example, the network communication manager 1545 can manage the transmission of data communication to client devices (such as one or more UEs 115).
[0202] The base station communication manager 1550 can manage communication with other base stations 105 and may include a controller or scheduler for cooperating with other base stations 105 to control communication with the UE 115. For example, the base station communication manager 1550 can coordinate the scheduling of transmissions to the UE 115 to implement various interference mitigation techniques such as beamforming or joint transmission. In some examples, the base station communication manager 1550 may provide an X2 interface in LTE / LTE-A wireless communication network technology to facilitate communication between base stations 105.
[0203] Figure 16 According to various aspects of this disclosure, flowcharts illustrating a method 1600 for bit allocation for encoding and decoding are shown. The operation of method 1600 can be implemented by UE 115 or base station 105 or components thereof, as described herein. For example, the operation of method 1600 can be performed by an encoding manager, as referred to... Figures 11 to 13 The description is as follows. In some examples, UE 115 or base station 105 may execute a set of codes to control the functional elements of the device to perform the functions described below. Alternatively or concurrently, UE 115 or base station 105 may use dedicated hardware to perform aspects of the functions described below.
[0204] At box 1605, UE 115 or base station 105 can identify multiple channel instances having multi-stage polarization associated with a transmission of a vector comprising multiple information bits, wherein the multiple channel instances are recursively divided into multiple groups. This can be determined according to reference... Figures 1 to 6 The described method performs the operations of box 1605. In some examples, aspects of the operations of box 1605 may be performed by the channel component, as described in the reference. Figures 11 to 13 Described.
[0205] At box 1610, UE 115 or base station 105 may allocate multiple information bits among one or more groups of multiple groups, at least in part, based on a reliability metric associated with the channel. This can be done according to reference... Figures 1 to 6 The described method performs the operations of box 1610. In some examples, aspects of the operations of box 1610 may be performed by a bit allocation component, as described in the reference. Figures 11 to 13 Described.
[0206] At box 1615, UE 115 or base station 105 may perform an encoding operation to encode a vector, at least in part, based on the allocation of multiple information bits among multiple groups and the size of at least one of the multiple groups. This can be done according to reference... Figures 1 to 6 The described method performs the operations of box 1615. In some examples, aspects of the operations of box 1615 can be performed by the coded component, as shown in the reference. Figures 11 to 13 Described.
[0207] At box 1620, UE 115 or base station 105 may use multiple channel instances to transmit the encoded vector. This can be referenced... Figures 1 to 6 The described method performs the operations of box 1620. In some examples, aspects of the operations of box 1620 can be performed by the sending component, as shown in the reference. Figures 11 to 13 Described.
[0208] Figure 17 According to various aspects of this disclosure, flowcharts illustrating a method 1700 for bit allocation for encoding and decoding are shown. The operation of method 1700 can be implemented by UE 115 or base station 105 or components thereof, as described herein. For example, the operation of method 1700 can be performed by an encoding manager, as referred to... Figures 11 to 13 The description is as follows. In some examples, UE 115 or base station 105 may execute a set of codes to control the functional elements of the device to perform the functions described below. Alternatively or concurrently, UE 115 or base station 105 may use dedicated hardware to perform aspects of the functions described below.
[0209] At box 1705, UE 115 or base station 105 can receive a codeword for decoding, the codeword comprising multiple information bits. This can be referenced... Figures 1 to 6 The described method performs the operations of box 1705. In some examples, aspects of the operations of box 1705 can be performed by the receiving component, as shown in the reference. Figures 11 to 13 Described.
[0210] At box 1710, UE 115 or base station 105 can identify multiple channel instances of a channel associated with the reception of a codeword, wherein the multiple channel instances are recursively divided into multiple groups. This can be done according to reference... Figures 1 to 6 The described method performs the operations of box 1710. In some examples, aspects of the operations of box 1710 may be performed by the channel component, as described in the reference. Figures 11 to 13 Described.
[0211] At box 1715, UE 115 or base station 105 may assign bit types to a subset of at least a plurality of channel instances, at least in part, based on a reliability metric associated with the channel and the size of at least one of a plurality of groups. This can be done according to reference... Figures 1 to 6 The described method performs the operations of box 1715. In some examples, aspects of the operations of box 1715 can be performed by a bit assignment component, as shown in the reference. Figures 11 to 13 Described.
[0212] At box 1720, UE 115 or base station 105 may perform a decoding operation on one or more portions of a codeword, at least partially based on the assigned bit type, to obtain multiple information bits. In this aspect, the decoding operation may be based on mutual information (e.g., mutual information based on a mutual information transmission table). This can be done according to reference... Figures 1 to 6 The described method performs the operations of box 1720. In some examples, aspects of the operations of box 1720 can be performed by the decoding component, as shown in the reference. Figures 11 to 13 Described.
[0213] It should be noted that the methods described above describe possible implementations, and the operations and steps can be rearranged or otherwise modified, and other implementations are possible. Furthermore, aspects from two or more of these methods can be combined. The methods described in this paper can improve channel coding in terms of performance and computational complexity, while efficiently addressing block length scaling and rate compatibility issues. Polar codes can be used as channel coding for uplink and downlink control information (operating assumption) in systems such as enhanced mobile broadband (eMBB).
[0214] In some examples, polar code design can be improved by determining the location and distribution of information bits. A reliability metric can be generated for each bit in the U domain (e.g., channel instance) via an SNR-dependent numerical density evolution or by using a formula, and techniques can be used to sort and select the most reliable bits in the U domain as information bits.
[0215] In some examples, polar codes can be constructed, at least in part, based on the techniques described herein. The construction of polar codes can include determining the distribution of information bits in different groups within the U domain. Based on the number of information bits and the number of coded bits in each group, a short basic sequence (of length, for example, Nref = 64) can be used to determine the position of the information bits in that group. This process can be applied recursively to obtain the position of the information bits in the overall polar code. Utilizing this recursive construction, and due to the relatively small computational and storage requirements for generating / storing the basic sequences, online construction of polar codes can be feasible for small block lengths (K <= ~100 and Nmax < 512) in downlink channels.
[0216] Channel polarization can be used to create auxiliary channels to achieve coding gains beyond repetition and improve overall channel coding performance. Consider the following example with one-stage polarization. Let W:X→Y be a binary-input discrete memoryless channel, where the channel capacity is C = I(X;Y). In the binary-input example, the capacity C can take values between 0 and 1 (0 ≤ C ≤ 1). In some examples, N replicas of channel W can exist in the system. In some examples, the capacity of each channel instance can be the same or different, depending on factors such as puncturing / shortening / repetition, bit modulation mapping, and / or other channel conditions. A one-to-one mapping from U to X can be performed. Based on this mapping X... N =U N *G NxN Let Wvec be the generated effective channel, where:
[0217] G NxN :{0,1} N →{0,1} N
[0218] It can be shown that using polarization to create an auxiliary channel via repetition and XOR operations preserves capacity:
[0219]
[0220] If W is a binary erase channel (BEC) with an erase probability 'ε', then the following can be derived:
[0221]
[0222]
[0223] For channel W1:U1→Y N The following can be deduced:
[0224] Erasure probability ε - =1-(1-ε) 2 =2ε-ε2
[0225] For channel W2:U2→(Y) N From U1), the following can be derived:
[0226] Erasure probability ε + =ε 2
[0227] The above operations can be performed recursively, generating more polarizations across N until the specific decoding is reached, and can be performed using the following notation:
[0228] W + =W2,W - =W1, where W + Superior to W - .
[0229] To address the issue of information bit distribution / allocation in information instances after polarization, an example based on BEC is used where N coded bits are transmitted via a channel, and N / 2 coded bits will be transmitted via an equivalent channel W. + The transmitted, and N / 2 coded bits will be transmitted via the equivalent channel W - Sent. As an example, in a system where N=256, for W - The channel, N0, can be 128, and for W... + Channel N1 can be 128.
[0230] The following observation can be made: For a good (N, K) code with a rate R = K / N used for capacity realization, the distribution of information bits on the polarized channel can be such that the number of information bits allocated produces a rate that matches the capacity and / or rate of the corresponding channel after polarization. The number of information bits that matches the capacity of the polarized channel can be used to asymptotically achieve the overall channel capacity using successive cancellation (SC) and facilitate finite-length SC / SC list (SCL) decoding.
[0231] For example, for a BEC channel, consider an (N, K) code with a rate R = K / N. Assigned to W... - The speed can be R0 = R 2 The lower part W + It has R1 = 1 - (1 – R) 2 =2R–R 2 The allocation of information bits can be based on the following (linear relationship):
[0232] To be assigned to W - Percentage of information bits: K0 = R / 2 * K;
[0233] To be assigned to W+ The percentage of information bits: K1 = (2-R) / 2*K;
[0234] This relation can be applied recursively to obtain a fine-grained distribution of information bits for equivalent channel instances with further polarization.
[0235] In some examples, the above relationship can be modified for AWGN for the corresponding information bit allocation. To make this relationship applicable to other channels, the mutual information of the polarized channels (i.e., a channel with repetition coding; a channel with parity-check coding (XOR)) versus the mutual information input value can be plotted. The higher portion of the channel W... - The mutual information output (of the channel after XOR) is R0, and the lower part of the channel W + The mutual information output (of the repeated channel) is R1. The mutual information output can be derived from the mutual information transmission table. Polarization can be used to save capacity. For the code to implement capacity saving, the following conditions must be met:
[0236] R = (R0 + R1) / 2
[0237] The following can also be derived:
[0238] To be assigned to W - Percentage of information bits: K0 = R0 / R * K / 2;
[0239] To be assigned to W + Percentage of information bits: K1 = R1 / R*K / 2;
[0240] The information bit ratio K0 / K can also be expressed as a function of the code rate R designed for a specific channel. This ratio can be channel-dependent and based on information combination. BEC and binary symmetric channels (BSC) can serve as upper and lower bounds for the combination of information bit ratios. Different channels can correspond to different information bit distributions in order to achieve (asymptotically) optimal information allocation on the respective channels. For example, a hybrid BEC and AWGN channel can be considered for use with punctured / shortened polarized codewords transmitted through an AWGN channel.
[0241] Information bits can be recursively allocated for multiple stages of polarization based on the relationship used to achieve optimal / near-optimal information bit allocation for the overall code.
[0242] It can be observed that for each step of polarization, W-channel and W + Channels can be based on the same reliability ranking sequence. Based on W-channels and W... + The same input to the channel, W- and W +The reliability ordering within the sequence can be identical. This (asymptotic) reliability ordering invariant property is maintained based on the assumption that the input channel distribution is identical (typically Gaussian), and the same mutual information transmission table can be derived based on the common distribution. This can be used to construct short sequences, determining the information bit positions based on the coded bit length Nref and information bit length Ki of all Nref bit groups in the overall code. The information bit rate / ratio relationship can be recursively applied to obtain multiple information bit distributions with fine granularity until a reference sequence length Nref is reached, where the short sequence can be derived numerically or formulaically from Nref.
[0243] It can also be observed that the relationship of information bit allocation can be derived based on mutual information and can be recursively applied to combine short reliability sequences to determine the position of information bits.
[0244] For the control channel, the Fractally eNhanced KErNal (FRANKEN) polar code can be used, which is based on the information bit allocation ratio and short sequence discussed in previous sections. For nesting, small reference sequences can be used to create bit allocations. For downlink control, a basic reference sequence can be used. In some examples, Nref = 64, consistent with a PDCCH design with aggregation level (AL) 1. For the PDCCH, for the same K, N can be doubled each time it reaches a higher AL. Recursive allocation of information bits can be adapted to different ALs by applying recursion multiple times.
[0245] Polar codes can be constructed by determining the number of information bits in each sector K0, K1, K2, K3 (where K = K0 + K1 + K2 + K3, or at a finer granularity) based on the information bit allocation ratio. Short basic sequences (obtained via density evolution or other methods) can be used to determine the positions of information bits with small reference lengths. For example, when using a basic sequence of length Nref = 64, the number of information bits in the first sector K2 and the second sector K3 can be determined at least partially based on a reliability formula. The number of information bits in the third sector K0 and the fourth sector K1 can be used to determine the distribution of K0 within the first 256 bits and the distribution of K1 within the second 128 bits. The information bit positions can be determined based on the Ki distribution in each 64-bit sector.
[0246] It should be noted that, due to the low-rate nature of high AL, the higher portions of the group can have a per-sparse-information-bit allocation. However, the higher portions of the group may not be suitable for designs based on long sequences. Based on the information bit allocation, many other optimizations can be performed for, for example, complexity and performance tradeoffs.
[0247] In the example of a sequence based on capacity calculation, where N = 512 and K scan = {32, 48, 64, 80, 96}, the information bit allocation can be:
[0248]
[0249]
[0250] A similar design can be used for the uplink control channel.
[0251] Compared to FRANKEN- and short-sequence-based construction, long-sequence-based designs may not be practically feasible for online code construction. This can involve high bit precision and complexity for computing the reliability index, as well as latency in ordering operations for reliability. Long-sequence designs may also fail to elucidate the actual information bit distribution at different stages of polarization. For large block sizes N (large AL for PDCCH) where the code rate is typically low, the W-part of the code may have per-sparse information bit allocation, which can be exploited and further optimized by considering multiple short sequences. Long-sequence designs may also not be readily extended to different types of channels where the LLR is less Gaussian, at least in the first few stages of polarization (e.g., consider the effects of puncturing / shortening in bits not transmitted with AWGN noise in the bits transmitted through the channel). In some examples, different channel implementations can be readily incorporated, at least in the first few stages of information bit allocation computation, without requiring a numerical density evolution to be run each time. It can also be based on linear interpolation curves from different channels.
[0252] One design decision in DL / UL control channels is to decide between extension and repetition in lower-rate coding. Typically, gain can be difficult to quantize; however, based on the information bit distribution, the potential upper bound of coding gain can be easily quantified by assuming an optimal information bit allocation while successfully receiving the top information bits. This can guide polar code design in balancing performance and decoding complexity. The following can be considered in control channel design:
[0253] 1) Based on the information bit allocation ratio, the Nmax value is limited to save complexity when the performance gain decreases.
[0254] 2) Optimize the top low bit rate after polarization (e.g., limit the maximum number of information bits to control complexity) to achieve a trade-off between complexity and performance.
[0255] After evaluating the short-sequence-based design (where Nref = 64) and comparing it with the long-sequence-based design (Nmax = 512), the code block length and payload size can be optimized compared to typical DL PDCCH values, where:
[0256] N = {128, 256, 512} and K = {32, 48, 64, 80, 96}.
[0257] Note that in some examples, short sequences combined with the capacity formula can produce the same information bit positions in the polar code. For cases where some of these information bits are different, short sequences designed with nested extended FRANKEN polar codes for control channels can be beneficial due to better scalability and more appropriate information bit allocation across a wider range of channels. Other observations are as follows:
[0258] 1) Short sequences with nested extended designs can have similar or, in some cases, the same performance as long sequences on additive white Gaussian noise (AWGN) channels, and can be easily adapted for other channels.
[0259] 2) Using short sequences with nested extended designs, online polar code construction may be more feasible.
[0260] 3) Using short sequence-based designs, polar code designs for different types of channels can be more feasible.
[0261] In some examples, short sequences with nested extended designs of polar codes for the control channel can be used. The performance of such examples can be evaluated and compared, and the following generalizations can be made based on the observations.
[0262] 1) For each step of polarization, the W-channel can be equivalent to the W+ channel. Based on the same input to both the W- and W+ channels, the reliability ranking within W- and W+ can remain unchanged.
[0263] 2) The information bit allocation relationship derived from mutual information can be recursively applied to combine with short reliability sequences to determine the information bit positions.
[0264] 3) Short sequences with nested extended designs can have similar or, in some cases, essentially the same performance as long sequences on AWGN channels, and can be easily adapted for other channels. In some examples, such sequences can achieve even better performance with low coding and / or decoding complexity.
[0265] 4) Using short sequences with nested extended designs, online polar code construction can be more feasible.
[0266] 5) By utilizing short sequence-based designs, polar code designs for different types of channels (e.g., puncturing / shortening) can be more feasible.
[0267] Determining the location / distribution of information bits is an aspect of polar code design, and traditional methods can have certain drawbacks. For example, density evolution-based construction is dependent on numerical values and SNR. Offline construction can utilize large amounts of memory for storage, while online construction requires significant computation. No single method can scale to a suitable block length. Furthermore, optimization for different channels can be challenging.
[0268] As described in this paper, the number of information bits in each of one or more groups K0, K1, K2, K3 (where K = K0 + K1 + K2 + K3, and for finer granularities K00, K01, K02, K03, K10, K11) can be determined based on a reliability metric (capacity, information rate, or other variations, such as finite block length approximations for different channels) formula. To do this, short basic sequences (obtained via density evolution or other methods) can be used to determine the locations of small-length information bits.
[0269] For example, the basic sequence can have a length Nref = 64. K2 and K3 can be determined based on the reliability formula and also on the values of K0 and K1, and the distribution of K0 within the first 256 bits and the distribution of K1 within the second 128 bits can be determined. Therefore, the information bit positions based on the Ki distribution in each 64-bit sector can be determined.
[0270] For each polar code, given the information rate = K / N as the mutual information input, the mutual information outputs of the higher portion (channel after XOR) R0 and the lower portion R1 (channel after repetition) can be derived from the mutual information transfer table. The mutual information transfer table establishes the relationship between W and W+ / W-, and the information bit distribution can be derived using the following formula:
[0271] K_higher = R0*(N / 2)
[0272] K_lower = R1*(N / 2)
[0273] The above formula can be recursively applied to obtain the number of information bit locations with fine granularity. For example, the information bit distribution can be derived as follows:
[0274] K_00=R00*(N / 4)=Cap(W--)*(N / 4)
[0275] K_01=R01*(N / 4)=Cap(W-+)*(N / 4)
[0276] K_10=R10*(N / 4)=Cap(W+-)*(N / 4)
[0277] K_11=R11*(N / 4)=Cap(W++)*(N / 4)
[0278] K = K00 + K01 + K10 + K11,
[0279] Cap(W)=(Cap(W--)+Cap(W-+)+Cap(W+-)+Cap(W++)) / 4
[0280] Furthermore, recursion can be used when puncturing is present by recursively applying it to obtain a finer-grained K value in each small group, and the information bit distribution can be derived as follows (assuming N is the code block length before puncturing):
[0281] K_00 = 0 (due to drilling)
[0282] K_01=R01*(N / 4)=Cap(W-)*(N / 4)
[0283] K_10=R10*(N / 4)=Cap(W±(2rep)-)*(N / 4)
[0284] K_11=R11*(N / 2)=Cap(W+(3rep))*(N / 4)
[0285] K = K00 + K01 + K10 + K11
[0286] A similar scheme can be applied when smaller or larger sections are to be punched. In another example, an information allocation scheme can be used for different lengths N after punching.
[0287] In the example above, where N=64, a direct lookup table (LUT) of the N=64 reference sequence can be used.
[0288] For the case where N=128, the information bits K can be determined based on the following formula:
[0289] K_higher = R0*(N / 2)
[0290] K_lower = R1*(N / 2)
[0291] For the case where N=256, the allocation of information bits K can be determined based on the following formula:
[0292] K_00=R00*(N / 4)=Cap(W--)*(N / 4)
[0293] K_01=R01*(N / 4)=Cap(W-+)*(N / 4)
[0294] K_10=R10*(N / 4)=Cap(W+-)*(N / 4)
[0295] K_11=R11*(N / 4)=Cap(W++)*(N / 4)
[0296] K=K00+K01+K10+K11,Cap(W)=(Cap(W--)+Cap(W-+)+Cap(W+-)+Cap(W++)) / 4
[0297] For the case where N=192, the allocation of information bits K can be determined based on the following formula:
[0298] K_00 = 0 (due to drilling)
[0299] K_01=R01*(N / 4)=Cap(W-)*(N / 4)
[0300] K_10=R10*(N / 4)=Cap(W±(2rep)-)*(N / 4)
[0301] K_11=R11*(N / 2)=Cap(W+(3rep))*(N / 4)
[0302] K = K00 + K01 + K10 + K11
[0303] In some cases, the polar code can be transmitted in IR-HARQ, where N_1tx bits are received in the first transmission, and a total of N_2tx bits are received in the second transmission, and so on. The total number of coded bits after each transmission can be considered as a punctured version of the long code (or an extended version of the short code), and a recursive scheme as discussed herein can be used to determine the allocation of information bits for the corresponding coded bit length after each transmission.
[0304] For example, Incremental Redundancy Hybrid Automatic Repeat Request (IR-HARQ) may include copying some unreliable information bits from the first transmission to more reliable bits at a new location; however, determining how many bits to copy is inefficient and not optimal. According to the techniques discussed herein, puncturing can start from the top of the U-domain, but this scheme is typically applied to determining how many bits to copy in the second transmission when M2 = M1 and how many bits to copy in the second transmission when M2 is not equal to M1 (in the case of some puncturing). Similar recursion can be applied to the more general case of IR-HARQ with an arbitrary number of retransmissions. In two examples:
[0305] 1) The first transmission N_1tx = 64, and the second transmission N_2tx = 64 + 128 = 192
[0306] 2) First transmission N_1tx = 128, second transmission N_2tx = 128 + 64 = 192
[0307] In some examples, linear interpolation curves of BEC and / or AWGN curves (e.g., curves of percentage K0 / K as a function of different channels) can be used to design mixed Gaussian and erased channels, and can be used to design polar codes for different channels without having to run numerical density evolution every time.
[0308] These techniques are scalable and extensible because the base sequence can be extended to arbitrarily long lengths, different block lengths, or aggregation levels for control channels, etc. This approach can improve the design of polar codes for different channels without requiring numerical density evolution to be run each time (e.g., designing mixed Gaussian and erased channels using mixed BEC and AWGN channel curves, as described above). It can also be applied to designing general linear block / convolutional code concatenations or determining the code rate for each component code.
[0309] In some examples, to design polar codes that are not powers of 2, the distribution of information bits for the overall (N, K) code can be calculated similarly:
[0310] N = N0 + N1 + N2 + N3
[0311] N0=288, N1=144, N2=72, N3=72
[0312] Alternatively, for N = 576, N can be decomposed into N = 512 (with 448 punctured or shortened bits), N1 = 256, N2 = 128, and N3 = 128. K0, K1, K2, and K3 can be derived using the techniques described above. For DL control channels with different aggregation levels, the code length N can be scaled in powers of 2, and rate matching is always performed at AL1, with further polarization using N0 * 2^m.
[0313] Since the higher part of the polarimetric graph can be sparse (i.e., the distribution of information bits may be concentrated in the lower part of the graph), short-length sequences may be sufficient for PDCCH purposes, and different sequences can potentially be used in different sectors to enhance performance / complexity.
[0314] Alternatively, for the same K, recursion can be performed for different ALs as follows:
[0315] For the same K, different m result in different N*2^m. K is redistributed for different ALs from low AL to high AL. Furthermore, each time AL doubles, K can be split into K0 and K1. From high AL to low AL, Ki is distributed into K0 to K(i-1) based on the current ratio between them. An example of the AL8 K distribution is as follows:
[0316] 72,72,144,288
[0317] K0,K1,K2,K3
[0318] An example AL4 distribution is as follows:
[0319] 72,72,144
[0320] K0'=K0+delta(K0)K1'=K1+delta(K1)K2'=K2+delta(K2),<=K3
[0321] An example AL2 distribution is as follows:
[0322] 72,72,144
[0323] K0”=K0+delta(K0’),K1”=K1+delta(K1’)<=K2’
[0324] An example AL1 distribution is as follows:
[0325] K0”'=K
[0326] This scheme can be used to analyze when repetition provides sufficient performance gain. Furthermore, the technique presented in this paper can be used to approximate the value of Ki using certain approximate curves that are functions of K and N.
[0327] The techniques described in this article can be used in various wireless communication systems, such as Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Orthogonal Frequency Division Multiple Access (OFDMA), Single Carrier Frequency Division Multiple Access (SC-FDMA), and others. The terms "system" and "network" are often used interchangeably. Code Division Multiple Access (CDMA) systems can implement wireless technologies such as CDMA 2000 and Universal Terrestrial Radio Access (UTRA). CDMA 2000 covers the IS-2000, IS-95, and IS-856 standards. Versions of IS-2000 may commonly be referred to as CDMA2000 1X, 1X, etc. IS-856 (TIA-856) is commonly referred to as CDMA2000 1xEV-DO, High-Speed Packet Data (HRPD), etc. UTRA includes Wideband CDMA (WCDMA) and other variations of CDMA. Time Division Multiple Access (TDMA) systems can implement wireless technologies such as Global System for Mobile Communications (GSM).
[0328] Orthogonal Frequency Division Multiple Access (OFDMA) systems can implement wireless technologies such as Ultra Mobile Broadband (UMB), Evolved UTRA (E-UTRA), IEEE 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE 802.20, and Flash OFDM. UTRA and E-UTRA are part of the Universal Mobile Telecommunications System (UMTS). 3GPP Long Term Evolution (LTE) and Advanced LTE (LTE-A) are versions of UMTS using E-UTRA. UTRA, E-UTRA, UMTS, LTE, LTE-A, NR, and GSM are described in documents from an organization called the 3rd Generation Partnership Project (3GPP). CDMA 2000 and UMB are described in documents from an organization called the 3rd Generation Partnership Project 2 (3GPP2). The technologies described herein can be used in the systems and wireless technologies mentioned above, as well as other systems and wireless technologies. While aspects of LTE or NR systems may be described for illustrative purposes, and the terms LTE or NR are used in most places in the description, the scope of the technologies described herein extends beyond LTE or NR applications.
[0329] In LTE / LTE-A networks (including those described herein), the term Evolved Node B (eNB) is often used to describe a base station. One or more wireless communication systems described herein may include heterogeneous LTE / LTE-A or NR networks, where different types of eNBs provide coverage for various geographic areas. For example, each eNB, gNB, or base station may provide communication coverage for macro cells, small cells, or other types of cells. The term "cell" may be used to describe a base station, a carrier or component carrier associated with a base station, or the coverage area of a carrier or base station (e.g., a sector, etc.), depending on the context.
[0330] A base station may include, or may be referred to by those skilled in the art as, a base station transceiver, a wireless base station, an access point, a wireless transceiver, a Node B, an evolved Node B (eNB), a next-generation Node B (gNB), a home Node B, a home evolved Node B, or some other suitable term. The geographical coverage area of a base station may be divided into sectors, where a sector constitutes only a portion of the coverage area. One or more wireless communication systems described herein may include different types of base stations (e.g., macro cell base stations or small cell base stations). The UE described herein is capable of communicating with various types of base stations and network devices (including macro eNBs, small cell eNBs, gNBs, relay base stations, etc.). Overlapping geographical coverage areas may exist for different technologies.
[0331] Macro cells typically cover a relatively large geographic area (e.g., a radius of several kilometers) and allow unrestricted access by UEs with service subscriptions to a network provider. In contrast, small cells are lower-power base stations that can operate in the same or different (e.g., licensed, unlicensed, etc.) frequency bands as macro cells. Depending on the examples, small cells can include picocells, femtocells, and microcells. For example, a picocell can cover a small geographic area and allow unrestricted access by UEs with service subscriptions to a network provider. A femtocell can also cover a small geographic area (e.g., a residential area) and provide restricted access by UEs associated with that femtocell (e.g., UEs in a Closed Subscriber Group (CSG), UEs for users in a residential area, etc.). An eNB for a macro cell can be referred to as a macro eNB. An eNB for a small cell can be referred to as a small cell eNB, pico eNB, femtocell eNB, or home eNB. An eNB can support one or more (e.g., two, three, four, etc.) cells (e.g., component carriers).
[0332] The one or more wireless communication systems described herein can support synchronous or asynchronous operation. For synchronous operation, base stations can have similar frame timings, and transmissions from different base stations can be approximately time-aligned. For asynchronous operation, base stations can have different frame timings, and transmissions from different base stations may not be time-aligned. The techniques described herein can be used for both synchronous and asynchronous operation.
[0333] The downlink transmissions described in this article can also be referred to as forward link transmissions, while the uplink transmissions can also be referred to as reverse link transmissions. Each communication link described in this article (including, for example) Figure 1 and 2 The wireless communication systems 100 and 200 may include one or more carriers, wherein each carrier may be a signal composed of multiple subcarriers (e.g., waveform signals of different frequencies).
[0334] In this manner, by allocating information bits based on mutual information (e.g., based on a mutual information transmission table), and by using reliability ordering invariant properties and / or employing a basic sequence of lengths (e.g., less than block length or size), this method and apparatus can avoid the use of large amounts of storage and / or resources and / or computational complexity. The description herein, illustrated with reference to the accompanying drawings, describes exemplary configurations and does not represent all examples that can be implemented or are within the scope of the claims. The term "exemplary" as used herein means "as an example, instance, or illustration" and is not "preferred" or "advantageous over other examples." Detailed implementations include specific details for the purpose of providing an understanding of the described techniques. However, these techniques may be implemented without these specific details. In some instances, well-known structures and devices are shown in block diagram form to avoid obscuring the concepts of the described examples.
[0335] In the accompanying drawings, similar components or features may have the same reference numerals. Furthermore, various components of the same type can be distinguished by a dash followed by a second numeral, used to differentiate between similar components. If only the first reference numeral is used in the specification, the description applies to any of the similar components having the same first reference numeral, regardless of the second reference numeral.
[0336] The information and signals described herein can be represented using any of a variety of different processes and technologies. For example, the data, instructions, commands, information, signals, bits, symbols, and chips mentioned throughout the above description can be represented by voltage, current, electromagnetic waves, magnetic fields or particles, light fields or particles, or any combination thereof.
[0337] The various illustrative boxes and modules described in conjunction with the disclosure herein can be implemented or executed using a general-purpose processor, DSP, ASIC, FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware component, or any combination thereof designed to perform the functions described herein. The general-purpose processor may be a microprocessor, but alternatively, the processor may be any conventional processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of computing devices (e.g., a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors combined with a DSP core, or any other such configuration).
[0338] The functionality described herein can be implemented in hardware, software executed by a processor, firmware, or any combination thereof. If implemented in software executed by a processor, the functionality can be stored or transmitted as one or more instructions or code on or through a computer-readable medium. Other examples and implementations are within the scope of this disclosure and the appended claims. For example, due to the nature of software, the functionality described above can be implemented using software executed by a processor, hardware, firmware, hardwired, or any combination thereof. Features used to implement the functionality can also be physically located in various locations, including being distributed such that portions of the functionality are implemented in different physical locations. Furthermore, as used herein (including in the claims), the word "or" as used in a list of items (e.g., a list of items ending with phrases such as "at least one of..." or "one or more of...") indicates an inclusive list, such that a phrase, for example, referring to "at least one of..." in the list of items refers to any combination of those items, including a single member. For example, "at least one of a, b, or c" is intended to cover a, b, c, ab, ac, bc, and abc, as well as any combination of multiples of the same element (e.g., aa, aaa, aab, aac, abb, acc, bb, bbb, bbc, cc, and ccc, or any other ordering of a, b, and c). Furthermore, as used herein, the phrase "based on" should not be construed as a reference to a closed set of conditions. For example, an exemplary step described as "based on condition A" may be based on both condition A and condition B without departing from the scope of this disclosure. In other words, as used herein, the phrase "based on" should be interpreted in the same way as the phrase "at least partially based on".
[0339] Computer-readable media includes both non-transitory computer storage media and communication media, wherein the communication media includes any medium that facilitates the transfer of a computer program from one place to another. Non-transitory storage media can be any available medium accessible by a general-purpose or special-purpose computer. By way of example, and not limitation, non-transitory computer-readable media can include RAM, ROM, electrically erasable programmable read-only memory (EEPROM), disc-on-CD ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other non-transitory medium that can be used to carry or store desired units of program code in the form of instructions or data structures, and that can be accessed by a general-purpose or special-purpose computer or a general-purpose or special-purpose processor. Furthermore, any connection is appropriately referred to as computer-readable media. For example, if software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technology (e.g., infrared, radio, and microwave), then coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technology (e.g., infrared, radio, and microwave) is included in the definition of media. As used herein, disks and optical discs include CDs, laser discs, optical discs, digital multifunction discs (DVDs), floppy disks, and Blu-ray discs, where disks typically copy data magnetically, while optical discs use lasers to copy data optically. Combinations of these are also included within the scope of computer-readable media.
[0340] The description herein is provided to enable those skilled in the art to implement or use the present disclosure. Various modifications to the present disclosure will be apparent to those skilled in the art, and the general principles defined herein may be applied to other variations without departing from the scope of the present disclosure. Therefore, the present disclosure is not intended to be limited to the examples and designs described herein, but rather to be consistent with the widest scope of the principles and novel features disclosed herein.
Claims
1. A method for decoding using a decoder, comprising: Receive a codeword for decoding, the codeword comprising a first plurality of information bits; Identify multiple channel instances of the channel associated with the reception of the codeword, wherein the multiple channel instances are recursively polarized into multiple groups; The positions of one or more information bits in a group are determined, at least in part, based on the number of information bits allocated to the group and a common basic sequence. Bit types are assigned to subsets of at least the plurality of channel instances, at least in part, based on a reliability metric associated with the channel and the size of the group among the plurality of groups; and Decoding operations on one or more portions of the codeword are performed, at least in part, based on the assigned bit type, to obtain the first plurality of information bits.
2. The method according to claim 1, further comprising: Send a negative acknowledgment (NACK) message when a decoding operation is unsuccessful.
3. The method according to claim 1, further comprising: Store one or more basic sequences, each of the one or more basic sequences being based at least in part on at least one of the group size or position of the group.
4. The method according to claim 3, further comprising: The position of one or more information bits in a group is determined at least in part based on the number of information bits allocated to the group and the one or more basic sequences.
5. The method of claim 1, wherein, The decoding operation includes at least one of the following: polarization coding operation, Reed-Muller (RM) coding operation, belief propagation decoding operation for low-density parity-check (LDPC) codes, or polarization RM operation.
6. A user equipment (UE) for decoding, comprising: Memory; transceiver; as well as A processor communicatively connected to the memory and the transceiver, the processor being configured to: Receive a codeword for decoding, the codeword comprising a first plurality of information bits; Identify multiple channel instances of the channel associated with the reception of the codeword, wherein the multiple channel instances are recursively polarized into multiple groups; The positions of one or more information bits in a group are determined, at least in part, based on the number of information bits allocated to the group and a common basic sequence. Bit types are assigned to subsets of at least the plurality of channel instances, at least in part, based on a reliability metric associated with the channel and the size of the group among the plurality of groups; and Decoding operations on one or more portions of the codeword are performed, at least in part, based on the assigned bit type, to obtain the first plurality of information bits.
7. The UE of claim 6, wherein, The processor is also configured to: Send a negative acknowledgment (NACK) message when a decoding operation is unsuccessful.
8. The UE of claim 6, wherein, The processor is also configured to: Store the common basic sequence corresponding to the group size and the position of the group.
9. The UE of claim 6, wherein, The processor is also configured to: Store one or more basic sequences, each of the one or more basic sequences being based at least in part on at least one of the group size or position of the group.
10. The UE of claim 9, wherein, The processor is also configured to: The position of one or more information bits in a group is determined at least in part based on the number of information bits allocated to the group and the one or more basic sequences.
11. The UE of claim 6, wherein, The decoding operation includes at least one of the following: polarization coding operation, Reed-Muller (RM) coding operation, belief propagation decoding operation for low-density parity-check (LDPC) codes, or polarization RM operation.
12. An apparatus for a decoder to perform decoding, comprising: A unit for receiving codewords for decoding, the codewords comprising a first plurality of information bits; A unit for identifying multiple channel instances of a channel associated with the reception of the codeword, wherein the multiple channel instances are recursively polarized into multiple groups; A unit for determining the position of one or more information bits of a group based at least in part on the number of information bits allocated to the group and a common basic sequence; Units for assigning bit-type information to subsets of at least the plurality of channel instances, based at least in part on a reliability metric associated with the channel and the size of the group among the plurality of groups; and A unit for performing decoding operations on one or more portions of the codeword, at least in part based on the assigned bit type, to obtain the first plurality of information bits.
13. The apparatus of claim 12, further comprising: A unit used to send a negative acknowledgment (NACK) message in the event of an unsuccessful decoding operation.
14. The apparatus of claim 12, further comprising: A unit for storing the common basic sequence corresponding to the group size and the position of the group.
15. The apparatus of claim 12, further comprising: A unit for storing one or more basic sequences, each of the one or more basic sequences being based at least in part on at least one of the group size or position of the group.
16. The apparatus of claim 15, further comprising: A unit for determining the position of one or more information bits of a group based at least in part on the number of information bits allocated to the group and the one or more basic sequences.
17. The apparatus of claim 12, wherein, The decoding operation includes at least one of the following: polarization coding operation, Reed-Muller (RM) coding operation, belief propagation decoding operation for low-density parity-check (LDPC) codes, or polarization RM operation.
18. A non-transitory computer-readable medium storing code for a decoder to perform decoding, said code comprising instructions executable by a processor to perform the following operations: Receive a codeword for decoding, the codeword comprising a first plurality of information bits; identifying a plurality of channel instances of a channel associated with reception of the codeword, wherein, The multiple channel instances are recursively polarized into multiple groups; The positions of one or more information bits in a group are determined, at least in part, based on the number of information bits allocated to the group and a common basic sequence. Bit types are assigned to subsets of at least the plurality of channel instances based at least in part on a reliability metric associated with the channel and the size of the group among the plurality of groups; as well as Decoding operations on one or more portions of the codeword are performed, at least in part, based on the assigned bit type, to obtain the first plurality of information bits.
19. The non-transitory computer-readable medium of claim 18, wherein, The instructions can also be executed by the processor to perform the following operations: Send a negative acknowledgment (NACK) message when a decoding operation is unsuccessful.
20. The non-transitory computer-readable medium of claim 18, wherein, The instructions can also be executed by the processor to perform the following operations: Store the common basic sequence corresponding to the group size and the position of the group.
21. The non-transitory computer-readable medium of claim 18, wherein, The instructions can also be executed by the processor to perform the following operations: Store one or more basic sequences, each of the one or more basic sequences being based at least in part on at least one of the group size or position of the group.
22. The non-transitory computer-readable medium of claim 21, wherein, The instructions can also be executed by the processor to perform the following operations: The position of one or more information bits in a group is determined at least in part based on the number of information bits allocated to the group and the one or more basic sequences.
23. The non-transitory computer-readable medium of claim 18, wherein, The decoding operation includes at least one of the following: polarization coding operation, Reed-Muller (RM) coding operation, belief propagation decoding operation for low-density parity-check (LDPC) codes, or polarization RM operation.