Disclosed are an apparatus and a encoding method using a turbo code and a unit and a method of permutation. The apparatus for encoding using a turbo code according to an exemplary embodiment of the present invention includes: a first encoder that encodes 3 bits inputted from first to third blocks each of which is formed of N bits respectively, with recursive systematic convolutional codes to output a first parity bit; a permutation unit that permutates the 3 bits; a second encoder that encodes the permutated 3 bits with the recursive systematic convolutional codes to output a second parity bit; and a puncturing unit that optionally removes the first parity bit and the second parity bit in consideration of a coding rate of a predetermined turbo code to control the coding rate.
|
1. An encoding apparatus using a turbo code, comprising:
a first encoder that encodes 3 bits inputted from first to third blocks each of which is formed of N bits respectively, with recursive systematic convolutional codes to output a first parity bit;
a permutation unit that permutates the 3 bits;
a second encoder that encodes the permutated 3 bits with the recursive systematic convolutional codes to output a second parity bit; and
a puncturing unit that optionally removes the first parity bit and the second parity bit in consideration of a coding rate of a predetermined turbo code to control the coding rate.
8. A permutation unit, comprising:
a first permutation unit that mutually exchanges bits of at least two blocks among three blocks when a sequence of 3 bits inputted from the three blocks each of which is formed of N bits respectively, is a multiple of 2;
a second permutation unit that confirms a remainder values obtained by dividing the sequence of the mutually exchanged 3 bits by 4 and changes the sequence of the 3 bits within the three blocks in a different manner according to the remainder values; and
an enumeration unit that permutates and enumerates the sequence of the bits of the three blocks in the changed sequence.
12. An encoding, with a hardware encoder, method using a turbo code, comprising:
encoding 3 bits inputted from first to third blocks respectively each of which is formed of N bits, with recursive systematic convolutional codes to output a first parity bit;
permutating the 3 bits in a predetermined manner;
encoding the permutated 3 bits with the recursive systematic convolutional codes to output a second parity bit; and
optionally removing the first parity bit and the second parity bit to control a coding rate when a mother coding rate according to a combination of the 3 bits, the first parity bit, and the second parity bit is different from a predetermined coding rate.
18. A method of permutation, comprising:
confirming, with hardware, a sequence k (k is a constant that is 0≦k≦N) of 3 bits when the 3 bits of a first block, a second block, and a third block, each of which is formed of N bits is respectively inputted in parallel;
mutually exchanging at least 2 bits among the 3 bits of the three blocks when the sequence of the 3 bits is a multiple of 2;
confirming a remainder values obtained by dividing the sequence of the 3 bits by 4 and changing the sequence of the mutually exchanged 3 bits within the three blocks in a different manner according to the remainder values; and
permutating and enumerating the sequence of bits of the three blocks in the changed sequence.
2. The encoding apparatus according to
3. The encoding according to
a calculator that calculates a minimum Hamming distance using candidates of a permutation parameter according to the predetermined coding rate and a state; and
a determining unit that determines one of the candidates having the largest calculated minimum Hamming distance as the permutation parameter of the permutation unit.
4. The encoding apparatus according to
5. The encoding apparatus according to
6. The encoding apparatus according to
7. The encoding apparatus according to
9. The permutation unit according to
10. The permutation unit according to
a calculator that calculates a minimum Hamming distance using candidates of a permutation parameter respectively according to a predetermined coding rate and a state; and
a determining unit that determines one of the candidates having the largest calculated minimum Hamming distance as the permutation parameter of the second permutation unit.
11. The permutation unit according to
13. The encoding method according to
14. The encoding method according to
15. The encoding method according to
16. The encoding method according to
calculating a minimum Hamming distance using candidates of the permutation parameter according to a predetermined coding rate and a state; and
determines one of the candidates having the largest calculated minimum Hamming distance as the permutation parameter of the second permutation unit.
17. The encoding method according to
19. The method of permutation according to
20. The method of permutation according to
determining the permutation parameter in consideration of a minimum Hamming distance according to a predetermined coding rate and a state; and
changing the sequence of the mutually exchanged 3 bits by performing a predetermined calculation using the remainder value, the sequence of the 3 bits, and the permutation parameter.
|
This application claims priority under 35 U.S.C. §119 to Korean Patent Application No. 10-2009-0107675, filed on Nov. 9, 2009, and No. 10-2010-0043177, filed on May 7, 2010 in the Korean Intellectual Property Office, the disclosure of which is incorporated herein by reference in its entirety.
1. Field of the Invention
The present invention relates to an encoding apparatus and an encoding method using a turbo code, and more particularly, to an encoding apparatus and an encoding method using a turbo code capable of improving error correction performance, and a permutation unit and a permutation method of.
2. Description of the Related Art
Generally, digital data may contain errors during transmission due to wired/wireless link/channel noises or other data transmission. For this reason, communication systems use error correction technologies to correct errors occurred during transmission.
A turbo code is a forward error correction (FEC) technology. An encoder using Turbo Code encodes and transmits input blocks using the turbo code, thereby decreases the error occurrence rate during the transmission and corrects the errors.
The turbo code shows better performance as a minimum hamming distance (MHD) gets higher; however, this is largely affected by interleaving, that is, permutation. Hereinafter, a permutation method of turbo code will be briefly described.
First, a uniform or a regular interleaving scheme uses a rectangular matrix scheme, such that the interleaving is performed well even when an error pattern weight is 2 or 3. However, the uniform or the regular interleaving scheme does not change the decoding weight of the decoder, such that it can't improve an error correction performance by the interleaving and is largely affected by the square or rectangular error pattern.
A non-uniform interleaving scheme can disperse the error patterns well, thereby well dispersing code words of each code when the weight of the error pattern is 2 or 3, increasing the decoding weight, and exponentially improving the gain and performance of permutation.
For this reason, the non-uniform interleaving scheme is mainly applied to the turbo code. Among those, a duo-binary turbo code of an RCS standard is evaluated as a strong forward error correction technology, which almost come close limitations of Shannon. However, the duo-binary turbo code generates an error floor phenomenon at a low coding rate. Therefore, there is a need to improve the error floor phenomenon.
In order to solve the above problems, it is an object of the present invention to provide an apparatus and a encoding method using a turbo code capable of improving error correction capability of a turbo code by increasing a Hamming distance of data inputted as a parallel 3 bit and a unit and a method of permutation thereof.
It is another object of the present invention to provide an apparatus and a encoding method using a turbo code capable of providing a method of permutation that can increase a Hamming distance of data inputted as a parallel 3 bit and a unit and a method of permutation.
According to an aspect of the present invention, there is provided an apparatus for encoding using a turbo code, including: a first encoder that encodes 3 bits inputted from first to third blocks each of which is formed of N bits respectively, with recursive systematic convolutional codes to output a first parity bit; a permutation unit that permutates the 3 bits; a second encoder that encodes the permutated 3 bits with the recursive systematic convolutional codes to output a second parity bit; and a puncturing unit that optionally removes the first parity bit and the second parity bit in consideration of a coding rate of a predetermined turbo code to control the coding rate.
According to an another aspect of the present invention, there is provided a permutation unit, including: a first permutation unit that mutually exchanges bits of at least two blocks among three blocks when a sequence of 3 bits inputted from the three blocks each of which is formed of N bits respectively, is a multiple of 2; a second permutation unit that confirms a remainder values obtained by dividing the sequence of the mutually exchanged 3 bits by 4 and changes the sequence of the 3 bits within the three blocks in a different manner according to the remainder values; and an enumeration unit that permutates and enumerates the sequence of the bits of the three blocks in the changed sequence.
According to an another aspect of the present invention, there is provided a encoding method using a turbo code, including: encoding 3 bits inputted from first to third blocks each of which is formed of N bits respectively, with recursive systematic convolutional codes to output a first parity bit; permutating the 3 bits in a predetermined manner; encoding the permutated 3 bits with the recursive systematic convolutional codes to output a second parity bit; and optionally removing the first parity bit and the second parity bit to control a coding rate when a mother coding rate according to a combination of the 3 bits, the first parity bit, and the second parity bit is different from a predetermined coding rate.
According to an another aspect of the present invention, there is provided a method of permutation, including: confirming a sequence k (k is a constant that is 0≦k≦N) of 3 bits when the 3 bits of a first block, a second block, and a third block each of which is formed of N bits, is respectively inputted in parallel; mutually exchanging at least 2 bits among the 3 bits of the three blocks when the sequence of the 3 bits is a multiple of 2; confirming a remainder values obtained by dividing the sequence of the 3 bits by 4 and changing the sequence of the mutually exchanged 3 bits within the three blocks in a different manner according to the remainder values; and permutating and enumerating the sequence of bits of the three blocks in the changed sequence.
Advantages and features of the present invention and methods to achieve them will be elucidated from exemplary embodiments described below in detail with reference to the accompanying drawings. However, the present invention is not limited to exemplary embodiment disclosed herein but will be implemented in various forms. The exemplary embodiments are provided by way of example only so that a person of ordinary skilled in the art can fully understand the disclosures of the present invention and the scope of the present invention. Therefore, the present invention will be defined only by the scope of the appended claims. Meanwhile, terms used in the present invention are to explain exemplary embodiments rather than limiting the present invention. Unless explicitly described to the contrary, a singular form includes a plural form in the present specification. “Comprises” and/or “comprising” used herein does not exclude the existence or addition of one or more other components steps, operations, and elements in addition to the above-mentioned components, operations, and/or elements.
Hereinafter, an apparatus for encoding using a turbo code according to an exemplary embodiment of the present invention will be described with reference to
As shown in
The first encoder 100 encodes 3 bits input data (A bit, B bit, and C-bit) inputted from a first block, a second block, and a third block respectively, with 8-state or 16-state recursive systematic convolutional codes to output a first parity bit.
At this time, the first block, the second block, and the third block individually include N information bits among the entire 3N information bits. In other words, when the information bits to be encoded is 3N, the first block may include a 1st to N-th information bits, the second block include N+1-th to 2N-th information bits, and the third block include 2N+1-th to 3N-th information bits.
The permutation unit 200 performs interleaving, that is, permutation on the input data (A bit, B bit, and C bit) between respective blocks and in each block. The detailed configuration of the permutation unit 200 will be described below with reference to
The second encoder 102 encodes the permutated input data (A bit, B bit, and C bit) with the 8-state or 16-state recursive systematic convolutional codes to output a second parity bit.
The puncturing unit 300 optionally removes the first parity bit and the second parity bit to control a coding rate of the first block, the second block, and the third block.
For example, the puncturing unit 300 optionally removes the first parity bit and the second parity bit to control the coding rate when the sequence of each bit is odd or even. Thereafter, referring to
Meanwhile, the code word generator 400 receives 3 bits and the first parity bit or the second parity bit from the puncturing unit 300 to generate the encoded code word.
Meanwhile, the apparatus for encoding using the turbo code 10 according to the exemplary embodiment of the present invention further includes a calculator 600 and a determining unit 500 and may determine variables used in the permutation of the permutation unit 200 by using the calculator 600 and the determining unit 500.
The calculator 500 uses candidates of permutation parameter according to a predetermined coding rate and a state to calculate the minimum hamming distance. And the determining unit 600 determines one of the candidates of the permutation parameter having the largest calculated Hamming distance as the permutation parameter of the permutation unit 200.
Hereinafter, the permutation unit according to the exemplary embodiment of the present embodiment will be described with reference to
As shown in
The first permutation unit 210 mutually exchanges the bits of two or more blocks (that is, two or more bits of A bit, B bit, and C bit) among the first to third blocks when the sequence of the input data (A bit, B bit, and C bit) is a multiple of 2.
For example, the first permutation unit 210 may mutually exchange the bits of the first block that is the 1st block and the third block that is the final block.
The second permutation unit 220 changes the sequence of A bit, B bit, and C bit within the first to third blocks in different manners according to the remainder values obtained by dividing the sequence of A bit, B bit, and C bit permutated by the first permutation unit 210 by 4.
The second permutation unit 220 may change the sequence of A bit, B bit, and C bit according to the following Equation 1. Herein, j is the changed sequence of A bit, B bit, and C bit, k is an original sequence of A bit, B bit, and C bit, P is permutation parameter represented in the following Table 1, and Q is a result value obtained by substituting and calculating the permutation parameter represented in the following Table 1 into the following Equation 2 when the remainder values each are 0, 1, 2, and 3.
j=(P×k+Q+3) [Equation 1]
if(k mod 4=0)→Q=0
if(k mod 4=1)→Q=Q0 (or P1)
if(k mod 4=2)→Q=4Q0+Q2 (or 4P1+P2)
if(k mod 4=3)→Q=4Q0+Q3 (or 4P1+P3) [Equation 2]
The permutation parameter may be variously set according to the predetermined coding rate and the state of permutation. The second permutation unit 220 uses the permutation parameter having a relatively large minimum Hamming distance (MHD) among variously set permutation parameters as shown in the following Table 1.
TABLE 1
Coding rate
½
⅔
¾
8-state duo-binary turbo code
19
12
9
P = 19, P1 = 376, P2 = 224, P3 = 600
16-state duo-binary turbo code
26
18
12
P = 35, Q0 = 1, Q1 = 4, Q2 = 4, Q3 = 12
The enumeration unit 230 outputs A′ bit, B′ bit, and C′ bit in the changed sequence by the second permutation unit 220.
Meanwhile, the permutation unit 200 may receive the permutation parameter from an outside. Alternatively, the permutation unit 200 may further include a calculator 240 that calculates the minimum Hamming distance by using the candidates of the permutation parameter respectively according to the predetermined coding rate and the state, and a determining unit 250 that determines one of the candidates of the permutation parameter having the largest calculated minimum Hamming distance as the permutation parameter of the second permutation unit 220.
Hereinafter, the permutation pattern of the first permutation unit 210 according to the exemplary embodiment of the present invention will be described with reference to
TABLE 2
Input
data
Pattern 1
Pattern 2
Pattern 3
Pattern 4
Pattern 5
A
C
B
A
C
B
B
B
A
C
A
C
C
A
C
B
B
A
It can be appreciated through the graph of
Hereinafter, the puncturing pattern of the puncturing unit 300 according to the exemplary embodiment of the present invention will be described with reference to
TABLE 3
Input data
Parity bit
CASE 1
A
1111
Y1
1111
B
1111
Y2
0000
C
1111
CASE 2
A
1111
Y1
0101
B
1111
Y2
1010
C
1111
CASE 3
A
1111
Y1
1010
B
1111
Y2
0101
C
1111
It can be appreciated from the graph of
Of course, the BER performance of case 0 (the case where the mother coding rate is ⅗) that does not perform the puncturing is more excellent than that of cases 1, 2, and 3 that perform the puncturing by performing the permutation of the present invention, but when the transmission efficiency is considered, the puncturing should be performed in most cases. Therefore, the present invention applies the puncturing of the pattern that does not largely degrade the BER performance as compared to the mother coding rate even though the coding rate is controlled.
Hereinafter, a turbo encoding method according to the exemplary embodiment of the present embodiment will be described with reference to
Referring to
Then, the apparatus for encoding using the turbo code 10 permutates 3 bits in the predetermined manner (S520). In other words, the apparatus for encoding using the turbo code 10 mutually exchanges the bits of one block and another block within the first to third blocks when the sequence of 3 bits is a multiple of 2 and permutates the sequence of the mutually exchanged bits within a block including the mutually exchanged bits in the above-mentioned manner according to the remainder value obtained by dividing the sequence of 3 bits by 4.
Next, the apparatus for encoding using the turbo code 10 encodes the permutated 3 bits with the recursive systematic convolutional codes to output the second parity bit (S530).
Thereafter, the apparatus for encoding using the turbo code 10 confirms whether the mother coding rate according to a combination of 3 bits, the first parity bit, and the second parity bit is the same as the predetermined coding rate (S540).
The apparatus for encoding using the turbo code 10 performs the turbo code encoding on 3 bits, the first parity bit, and the second parity bit if it is determined that the mother coding rate according to the combination is the same as a predetermined coding rate (S560).
On the other hand, the apparatus for encoding using the turbo code 10 optionally removes the first parity bit and the second parity bit through the puncturing to control the coding rate when the mother coding rate is different from the predetermined coding rate (S550).
As described above, the present invention applies the puncturing method and the permutation method to the data inputted as the parallel 3 bits, thereby making it possible to increase the minimum Hamming distance to 50% or more than the 2-input turbo code of related art due to the encoding results using the turbo code. Therefore, the present invention can largely improve the error correction performance of the transmitting and receiving data as compared to the case when the turbo code of the related art is used.
While configurations of certain embodiments have been described above with reference to the accompanying drawings, it is by way of example only. Those skilled in the art can make various modifications and changes within the technical spirit of the present invention. Accordingly, the actual technical protection scope of the present invention must be determined by the spirit of the appended claims.
Kim, Nam Soo, Jung, Ji Won, Lee, In Ki
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
6044116, | Oct 29 1998 | The Aerospace Corporation | Error-floor mitigated and repetitive turbo coding communication system |
6621871, | Mar 30 2001 | Nokia Technologies Oy | Incremental redundancy packet combiner and decoder |
6665833, | Jul 08 1999 | Apple Inc | Puncturing of convolutional codes |
20020166093, | |||
20110320920, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Nov 09 2010 | Electronics and Telecommunications Research Institute | (assignment on the face of the patent) | / | |||
Nov 30 2010 | LEE, IN KI | ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTITUTE | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 025697 | /0622 | |
Nov 30 2010 | KIM, NAM SOO | ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTITUTE | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 025697 | /0622 | |
Nov 30 2010 | JUNG, JI WON | ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTITUTE | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 025697 | /0622 |
Date | Maintenance Fee Events |
Jan 06 2014 | ASPN: Payor Number Assigned. |
Apr 14 2017 | REM: Maintenance Fee Reminder Mailed. |
Oct 02 2017 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Sep 03 2016 | 4 years fee payment window open |
Mar 03 2017 | 6 months grace period start (w surcharge) |
Sep 03 2017 | patent expiry (for year 4) |
Sep 03 2019 | 2 years to revive unintentionally abandoned end. (for year 4) |
Sep 03 2020 | 8 years fee payment window open |
Mar 03 2021 | 6 months grace period start (w surcharge) |
Sep 03 2021 | patent expiry (for year 8) |
Sep 03 2023 | 2 years to revive unintentionally abandoned end. (for year 8) |
Sep 03 2024 | 12 years fee payment window open |
Mar 03 2025 | 6 months grace period start (w surcharge) |
Sep 03 2025 | patent expiry (for year 12) |
Sep 03 2027 | 2 years to revive unintentionally abandoned end. (for year 12) |