Provided are a method and an apparatus for performing a HARQ based on a polar code in a wireless communication system. The apparatus transmits multiple first output bits, which are generated from multiple first input bits, to a receiver. Upon receiving a retransmission request, the apparatus generates multiple second output bits from multiple second input bits. The apparatus selects multiple third output bits from among the multiple second output bits, and transmits the selected multiple third output bits to the receiver. bits, which are encoded differently from the multiple first output bits among the multiple second output bits, are preferentially selected as the multiple third output bits.
|
1. A method for performing a hybrid Automatic Repeat reQuest (HARQ) based on a polar code, comprising:
acquiring, by a transmitter, a plurality of first input bits being inputted to a first encoder from a plurality of mother bits having at least one information bit and at least one frozen bit;
transmitting, by the transmitter to a receiver, a plurality of first output bits being generated from the first input bits by the first encoder;
receiving, by the transmitter, a re-transmission request for the plurality of mother bits from the receiver;
acquiring, by the transmitter, a plurality of second input bits being inputted to a second encoder from the plurality of mother bits;
generating, by the transmitter, a plurality of second output bits being generated from the second input bits by the second encoder;
selecting, by the transmitter, a plurality of third output bits from the plurality of second output bits; and
transmitting, by the transmitter, the plurality of third output bits to the receiver,
wherein the plurality of second input bits include at least one information bit being included in the plurality of first input bits, and
wherein, among the plurality of second output bits, bits being encoded differently from the plurality of first input bits are preferentially selected as the third output bits.
10. A device for performing a hybrid Automatic Repeat request (HARQ) based on a polar code, comprising:
a radio frequency (rf) unit transmitting and receiving radio signals; and
a processor controlling the rf unit and including a first encoder and a second encoder,
wherein the processor is configured to:
acquire a plurality of first input bits being inputted to a first encoder from a plurality of mother bits having at least one information bit and at least one frozen bit,
transmit a plurality of first output bits being generated from the first input bits by the first encoder to a receiver,
receive a re-transmission request for the plurality of mother bits from the receiver,
acquire a plurality of second input bits being inputted to a second encoder from the plurality of mother bits,
generate a plurality of second output bits being generated from the second input bits by the second encoder,
select a plurality of third output bits from the plurality of second output bits, and
transmit the plurality of third output bits to the receiver,
wherein the plurality of second input bits include at least one information bit being included in the plurality of first input bits, and
wherein, among the plurality of second output bits, bits being encoded differently from the plurality of first input bits are preferentially selected as the third output bits.
2. The method of
wherein, within the plurality of second input bits, the information bit is positioned to a position having a better channel quality for the second encoder as compared to the frozen bit.
3. The method of
wherein the second encoder generates the plurality of second output bits by performing XOR operation between the plurality of second input bits.
4. The method of
5. The method of
6. The method of
7. The method of
wherein the second generator matrix has a greater size than the first generator matrix.
8. The method of
9. The method of
11. The device of
wherein, within the plurality of second input bits, the information bit is positioned to a position having a better channel quality for the second encoder as compared to the frozen bit.
12. The device of
wherein the second encoder generates the plurality of second output bits by performing XOR operation between the plurality of second input bits.
13. The device of
14. The device of
15. The device of
|
This application is the National Stage filing under 35 U.S.C. 371 of International Application No. PCT/KR2017/008648, filed on Aug. 9, 2017, which claims the benefit of U.S. Provisional Application No. 62/372,369, filed on Aug. 9, 2016, the contents of which are all hereby incorporated by reference herein in their entirety.
The present invention relates to wireless communications. More particularly, the present invention relates to a method for performing HARQ using polar codes.
It is important to transfer data without error from a transmitter to a receiver in a data communication system. In 1948, Shannon mathematically investigated a limitation of a maximum data transfer rate at which data can be transferred without error, which is called channel capacity. In order to implement a real communication system close to the channel capacity, an error correction code having implementable complexity must exist. Several types of error correction codes have been developed since 1948, and turbo codes and low density parity check (LDPC) or the like have been developed relatively recently as error correction codes which exhibit performance close to channel capacity of Shannon. However, although these codes exhibit performance close to the channel capacity of Shannon, accurate channel capacity is not achieved. A polar code has recently been developed as a code which completely satisfies the channel capacity mathematically while satisfying such a problem.
Hybrid Automatic Repeat request (HARQ) corresponds to a technique that can recover an error by requesting a retransmission, when a packet having an error is receiver. Various studies have been conducted on a polar coding-based HARQ scheme which combines polar coding and HARQ. However, according to the schemes proposed up to now, the polar code has not been constructed to improve information of channel polarization which is basic concept of polar coding.
This specification provides a method and apparatus for performing HARQ based on a polar code in a wireless communication system.
According to an aspect, provided herein is a method for performing a Hybrid Automatic Repeat reQuest (HARQ) based on a polar code. The method may include the steps of acquiring, by a transmitter, a plurality of first input bits being inputted to a first encoder from a plurality of mother bits having at least one information bit and at least one frozen bit, transmitting, by the transmitter, a plurality of first output bits being generated from the first input bits by the first encoder to a receiver, receiving, by the transmitter, a re-transmission request for the plurality of mother bits from the receiver, acquiring, by the transmitter, a plurality of second input bits being inputted to a second encoder from the plurality of mother bits, generating, by the transmitter, a plurality of second output bits being generated from the second input bits by the second encoder, selecting, by the transmitter, a plurality of third output bits from the plurality of second output bits, transmitting, by the transmitter, the plurality of third output bits to the receiver.
The plurality of second input bits may include at least one information bit being included in the plurality of first input bits.
Among the plurality of second output bits, bits being encoded differently from the plurality of first input bits may be preferentially selected as the third output bits.
According to another aspect, provided herein is a device for performing a Hybrid Automatic Repeat request (HARQ) based on a polar code, which includes a radio frequency (RF) unit transmitting and receiving radio signals, and a processor controlling the RF unit and including a first encoder and a second encoder. The processor may be configured to acquire a plurality of first input bits being inputted to a first encoder from a plurality of mother bits having at least one information bit and at least one frozen bit, to transmit a plurality of first output bits being generated from the first input bits by the first encoder to a receiver, to receive a re-transmission request for the plurality of mother bits from the receiver, to acquire a plurality of second input bits being inputted to a second encoder from the plurality of mother bits, to generate a plurality of second output bits being generated from the second input bits by the second encoder, to select a plurality of third output bits from the plurality of second output bits, and to transmit the plurality of third output bits to the receiver.
While performing the HARQ, the error likelihood may be reduced, and the number of re-transmission sessions may be reduced. Additionally, diverse polar codes having reduced calculation (or computation) are proposed to best fit the computing power of a device (or apparatus).
The most essential object of digital communication is to transmit information that is configured of digital bits from a transmitting end to a receiving end as fast as possible without any error. The two main methods that can be used in order to perform such error-free transmission of information correspond to an Automatic Repeat Request (ARQ) method and an error correction code method. Firstly, the ARQ method operates as described below. When a transmitting end initially transmits an information packet, a cyclic redundancy check (CRC) is included in the transmitted information packet. Thereafter, a receiving end checks whether or not an error exists in the received packet through the CRC, and, then, the receiving end notifies the checked result to the transmitting end through a feedback channel. If the transmitting end is notified by the receiving end that the packet previously transmitted by the transmitting end has been received without error, the transmitting end newly transmits a next packet. Conversely, if the transmitting end is notified that an error has occurred in the previously transmitted packet, the transmitting end re-transmits the previously transmitted packet in which the error has occurred.
The other main method that is used for overcoming errors occurring in a channel corresponds to the error correction code method. An error correction code that can achieve a channel capacity for a binary input/output channel has been developed very recently, and such error correction code is referred to as a polar code. If a polar code is used, channel polarization occurs. And, as a result, only two types of bit channels exist. Bit channels belonging to a first group have excellent quality (i.e., error hardly occurs), and bit channels belonging to a remaining group have very poor quality (i.e., error almost always occurs). In polar coding, information bits are transmitted through the bit channels having excellent quality, and bits that have been notified in advance to the transmitting/receiving ends are transmitted through the bit channels having very poor quality. Herein, such bits that have been notified in advance are referred to as frozen bits. As described above, a process of differentiating bits channels having excellent quality from bit channels having very poor quality and allocating information bits only to positions located in the bit channels having excellent quality is referred to as an optimal information bit allocation.
An HARQ method corresponds to a combination of the ARQ method and the error correction code method. Various types of HARQ methods exist in accordance with the error correction code that is used. The HARQ method that is considered in the present invention corresponds to a polar code based HARQ method consisting of a combination of a polar code that is known to achieve channel capacity and ARQ. In case of implementing the polar code based HARQ, at first, a mother code having a low transmission rate is configured. Thereafter, the mother code is punctured so as to configure multiple packets, and, then, the packets are transmitted one packet at a time. At this point, two different methods exist depending upon whether puncturing is to be performed after performing an optimal information bit allocation for the mother code or whether puncturing is performed on the mother code and then optimal information bits are allocated for a first packet afterwards. Hereinafter, the first method will be referred to as Method 1, and the second method will be referred to as Method 2.
In Method 1, an optimal information bit allocation for a length-8 mother code is first executed. In this case, information bits are allocated for 4 bit channels each having a large channel capacity C(Wi), and frozen bits are allocated to the remaining bit channels. More specifically, information bits are allocated for U8, U7, U6, and U4, and frozen bits are allocated for the remaining 4 input bits. Thereafter, puncturing is performed for the 4 bit channels, thereby generating a first packet. In the HARQ, since all of the information bits that are transmitted shall be included in the first packet, the first packet is configured to include (U8,Y8), (U7, Y7), (U6, Y6), and (U4, Y4).
In Method 2, puncturing is first performed without any allocation of the information bits. The method of obtaining an optimal polar code by puncturing 4 bits in the length-8 mother code punctures the last 4 bits. More specifically, the first packet is given as (U8, Y8), (U7, Y7), (U6, Y6), and (U5, Y5). Thereafter, the optimal information bit allocation is performed on the first packet. In the example given in
Each of Method 1 and Method 2 has its advantages and disadvantages. According to Method 1, when transmitting multiple packets that are generated by puncturing the mother code, in a case where a large number of packets are transmitted and such transmitted packets are combined (or aggregated) in the receiving end and then decoded, its performance becomes nearly optimal. However, since the allocation of the information bits has been optimized in light of the mother code and not the initial packet, for the initial packet or the earlier packets, the performance becomes less optimal. Additionally, since information bits have already been allocated for the mother code, when performing puncturing in order to obtain multiple packets, since a condition necessarily requiring the information bits, which were allocated in advance, to be included should be satisfied, it is difficult to obtain an optimal packet by performing optimal puncturing. For example, when referring to Method 1 of
Method 2 has advantages and disadvantages that are opposite to those of Method 1. Method 2 is advantageous in that, since the optimization of the information bit allocated is carried out for the first packet, optimal performance may be ensured when transmitting the first packet. Additionally, when performing puncturing for obtaining the first packet, since information bits are not allocated in advance for the mother code, optimal puncturing may be performed. For example, referring to the case of Method 2 shown in
Hereinafter, a method that is proposed in order to resolve the disadvantages of Method 1 and Method 2 will be described in detail. Firstly, in order to resolve the disadvantages (or problems) of Method 1 and Method 2 at the same time, a method wherein the allocation of the information bit is excellent for the first packet as well as for the subsequent packet is proposed. Secondly, a method having an optimal tradeoff in light of a decoding error likelihood and transmission efficiency is proposed. And, thirdly, a method having a suboptimal tradeoff in light of a decoding error likelihood having a reduced level of complexity and transmission efficiency is proposed.
In order to simplify the discussions on the method proposed in the present invention, a case where the mother code is punctured and divided into only two packets (a first packet and a second packet) will be considered herein. In an actual HARQ, the mother code may be punctured to two or more packets. However, the discussion on such case will be made later on in Section 3. In this section (Section 1) and Section 2, only the case where the mother code is configured of two packets will be considered.
The method that is first proposed in this section will be referred to as Method 3, and the object of this method is to allow the allocation of the information bits to be optimal for both the first packet and the second packet.
Hereinafter, the mother code (or mother bit sequence) includes a plurality of mother bits. The plurality of mother bits includes at least one information bit and at least one frozen bit. A mother encoder is used for encoding the mother code. An encoder that is used during an initial transmission of the HARQ is referred to as a first encoder, and an encoder that is used during a re-transmission of the HARQ is referred to as a second encoder. The first encoder is obtained by puncturing the mother encoder, and the second encoder corresponds to the mother encoder itself, or the second encoder is obtained by puncturing the mother encoder. Bits being inputted to each encoder are referred to as input bits, and bits being inputted to each encoder are referred to as output bits.
Firstly, the first packet (input bits of the first encoder) is configured by puncturing the mother code without performing any allocation of the information bits, and, then, information bits are optimally allocated for the first packet. Thereafter, when transmitting the second packet, the object of the present invention is to allocate optimal information bits. In order to do so, information bits are also optimally allocated for the second packet (input bits of the second encoder). Afterwards, among the reception signals of the first packet, only the signals that can be immediately re-used by the receiving end may be used for decoding the mother code. At this point, the remaining signals that are additionally needed are re-transmitted by the transmitting end. Hereinafter, the signals that can be immediately re-used and the remaining signals that are additionally needed are defined as described below.
For example, it will be given that a length-8 mother code is considered, and that the mother encoder uses a generator matrix G8, which is shown below.
When input signals for the mother code are given as U′=[U1′, U2′, . . . , U8′], the coded signals X′=[X1′, X2′, . . . , X8′] are given as shown below.
X′=U′G8 [Equation 2]
Signals that are received when X′ is transmitted through channel W are given as Y′=[Y1′, Y2′, . . . , Y8′]. Then, by selecting (i.e., by puncturing) a 4×4 matrix corresponding to a lower right portion of G8, a generator matrix G4 of a length-4 polar code is obtained as shown below. The first encoder uses a generator matrix G4.
When input signals for the first packet are given as U=[U1, U2, U3, U4], the coded signals X=[X1, X2, X3, X4] are given as shown below.
X=UG4 [Equation 4]
Signals that are being received when X is transmitted through channel W are referred to as Y=[Y1, Y2, Y3, Y4]. In Method 3, which is proposed in the present invention, optimal information bit allocation is performed on U′ and U. In a case where 4 information bits are allocated, the optimal method is as shown below.
U=[d1,d2,d3,d4]
U′=[0,0,0,d10,d2,d3,d4]. [Equation 5]
After allocating the above-described information bits, X′ and X are calculated by X=U′G8 and X=UG4. Thereafter, comparison is made between X5′ and X1, so as to determine whether X5′ and X1 are equal to or different from one another. Similarly, comparison is made between X6′ and X2, X7′ and X3, and X8′ and X4. The reason for performing such comparison is because G4 is obtained by puncturing the lower right 4×4 portion of G8. If X5′=X1, Y5′=Y1 may be used, and, herein, Y1 of the first packet corresponds to a signal that can be re-used in the mother code. If X5′≠X1, Y1 of the first packet corresponds to a signal that cannot be re-used in the mother code. By using the above-described method, it may be determined whether or not Y2, Y3, and Y4 are signals that can be re-used. In a case where the given U and U′ are used, Y1 is given as a signal that cannot be re-used, and Y2, Y3, and Y4 are given as signals that can be re-used. In this case, Y2, Y3, and Y4 are respectively used as Y6′, Y7′, and Y8′ of the mother code. Signals that are additionally needed in order to decode the mother code correspond to Y1′, Y2′, Y3′, Y4′, and Y5′. Therefore, in the second packet, the transmitter transmits X1′, X2′, X3′, X4′, and X5′.
In the first packet, after coding 4 information bits data 1, data 2, data 3, and data 4 by using the length-4 polar code, the coded bits Y1, Y2, Y3, and Y4 are transmitted. In case the receiving end decodes such packets without any error, an ACK is transmitted, and, in case error occurs during the decoding process, a NACK is transmitted. In case the transmitting end receives the NACK through a feedback channel, the transmitting end performs re-transmission of the mother code.
In order to perform the re-transmission, 4 information bits are inputted to the second encoder in positions where the channel capacity or the decoding reliability is maximized. In case 4 information bits are transmitted by a length-8 polar code, the optimal bit positions are U4, U6, U7, and U8. Then, 0, which corresponds to a frozen bit, is allocated to each of the remaining 4 input bit positions. When a comparison is made between the signals that are received in the first packet Y1, Y2, Y3, and Y4 and the signals that are received in the second packet Y1′, Y2′, Y3′, Y4′, Y5′, Y6′, Y7′, and Y8′, it will be apparent that Y2=Y6′, Y3=Y7′, and Y4=Y8′. Therefore, even if the receiver does not receive the last three signals of the second packet, the receive may re-use the previously received reception signals of the first packet. In order to perform decoding of the length-8 polar code, the receiver needs the remaining 5 reception signals Y1′, Y2′, Y3′, Y4′, and Y5′. For this, the transmitter transmits the 5 coded bits X1, X2, X3, X4, and X5.
When transmitting the second packet, bits that are encoded by using the same method as the first packet are preferentially excluded from the second packet. Bits that are encoded by using a method being different from the first packet are preferentially allocated to the second packet. Based on the above-described generator matrix, the encoding process refers to a process of performing an XOR calculation on the input bits of the encoder.
A method of preferentially selecting, among the plurality of second output bits, bits being processed with XOR operation that are different from the plurality of first bits or bits being processed with a number of XOR operations that is different from the plurality of first bits. Herein, it is given that, among the output bits of the second encoder, the output bits of the first encoder are the same as the bits being processed with the XOR operation, and that the bits being processed with the same number of XOR operations have been identically encoded. Herein, it is also given that, among the output bits of the second encoder, the output bits of the first encoder are not the same as the bits being processed with the XOR operation, or that the bits being processed with the different number of XOR operations have been differently encoded.
Hereinafter, a comparison will be made between Method 3 of
As described above, Method 3 has both the advantages of Method 1 and the advantages of Method 2. However, Method 3 is disadvantageous in that a larger number of coded bits need to be transmitted from the second packet. For example, in Method 1 of
In the previous section, Method 3 was proposed, and this was compared with Method 2. Each of Method 2 and Method 3 has a tradeoff in light of error performance and efficiency. And, proposed herein is a method for enhancing such tradeoff.
By reconsidering the case where a length-4 first packet is obtained by puncturing the length-8 mother code, which was considered in Section 1, an optimal method having optimal performance in light of both efficiency and error likelihood is proposed herein.
This may be verified (or checked) as described below. In the first packet, it is given that X1=data 1+data 2+data 3+data 4. Herein, ‘+’ corresponds to a modulo 2 arithmetic. In the second packet, it is given that X1′=U1+U2+U3+U4+U5+U6+U7+U8. Herein, however, since each of U1, U2, U3, and U5 corresponds to a frozen bit 0, it will be given that X1′=U4+U6+U7+U8=data 1+data 2+data 3+data 4.
The reason for the above-described equation may be indicated in the form of an equation by using a generator matrix G of a polar code. In the optimal method, the generator matrix G4 of the length-4 polar code corresponding to the first packet and the generator matrix G8 of the length-8 polar code corresponding to the mother code are given as described in the previous section. Additionally, a coded bit vector X of the first packet and a coded vector X′ of the mother code are given as shown below.
X=[X1,X2,X3,X4]=UG4
X′=[X1′,X2′,X3′,X4′,X5′,X6′,X7′,X8′]=U′G8 [Equation 6]
Herein, however, U and U′ indicate source information bit vectors for the first packet and the mother code as shown below.
U=[U1,U2,U3,U4]
U′=[U1′,U2′,U3′,U4′,U5′,U6′,U7′,U8′]. [Equation 7]
In a case where 4 information bits are transmitted, the optimal bit allocation is given as shown below.
U=[d1,d2,d3,d4]
U′=[0,0,0,d10,d2,d3,d4]. [Equation 8]
As a result, the coded bit vectors are given as shown below.
Eventually, it will be apparent that the following relationship can be established.
X1=X1′
X2=X6′
X3=X7′
X4=X8′ [Equation 10]
The results of the comparison between Method 2, Method 3, and the optimal method, which is proposed in this section, in light of performance and efficiency of the error likelihood are given as shown in
Herein, the generator matrix of the mother code is referred to as matrix Gñ having a size of ñ×ñ, and the generator matrix of the code corresponding to the first packet, which is obtained by puncturing the generator matrix Gñ of the mother code, is referred to as matrix Gn having a size of n×n. Hereinafter, the following sets will be described in detail as listed below.
Φallinit: This indicates an index set of all rows of the generator matrix Gn of a code being transmitted through the first packet. Generally, this is given as Φallinit={1, 2, . . . , n}.
Φall: This indicates a set indicating indexes of row belonging to that are Φallinit positioned within Gñ. Generally, this is given as Φall=(ñ−n)+Φallinit={(ñ−n)+1, (ñ−n)+2, . . . , ñ}.
Φzero=[ϕ1z, . . . , ϕn
Φinfo: This indicates a set of rows corresponding to the information bits among the rows belonging to Φall.
Φinfo′=[ϕ1′, . . . , ϕL′′]: Among the information bits corresponding to the rows belonging to Φinfo, this indicates a set of rows always being used in the second packet in order to transmit information bits when the information bits are allocated by using an optimal method.
Φinfo″=[ϕ1″, . . . , ϕL″″]: Among the information bits corresponding to the rows belonging to Φinfo, this indicates a set of rows that may not be used in the second packet in order to transmit information bits when the information bits are allocated by using an optimal method.
Ψ=[ψ1, . . . , ψ
For example, as shown in the example that is presented above, when assuming a case where a first packet having a length of 4 is configured from the length-8 mother code and 4 information bits are transmitted, the above-described sets are given as shown below.
Φallinit=[1,2,3,4]
Φall=(8−4)+Φallinit=[5,6,7,8]
Φzero=∅
Φinfo=[5,6,7,8]
Φinfo′=[5]
Φinfo″=[6,7,8]
Ψ=[4,5] [Equation 11]
Hereinafter, the optimal transmission method may be obtained as described below.
(Step 1): Sets are determined as Φallinit, Φall, Φzero, Φinfo, Φinfo′, Φinfo″, Ψ. 8, rows corresponding to Φinfo′ are indicated in the generator matrix Gn for the code corresponding to the first packet, and rows corresponding to Ψ are indicated in the generator matrix Gñ for the mother code.
(Step 2): L′ number of elements are selected from set Ψ having
(Step 3): The rows corresponding to the selected number of elements within the mother code are used to replace the rows corresponding to Φinfo′. The right side drawing of
(Step 4): A generator matrix n×ñ is configured by selecting a last n column of the generator matrix, which is configured in (Step 3). Thereafter, only n number of columns are selected and aligned, thereby configuring a new generator matrix having the size of n×n. Herein, a set of the selected and aligned specific n number of columns is indicated as θ.
(Step 5): XOR operation is performed on each element of the generator matrix Gn corresponding to the code of the initial first packet, which is used in (Step 1), and the n×n generator matrix, which is configured in (Step 4). Subsequently, an OR operation is performed for each column for the n×n matrix, which is obtained by the operation. As a result, a 1×n row is obtained, and this row is indicated as z. In the obtained row z, if an element corresponds to 0, a column corresponding to a position of the element indicates a received signal, which can be re-used in the first packet. And, if an element corresponds to 1, a column corresponding to a position of the element indicates a received signal, which cannot be re-used in the first packet.
(Step 6): The efficiency ε(μ,θ). is calculated by using the method shown below.
Herein, weight(z) indicates a Hamming weight of a column vector z.
Additionally, an average error likelihood Pb(μ) of bit channels for the information bits corresponding to set μ. of the specific rows that are currently being used is calculated. Herein, since θ influences only the efficiency and does not influence the error likelihood of the average information bits, although the efficiency is indicated by a function of μ. and θ, the average error likelihood is indicated only a function of μ.
(Step 7): The process is returned to (Step 4), and then (Step 5) and (Step 6) are repeated for all possible cases of column selection. More specifically, (Step 5) and (Step 6) are repeated by considering all possible θ values, and the number of all possible θ values is given as
The average error likelihood is calculated with the given efficiency for the total number of possible cases of column selection, and specific θ values providing minimum likelihood at the same efficiency are calculated. Alternatively, a θ value providing maximum efficiency for the same error likelihood is calculated.
(Step 8): The process is returned to (Step 2), and then (Step 3) to (Step 7) are repeated for all possible cases of row selection. More specifically, (Step 3) to (Step 7) are repeated by considering all possible μ. values, and the number of all possible μ. values is given as
The average error likelihood is calculated with the given efficiency for the total number of possible cases of row selection, and specific μ. values providing minimum likelihood at the same efficiency are calculated. Alternatively, a μ. value providing maximum efficiency for the same error likelihood is calculated.
If an optimal transmission method is obtained by using the above-described method, a transmission method having a tradeoff such as a “best tradeoff curve” shown in
The optimal transmission method that is developed in the above-described section provides an optimal tradeoff in light of error performance and efficiency. However, in order to obtain the methods corresponding to the points positioned on the optimal tradeoff curve, all likelihood of column selection (wherein the total number of cases corresponds to
and all likelihood of row selection (wherein the total number of cases corresponds to
should be considered. Such calculation of all possible cases is not required to be carried out in real-time. Accordingly, an optimal transmission method may be calculated in advance by using a sufficient amount of time and calculation. Thereafter, only the final transmission method may be stored in the system. Nevertheless, if the ñ, n,
In this section, a case where the length of the mother code is two times the length of the first packet is considered, i.e., a case where ñ=2n is considered. This case corresponds to a very important case even in an actual transmission environment. This is because the length of the optimal polar code is equal to an exponential power of 2.
In the case where ñ=2n, the level of complexity for performing row selection may be reduced significantly. More specifically, an optimal θ may be obtained at a considerably low level of complexity. The essential idea of this method relates to calculating only a correlation between rows being replaced by other rows and the other rows that replace the existing rows within the generator matrices of the polar code, instead of calculating the efficiency by performing a comparison between two different matrices. The actual implementation may be achieved as described below.
Firstly, (Step 1) to (Step 3) are the same as the method proposed in the previous section. Thereafter, instead of comparing the two matrices, a correlation between selected rows that replace existing rows and the existing rows that are being replaced is calculated. For this (Step 4) is modified (or varied) as described below.
(Step 4): Rows that are to be replaced are separated from the generator matrix G of the first packet. This concept is shown in a lower part of
(Step 5): Firstly, an XOR operation is carried out for each element between the two groups of rows that are separated in (Step 4). Thereafter, an OR operation is carried out for each column. Finally, an AND operation is carried out between the two 1×n rows that are obtained. As a result, a 1×n row is obtained, if an element corresponds to 0, a column corresponding to a position of the element indicates a received signal, which can be re-used in the first packet. And, if an element corresponds to 1, a column corresponding to a position of the element indicates a received signal, which cannot be re-used in the first packet.
Subsequently, (Step 6) is the same as the above-described optimal method. However, this method does not require (Step 7), wherein repetitive operation is performed for all possible column selection. Accordingly, the level of complexity becomes significantly reduced at this point. (Step 8) is the same as the above-described optimal method.
This section describes a suboptimal method for reducing the level of complexity that is related with row selection. In (Step 8) of the original optimal method, the process returns to (Step 2) so as to consider all number of cases for the selection of all possible
number of rows. However, in this case, since the level of complexity is generally excessively high, it may be difficult to actually implement this process step. In order to resolve such problems, operation is performed only for the row selection cases that are actually useful.
For example, as shown in
Instead of performing operation for all cases, the amount of calculation may be sufficiently reduced by using a suboptimal method.
The method that is proposed in the present invention is shown in
M number of branches having a maximum correlation between the rows are selected.
Among the rows having an average error likelihood that is less than or equal to a predetermined standard, M number of branches are selected in order to maximize the correlation between the rows.
M number of branches are selected in order to minimize the error likelihood.
M number of branches are selected in order to minimize the error likelihood while allowing the correlation between the rows to be equal to or greater than a predetermined standard.
In the second step, a total of 5×4=20 branches initially exist. However, not all of these branches are selected. Firstly, since 4 branches are connected to each of the M number of branches that are selected in the first step, the number of possible branches is equal to 4M=4×3=12. As described above, among the 12 branches, M=3 number of branches are once again selected. Such selection may be performed by using any one of the above-described several reference standards. Finally, in the third step, a total of 5×4×3=60 branches initially exist. However, not all of these branches are selected. Firstly, since 3 branches are connected to each of the M number of branches that are selected in the first step and the second step, the number of possible branches is equal to 3M=3×3=9. As described above, among the 9 branches, M=3 number of branches are once again selected.
Such selection may be performed by using any one of the above-described multiple reference standards. In this example, although it is described that the same M number of branches, wherein M=3, are selected in all of the process steps, in an actual application, a different number of branches may be selected. More specifically, in the kth step, Mk number of branches may be selected.
This section proposes a method for reducing the level of complexity that is related to column selection.
The tree structure for a column selection is shown in
and the level of complexity in this case is generally considerably high. In order to reduce such high level of complexity, in each step, only M number of branches are selected. At this point, M number of branches having maximum correlation are selected in each step. More generally, different Mk number of branches may be selected in each step.
In this section, a method for simultaneously performing row selection and column selection will be described by using a tree structure. The tree structure corresponds to a matrix format having a size of L′×
Ωi,j(m)⊇Ωj,k(m+1),∀i,j,k,m [Equation 13]
In a kth step a total of Mk=Σi,j|Ωi,j(k)| branches are selected.
In the above-described sections, the essential idea of ‘Method 2’, ‘ ’Method 3’, and the ‘optimal method’ is first to puncture the mother code, and, then, after obtaining a first packet, performing optimal information bit allocation in the viewpoint of the first packet. In the actual communication environment, the size of the first packet may be determined to be of any size as long as the first packet satisfies condition of including all of the information bits is satisfied. A method of implementing Method 2, Method 3, and the optimal method to achieve the best performance relates to considering all possible sizes of the first packet, locating in advance the positions of the optimal information bit allocation for each size, storing the located positions in a memory of the system, and using the stored positions when needed. Thus, when the system is implemented, a best performance may be achieved. However, in the actual system, due to the level of complexity, limitations in the memory, and so on, it may be difficult to store in advance the positions of the optimal information bit allocation for all of the possible sizes of the first packet. In this case, by considering in advance only the cases corresponding to specific sizes of the first packet (this does not refer to all possible cases), only the positions of optimal information bit allocation for the considered cases are stored in the memory. In this case, in the actual communication environment, in case the size of the first packet is determined to be equal to a random value, the system uses the optimal information bit allocation, which is stored for a packet having the most similar size as the randomly determined size of the first packet. In case the actual packet size and the size of the packet having its optimal information bit allocation stored in the system are different from one another, the best performance may not be achieved. However, if the difference in size is not significant, the performance degradation may not be significant. Furthermore, by using the above-described method, the level of complexity or the required size of the memory in the system may be reduced.
In the above-described sections, for simplicity in the description, a HARQ, wherein the mother code is punctured and divided into two packets and then transmitted, was considered. Herein, a method having an optimal tradeoff between error likelihood and efficiency. This method may also be applied to a case of a HARQ, where the mother code is punctured and divided into two or more packets and then transmitted. In this case, the method proposed in the present invention may be applied between two packets that are transmitted while being adjacent to one another. For example, a case where the mother code is divided into 3 packets will be considered. In this case, an optimal transmission method may be developed by applying the method, which is developed in the previous section, between the first packet and the second packet. Thereafter, an optimal transmission method may be developed by applying the method, which is developed in the previous section, between the second packet and the third packet. By performing this method, in case the mother code is divided into a random N number of packets, by repeatedly using the method, which is proposed in the previous section, for N−1 number of times, an optimal transmission method may be proposed.
An overall method for performing HARQ by using a polar code having a random length may hereinafter be described in detail.
A transmitter generates a mother bit sequence having a size of M that is to be transmitted to a receiver. The mother bit sequence includes information bits that are intended to be transmitted to the receiver and frozen bits that are defined advance between the transmitter and the receiver.
The transmitter punctures a mother code so as to acquire a first input bit sequence having a random length of M. The transmitter calculates a mutual information size based on a likelihood distribution of a Log Likelihood Ratio (LLR) for the mother bit sequence, and, then, the transmitter may puncture the mother bit sequence so as to reduce any loss in the calculated mutual information size. At this point, the likelihood distribution of the LLR may be calculated by using Gaussian approximation. In this case, a ratio (i.e., transmission rate (or transfer rate)) between the information bits and frozen bits being included in the first bit sequence may be set up (or configured) by an indication signal, which is received in advance, or the corresponding ratio may be pre-configured in advance.
The transmitter determines the positions of the information bits and the frozen bits, so as to maximize the distribution of the channel capacity and/or mutual information size for the information bits and the frozen bits.
Thereafter, the transmitter generates the first input bit sequence to a first output bit sequence by a first encoder and transmits the generated first output bit sequence to the receiver. If a re-transmission request (i.e., NACK) is received from the receiver, the transmitter obtains a second input bit sequence from the mother bit sequence. Thereafter, the transmitter obtains a third input bit sequence that does not require any re-transmission from the obtained second input bit sequence. Finally, the transmitter generates the third input bit sequence to a second output bit sequence by a second encoder and transmits the generated second output bit sequence to the receiver.
The transmitter (2100) includes a processor (2110), a memory (2120), and a radio frequency (RF) unit (2130). The memory (2120) is connected to the processor (2110) to store various information for driving the processor (2110). The RF unit (2130) is connected to the processor (2110) to transmit and/receive a wireless signal. The processor (2110) implements a suggested function, procedure, and/or method. An operation of the transmitter according to the above embodiment may be implemented by the processor (2110).
The receiver (2150) includes a processor (2160), a memory (2170), and an RF unit (2180). The memory (2170) is connected to the processor (2160) to store various information for driving the processor (2160). The RF unit (2180) is connected to the processor (2160) to transmit and/receive a wireless signal. The processor (2160) implements a suggested function, procedure, and/or method.
A processor may include an application-specific integrated circuit (ASIC), another chipset, a logic circuit, and/or a data processor. A memory may include read-only memory (ROM), random access memory (RAM), a flash memory, a memory card, a storage medium, and/or other storage devices. An RF unit may include a baseband circuit to process an RF signal. When the embodiment is implemented, the above scheme may be implemented by a module (procedure, function, and the like) to perform the above function. The module is stored in the memory and may be implemented by the processor. The memory may be located inside or outside the processor, and may be connected to the processor through various known means.
In the above exemplary system, although methods are described based on a flowchart including a series of steps or blocks, the present invention is limited to an order of the steps. Some steps may be generated in the order different from or simultaneously with the above other steps. Further, it is well known to those skilled in the art that the steps included in the flowchart are not exclusive but include other steps or one or more steps in the flowchart may be eliminated without exerting an influence on a scope of the present invention.
Kim, Byounghoon, Ahn, Joonkui, Kim, Il-Min
Patent | Priority | Assignee | Title |
11190213, | Jun 16 2017 | HUAWEI TECHNOLOGIES CO , LTD | Coding method, wireless device, and chip |
Patent | Priority | Assignee | Title |
6314289, | Dec 03 1998 | Fraunhofer-Gesellschaft zur Forderung der Angewandten Forschung E.V. | Apparatus and method for transmitting information and apparatus and method for receiving information |
20140108748, | |||
20160037453, | |||
20180034593, | |||
20180175976, | |||
20190028241, | |||
WO2015026148, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Aug 09 2017 | LG Electronics Inc. | (assignment on the face of the patent) | / | |||
Dec 11 2018 | KIM, IL-MIN | LG Electronics Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 048250 | /0490 | |
Dec 17 2018 | AHN, JOONKUI | LG Electronics Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 048250 | /0490 | |
Dec 21 2018 | KIM, BYOUNGHOON | LG Electronics Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 048250 | /0490 |
Date | Maintenance Fee Events |
Feb 05 2019 | BIG: Entity status set to Undiscounted (note the period is included in the code). |
Nov 06 2023 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Date | Maintenance Schedule |
Jun 30 2023 | 4 years fee payment window open |
Dec 30 2023 | 6 months grace period start (w surcharge) |
Jun 30 2024 | patent expiry (for year 4) |
Jun 30 2026 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jun 30 2027 | 8 years fee payment window open |
Dec 30 2027 | 6 months grace period start (w surcharge) |
Jun 30 2028 | patent expiry (for year 8) |
Jun 30 2030 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jun 30 2031 | 12 years fee payment window open |
Dec 30 2031 | 6 months grace period start (w surcharge) |
Jun 30 2032 | patent expiry (for year 12) |
Jun 30 2034 | 2 years to revive unintentionally abandoned end. (for year 12) |