This application claims priority to Korean Patent Applications No. 10-2021-0022858 filed on Feb. 19, 2021 and No. 10-2022-0021609 filed on Feb. 18, 2022 with the Korean Intellectual Property Office (KIPO), the entire contents of which are hereby incorporated by reference.
The present disclosure relates to a decoding technique in a communication system, and more particularly, to a technique for enhancing performance of polar code-based decoding operations.
With the development of information and communication technology, various wireless communication technologies are being developed. Representative wireless communication technologies include long term evolution (LTE) and new radio (NR) defined as the 3rd generation partnership project (3GPP) standards. The LTE may be one of 4th generation (4G) wireless communication technologies, and the NR may be one of 5th generation (5G) wireless communication technologies.
When a communication node transmits data to another communication node through a wireless channel in a communication system, an error may occur depending on a state of a wired/wireless channel. In particular, when communication signals are transmitted/received as being overcrowded on limited communication resources, an error occurrence probability may increase. Accordingly, in order for the communication node receiving the transmitted data to accurately detect the data, error correction codes having excellent error correction capability may be required. For example, a polar code, which is one of error correction codes, has been developed. The polar code may mean a code for correcting errors based on a channel polarization phenomenon in a physical channel through which data is transmitted.
According to the polar code scheme, a transmitting node may generate coded bits by encoding bits (e.g., information bits) based on a polar code. The transmitting node may generate modulated symbols by performing a modulation operation on the coded bits, and transmit the modulated symbols through radio resources. A receiving node may obtain demodulated symbols by performing a demodulation operation on a received signal. The receiving node may obtain information bits by performing decoding on the demodulated symbols (e.g., soft bits) based on the polar code. The decoding operation based on the polar code may be performed based on a successive cancellation (SC) scheme.
Recently, in order to transmit more information through limited radio resources, techniques for efficiently transmitting a plurality of bits through one symbol are being studied. In this case, an error correction code such as the polar code may also be configured to support transmission/reception of symbols composed of a plurality of bits instead of one bit. However, as the number of bits per symbol increases, there is a problem in that the complexity or amount of calculation in the decoding operation of the receiving node may increase.
Matters described as the prior arts are prepared to promote understanding of the background of the present disclosure, and may include matters that are not already known to those of ordinary skill in the technology domain to which exemplary embodiments of the present disclosure belong.
In order to solve the above-identified problems, exemplary embodiments of the present disclosure are directed to providing a decoding method and a decoding apparatus for enhancing efficiency of polar code-based decoding operations in a communication system.
According to an exemplary embodiment of the present disclosure for achieving the above-described objective, an operation method of a receiving node in a communication system may comprise: inputting a plurality of reception bits obtained by demodulating a reception signal received from a transmitting node to a plurality of input nodes of a polar decoder of the receiving node; performing a decoding operation for calculating first and second output transform values corresponding to first and second unit output nodes in each of a plurality of operation units constituting the polar decoder, based on first and second input transform values corresponding to first and second unit input nodes; and obtaining output bits at a plurality of output nodes of the polar decoder based on the decoding operation in each of the plurality of operation units, wherein the performing of the decoding operation comprises: setting initial values of first and second variables for calculating the first output transform value; performing an iterative loop operation including a plurality of iterations for updating the first and second variables; and calculating the first output transform value based on values of the first and second variables updated until a time when the iterative loop operation is terminated, wherein the iterative loop operation is terminated without performing iterations in which the first and second variables are determined not to be updated among the plurality of iterations.
The performing of the decoding operation may further comprise: calculating a minimum value that the first input transform value can have, based on information on a Galois field shared between the transmitting node and the receiving node before setting the initial values of the first and second variables; and sorting values that the second input transform value can have in the plurality of iterations in an ascending order.
The performing of the iterative loop operation may comprise: comparing a value of a first function defined based on the first and second input transform values with a value of the first variable in a k-th iteration among the plurality of iterations; updating the value of the second variable based on the value of the first variable when the value of the first variable is greater than or equal to the value of the first function;
and updating the value of the first variable based on the value of the first function, wherein k has an integer value greater than or equal to 0 and less than or equal to a first setting value.
The performing of the iterative loop operation may comprise: comparing a value of a second function defined based on the first and second input transform values with a value of the first variable in a k-th iteration among the plurality of iterations; and terminating the iterative loop operation when the value of the first variable is less than or equal to the value of the second function, wherein k has an integer value greater than or equal to 0 and less than or equal to a first setting value. The performing of the decoding operation may further comprise calculating the second output transform value based on a sum of the first and second input transform values.
The obtaining of the output bits may comprise performing a successive cancellation (SC) decoding operation in the polar decoder based on the decoding operation in each of the plurality of operation units, and the output bits include a result of restoring transmission bits to be transmitted from the transmitting node to the receiving node, and a result of restoring frozen bits used in a polar code encoding operation for the transmission bits in the transmitting node.
According to another exemplary embodiment of the present disclosure for achieving the above-described objective, a receiving node in a communication system may comprise a processor; a memory electronically communicating with the processor; and instructions stored in the memory, wherein when executed by the processor, the instructions cause the receiving node to: input a plurality of reception bits obtained by demodulating a reception signal received from a transmitting node to a plurality of input nodes of a polar decoder of the receiving node; perform a decoding operation for calculating first and second output transform values corresponding to first and second unit output nodes in each of a plurality of operation units constituting the polar decoder, based on first and second input transform values corresponding to first and second unit input nodes; and obtain output bits at a plurality of output nodes of the polar decoder based on the decoding operation in each of the plurality of operation units, wherein in the performing of the decoding operation, the instructions further cause the receiving node to: set initial values of first and second variables for calculating the first output transform value; perform an iterative loop operation including a plurality of iterations for updating the first and second variables; and calculate the first output transform value based on values of the first and second variables updated until a time when the iterative loop operation is terminated, wherein the iterative loop operation is terminated without performing iterations in which the first and second variables are determined not to be updated among the plurality of iterations.
In the performing of the decoding operation, the instructions further cause the receiving node to: calculate a minimum value that the first input transform value can have, based on information on a Galois field shared between the transmitting node and the receiving node before setting the initial values of the first and second variables; and sort values that the second input transform value can have in the plurality of iterations in an ascending order. In the performing of the iterative loop operation, the instructions further cause the receiving node to: compare a value of a first function defined based on the first and second input transform values with a value of the first variable in a k-th iteration among the plurality of iterations; update the value of the second variable based on the value of the first variable when the value of the first variable is greater than or equal to the value of the first function; and update the value of the first variable based on the value of the first function, wherein k has an integer value greater than or equal to 0 and less than or equal to a first setting value.
In the performing of the iterative loop operation, the instructions further cause the receiving node to: compare a value of a second function defined based on the first and second input transform values with a value of the first variable in a k-th iteration among the plurality of iterations; and terminate the iterative loop operation when the value of the first variable is less than or equal to the value of the second function, wherein k has an integer value greater than or equal to 0 and less than or equal to a first setting value. In the performing of the decoding operation, the instructions further cause the receiving node to calculate the second output transform value based on a sum of the first and second input transform values.
According to exemplary embodiments of a polar code-based decoding method and apparatus in a communication system, decoding operations based on the polar code scheme can be efficiently performed at a receiving node receiving signals encoded and transmitted by a transmitting node based on the polar code scheme. A polar decoder of the receiving node may operate to terminate an iterative loop decoding operation in a specific iteration, when it is determined that subsequent operations thereafter will not affect a final calculation result. As such, by early terminating or breaking the iterative loop decoding operation, the unnecessary amount of computations that do not affect the final calculation result can be skipped. Accordingly, the complexity or amount of calculations of the decoding operations can be reduced, and efficiency can be improved.
Embodiments of the present disclosure are disclosed herein. However, specific structural and functional details disclosed herein are merely representative for purposes of describing embodiments of the present disclosure. Thus, embodiments of the present disclosure may be embodied in many alternate forms and should not be construed as limited to embodiments of the present disclosure set forth herein.
Accordingly, while the present disclosure is capable of various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that there is no intent to limit the present disclosure to the particular forms disclosed, but on the contrary, the present disclosure is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present disclosure. Like numbers refer to like elements throughout the description of the figures.
It will be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element, without departing from the scope of the present disclosure. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items. In exemplary embodiments of the present disclosure, “at least one of A and B” may refer to “at least one of A or B” or “at least one of combinations of one or more of A and B”. In addition, “one or more of A and B” may refer to “one or more of A or B” or “one or more of combinations of one or more of A and B”.
It will be understood that when an element is referred to as being “connected” or “coupled” to another element, it can be directly connected or coupled to the other element or intervening elements may be present. In contrast, when an element is referred to as being “directly connected” or “directly coupled” to another element, there are no intervening elements present. Other words used to describe the relationship between elements should be interpreted in a like fashion (i.e., “between” versus “directly between,” “adjacent” versus “directly adjacent,” etc.).
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the present disclosure. As used herein, the singular forms “a,” “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “includes” and/or “including,” when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this present disclosure belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
A communication system to which exemplary embodiments according to the present disclosure are applied will be described. The communication system to which the exemplary embodiments according to the present disclosure are applied is not limited to the contents described below, and the exemplary embodiments according to the present disclosure may be applied to various communication systems. Here, the communication system may have the same meaning as a communication network.
Throughout the present disclosure, a network may include, for example, a wireless Internet such as wireless fidelity (WiFi), mobile Internet such as a wireless broadband Internet (WiBro) or a world interoperability for microwave access (WiMax), 2G mobile communication network such as a global system for mobile communication (GSM) or a code division multiple access (CDMA), 3G mobile communication network such as a wideband code division multiple access (WCDMA) or a CDMA2000, 3.5G mobile communication network such as a high speed downlink packet access (HSDPA) or a high speed uplink packet access (HSDPA), 4G mobile communication network such as a long term evolution (LTE) network or an LTE-Advanced network, 5G mobile communication network, or the like.
Throughout the present disclosure, a terminal may refer to a mobile station, mobile terminal, subscriber station, portable subscriber station, user equipment, access terminal, or the like, and may include all or a part of functions of the terminal, mobile station, mobile terminal, subscriber station, mobile subscriber station, user equipment, access terminal, or the like.
Here, a desktop computer, laptop computer, tablet PC, wireless phone, mobile phone, smart phone, smart watch, smart glass, e-book reader, portable multimedia player (PMP), portable game console, navigation device, digital camera, digital multimedia broadcasting (DMB) player, digital audio recorder, digital audio player, digital picture recorder, digital picture player, digital video recorder, digital video player, or the like having communication capability may be used as the terminal.
Throughout the present specification, the base station may refer to an access point, radio access station, node B (NB), evolved node B (eNB), base transceiver station, mobile multihop relay (MMR)-BS, or the like, and may include all or part of functions of the base station, access point, radio access station, NB, eNB, base transceiver station, MMR-BS, or the like.
Hereinafter, preferred exemplary embodiments of the present disclosure will be described in more detail with reference to the accompanying drawings. In describing the present disclosure, in order to facilitate an overall understanding, the same reference numerals are used for the same elements in the drawings, and duplicate descriptions for the same elements are omitted.
Referring to
For example, for the 4G and 5G communications, the plurality of communication nodes may support a code division multiple access (CDMA) based communication protocol, a wideband CDMA (WCDMA) based communication protocol, a time division multiple access (TDMA) based communication protocol, a frequency division multiple access (FDMA) based communication protocol, an orthogonal frequency division multiplexing (OFDM) based communication protocol, a filtered OFDM based communication protocol, a cyclic prefix OFDM (CP-OFDM) based communication protocol, a discrete Fourier transform spread OFDM (DFT-s-OFDM) based communication protocol, an orthogonal frequency division multiple access (OFDMA) based communication protocol, a single carrier FDMA (SC-FDMA) based communication protocol, a non-orthogonal multiple access (NOMA) based communication protocol, a generalized frequency division multiplexing (GFDM) based communication protocol, a filter bank multi-carrier (FBMC) based communication protocol, a universal filtered multi-carrier (UFMC) based communication protocol, a space division multiple access (SDMA) based communication protocol, or the like.
In addition, the communication system 100 may further include a core network. When the communication system 100 supports the 4G communication, the core network may comprise a serving gateway (S-GW), a packet data network (PDN) gateway (P-GW), a mobility management entity (MME), and the like. When the communication system 100 supports the 5G communication, the core network may comprise a user plane function (UPF), a session management function (SMF), an access and mobility management function (AMF), and the like. Meanwhile, each of the plurality of communication nodes 110-1, 110-2, 110-3, 120-1, 120-2, 130-1, 130-2, 130-3, 130-4, 130-5, and 130-6 constituting the communication system 100 may have the following structure.
However, each component included in the communication node 200 may be connected to the processor 210 via an individual interface or a separate bus, rather than the common bus 270. For example, the processor 210 may be connected to at least one of the memory 220, the transceiver 230, the input interface device 240, the output interface device 250, and the storage device 260 via a dedicated interface.
The processor 210 may execute a program stored in at least one of the memory 220 and the storage device 260. The processor 210 may refer to a central processing unit (CPU), a graphics processing unit (GPU), or a dedicated processor on which methods in accordance with embodiments of the present disclosure are performed. Each of the memory 220 and the storage device 260 may be constituted by at least one of a volatile storage medium and a non-volatile storage medium. For example, the memory 220 may comprise at least one of read-only memory (ROM) and random access memory (RAM).
Referring again to
Here, each of the plurality of base stations 110-1, 110-2, 110-3, 120-1, and 120-2 may refer to a Node-B, a evolved Node-B (eNB), a base transceiver station (BTS), a radio base station, a radio transceiver, an access point, an access node, a road side unit (RSU), a radio remote head (RRH), a transmission point (TP), a transmission and reception point (TRP), an eNB, a gNB, or the like.
Here, each of the plurality of terminals 130-1, 130-2, 130-3, 130-4, 130-5, and 130-6 may refer to a user equipment (UE), a terminal, an access terminal, a mobile terminal, a station, a subscriber station, a mobile station, a portable subscriber station, a node, a device, an Internet of things (IoT) device, a mounted apparatus (e.g., a mounted module/device/terminal or an on-board device/terminal, etc.), or the like.
Meanwhile, each of the plurality of base stations 110-1, 110-2, 110-3, 120-1, and 120-2 may operate in the same frequency band or in different frequency bands. The plurality of base stations 110-1, 110-2, 110-3, 120-1, and 120-2 may be connected to each other via an ideal backhaul or a non-ideal backhaul, and exchange information with each other via the ideal or non-ideal backhaul. Also, each of the plurality of base stations 110-1, 110-2, 110-3, 120-1, and 120-2 may be connected to the core network through the ideal or non-ideal backhaul. Each of the plurality of base stations 110-1, 110-2, 110-3, 120-1, and 120-2 may transmit a signal received from the core network to the corresponding terminal 130-1, 130-2, 130-3, 130-4, 130-5, or 130-6, and transmit a signal received from the corresponding terminal 130-1, 130-2, 130-3, 130-4, 130-5, or 130-6 to the core network.
In addition, each of the plurality of base stations 110-1, 110-2, 110-3, 120-1, and 120-2 may support multi-input multi-output (MIMO) transmission (e.g., a single-user MIMO (SU-MIMO), multi-user MIMO (MU-MIMO), massive MIMO, or the like), coordinated multipoint (CoMP) transmission, carrier aggregation (CA) transmission, transmission in an unlicensed band, device-to-device (D2D) communications (or, proximity services (ProSe)), or the like. Here, each of the plurality of terminals 130-1, 130-2, 130-3, 130-4, 130-5, and 130-6 may perform operations corresponding to the operations of the plurality of base stations 110-1, 110-2, 110-3, 120-1, and 120-2, and operations supported by the plurality of base stations 110-1, 110-2, 110-3, 120-1, and 120-2. For example, the second base station 110-2 may transmit a signal to the fourth terminal 130-4 in the SU-MIMO manner, and the fourth terminal 130-4 may receive the signal from the second base station 110-2 in the SU-MIMO manner. Alternatively, the second base station 110-2 may transmit a signal to the fourth terminal 130-4 and fifth terminal 130-5 in the MU-MIMO manner, and the fourth terminal 130-4 and fifth terminal 130-5 may receive the signal from the second base station 110-2 in the MU-MIMO manner.
The first base station 110-1, the second base station 110-2, and the third base station 110-3 may transmit a signal to the fourth terminal 130-4 in the CoMP transmission manner, and the fourth terminal 130-4 may receive the signal from the first base station 110-1, the second base station 110-2, and the third base station 110-3 in the CoMP manner. Also, each of the plurality of base stations 110-1, 110-2, 110-3, 120-1, and 120-2 may exchange signals with the corresponding terminals 130-1, 130-2, 130-3, 130-4, 130-5, or 130-6 which belongs to its cell coverage in the CA manner. Each of the base stations 110-1, 110-2, and 110-3 may control D2D communications between the fourth terminal 130-4 and the fifth terminal 130-5, and thus the fourth terminal 130-4 and the fifth terminal 130-5 may perform the D2D communications under control of the second base station 110-2 and the third base station 110-3.
Hereinafter, decoding methods and apparatuses in a communication system will be described. Even when a method (e.g., transmission or reception of a data packet) performed at a first communication node among communication nodes is described, the corresponding second communication node may perform a method (e.g., reception or transmission of the data packet) corresponding to the method performed at the first communication node. That is, when an operation of a receiving node is described, a corresponding transmitting node may perform an operation corresponding to the operation of the receiving node. Conversely, when an operation of a transmitting node is described, a corresponding receiving node may perform an operation corresponding to the operation of the transmitting node.
Referring to
The first communication node may generate coded bits by performing an encoding operation according to a polar code scheme on information bits corresponding to information to be transmitted (S310). The step S310 may be performed by a polar encoder included in the first communication node, and operations of the polar encoder may be controlled by a processor included in the first communication node (e.g., processor 210 shown in
The first communication node may generate modulated symbols by performing a modulation operation on the coded bits or transmission symbols configured with the coded bits (S320). The step S320 may be performed by a modulator included in the first communication node, and operations of the modulator may be controlled by a processor included in the first communication node (e.g., processor 210 shown in
Here, the signal may include a reference signal (e.g., channel state information-reference signal (CSI-RS), demodulation-reference signal (DM-RS), phase tracking-reference signal (PT-RS), etc.). The channel may be a physical downlink control channel (PDCCH), a physical downlink shared channel (PDSCH), a physical uplink control channel (PUCCH), a physical uplink shared channel (PUSCH), a physical broadcast channel (PBCH), or a sidelink channel.
The second communication node may obtain demodulated symbols by performing a demodulation operation on the received signal and/or channel (S340). The step S340 may be performed by a demodulator included in the second communication node, and operations of the demodulator may be controlled by a processor included in the second communication node (e.g., processor 210 shown in
Referring to
[Equation 1]
Ai,j=[α0i,j, α1i,j. . . , αL
Ai,j may be transmitted from a parent node (or upper node) located in an upper layer to a child node (or lower node) located in a lower layer. When Ai,j is transmitted to nodes (e.g., V3,j) belonging to the last layer of the decoding tree, the nodes (e.g., V3,j) to which Ai,j is inputted may generate a decoding result (e.g., hard decision result). The decoding result may be generated based on Ai,j and may be referred to as Bi,j. Bi,j may be defined as in Equation 2 below.
[Equation 2]
Bi,j=[β0i,j,β1i,j,62L
In
Specifically, the soft bits resulting from the step S340 shown in
In Equation 3, the function S may correspond to a sign function (or signum function). For example, S(x) may have a value of 1 when x is positive, S(x) may have a value of −1 when x is negative, and S(x) may have a value of 0 when x is 0.
The above operations may be performed on all nodes Vi,j belonging to the decoding tree. Here, the size of A2,j input to the nodes V2,j belonging to the third layer of the decoding tree may be 2 bits, and the size of A3,j input to the nodes V3,j belonging to the fourth layer of the decoding tree may be 1 bit.
Meanwhile, Bi,j generated at the node Vi,j may be transmitted to a parent node (or upper node). The decoding result transmitted from the node V3,0 to the node V2,0 may be referred to as B3,0, and the decoding result transmitted from the node V3,1 to the node V2,0 may be referred to as B3,1. The node V3,0 may generate B2,0 based on Equation 4 below, and may transmit the generated B2,0 to V1,0.
[Equation 4]
βli,j=βli+1.2j⊕βli+1,2j+1 βl+Li+1i,j=βli+1,2j+1
The above operations may be performed in all nodes Vi,j belonging to the decoding tree, and the decoding operation may be completed when B0,0 is generated based on B1,0 and B1,1 at the node V0,0.
Decoding in the polar code scheme performed based on the SC decoding operation may have excellent decoding performance, but there is a problem in that the complexity or amount of decoding operations may greatly increase as the number of bits per symbol increases. When the receiving node performs decoding according to the polar code scheme, a technique for reducing computational complexity or amount of computation may be required.
In a polar encoder that performs encoding according to the polar code scheme, reliability (or bit capacity) of a communication channel may be polarized through polarization transform, and information or information bits to be transmitted may be transmitted through bit channels identified as having high reliability (or bit capacity) according to a result of the polarization transform. On the other hand, bit channels identified as having low reliability (or bit capacity) may be filled with predefined bits (e.g., frozen bits). The polarization transform in the polar encoder may be defined as a Kronecker power of a square matrix referred to as ‘kernel’. For the signal encoded by the polar code scheme based on the polarization transform as described above, the process of sequentially decoding the information bits may be facilitated. Specifically, when a bit channel for transmitting information is appropriately selected to ensure a sufficiently large channel capacity, all information bits can be sequentially restored without error propagation. In the encoding operation according to the polar code scheme, due to its structural characteristics, the number of coded bits that can be generated may have a form of a power of a kernel size (i.e., N=Ln).
N input bits may be input to the polar encoder configured with N bit channels. The N input bits may include one or more information bits and one or more frozen bits. The input bits may be expressed as ui(i=0, 1, . . . , N−1). The polar encoder to which N input bits are input may output N coded bits. The coded bits may be expressed as xi(i=0, 1, . . . , N−1) . The coded bits xi output from the polar encoder may constitute a transmission symbol.
Assuming that one transmission symbol consists of q bits, each symbol may correspond to an element of GF(Q) (Q=2q). Here, GF(Q) may mean a finite field or Galois filed having a magnitude of Q. When a primitive element of GF(Q) is α, a transmission symbol composed of coded bits xi output from the polar encoder may be expressed as Equation 5.
In Equation 5, ‘⊗n’ may mean an n-th power of the Kronecker product.
When the transmission symbol composed of coded bits xi is modulated at the transmitting node and transmitted to the receiving node through a radio channel, the receiving node may obtain a demodulated symbol through a demodulation operation. Here, the demodulated symbol may be composed of soft bits. The soft bits may be expressed as yi(i=0, 1, . . . , N−1) . In the polar decoder of the receiving node, likelihood values as in Equation 6 may be calculated based on the soft bits yi.
[Equation 6]
W(xi)=Pr(yi|xi)
In Equation 6, xi may correspond to the coded bits transmitted through a radio channel, and yi may correspond to soft bits received through the radio channel. In other words, xi and yi may correspond to inputs and outputs of the radio channel, respectively. In the polar decoder of the receiving node, W(ui) may be obtained from the soft bits yi or W(xi) calculated based on the soft bits yi, and ui corresponding to the input bits at the transmitting node may be restored. The receiving node may obtain information bits corresponding to the information to be transmitted from the transmitting node by excluding the frozen bits from the restored ui.
Here, the input bits ui encoded by the polar encoder of the transmitting node and included in the transmission symbol may be elements of Ai that is a subset of GF(Q), and information of Ai may be shared in advance between the transmitting node and the receiving node. That is, the polar decoder of the receiving node may achieve a coding gain in restoring ui by excluding elements not included in Ai (in other words, elements corresponding to the complement of Ai) from among the elements of GF(Q).
Referring to
Here, the 8 input bits ui may include 4 information bits and 4 frozen bits. Among them, the information bits may be mapped to bit channels having relatively high reliability among the bit channels. On the other hand, the frozen bits may be mapped to bit channels having relatively low reliability among the bit channels. In the polar encoder 510, an encoding operation may be performed based on α, which is a primitive element of GF(Q).
The structure of the polar encoder 510 shown in
In the butterfly architecture shown in
Equations 7 and 8, respectively.
[Equation 7]
b2=b0+αb1
[Equation 8]
b3=b1
The nodes constituting the polar encoder 510 shown in
Referring to
The structure of the polar decoder 530 shown in
In the butterfly architecture shown in
The operations in the polar decoder 530 may correspond to the reverse process of the operations in the polar encoder 510. The operation unit of the polar decoder 530 shown in
The nodes constituting the polar decoder 530 shown in
Values output from the bit channels (or output nodes) of the polar decoder 530 shown in
Based on the 8 W(ui) values, 8 ûi values may be calculated. Here, the 8 ûi values may correspond to a result of the decoding operation of the polar decoder 530. In other words, the 8 ûi values may be estimated as a result of restoration of the 8 ui values input to the polar encoder 510 in the transmitting node. The eight ûi values may be calculated as in Equation 11.
Equation 11 may mean that one element among the elements of the set Ai=A2m+k shared in advance between the transmitting node and the receiving node, that that maximizes the value of W(ui)=Wk(u2m+k), is defined as û2m+k. In other words, an element that maximizes the value of W(ui) output from the polar decoder 530 among the elements of the set Ai shared in advance between the transmitting node and the receiving node may be estimated as the result of restoration of ui.
When a value of W corresponding to an arbitrary node is W(⋅), W(⋅) may have a value between 0 and 1. Therefore, a value obtained by taking −log of W(⋅) (i.e., −log(W(⋅))) may have a value of 0 or more and may be numerically stabilized. As described above, by taking −log of W(⋅), it is possible to reduce sensitivity to a quantization error in the decoding operation process. {tilde over (W)}k(⋅) corresponding to a converted value of W(⋅) for an arbitrary node may be calculated as in Equation 12.
Equations 9 and 10 may be rewritten as Equations 13 and 14 based on Equation 12.
Here, Equation 13 may be approximated as Equation 15.
In Equation 15, the term Z(b0,b1(opt))) may express the most dominant component in {tilde over (W)}0(b0), which is a transform value of W0(b0) expressed as in Equation 13. Meanwhile, in Equation 15, the term −log (Σb
The polar decoder 530 having the structure shown in
for identifying b1 that minimizes a value of Z(b0,b1) for each b0 among all elements of GF(Q) may be performed. That is, the operation of Equation 15 may have a complexity proportional to a square of the magnitude of GF(Q) (in other words, square of Q). Therefore, for efficient decoding operations in the polar decoder 530, a decoding algorithm for simplifying the operation of Equation 15 may be required.
Referring to
In each operation unit described with reference to
In each operation unit described with reference to
In the decoding operation algorithm shown in
Thereafter, the polar decoder may perform an iterative loop operation such as the following steps S604 to S616 for all b0∈GF(Q) (S603). In other words, the polar decoder may repeatedly perform operations as in the steps S604 to S616 for each of all b0∈GF(Q).
As an initial condition of the iterative loop operation, the polar decoder may define a value of a first variable β as a first initial value (S604) and a value of a second variable y as a second initial value (S605). Here, the first initial value and the second initial value may be set to a value greater than the maximum value that the Z function defined in Equation 15 can have. The first initial value and the second initial value may be set as maximum values configurable in the system. The first initial value and the second initial value may be set to the same value or set to different values.
Then, the polar decoder may perform the iterative loop operation, such as the following steps S606 to S614, for all k equal to or greater than 0 and less than or equal to Kmax (S606). Here, Kmax may correspond to a parameter related to the maximum number of iterative loop operations. Kmax may have any value greater than or equal to 0 and less than Q. As the value of Kmax increases, the complexity of the iterative loop operation of the steps S606 to S614 may increase.
In the steps S607 to S610, the polar decoder may set the values of the first variable β and the second variable γ based on k for each iteration during the iterative loop operation. Specifically, the polar decoder may calculate a value of a first function Z(b0, ck) in the k-th iteration. The polar decoder may compare the calculated value of the first function Z(b0,ck) with the value of the first variable β (S607). If the value of the first variable β in the k-th iteration is equal to or greater than the value of the first function Z(b0, ck) (S607), the polar decoder may substitute the value of the first variable β into the second variable γ (S608), and the value of the first function Z(b0, ck) into the first variable β (S609). In other words, if the value of the first variable β is equal to or greater than the value of the first function Z(b0, ck) (S607), the polar decoder may set the value of the second variable γ to the value of the first variable β at the corresponding time point (S608), and set the value of the first variable β may be set to the value of the first function Z(b0, ck) at the time (S609). On the other hand, if the value of the first variable β is smaller than the value of the first function Z(b0, ck) in the k-th iteration (S607), the polar decoder may not change the value of the first variable β and the value of the second variable γ (S610).
The polar decoder may determine whether to break the iterative loop operation of the steps S606 to S614 based on k in the steps S611 to S613 in the k-th iteration. Specifically, in the k-th iteration, a value of a second function Y(k) defined as in Equation 16 may be compared with the value of the first variable β (S611).
[Equation 16]
Y(k)={tilde over (W)}2(opt)+{tilde over (W)}3(ck+1)
The second function Y(k) defined as in Equation 16 may compare a sum (i.e., {tilde over (W)}2(opt)+{tilde over (W)}3(ck+1)) of the first lower limit value {tilde over (W)}2(opt) and the second input transform value {tilde over (W)}3(ck+1) for ck+1 with the value of the first variable β (S611). If the value of the first variable β in the k-th iteration is less than or equal to the value of the second function Y(k) (i.e., β≤{tilde over (W)}2(opt)+{tilde over (W)}3(ck+1)) (S611), the polar decoder may break the iterative loop operation of the steps S606 to S614 (S612), and may perform an operation according to the step S615.
On the other hand, when the value of the first variable β is greater than the value of the second function Y(k) in the k-th iteration (i.e., β>{tilde over (W)}2(opt)+{tilde over (W)}3(ck+1)) (S611), the polar decoder may re-perform the operation according to the steps S607 to S614 for the (k+1)-th iteration without breaking the iterative loop operation of the steps S606 to S614 (S613) (S606). If k is Kmax, the polar decoder may terminate the iterative loop operation of the steps S606 to S614 in the step S613 and perform the operation according to the step S615.
In the step S615, the polar decoder may calculate the first output transform value {tilde over (W)}0(b0) based on the value of the first variable β and the value of the second variable γ determined according to the iterative loop operation of the steps S606 to S614 as shown in Equation 17.
[Equation 17]
{tilde over (W)}0(b0)=β−log(1+exp(β−γ))
After performing the operations of the steps S604 to S615 for all b0∈GF(Q), the polar decoder may terminate the iterative loop operation (S616). The value of the first output transform value {tilde over (W)}0(b0) calculated until a time when the operations according to the steps S601 to S616 are terminated may be a result of the decoding operation algorithm shown in
Referring to the first lower limit value {tilde over (W)}2(opt) determined in the step S601 and the second input transform value {tilde over (W)}3 (i.e., {tilde over (W)}3(ck)<{tilde over (W)}3(ck+1)) sorted according to c values in ascending order in the step S602, if the value of the first variable β is less than or equal to the value of the second function Y(k) in the step S611 of the k-th iteration (i.e., β≤{tilde over (W)}2(opt)+{tilde over (W)}3(ck+1)), it may be determined that the value of the first variable β is not to be updated in subsequent iterations. Specifically, if the value of the first variable β is less than or equal to the value of the second function Y(k) in the step S611 of the k-th iteration (i.e., β≤{tilde over (W)}2(opt)+{tilde over (W)}3(ck+1)), it may be predicted that the value of the first variable β is less than the value of the first function (Z(b0, ck+1)={tilde over (W)}2(b0+αck+1)+{tilde over (W)}3(ck+1)) in the step S607 of the (k+1)-th iteration. If the value of the first variable β is smaller than the value of the first function Z(b0, ck+1) in the step S607, the value of the first variable β and the value of the second variable y may not to be updated (S610). Similarly, the value of the first variable β and the value of the second variable γ may not to be updated because the value of the first variable β is smaller than the value of the first function also in the step S611 of the (k+2)-th iteration and subsequent iterations (S610). In other words, when the value of the first variable β is less than or equal to the value of the second function Y(k) in the step S611 of the k-th iteration (i.e., β≤{tilde over (W)}2(opt)+{tilde over (W)}3(ck+1)), Equation 18 may be established for arbitrary m satisfying k<m≤Kmax.
β<{tilde over (W)}2(b0+αcm)+{tilde over (W)}3(cm), k<m≤Kmax
That is, if the value of the first variable β is less than or equal to the value of the second function Y(k) in the step S611 of the k-th iteration, the value of the first variable β and the value of the second variable γ may not be updated in the (k+1)-th iteration and subsequent iterations. In other words, if the value of the first variable β is less than or equal to the value of the second function Y(k) in the step S611 of the k-th iteration, even though operations according to the subsequent iterations are performed, the result of the decoding operation (i.e., the calculation result of the first output transform value {tilde over (W)}0(b0) according to the step S615 and Equation 17) may not be affected. According to the operation of breaking the iterative loop operation (S612) based on the determination result of the step S611, the polar decoder may not perform operations after a specific iteration that will not affect the decoding operation result. Accordingly, the polar decoder may omit or skip an unnecessary amount of calculations that do not affect the final calculation result, and the efficiency of the decoding operation of the polar decoder can be improved.
According to exemplary embodiments of a polar code-based decoding method and apparatus in a communication system, decoding operations based on the polar code scheme can be efficiently performed at a receiving node receiving signals encoded and transmitted by a transmitting node based on the polar code scheme. A polar decoder of the receiving node may operate to terminate an iterative loop decoding operation in a specific iteration, when it is determined that subsequent operations thereafter will not affect a final calculation result. As such, by early terminating or breaking the iterative loop decoding operation, the unnecessary amount of computations that do not affect the final calculation result can be skipped. Accordingly, the complexity or amount of calculations of the decoding operations can be reduced, and efficiency can be improved.
However, the effects that can be achieved by the polar code-based decoding method and apparatus in a communication system according to the exemplary embodiments of the present disclosure are not limited to those mentioned above, and other effects not mentioned may be clearly understood by those of ordinary skill in the art to which the present disclosure belongs from the configurations described in the present disclosure.
The exemplary embodiments of the present disclosure may be implemented as program instructions executable by a variety of computers and recorded on a computer readable medium. The computer readable medium may include a program instruction, a data file, a data structure, or a combination thereof. The program instructions recorded on the computer readable medium may be designed and configured specifically for the present disclosure or can be publicly known and available to those who are skilled in the field of computer software.
Examples of the computer readable medium may include a hardware device such as ROM, RAM, and flash memory, which are specifically configured to store and execute the program instructions. Examples of the program instructions include machine codes made by, for example, a compiler, as well as high-level language codes executable by a computer, using an interpreter. The above exemplary hardware device can be configured to operate as at least one software module in order to perform the embodiments of the present disclosure, and vice versa.
While the exemplary embodiments of the present disclosure and their advantages have been described in detail, it should be understood that various changes, substitutions and alterations may be made herein without departing from the scope of the present disclosure.
Number | Date | Country | Kind |
---|---|---|---|
10-2021-0022858 | Feb 2021 | KR | national |
10-2022-0021609 | Feb 2022 | KR | national |