The disclosure relates to a device and a method for decoding a signal transmitted using polar codes in a communication system or a broadcasting system. For example, the disclosure relates to using at least one future constraint in a device and a method for decoding a transmitted signal using polar codes.
In general, when data is transmitted and received between a transmitter and a receiver in a communication and broadcasting system, a data error may occur due to noise present in a communication channel. As such, there are an error detection code (ECC) scheme and an error correction codes (ECC) scheme as an encoding method designed to allow a receiver to process such an error generated by a communication channel. The error detection code scheme is a technique that allows the receiver to check whether an error is included in its received data, and the error correction code scheme is a technique that allows the receiver to correct the error included in the received data by itself. Here, the error correction coding scheme is also commonly referred to as a channel coding or a forward error correction (FEC).
There are various schemes for error correction coding. Typical error correction codes include a convolutional code, a turbo code, a low-density parity-check code (LDPC code), and a polar code method. In particular, turbo codes, LPDC codes, and polar codes are excellent channel codes that have the performance close to or achieve its theoretical channel capacity as widely used in various communication and broadcasting systems today.
The following reference documents are cited in the disclosure.
[1] E. Arikan, “Channel Polarization: a method for constructing capacity-achieving codes for symmetric binary-input memoryless channels,” IEEE Trans. Information Theory, vol. 55, no. 7, pp. 3051-3073 July 2009.
[2] 3GPP, NR multiplexing and channel coding (Release 15), TSG RAN TS38.212 v15.0.1, February 2017.
[3] A. Balatsoukas-Stimming, M. B. Parizi, and A. Burg, “LLR-based successive cancellation list decoding of polar codes,” IEEE Trans. Sig. Process., vol. 63, no. 19, pp. 5165-5179 June 2015.
Polar codes of the error correction code techniques is a channel code that achieves a point-to-point channel capacity in a simple and effective manner using a phenomenon called channel polarization[1]. When an encoding using a structured generator matrix and a successive cancellation (SC) decoding are used in a process of transmitting a plurality of bits via an independent bit channel, a channel for each bit is transformed into a virtual polarized synthesized channel. In this process, some synthesized channels become good channels close to 1 with a maximum channel capacity, while the remaining synthesized channels become poor channels close to 0 with a minimum channel capacity. The total sum of the channel capacities of the synthesized channels remains the same before and after transformation. Since the channel polarization is maximized as a code length increases, a good channel has a channel capacity of 1 and a poor channel has a channel capacity of 0. Accordingly, a transmitter may theoretically achieve a channel capacity for a given channel easily and effectively, by transmitting an information bit to be transmitted to the good channel and allocating a frozen bit to the bad channel.
The SC decoding scheme for the polar code may be easily modified and extended to a near-ML or ML-like decoding scheme such as e.g., SC-list (SCL) decoding, SC-stack (SCS) decoding, SC-flip (SCF) decoding, or the like. Such an improved decoding algorithm may achieve better error correction performance. For this reason, 3GPP NR of a 5G communication standard, uses a polar code upon transmitting a short-length of control information[2].
The above information is presented as background information simply to assist with an understanding of the disclosure. No determination has been made, and no assertion is made, as to whether any of the above might be applicable as prior art with regard to the disclosure.
According to example embodiment of the disclosure, a method performed by a device in a communication system or a broadcasting system may include: receiving a signal including bits encoded based on polar codes; identifying a polar code configuration for at least one information bit and at least one frozen bit of the signal; decoding the signal based on the configuration of the polar codes, wherein the decoding of an information bit of the at least one information bit may be performed based on at least one value of at least one constraint bit, and the at least one constraint bit may include at least one of a parity bit or a frozen bit corresponding to a sequence subsequent to the information bit.
According to an example embodiment of the disclosure, an apparatus in a communication system or a broadcasting system may include: a memory, at least one transceiver, and at least one processor, comprising processing circuitry. At least one processor, individually and/or collectively, may be configured to cause the apparatus to: receive a signal including bits encoded based on polar; identify a polar code configuration for at least one information bit and at least one frozen bit of the signal; perform decoding of the signal, based on the polar code configuration, wherein decoding of an information bit of the at least one information bit may be performed based on at least one value of at least one constraint bit, and the at least one constraint bit may include at least one of a parity bit or a frozen bit corresponding to a sequence subsequent to the information bit.
The above and other aspects, features and advantages of certain embodiments of the present disclosures will be more apparent from the following detailed description, taken in conjunction with the accompanying drawings, in which:
Hereinafter, various example embodiments of the disclosure will be described in greater detail with reference to the accompanying drawings.
In describing the various embodiments, description of technical contents that are well known in the technical field to which the disclosure pertains and are not directly related to the disclosure may be omitted. This is to convey the subject matter of the disclosure more clearly without obscuring the same by omitting unnecessary description.
For the same or similar reasons, some elements in the accompanying drawings may be emphasized, omitted, or schematically illustrated. Further, the size of each component may not entirely reflect the actual size. In the drawings, the same or like components are denoted by the same reference numerals.
Advantages and features of the disclosure and methods of achieving the same will become apparent, referring to the various embodiments described below in detail with reference to the accompanying drawings. However, the disclosure is not limited to the various embodiments disclosed below, but may be implemented in various different forms. Throughout the disclosure, the same reference numerals refer to the same components.
In this context, it will be understood that operations of each block of the flowcharts and combinations of the blocks in the flowcharts may be performed by computer program instructions. Since those computer program instructions may be mounted on a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing equipment, the computer may also generate a means by which the instructions executed via the processor of the other programmable data processing equipment perform the functions described in block(s) of the flowcharts. These computer program instructions may be stored in a computer-usable or computer-readable memory that may be directed to a computer or other programmable data processing equipment to implement a function in a specific manner, and thus the instructions stored in the computer-usable or computer-readable memory may also produce a manufacturing item including therein instruction means that perform the function described in the flowchart block(s). The computer program instructions may be mounted onto a computer or any other programmable data processing equipment, and therefore, the instructions causing the computer or other programmable data processing equipment to perform a series of steps of operation thereon to create a process executable by the computer may also provide steps for performing the functions described in the flowchart block(s).
Further, each block may represent a module, a segment, or a portion of a code including one or more executable instructions for executing a specified logical function(s). It should also be noted that in various alternative execution examples, the functions mentioned in the blocks may occur out of the sequence. For example, two blocks shown one after another may actually be performed substantially simultaneously, or the blocks may sometimes be performed in reverse order depending on their corresponding functions.
In this context, the term ‘˜ unit (or part)’ used in embodiments of the disclosure may refer, for example, to software or a hardware component such as e.g., FPGA or ASIC, to perform a certain function. However, the ‘˜ unit’ does not imply that it is limited only to such software or hardware. The ‘˜ unit’ may be configured to reside in an addressable storage medium or may be configured to reproduce one or more processors. Thus, as an example, the ‘˜ unit’ may include components such as e.g., software components, object-oriented software components, class components, and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, micro-codes, circuits, data, databases, data structures, tables, arrays, variables and so on. Functions provided within those components and the ‘˜ unit’ may be combined into a smaller number of components and ‘˜ units (or parts)’ or may be further separated into additional components and ‘˜ units (or parts)’. In addition, the components and ‘˜units (or parts)’ may be implemented to reproduce one or more CPUs in a device or a secure multimedia card.
In the following description, terms referring to signals (e.g., signals, information, messages, signaling), terms referring to resources, terms for operation states (e.g., steps, operations, procedures), terms referring to data (e.g., packets, user streams, information, bits, symbols, codewords), terms referring to channels, terms referring to network entities, terms referring to components of a device or apparatus, and the like are illustrated for convenience of description. Therefore, the disclosure is not limited to the terms to be described below, and other terms having equivalent technical meanings may be used.
Throughout the disclosure, an expression such as e.g., ‘more than’ or ‘less than’ may be used to determine whether a specific condition is satisfied or fulfilled or not, but it is merely of a description for expressing an example and is not intended to exclude the meaning of ‘more than or equal to’ or ‘less than or equal to’. A condition described as ‘more than or equal to’ may be replaced with ‘more than’, a condition described as ‘less than or equal to’ may be replaced with ‘less than’, and a condition described as ‘more than or equal to and less than’ may be replaced with ‘more than and less than or equal to’, respectively. Further, hereinafter, ‘A’ to ‘B’ may refer to at least one of the elements from A (including A) to B (including B). Hereinafter, ‘C’ and/or ‘D’ may refer to including at least one of ‘C’ or ‘D’, that is, {‘C’, ‘D’, or ‘C’ and ‘D’}.
In the disclosure, while various embodiments of the disclosure are described using the terms used in some communication standards (e.g., 3rd Generation Partnership Project (3GPP)), they are only of examples for description. Various embodiments of the disclosure may be casily modified and applied to other communication systems.
In the disclosure, a communication and broadcasting system is considered using polar codes. A basic decoding scheme of polar codes is a successive-cancellation (SC), characterized in that an encoding input bit sequence is sequentially decoded by one bit based on values of previously estimated bits. SC decoding is, in use, modified and extended to an improved algorithm such as e.g., SC-list (SCL) decoding, SC-stack (SCS) decoding, and SC-flip (SCF) decoding, and these algorithms are also fundamentally based on a successive cancellation scheme of sequentially decoding bits.
The disclosure is related to a method and a device for improving its characteristics and performance by addressing a portion that has not yet been considered in a conventional SC-based successive decoding for polar codes, using a realistic method. The SC decoding proposed in the article “E. Arikan, “Channel Polarization: a method for constructing capacity-achieving codes for symmetric binary-input memoryless channels”, IEEE Trans. Information Theory, vol. 55, no. 7, pp. 3051-3073 July 2009 [1]” is established assuming that in a step of decoding a specific bit, bits to be subsequently decoded may have a value of 0 or a value of 1 without being constrained. However, in case of configuring polar codes, constrained bits such as at least one frozen bit (or a fixed bit), a parity bit or the like may exist among the bits to be decoded. Therefore, in the decoding step of the specific bit, at least one constrained bit may be included among the bits to be subsequently decoded. The SC decoding is not strictly an optimal decoding method because it does not take into account such constrained bits that may exist later upon construction of the code, as described above. Such an issue having been discovered, the disclosure provides methods and embodiments for improving the SC decoding method and device in consideration of the constraints that exist afterwards in decoding of a specific bit, in short, the future constraints, using a realistic way.
A device and a method according to various embodiments of the disclosure may improve error correction performance by performing decoding based on at least one future constraint.
The effects that can be obtained from the disclosure are not limited to those mentioned above, and other effects not mentioned herein may be clearly understood by those having ordinary knowledge in the technical field to which the disclosure belongs from the following description.
Referring to
A base station is a network infrastructure that provides wireless access to a terminal. The base station has a coverage defined based on a range capable of transmitting a signal. In addition to the term ‘base station’, the base station may be referred to ‘massive multiple input multiple output (MIMO) unit (MMU)’, ‘access point (AP)’, ‘cNodeB (CNB)’, ‘5th generation node (5G) node’, ‘5G nodeB (NB)’, ‘wireless point’, ‘transmission/reception point (TRP)’, ‘access unit’, ‘distributed unit (DU)’, ‘transmission/reception point (TRP)’, ‘radio unit (RU)’, ‘remote radio head (RRH), or other terms having a technical meaning equivalent thereto. The base station may transmit a downlink signal or receive an uplink signal.
A terminal is a device used by a user to communicate with the base station through a wireless channel. In some cases, the terminal may be operated without any user involvement. That is, the terminal is a device that performs machine type communication (MTC) and may not be carried by a user. In addition to the term ‘terminal’, the terminal may be referred to as ‘user equipment (UE)’, ‘mobile station’, ‘subscriber station’, ‘customer premises equipment (CPE)’, ‘remote terminal’, ‘wireless terminal’, ‘electronic device’, ‘vehicle terminal’, ‘user device’ or any other term having a technical meaning equivalent thereto.
Although not shown in
A transmitting-end 110 and a receiving-end 120 may be implemented in a various way according to a link established between communication nodes. According to an embodiment, the transmitting-end 110 may be a base station, and the receiving-end 120 may be a terminal. Further, according to an embodiment, the receiving-end 120 may be a base station, and the transmitting-end 110 may be a terminal. Further, according to an embodiment, both the transmitting-end and the receiving-end may be terminals. Hereinafter, the disclosure describes a subject transmitting a signal as a transmitting-end and a subject receiving a signal as a receiving-end, but it is merely of a functional expression for describing a signal processing process, and the disclosure is not interpreted as limiting to a specific embodiment.
In various embodiments, the transmitting-end 110 may encode information bits based on polar codes to generate a codeword, and the receiving-end 120 may decode a signal of the received codeword based on the polar codes. A sub-channel allocation for input bits may be performed. Each input bit may be interpreted as passing through a sub-channel (or a split channel), which is a virtual channel of different quality, by channel polarization. At this time, each sub-channel is also referred to as a synthetic channel. After the sub-channel allocation, the transmitting-end 110 may perform encoding based on the polar codes using a generation matrix. The receiving-end 120 may perform decoding based on polar codes through successive decoding (SC).
In various embodiments, the transmitting-end 110 may generate a codeword by encoding information bits based on the LDPC code. The receiving-end 120 may decode a signal of the received codeword based on the LDPC code. For example, the receiving-end 120 may use an LDPC decoding scheme according to the present disclosure, and may perform a syndrome check to determine whether a result of the decoding is normal. The transmitting-end 110 may perform LDPC encoding using a parity check matrix. The receiving-end 120 may perform LDPC decoding using the parity check matrix. For example, the parity check matrix may include a parity check matrix defined in the 3GPP NR standard.
Referring to
The communication unit 210 may include various communication circuitry and perform functions for transmitting and receiving signals over a wireless channel. For example, the communication unit 210 may perform a conversion function between a baseband signal and a bit string according to a physical layer specification of a system. For example, during data transmission, the communication unit 210 may generate complex symbols by encoding and modulating a transmission bit string. Further, during data reception, the communication unit 210 may restore the received bit string by demodulating and decoding the baseband signal. Further, the communication circuit 210 may up-convert the baseband signal into a radio frequency (RF) band signal to transmit the RF band signal through an antenna, and down-convert an RF band signal received through the antenna into a baseband signal.
To this end, the communication circuit 210 may include a transmission filter, a reception filter, an amplifier, a mixer, an oscillator, a digital-to-analog converter (DAC), an analog-to-digital converter (ADC), or the like. Further, the communication unit 210 may include a plurality of transmission/reception paths. Furthermore, the communication unit 210 may include at least one antenna array including a plurality of antenna elements. In terms of hardware, the communication circuit 210 may include a digital unit and an analog unit, and the analog unit may include a plurality of sub-units depending upon operating power, operating frequency, and the like. In addition, the communication unit 210 may include a decoding unit adapted to perform decoding according to various embodiments of the disclosure.
The communication unit 210 may be configured to transmit and receive signals as described above. Accordingly, the communication unit 210 may be referred to as ‘transmitter’, ‘receiver’, or ‘transceiver’. Further, in the following description, transmission and reception performed through a wireless channel are used to refer, for example, to the above-described processing being performed by the communication circuit 210. Further, when the device of
The storage unit 220 may include a memory and store data such as a basic program, an application program, setting information and the like for operating the receiving-end 120. The storage unit 220 may include a volatile memory, a non-volatile memory, or a combination of the volatile memory and the non-volatile memory. Further, the storage unit 220 may provide the stored data according to a request of the controller 230.
The controller 230 may include various circuitry and control the overall operations of the device. For example, the controller 230 may transmit and receive signals through the communication unit 210. Further, the controller 230 may write or read data to/from the storage unit 220. To this end, the controller 230 may include at least one processor or a micro-processor, or may be a part of that processor. According to various embodiments, the controller 230 may control the device to perform operations according to various embodiments described below. At least one processor may include various processing circuitry and/or multiple processors. For example, as used herein, including the claims, the term “processor” may include various processing circuitry, including at least one processor, wherein one or more of at least one processor, individually and/or collectively in a distributed manner, may be configured to perform various functions described herein. As used herein, when “a processor”, “at least one processor”, and “one or more processors” are described as being configured to perform numerous functions, these terms cover situations, for example and without limitation, in which one processor performs some of recited functions and another processor(s) performs other of recited functions, and also situations in which a single processor may perform all recited functions. Additionally, the at least one processor may include a combination of processors performing various of the recited/disclosed functions, e.g., in a distributed manner. At least one processor may execute program instructions to achieve or perform various functions.
In the disclosure, while various embodiments will be described using the terms used in some communication and broadcasting standards (e.g., 3rd Generation Partnership Project, 3GPP), it is only of an example for description, and various embodiments of the disclosure may be casily modified and applied to other communication systems.
Further, in the detailed description of the disclosure, commonly used mathematical symbols may be utilized. Such mathematical symbols may be clearly understood by those skilled in the art to which the disclosure pertains. Typically, the following mathematical symbols are used in the disclosure.
The polar code may refer to the first error correction code, proposed by E. Arikan, that has proved to achieve a channel capacity which is the limit of data transmission performance in binary discrete memoryless channels (B-DMCs), while it has a low level of coding/complexity performance capable of easy implementation[1]. Decoding schemes based on the polar code and the successive cancellation (SC) typically enable excellent error correction performance to be achieved when transmitting a short length of code compared to other channel codes. Because of this advantage, 3GPP New Radio (NR), which is a 5G mobile communication standard, uses the polar code to transmit control information having a short length.
The operating principle of the polar code is basically based on channel polarization. Hereinafter, the channel polarization is introduced based on the contents described in the literature [1]. For an input alphabet (a set of values that an input may have) and an output alphabet
(a set of values that an output may have), a B-DMC channel (W:
→
) is a function of transitioning of a channel input x∈
to a channel output y∈
. Here, the input alphabet
is the same as the binary field
. For the given channel input x∈
and channel output y∈
, W(y|x) is a transition probability to receive y when transmitting x. At this time, it is considered that the transmitter has transmitted a bit vector x=(x0, x1, . . . , xN−1)∈
of a length N, through independent and identical distribution (i.i.d.) B-DMC WN and the receiver then has received y=(y0, y1, . . . , yN−1)∈
. Here, the length N is a square number of 2, and N=2n for an arbitrary natural number n. In other words, it is n=log2N. In this case, a vector B-DMC of the length N may be defined as WN:
→
, and since each channel is independent, the transition probability of the vector B-DMC of the length N becomes WN(y|x)=Πi=0N−1W(yi|xi).
The bit vector x transmitted in the communication system and the broadcasting system considered in the disclosure is a codeword vector encoded with the polar codes. An encoding input bit vector (encoder input bit vector) is u=(u0, u1, . . . , uN−1)∈ and the transmitter generates an encoding output bit vector (encoder output bit vector) x=(x0, x1, . . . , xN−1)∈
obtained by encoding the same. The encoding output bit vector is also referred to as a codeword vector, and throughout the disclosure these two names will be used with the same meaning depending upon the context. Here, the encoding input bit vector u may include at least one parity bit as a result of encoding by outer encoding. The parity bit of the polar code is characterized by being causally generated, and more specifically, the parity bit ui is determined by a linear combination of bits {u0, u1, . . . , ui−1} having a smaller index. Further, the encoding input bit vector u may include at least one frozen bit (or a fixed bit) to perform a targeted code expurgation. A value of the frozen bit is determined in advance (e.g., not obtained by encoding and decoding process and its results), and it is usually zero.
The encoding process of the polar code is a process of generating a codeword vector x of the same length N by multiplying the encoding input bit vector u by a generator matrix G∈. For example, the codeword vector x is generated by Equation 1 below.
The generation matrix G is defined as in Equation 2 in the reference [1] where the first polar code was proposed.
In the Equation 2 above, F is called a polarization kernel, and it is
The superscript ⊗n operation in the Equation 2 denotes n times of Kronecker power. The Kronecker power may be calculated in a repetitive manner, such as, e.g.,
And BN is an N×N size of bit-reversal permutation matrix. For example, when a vector (a0, a1, a2, a3, a4, a5, a6, a7) of a length of 8 is multiplied by B8, a vector (a0, a4, a2, a6, a1, a5, a3, a7) is generated in which indexes are bit-reversal permutated. Recently, in various related systems, including the 3GPP NR system, the generation matrix of the following equation 3 except for BN is considered.
Unless otherwise stated below, it is assumed a generation matrix G=F⊗n defined in the equation 3 above. However, the following contents and the detailed description of the disclosure may be equally applied to a system taking into account the generation matrix G=BNF⊗n defined in the equation 2 by performing a simple additional operation (e.g., applying a bit-reversal permutation corresponding to one of an encoding input bit vector or an encoding output bit vector). Whether or not such a bit-reversal permutation is included in the generation matrix does not affect operations, characteristics, and effects according to embodiments of the disclosure.
The encoding output bit sequence x generated by the encoding is transmitted through a channel, and the receiver obtains y=(y0, y1, . . . , yN−1)∈. Here, unlike the alphabet
, the alphabet
does not necessarily have to be a binary field
. In addition to transmission to a channel, various operations such as e.g., rate matching and rate dematching, interleaving and deinterleaving, modulation and demodulation or the like may be performed in the transition from a codeword bit sequence x to a receiving vector y. For a simple representation, in general, in consideration of all of these operations, an end-to-end vector channel WN from x to y is considered.
The decoder of the receiving device is configured to accurately estimate an information bit vector u from the receiving vector y. The method and device for decoding the polar code may use the receiving vector y as it is, or may use by converting the receiving vector into a corresponding log likelihood ratio (LLR) vector A. The vector channel from u to y may be expressed as WN: →
by combining a series of processes of encoding and channel transmission. The channel WN may be expressed as a vector channel obtained through channel combining.
An SC decoder of the polar code obtains an estimated value û=(û0, û1, û2, . . . , ûN−1) by sequentially decoding the encoding input bit vector u=(u0, u1, . . . , uN−1) one by one in ascending order of the index. That is, the SC decoder sequentially performs decoding on bits in order of u0, u1, u2, . . . , uN−1. The bits already decoded and estimated may be removed from the receiving vector y or a decoding target corresponding thereto and then used to facilitate decoding of the next bit. Due to such a feature, the corresponding decoding operation may be referred to as a successive cancellation (SC).
The vector channel WN is channel split into binary-input channels for each bit of u by the SC decoding operation. The channel-split binary-input channel may be referred to as a sub-channel, a split channel, a polarized channel, or the like. Hereinafter, in the disclosure, an expression ‘sub-channel is used. In the SC decoding, decoding of the i-th bit ui is performed based on an observation result y of a given channel and the previously estimated û0i−1=(û0, û1, . . . , ûi−1). Under the premise that the previously estimated bits are correct (e.g., û0i−1=u0i−1), the sub-channel for ui is written as WN(i):→
×
, and it is defined as the following equation 4 below in [1].
Through the above-described channel combining and separation process, a sub-channel WN(i) for ui is polarized. That is, some of the set {WN(i):i=0, 1, . . . , N−1} of the sub-channel may become a good binary-input sub-channel with a channel capacity close to 1, while the others becomes a bad binary-input sub-channel with a channel capacity close to 0. The channel capacity of the sub-channel ui is determined by the index i, and the channel capacity of the sub-channel for each bit is deterministic in designing the polar code. Therefore, the most important operating principle of the polar code system is that information bit is allocated to the index having a high channel capacity in u, and the value is fixed without allocating the information bit to other remaining indexes. The bit to which no information is allocated is referred to as a frozen bit (or a fixed bit), and its value is usually fixed to zero.
The encoding input vector u for the polar code may include a frozen bit (or a fixed bit), a parity bit, and an information bit. The bits may be referred to as various other names, and this parity bit may be typically referred to as a dynamic frozen bit. Bits other than fixed bits are also called unfrozen bits. The information bit is a bit in which information capable of having a bit value of 0 or a bit value of 1 is carried, and the information bit may be assigned to a sub-channel having a high channel capacity in the polar code. The fixed bit is a bit to which a value is fixed and may be allocated to a sub-channel having a low channel capacity. A value of the fixed bit is usually determined to be zero, but it is not necessarily limited thereto (e.g., the value of the fixed bit may be determined to be 1). This fixed bit is a bit used for channel polarization, and may be interpreted as improving the channel capacity of another sub-channel instead of giving up the amount of information by fixing the bits. The parity bit in the polar code is the same as the fixed bit in that no information is carried, but the value is not fixed to a specific value and is causally generated based on its preceding bits (e.g., bits with a small index). The causally generated parity bit is used to improve error correction performance or error detection performance, using or checking a result of decoding of the previously decoded and estimated information bits in an SC-based decoding method and device to be described later. According to an embodiment, the parity bit may be a cyclic redundancy check (CRC) bit. Further, according to an embodiment, the parity bit may further include a parity check (PC) bit as defined in 3GPP systems.
Consider an example in which 3-bit information bits d0, d1, d2 are encoded, given using the polar code having a length of 8. In the encoding input bit vector u=(u0, u1, u2, u3, u4, u5, u6, u7), each of the information bits may be assigned to u3, u5, u7 and encoded. The corresponding encoding input bit u3, u5, u7 may be determined by processing d0, d1, d2 by an arbitrary permutation, and in this embodiment, it is assumed that the encoding input bits are mapped in an index order such as e.g., u3=d0, u5=d1, u7=d2. The parity bit is 1 bit, and the parity bit may be assigned to u6. The parity bit may be generated by linearly combining bits having an index smaller than an index (e.g., 6) of the parity bit. In this embodiment, it may be determined as u6=u3⊕u5=d0⊕d1. Here, the symbol ⊕ represents a modulo-2 sum. The remaining bits u0, u1, u2, u4 except for the information bit and the parity bit are fixed bits, and the value may be fixed to zero. Determining which one of the information bit, the parity bit, and the fixed bit is to be applied for each bit of u, as described above, may be referred to as sub-channel allocation, rate profiling, or the like. As a result of the above-described sub-channel allocation, the encoding input bit vector may be determined as
When representing a code configuration of the polar code, it may be used as a set symbol ,
,
of a bit index. The symbol
is used as an index set of encoding input bits to which the information bits are assigned, and it may become
={3, 5, 7} in the above example. The symbol
is used as an index set of encoding input bits to which the parity bits are assigned, and it may become
={6} in the above example. The symbol
is used as an index set of encoding input bits to which the fixed bits are assigned, and it may become
={0, 1, 2, 4} in the above example.
The equation 4 for channel polarization is too complicated to calculate as it is, so it may be practically impossible to operate. The number of additions required to decode one i-th bit ui may become approximately the size of a set . For example, if N is 64 and i is 5, then the size |
| of the set
becomes 260≈1.15×1018. It is not of a level that can be normally processed no matter how good hardware and excellent algorithms are used.
For a realistic SC decoding, the reference [1] shows that the transition probability defined in the equation 4 or an LLR corresponding thereto may be calculated using a simple recursion operation. This recursive operation is possible because the generation matrix G used for encoding of the polar code, as in the equation 2 and the equation 3 above, is configured repeatedly and regularly from a small matrix F. A conventional SC-based decoding method and device does not calculate a transition probability WN(i)(y, u0i−1|ui) or a value corresponding to the transition probability as the operation described in the equation 4. The conventional SC-based decoding method and device calculate it using a simple recursion operation based on a structure of the generation matrix. In this case, the amount of operations (the number of additions and operations corresponding thereto) required to perform the SC decoding is O(N log N), which is suitable for implementation.
An operation of SC decoding for a conventional polar code will be described below. In this conventional embodiment, the SC decoding using an LLR is considered. However, the contents of embodiments of the disclosure are not limited to an LLR-based polar code decoding method and device, and may be applied to any type of SC-based decoding method and device.
First, an input LLR sequence A=(λ0, λ1, . . . , λN−1) of length N is given for decoding the polar code. The SC-based decoding method and device are characterized in that each bit of an encoding input bit vector u is sequentially decoded by one bit according to an index order. Decoding is performed on each bit in ascending order of indexes of the encoder input bit sequence, that is, in order of u0, u1, . . . , uN−1. Specifically, the SC-based decoding method and device operate as follows.
The decoding bit index i is initially set to zero.
If ui is an information bit, a calculation is made of an LLR which is a probability-based metric for 0 and 1 of ui, based on an input LLR sequence and estimated values û0, û1, . . . , ûi−1 of the previously decoded bits. Based on these values, an estimation ûi of ui is determined.
If ui is a fixed bit or a parity bit other than an information bit, the estimation ûi of ui may be determined by the corresponding scheme.
For decoding of the next bits, the estimation ûi is reflected in the decoder based on the successive cancellation (SC).
The process {circle around (2)} is performed by incrementing the decoding bit index i by 1. If the decoding bit index i becomes N, the decoding is terminated.
The encoding process and the decoding process of the polar codes may be understood and implemented based on belief-propagation on a bipartite graph corresponding to the generation matrix of
Referring to
In the bipartite graph of the polar code, a connection between the variable node and the check node is determined by the generation matrix G configuration. As shown in the equation 2 and the equation 3, the generation matrix G is generated with the Kronecker power of the polarization kernel F, and thus the entire bipartite graph 310 has a form in which the graph of the polarization kernel 320 are repeatedly and regularly connected. Describing more specifically, the polarization kernel 320 describes a relationship of linear transformation
for the input size of 2 and the output size of 2, and it represents a Z-shaped form. Since the generation matrix G is made with a successive Kronecker power of F, the polarization kernel 320 of the entire binary graph 310 is configured of a regular arrangement of a Z-shaped graph, as illustrated in
The graph of the polar code of a length N configured as described above includes n+1 stages. When a symbol t is used as a stage index of the graph, the stage index for the leftmost variable nodes of the graph is indicated as t=0 and the stage index for the rightmost variable nodes of the graph is indicated as t=n. Among them, the N variable nodes 340 in the leftmost step (t=0) correspond to the encoding input bit vector u, and the variable nodes 350 in the rightmost step (t=n) correspond to the encoding output bit vector x.
The encoding process of the polar code by multiplication of the generation matrix G shown in the equation 1 may be understood on the graph of
The SC-based decoding of the polar code may also be understood as a belief-propagation operation on the graph of
The detailed LLR calculation process on the polar code graph may be as follows. As described above, in the entire bipartite graph, a Z-shaped polarization kernel 320 of the polarization kernel is configured as a basic element, and calculation of all log-likelihood ratio (LR) values is carried out on such a basic clement.
Referring to
Let us write the LLR values corresponding to bits a0, a1, b0, b1 as λa
The equation 6 represents a method of accurately calculating an LLR value according to a relationship between bits, which may be obtained being approximated by a function f′ as in the following equation for simpler calculation and implementation.
In the above equation, the function sgn(⋅) indicates a function that returns a sign of an input value, and it may output ‘1’ when the input value is greater than 0 and ‘−1’ when the input value is less than 0.
When the estimation â0 of the bit a0 is obtained or available as the decoding progresses, λa
As described above, in the SC-based decoding method and device, bits are sequentially decoded and estimated according to the bit indices. Therefore, decoding and estimation for a1 are necessarily performed after checking or estimating the value of a0.
The calculation process of the LLR described with reference to
In the case of a floating-point operation, if the LLR value is 0, a bit value is determined by a predetermined rule. A method of the predetermined rule may be a random decision.
The bits estimated as a result of decoding may be transferred from the left to the right of the graph to the variable nodes in the range available in the current decoding step, and may be used for an LLR calculation of other variable nodes as in the equation 8. This process may be understood as a successive cancellation operation to reflect and cancel a result of decoding so far from the receiving vector or LLR to be decoded, so as to facilitate decoding of the next bit. This successive cancellation process may also be understood in a Z-shaped basic element such as the function g (420) and the SC (430) of
Referring to
The SC-based decoding method and device decode bits of u in ascending order of an index. First, u0 is immediately determined as a fixed bit, and the estimation û0 as 0. Therefore, as shown in
The above process is related to an SC decoding method and device, which process may be used through some modifications in various variations such e.g., as SCL decoding, SCS decoding, and SCF decoding.
Various embodiments of the disclosure will now be described to identify and address limitations of conventional SC-based decoding methods and devices.
The transition probability calculated by the conventional SC-based decoding methods and devices is consequently based on the equation 4. In other words, when operations used in repetitive operations of the SC-based decoding method and device are not approximated, its finally calculated value is substantially the same as the value calculated by the equation 4. In the case of an LLR-based decoding method and device, if an AP-LLR calculated for an encoding input bit ui is written as λ(i) as in the equation 9, this value is the same as the following equation based on the equation 4.
Here, the definition indicating that a positive number of the LLR value stands for bit 0 and a negative number thereof stands for bit 1. Even if this definition is the opposite, it may be understood and implemented by changing the codes of LLRs generated and calculated by the decoding method and device.
Referring to the right-hand side of the equation 4, which is the basis of the conventional SC-based decoding method and device, the transition probability of the sub-channel on ui is a result of marginalization for all values (e.g., ) capable of having all subsequent bits ui+1N−1=(ui+1, ui+2, . . . , uN−1). However, in the configuration of the polar code, a value-constrained bit such as a fixed bit or a parity bit may exist in ui+1N−1. The presence of such constrained bits shows that the transition probability of the sub-channel of the equation 4 is defined and is not accurate considering the actual configuration of the polar code.
In other words, the transition probability and the LLR calculated for ui in the conventional SC-based decoding method and device do not take into account a configuration of ui+1N−1=(ui+1, ui+2, . . . , uN−1) to be decoded later than ui. In the calculation method of the LLR, all the bits decoded later than ui are treated as pure noise. Despite this relaxation, as proved in the reference [1], the polar code may achieve the channel capacity as its length increases. However, since such relaxation does not take into account constraints on bit values, it reveals that a conventional practical SC-based decoding and device for the polar code of a finite length are not optimal. Hereinafter, the above contents will be visually described through some examples.
Referring to
The decoder according to various embodiments of the disclosure to address the above-described problem may perform the decoding by accurately modifying WN(i)(y, u0i−1|ui) of the conventional equation 4 as seen in the following equation {dot over (W)}N(i)(y, u0i−1|ui).
In the equation 11 above, (u0i) is a set of all possible combinations of ui+1N−1, when the previously decoded u0i−1 and the ui under consideration as a condition (that is, u0i put together) are given. For example, if u3 is decoded in the example addressed in
(u03) is as shown in the sub-tree 620 of
As shown in the equation 11 above, the transition probability accurately considering a code configuration is used in various embodiments of the present disclosure. An LLR-based SC decoding according to embodiments of the disclosure, and a modified method and device thereof calculate an LLR defined as in the equation below.
The decoder according to an embodiment may use the LLR defined by exchanging the numerator and the denominator in the equation 13. The scheme using Equation 13 may be understood, implemented and realized as inverting the code of the LLR.
An embodiment of the SC-based decoding method and device of the disclosure is based on the equation 11 in which a marginalization set based on an actual code configuration is set, unlike the conventional decoding method and device. In this context, the SC-based decoding method and device of the disclosure may be referred to as bitwise maximum likelihood-successive cancellation (bitwise ML-SC) decoding. In other words, in the above-described embodiment of the disclosure, the decoder may sequentially decode bits one by one based on successive cancellation. The decoder may perform ML decoding to accurately reflect the code configuration for each bit.
Referring to
The “SC” decoding is a conventional method based on the equation 4. The “Bitwise ML-SC” decoding is a method realized/implemented/operated based on the equation 11 according to an embodiment of the disclosure. In addition, the “Blockwise ML” decoding, which is an optimal decoding method for linear codes such as polar codes, was also considered. The Blockwise ML method is an exhaustive search method that compares a given receiving vector with all valid codeword vectors and selects the most probabilistically feasible one. The codeword vector generated in this experiment is modulated in binary phase shift keying (BPSK) and transmitted through an adaptive white Gaussian noise (AWGN) channel. Under such an environment, the graph 700 may provide a result of a block error rate (BLER) by comparing a decoding result with an encoding input bit vector when each of the three methods is used. Es/N0 is a parameter representing an SNR and is used as a quantitative metric of channel quality.
As shown in
A method for effectively implementing the SC decoding method and device based on the equation 11 will be described in greater detail. As described above, calculating the equation 4 as it is may involve a lot of operations. The reference [1] shows that the equation 4 may be implemented with low complexity through recursive operations on polarization kernels, based on the structure of the generation matrix. In the same way, calculating the equation 11 as it is may also require a lot of operations, and the present disclosure includes a method of effectively realizing, implementing and operating the aforementioned process.
In an embodiment of the disclosure, a successive cancellation check (SCC) decoding is used to realistically calculate a transition probability, an LLR and so on corresponding to the equation 11. In the conventional SC-based decoding method and device, upon decoding of an information bit ui (e.g., i∈), a decoder calculates a metric such as the transition probability or the LLR and obtains estimation ûi of ui. In an embodiment of the disclosure, first, upon decoding of an information bit ui, this value may be substituted or assumed into 0 or 1, respectively. Then, the decoder may calculate a metric of the transition probability, the LLR or the like for at least one bit uj (e.g., j>i) of the bits located behind ui, and then the decoder may check or evaluate a validity of the substitution or assumption. The decoder may determine estimation ûi based on the check or evaluation.
In other words, the SCC decoding method and device of the disclosure may determine an estimation value of at least one information bit (ui), after processing the bit (j>i) located behind ui by a series of processes. In particular, uj may be a fixed bit or a parity bit. The fixed bit or the parity bit having an index greater than a bit to be decoded may be referred to as a future constraint, a future constrained bit, a post-constraint, a post-constrained bit, or the like. The future constraint bit considered for estimation of the ui may be one bit or at least two bits.
An embodiment of the SCC decoding may include the following series of processes.
Upon decoding the information bit ui (e.g., i∈), the decoder selects a target bit index j. Here, j is selected as an integer greater than or equal to i. For example, j may be selected as the smallest integer that meets both j≥i and j+1∈
. That is, j may be a bit immediately before a next information bit. In this case, since ui+1j are all fixed bits or parity bits causally generated, the value may be determined immediately if preceding bits u0i are given according to the definition.
It is assumed that the value ui to be decoded is 0 or 1, respectively. The decoder determines ui+1j based on the previously decoded u0i−1 and the above assumed ui. As a result, the decoder checks the entire u0j for each hypothesis.
A symbol denotes hypothesis in which uij (or u0j) is determined based on the assumption ui=0.
A symbol denotes hypothesis in which uij (or u0j) is determined based on the assumption ui=1.
The decoder performs decoding on uj based on the respective hypothesis and
. In an embodiment of this decoding process, the decoder may calculate a probability-based metric on uj for each hypothesis to select at least one hypothesis based on the calculated probability-based metric. In an embodiment, the decoder may select at least one hypothesis by calculating a probability-based metric on uij for each hypothesis. In an embodiment, the decoder may select at least one hypothesis by calculating a probability-based metric on u0j for each hypothesis. In an embodiment, the decoder may examine and check the validity on uj of each hypothesis and select at least one hypothesis based thereon. In an embodiment, the decoder may check and examine the validity on uij of each hypothesis and select at least one hypothesis based thercon. In an embodiment, the decoder may check and examine the validity on u0j of each hypothesis and select at least one hypothesis based thercon.
As described above, the principles of the disclosure may be realized and implemented in various ways. An important point in embodiments of the present disclosure is that the determination and judgement of the estimation on at least one information bit ui may be performed after processing at least one other bit located behind the ui. According to an embodiment, the decoder using the polar codes may perform estimation of an information bit corresponding to a specific bit index, after a marginalization using a frozen bit or a parity bit located behind the specific bit index.
The SCC decoding method may be extended and applied to SCL decoding, SCS decoding, or the like, which is a modified method of a conventional SC decoding. In other words, the concept of the SCC decoding method may be also applied to a method of considering two or more candidate groups, other than leaving only one candidate group in the successive decoding and bit decision process. For example, in the decision process of each bit, the concept of SCC decoding may be applied to SCL decoding which maintains a group of up to 7 temporary candidates referred to as a list. The technique in which the SCC decoding is applied to the SCL decoding may be referred to as SCC-list (SCCL) decoding. When decoding the information bit ui in the SCL decoding, L lists u0i[0], u0i[1], . . . , u0i[L−1] for the decoding result of the preceding bit may be given. A total number of 2L candidate groups of ui+1j may be determined by a combination of L lists and an assumption for a ui value 0, 1. Specifically, for ∈{0, 1, . . . , L−1} and B∈{0,1}, (2
+B)-th candidate group may be determined based on u0i[
] and ui=B. This candidate group may include ui+1j determined based on u0i[
] and ui=B. The decoder may perform the SCC decoding based on the candidate group. That is, even in decoding for each list, a bit estimation of ui may be determined during or after processing of ui, wherein j>i. In this case, a path metric (PM) and so on, used in the conventional SCL decoding, may be utilized. As a result of the decoding, L candidate groups may be selected from among a total number of 2L candidate groups, and a subsequent process may be performed. In the same manner, the SCC decoding method may be extended and applied to SCS decoding, wherein it may be implemented and realized with SCCS decoding.
The SCC decoding method and procedures partially support the concept of the equation 11.
Referring to
In an embodiment of the disclosure, belief-propagation successive-cancellation (BP-SC) decoding may be used to realistically calculate a transition probability, an LLR and so on corresponding to the equation 11. The BP-SC decoding method and device may modify the polar code graph introduced in
The process of reflecting the future constraint in the bipartite-graph used in the decoding is as follows. The constraint by the fixed bit and the parity bit of the encoding input bit vector u∈ may have a parity-check matrix H∈
and may be expressed by the following equation.
A k-th column of the parity check matrix H is represented as [H]k. In this case, each column of the parity check matrix H is configured as follows, according to the configuration of the bits of the encoding input bit vector u.
If uk is an information bit, all elements of the k-th column of the parity check matrix H are configured as 0. That is, the column vector [H]k is a 0 vector.
If uk is a frozen bit (or a fixed bit), only the element in the k-th row of in the k-th column of the parity check matrix H has a value of 1 and all other elements are configured as 0. The column vector [H]k is a vector in which only the elements in the k-th row are 1, and the remaining elements are 0. For example, the column vector [H]k of the parity check matrix by the fixed bit u4 is given as [H]4=(0, 0, 0, 0, 1, 0, 0, 0)T in the pole code example (={3, 5, 7},
={6},
={0, 1, 2, 4}) of the length N=8 that we are continuously looking into.
If uk is a causally generated parity bit, the k-th column of the parity check matrix H is configured to correspond to a parity check equation. For example, if the parity bit u6 is generated by the relational expression of u3⊕u5⊕u6=0 in the polar code example (={3, 5, 7},
={6},
={0, 1, 2, 4}) of the length N=8 that we are continuously looking into, the column vector is given as [H]6=(0, 0, 0, 1, 0, 1, 1, 0)T.
As described above, if the configuration of the polar code (a method of generating the encoding input bit vector u) is given, the decoder may identify or determine the configuration of the parity check matrix H.
For example, the parity check matrix H for the encoding input bit vector u in the polar code example (={3, 5, 7},
={6},
={0, 1, 2, 4}) of the continuous length N=8 may be given by the above rule as follows.
The generation matrix G given in the equation 2 and the equation 3 is a self-inverse matrix or an involutory matrix. In other words, it has a relationship of G−1=G. Accordingly, the equation 1 may be represented as the following equation.
Based on the equation 14 and the equation 16, the following equation may be defined.
The equation 17 shows that the constraint of x by GH may be derived from the constraint of u by H. In other words, the parity check matrix GH for the codeword vector x may be checked from the parity check matrix H for the encoding input bit vector u. For brevity of expression, the parity check matrix for the codeword vector x will be written as V=GH. For example, the parity check matrix V=GH for the codeword vector x in the polar code example (={3, 5, 7},
={6},
={0, 1, 2, 4}) of the continuous length N=8 may be given by the equation 17 as follows.
The constraints on u and x shown in the equation 14 and the equation 17 may be expressed on the polar code graph. Hereinafter, the constraints on u and x will be described with reference to
Referring to ={3, 5, 7},
={6},
={0, 1, 2, 4}) of the continuous length N=8 may be expressed on the pole code graph 900. The constraint 910 indicates five constraints (four fixed bits and one parity bit) on u by H of the above example of the equation 15 by connection lines related to the check node. For example, the constraint u3⊕u5⊕u6=0 on the parity bit u6 is represented as a check node connecting three variable nodes u3, u5, u6 on the graph. The constraint 920 indicates five constraints on u by V of the above example of the equation 18 as connection lines related to the check node. For example, by the equation 17, the constraints u3⊕u5⊕u6=0 are the same as x3⊕x5⊕x6⊕x7=0, and are represented as check nodes connecting four variable nodes x3, x5, x6, x7 in the polar code graph 900.
In the disclosure, the decoder may perform decoding based on at least one future constraint by identifying the constraint on the codeword vector x. Since the conventional SC-based decoding method and device sequentially decode bits of u, the future constraint bits located in u could not be structurally considered. For example, in decoding u3, the constraint by the parity bit u6 was not considered in the conventional SC-based decoding method and device. On the other hand, the decoder according to embodiments of the disclosure may transform the future constraint located in u into a corresponding constraint in the codeword vector X, as identified through the equation 17. The decoder according to embodiments of the present disclosure may increase the accuracy of decoding by performing decoding based on a result of the transformation. As shown in
Referring to ={3, 5, 7},
={6},
={0, 1, 2, 4}) is displayed. When decoding the information bit u3 in the SC-based decoding method and device, the previously estimated u0, u1, u2 are reflected as a variable node 1001, a variable node 1002, and a variable node 1003. Therefore, the constraints in x corresponding to the fixed bit and the parity bit already reflected in u may be excluded from the graph. In other words, in decoding of u3, the future constraint bits are u4 and u6, and only the constraints in x corresponding thereto may be considered as a constraint 1011 and a constraint 1012.
Further, the SC-based decoding method and device of the disclosure may utilize the future constraints in a subcode of the polar code, without necessarily considering the future constraints on x located in the rightmost step (t=n). Hereinafter, an example of a decoding process in which the future constraint is reflected in an intermediate stage rather than the rightmost step will be described with reference to
={3, 5, 7},
={6},
={0, 1, 2, 4}), the future constraint is a parity bit u6 generated as u3⊕u5⊕u6=0. Since an estimated value û3 of u3 may be used by sequential SC decoding, the constraint may be expressed again as u5⊕u6=û3. However, in the constraint equation u5⊕u6=û3, both of u5 and u6 belong to the second sub-code in the repetitive and stepwise configuration of the polar code. Here, the second sub-code is a code of a length N=4 generated by (u4, u5, u6, u7).
Referring to ={3, 5, 7},
={6},
={0, 1, 2, 4}) is shown. The decoder generates a codeword corresponding to an intermediate variable node in a variable region 1110 (step t=2). Accordingly, a mathematical equation u5⊕u6=û3 by the future constraint may be converted into and applied to w5⊕w6=û3 in the step t=2, as represented in a check node 1120 of
As in the above embodiments, the decoding method and device of the disclosure may perform an operation based on a graph of a polar code modified in consideration of the future constraints. The modification of the polar code includes at least one of general modification methods for a bipartite graph of a linear code, such as e.g., adding a check node and a connection line in consideration of future constraints, deleting a node and a connection line, merging two or more nodes, and deleting overlapping connection lines.
Decoding of the polar codes on the modified graph may be performed based on belief-propagation. In the conventional SC decoding, calculation of the LLR was performed only in one direction, e.g., from the right (t=n) to the left (t=0) of the graph. However, as described above, as a new check node is added, a bi-directional LLR calculation becomes possible in the graph. This process is the same as, or a modification of, message passing decoding of a low-density parity-check (LDPC) code. It is also possible to exchange repetitive messages on this graph. In this context, a method of sequentially performing decoding by one bit through belief-propagation on the modified graph may be referred to as BP-SC decoding.
These embodiments of the SCC decoding and the BP-SC decoding may be used in combination. The SCC decoding is characterized in that the decoding is reserved to reflect some future constraints in successive decoding and bit determination processes, and the BP-SC decoding is characterized in that a decoding graph used is modified and used based on the future constraints. Those two methods are not mutually exclusive and may be used together. For example, the SCC decoding and the BP-SC decoding may be combined to be realized in a BP-SCC decoding scheme.
Further, various embodiments of the disclosure are not exclusive to an extension of the conventional SC decoding methods as SCL decoding, SCS decoding, and SCF decoding, and may be used to extend and apply various embodiments of the disclosure to these methods. For example, the SCC decoding method, the BP-SC decoding method, and the BP-SCC decoding method may be combined with a scheme such as a list, a stack, or a flip that considers two or more candidate groups. Accordingly, various embodiments of the disclosure may be realized in a manner such as SCC-list, SCC-stack, SCC-flip, BP-SC-list, BP-SC-stack, BP-SC-flip, BP-SCC-list, BP-SCC-stack, BP-SCC-flip, or the like.
The decoding methods of the disclosure may be realized as a process of solving a constraint satisfaction problem (CSP) by utilizing a future constraint in a search process in a binary decision tree. As described above, SC decoding of a polar code may be understood as depth-first-search (DFS) that proceeds to a child node for an estimated value for each bit in the binary decision trec. In the conventional SC-based decoding, a search is performed by selecting one of child nodes having a high probability based on a metric such as the LLR or the like. On the other hand, the newly added check node in the graph modified in consideration of the future constraint may be used to determine the validity of an intermediate result obtained in the belief-propagation process. Accordingly, the SC-based decoding method and device utilizing the future constraint of the disclosure may identify whether the future constraint is satisfied,by schemes of SCC, BP-SC, BP-SCC, or the like, and then perform a search for the binary decision tree based on the identification.
The search for the binary decision tree for the SC-based decoding of the disclosure may be performed according to the following scheme of an embodiment.
If only one of the nodes meets a given future constraint (or if it does not violate the future constraint), then the decoder proceeds to search for the node.
If two or more nodes meet the given future constraint (or if it does not violate the future constraint), the decoder may select one node according to a predetermined rule to proceed with the search. The predetermined rule may be a method of selecting one node based on a metric calculated in or derived from a decoding process. The predetermined rule may be a method of randomly selecting one of nodes. The predetermined rule may be a method of selecting a fixed one among nodes. Position, information, etc. of the nodes that meet the future constraint (or do not violate the future constraint) but are not selected by the rules may be stored and managed in a memory or the like, and these nodes may be visited or utilized when no node meets the future constraint (or when all nodes violate the future constraint) in a subsequent search.
If all child nodes do not meet the given future constraint (or violate the future constraint), according to an embodiment of the disclosure, the decoder may terminate the search and carly terminate the decoding. In an embodiment of the disclosure, the decoder may perform backtracking to a node that has satisfied the future constraint (or does not violate the future constraint) in the previous search process but has not proceeded to or visited. This process may be understood as conflict-directed back jumping (CBJ). In this process, one of the nodes stored in the memory or the like may be selected according to a predetermined rule. The predetermined rule may be a method of randomly selecting one of the nodes stored in a memory or the like. The predetermined rule may be a method of selecting a closest node among nodes currently being searched by implementing the memory in a stack structure.
The aforementioned descriptions are examples of implementation using the future constraint in the SC-based decoding according to embodiments of the disclosure. It should be noted that various example embodiments of the disclosure may be realized by any method of utilizing future constraints in SC-based decoding of the polar code, and are not limited to a specific method.
Referring to
In operation 1203, the device may identify a polar code configuration including an information bit, a parity bit and a frozen bit. According to an embodiment, the polar code configuration may include bit index information. The bit index information indicates a bit index set of bits of a received signal. The bit index information may indicate an index of each information bit. For example, the bit index information may indicate an index set of the encoding input bit assigned with the information bit. The bit index information may indicate an index of each parity bit. For example, the bit index information may indicate an index set
of the encoding input bit assigned with the parity bit. For example, the bit index information may indicate an index set
of the encoding input bit assigned with the frozen bit.
According to an embodiment, the polar code configuration may include operation scheme information. Parity bits may be used for error detection. The parity bits may be determined by a specific operation of other bits. According to an embodiment, the parity bits of the polar code may be causally generated. For example, the parity bit may be determined based on a linear combination of other bits. For example, in the example illustrated in
According to an embodiment, the parity bit may not be included in the signal. Since the parity bit is used in a concatenated polar code, it may not be used in a specific polar code. Accordingly, embodiments of the disclosure may include both an operation of decoding a signal including a parity bit and an operation of decoding a signal including no parity bit. According to an embodiment, when the parity bit is not included in the signal, that is, when the parity bit is not used for channel coding, the polar code configuration may not include the parity bit.
In operation 1205, the device may perform SC decoding (e.g., successive cancellation decoding). The SC decoding refers to an operation of sequentially decoding one bit by one bit, based on the previously estimated bits. The device may remove the estimated bit from the bit string and sequentially decode the bits one by one from the remaining bit. The SC decoding may be used to decode a signal encoded using the polar code.
According to embodiments, an operation of performing the SC decoding by the apparatus may include operation 1206. In operation 1206, decoding of the information bit may be performed based on a constraint determined by at least one of the parity bit or the frozen bit corresponding to an order subsequent to the information bit. Here, the parity bit or the frozen bit corresponding to the order subsequent to the information bit may be referred to as a future constraint (or a future constrained bit). Decoding of the information bit may be performed based on at least one value of at least one constrained bit.
The decoding of the information bit may be performed based on the value of the bit located behind the index of the information bit. In performing the SC decoding, a future constraint on the parity bit and/or the frozen bit according to embodiments of the disclosure may be used to estimate the information bit. Here, the parity bit and/or the frozen bit are located behind the information bit to be estimated. For example, when bits are indexed in ascending order, an index of the parity bit and/or the frozen bit may be greater than an index of the information bit.
The frozen bit has a fixed value. For example, all values of the frozen bits of the signal may be 0. For another example, all values of the frozen bits of the signal may be 1. The parity bit has a value determined according to a specified method. For example, the value of the parity bit may be determined through an operation on the information bits. As such, the frozen bit or the parity bit is limited based on the rule according to the polar code configuration.
In the SC decoding, the posterior-probability of the information bit is used. The device according to various embodiments of the disclosure may pre-determine a value of a constrained bit (e.g., a frozen bit or a parity bit corresponding to a decoding order subsequent to the information bit) and then perform decoding of the information bit, rather than considering all bit values. Since a posterior-probability calculation is utilized only for certain candidates other than all candidates (e.g., the marginalization of the equation 11), a result of decoding of the information bit may be more accurate.
While the SC decoding has been described as an embodiment heretofore, it goes without saying that the decoding principle according to the future constraints of the disclosure may be also applied to decoding techniques other than the SC decoding.
Hereinafter, a decoding technique utilizing the future constraint described above with reference to
As described above, unless otherwise stated, it is assumed that the index of the first element of a vector, a matrix, or a sequence starts from 0.
For two non-negative integers i and j, {i:j} represents a set of consecutive integers from i to j. When this symbol is used as a subscript to represent a set of elements of a vector and a matrix, it may be used in the form i:j in which parentheses are omitted for more concise representation.
For a vector a and the two non-negative integers i and j, aij represents a sub-vector including an i-th element to a j-th element of the vector a. In other words, it represents aij=(ai, ai+1, . . . , aj), and may also be written as ai:j in another notation. If i is less than j, then aij is a NULL vector with a size of 0.
For the matrix A and the two non-negative integers i and j, Ai,j represents an element in the i-th row and the j-th column of the matrix A.
For a set ,
of the matrix A and the two non-negative integers,
represents a submatrix including rows in which the index belongs to
and columns in which the index belongs to
, in the matrix A. The above definition is to represent slicing of the matrix.
For simple matrix slicing notation, a symbol * is used. This symbol is used as a shortcut symbol representing a set of all rows or a set of all columns of a given matrix. In other words, for a matrix A of size n×m, it represents =
and
=
.
The description of the disclosure will be made in greater detail based on the aforementioned additional mathematical symbol definition.
Referring to is first encoded by outer encoding and generates an outer codeword vector b∈
. The bits of the outer codeword vector are mapped to each position of an encoding input vector u∈
of a length N. Here, the bits of the outer codeword vector are mapped to positions corresponding to a sub-channel having high reliability (or large channel-capacity) among sub-channels configured by channel polarization of the polar code, and the remaining bits are fixed bits with a fixed value. Thereafter, the encoding input vector is multiplied by the generation matrix G∈
, and an encoding output vector (encoder output vector) or a codeword vector x∈
is generated as a result of the multiplication.
is first mapped to an extended vector v∈
of length N through a process called rate profiling. Here, bit mapping may be performed in consideration of the characteristics, performance, etc. of the sub-channel by the channel polarization. An encoding input vector u∈
may be gencrated by performing precoding on the extended vector V, which is an output of the rate profiling. By the precoding, the extended vector V is multiplied by the precoding matrix T∈
, thereby generating the encoding input vector u∈
. For example, the encoding input vector is generated as shown in the following equation.
During the precoding process, one or more parity bits may be causally generated by the outer encoding. The subsequent process is substantially the same as the process in
In other words, the equivalent model 1400 of
As described above, the parity bits may be causally generated and disposed on the encoding input vector u by the outer encoding and the sub-channel allocation. Considering this process, each column of the precoding matrix is configured as follows, according to the type of a corresponding sub-channel.
For an index i∈ corresponding to an information bit, the i-th column is configured of Ti,i=0 for k where Ti,i=1, k≠i.
For an index i∈ corresponding to a fixed bit, all elements in the i-th column are configured of 0, that is, T*,i=0.
For the index i∈ corresponding to the parity bit, T0:i−1,i is configured to indicate that the parity bit ui is causally generated by ui=u0i−1T0:i−1,i. Further, Ti:N−1,i=0 is configured so that all the elements are zero.
For example, the precoding matrix T in the polar code example (={3, 5, 7},
={6},
={0, 1, 2, 4}) of the continuous length N=8 is given by the above rule as follows.
The entire generator matrix configured by a combination of precoding and polar encoding may be TG. For example, the entire generation matrix is given as follows.
The precoding matrix T and the aforementioned parity check matrix H become a matrix in which all elements are 0, when multiplied by the definition. For example, the following relationship of equation is established based on the equation 19.
The column for the information bit in the parity check matrix H is all configured of 0 as described above, so the equation 22 (uH=0) may be expressed in a simpler form as =0. To this end, a simpler form such as H′=
may be defined and used.
The above-described SCC decoding process will now be described in greater detail based on the mathematical equations. Consider a step of decoding an information bit ui by successive decoding. As described above, the device of the SCC decoder may reflect the future constrained bit present between the next information bits, without immediately estimating ui. For distinguishing of effective bits, a bit ui to be estimated may be referred to as a target bit, and a bit to be actually processed may be referred to as a processing bit. The index of the processing bit for the target bit ui is written as i, and this value is determined by the following equation.
If i=i, then the information bits are immediately arranged in succession, and the device has no future constraint to be considered in the middle, so the device may perform a general SC decoding. If
i>i, then a hypothesis may be established that the value of the target bit ui is 0 and 1, respectively. Assume that a hypothesis that the value of the target bit ui is b∈{0, 1} is written as a symbol
i,b. For verification of the assumption
i,b, a temporary vector ū
i,b
of length
i+1 may be generated. Based on the previously estimated vector û0i−1=(û0, û1, . . . , ûi−1), the temporary vector ū
i,b
may be sequentially generated by the following equation.
The configuration of the temporary vector ūi,b
may be generated based on the characteristic that the parity bit is causally generated.
The device for SCC decoding according to various embodiments may respectively perform the SC decoding, based on two temporary vectors ūi,0
and ū
i,1
obtained by a process as in the equation 24 as above. The decoding process may be achieved by calculating a metric for the probability or determining the validity, when each temporary vector is reflected. By this series of processes, the SCC decoding process may be interpreted as performing decoding based on the improved transition probability as shown in the following equation.
The channel WN refers to a vector channel from u to y obtained through channel combining, and WN(i) represents a sub-channel for ui.
The future constraint conversion process for the above described BP-SC or BP-SCC decoding will now be described in greater detail based on the mathematical equations. As described above, the encoding input bit vector u is constrained in the relationship of uH′=0 for the parity check matrix H′. It is also generated as an encoding output vector x=uG. Using these two relationships, an equivalent parity-check matrix Q for the encoding output vector is defined by the following equation.
By this result, a parity check equation for the encoding output vector may be obtained as shown in the following equation.
The above parity check equation is obtained due to the characteristic that the generation matrix G is an involutory matrix, that is, G=G−1.
In the polar code example (={3, 5, 7},
={6},
={0, 1, 2, 4}) of a continuous length N=8, the parity check matrix Q for the encoding output vector is given as follows.
Upon decoding of each information bit, the parity check equation (the equation 27) may be used while being modified. First, an index set of future constraint bits for any bit ui (not required to be an information bit) is written as , which is defined as follows.
The parity check matrix modified for decoding of the information bit ui is written as Q(i), which is given by the following equation.
Based on the above, the parity check formula configured upon decoding of the information bit ui is configured as follows.
If SCC decoding is used to deal with a processing bit to estimate a target bit ui, then the equation 31 may be rewritten as shown in the following equation.
The parity check formulas given as in the equation 31 and the equation 32 may be utilized directly to decoding of the target bit ui. The first term of each equation may be configured by the previously estimated bits and the assumed bits and may be obtained immediately. The second term may be configured by an encoding output vector by transforming the future constraints. Since the encoding output vector corresponds to the decoder input (LLR vector) in the decoder, the device may directly utilize the corresponding relationship. Therefore, since all terms are usable, the device may improve the decoding performance by utilizing the equation 31 and the equation 32.
The subgraph-based future constraint transformation will now be described in greater detail through the mathematical equations. To this end, several symbols are additionally defined. First, a start index of a subgraph of size 2t including the encoding input bit ui may be expressed as s(i, t)=2t×└i/2t┘. Based on it, the index set of all bits belonging to the corresponding subgraph may be defined by the following equation.
By the above definition, a subgraph relationship of size 2t included in the relationship x=uG of an entire polar code may be identified.
Referring to
which is the same as the polar code generation matrix of size 2t.
Additionally, two index sets are defined as in the following equations.
Based on the definition of the set, the parity check matrix for an intermediate stage of codeword vector xi(t) generated by the subgraph of size 2t including the encoding input bit ui is defined as in the equation below.
Based on it, the transformed parity check equation for the subgraph of size 2t including the encoding input bit ui may be obtained as shown in the following equation.
If SCC decoding is used to deal with a processing bit for estimation of the target bit ui, the equation 38 may be rewritten as shown in the following equation.
As with other parity check equations discussed above, all terms in the equation 38 and the equation 39 may be identified when decoding the target bit ui. The decoder of the device may improve the decoding performance based on the result of the identification.
According to various example embodiments of the disclosure, a method performed by a device in a communication system or a broadcasting system may include: receiving a signal including bits encoded based on polar codes; identifying a polar code configuration for at least one information bit and at least one frozen bit of the signal; performing decoding of the signal, based on the configuration of the polar codes, wherein decoding of the information bit of the at least one information bit may be performed based on at least one value of the at least one constraint bit, and at least one constraint bit may include at least one of a parity bit or the frozen bit corresponding to an order after the information bit.
According to an example embodiment, each bit of the at least one constraint bit may be included in at least one parity bit or the at least one frozen bit of the signal.
According to an example embodiment, the performing of the decoding may include: determining a value of a constraint bit corresponding subsequent to the information bit, based on a previous decoding result of the information bit and candidate values of the information bit, wherein the performing of the decoding may include performing decoding on the information bit, based on a value of the constraint bit.
According to an example embodiment, the previous decoding result may include a value of a bit corresponding to an order before the information bit or a plurality of candidate groups of the bit.
According to an example embodiment, based on a constraint bit among the at least one constraint bit being a frozen bit, a value of the constraint bit may be determined as a fixed value, and based on a constraint bit among the at least one constraint bit being a parity bit, a value of the constraint bit may be determined based on a parity generation scheme.
According to an example embodiment, decoding of the information bit may be performed based on an a-posteriori probability of the information bit. The a-posteriori probability may be derived based on the at least one value of the at least one constraint bit.
According to an example embodiment, the polar code configuration may include bit index information for identifying each bit index of the at least one information bit and the at least one frozen bit.
According to an example embodiment, the polar code configuration may include operation scheme information for error detection of at least one parity bit of the signal.
According to an example embodiment, the polar code configuration may include information related to a parity check matrix for the signal and a generation matrix for the polar code.
According to an example embodiment, an SC decoding may be performed based on a belief-propagation technique.
According to various example embodiments of the disclosure, an apparatus in a communication system or a broadcasting system may include: a memory, at least one transceiver, and at least one processor comprising processing circuitry, wherein at least one processor, individually and/or collectively, may be configured to: receive a signal including bits encoded based on polar codes; identify a polar code configuration for at least one information bit and at least one frozen bit of the signal; perform decoding of the signal, based on the polar code configuration, wherein decoding of an information bit among the at least one information bit may be performed based on at least one value of at least one constraint bit, and at least one constraint bit may include at least one of a parity bit or a frozen bit corresponding to an order after the information bit.
According to an example embodiment, each bit of the at least one constraint bit may be included in at least one parity bit or the at least one frozen bit of the signal.
According to an example embodiment, for performing the decoding, at least one processor, individually and/or collectively, may be configured to: determine a value of a constraint bit corresponding subsequent to the information bit, based on a previous decoding result of the information bit and candidate values of the information bit; and perform decoding on the information bit, based on the value of the constraint bit.
According to an example embodiment, the previous decoding result may include a value of a bit corresponding to an order prior to a decoding order of the information bit or a plurality of candidate groups of the bit.
According to an example embodiment, based on a constraint bit among the at least one constraint bit being a frozen bit, a value of the constraint bit may be determined as a fixed value. Based on a constraint bit among the at least one constraint bit being a parity bit, a value of the constraint bit may be determined based on a parity generation scheme.
According to an example embodiment, decoding of the information bit may be performed based on an a-posteriori probability of the information bit. The a-posteriori probability may be derived based on the at least one value of the at least one constraint bit.
According to an example embodiment, the polar code configuration may include bit index information for identifying each bit index of the at least one information bit and the at least one frozen bit.
According to an example embodiment, the polar code configuration may include operation scheme information for error detection of at least one parity bit of the signal.
According to an example embodiment, the polar code configuration may include information related to a parity check matrix for the signal and a generation matrix for the polar code.
According to an example embodiment, an SC decoding may be performed based on a belief-propagation technique.
According to various example embodiments of the disclosure, a method performed by a receiving device in a communication system or a broadcasting system may include: receiving and processing a signal for bits encoded with a polar code to generate an input of the polar code, identifying a configuration of the polar code for the input, and performing successive cancellation (SC)-based decoding with a decoder input based on the identified configuration, wherein in the SC-based decoding, decoding and estimation of at least one bit may be performed based on a configuration (whether the bit is constrained or not, how the bit is constrained, or the like) of at least one bit to be later decoded and estimated. For example, a successive decoding of the polar code may be performed based on at least one of constrained bits whose values are not freely determined, so-called future constraint bits, among the bits to be later decoded and estimated.
The phrase ‘a bit that is decoded and estimated after the bit to be decoded’ may refer to a bit that is decoded later in time during a successive decoding process. According to a general notation, in case where a successive decoding process is referred to as an ascending order of a bit index, it refers to a bit with a larger index than the bit to be decoded. For example, in case where an i-th bit is to be decoded, an (i+1)-th bit, an (i+2)-th bit, and the like are ‘a bit that is decoded and estimated afterwards’. In decoding of the i-th bit, the future constraint bit refers to a frozen bit (or a fixed bit) or a parity bit, of which value is constrained among bits having an index larger than i.
In an embodiment of the polar code decoding in consideration of the future constraints, the SC-check (SCC) decoding is configured to substitute a value that a bit to be decoded may have, 0 or 1, and identify or check whether all or at least one bit of the future constraint bits (with a small index) preceding the bit to be next decoded (having a small er index) t thereof has a corresponding constrained value.
In an embodiment of the SCC decoding, the decoder may substitute a value, 0 or 1, which the bit to be decoded (hereinafter, a target bit) may have, for a target bit, respectively. Thereafter, the decoder may substitute a bit value determined correspondingly for the future constraint bits. The decoder may identify or check whether a contradiction occurs in the configuration of the polar codes to estimate a value of the target bit. In other words, when ‘1’ was substituted to the bit to be decoded and ‘1’ was substituted to the bit to be decoded, the decoder may respectively check whether there arises a contradiction in the bit value determined correspondingly to the future constraint bits. The decoder may estimate the a target bit value as the bit where no contradiction arises.
In an embodiment of the SCC decoding, the decoder may substitute a value, 0 or 1, which the bit to be decoded may have, respectively for the target bit, substitute a correspondingly determined bit value for the future constraint bits, and then estimate the value of the target bit based on a metric capable of being calculated or derived from the configuration of the polar code. In other words, when substituting ‘0’ for the bit to be decoded and substituting ‘1’ for the bit to be decoded, the decoder may calculate a metric for the likelihood, a posteriori probability, or the like for the bit value determined correspondingly to the future constraint bits, and may determine an estimated value of the target bit with a larger metric value. The specific scheme of the SCC decoding is not limited to the above embodiments. The decoder may perform a method of determining based on at least one of subsequent bits, after substituting 0 and 1 respectively, without immediately estimating the bit to be decoded.
In an embodiment of the polar code decoding in consideration of the future constraint, the belief-propagation SC (BP-SC) decoding is a method of performing the SC decoding by adding a check node corresponding to at least one future constraint in the graph-based polar code decoding. In an embodiment of the BP-SC decoding, the decoder may perform a corresponding operation on a newly added check node to calculate a metric such as a log likelihood ratio (LR), thereby estimating a value for a target bit. In an embodiment of the BP-SC decoding, the decoder may perform iterative message passing on a graph to which a check node is added to calculate a metric such as an LLR for a bit to be decoded, thereby estimating the value for the target bit.
The SCC decoding and the BP-SC decoding may be combined to be realized by the BP-SCC decoding method. Further, the SCC decoding, the BP-SC decoding, and the BP-SCC decoding schemes may be combined with a method such as a list, a stack or the like considering two or more candidate groups, and may be realized by a scheme such as e.g., an SCC-list, an SCC-stack, an SCC-flip, a BP-SC-list, a BP-SC-stack, a BP-SC-flip, a BP-SCC-list, a BP-SCC-stack, a BP-SCC-flip or the like. It should be noted that embodiments of the disclosure may be realized by any method of utilizing future constraints in the SC-based decoding of polar codes, and are not limited to any specific scheme as described above.
According to an example embodiment, a method performed by a receiving device in a communication system or a broadcasting system may include: receiving and processing a signal for bits encoded with a polar code to generate an input for decoding of the polar code; identifying a configuration of the polar code for the input; performing decoding of the polar code based on the configuration of the polar code, wherein the decoding operation of the polar code may be characterized by being performed based on a configuration of at least one next bit, when decoding at least one bit. According to an example embodiment, the at least one next bit may be decoded and estimated later in time or order in successive decoding of the polar codes. According to an example embodiment, a value of the at least one next bit may be a value determined or fixed by a pre-determined scheme.
The disclosure relates to a communication system or a broadcasting system using a polar code. For example, the disclosure relates to decoding of a polar code in a communication and broadcasting system.
The methods according to various embodiments of the disclosure may be implemented in hardware, software, or a combination of hardware and software.
When implemented as software, a computer-readable storage medium storing one or more programs (software modules) may be provided. One or more programs stored in the computer-readable storage medium are configured for execution by one or more processors in an electronic device. The one or more programs include instructions that cause the electronic device to execute methods according to embodiments described in the disclosure.
These programs (software modules or software) may be stored in a random access memory, a non-volatile memory including a flash memory, a read only memory (ROM), an electrically erasable programmable read only memory (EEPROM), a magnetic disc storage device, a compact disc ROM (CD-ROM), digital versatile discs (DVDs), other types of optical storage devices, magnetic cassettes, or the like. Alternatively, it may be stored in a memory configured by a combination of some or all of those. In addition, a plurality of respective memories may be included.
Further, the program may be stored in an attachable storage device that is accessible via a communication network such as e.g., Internet, Intranet, a local area network (LAN), a wide LAN (WLAN), or a storage area network (SAN), or a communication network configured with a combination of those. Such a storage device may make access to a device performing an embodiment of the disclosure via an external port. In addition, a separate storage device on a communication network may access the device performing embodiments of the disclosure.
In the above-described example embodiments of the disclosure, an element included in the disclosure is expressed in a singular or plural form depending on a presented specific embodiment. However, the singular form or plural form is selected to suit its presented situation for the convenience of description, and the disclosure is not limited to the singular element or the plural clement presented, and either a component expressed in plural may be configured in a singular form or a component expressed in singular may be configured in a plural form.
While the disclosure has been illustrated and described with reference to various example embodiments, it will be understood that the various example embodiments are intended to be illustrative, not limiting. It will also be understood, by those skilled in the art, that many variations are possible without departing from the true spirit and full scope of the disclosure, including the appended claims and their equivalents. It will also be understood that any of the embodiment(s) described herein may be used in conjunction with any other embodiment(s) described herein.
Number | Date | Country | Kind |
---|---|---|---|
10-2022-0056313 | May 2022 | KR | national |
10-2022-0056917 | May 2022 | KR | national |
10-2022-0146143 | Nov 2022 | KR | national |
This application is a continuation of International Application No. PCT/KR2023/004482 designating the United States, filed on Apr. 3, 2023, in the Korean Intellectual Property Receiving Office and claiming priority to Korean Patent Application Nos. 10-2022-0056313, filed on May 8, 2022, 10-2022-0056917, filed on May 9, 2022, and 10-2022-0146143, filed on Nov. 4, 2022, in the Korean Intellectual Property Office, the disclosures of each of which are incorporated by reference herein in their entireties.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/KR2023/004482 | Apr 2023 | WO |
Child | 18941315 | US |