Source: https://patents.google.com/patent/KR20190053899A/en
Timestamp: 2020-08-09 15:52:35
Document Index: 166801298

Matched Legal Cases: ['Application No. 62', 'Application No. 62', 'Application No. 62', 'Application No. 62', 'Application No. 15', 'Application No. 62', 'Application No. 62', 'Application No. 62', 'Application No. 62', 'Application No. 62']

KR20190053899A - Method and apparatus for encoding data using polar codes - Google Patents
Method and apparatus for encoding data using polar codes Download PDF
KR20190053899A
KR20190053899A KR1020197010597A KR20197010597A KR20190053899A KR 20190053899 A KR20190053899 A KR 20190053899A KR 1020197010597 A KR1020197010597 A KR 1020197010597A KR 20197010597 A KR20197010597 A KR 20197010597A KR 20190053899 A KR20190053899 A KR 20190053899A
KR1020197010597A
후아지 장
지아지에 통
롱 리
준 왕
원 퉁
이쿤 제
샤오청 류
공정 장
지안 왕
난 청
치방 장
2016-09-15 Priority to US201662395312P priority Critical
2016-09-15 Priority to US62/395,312 priority
2016-09-19 Priority to US201662396618P priority
2016-09-19 Priority to US62/396,618 priority
2016-09-30 Priority to US62/402,862 priority
2016-09-30 Priority to US201662402862P priority
2016-12-09 Priority to US201662432416P priority
2016-12-09 Priority to US201662432448P priority
2016-12-09 Priority to US62/432,416 priority
2016-12-09 Priority to US62/432,448 priority
2016-12-12 Priority to US62/433,127 priority
2016-12-12 Priority to US201662433127P priority
2017-09-08 Priority to US15/699,967 priority
2017-09-08 Priority to US15/699,967 priority patent/US10637607B2/en
2017-09-13 Application filed by 후아웨이 테크놀러지 컴퍼니 리미티드 filed Critical 후아웨이 테크놀러지 컴퍼니 리미티드
2017-09-13 Priority to PCT/CN2017/101528 priority patent/WO2018050062A1/en
2019-05-20 Publication of KR20190053899A publication Critical patent/KR20190053899A/en
239000011159 matrix materials Substances 0.000 claims abstract description 39
The embodiment techniques map parity bits to subchannels based on their row weight. The row weight for the subchannel is an exponent that is the number of "1's" in the corresponding row of the kroner matrix, or the number of "1's" in the binary representation of the subchannel index (described further below) ). &Lt; / RTI &gt; In one embodiment, a candidate subchannel with a particular row weight value is reserved for the parity bit (s). The K information bits may then be mapped to the K most reliable remaining subchannels and multiple frozen bits (e.g., N-K) may be mapped to the least reliable remaining subchannel. The parity bit can then be mapped to the next candidate subchannel, and the parity bit value is determined based on a function of the information bits.
Method and apparatus for encoding data using polar codes
This patent application is a continuation-in-part of U.S. Provisional Patent Application No. 62 / 395,312, filed September 15, 2016, entitled " Method and Device for Allocating Dynamic Frozen Beats and Constructing a Parity Function for It with Polar Code, U.S. Provisional Patent Application No. 62 / 395,618 entitled " Method and Device for Assigning a Dynamic Frozen Bit and Constructing a Parity Function for It with Polar Code, " filed on March 19, filed September 30, 2016, US Provisional Patent Application No. 62 / 402,862 entitled " Method and Device for Parallel Polar Code Encoding / Decoding, " filed on December 9, 2016, entitled " Parallel Code Based Parity Check (Pc) Method and System for Paralleling Parity Check (PC) -Polar-Configuration "filed on December 9, 2016, entitled " U.S. Provisional Patent Application No. 62 / 434,416, filed on December 13, 2016, entitled " A Method for Constructing a Polar Code Based Parity Check (PC) Using a Lookup Table & No. 433,127, filed September 8, 2017, which claims priority to U.S. Patent Application No. 15 / 699,967 entitled " Method and Apparatus for Encoding Data Using Polar Code, " Which is incorporated herein by reference.
The present invention relates to a data transmission method and apparatus, and more particularly to an encoding method and apparatus.
A polar code is a linear block error correcting code that exploits channel polarization to improve overall transmission capacity. In particular, polar codes are used to transmit fixed (or frozen) bits over low-confidence subchannels (e. G., Noise-rich subchannels) Subchannel). &Lt; / RTI &gt; Polar encoding is described in more detail in an academic paper entitled &quot; Channel Polarization and Polar Code &quot;, which is incorporated herein by reference as if reproduced in its entirety.
A technical advantage is generally achieved by the embodiments of the present disclosure which describe a method and apparatus for polarization encoding.
According to one embodiment, a method of encoding data in polar code is provided. In this embodiment, the method includes polar encoding information bits and at least one parity bit to obtain encoded data to an encoder of the device. The at least one parity bit is located in at least one subchannel selected for at least one parity bit based on a weight parameter. The method further comprises transmitting the encoded data to another device. In one example, the weight parameter includes a minimum weight. In this example, the at least one parity bit may be located in at least one of a first number of subchannels having a minimum weight or a second number of subchannels having twice the minimum weight. In the same or other example, the method may further comprise selecting at least one subchannel having a minimum weight from the segment of the ordered subchannel. At least one subchannel with a minimum weight can be selected from a segment of K subchannels of the ordered subchannel and each of the K subchannels is higher than the subchannels of the N0-K segments of the ordered subchannel Where K is the information block length and N0 is the mother code length. In the same or other example, in a segment of ordered subchannels, at least one subchannel with a minimum weight is selected such that if the number n of subchannels with the minimum weight in the segment of K subchannels is greater than a predetermined value F And selecting from the segments of the K subchannels F subchannels with minimum weights in descending order of the confidence metric. In this or another example, the encoder may apply a parity check function to determine a value for each of the at least one parity bit. In this example, the parity check function may be a prime number parity check function. In the above example or another example, the method further comprises that the ordered subchannels are aligned based on the confidence metric. In either or any of the preceding examples, the weight parameter may comprise the lowest row weight. The method may further comprise selecting at least one subchannel having the lowest row weight in a subset of the K most reliable subchannels of the ordered sequence of subchannels, The weight is the number of ones in the row of the Kronecker matrix whose row corresponds to the subchannel. In this example, selecting at least one subchannel with the lowest row weight in a subset of the K most reliable subchannels is performed by selecting a subchannel having the lowest row weight among the K most reliable subchannels Number is greater than a predetermined number F p , selecting F p subchannels with the lowest row weight in a subset of the K most reliable subchannels. In the same example or another example, at least one subchannel with the lowest row weight can be selected from the K sub-sets of the most reliable subchannels in descending order of reliability. In the same example or another example, the method skips at least one subchannel selected for at least one parity bit until the number of subchannels selected for the information bits reaches K, And selecting a subchannel for the information bits in the determined sequence. An apparatus for performing the method is also provided.
According to another embodiment, a device configured to encode data in polar code is provided. In this embodiment, the device includes an encoder configured to polar-encode the information bits and the at least one parity bit to obtain the encoded data. The at least one parity bit is arranged in at least one subchannel selected for at least one parity bit based on a weight parameter, and the interface is configured to transmit the encoded data to another device. In any one example of the above-described encoding embodiments, the weight parameter includes a minimum weight. In this example, the at least one parity bit may be located in at least one of a first number of subchannels having a minimum weight or a second number of subchannels having twice the minimum weight. In the same or other example, the encoder is further configured to select at least one subchannel having a minimum weight from a segment of the ordered subchannel. In the same example or another example, the at least one sub-channel can order a certain number is selected from the segment of K sub-channels of the sub-channel, K sub-channels each having a minimum weight is the order given sub-channel N 0 - K sub-channel, where K is the information block length and N 0 is the mother code length. In the same or other example, the device / encoder selects at least one subchannel having a minimum weight from a segment of the ordered subchannel, and if the number of subchannels having the minimum weight in the segment of K subchannels is less than If it is larger than the set value F, F subchannels with minimum weights can be selected from the K sub-channel segments in descending order of the reliability metric. In this or another example, the encoder may be further configured to apply a parity check function to determine a value for each of the at least one parity bit. In this example, the parity check function may be a fractional parity check function. In the above example or another example, the ordered subchannels may be ordered based on the confidence metric. In either or both of the examples described above, the weight parameter may comprise the lowest row weight, and the encoder may further comprise means for, in a subset of the K most reliable subchannels of the ordered sequence of subchannels, And to select at least one subchannel with the lowest row weight. The row weight of the subchannel is the number of ones in the row of the kroner matrix. A row may correspond to a subchannel. In this example, the device may select at least one subchannel with the lowest row weight in a subset of the K most reliable subchannels. Wherein the encoder is added to the number of sub-channels having the lowest line weighting in the sub-channel that can be the K most reliable n In this case, in advance larger than F p is set, the lowest in the K most reliable sub-set of sub-channel that can be And to select F p subchannels with row weights. In the same example or another example, at least one subchannel with the lowest row weight can be selected from the K sub-sets of the most reliable subchannels in descending order of reliability. In the same example or another example, the encoder is further configured to skip at least one sub-channel selected for at least one parity bit until the number of sub-channels selected for the information bit reaches K, And to select a subchannel for information bits in a predetermined sequence.
According to yet another embodiment, another method of encoding data is provided. In the present embodiment, the method includes assigning one or more subchannels for one or more parity bits based on row weights for subchannels in a subset of the set of subchannels, and assigning information bits to one or more parity bits Mapping the information bits to the remaining subchannels of the set of subchannels based on the reliability of the remaining subchannels without mapping to the assigned one or more subchannels. The method may further comprise encoding the information bits and one or more parity bits using polar codes to obtain an encoded bit stream and transmitting the encoded bit stream. In one example of the above-described encoding embodiment, the row weights for the subchannels represent the number of ones in the row of the Kronecker matrix whose row corresponds to the subchannel. In this or another example, the row weight may include at least a minimum row weight. In this example, the method comprises: allocating one or more subchannels for one or more parity bits based on a row weight for a subchannel in a subset of the set of subchannels; And allocating for the one or more parity bits a plurality of subchannels having a row weight equal to a minimum row weight in a subset of the subchannels. In the same example or another example, the number of allocated subchannels is one, and the subchannels of the set may be ordered based on their reliability to form an ordered sequence of subchannels, Lt; / RTI &gt; contains the most reliable subset in the ordered sequence. In the same or other example, the most reliable subset of the subchannels may comprise K subchannels for carrying information bits. In the same example or another example, the most reliable subset of the subchannels may comprise K + F P subchannels, where K is the information block length associated with the information bits and F p is the length of one or more parity bits . In the same example or another example, the most reliable subchannel with a row weight equal to the minimum row weight in a subset of subchannels may be allocated for one or more parity bits. In any or all of the preceding examples, the one or more parity bits may comprise one or more parity check (PC) bits. In this example, the step of encoding the information bits and the one or more parity bits using the polar code to obtain the encoded bitstream may comprise determining one or more values for one or more PC bits as a function of the value of the information bits ; And mapping one or more PC bits to at least one subchannel allocated for the PC bits.
According to yet another embodiment, a device is provided for encoding data in polar codes. In this embodiment, the device allocates one or more subchannels for one or more parity bits based on row weights for subchannels in a subset of the set of subchannels, and assigns information bits to one or more parity bits And to map the information bits to the remaining subchannels of the set of subchannels based on the reliability of the remaining subchannels without mapping to the assigned one or more subchannels. The device is further configured to encode the information bits and one or more parity bits using polar codes to obtain an encoded bit stream, and to transmit the encoded bit stream. In one example of the above-described encoding embodiment, the row weights for the subchannels represent the number of ones in the row of the Kronecker matrix whose row corresponds to the subchannel. In this or another example, the row weight includes at least a minimum row weight. In this or other example, the device may allocate one or more subchannels for one or more parity bits based on row weights for the subchannels in the subset of the set of subchannels. The device may further be configured to allocate, for one or more parity bits, a plurality of subchannels having a row weight equal to a minimum row weight in a subset of subchannels. In any of the foregoing examples, the number of allocated subchannels may be one and the subchannels of the set may be ordered based on their reliability to form an ordered sequence of subchannels, The subset of subchannels includes the most reliable subset in the ordered sequence. In any of the foregoing examples, the most reliable subset of the subchannels may comprise K subchannels for carrying information bits, and the most reliable subset of the subchannels is a K + F P subchannels, K is the information block length associated with the information bits, and F p is the number of one or more parity bits. In the same or other example, the most reliable subchannel with a row weight equal to the minimum row weight in a subset of subchannels is allocated for one or more parity bits. In the same or other example, the one or more parity bits comprise one or more parity check (PC) bits.
According to yet another embodiment, a decoding method for a device is provided. In the present embodiment, the method comprises receiving a signal based on encoded data from another device, wherein the encoded data is generated by encoding with polar codes, information bits and at least one parity bit. In this embodiment, at least one parity bit is placed in at least one subchannel selected based on the weighting parameter. The method also includes using the polar code to decode the signal and at least one parity bit to obtain a information bit with a decoder of the device.
In one example, the weight parameter includes a minimum weight. In this example, the at least one parity bit may be located in at least one of a first number of subchannels having a minimum weight or a second number of subchannels having twice the minimum weight. In the same example or another example, the selected at least one subchannel has a minimum weight, and at least one subchannel is selected from a segment of the ordered subchannel. At least one subchannel with a minimum weight can be selected from the K subchannel segments of the ordered subchannels, each K subchannel being higher than the subchannels of the N0-K segments of the ordered subchannel Where K is the information block length and N0 is the mother code length. In this or another example, each value of at least one parity bit is based on a parity check function. In this example, the parity check function may be a fractional parity check function. In the above example or other example, the ordered subchannels are ordered based on the confidence metric. In either or both of the foregoing examples, the weight parameter may comprise the lowest row weight, and the selected at least one subchannel may be a subset of the K most-reliable subchannels of the ordered sequence of subchannels Where the row weight of the subchannel is the number of ones in the row of the kroner matrix, and the row corresponds to the subchannel. In such an example. In the same example or another example, at least one subchannel with the lowest row weight is selected from a subset of the K most reliable subchannels in descending order of reliability. In the same example or another example, the subchannel for the information bits may be subdivided by skipping at least one subchannel selected for at least one parity bit until the number of subchannels selected for the information bits reaches K, The order of the channels is selected in the specified sequence. An apparatus for performing the method is also provided.
According to yet another embodiment, a decoding method for a device is provided. In this embodiment, the method comprises receiving a signal based on an encoded bit stream from another device, wherein the encoded bit stream is generated by encoding with polar codes, information bits and one or more parity bits. One or more parity bits are mapped to one or more assigned subchannels based on a row weight for a subchannel in a subset of the set of subchannels and wherein the information bits are mapped to a set of subchannels in the set of subchannels based on the reliability of the remaining subchannels And are mapped to the remaining sub-channels. The method also includes decoding the signal using the polar code and one or more parity bits to obtain the information bits.
In any of the foregoing decoding embodiments, the row weight for the subchannel represents the number of ones in the row of the knericker matrix, and the row corresponds to the subchannel. In this or other example, the row weight may include at least a minimum row weight. In this example, one or more subchannels are allocated for one or more parity bits based on row weights for the subchannels in the subset of the set of subchannels. In another example, multiple subchannels with a row weight equal to the minimum row weight in a subset of subchannels are allocated for one or more parity bits. In the same or other example, the number of assigned subchannels may be one, and the subchannels of the set may be ordered based on their reliability to form an ordered sequence of subchannels, Includes the most reliable subset of subchannels in the ordered sequence. In the same or other example, the most reliable subset of subchannels may comprise K subchannels for carrying information bits. In the same example or another example, the most reliable sub-set of the number of subchannels K + F P sub may include a channel, K is the information block length associated with the information bits, F p is the number of one or more parity bits . In the same example or another example, the most reliable subchannel with a row weight equal to the minimum row weight in a subset of subchannels may be allocated for one or more parity bits. In any or all of the preceding examples, the one or more parity bits may comprise one or more parity-check (PC) bits. In this or another example, one or more values for one or more PC bits is a function of the value of the information bits.
BRIEF DESCRIPTION OF THE DRAWINGS For a more complete understanding of the present disclosure and advantages thereof, reference is now made to the following description taken in connection with the accompanying drawings.
1 is a diagram showing an example of how a polar coding generation matrix can be produced from a kernel.
2 is a diagram showing an example of a polar coding generation matrix for producing a code word and an example of a polar encoder.
3 is a diagram showing a portion of an exemplary decision list tree that is limited by the maximum given list size and is used in a Successive Cancellation List (SCL) polar decoder.
4 is a block diagram illustrating an example of a polar encoder based on a 2x2 (2-by-2) kernel.
Figures 5A-5G are tables illustrating how the row weights are calculated and used to select candidate subchannels to reserve for parity check (PC) bits.
6A-6G are tables illustrating how the Hamming weights are used to select candidate subchannels to reserve for parity check (PC) bits.
7 is a flow diagram of a method of one embodiment for encoding a sequence of information bits.
8 is a flowchart of a method of one embodiment for encoding a sequence of information bits.
Figure 9 is a flow diagram of a method of one embodiment for encoding a sequence of information bits.
10 is a block diagram of a communication system.
11 is a flow chart of a method of one embodiment for selecting a frozen bit during polar encoding.
12 is a block diagram of a register implemented in a polar encoder / decoder.
13A-13D are graphs of the block error rate (BLER) achieved by different polar codes.
14A and 14B are graphs of the estimated noise levels achieved when using different polar codes to encode the data stream.
15 is a block diagram of an example wireless device.
Figure 16 is a diagram of an example technique for using a parallel comparison operation to identify subchannels to be reserved for the PC bit (s).
17 is a flow diagram of one embodiment method for encoding a sequence of information bits.
18 is a flowchart of another method of encoding a sequence of information bits.
19 is a flow diagram of another method of encoding a sequence of information bits.
20 is a diagram of an encoder of another embodiment.
21 is a diagram of an ordered sequence of subchannels.
22 is a diagram of a cycle shift register operation of an embodiment used by a parity check decoder.
23 is a diagram of a parity check function.
24 is a flow diagram of one embodiment method for encoding a sequence of information bits.
25 is a block diagram of a processing system of one embodiment.
26 is a block diagram of a transceiver of one embodiment.
The making and use of embodiments are discussed in detail below. However, it should be understood that the present disclosure provides many applicable inventive concepts that may be implemented in various specific contexts. The particular embodiments discussed are merely illustrative of specific methods for making and using the invention and are not intended to limit the scope of the invention.
The parity bits are added to the string of information bits during polar encoding to assist decoding and facilitate error detection or correction at the receiver. The terms " parity check (PC) bit ", " parity bit ", and dynamic frozen bits are used interchangeably throughout this disclosure. Although many of the presentations describe an embodiment of the invention in the context of a parity bit, the parity bit is a particular type of assistant bit and the principles disclosed in this disclosure may be applied to other types of auxiliary bits, A code such as an error correction bit, a CRC (Cyclic Redundancy Check) bit, a checksum bit, a hash function bit, a secret code, a repetition code or an error detection bit or code. In some embodiments, the parity bits are referred to as parity-check (PC) frozen bits (or simply " PF bits ").
One issue that arises when inserting (P) parity bits during polar encoding is how to select the subchannel (s) (among the N subchannels) to transmit the parity bits. One option for handling parity bits during polar encoding is to map the (K) information bits to be encoded (which may include other auxiliary bits) to the most reliable sub-channel, and then (S) to the next most reliable subchannel (s) available after mapping the information bits to the most reliable subchannel. Another option is to map the parity bit (s) to the most reliable subchannel (s), and then map the information bit (s) to the most reliable subchannel And then maps to the most reliable subchannel.
The simulation shows that the two options generally provide lower levels of performance than the exemplary techniques of mapping parity bits to subchannels based on their row weight. The row weights for the subchannels may be expressed as a number of "one" in the corresponding row of the Kronecker matrix or as an index of "1" in the binary representation of the subchannel index (described further below) can be seen as a power of 2 with the exponent with exponent (i.e., Hamming weight). In one embodiment, a candidate subchannel having a particular row weight value (e.g., a minimum row weight wmin or twice the minimum row weight (2 * wmin )) is separately set and used for the parity bit (s) . The candidate subchannel reserved for the parity bit (s) does not necessarily have to be the most reliable subchannel, as can be understood based on the description of calculating the row weight provided below. After the candidate subchannels are identified, the K information bits are mapped to the K most reliable remaining subchannels, and a number of frozen bits (e.g., NK) are mapped to the remaining least reliable subchannels Lt; / RTI &gt; The parity bit is mapped to the candidate subchannel and the parity bit value is determined based on a function of the information bits.
There are many ways to determine the row weight for a subchannel. In one embodiment, the row weighting may be calculated as a function of the Hamming weight of the channel index associated with the subchannel. The Hamming weight is the number of nonzero elements in the binary sequence representing the channel index. In one embodiment, the subchannels N are ordered with an ordered sequence Q based on their channel reliability, so that the ordered sequence Q is ordered in ascending order (Q 0 , Q 1 , ..., , Q N ) subchannels (where Q N is the most reliable channel). For example, the present disclosure enables the display (denote) a minimum row weights value interchangeably throughout, as w min or d min, for example, the most reliable K subsets that can be used for the K information bits (Q (N-K + 1 ) ... Q N) or the K information bits, and the most reliable (K + P) sub-set that may be used for the P parity bits (e.g., Q (NKP) ... Q N , &Lt; / RTI &gt; the row weight of a subset of the most reliable channels. The minimum row weight value of the most reliable subset may be used to reserve the subchannel for the parity bits.
In some embodiments, a lookup table (LUT) may be used to identify the wmin parameter if the process of dynamically computing the wmin parameter adds latency to the encoding operation.
More specifically, the LUT-based technique may be applied to the look-up table by calculating the wmin parameter as a function of the potential combination of the information block length (K) and the mother code length (M) Lt; / RTI &gt; The look-up table is set to w min Used to determine parameters. Table 1 shows w min ( F 1 , f 2 ) used to determine the number of candidate subchannels to be reserved for a parity bit (details below), which may be used to determine a code parameter that includes a parameter An example is provided.
w min , f 1 , f 2 K = 100 K = 400 K = 1000 K = 2000 K = 4000 K = 6000 K = 8000 K / M = 1/5 32,12,0 32,5,7 32,2,11 32,1,13 64,20,0 64,20,0 64,21,0 K / M = 1/3 32,13,0 16,4,9 16,1,13 32,19,0 32,21,0 32,17,4 32,15,5 K / M = 2/5 8, 1, 8 16,10,4 16,5,10 16,3,13 16, 2, 14 16,1,15 16,1,16 K / M = 1/2 8, 10, 1 8,1,10 16,17,0 16,14,3 16,9,8 16,7,10 16,6,11 K / M = 2/3 4,3,7 8,15,0 8,7,7 8, 5, 10 8,3,12 8, 2, 14 8, 2, 14 K / M = 3/4 4,11,0 4,1,10 8,15,0 8,17,0 8,16,1 8,7,8 8,11,7 K / M = 5/6 2,1,6 4,5,5 4,4,7 4,2,10 4,1,12 4,1,12 8,18,0 K / M = 8/9 2,2,4 4,11,0 4,12,1 4,8,4 4,4,9 4,3,10 4,3,10
The time required to identify the wmin parameter during on-line polar encoding is heavily influenced by the size of the look-up table, since large tables typically require longer search times. As a result, the latency requirement of the encoder may limit the granularity of the encoding combinations available in the look-up table, thereby affecting coding performance.
Another embodiment of the present disclosure provides a low latency technique that circumventes the calculation of row weights by reserving or allocating subchannels for parity bits based on a minimum hamming weight (u min ) parameter . As described above, the row weight can be calculated as a function of the Hamming weight. In one example, the formula:
, Where rw is the row weight for a given subchannel and hw is the Hamming weight of the binary representation of the channel index for a given subchannel. The symbols " hw " and " u " are used interchangeably herein to refer to the Hamming weight. From this it is clear that the subchannel associated with the lowest hamming weight also has the lowest row weight. Thus, most reliable subset of channels that can be based on Hamming weights associated with the sub-channels (e. G., Q (N- (K + Fp)), ... Q N), the identification of the minimum Hamming weight (u min), The minimum Hamming weight is then used to reserve the subchannels for the parity bits.
As described below, the minimum line weight (2 * w min) twice with w min to reserve sub-channels for the parity bit is sometimes used. For example, the first number of the same row weight w min and most reliable sub-channel that can be of (e.g., f 1) that can be reserved for a parity bit, 2 * w min And a second number having the same line weight may be (for example, f 2) are the most reliable sub-channel for the reserved for the parity bits. Equation
It is clear that the 2 * wmin parameter corresponds to the minimum Hamming weight plus one. Thus, embodiments of the present disclosure provide a method and apparatus for generating a first number of most reliable subchannels with a Hamming weight equal to a minimum Hamming weight for a parity bit and a Hamming weight equal to the minimum Hamming weight for the parity bit plus one And the second number of the most reliable subchannels having the same number of subchannels.
A brief description of polar coding is provided below to aid in understanding these and other inventive aspects of the present disclosure, which will be described in more detail below. 1 is a diagram illustrating how a polar coding generation matrix may be generated from kernel G 2 100 in an exemplary manner. Note that Figure 1 is an example. Other types of kernels are possible. Polarization results from a "nested" way in which the generator matrix is generated from the kernel (or a combination of kernels).
The 2-fold Kronecker product matrix of FIG. &Lt; RTI ID = 0.0 &gt; 1 &
(102) and a 3-fold Kronecker matrix
(104) are examples of polar coding generation matrices. The generator matrix approach shown in Figure 1 is based on an m-fold Kronecker product matrix
The polar code may be formed from a Kronecke product matrix based on the matrix G 2 (100). For a polar code with a code word of length N = 2 m , the generator matrix is
to be. 2 is a diagram showing a use example of a polar coding generation matrix for producing codewords and a schematic diagram of a polar encoder. In Fig. 2,
(104) is used to generate codewords of length 2 3 = 8. As indicated at 200, the codeword x is defined by the input vector u = [0 0 0 u 3 0 u 5 u 6 u 7 ]
(104). The input vector u consists of information bits and fixed or frozen bits. In the particular example shown in Figure 2, since N = 8, the input vector u is an 8-bit vector and the codeword x is an 8-bit vector. The input vector has frozen bits at positions 0, 1, 2, and 4, and has information bits at positions 3, 5, 6, and 7. An exemplary implementation of an encoder that generates a codeword is indicated at 212 where the frozen bits are all set to zero and the circled " + " symbols represent modulo 2 addition. In the example of FIG. 2, the N = 8-bit input vector is formed with K = 4 information bits and NK = 4 frozen bits. This type of code is referred to as polar code, and the encoder is referred to as polar encoder. The decoder for decoding the polar code is referred to as a polar decoder. The frozen bit is set to zero in the example shown in FIG. However, the frozen bits may be set to other fixed bit values known to both the encoder and the decoder. For ease of explanation, all zero frozen bits are considered in this disclosure and may be generally desirable.
Figure 3 is a diagram illustrating a portion of an exemplary decision list tree that is limited by the maximum given list size and used in the SCL polar decoder. In Figure 3, the list size L is four. Five levels 302, 304, 306, 308, 310 of the decision tree are shown. Although five levels are shown, it should be understood that the decision tree for decoding N bits has N + 1 levels. At each level after root level 302, each one of up to four surviving decoding paths is extended by one bit. The leaf or child node of the root node 320 represents a possible selection for the first bit and the subsequent leaf node represents a possible selection for the next bit. The decoding path from root node 320 to leaf node 330a represents, for example, an estimated codeword bit sequence of zero, one, zero, zero. At level 308, since the number of possible paths is greater than L, L paths with the highest likelihood (best path metrics or PM) are identified and the remaining paths are discarded . The surviving decoding paths after path alignment and pruning at level 306 are shown in bold in Fig. Similarly, at level 310, since the number of possible paths is greater than L, L paths with the highest likelihood (best PM) are identified, and the remaining paths are discarded again. In the illustrated example, the paths terminating at the leaf nodes 330a, 330b, 330c and 330d represent the highest likelihood paths. The paths terminating at the leaf nodes 340a, 340b, 340c and 340d are lower likelihood paths to be discarded.
SCL decoding can be further divided into a CRC-aided list decoding and a pure list decoding. In the latter, the survivor path with the highest likelihood is selected. SC decoding is a special case of pure list decoding with list size L = 1. The CRC check may provide better error correction performance in the final path selection, but is optional in SCL decoding. Other operations such as parity checking based on parity or " PC " bits included in the input vector may be used instead of and / or in conjunction with CRC in the final path selection during decoding.
SCL decoding can improve the performance of polar codes for a limited code size. However, SCL decoding may have a lower block error rate (BLER) than well-designed LDPC and turbo codes, as compared to code lengths and code rates of low density parity check (LDPC) codes and turbo codes. CRC-supported SCL (CA-SCL) decoding can improve the BLER performance of polar codes with limited code length. For example, a CA-SCL decoder with a list size of L = 32 can provide much better performance than LDPC and turbo codes with similar computational complexity.
In the case of an SC-type decoder, in fact, the polar code divides the channel into N subchannels. N is called the mother code length and is a power of 2 in the Arikan polar code based on a 2x2 matrix, the polar kernel. The key to code configuration for polar codes is to determine whether a bit-channel, also referred to herein as a subchannel, is selected or allocated for the information bits and which subchannels are assigned to the frozen bits. In some embodiments, the one or more subchannels are also assigned to PC, CRC, and / or other types of bits used to assist in decoding referred to as assistant bits in this disclosure. In terms of polarization theory, the subchannel allocated for the frozen bits is called the frozen subchannel, the subchannel allocated for the information bits is called the information subchannel, and the supplementary subchannel is the auxiliary bit Lt; / RTI &gt; In some embodiments, auxiliary bits are considered in the form of information bits for which more reliable subchannels are selected or allocated.
The polar encoders based on the 2x2 (2-by-2) kerneker product of the Arikan kernel G 2 are described above. 4 is a block diagram illustrating an example of a polar encoder based on a 2x2 kernel. The subchannels and coded bits are labeled in FIG. 4 and the channel is divided into N subchannels by a polar code as described above. An information block and a frozen bit are assigned to N subchannels and the resulting N vectors are multiplied by a polar encoder to an N-by-N Kronecker matrix to contain N coded bits (Codeword) to be transmitted. The information block includes at least information bits and may also include auxiliary bits such as CRC bits or parity bits. A subchannel selector may be coupled to the polar encoder to select at least a subchannel for the information bits and any auxiliary bits, and the remaining subchannels are the frozen subchannels.
For polar codes based on the 2x2 kernel and the NxN Kronecker matrix, N is a power of two. This type of kernel and polar code based on such things as the kernel is discussed here as an illustrative example. Other types of polarization kernels, such as a combination of prime-number kernels (e.g., 3x3 or 5x5) or kernels (small or non-small kernels) to produce higher-order kernels, It can cause polarization between channels. Coded bit processing such as puncturing, shortening, zero padding and / or iteration may also be used for rate matching or for other purposes, for example, with polar codes based on a 2x2 kernel or other types of kernels It should be noted.
As a result of SC, SCL or CA-SCL decoding, the polarization phenomenon appears through the subchannels. Some subchannels have high capacity and some subchannels have low capacity. In other words, some subchannels have an equally high signal-to-noise ratio (SNR) and others have a low SNR. This metric is an example of a property that can be used to quantify or classify sub-channel " reliability ". Other metrics indicating subchannel reliability may also be used.
Code construction determines the code rate (the number of information bits or how many subchannels carries the information bits) and the selection of a particular K subchannels among the N available subchannels to carry information bits . For ease of reference in this disclosure, the information bits may include input bits to be encoded and possibly other CRC bits, parity bits, and / or other auxiliary bits used to assist decoding. The subchannel selection is based on the reliability of the subchannels, and typically the highest reliability subchannel is selected as the information subchannel for carrying information bits.
The subchannel reliability can be specified, for example, in one or more ordered sequences. A single, nested, SNR-independent ordered sequence of subchannels can be computed for code length N max , and an ordered sequence for a shorter code length N is selected from a longer Nmax sequence. A number of ordered sequences may be calculated instead in terms of different mother code lengths N i and one of the mother code length sequences may be selected for a particular code based on the desired code length. Another possible option involves calculating a plurality of ordered sequences in relation to the SNR value, for example, selecting an ordered sequence based on the measured SNR.
There are several ways to calculate subchannel reliability. For example, according to the genie-aided method proposed in R. Pedarsani's "Polar Codes: Construction and Performance Analysis" (June 2011, EPFL Master Project) The encoder encodes a training sequence known to a decoder on a different subchannel. The decoder feeds back the decoder results to the encoder so that the encoder can compute reliability statistics for all subchannels and a well-adapted reliability vector for the subchannels is obtained.
The GA (Gaussian-approximation) method proposed in a non-patent document publication entitled " Evaluation and Optimization of Polar Codes for Polar Codes " Assume that the same error probability is experienced. From the error probability, the reliability for the subchannel is obtained by the density evolution (DE) algorithm. Since the error probability for the coded bits is related to the received SNR, this method is SNR-related and computationally complex.
There are several ways to create ordered sequences in the kernel and generator matrix. In all respects, it can not necessarily lead to a nested sequence, and this nested sequence is not necessarily unique. The sequence in which the nested sequences are determined may be, for example, the polarization weights as disclosed in Chinese patent application CN 161610619696.5, filed on July 29, 2016, which is hereby incorporated by reference in its entirety, Based on the Hamming weights disclosed in U.S. Patent Application No. 62/438565, filed December 23.
An example of how a Hamming weight can be used as a second metric to select an auxiliary subchannel is described in U.S. Provisional Patent Application No. 62/433127, filed December 12, 2016, which is hereby incorporated by reference in its entirety , Which is incorporated herein by reference. The Hamming weight is only an example of a metric that can be used as the second metric. Another example includes a Hamming weight (e.g., a row weight as disclosed in U.S. Provisional Application No. 62/432448, filed December 9, 2016). In general, any other metric that indicates (polarization) reliability may be used as the second metric. Alternatively, the second metric is different from the first metric, but may be related to polarization reliability or may indicate polarization reliability. However, in yet another alternative, the natural order of the subchannels may be used as the second metric, so that, for example, a subchannel at the end of the information subchannels (e.g., natural ascending order) do.
In some embodiments, two or more metrics may be used to select the secondary subchannel. In addition, any of a variety of alternative sub-channel selection algorithms using the metrics described above may be used. There are other possibilities for selecting an auxiliary sub-channel.
As described above, an auxiliary bit such as a CRC or a parity bit may be included in the input bitstream to facilitate error correction or detection at the receiver and aid decoding. One problem that arises when inserting auxiliary bits during polar encoding is how to select the subchannels to send auxiliary bits. In particular, polar encoders generally map frozen bits to unreliable subchannels, or otherwise transmit frozen bits over low-reliability subchannels or over low-reliability subchannels, and transmit information bits to the most reliable subchannels Channel or otherwise transmits the information bits to the most reliable subchannel or the most reliable subchannel. When the auxiliary bit is introduced into the encoded bitstream, it is a question of whether the most reliable channel should be used for the parity bit or the information bit.
One option for handling parity bits during polar encoding is to map the information bits to the most reliable subchannel (e.g., based on an ordered sequence), and then parity bit (s) Mapping to the next most reliable subchannel (s) available after mapping to a reliable subchannel. In this manner, the information bits are transmitted over a more reliable channel than the parity bits. Another option is to map the parity bit (s) to the most reliable subchannel (s) and then map the information bits to the most reliable subchannel after mapping the parity bit (s) to the most reliable subchannel To the subchannel. In this way, the parity bit is transmitted over a channel that is more reliable than the information bits.
The simulation shows that higher levels of encoding performance can be practically achieved by a hybrid approach in which parity bits and information bits are interspersed in the most reliable channels. Although the selection of subchannels for information bits may be based on subchannel polarization reliability (e.g., as indicated by the ordered sequence), the selection of subchannels for the parity bits may be based on more than the polarization reliability metric For example, such that the location of such parity subchannels can be distributed more randomly or more efficiently among the information subchannels.
In some embodiments, two different metrics are used for parity or PC sub-channel selection. For example, the first metric may be a polarization reliability metric (e.g., an ordered sequence), and the second metric may be a weighting weight such as a Hamming weight of the subchannel (or a function of a Hamming weight such as a row weight) have. In one embodiment, all subchannels required to carry a desired number of parity bits are selected based on one or more metrics, e.g., a polarization reliability metric and a hamming / row weight; In another embodiment, a subset of subchannels for a parity bit is selected based on one or more metrics, e. G., A polarization reliability metric and a hamming / row weight, and the remaining subset is selected from a single metric, e. Is selected based on the metric.
Hamming weights can be partially preferred because they are used by RM (Reed-Muller) codes for simplicity. The RM code can be thought of as a special example of polar code, which is based on Hamming weighting rather than polarization reliability and uses a Maximum-Likelihood decoding algorithm (Hamming-weighted RM code, 0.0 &gt; SCL &lt; / RTI &gt; decoding.
The Hamming weight of the subchannel is defined herein to be the Hamming weight of the row of the generator matrix. In the polar code, the Hamming weight of the subchannel is related to the row weight of this subchannel in its generator matrix (row weight = 2 ^ (Hamming weight)). In some embodiments, the row weight indicates the number of coded bits to which the information of the subchannel is distributed. Generally speaking, the more information bits input to the subchannels are distributed to the more coded bits, the more robust the subchannels and the higher the reliability.
An example of how a function of a Hamming weight or Hamming weight, such as a row weight, can be used as a second metric for selecting a subchannel for a parity bit can be found in US patent application Ser. U.S. Provisional Application No. 62 / 433,127, filed December 12, 2016, entitled " Method for Constructing a Parity Check (PC) Based on Polar Code Using a Lookup Table " . These are only examples of metrics that can be used as the second metric. In general, any other metric that indicates (polarization) reliability may be used as the second metric. In yet another alternative, the second metric is different from the first metric, but is related to polarization reliability or indicates polarization reliability. However, in yet another alternative, the natural ordering of the subchannels may be used as the second metric, so that, for example, the subchannels at the end of the information subchannels are selected as the secondary subchannels. In some embodiments, two or more metrics may be used to select the secondary subchannel. In addition, any of a variety of sub-channel selection algorithms using the above described metrics may be used. There are other possibilities for selecting an auxiliary sub-channel.
The embodiment technique described in U.S. Provisional Patent Application No. 62 / 433,127 reserves and / or selects a candidate subchannel for the parity bit (s) before mapping the information bits to the subchannel. After the candidate subchannels are reserved, the information bits are mapped to the remaining reliable subchannels, and many frozen bits are mapped to the least reliable remaining subchannels. The parity bit value for the reserved subchannels is then determined based on a function of the information bits. In particular, the candidate subchannel reserved for the parity bit (s) does not necessarily have to be the most reliable subchannel, but some subchannels that are more reliable than at least one of the subchannels to which reliable or information bits are transmitted In this way, the information bits and parity bits are interspersed through the most reliable channels in a way that improves the decoding probability.
As described above, some subchannels may be reserved or set separately for PC bits during polar encoding. Figures 5A-5G illustrate examples of how the encoding process may occur when a sequence of four information bits is encoded with a 16 mother code length. Figure 5a is a sub-channel corresponding to the 16 mother code length u 0, u 1, u 2 , u 3, u 4, u 5, u 6, u 7, u 8, u 9, u 10, u 11, u 12 , u 13 , u 14 , u 15 . The second row of the table lists the channel polarization reliability for each subchannel. The subchannels can be classified based on channel reliability. Figure 5b of the sub-channel u 0, u 1, u 2 , u 4, u 8, u 3, u 5, u 6, u 9, u 10, u 12, u 7, u 11, u 13, u 14 , u 15 , and the sequence Q (Q). The row weight for each channel may be calculated as a function of the channel index. In one example,
Rw is the row weight for a given subchannel, and hw is the Hamming weight of the binary representation of the channel index. FIG. 5C shows a table listing the binary representation, the hamming weight, and the row weight of each subchannel in the sequence of subchannels.
Next, a subset of the subchannels are identified to determine a set of parameters to be used for booking subchannel min w, w * 2 min, f 1, and f 2 for the PC- bit. Subset of sub-channels to carry the information and parity bits is K + F p and the same, and where K is the length of the information block (e.g., number of encoded information bits), F p is to be transmitted over the channel Is a parameter corresponding to the number of parity bits. In one embodiment, F &lt; p &gt;
, Where N is the mother code length, M is the number of (coded) bits in the codeword to be transmitted (e.g., after puncturing), K / M is the achieved code rate, Is a weight factor used to change the ratio of the parity bits to the information bits. However, different functions for F p can be used, for example, F p, which seems to work well for a relatively small number of parity bits = log 2 ((MK) / 32) may be used. Alternatively, as in the case where different types of auxiliary bits (other than parity bits) and / or different types of check functions (other than PC functions) In general, the number of PC bits Fp may be any function of K, N (M <N and M if shortening and puncturing are used). In another embodiment, F p is K, N ( and / or M) independent of a fixed value, for example, be 3 days. in another embodiment, F p is the total number of parity bits to be mapped to the candidate sub-channel (having a minimum row weight w min) (E.g., 1), and the remaining parity bits (e.g., 2) represent different sets of metrics (e.g., K (or K + F p ) The most unreliable subchannel in the most reliable channel). Another possibility F p .
In an embodiment using a function for PC bits and F p , the alpha parameter is set to a value between 1 and 2. In another embodiment, the alpha parameter is set to a value between 1 and 1.5. High alpha values generally yield a higher minimum code distance. In this example, F p is equal to two. As described above, comprising an information bit and a subset of the subchannels to carry parity bits of sub-channel that the six most reliable (i.e., K + F p = 4 + 2 = 6), sub-channel u 12, u 7 , u 11 , u 13 , u 14 , and u 15 . Next, one or more row weights are determined. As can be seen, the minimum row weight w min in the K + Fp subset is 4. In this example, the minimum row weight (w min ) and the minimum row weight (2 min ) in a subset of subchannels u 12 , u 7 , u 11 , u 13 , u 14 , and u 15 , * w min ). The first index f1 and the second index f2 are also determined. A first index (f1) to determine whether to schedule for the sub-channel having the same line weight and w min on how PC bit, and the second index (f2) is how the sub-channel having the same line weight with 2 * w min PC And determines whether to reserve for the bit. In this example, f 1 and f 2 are 1 and 1, respectively.
Then, the sub-channels based on the parameters min w, w * 2 min, f 1, and f 2 is reserved for the PC bit. In this example, the most reliable subchannel with the row weight w.sub.min (i.e., equal to 4) and the most reliable subchannel with the same row weight as 2 * w.sub.min (i.e., equal to 8) Which includes subchannels u 12 and u 14 . 5D shows a table showing the sub-channels reserved for the PC bit. The information bits are then mapped to the remaining most reliable channels. 5E shows a table showing how subchannels u15, u13, u11 and u7 are mapped to four information bits. In this example, K = 4 and N = 16. In another example, a different number of information bits may be mapped to a subchannel. The remaining subchannels are then mapped to frozen bits. 5F shows a table showing how subchannels u10, u9, u6, u5, u3, u8, u4, u2, u1 and u0 are mapped to frozen bits.
In some embodiments, the encoder selects some subchannels in the frozen bit set to carry the PC bits after the frozen bit set is mapped. Figure 5g shows a table showing how frozen subchannels can be selected to carry PC bits. Subchannels of having the same line weight and, w * w min or 2 min as illustrated Frozen set is selected to carry the PC bit. In this example, subchannels u 10 , u 9 , u 6 , u 5 , and u 3 are mapped as additional PC bits. In some other embodiments, all frozen subchannels may be selected as additional PC bits.
based on w min, 2 * w min, f 1 and f 2, instead of scheduling or select a F p sub-channels of the F p of PC bit, the encoder uses a different set or subset of these parameters sub The channel can be reserved. In one embodiment, F p sub-channels (only) N sub-channels based on the W min or M <N subchannels (when puncturing or shortening is used) of the (K + F p) most reliable sub that Set, for example, w min This value F p of sub-channel is reserved with the same row weight and (more details below). In some embodiments, if there are more sub-channels in the (K + F p) subset having the same line weight to w min, F p is the most reliable sub-channel is reserved. In some implementations, the same selection applies even when there are f 2 or more subchannels with the same row weight as 2 * w min . In other implementations, the least reliable F p subchannels of the (K + Fp) subset with the same row weight as w min (or 2 * w min ) are reserved. In another embodiment, the number of the PC bits are all the sub-channels having the same line weight and w min may be increased to be reserved for the PC bit. In addition to In another embodiment, F p is w min and / or 2 - the total number of subchannels on w min PC bits to be reserved on the basis of the set or subset (e.g., 1) of (e.g., three) , And the remaining subset (2) of the total number of subchannels for the PC bits is reserved (e.g., based on the least reliable subchannel in another metric, e.g., K (or K + Fp ) do. Other implementations are possible.
In some embodiments, in addition to reserving the F p subchannels of the (K + F p ) subset, the encoder may select some subchannels of the frozen bit-set (NKF p ) to carry additional PC bits . In another embodiment, in addition to the F p subchannels of the (K + F p ) subset having the same row weight as w min , all subchannels of the frozen bit-set are selected to carry PC bits.
In some embodiments, when PC bits are mapped based on row weights associated with subchannels, row weighting calculations may introduce latency into the encoding process. Other embodiments of the present disclosure mitigate latency by reserving subchannels based on their Hamming weights, thereby avoiding the additional step of calculating row weights. 6A-6G illustrate examples of how the Hamming weight can be used to reserve subchannels for the PC bits during the polar code encoding process. In this example, a sequence of four information bits is encoded with a 16 mother code length. Figure 6a subchannel u 0, u 1, u 2 corresponding to the 16 mother code length, u 3, u 4, u 5, u 6, u 7, u 8, u 9, u 10, u 11, u 12 , u 13 , u 14 , u 15 . The second row of the table lists the channel polarization reliability for each subchannel. The subchannels can be aligned based on channel reliability. Figure 6b subchannel u 0, u 1, u 2 , u 4, u 8, u 3, u 5, u 6, u 9, u 10, u 12, u 7, u 11, u 13, u 14, u &lt; / RTI &gt; 15 of the sequence &lt; RTI ID = 0.0 &gt; (Q). &lt; / RTI &gt; The Hamming weight of each channel index may be determined for each sub-channel. Figure 6C shows a table listing the Hamming weights of each subchannel in an ordered sequence of subchannels.
Next, a subset of subchannels is identified to determine the minimum Hamming weight (u min ) as well as the f 1 and f 2 parameters, which will be used to reserve subchannels for the PC-bits. Subset of sub-channels to carry the information and parity bits are the same with F + K p, K is the block length information, F p is a function:
N is the mother code length, M is the number of coded bits of the codeword to be transmitted (e.g., after puncturing), K / M is the achieved code rate, Lt; / RTI &gt; is a weight factor used to change the ratio of the parity bits. However, depending on the implementation, different functions for F p , for example, F p, which seems to work well for a relatively small number of PC bits = log 2 ((MK) / 32) may be used. Alternatively, if different types of auxiliary bits (except PC bits) and / or different types of check functions (other than PC functions) are used, In general, the number of PC bits F p may be any function of K, N or M (where M &lt; N and shortening and puncturing are used). In another embodiment, F p is K ( E.g. , 3) that is mapped to a candidate subchannel having a minimum row weight wmin, or may be a fixed value, e.g., 3, independent of N (and / or M) (E.g., 1), and the remaining parity bits (e.g., 2) may represent a different set of metrics (e.g., K (or K + F p ) The least reliable subchannel in the subchannel). In the example of Figures 6a-6g, F p is equal to 2, and a subset of the subchannels the most reliable sub-channel u 12, u 7, u 11 , u 13, u 14, and u 15 of the six sub-channels (that is, K + F p = In this example, the minimum Hamming weight is 2 based on the Hamming weight of subchannel u 12. The first Hamming weight of subchannel u 12 The index f1 and the second index f2 are also determined. The first index f1 determines how many subchannels with the same hamming weight equal to u min are reserved for the PC bits, and the second index f2 ) will determine how many reserved for the PC bits for the sub-channel having the same Hamming weight as 1 + u mim. f 1 and f 2 in the present example are each 1 and one.
The subchannel is then reserved for the PC bits based on the parameters u min , 1 + u min , f 1 and f 2 . In this example, the most reliable sub-channel with the same hamming weight as u min (i. E. Equal to 2) and the most reliable sub-channel with the same hamming weight as 1 + u min Channel is selected, and includes sub-channels u 12 and u 14 . 6D shows a table showing the subchannels reserved for the PC bits. The information bits are then mapped to the remaining most reliable subchannels. 6E is a table showing how subchannels u15, u13, u11 and u7 are mapped to four information bits. The remaining subchannels are then mapped to frozen bits. 6F is a table showing how subchannels u10, u9, u6, u5, u3, u8, u4, u2, u1 and u0 are mapped to frozen bits.
In some embodiments, the encoder selects some subchannels in the frozen bit set to carry PC bits. 6g shows a table showing how the subchannels of the frozen set with the same hamming weight as u min and 1 + u min are selected to carry the PC bits. In this example, subchannels u 10 , u 9 , u 6 , u 5 , and u 3 are mapped to carry additional PC bits. In some other embodiments, all frozen subchannels may be selected as additional PC bits.
on the basis of u min, f 1 and f 2, instead of scheduling or select a F p sub-channels of the F p of PC bit, the encoder can use a different set or subset of these parameters to schedule the sub-channels have. In one embodiment, F p sub-channels (only) based on the u min to N (M <N sub-channels (perforation or when the speed is used)) of the sub-channels (K + F p) most trustworthy Subset, for example, u min This value F p of sub-channel is reserved with the same row weight and (more details below). In some implementations, if there are more subchannels in the (K + Fp ) subset with the same row weight in u min , the most reliable F p subchannels are reserved. In some implementations, the same choice applies even if there are f 2 or more subchannels with the same row weight as 2 * w min in the most reliable K + F p subchannels. In another implementation, the number of PC bits may be increased such that all subchannels with the same row weight as u min are reserved for the PC bits. In another implementation, F p represents a subset of the total number (e.g., 3) of subchannels for PC bits to be reserved based on w min and / or 2 * w min , and the remaining subset , 2) are reserved based on the least reliable sub-channel in the other metric, e.g., K (or K + F p ) most reliable subchannels. Other implementations are possible.
Embodiments of the present disclosure provide techniques for selecting, reserving, or assigning one or more subchannels for a parity bit based on a weight parameter. 7 is a flow diagram of a method 700 of encoding data using polar codes that may be performed by a wireless device. At step 710, the wireless device receives at least a portion of at least one parity bit (e.g., a candidate subchannel) from a segment of subchannels that may be ordered based on the reliability metric, One subchannel is selected in advance. The weight parameter may be a minimum row weight (e.g., w min , d min ) parameter. In one example, the subchannels are ordered comprises a segment of the segment and N 0 -K subchannels of K sub-channels, the wireless device having the minimum weight (d min) from at least a segment of the K sub-channels One candidate sub-channel is selected. In this example, each of the K sub-channel has a high reliability metric than all of the N sub-channel 0 -K. In this example, K is the number of bits to encode information or other bits and secondary (e.g., CRC bit) to include or may not include referring to the block length information in a, N 0 denotes a mother code length. In another example, if the number n of subchannels with the smallest weight in segment K is greater than a predetermined value F, then the wireless device may transmit K (k) with a minimum weight in a descending order of reliability metrics (e. G. And selects F subchannels from the segment of one subchannel. In another example, the wireless device selects a first number of subchannels based on the minimum weight (d min ) and / or a second number of subchannels based on 2 times (2 * d min ) of the minimum weight. In another example, the wireless device selects at least one subchannel based on, for example, a function of the code length associated with the polar code and the information block length of the data to be encoded. In another example, the wireless device selects all subchannels normally assigned to the frozen bits as a subchannel for carrying at least one parity bit.
In another example, the wireless device selects at least one subchannel with the lowest row weight in a subset of the K most reliable subchannels of the ordered sequence of (N) subchannels. In this example, the row weight of the subchannel is the number of ones in the row of the (N sized) kroner matrix corresponding to the subchannel. In another example, the number of sub-channels having the lowest line weighting in the sub-channel that can be the K most reliable n is a predetermined number greater than F p, the wireless device is in the K most reliable sub-set of sub-channel that can be n F p sub-channels from among the sub-channels (e. G., With the lowest row weights). In another example, at least one subchannel with the lowest row weight is selected from a subset of the K most reliable subchannels in descending order of reliability. In other words, the selected at least one subchannel is the most reliable subchannel in the K subset with the lowest row weight.
In step 720, the wireless device applies a parity check function to determine a value for each of the at least one parity bit. The parity check function may be performed over a selected subchannel for at least one parity bit. The parity check function may be a small number of parity check functions. In step 730, the wireless device polarizes the information bits and at least one parity bit disposed in the selected subchannel to obtain the encoded data. In one example, at least one parity bit is placed in a first number of subchannels with a minimum weight and / or a second number of subchannels with twice the minimum weight. Although not shown, the wireless device also skips at least one subchannel selected for at least one parity bit, and when the number of subchannels selected for the information bits reaches K (i.e., the total number of information bits to encode) , The subchannel for the information bits is selected in the ordered sequence of subchannels. In step 740, the wireless device transmits the encoded data to another wireless device.
8 is a flow diagram of a method 800 of an embodiment for encoding data using polar codes, which may be performed by a wireless device. At step 810, the wireless device may determine, for example, one or more (N) subchannels for one or more parity bits based on row weights for subchannels in a set or sequence of (N) subchannels that can be ordered based on the confidence metric (Candidate) subchannel. The row weight may include an integer multiple (e.g., 2 * wmin ) of the minimum row weight value ( wmin ) and / or the minimum row weight parameter. The row weight for the subchannel may represent the number of ones in the row corresponding to the subchannel of the N-sized Kronecker matrix. There are various techniques for reserving (i.e., assigning) candidate subchannels for the parity bits from the ordered subchannels. For example, after a set of subchannels are sorted based on their reliability, the wireless device may select a candidate subchannel from the most reliable subset of the set's subchannels based on their row weight starting at the highest confidence subchannel You can make reservations. In one example, a first f 1 (i. E., Most reliable) subchannel with a row weight equal to the minimum row weight is reserved for the parity bit, and f 1 is an integer and greater than zero. In such an example, the minimum row weight may be the lowest row weight associated with the most reliable K or K + F P subchannels in the ordered sequence of subchannels, where K is the information block associated with the sequence of information bits And F p is a parameter or function corresponding to a plurality of parity bits carried by the encoded bit stream. In this embodiment, F p is
Where M is the transmitted block length, N is the length of the mother code, and [alpha] is a weight factor used to vary the ratio of parity bits to information bits. Different values for F p are also possible. In another example, the first f 2 subchannels with row weights equal to twice the minimum row weight value may also be reserved for parity bits (where f 2 is an integer greater than or equal to 0). The f 1 parameter may be computed according to the function f 1 = (F p + min (F p , n)) / 2 where n is the impulse of the ordered sequence of subchannels with the same row weight as the minimum row weight The number of subchannels in a reliable K + F P subchannel. The f 2 parameter can be calculated according to the function: f 2 = (F p -min (F p , n)) / 2. Different values for the f 1 and f 2 parameters may be possible.
In another embodiment, F p may be a fixed value (e.g., 3) that is independent of the information block size and code length. Alternatively, F p may be a desired subset (e.g., 1) of the total number of parity bits (e.g., 3) to be used and a subset of the most reliable subset (e.g., K or (K + F p)) in which can be mapped to the candidate sub-channel with the lowest row weight w min, the rest of the parity bits (e.g., 2) is different from the metric (e.g., K (or K + F p (E.g., the least reliable subchannels in the subchannel).
In step 820, the wireless device maps the information bits to a set of subchannels based on the reliability of the remaining subchannels, for example, without mapping the information bits to one or more candidate subchannels reserved for one or more parity bits. And maps to the subset of the remaining subchannels. In step 830, the wireless device determines (e.g., computes) the value of the at least one parity bit as a function of the value of the information bits and maps the one or more parity bits to the reserved candidate subchannel ). In step 840, the wireless device encodes the mapped information bits and one or more parity bits using polar codes to obtain an encoded bit or encoded bit stream. In step 850, the wireless device transmits the encoded bits over the (physical) channel.
Embodiments of the present disclosure provide a method for a device, such as a wireless device, to implement a parity checking function prior to encoding. During the first phase, the wireless device acquires or checks out a sequence of ordered sequences of reliability (Q), and determines a punctured bit set (P) based on the code rate (R) and the mother code length (N).
In the second step, the device determines the frozen bit set, the PC-frozen bit set, and the information bit set, which are set from the ordered sequence. The second step may include several substeps 2.1-2.4 (d). In sub-step 2.1, the wireless device sends a sequence Q (ordered by ascending confidence from the outside to the right) into three subsets: (NM) -subset, (MK) -subset, and (K) Subset. &Lt; / RTI &gt; This example is shown in Table 2. The K-subset represents the most reliable bit position (subchannel) in the sequence Q. During the sub-step 2.2, the wireless device (K) - may determine the minimum or smallest row weight in the subset, which indicates the d min, where the row weights of the sub-channels in a row of the Kronecker matrix corresponding to the sub-channels Quot; 1 " As described above, the row weight is also a power of 2 with an exponent that is the number of " 1 &quot; s in the binary representation of the subchannel index. The wireless device may then determine the number of bit positions (n) in the (K) - subset with the same row weight as d min . During sub-step 2.3, the wireless device selects or flags a set of K-subset sub-channels for the PC-Frozen bits according to d min . Specifically, the wireless device may determine the number of parity check (PC) frozen (PC-frozen) bits F P based on a function of the mother code length of the polar code and the number of information bits in the sequence of information bits. In one example, F p is a function: F p = ceil (Log 2 (N * K ) / 2). The wireless device may select and / or flag multiple sub-channels for the PC-frozen bit. If n <F p, then the wireless device not only selects and / or flags ( F p + n ) / 2 subchannels with a row weight d min according to the descending order of reliability d P min as the PC-frozen bits, ( F p -n ) / 2 subchannels with a row weight of 2 x d min . If n ≥ F p, the wireless device may be a F p sub-channels having a row weight d min in accordance with the descending order of the reliability of selection and / or a PC- flag bit frozen. In another embodiment, F p may be a value independent of the information block size and code length, e.g., 3 days. Alternatively, F p represents the set or sub-set desired position of the parity bit to be mapped to the sub-channel having the minimum weight (d min) or the second minimum weight (2d min) of times (e.g., 2), and the other The parity bits (e.g., 2) are mapped to different sub-channels according to different metrics (e.g., the K-subset or the least reliable subchannels in the K + Fp -subset ). In sub-steps 2.4 (a) -2.4 (d), the wireless device can determine the location for information, PC frozen and frozen bits. In particular, in sub-step 2.4 (a), the wireless device skips the flagged bit positions and selects the information bit positions one by one from the rightmost to the left (in descending order of reliability) until the number of information bit positions reaches K . In sub-step 2.4 (b), the wireless device may flag the remaining bit positions to be the prone bit. In sub-step 2.4 (c), the wireless device selects some frozen bit positions, e.g., those with the same row weight as the preselected PC-frozen bits, as additional PC-frozen bits, or all frozen bit positions as additional PC- Can be selected as the bit position. In step 2.4 (d), the wireless device may prepare a bit sequence for polar encoding, for example, with an Arikan kernel. The wireless device may insert the K-information bits and mark PC frozen and frozen bits.
During step 3, the wireless device may set a value for the PC-frozen bit based on the parity check function. In one example, this is accomplished by applying a cyclic shift to a register having a length of the prime value.
9 is a flow diagram of an exemplary method 900 for encoding data using polar codes that may be performed by a wireless device. In step 910, the wireless device determines the lowest row weight (d min ) among the most reliable K subchannels in the ordered sequence of subchannels. At step 920, the wireless device selects or flags the subchannel set in the K subchannels that are most reliable for the parity check (PC) frozen (PC-frozen) bits according to the lowest row weight. It should be appreciated that the set of selected or flagged subchannels may include one or more subchannels. Alternatively, if the sub-channel having the lowest row weight (d min ), e.g., n, is less than a predetermined number of PC-frozen bits, e.g., F p , ( F p + n ) / 2 subchannels with a row weight d min in the predetermined sequence as the PC-frozen bits, as well as selecting the row weight in the ordered sequence according to the descending order of reliability 2 x d min ( F p -n ) / 2 subchannels having the ( F p -n ). Optionally, if the number n of subchannels with the lowest row weight (d min ) is greater than F p , then the wireless device transmits F p subchannels with a row weight d min of the ordered sequence in descending order of reliability to PC - Select or flag as frozen bits. At step 930, the wireless device maps the sequence K of information bits to the remaining reliable subchannels in the ordered sequence of subchannels, skipping the set of subchannels flagged for the PC-frozen bit . At step 940, the wireless device sets a value for the PC bit in at least the subchannel set flagged for the PC-frozen bit, and in step 950 polarizes the K information bits to PC-frozen bits, Bit or encoded bit stream. In step 960, the wireless device transmits at least a portion of the encoded bit / bit stream.
FIG. 10 shows a communication system 1000. The source 1010 provides information data (bearer data, information blocks, bits), the (channel) encoder 1020 encodes the information data, the encoded information data is transmitted on the channel 1030, (Channel) decoder 1040, so that the information data is finally received at the destination 1050. Source 1010 and / or channel encoder 1020 may be embedded or included in a wireless device, such as a transmission point or a network component or user equipment. The network component may be an evolved Node B (eNodeB), a WiFi access point, a small cell (picocell, femtocell) access point, or any other access point that provides access to the network. The channel encoder 1020 may be implemented in many different ways. For example, the channel encoder 1020 may include a processor configured to encode data and / or control the operation of the other component (s) of the device, and / or otherwise control the execution of the functions and embodiments described herein Can be implemented in the same hardware circuit. In a processor-based implementation of an encoder, processor-executable instructions for performing an encoding operation as described herein are stored in an invisible memory or storage medium, either internal or external to the transmission point or device. Non- For example, in a memory, one or more solid state memory devices and / or memory devices having a removable and removable storage medium. The encoder 1020 may be configured to interface with a separate (Radio-Frequency-RF) transmission module. For example, the encoder 1020 may be implemented as hardware or circuitry (e.g., one or more chipsets, microprocessors, application-specific integrated circuits) to encode the data described herein for transmission by a separate (RF) integrated circuits (ASICs), field-programmable gate arrays (FPGAs), dedicated logic circuits, or a combination thereof.
(Channel) decoder 1040 and destination 1050 may be included in a receiving point or other wireless device, such as a network component or user equipment (UE), and may also be implemented in many different ways in a network component or device, For example, in a hardware or circuitry such as a chipset or processor configured to execute instructions for performing a decoding operation. In a processor-based implementation of decoder 1040, processor-executable instructions for performing decoding operations are stored in a non-volatile memory or storage medium internal or external to the receiving point or device. Non-volatile media may include, for example, one or more solid state memory devices and / or memory devices having a storage medium that may be removable and removable in memory. The decoder 1040 may be configured to interface with a separate (RF) receiving module. For example, decoder 1040 may be implemented in hardware or circuitry (e. G., One or more) to decode a received signal (e. G., Via a receiving module or unit) A microprocessor, an ASIC, an FPGA, a dedicated logic circuit, or a combination thereof). The UE may be a wireless telephone, a smart phone, a tablet, a personal assistant, or any other mobile device. In various embodiments, source 1010 and channel encoder 1020 may be implemented in a UE and channel decoder 1040, and destination 1050 may be implemented in an access point and vice versa. The channel 1030 may be a channel over wireless or a fixed line, such as a cable or bus. The channel 1030 may be the physical layer of the air interface. The channel 130 may be any other transmission medium. Communication system 1000 may be used to transmit wired or other data as well as to transmit wireless data.
In some embodiments, the decoder 1040 can be configured to decode signals based on the encoded data received over the channel 1030. In one embodiment, decoder 1040 receives a signal based on encoded data generated in encoder 1020 with an information bit encoded in polar code and one or more parity bits from another device, e.g., encoder 1020, . As described above, the decoder 1040 may be configured to receive signals directly (e.g., to an internal receiving unit) or indirectly using a separate receiving unit via an appropriate interface. In this embodiment, the parity bit (s) is located in the selected subchannel based on the weighting parameter and the decoder 1040 decodes the signal using polar codes and parity bits to obtain the information bits.
In one example, the weight parameter includes a minimum weight. In this example, the parity bits may be located in multiple sub-channels with the lowest weight (e.g., d min) or twice the minimum weight (2xd min). In the example where each selected subchannel has a minimum weight, the subchannel is selected from the K most reliable subchannel segments from the N0 ordered subchannels based on the confidence metric. In this example, each of the K subchannels has a confidence metric higher than the confidence metric of the subchannels of the N0-K segment of the ordered subchannel, where K is the information block length and N0 is the mother code length. A parity check function, which can be a decimal function, can be used to determine the value of each parity bit. The weight parameter may include the lowest row weight, such as d min, and the selected subchannel may have the lowest row weight in the K subset, where the row weight of the subchannel may be one And a row corresponds to a subchannel. The subchannels with the lowest row weights may be selected from the K subset in descending order of reliability. The subchannels for the information bits may be selected in the ordered sequence of subchannels by skipping the subchannels selected for the parity bits until the number of subchannels selected for the information bits reaches K .
In another embodiment, decoder 1040 receives a signal based on a bit or bitstream generated in another device (e.g., encoder 1020) having information bits encoded in polar code and one or more parity bits . In this embodiment, the parity bits are mapped to the assigned subchannels based on the row weights for the subchannels in the subset of the set of subchannels, and the information bits are mapped to the set of subchannels based on the reliability of the remaining subchannels Lt; / RTI &gt; Decoder 1040 is also configured to decode the signal using polar codes and parity bits to obtain the information bits.
In one example, the row weight for the subchannel represents the number of ones in the row of the Kronecker matrix corresponding to the subchannel. The row weight may include a minimum row weight. A plurality of subchannels with a row weight equal to a minimum row weight or a minimum row weight of two times in a subset of subchannels are allocated for the parity bits. The number of assigned subchannels may be one, and the subchannels of the set may be ordered based on their reliability to form an ordered sequence of subchannels, and the subset of subchannels may be ordered in the ordered sequence Includes a reliable subset. For example, the most reliable sub-set that may include K sub-channels or K + F P sub-channel for conveying information bits, and, K is an information block length associated with the information bits, F p is the parity bit . In this example, the most reliable subchannel with a row weight equal to the minimum row weight in a subset (e.g., K or K + Fp ) subchannel may be allocated for the parity bit. The parity bit may comprise a parity check (PC) bit and the value for the PC bit may be a function of the value of the information bit.
The polar code is a linear block error correcting code that uses relatively reliable sub-channels for relatively unreliable sub-channels and information bits for frozen bits that may be zero or any other known value. The minimum coding distance can be increased if the parity check can be operated on some less-reliable frozen bits. The frozen bits used in the parity bits are called dynamic frozen bits because their bit values change dynamically with the transmitted data information.
In conventional applications, the decoder uses a successive cancellation (SC) method to identify the best subchannel for transmitting information blocks (information bits). To improve performance, a CRC supported SC list decoding algorithm is used to allow multiple SC decoding paths, followed by a CRC to select the correct path at the end. This method consumes the detection capability of the CRC bits and can not be used for other purposes such as blind detection thereafter. The non-CRC supported list decoder preferably has a predetermined method of performing parity checking based on a source other than the CRC bits. In some polar codes, the parity bits are placed in a portion of the frozen bits (dynamic frozen sets) to provide a parity check ability. However, the performance of polar code operations depends on the selection of the dynamic phosgene set and the parity checking method for them, and it is too much to choose the appropriate set of fragrance (s) (bits or symbols) in a deterministic way it's difficult.
In an embodiment, selecting a dynamic frozen bit set is a function of a minimum coding distance or a function of a minimum reliable weight, such as a polarization weight. Other reliability metrics may also be used. Embodiments provide polar codes based on appropriately selected dynamic frozen bits that exhibit good and reliable block error rate (BLER) performance. The polar code may be a polar code CRC (cyclic redundancy check). In various embodiments, all frozen bits are selected as dynamic frozen bits, and a prime-number-derived check function is applied to both of them.
11 is a flow diagram of an embodiment method 1100 for selecting a frozen bit set for a polar code. The coding method can be implemented in both encoder and decoder. The coding method includes pre-selecting a plurality of candidate frozen sets (or a plurality of candidate frozen bit sets) at step 1110 and selecting a selected set of frozen bits from a plurality of candidate bit sets at step 1150 .
Step 1110 includes aligning the pre-selected subchannels of the frozen bits according to the confidence metric applied to their subchannels. In some embodiments, step 1110 includes aligning all subchannels according to a reliability metric function. In various embodiments, a deterministic function such as a polarization weighting algorithm may be used. Alternatively, the deterministic function may be a polarization distance function. The subchannels of the frozen bits can be arranged in an ascending manner, i. E. From a low polarization weight to a high polarization weight (or vice versa). The aligned channel is divided into a plurality of segments, such as two segments. In the next step, the minimum weight d min is selected or determined in the upper segment (or, in other words, the segment with the most reliable subchannel) (see example below). In one example, the weight of the subchannel may be a row weight, i.e. a number of " 1 " s in a row of a Polar code generator matrix or a Kronecker matrix corresponding to a subchannel, or equivalently, It is a power of 2 with an exponent that is the number of "1's" in the binary representation of the index. In this example, the minimum weight d min may be the minimum row weight. For a minimum weight d min , the number of channels with a minimum weight d min may be n. A predetermined value F is defined. In one embodiment, F may be F = ceil (LOG2 (N * K) / 2). In another embodiment, F may have a different value. In another embodiment, F is d min and / or a 2 * based on the d min dynamic Frozen bit beforehand be selected (e.g., 3) a set or a subset of the total number of sub-channels for a (e. G., 1 ), And the remaining subset (e.g., 2) of the total number of subchannels for the dynamic frozen bits is based on the least reliable subchannel in another metric, e.g., K most reliable subchannels . (Fn) / 2 channels having the weight d min are pre-selected, and (F + n) / 2 channels having the weight 2xd min are pre-selected. When n &gt; = F, F channels of the weight d min are selected in advance. Order the channels in the reverse order. For example, the channels may be ordered in descending order, i.e., with a polarization weight value from high to low, or in a descending order of reliability. In other words, in the K most reliable segments, the weight d min And / or the most reliable subchannel with 2 * d min is preselected. Thus, step 1110 provides a plurality of ordered pre-selected subchannels (a set of candidate bits) and, in some embodiments, can be used for dynamic frozen bits. However, in general, the number of preselected subchannels for dynamic frozen bits may be small or large.
In a practical example, N o is the mother code length, N is the code length after rate matching, and K is the information block length. In one embodiment, N 0 may be defined as N 0 = 2 ^ ceil (log2 (N)). The frozen bit subchannels can be sorted and divided into two segments, i. E., All bit subchannels, including the frozen bit subchannel, can be sorted and divided into two segments, as shown in Table 3. As can be seen, the subchannels are arranged in ascending order, that is, with the K subchannels that are most reliable and the least reliable (No-K) subchannels.
In the next step, at step 1150, a set of frozen bits (or, in other words, a subchannel for the frozen bits) is selected from or based on a plurality of preselected candidate bit sets. The selected frozen bit set may be selected bit by bit according to the ascending polarization weights order. A selected set of subchannels for the frozen bit or the frozen bit may be completed when the number of bits is N 0 -K, and the set of subchannels selected for the frozen bit may include some or all of the pre-selected subchannels , Some or all of the selected subchannels may be used for dynamic frozen bits. In another embodiment, the set of selected subchannels for the frozen bits is separated (i.e., not included) from the pre-selected subchannels, and the set of selected subchannels can be completed when the number of subchannels is N 0 -KF. The remaining (K) subchannels (i.e. those not used for frozen and / or dynamic frozen bits) are all subchannels for the (K) information bits. In some embodiments, some of the selected frozen sub-channels (e.g., a pre-selected candidate frozen bit set or all frozen sub-channels) may be used for dynamic frozen bits.
Selecting the selected frozen bit set includes determining the prime number p. In various embodiments, the unique prime number may be 5, 7, or 11. Finally, to select the frozen bit set, the encoder and decoder can operate the p-length cyclic shift register implemented in the encoder and decoder. The cyclic shift register can shift left when encoding / decoding each bit. Figure 12 shows a cyclic shift register having a length of 5 (p-length) of at least one of an encoder and a decoder. If the bit is an info bit in the register, it is disregarded (XOR), and if the bit is a frozen bit, the bit value of this bit is used and selected. In various embodiments, the bit is set to zero when initialized in a register. In some embodiments, the frozen bit set may be changed from a codeword to a codeword.
In another embodiment, the third step constitutes a parity check function and determines the bit values for the dynamic frozen bits as well as for the information bits and (static) frozen bits. The prime number p is determined. In various embodiments, the unique prime number may be 5, 7, or 11. To configure the parity check function and determine the frozen bit value, the p-length cyclic shift register is an encoder (and decoder). The cyclic shift register may shift to the left when determining the bit value for the input bit vector during encoding or when decoding the bit value. Figure 12 illustrates a cyclic shift register having a cyclic shift register having a length of 5 (p-length) And a shift register. If the bit is an information bit, as determined by the two steps described above, the first bit of the register is XORed and cyclically shifted with the current information bit value. If the bit is a (static) frozen bit, then the bit value is set to a known fixed value (e.g., 0) by the encoder and decoder and then cyclically shifted. If the bit is a dynamic frozen bit, the value of the first bit of the register is assigned as the current dynamic frozen bit value. In various embodiments, the bit is set to zero when initialized in a register. In some embodiments, the frozen bit set may be changed from a codeword to a codeword.
The method 1100 may provide a number of advantages: the encoder may not need to perform on-line computing of the parity function. The encoder does not need to store parity functions. Decoders do not need to search for parity functions and can therefore operate with less complexity.
Figures 13A-13D also illustrate the performance of polar codes for selected frozen bit sets in accordance with an embodiment. 13A shows performance for K = 40 information bits and QPSK modulation, FIG. 13B shows performance for K = 60 information bits and QPSK modulation, FIG. 13C shows performance for K = 80 information bits and QPSK modulation And Fig. 13D shows performance for K = 120 information bits and QPSK modulation. As can be seen from the graph, the polar code of the present disclosure provides better performance and less complexity compared to other graphs representing other codes.
14A and 14B show average received Es / N0 points for a given block error rate (BLER). As shown in the graph shown, a polar code with a set of selected frozen bits (selected according to an embodiment) provides better performance than other polar codes.
15 is a block diagram of a device 1500, such as a wireless device, a transmitting point or a receiving point, e.g., a network component or user equipment. The device 1500 includes a CPU 1502, a mass storage component 1504, a network interface 1506, an encoder / decoder 1508, a memory 1510, a video adapter 1512, and an I / Lt; / RTI &gt;
The device 1500 may utilize only a subset of all the components or components shown, and the level of integration may vary depending on the implementation. Moreover, the device 1500 may include multiple examples of components, such as multiple CPUs 1502 and the like. The device 1500 connects to the network 1520 using the network interface 1506 and to the display 1516 using the video adapter 1512 and uses the I / , A mouse, a touch screen, a keypad, a keyboard, a printer, and the like.
In some embodiments, the CPU 1502 may be any processor that may be a component of a general purpose computer hardware platform. In another embodiment, the CPU 1502 (processor) may be a component of a special purpose hardware platform. For example, the CPU 1502 may be an embedded processor, and the instructions may be provided as firmware. Some embodiments may be implemented using only hardware. In some embodiments, instructions for execution by a processor may be implemented in the form of a software product. The software product may be stored in non-volatile or non-volatile memory, which may be, for example, a compact disk read-only memory (CD-ROM), a universal serial bus (USB) flash disk or a removable hard disk.
The encoder / decoder 1508 may include an encoding component, a decoding component, or both. In some embodiments, encoder / decoder 1508 is embodied in a circuit, such as a processor, configured to encode data or perform selection, mapping, and / or encoding operations as disclosed herein. In a processor-based implementation of encoder / decoder 1508, processor-executable instructions for performing an encoding operation are stored in a non-volatile processor-readable medium. Non-volatile media may include, for example, one or more solid state memory devices and / or memory devices having a storage medium that may be removable and removable, in memory 1510.
The bus may be one or more of several types of bus architectures of any type, including memory bus or memory controller, peripheral bus, video bus, and the like. CPU 1502 may comprise any type of electronic data processor. The memory 1510 may include any type of system memory, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), read-only memory have. In some embodiments, the memory 1510 may be configured to implement and / or control the operation of the encoder / decoder 1508 or other component (s) of the device and / or otherwise execute the functions and / Lt; RTI ID = 0.0 &gt; computer-readable &lt; / RTI &gt; In one embodiment, the memory 1510 may include a ROM for use at boot-up and a DRAM for program and data storage during execution of the program.
The mass storage component 1504 may include any type of storage device configured to store data, programs and other information, and to make data, programs, and other information accessible via the bus. The mass storage component 1504 may include, for example, one or more of a solid state drive, a hard disk drive, a magnetic disk drive, an optical disk drive, and the like.
Video adapter 1512 and I / O interface 1514 provide an interface for connecting external input and output devices to the processing unit. As shown, examples of input and output devices include a display 1516 coupled to a video adapter 1512 and a mouse / keyboard / printer coupled to an I / O interface 1514. Other devices may be coupled to the processing unit and additional or fewer interface cards may be utilized. For example, a serial interface such as a Universal Serial Bus (USB) (not shown) may be used to provide an interface for the printer.
The network interface 1506 may include a wired link such as an Ethernet cable and / or an access node or a wireless link to a different network. The network interface 1506 may include, for example, transmitting and / or receiving encoded data or bits, and the device and / or processing unit may be configured to communicate with the remote unit via the network 1520 . For example, the network interface 1506 may provide wireless communication via one or more transmitter / transmit antennas and one or more receiver / receive antennas. In one embodiment, the processing unit is connected to a local or wide area network for data processing and communication with remote devices such as other processing units, the Internet, remote storage facilities, and the like.
Although not shown, the network interface 1506 may include modulators, amplifiers, antennas and / or other modules or components of the transmit chain and additionally or alternatively, demodulators, amplifiers, antennas and / or other modules or components of the receive chain . Alternatively, the network interface 1506 may be configured to interface with an individual (RF) transmitting and / or receiving module. For example, the encoder / decoder 1508 may be configured to encode (mill / decode) data for transmission over a network interface 1506 by a separate (RF) (E.g., one or more chipsets, a microprocessor, an ASIC, an FPGA, a dedicated logic circuit, or the like) to decode signals received by the receiving unit and through the network interface 1506 to obtain information bits ). &Lt; / RTI &gt;
As described above, when the parity bits are mapped based on row weights associated with the subchannels, the row weights (e.g., wmin , 2 * wmin ) are compared to the row weights of the subchannels, And is reserved for bit (s). Embodiments of the present disclosure compare row weights (e.g., wmin , 2 * wmin ) in parallel with row weights of multiple subchannels. This can reduce the latency associated with the comparison operation, allowing the encoding process to be performed more quickly and efficiently. 16 is a diagram of a technique for identifying subchannels to be reserved for PC bit (s) using parallel comparison operations. In this example, the information bits 1620, the PC bits 1630 and the frozen bits 1640 are mapped to subchannels 1611-1619 that are sorted in subchannel reliability ascending order. Before the information bits 1620 are mapped to any of the subchannels 1611-1619, the row weights of the at least two subchannels 1618, 1619 may be calculated using one or more row weights (e.g., w min , 2 * w min ), and the most reliable subchannel with a row weight that matches one or more of the row weights is reserved for the PC bit 1630. In some embodiments, a subchannel of a particular number f 1 with row weights matching a first row weight (e.g., w min ) is reserved for the PC bits and a second row weight (e.g., 2 * w min ) and a sub-channel of a specified number ( f 2 ) with row weights matching are reserved for the PC bits. Indexes that define a certain number of subchannels reserved for one or more row weight values and for each respective row weight value may be determined based on code rate and / or block length parameters.
FIG. 17 shows an embodiment method 1700 for encoding a sequence of information bits. In step 1710, the encoder determines at least a row weight value to reserve a subchannel for the PC bits. The at least one row weight may be determined based on the code rate and block length of the channel associated with the sequence of information bits to be encoded. In step 1720, the encoder compares the at least one row weight value with the row weights of the two or more subchannels in parallel to determine for the PC bit (s) to determine to reserve one or more subchannels. In one embodiment, the encoder can evaluate the subchannels in a descending order of reliability according to an ordered sequence of subchannels, so that more reliable subchannels are evaluated before the less reliable subchannels. Alternatively, all subchannels of a subset of subchannels to be mapped to information or PC bits (e.g., K + F p subchannels) are evaluated in parallel.
In step 1730, the encoder determines whether sufficient subchannels are reserved for the PC bit (s). By way of example, the encoder can determine whether at least f 1 sub-channels having the same row weight as w min are reserved and / or at least f 2 sub-channels with row weights equal to 2 * w min are reserved have. Otherwise, the method 1700 returns to step 1720 and the encoder evaluates the next two or more subchannels. If the encoder determines that sufficient subchannels for the PC bits are reserved, the method proceeds to step 1740, where the encoder maps the information bits to the remaining reliable subchannels. In step 1750, the encoder maps the frozen bits to the least reliable remaining subchannel. In some embodiments, additional PC bits may be selected from the frozen bit set. In one embodiment, all the frozen subchannels having the same row weight as the at least one row weight used to reserve the subchannels for the PC bits may be selected, and in another implementation, all the frozen subchannels may be selected . In step 1760, the encoder sets the PC bit value for the reserved subchannel based on the PC function of the information bit. Steps 1740, 1750 and 1760 may be performed in any order. In addition, the number of subchannels for the PC bits can be determined in many different ways, and as mentioned above, the number of subchannels reserved for the PC bits can be fixed, for example 3, and / Or some or all of the reserved sub-channels may be based on d min .
18 shows a flow diagram of a method 1800 for performing polar encoding using a look-up table as may be performed by an encoder. In step 1810, the encoder searches the lookup table based on the code rate and the information block length to determine the code parameters. In step 1820, the encoder maps the subchannel to information bits, parity bits, and frozen bits. In step 1830, the encoder sets the parity bit value based on the parity check function of the information bits.
19 shows a flow diagram of a method 1900 for determining a minimum hamming weight value that may be performed by an encoder. In step 1910 the encoder determines the subchannel based on channel reliability in order to obtain the ordered sequence Q that lists the subchannels in ascending order (Q 0 , Q 1 , ... Q N ) . In step 1920, the encoder identifies a subset of the most reliable subchannels. In the examples where the puncturing step is performed after the polar encoding step, a subset of the most reliable subchannels may exclude punctured subchannels.
The number of subchannels in the set of most reliable subchannels may be determined according to the formula min (length (U M ), K + F p ), where U M is the set of remaining subchannels , K is the length of the information block,
, Where M is the length of the mother code and alpha is set to a value greater than one, e.g., alpha = 1.5. In some other embodiments, F p may be a fixed value, e.g., 3. In step 1930, the encoder determines the minimum Hamming weight (umin) of the subchannel in the subset of the most reliable subchannels.
In step 1940, within a subset of the most reliable subchannels, the encoder reserves a first number of subchannels for PC bits with a Hamming weight equal to the minimum Hamming weight (u min ) for the PC bits , A second number of subchannels with a Hamming weight equal to the value obtained by adding 1 to the minimum Hamming weight (1+ u min ) are reserved for the PC bits. The encoder can reserve subchannels in a number of different manners, including for example by scanning an ordered sequence of subchannels in a sequential manner. In other implementations, only one subset of the F p subchannels is reserved based on u min and / or 1 + u min , and the remaining subset of F p subchannels are different metrics, e.g., K + And is reserved based on the least reliable subchannel in the F p most reliable subchannels. If the subchannels are reserved or otherwise assigned to the PC bits, the remaining subchannels are assigned to the information and frozen bits. In step 1950, the encoder maps the information bits to the remaining reliable subchannels, and maps the frozen bits to the least reliable remaining subchannel. In some embodiments, additional PC bits may be selected from the frozen bit set. In one implementation, some or all of the frozen sub-channels having a Hamming weight equal to the Hamming weight of the sub-channel reserved for the PC bits may be selected. In other embodiments, all frozen subchannels may be selected as PC bits. In step 1960, the encoder sets the parity bit value based on the parity check function of the information bits. Depending on the implementation, the order in which the subchannels are allocated may vary. Similarly, it can be seen that the order in which the PC bits, the information bits, or the frozen bits are mapped to the assigned subchannels may also vary.
In some embodiments, an ARCAN encoder may be used to achieve polar code encoding. 20 is a diagram of an embodiment encoder 2000. Fig. The encoder includes a code constructor 2010, an array encoder 2020, and a puncturer 2030. Code constructor 2010 may determine a set of sub-channel types. Each subchannel is mapped to an information bit, a PC bit, or a frozen bit (or vice versa). According to the polarization theory, the reliability (or mutual channel capacity) of each subchannel is different from each other. The subchannel with high reliability is selected to transmit the information bits. The set of locations of these subchannels is named the information set I. Sub-channels with low reliability, including unreliable subchannels caused by rate matching, are set to zero and their location set is denoted by a frozen-set ( F ). Some subchannels are selected to transmit the PC bits, and their position set is denoted PC-Frozen-Set ( PF ). The total number N of subchannels of one polar block may be a power-of-two value and may be referred to as a mother code block length ( N = I + F + PF ). The code constructor 2010 may also determine a set of subchannel values based on the information bit value and the subchannel type. In particular, the subchannel mapped to the information bits may be set based on the value of the information bits, the subchannel mapped to the PC bits may be set based on the parity check function, and the subchannel for the frozen bits may be set to zero Respectively. Ari compartment encoder 2020 is N - by multiplying the sub-Krone channel blocker matrix of size N - it is possible to obtain the bit code words. The arkans encoder 2020 may be represented by the following equation:
, And the rightmost matrix is an NxN generator matrix for the ariscan polar code. The puncturer 2030 may puncture / shorten an N -bit code word to an M -size code length by a puncturing bit set (P). Given a combination of code rate ( R ) and code length ( M ), the encoder and decoder use the same deterministic protocol to generate the Frozen-Set ( F ), PC-Frozen Set ( PF ) and Short / ( P ) can be calculated.
A polar code having a mother code length N can be modeled as a superposed combination of two polar codes of length N / 2. Thus, it is possible to construct an ordered sequence (index sequence) of bit positions so that the ordered sequence for polar codes of length N / 2 is a subset of the ordered sequence for polar codes of length N . The sequence for the polar code of this maximum code length N max
Covers any combination of code rate and code length (power of 2) less than N max in a superposed manner, where N max is a power of two. Rate matching can be performed with low complexity with relatively fine granularity. Alternatively, the generation of the ordered sequences of different lengths may be generated off-line (e.g., before the encoding operation), and the parameters corresponding to each ordered sequence may be stored in a look-up table.
Signal to noise ratio (SNR) Independent reliability estimation computes the reliability of each subchannel and computes the order of the ordered index sequence for polar codes of maximum code length N max
Lt; / RTI &gt; The order of reliability of the subchannels is a weight sequence
, Where n = log2 (N).
In one example, a mother code length of N max = 16, n = log 2 (16) = 4 and i = 3 (
), And W 3 is W 3 = 1 * 2 (0 * (1/4)) + 1 * 2 (1 * (1/4)) + 0 * 2 (2 * (1/4)) + 0 * 2 (3 * (1 / 4)) = 2.1892. The overall weight vector
= [0 1 1.1892 2.1892 1.4142 2.4142 2.6034 3.6034 1.6818 2.6818 2.8710 3.8710 3.0960 4.0960 4.2852 5.2852]. The larger the value, the higher the reliability.
Is obtained, the subchannel can be aligned by the polarization weight,
to be. As a result, the sorted sequence is
Can be computed on-the-fly or loaded directly from memory, and thus need not be computed for all encoding and decoding rate matching operations.
The puncturing pattern consists of a binary index [ N- 1, N -2, ... , 1,0 ], [N-1, N-2, ... , 1, 0], and marking the NM index with the highest bit-reversed value as the puncturing position. Consider, for example, the mother code length of N max = 16. Both encoder and decoder sequences
/ RTI &gt; The sequence of bits [12 (1100), 13 (1101), 14 (1110), 15 (1111)] (= [M, ..., N-3, N-2, N-1] By reversing the length-4 puncture pattern P
= [BitRev (M), ... There are four bits (4 = NM) to be punctured for calculation as BitRev (N-3), BitRev (N-2) and BitRev (N-1).
The PC-frozen-set (PF) can be determined according to the polarization reliability, the row weight and hamming weight of the kroner kernel in relation to the subchannel index, and the shortening / puncturing pattern ( P ). The minimum row weight (w min ) (s) and the size ( f 1 , f 2 ) of each PC-frozen set within a subset of the most reliable subchannels may be determined based on code rate and information block length .
The following is an example of an embodiment 5 step technique for encoding a sequence of information bits.
In the first step, the encoder
The number of candidate PC-frozen sub-channels can be calculated. The total number of pre-flag PC- Frozen bit N - can be less than or equal to the K (N - When the same as K, all bits are PC- Frozen Frozen bits processed). In practice, F p may be upper bounded by ( N - K ) / 2 and α is set to a value greater than one, for example, α = 1.5. In some other embodiments, F p may have a different function of N, M, and K or may be fixed.
In a second step, the encoder can move the punctured / shortened subchannels to the leftmost and then divide the remaining subchannels into two subsets in ascending order of reliability. An example of this is shown in Fig.
In a third step, the encoder (K + F p) of the sub-channel, and in the subset find the smallest row weight, and displays the information as w min, f 1 = (F p + min (F p, n)) / 2, f 2 = ( F p -min ( F p , n )) / 2. (K + F p) - the number of sub-channels having a weight w min in the subset is less than the f 1, f 1 = set to n, and adds the remaining amount of the half of the f 1 to f 2, that is, 2, or f 2 = f 2 + ( f 1 -n ) / 2.
In a fourth step, the encoder can select a candidate PC-frozen sub-channel in the ( K + F p ) - subset. By doing so, the encoder will select the f 1 sub-channel having a row weight of from right to left, w min and f 2 the sub-channel having a row weight of 2x w min from right to left as candidates PC- Frozen subchannels You can choose. In some other embodiments, a subset of F p subchannels may be determined based on the row weight w min , and the remaining subset of F p subchannels may be determined to be the least reliable sub-channel in the ( K + F p ) Channel based on at least one other metric.
In a fifth step, the encoder may determine an information-set, a PC-frozen set and a frozen-set. By doing so, the encoder can select the information sub-channels from the rightmost to the left and skip the candidate PC-frozen sub-channel until K sub-channels are selected. Then, the encoder can select the other sub-channel as a sub channel Frozen, Frozen PC- candidate line of the sub-channel weighting (that is, w min And 2 is selected as an additional sub-channel from PC- Frozen Frozen subchannel location having the same row weight and × w min). In some other embodiments, all frozen sub-channels may be selected as additional PC-frozen sub-channels. If the PC-frozen bit is in front of the first information bit, it can be equal to Frozen bit.
The encoder can perform a parity check function based on the cyclic shift on the register. The length of the register may be a prime number. The encoder uses the p - length cyclic shift register y [0], ... , y [ p -1] can be initialized to 0, and i = 0 to N- 1 . Beginning with the first bit in natural order, the encoder can read the i-th bit, a i , and cyclically shift the register left by bit. If a i , is an information bit, then the bit value does not change and the encoder returns y [0] = ( a i XOR y [0]). If a i is a PC bit, the encoder computes a i = y [0] is set. If a i is a frozen bit, the encoder sets a i = 0.
Figure 22 illustrates a cyclic shift register operation of an embodiment used by a PC (parity-check) -SCL decoder. The PC function can be defined by PC matrix W. The following example assumes that the code block length is M = 16 and the information bit length is K = 8. From this,
The sequence Q given above can be obtained: < RTI ID = 0.0 &gt;
Etc.), F p is calculated to be 6, w min And n are 2 and 3, respectively. Since n is <F p, is selected as the row weight f 1 = 3 of the subchannel and the row weight 2 × f 2 = 3 of subchannel PC- Frozen bit having d min = 4 with w min = 2. By ordering the reliability order in descending order, this PC-Frozen bit
to be. The information and additional frozen bits are mapped based on the channel reliability according to Q. [ The information bit set
, The frozen bit set is
to be. By selecting frozen bits with row weights of 2 and 4, the PC-Frozen bit set
to be. Finally, a prime-length cyclic register with p = 5
Is used to create a parity function for each PC-Frozen bit in the. The cyclic register connects the bits with a constant spacing of 5. Especially,
Is equivalent to a static frozen beat. Additionally,
Lt; RTI ID = 0.0 &gt; PC &lt; / RTI &gt; bits,
Is an information bit. 23 shows a parity check matrix for this example. As shown, W sets u 0 , u 1 , u 2 , u 4 as static frozen bits,
Lt; RTI ID = 0.0 &gt; PC &lt; / RTI &gt; Table 1 lists the notations used throughout this disclosure.
24 illustrates one embodiment method 2400 for encoding a sequence of information bits, as may be performed by an encoder. In step 2410, the encoder
(Where i is the index of the subchannel and B j is the bit value {0 or 1} of the ( j + 1) th digit of the binary representation of subchannel i counting from the least significant digit) And calculates W i In ascending order, and stores the ordered sequence Qi . In step 2420, the encoder computes, for example, P = [BitRev (M), BitRev (M + 1), ... BitRev (N-1)]. Other puncturing / shortening patterns may be possible. In step 2430, the encoder
By calculating the F p, the sub-channels sharing a (weight or a high order of reliability) of three subsets NM, MK-Fp, K + Fp, where, K + Fp subset is the most reliable sub-channel (If puncturing / shortening is considered). The encoder also (K + Fp) - looking for w min in the subset as the smallest row weight, having the same w min to n (K + Fp) - finds a number of subchannel subsets, f1 = (Fp + min (Fp, n)) / 2 and calculates f2 = (Fp-min (Fp, n)) / 2. In step 2440, the encoder reserved subchannels since for the PC bits in K + Fp subset by selecting the f2 sub-channel having the f1 sub-channel with a weight 2 * w min with a weight w min or If not, allocate. In some embodiments, F p may be a fixed value, e.g., 3. In other embodiments, only a subset of the F p sub-channels of the PC bits is selected based on the row weight w min and / or a 2 * w min, F p The remaining subset of the subchannels for the PC bits Is selected based on at least another metric, e.g., the least reliable subchannel in the K + F p subchannel. Once the candidate PC subchannels are allocated, the encoder also allocates K (the most reliable remaining subchannel) in the K + Fp subset (i.e., skips the reserved candidate PC subchannel) To obtain the information set I. The encoder also acquires the frozen set F by mapping the frozen bits to the remaining sub-channels (e.g., NM and / or MK-Fp subsets). In other embodiments, the encoder reserves or allocates additional sub-channels for the PC bits from the frozen set F. [ Additional sub-channels selected from the frozen set F can either have the same row weight and w min and / or a 2 * w min, all the frozen set F can be treated as an additional sub-channel to the PC bit. The reserved subchannel can be mapped to the PC bits to obtain the PC Frozen Set PF . In step 2450, the encoder uses the cyclic shift of the register to set the value of the PC bit based on the parity check function. A register may have a length equal to a prime number. Depending on the implementation, the order in which the subchannels are allocated may vary. Likewise, the order in which PC bits, information bits, or frozen bits are mapped to assigned sub-channels may also vary.
25 shows a block diagram of an embodiment processing system 2500 for performing the encoding method described in this disclosure, which may be installed in a host device. As shown, the processing system 2500 includes a processor 2504, a memory 2506, and interfaces 2510-2514, which may be arranged as shown in Fig. The processor 2504 may be any collection of components or components configured to perform calculations and / or other processing related tasks such as selection, mapping and / or other encoding or decoding operations described herein, (2506) may be a collection of components or components configured to store programming and / or instructions for execution by the processor (2504). In one embodiment, memory 2506 includes non-transitory computer readable media. The interfaces 2510, 2512 and 2514 may be implemented by any one or more of the components 2510, 2512, and 2514 that are coupled to the processing system 2500 to allow transmission of the encoded data or reception of signals based on the encoded data. Or a collection of components. For example, the one or more interfaces 2510, 2512, and 2514 may be adapted to communicate data, control, or management messages from the processor 2504 to the host device and / or an application installed on the remote device. As another example, one or more of the interfaces 2510, 2512, 2514 may be adapted to allow a user or user device (e.g., a personal computer, PC, etc.) to interact / communicate with the processing system 2500 . The processing system 2500 may include additional components not shown in FIG. 25, such as a long-term storage device (e.g., non-volatile memory).
In some embodiments, the processing system 2500 is included in a network device that accesses or otherwise configures a remote communication network. In one example, the processing system 2500 is on a network side device of a wireless or wired telecommunication network, such as a base station, a relay station, a scheduler, a controller, a gateway, a router, an application server or any other device in a telecommunications network. In another embodiment, the processing system 2500 may be a mobile station, a user equipment (UE), a wireless device, a personal computer (PC), a tablet, a wireless communication device Side device that accesses a wireless or wired telecommunications network, such as any other device adapted for access.
In some embodiments, one or more of the interfaces 2510, 2512, 2514 couple the processing system 2500 to a transceiver adapted to transmit and receive signaling over a telecommunication network. 26 shows a block diagram of a transceiver 2600 adapted to transmit and receive signaled or encoded data over a telecommunication network. The transceiver 2600 may be installed in the host device. As shown, the transceiver 2600 includes a network side interface 2602, a coupler 2604, a transmitter 2606, a receiver 2608, a signal processor 2610, and a device side interface 2612. Network side interface 2602 may comprise any set of components or components adapted to transmit or receive signals over a wireless or wired telecommunications network. Coupler 2604 may comprise any set of components or components adapted to facilitate bidirectional communication via network side interface 2602. [ Transmitter 2606 includes a set of any component or component (e.g., an upconverter, power amplifier, etc.) adapted to convert the baseband signal to a modulated carrier signal suitable for transmission over network side interface 2602 can do. The receiver 2608 may be any component or set of components (e.g., a downconverter, a low noise amplifier, etc.) adapted to convert a carrier signal received via the network side interface 2602 into a baseband signal, . &Lt; / RTI &gt; The signal processor 2610 may comprise any set of components or components adapted to convert the baseband signal to a data signal suitable for communication via the device-side interface (s) 2612 or vice versa. The device-side interface (s) 2612 may be any of a variety of devices and / or components that are adapted to communicate data signals between the signal processor 2610 and components within the host device (e.g., processing system 2500, local area network Component or a set of components. The transceiver 2600 can send and receive signaling over any type of communication medium. In some embodiments, the transceiver 2600 transmits and receives signaling over the wireless medium. For example, the transceiver 2600 may be a cellular radio (e.g., long-term evolution (LTE), etc.), a wireless local area network (WLAN) And may be a wireless transceiver adapted to communicate according to a wireless telecommunication protocol, such as a protocol (e. G., Bluetooth, near field communication (NFC) In this embodiment, network side interface 2602 includes one or more antenna / radiating elements. For example, network side interface 2602 may be a single antenna, multiple discrete antennas, or multi-layer communication, e.g., single input multiple output (SIMO), multiple input single output, MISO), multiple input multiple output (MIMO), and the like. In another embodiment, the transceiver 2600 transmits and receives signaling via a wired medium, such as a twisted-pair cable, a coaxial cable, an optical fiber, or the like. A particular processing system and / or transceiver may include only a subset of all the components or components shown, and the level of integration may vary from device to device.
A method for a device that encodes data,
Allocating one or more subchannels for one or more parity bits based on row weights for subchannels in a subset of the set of subchannels;
Mapping the information bits to the remaining subchannels of the set of subchannels based on the reliability of the remaining subchannels without mapping the information bits to one or more subchannels allocated for one or more parity bits;
Encoding an information bit and at least one parity bit using a polar code to obtain an encoded bit stream; And
Transmitting the encoded bitstream
Wherein the row weights for the subchannels represent the number of ones in the row of the Kronecker matrix whose row corresponds to the subchannel.
Wherein the row weight includes at least a minimum row weight.
Wherein assigning one or more subchannels for one or more parity bits based on a row weight for a subchannel in the subset of the set of subchannels comprises:
Allocating a plurality of subchannels for one or more parity bits having a row weight equal to a minimum row weight in a subset of subchannels
Wherein the number of allocated sub-channels is one.
Wherein the subchannels of the set are ordered based on their reliability to form an ordered sequence of subchannels, and wherein the subset of subchannels comprises the most reliable subset in the ordered sequence.
Wherein the most reliable subset of the subchannels comprises K subchannels for carrying information bits.
Most reliable sub-set of the number of the sub-channel is a K + F P sub includes a channel, K is the information block associated with the information bit length, F p, the method indicates the number of one or more parity bits.
Wherein a most reliable subchannel with a row weight equal to a minimum row weight in a subset of subchannels is allocated for one or more parity bits.
Wherein the one or more parity bits comprise one or more parity check (PC) bits.
Wherein the step of encoding the information bit and the one or more parity bits using the polar code to obtain an encoded bitstream comprises:
Determining one or more values for one or more PC bits as a function of a value of information bits; And
Mapping one or more PC bits to at least one subchannel allocated for the PC bits
A device for encoding data in a polar code,
Allocating one or more subchannels for one or more parity bits based on row weights for subchannels in a subset of the set of subchannels,
Map the information bits to the remaining subchannels of the set of subchannels based on the reliability of the remaining subchannels without mapping the information bits to one or more subchannels allocated for one or more parity bits,
Using polar codes to encode information bits and one or more parity bits to obtain an encoded bit stream, and
And transmit the encoded bit stream.
Wherein the row weight for the subchannel represents the number of ones in the row of the kroner matrix whose row corresponds to the subchannel.
In order to allocate one or more subchannels for one or more parity bits based on the row weights for the subchannels in the subset of the set of subchannels,
And allocate, for one or more parity bits, a plurality of subchannels having a row weight equal to a minimum row weight in a subset of the subchannels.
Most reliable sub-set of the number of the sub-channel is a K + F P sub including channels, and K is an information block associated with the information bit length, F p is a device that indicates the number of one or more parity bits.
Wherein a most reliable subchannel having a row weight equal to a minimum row weight in a subset of subchannels is allocated for one or more parity bits.
21. The method according to any one of claims 12 to 20,
In order to obtain an encoded bit stream by encoding information bits and one or more parity bits using polar codes,
Determining one or more values for one or more PC bits as a function of the value of the information bits,
And to map one or more PC bits to at least one or more subchannels allocated for the PC bits.
A decoding method for a device,
Receiving a signal based on an encoded bit stream from another device, wherein the encoded bit stream is generated by encoding with polar codes, information bits and one or more parity bits, wherein the one or more parity bits are generated in a subset of the set of subchannels The information bits are mapped to the remaining subchannels of the set of subchannels based on the reliability of the remaining subchannels; And
Decoding the signal using the polar code and one or more parity bits to obtain an information bit
A device configured to decode with polar codes,
The encoded bit stream is generated by encoding with a polar code, an information bit and one or more parity bits to receive a signal based on a bit stream encoded from another device, wherein the one or more parity bits are encoded in a subset of the sub- Wherein the information bits are mapped to one or more assigned subchannels based on a row weight for a subchannel and the information bits are mapped to the remaining subchannels of the set of subchannels based on the reliability of the remaining subchannels; And
A decoder configured to decode the signal using polar codes and one or more parity bits to obtain information bits,
KR1020197010597A 2016-09-15 2017-09-13 Method and apparatus for encoding data using polar codes KR20190053899A (en)
US201662395312P true 2016-09-15 2016-09-15
US62/395,312 2016-09-15
US201662396618P true 2016-09-19 2016-09-19
US62/396,618 2016-09-19
US201662402862P true 2016-09-30 2016-09-30
US62/402,862 2016-09-30
US201662432416P true 2016-12-09 2016-12-09
US201662432448P true 2016-12-09 2016-12-09
US62/432,416 2016-12-09
US62/432,448 2016-12-09
US201662433127P true 2016-12-12 2016-12-12
US62/433,127 2016-12-12
US15/699,967 US10637607B2 (en) 2016-09-15 2017-09-08 Method and apparatus for encoding data using a polar code
US15/699,967 2017-09-08
PCT/CN2017/101528 WO2018050062A1 (en) 2016-09-15 2017-09-13 Method and apparatus for encoding data using a polar code
KR20190053899A true KR20190053899A (en) 2019-05-20
ID=61560541
KR1020197010597A KR20190053899A (en) 2016-09-15 2017-09-13 Method and apparatus for encoding data using polar codes
KR1020197010149A KR20190052054A (en) 2016-09-15 2017-09-13 Method and apparatus for encoding data using polarity codes
US (4) US10637607B2 (en)
EP (2) EP3510699A4 (en)
JP (2) JP2019530333A (en)
KR (2) KR20190053899A (en)
CN (4) CN110855299A (en)
AU (2) AU2017326022A1 (en)
BR (2) BR112019004937A2 (en)
CA (2) CA3036916A1 (en)
WO (2) WO2018050062A1 (en)
US10469202B2 (en) * 2015-01-08 2019-11-05 Shanghai Jiao Tong University Fec mechanism based on media content
US10637607B2 (en) * 2016-09-15 2020-04-28 Huawei Technologies Co., Ltd. Method and apparatus for encoding data using a polar code
US10484130B2 (en) 2016-09-30 2019-11-19 Huawei Technologies Co., Ltd. Method and device for parallel polar code encoding/decoding
CN107342843A (en) * 2017-01-05 2017-11-10 华为技术有限公司 Speed matching method, code device and communicator
CN108575116B (en) * 2017-01-09 2019-09-24 联发科技股份有限公司 Bit mapping method and its sending device
US10608786B2 (en) * 2017-02-24 2020-03-31 Huawei Technologies Co., Ltd. Apparatus and methods of specifying ordered sequences of coding sub-channels
WO2018208672A1 (en) * 2017-05-08 2018-11-15 Coherent Logix, Inc. Enhanced polarization weighting to enable scalability in polar code bit distribution
CN107425857A (en) 2017-06-19 2017-12-01 华为技术有限公司 One kind polarization code coding/decoding method and device
US10540379B2 (en) * 2017-12-11 2020-01-21 International Business Machines Corporation Searching base encoded text
KR20190114263A (en) * 2018-03-29 2019-10-10 삼성전자주식회사 Apparatus and method for encoding and decoding unsing polar code in wireless communication system
EP3570442A1 (en) * 2018-05-17 2019-11-20 Industrial Technology Research Institute Compact transmission of polar encoded dci with repetition for 5g communication systems
US10644835B1 (en) 2018-10-12 2020-05-05 Samsung Electronics Co., Ltd. System and method for interleaving distributed CRC in polar codes for early termination
KR20200044523A (en) * 2018-10-19 2020-04-29 삼성전자주식회사 Device decodes input data using path metric and decoding method using thereof
KR101102396B1 (en) 2006-02-08 2012-01-05 엘지전자 주식회사 Method of matching codeword size and transmitter therefor in mobile communications system
US8386879B2 (en) 2007-08-23 2013-02-26 Nec Laboratories America, Inc. GLDPC encoding with Reed-Muller component codes for optical communications
US20090271686A1 (en) 2008-04-28 2009-10-29 Qualcomm Incorporated Communication signal decoding with iterative cooperation between turbo and reed-solomon decoding
CN102164025B (en) * 2011-04-15 2013-06-05 北京邮电大学 Coder based on repeated coding and channel polarization and coding/decoding method thereof
CN102122966B (en) * 2011-04-15 2012-11-14 北京邮电大学 Channel-polarization-based encoder for staggered structure duplication code, and encoding and decoding methods thereof
CN103516476B (en) 2012-06-29 2016-12-21 华为技术有限公司 Coded method and equipment
CN103684477B (en) * 2012-09-24 2017-02-01 华为技术有限公司 Generation method and generation device for mixed polar code
CN107659384A (en) 2012-11-16 2018-02-02 华为技术有限公司 The method and apparatus of data processing
KR101951663B1 (en) 2012-12-14 2019-02-25 삼성전자주식회사 Method and apparatus of encoding with CRC code and polar code
WO2014102565A1 (en) 2012-12-29 2014-07-03 Emc Corporation Polar codes for efficient encoding and decoding in redundant disk arrays
US9362956B2 (en) 2013-01-23 2016-06-07 Samsung Electronics Co., Ltd. Method and system for encoding and decoding data using concatenated polar codes
JP6184603B2 (en) 2013-12-24 2017-08-23 華為技術有限公司Ｈｕａｗｅｉ Ｔｅｃｈｎｏｌｏｇｉｅｓ Ｃｏ．，Ｌｔｄ． POLAR code decoding method and decoding apparatus
US9722651B2 (en) * 2015-01-09 2017-08-01 Qualcomm Incorporated Adaptive channel coding using polarization
CN105811998B (en) 2016-03-04 2019-01-18 深圳大学 A kind of polarization code constructing method and polarization code coding/decoding system based on density evolution
US20170338996A1 (en) 2016-05-20 2017-11-23 Qualcomm Incorporated Polar codes and modulation mappings
US10389484B2 (en) 2016-07-29 2019-08-20 Lg Electronics Inc. Method for performing polar coding and apparatus therefor
EP3497836A1 (en) 2016-08-10 2019-06-19 IDAC Holdings, Inc. Priority-based channel coding for control information
WO2018201409A1 (en) 2017-05-04 2018-11-08 Nokia Technologies Oy Coding apparatus for polar codes
2017-09-08 US US15/699,967 patent/US10637607B2/en active Active
2017-09-08 US US15/699,976 patent/US10644829B2/en active Active
2017-09-13 CN CN201780057152.7A patent/CN109716662A/en active Search and Examination
2017-09-13 CN CN201910684762.0A patent/CN110855299A/en active Search and Examination
2017-09-13 JP JP2019514117A patent/JP2019530333A/en active Pending
2017-09-13 CN CN201780057148.0A patent/CN109804566A/en active Search and Examination
2017-09-13 EP EP17850265.4A patent/EP3510699A4/en active Pending
2017-09-13 JP JP2019514216A patent/JP2019533345A/en active Pending
2017-09-13 AU AU2017326022A patent/AU2017326022A1/en active Pending
2017-09-13 BR BR112019004937A patent/BR112019004937A2/en unknown
2017-09-13 WO PCT/CN2017/101528 patent/WO2018050062A1/en unknown
2017-09-13 EP EP17850264.7A patent/EP3510700A4/en active Pending
2017-09-13 KR KR1020197010597A patent/KR20190053899A/en not_active Application Discontinuation
2017-09-13 CN CN201910684004.9A patent/CN110808813A/en active Search and Examination
2017-09-13 AU AU2017326021A patent/AU2017326021A1/en active Pending
2017-09-13 KR KR1020197010149A patent/KR20190052054A/en not_active Application Discontinuation
2017-09-13 WO PCT/CN2017/101531 patent/WO2018050063A1/en unknown
2017-09-13 BR BR112019005074A patent/BR112019005074A2/en unknown
2017-09-13 CA CA3036916A patent/CA3036916A1/en active Pending
2017-09-13 CA CA3036759A patent/CA3036759A1/en active Pending
2018-10-17 US US16/163,253 patent/US10491326B2/en active Active
2019-11-25 US US16/693,865 patent/US20200092035A1/en active Pending
CN110808813A (en) 2020-02-18
AU2017326021A1 (en) 2019-04-11
US10491326B2 (en) 2019-11-26
EP3510700A1 (en) 2019-07-17
WO2018050062A1 (en) 2018-03-22
CN110855299A (en) 2020-02-28
JP2019533345A (en) 2019-11-14
BR112019004937A2 (en) 2019-06-25
US20200092035A1 (en) 2020-03-19
CA3036916A1 (en) 2018-03-22
EP3510699A4 (en) 2019-09-04
KR20190052054A (en) 2019-05-15
US20180076929A1 (en) 2018-03-15
CN109804566A (en) 2019-05-24
US10637607B2 (en) 2020-04-28
US20190089481A1 (en) 2019-03-21
US20190068316A1 (en) 2019-02-28
BR112019005074A2 (en) 2019-07-09
JP2019530333A (en) 2019-10-17
EP3510699A1 (en) 2019-07-17
WO2018050063A1 (en) 2018-03-22
WO2018050062A9 (en) 2018-04-12
CN109716662A (en) 2019-05-03
US20180076922A1 (en) 2018-03-15
US10644829B2 (en) 2020-05-05
CA3036759A1 (en) 2018-03-22
EP3510700A4 (en) 2019-09-04
AU2017326022A1 (en) 2019-04-11
US9467164B2 (en) 2016-10-11 Apparatus and method for supporting polar code designs
US20200014401A1 (en) 2020-01-09 Apparatus and methods for error detection coding
TW201644219A (en) 2016-12-16 Method, apparatus and chipset for constructing HARQ rate-compatible polar codes for wireless channels
JP5583833B2 (en) 2014-09-03 Channel decoding method and apparatus in communication system using low density parity check code
JP5301402B2 (en) 2013-09-25 Rate adapted low density parity check code
US10277249B2 (en) 2019-04-30 Method and apparatus for channel encoding and decoding in a communication system using a low-density parity check code
WO2017128700A1 (en) 2017-08-03 Generation of polar codes with a variable block length utilizing puncturing
JP5801927B2 (en) 2015-10-28 Downlink control information transmission method and codeword generation method therefor
Li et al. 2013 A practical construction method for polar codes in AWGN channels
JP5320584B2 (en) 2013-10-23 Wireless communication device using multi-layer cyclic redundancy check code
KR100744343B1 (en) 2007-07-30 Apparatus for transmitting and receiving coded data by encoder having unequal error probability in mobile communication system and the method therof
US10361811B2 (en) 2019-07-23 Channel coding method of variable length information using block code
CN106685586B (en) 2020-02-14 Method and apparatus for generating low density parity check code for transmission in a channel
CN106899379B (en) 2020-01-17 Method and communication device for processing polarization code
US20130262963A1 (en) 2013-10-03 Method and apparatus for transmitting uplink data in a wireless access system
US10312946B2 (en) 2019-06-04 Soft-output decoding of codewords encoded with polar code
AU2012207771A1 (en) 2013-05-02 Apparatus and method for transmittng and receiving data in communication/broadcasting system
WO2017133580A1 (en) 2017-08-10 Data packet coding processing method and device, base station, and user equipment
TWI272777B (en) 2007-02-01 Method and apparatus for varying lengths of low density parity check codewords
2019-04-12 A201 Request for examination
2019-12-16 E902 Notification of reason for refusal