Title of Invention

AN IMPROVED TURBOCODER

Abstract This invention relates to a 2-dimensional interleaving method is disclosed. The method comprises dividing a frame of input information bits into a plurality of groups and sequentially storing the divided groups in a memory; permuting the information bits of the groups according to a given rule and shifting an information bit existing at the last position of the last group to a position preceding the last position; and selecting the groups according to a predetermined order, and selecting one of the information bits in the selected group.
Full Text BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to a turbo encoder used for radio
communication systems (including satellite, ISDN, digital cellular, W-CDMA,
and IMT-2000 systems), and in particular, to an internal interleaver of a turbo
encoder.
2. Description of the Related Art
In general, an interleaver used for a turbo encoder randomizes an address
of input information word and improves a distance property of a codeword. In
particular, it has been decided that a turbo code will be used in a supplemental
channel (or data transmission channel) of IMT-2000 (or CDMA-2000) and IS-
95C air interfaces and in a data channel of UMTS (Universal Mobile
Telecommunication System) proposed by ETSI (European Telecommunication
Standards Institute). Thus, a method for embodying an interleaver for this
purpose is required. In addition, the invention relates to an error correction code
which greatly affects performance improvement of the existing and future digital
communication systems.
For an existing internal interleaver for a turbo encoder (hereinafter,
referred to as a turbo interleaver), there have been proposed various interleavers
such as PN (Pseudo Noise) random interleaver, random interleaver, block
interleaver, non-linear interleaver, and S-random interleaver. However, so far,
such interleavers are mere algorithms designed to improve their performances in
terms of scientific researches rather than implementation. Therefore, when
implementing an actual system, the hardware implementation complexity must
be taken into consideration. A description will now be made of properties and
problems associated with the conventional interleaver for the turbo encoder.
Performance of the turbo encoder is dependent upon its internal
interleaver. In general, an increase in the input frame size (i.e., the number of
information bits included in one frame) enhances the effectiveness of the turbo
encoder. However, an increase in interleaver size causes a geometric increase in
calculations. Therefore, in general, it is not possible to implement the interleaver
for the large frame size.
Therefore, in general, the interleavers are implemented by determining
conditions satisfying several given criteria. The criteria are as follows:
Distance Property : The distance between adjacent codeword symbols
should be maintained to a certain extent. This has the same function as a
codeword distance property of the convolutional code, and as a criterion
indicating this, a minimum free distance is used which is a value of a codeword
path or a codeword sequence with the minimum Hamming weight out of the code
symbol sequences (or codeword paths) output on the trellis. In general, it is
preferable that the interleaver should be designed to have the longer free distance,
if possible.
Random Property : A correlation factor between output word symbols
after interleaving should be much lower than a correlation factor between
original input word symbols before interleaving. That is, randomization between
the output word symbols should be completely performed. This makes a direct
effect on the quality of extrinsic information generated in continuous decoding.
Although the above criteria are applicable to a general turbo interleaver,
it is difficult to clearly analyze the properties when the interleaver increases in
size.
In addition, another problem occurring when designing the turbo
interleaver is that the minimum free distance of the turbo code varies according
to the type of the input codeword. That is, when the input information word has a
specific sequence pattern defined as a critical information sequence pattern
(CISP), the free distance of the output code symbols generated from the turbo
encoder has a very small value. If the input information word has a Hamming
weight 2, the CISP occurs when the input information word has two information
bits of '1' and can also occur when the input information word has 3 or more
information bits of '1'. However, in most cases, when the input information word
has 2 information bits of '1', the minimum free distance is formed and most error
events occur in this condition. Therefore, when designing the turbo interleaver,
an analysis is generally made on the case where the input information word has
the Hamming weight 2. A reason that the CISP exists is because the turbo
encoder generally uses RSC (Recursive Systematic Convolutional Codes)
encoders for the component encoders shown in FIG. 1 (described further below).
To improve performance of the turbo encoder, a primitive polynomial should be
used for a feedback polynomial (gf(x) of FIG. 1) out of the generator polynomials
for the component encoder. Therefore, when the number of the memories of the
RSC encoder is m, a feedback sequence generated by the feedback polynomial
continuously repeats the same pattern at a period of 2m-1. Therefore, if an input
information word ' 1' is received at the instance corresponding to this period, the
same information bits are exclusive-ORed, so that the state of the RSC encoder
becomes an all-zero state henceforth, thus generating the output symbols of all
O's. This means that the Hamming weight of the codeword generated by the RSC
encoder has a constant value after this event. That is, the free distance of the
turbo code is maintained after this time, and the CISP becomes a main cause of a
reduction in the free distance of the turbo encoder, whereas, as noted above, a
larger free distance is desirable.
In this case (In the prior art of turbo interleaver ) to increase the free
distance, the turbo interleaver randomly disperses the CISP input information
word so as to prevent a decrease in the free distance at the output symbol of the
other component RSC encoder.
The above-stated properties are fundamental features of the known turbo
interleaver. However, for the CISP, it is conventional that the information word
has the minimum Hamming weight, when the input information word has the
Hamming weight 2. In other words, the fact that the CISP can be generated even
when the input information word has the Hamming weight 1 (i.e., when the input
information word has one information bit of '1') was overlooked, when the
information word input to the turbo encoder had the type of a block comprised of
frames.
For example, a prime interleaver (PIL) designated as the working model
of the turbo code interleaver specified by the present UMTS standard exhibits
such problems, thus having a degraded free distance property. That is, the
implementation algorithm of the model PIL turbo interleaver include 3 stages, of
which the second stage, which plays the most important role, performs random
permutation on the information bits of the respective groups. The second stage is
divided into three cases of Case A, Case B and Case C, and the Case B always
involves the case where the free distance is decreased due to the event where the
input information word has the Hamming weight 1. In addition, even the Case C
involves a possibility that such an event will occur. The detailed problems will be
described later with reference to the PIL.
In conclusion, when various interleaver sizes are required and the
hardware implementation complexity is limited in the IMT-2000 or UMTS
system, the turbo interleaver should be designed to guarantee the optimal
interleaver performance by taking the limitations into consideration. That is, the
required interleaver should be able to guarantee uniform performance for the
various interleave sizes, while satisfying the above-stated properties. More
recently, there have been proposed several types of the interleavers for a PCCC
(Parallel Concatenated Convolutional Codes) turbo interleaver, and a LCS
(Linear Congruential Sequence) turbo interleaver has been provisionally decided
as the turbo interleaver in the IMT-2000 (or CDMA-2000) and IS-95C
specifications. However, most of these turbo interleavers have the problems of
the CSIP with Hamming weight 1, and the details of implementing these turbo
interleavers are still not defined. Therefore, the present invention proposes a
solution of the turbo interleaver's problems, and a new method for implementing
the turbo interleaver. In addition, the invention shows the PIL interleaver which
is a working assumption of the UMTS turbo interleaver, and proposes a solution
of this interleaver's problem.
To sum up, the prior art has the following disadvantages.
(1) The turbo interleaver is designed for the infinite frame size on the
basis of the CISP for which the input information word has the Hamming weight
2, without considering the fact that determining the CISP according to the type of
the input information word is limited to the frame size. However, in an actual
system, the frame has a finite size, thus causing a decrease in the free distance of
the turbo code.
(2) In designing the existing turbo interleaver, the fact that the input
information word may have Hamming weight 1 was not considered. In other
words, for the finite frame size, the turbo interleaver design rule should be
determined in consideration of the fact that the minimum free distance generated
in the PCCC turbo encoder is determined by the CISP having the Hamming
weight 1. However, this was not fully considered for the existing turbo
inter leavers.
(3) The Prime interleaver (PIL) designated as the working assumption of
the turbo code interleaver defined by the UMTS specification involves such
problems, thus having degraded free distance performance.
SUMMARY OF THE INVENTION
It is, therefore, an object of the present invention to provide an
interleaving device and method taking into consideration properties of a turbo
interleaver and a property of a critical information sequence pattern (CISP) to
improve performance of the turbo interleaver including, but not limited to, the
minimum free distance.
It is another object of the present invention to provide an interleaving
device and method for improving free distance performance of a turbo code for
the case where an input information word has a Hamming weight 1 when the
information word input to a turbo interleaver has a block type comprised of
frames.
It is a further object of the present invention to provide an interleaving
device and method for solving the problem that the free distance is decreased
when an input information word has a Hamming weight 1 in a prime interleaver
(PIL) that is the turbo interleaver specified in the UMTS specification.
To achieve the above objects, there is provided a 2-dimensionai
interleaving method comprising dividing a frame of input information bits into a
plurality of groups and sequentially storing the divided groups in a memory;
permuting the information bits of the groups according to a given rule and
shifting an information bit existing at the last position of the last group to a
position preceding the last position; and selecting the groups according to a
predetermined order, and selecting one of the information bits in the selected
group.
BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWINGS
The above and other objects, features and advantages of the present
invention will become more apparent from the following detailed description
when taken in conjunction with the accompanying drawings in which:
FIG. 1 is a diagram illustrating a general parallel turbo encoder;
FIG. 2 is a diagram illustrating a general interleaver;
FIG. 3 is a diagram illustrating a general deinterleaver;
FIG. 4 is a diagram illustrating a method for generating a critical
information sequence pattern (CISP) in a turbo interleaver;
FIG. 5 is a diagram illustrating another method for generating the CISP in
the turbo interleaver;
FIG. 6 is a diagram illustrating a method for solving a problem occurring
when generating the CISP of FIG. 4;
FIG. 7 is a diagram illustrating a method for solving a problem occurring
when generating the CISP of FIG. 5;
FIG. 8 is a diagram illustrating another method for solving a problem
occurring when generating the CISP in the turbo interleaver;
FIG. 9 is a diagram illustrating a method for generating the CISP in a 2-
dimensional turbo interleaver;
FIG. 10 is a diagram illustrating a method for solving a problem
occurring when generating the CISP of FIG. 7;
FIG. 11 is a block diagram illustrating an interleaving device for
suppressing the CISP according to an embodiment of the present invention; and
FIG. 12 is a flow chart for explaining an interleaving process of a
modified PIL(Prime Interleaver) according to an embodiment of the present
invention,
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
A preferred embodiment of the present invention will be described herein
below with reference to the accompanying drawings. In the following description,
well-known functions or constructions are not described in detail since they
would obscure the invention in unnecessary detail.
Prior to describing the invention, the specification will present the
problems occurring when an input information word, which is one of the design
criteria used in the existing turbo interleaver/deinterleaver, is processed on a
frame unit basis, and then analyze an affect that the CISP with a Hamming
weight 1 has on the Hamming weight of the output code symbols. Next, the
specification will propose a method for solving the problems and verify the
performance difference through analysis of the minimum free distance.
FIG. 1 shows a structure of a general parallel turbo encoder.
Referring to FIG. 1, the turbo encoder includes a first component encoder
111 for encoding input frame data, an interleaver 112 for interleaving the input
frame data, and a second component encoder 113 for encoding an output of the
interleaver 112. A known RSC (Recursive Systematic Convolutional CODES)
encoder is typically used for the first and second component encoders 111 and
113. Hereinafter, the first RSC component encoder 111 will be referred to as
RSCl and the second RSC component encoder 113 will be referred to as RSC2.
Further, the interleaver 112 has the same size as the input information bit frame,
and rearranges the sequence of the information bits provided to the second
component encoder 113 to reduce a correlation between the information bits.
FIGS. 2 and 3 show fundamental structures of the general interleaver and
deinterleaver, respectively.
Referring to FIG. 2, an interleaver for interleaving frame data output
from the first component encoder will be described. An address generator 211
generates a read address for changing the sequence of input data bits according to
an input frame data size L and an input clock, and provides an interleaver
memory 212 with the generated read address. The interleaver memory 212
sequentially stores input data in a write mode of operation, and outputs the stored
data according to the read address provided from the address generator 211 in a
read mode of operation. A counter 213 counts the input clock and provides the
clock count value to the interleaver memory 212 as a write address As describe
above, the interleaver sequentially stores input data in the interleaver memory
212 in the write mode of operation, and outputs the data stored in the interleaver
memory 212 according to the read address provided from the address generator
211 in the read mode of operation. Ahematively, it is also possible to change the
sequence of the input data bits before storing them in the interleaver memory in
the write mode of operation, and sequentially read the stored data in the read
mode of operation.
Referring to FIG. 3, a deinterleaver will be described. An address
generator 311 generates a write address for restoring the sequence of input data
bits to the original sequence according to an input frame data size L and an input
clock, and provides a deinterleaver memory 312 with the generated write address.
The deinterleaver memory 312 stores input data according to the write address
provided from the address generator 311 in the write mode of operation, and
sequentially outputs the stored data in the read mode of operation. A counter 313
counts the input clock and provides the clock count value to the deinterleaver
memory 312 as a read address. As described above, the deinterleaver has the
same structure as the interleaver but has the reverse operation of the interleaver.
The deinterleaver is merely different from the interleaver in that the input data
has different sequences in both the read and write modes. 1 here fore, for
convenience, the description below will be made with reference to the interleaver
only.
In general, since the turbo code is a linear block code, a new information
word obtained by adding a non-zero information word to an input information
word has the same codeword distribution property. Therefore, even though the
property is developed based on the all-zero information word, the same
performance will be given as compared with the performance determined using
the non-zero information word. Thus, a description below will be made with
reference to the case where the input information word is the all-zero codeword.
That is, performance of the turbo code will be analyzed on the assumption that
the input information word has all zero bits and only a given information bit is
'1'.
To improve performance of the turbo encoder, a primitive polynomial
may be used for a feedback polynomial out of a generator polynomial for the
component encoder. The feedback polynomial is given by expressing tapping
which undergoes feedback in the RSC component encoders 111, 113 of FIG. 1 in
a polynomial, and the feedback polynomial is defined as gf(x). If FIG. 1,
gf(x)=l+x2+x3. That is, the highest order indicates the depth of a memory, and
the rightmost connection determines whether the coefficient x3 of gf(x) is 0 or 1.
Therefore, when the number of the memories for the RSC encoder is m, a
feedback sequence generated by the feedback polynomial continuously repeats
the same pattern at a period of 2m-1. Thus, when an input information word ' 1' is
received at the instant corresponding to this period (e.g., for m=3, when an input
information word of '10000001...' is received), the same information bits are
exclusive-ORed, so that the state of the RSC encoder becomes an all-zero state
henceforth, thus generating the output symbols of all O's. This means that the
Hamming weight of the codeword generated by the RSC encoder has the
constant value of 1 after this event. That is, it means that the free distance of the
turbo code is maintained after this time, and the CISP becomes a main cause of a
reduction in the free distance of the turbo encoder.
In this case, to increase the free distance, the turbo interleaver randomly
disperses the CISP input information word so as to prevent a decrease in the free
distance at the output symbol of the other component RSC encoder. Table 1
below shows a feedback sequence generated from gf(x)=l+x2+x3 In Table 1,
X(t) indicates an input information bit at a time t of the input information word.
Further, m(t), m(t-l) and m(t-2) indicate 3 memory states of the RSC encoder,
respectively. Here, since the number of memories is 3, the period is 23-1=7.
From Table 1, it is noted that if X(t)=l at time t=7, then m(t), m(t-l) and
m(t-2) become all zero states henceforth. Therefore, the Hamming weight of the
following output symbols becomes always zero. In this case, if the turbo
interleaver provides the RSC2 with the input information sequence
'10000001000...' as it is, the Hamming weight of the output symbols at the
following time of t=7 will not change thereafter even in the RSC2 using the same
feedback polynomial, for the same reason. This causes a decrease in the free
distance of the whole output symbols of the turbo encoder. To prevent this, the
turbo interleaver changes the original input information sequence
'10000001000...' to an input information sequence of a different pattern (for
example, changes a position of the information bit '1' such as 110000000...) and
provides the resulting sequence to the RSC2. Therefore, even though an increase
in the Hamming weight is stopped in the RSCl, the Hamming weight
continuously increases in the RSC2, so that the total free distance of the turbo
encoder increases. This is because the feedback polynomial, having the infinite
impulse response (IIR) filter type, continuously generates the infinite output
symbol '1' even for one input information bit '1'. Equation 1 below shows the
relationship between the RSCl and the RSC2 in terms of the Hamming weight or
free distance of the turbo encoder.
[Equation 1]
comparatively made regarding the problems of the prior art and the solutions of
the problems.
In FIGS. 4 to 10, the cross-hatching parts indicate the positions where
the input information bit is '1', and the other parts indicate the positions where
the input information bit is '0'.
If, as shown in FIG. 4, the turbo interleaver shifts (or permutes) the
position of the input information word, where the original symbol of the RSC1 is
'1', to the last position of the frame after interleaving, the number of the output
symbols '1' generated from the RSC2 will be very small. In this case, since the
RSC 1 and the RSC2 generate a very small number of the output symbols ' 1' in
accordance with Equation 1, the total free distance decreases drastically.
However, if, as shown in FIG. 5, the turbo interleaver shifts the position of the
input information word, where the original symbol of the RSCl is '1', to the first
position or a position near the leading position of the frame after interleaving, the
number of the output symbols ' 1' generated from the RSC2 will be increased.
This is because a plurality of symbols ' 1' are output through (N(Interleaver Size)
-h(a number of' '1')) state transitions of the RSC2 encoder. In this case, the RSC2
generates a great number of the output symbols '1', thereby increasing the total
free distance.
In addition to the decreased free distance occurring when the internal
interleaver shifts the input information bit '1' located at the last position of the
frame to the last position of the frame as show in FIG. 4, if one of two
information bits of' '1' located at the ending position of the frame are still located
at (or near) the ending position of the frame even after interleaving as shown in
FIG. 6, the total free distance will decrease.
For example, if the internal interleaver operations in the frame mode
shown in FIG. 6 wherein two symbols located at the ending position of the frame
are 1's and the other symbols are all O's, then the Hamming weight of the input
information word is 2. Even in this case, the number of the output symbols ' 1'
generated from the RSCl becomes very small, since there is no more input
information bit. Therefore, in accordance with Equation 1, the RSC2 should
generate a great number of the output symbols ' 1' to increase the total free
distance. However, if, as shown in FIG. 6, the turbo interleaver shifts the position
of the above two symbols to the ending position (or somewhere near to the
ending position) of the frame even after interleaving, the RSC2 will also generate
a small number of the output symbols '1'. However, if, as shown in FIG. 7, the
turbo interleaver shifts the position of the above two symbols to the leading
position (or somewhere near the leading position) of the frame, the RSC2 will
generate a great number of the symbols '1'. That is, the RSC2 encoder outputs a
plurality of the symbols ' 1' through (N-h) state transitions (N= Interleaver Size,
h=a number of symbol '1'). In this case, therefore, the RSC2 generates the
increased number of output symbols '1', thereby increasing the total free distance.
This principle can be expanded to the case where the turbo interleaver
operates in the frame mode shown in FIG. 8 wherein a plurality of information
bits '1' exist at the ending period (or duration) of the frame and the other
information bits are all O's. Even in this case, the total free distance is increased
by shifting the information bits exiting at the ending position of the frame to the
leading position of the frame or to positions nearer to the leading position, as
shown in FIG. 8. Of course, since the turbo code is the linear block code, even the
new information word obtained by adding a non-zero information word to such
an information word has the same property. Therefore, a description below will
be made on the basis of the all-zero information word.
In conclusion, when designing the turbo interleaver, the following
conditions as well as the random property and the distance property should be
satisfied to guarantee performance of the turbo decoder and the free distance of
the turbo encoder.
Condition 1 : In designing every turbo interleaver, the information bits
corresponding to a specific period from the last position of the frame should be
shifted to the foremost position of the frame by interleaving to increase the free
distance of the turbo code.
Condition 2 : The information bits corresponding to the last position of
the frame should be shifted to a position preceding the last position (if possible,
to the leading position of the frame) by interleaving, to increase the free distance
of the turbo code.
These conditions are applicable to a 2-dimensional turbo interleaver as
well as the above-described 1-diemensional interleaver. The 1-dimensional
interleaver performs interleaving, regarding the input information frame as a
group, as shown in FIGS. 4 to 8. The 2-dimensional interleaver performs
interleaving by dividing the input information frame into a plurality of groups.
FIG. 9 shows 2-dimensional interleaving wherein the input information word has
the Hamming weight 1.
As illustrated, the input information bits are sequentially written in the
respective groups (or rows). That is, the input information bits are sequentially
written in the groups (or rows) rO, rl, . . ., r(R-l). In each group, the input
information bits are sequentially written from the left to the right. Thereafter, a
turbo interleaving algorithm randomly changes the positions of RxC elements
(i.e., input information bits), where R is the number of rows, C is the number of
columns or, equivalently, the number of information bits in a group. In this case,
it is preferable to design the turbo interleaving algorithm such that the
information bit located at the last position (or the rightmost position) of the last
group should be located at the foremost position, if possible, during output. Of
course, depending on the order of selecting the groups, the input information bit
located at the last position may be shifted to the foremost position (or close
thereto) of the corresponding group. Further, Condition 1 and Condition 2 can be
normalized in a k-dimensional turbo interleaver (where k>2) as well as the 2-
dimensional interleaver.
FIG. 10 shows a case where the input information word has the
Hamming weight of over 2. As shown, the information bits located at the last
position of the last group are shifted to the leading positions of the last group by
interleaving. Of course, the detailed shifting (or interleaving) rule is determined
according to an algorithm for a specific interleaver. The invention presents
Condition 1 and Condition 2 which should be necessarily satisfied in determining
the interleaving rule.
Next, a description will be made of the PIL interleaver having the
problems of the prior art, and then a further description will be made of a
solution of the problems that the PIL interleaver has.
First stage, (1) determine a row number such that
R = 10 when the number of input information bit K is 481 to 530 (i.e., case (1))
and R=20 at the case of the number of input information bit K is any other
block length except 481 to 530 (i.e., case (2)), (2) determine a column number
C such that in case (1) C=p=53 where, p = prime number, and in case (2)
(i) find minimum prime number p satisfying
(ii)
(iii)
A second stage, Case-B, if C=p+1 out of an interleaving algorithm for
the PIL interleaver which was provisionally determined as the UMTS turbo
interleaver will be first described. In Equation 2 below, R indicates the number of
groups (or rows), and has a value of R=10 or R=20. Further, C indicates the size
of each group and is determined by the minimum prime number p satisfying
determined in Stage 1 according to a value K/R where K is the
size of the actual input information bits of a frame. In Case-B, it is always that
C=p+1. Therefore, the actual size of the PIL interleaver becomes a value
determined by RxC, which is larger than K. Further, Cj(i) indicates a position of
the information bits obtained by randomly permuting the position of the input
information bits in the group on the basis of an ith group, where i=0,1,2,3,..., p.
In addition, Pj indicates an initial seed value given for an jth row vector, and is
initially given by the algorithm.
[Equation 2]
B-1) A primitive root gO is selected from a given random initialization
constant table(3GPP TS 25.212 table 2; table of prime number p and associated
primitive root) such that gO is the primitive root of a field based on the prime
number p.
B-2) Construct base sequence C(i) to be used for row vector
randomization is generated using the following formula.

B-3) Select the minimum prime integer set {q, j=0,l,2,... ,R-l} such that

where g.c.d is a greatest common divider and qo=l
which is a new prime number set is calculated
from such that Pp(j) = qj where, j=0, 1, ... R-1 and P(j)is the
inter-row permutation pattern defined in the third stage.
B-5) Elements of the jth intra-row permutation as following method.

A third stage,
Perform the row-permutation based on the following
patterns, where P(j) is the original row position of the j-th permuted row.
The usage of these patterns is as follows; when the number of input information
bit K is 320 to 480 bit perform group selection pattern p a, when the number of
input information bit K is 481 to 530 bit perform group selection pattern p c.
when the number of input information bit K is 531 to 2280 bit perform group
selection pattern p a, when the number of input information bit K is 2281 to 2480
bit perform group selection pattern p b, when the number of input information bit
K is 2481 to 3160 bit perform group selection pattern p a, when the number of
input information bit K is 3161 to 3210 bit perform group selection pattern pa.
and when the number of input information bit K is 3211 to 5114 bit perform
group selection pattern p a. The group selection pattern is as follow;
Pa: {19,9, 14,4 0,2,5,7, 12, 18, 10, 8, 13, 17,3, 1, 16,6, 15, ll}for R=20
Pb: {19,9, 14,40,2,5,7, 12, 18, 16, 13, 17, 15,3, 1,6, 11,8, 10} for R=20
Pc: {9,8,7,6,5,4,3,2,1,0} for R=10.
It should be noted herein that the last operation of B-5) is defined as
Cj(p)=p. That is, this means that when the position of the input information bit
before interleaving is p, the position of the input information bit is maintained at
the position p even after PIL interleaving. Therefore, for the last group (j=19), the
information bits Cr-1(P)=C19(p) existing at the last position maintain the same
position i=P which is the last position of the 19th group. Therefore, Condition 2
for designing the turbo interleaver is not satisfied.
That is, to solve the problem that the PIL interleaver has, algorithm step
B-5) may be modified as follows. The invention presents six methods of B-5-1)
to B-5-6), by way of example Among these, an optimal performance can be
determined through simulations in the light of the properties of the turbo
interleaver.
One of the following 6 methods are selected.
B-5-1) Positions of CR-1(0) and CR-1(p) are interchanged. R=10 or 20
B-5-2) Positions of CR-1(p-1) and CR-1(p) are interchanged. R=10 or 20
B-5-3) For every j, positions of Cj(0) and Cj(p) are interchanged.
j=0,l,2,...,R-l
B-5-4) For every j, positions of Cj(p-l) and Cj(p) are interchanged.
j=0,l,2,...,R-l
B-5-5) For every j, an optimal exchanging position k for the used
interleaving algorithm is searched to interchange positions of Cj(k) and Cj(p).
B-5-6) For an (R-l)th row, an optimal exchanging position k for the used
interleaving algorithm is searched to interchange positions of CR-1(k) and CR-1(p).
FIGS. 11 and 12 show a block diagram and a flow chart according to an
embodiment of the present invention, respectively..
Referring to FIG. 11, a row vector permutation block (or row vector
permutation index generator) 912 generates an index for selecting a row vector
according to counting of a row counter 911, and provides the generated index to a
high address buffer of the address buffer 918. The row vector permutation block
912 is a group selector for sequentially or randomly selecting, when the input
information word is divided into a plurality of groups, the divided groups. A
column vector permutation block (or column vector's elements permutation
index generator) 914 generates, depending on a modified PIL algorithm 915, an
index for permuting the positions of the elements in the corresponding row
vector (or group) according to counting of a column counter 913, and provides
the generated index to a low address buffer of the address buffer 918. The
column vector permutation block 914 is a randomizer for permuting the position
of the information bits in the group, which were sequentially stored in the order
of input, according to a given rule. A RAM (Random Access Memory) 917 stores
temporary data generated in the process of the program. A look-up table 916
stores parameters for interleaving and the primitive root. The addresses obtained
by row permutation and column permutation (i.e., the addresses stored in the
address buffer 918) are used as addresses for interleaving.
FIG. 12 shows a flow chart of the modified PIL algorithm. A description
below relates to the second stage, Case-B, in the PIL algorithm. Referring to FIG.
12, a primitive root gO is selected from a given random initialization constant
table, in step 1011. Thereafter, in step 1013, a base sequence C(i) for
randomizing the elements (or information bits) of the group is generated using
the following formula.

Thereafter, in step 1015, a minimum prime number set {qj, j=0,l,2,...,R-
1} given for the algorithm is calculated. Then, in step 1017, a prime number set
{pj,j=0,l,2,...,R-l} is calculated from the calculated minimum prime number set.
Next, in step 1019, the elements of an jth group are randomized in the following
method.
Cj(p-1)=0
Here, in order to increase the minimum free distance of the turbo encoder
while randomizing the elements of the group, one of B-5-1) to B-5-6) is selected
to permute (or shift) the information bits existing at the last position of the frame
to other positions after interleaving in step 1021.
B-5-1) means that the positions of the first information bit and the last
information bit in the last group are exchanged with each other. B-5-2) means
that the last two information bits in the last group are exchanged with each other.
B-5-3) means that for every group, the information bit existing at the last position
and the information bit existing at the foremost position are exchanged with each
other. B-5-4) means that for every group, the positions of the last two
information bits are exchanged. B-5-5) means that for every group, an optimal
position k for a given interleaving rule is searched to exchange a position of the
information bit existing at the last position of each row with a position of the
information bit existing at the position k. Finally, B-5-6) means that for the last
group, an optimal position k for a given interleaving rule is searched to exchange
a position of the information bit existing at the last position with a position of the
information bit existing at the position k.
By applying the modified algorithm to the PIL interleaver, it is possible
to prevent a decrease in the free distance of the turbo encoder. Table 2 below
shows a weight spectrum of the PIL interleaver before modification, and Table 3
below shows a weight spectrum of the PIL interleaver after modification.
In Tables 2 and 3, K indicates the size of the input information frame,
Dfree(l) indicates a free distance calculated with the CISP for which the input
information word has the Hamming weight 1, and Dfree(2) indicates a free
distance calculated with the CISP for which the input information word has the
Hamming weigh 2. For example, for K=600, Dfree(l) of the original PIL
interleaver is indicated by 25/39/49/53/57/... in Table 2, and this means that the
minimum free distance is 25 and the next minimum free distance is 39. Similarly,
Dfree(2)=38/38/42/... means that the minimum free distance is 38. Therefore, it is
noted that the minimum free distance is determined according to the free distance
by the CISP with the Hamming weight 1. To prevent a decrease in the free
distance by the CISP with the Hamming weight I, the invention uses the B-5-1)
method in this example. That is, Dfree(l) is improved by removing the CISP with
the Hamming weight 1.
Table 2 below shows a weight spectrum of the PIL interleaver before
modification.
Table 3 below shows a weight spectrum of the PIL interleaver after
modification.
5 [Tables]
As described above, the novel turbo encoder suppresses a decreases in
the free distance caused by one or more information bits of '1' located at the last
period of a data frame input to the component encoder, using the internal
5 interleaver, thereby contributing to implementation of a turbo encoder with high
performance.
While the invention has been shown and described with reference to a
certain preferred embodiment thereof, it will be understood by those skilled in
10 the art that various changes in form and details may be made therein without
departing from the spirit and scope of the invention as defined by the appended
claims.
WE CLAIM
1. A turbo encoder comprising:
a first encoder arranged for encoding a frame of input information bits to
generate first coded symbols;
an interleaver arranged for receiving the information bits and interleaving
the information bits positions such that an information bit existing at a last
position of a last row of the frame is shifted to a position within the last
row that precedes the last position wherein the number of input
information bits in a frame is RxC; and
a second encoder for encoding the interleaved information bits to
generate second coded symbols.
2. The turbo encoder as claimed in claim 1, wherein the interleaver
comprises:
a controller arranged for sequentially writing the information bits in a
frame, the frame having R groups each group having the C information
bits and permuting the addresses of the Information bits written in a jth
row (where, j=0,l,2...,R-l) to positions Cj(i) in the row in accordance with
an algorithm given by

where k specifies the number of input Information bits in a frame, p
indicates a minimum prime number satisfying 0= (p+l)-K/R, g0 indicates
an associated primitive root for p, and p, indicates a prime number set.
3. The turbo encoder as claimed in claim 2, wherein the interleaver further
comprises:
a nrvemory arranged for storing Information bit frame sequentially.
4. The turbo encoder as claimed in claim 3, further comprising a randomizer
arranged for permuting the addresses of the stored Information bits in
accordance with their interleaved positions.
5. A device for permuting Information bit address of an input frame having R
groups each group having C information bits the device being arranged in
an Internal Interleaver for a turbo encoder, the device comprising:
a memory arranged for storing the information bit frame sequentially;
where k specifies the number of Input Information bits In a frame, p
indicates a minimum prime number that satisfies 0=(p+l)-K/R, gO
indicates an associated primitive root for p, and P, Indicates a prime
number set.
8. A 2-dimenslonal Interleaving method comprising the steps of:
storing sequentially a frame of K Input Information bits, the frame having
R groups, each group having C Infbmiation bits;
permuting the information bits address of the each group according to a
given rule; and
changing the information bit address of an information bit existing at a
last position of a last group to a address within the last group that
precedes the last position.
9. A 2-dimensional Interleaving method as claimed in claim 8, wherein the
permuting comprises:
determining a minimum prime number p satisfying 0=(p+l)-K/R,
sequentially writing sequence of Information bits of a frame in a memory;
selecting an associated primitive root gO for the minimum prime number
p, and generating a base sequence c(i) for intra-row permuting the Input
sequences written In the rows in accordance with
C(i)=[gOxC(i~l)] mod p, j=l,2,....,(p-2) and C(0)=1;
calculating a minimum prime integer set {Qj} (j=0,l,2,..,R-l) by
determining
g,c,d {qj,p-l} =1
Qi > 6, qi>q(j-1)
where g,c,d is a greatest common divider and qo=l;
intra-row permuting {qj} using
Pp{i)=Qj, j=0,1,...,R-l
where P(j)indicates a predetermined selecting order
for selecting the R rows;
when C=:p+1, permuting sequence in a jth row in accordance with
Cj(i) = C([ixpj] mod (p-1)),
where j=0,l,2,...,(R-l), i=0,l,2,...,(p-2), Cj(p-1)=0, and Cj(p)=p,
and if (K=CxR), then Cr-1(p) is exchanged with CR-1(0)
lO.The 2-dimensional interleaving method as claimed in claim 8, wherein the
information bit address of an information bit existing at the last position of
the last group is exchanged with an information bit address of an
information bit existing at a first position within the last group.
11. A 2-dimensional interleaving method comprising the steps of:
writing input sequences of a frame of input information bits having R
groups, each group having C information bits in a memory;
permuting the address of the information bits written in memory
according to a given rule;
shifting an address of an information bit written in a last position of a last
group to a position within the last group that precedes the last position.
12.The 2-dimensional interleaving method as claimed in claim 11, wherein
the input sequence written in the last position of the last group is
exchanged with an input sequence written in a first position within the last
group.
13.A method for interleaving a frame of input information bits, the frame
having R groups, each group having C information bits, the method being
arranged in an internal interieaver of a turbo encoder, the method
comprising the steps of:
a) permuting the information bits position of the groups
according to predetermined interieaving rule;
b) changing an information bit existing at a last position of a
last group of the frame to a position within the last group
that precedes the last position.
14.The method as claimed in claim 13, wherein an information bit position
existing at the last position of the group is exchanged with an information
bit existing at a first position the last group.
15.The method as claimed in claim 13, wherein in the step a and b), the
information bits position of the frame written in an jth row (where
j=0,l,2,...R-l) are permuted with positions Cj(i) in the row is accordance
with the steps of an algorithm given by the steps of
i) calculating C(i)=[gOxc(i-l)] mod p, 1=1,2,...,(p-2) and C(0)=1
11) calculating Ci(i)=C([ixpj] mod (p-1)), where
j=0,l,2,...,(R-l), i=0,l,2,...,(p-2), Cj(p-1)=0, and Cj(p)=p,
iii) exchanging Cr-1(p) is exchanged with CR-1(0)
where k specifies the number of input information bits in a frame, p
Indicates a minimum prime number that satisfies 0 = (p+l)-K/R, gO
indicates an associated primitive root for p, Pj indicates a prime number
set, and Cj(i) Is the input bit position of an ith output after the permutation
of a jth row.
16. A 2-dimensional interleaving method comprising the steps of:
sequentially writing input sequences of Information bits of the frame in an
R X C rectangular matrix;
selecting a primitive root gO corresponding to an minimum prime number
p satisfying 0= (p+l)-K/R, and generating a base sequence c(i) for intra-
row permuting the input sequences written in the rows in accordance with
C(i)=[gOxC(i-l)] mod p, i=l,2,...,(p-2) and C(0)=1;
calculating a minimum prime integer set {qj} 0=0,1/2,...,R-1) by
determining
g,c,d{qj,p-l}=l
Qj > 6, qj> q(j-1)
where g,c,d is a greatest common divider and qo=l;
intra-row permuting {qj} using
Pp(j)=qj, j=0,l,...,R-l
where P(j)indicates a predetermined selecting order
for selecting the R rows;
when C=p+1, permuting sequence in a jth row in accordance with
Cj(i) = C([ixpj] mod (p-1)),
where j=0,l,2,...,(R-l), i=0,l,2,...,(p-2), Cj(p-1)=0, and Cj(p)=p,
and if (K=CxR), then Cr-1(p) is exchanged with CR-1(0)
selecting R rows according to a predetermined order P(j), and selecting
one input sequence from the selected row; and
providing the selected input sequence as read addresses for interleaving
the information bits of the input frame.
17. A turbo encoder comprising:
a first encoder configured to encode a frame of input information bits to
generate first coded symbols, the frame being dividable into groups;
an Interleaver configured to receive the information bits and interleave the
information bits positions such that an Information bit existing at a last
position of a last row of the frame is exchanged with a first position within
the last row wherein the number of Input information bits in a frame is
RxC; and
a second encoder configured to encode the Interleaved information bits
and generate second coded symbols.
18. The turbo encoder as claimed in claim 17, wherein the interleaver writes
the information bits sequentially In a frame, the frame having R groups,
each group having the C information bits, and permutes the addresses of
the information bits written in a jth row (where, j=0,l,2,...,R-l) to
positions Cj(i) in the row in accordance with an algorithm given by
(I) C(i)=[gOxC(i-l)] mod p, i=l,2,...,(p-2) and C(0)=1;
(II) Cj(i) = C([lxpj] mod (p-1)),
j=0,l,2,...,(R-l), i=0,l,2,...,(p-2), Cj(p-1)=0, and Cj(p)=p,
(iii) exchanged Cr-1(p) is with Cr-1(0)
where k specifies the number of input Information bits in a frame, p
indicates a minimum prime number satisfying 0= (p+l)-K/R, gO indicates
an associated primitive root for p, and pj indicates a prime number set.
19. A device for permuting information bit addresses of an input frame having
R groups, each group having C information bits the device being arranged
in an internal interleaver for a turbo encoder, the device comprising:
a memory configured to store the information bits frame sequentially; and
a randomizer configured to permute the address of the information bits
and exchange the address of an information bit existing at a last position
of a last group of the frame with an with an address of an information bit
existing at a first position within the last group.
20. A 2-dimensional Interleaving method comprising the steps of:
storing sequentially a frame of K input information bits, the frame having
R groups, each group having C information bits;
permuting the information bits address of the each group according to a
given rule; and
exchanging the address of an Information bit existing at a last position of
a last group with a first position within the last group.
21. A 2-dimensional interleaving method comprising the steps of:
writing Input sequences of a frame of input Information bits having R
groups, each group having C information bits In a memory;
permuting the address of the Information bits written in memory
according to a given rule;
exchanging an address of an Information bit written in a last position of a
last group with a first position within the last group.
22. A method for interleaving a frame of Input Information bits, the frame
having R groups, each group having C information bits, the method being
arranged In an internal interleaver of a turbo encoder, the method
comprising the steps of:
a) permuting the Information bits position of the groups
according to predetermined interleaving rule;
b) exchanging an information bit existing at a last position of
a last group of the frame with a first position within the
last group.
This invention relates to a 2-dimensional interleaving method is disclosed. The
method comprises dividing a frame of input information bits into a plurality of
groups and sequentially storing the divided groups in a memory; permuting the
information bits of the groups according to a given rule and shifting an
information bit existing at the last position of the last group to a position
preceding the last position; and selecting the groups according to a
predetermined order, and selecting one of the information bits in the selected
group.

Documents:

915-KOLNP-2005-FORM-27.pdf

915-kolnp-2005-granted-abstract.pdf

915-kolnp-2005-granted-claims.pdf

915-kolnp-2005-granted-correspondence.pdf

915-kolnp-2005-granted-description (complete).pdf

915-kolnp-2005-granted-drawings.pdf

915-kolnp-2005-granted-examination report.pdf

915-kolnp-2005-granted-form 1.pdf

915-kolnp-2005-granted-form 18.pdf

915-kolnp-2005-granted-form 2.pdf

915-kolnp-2005-granted-form 3.pdf

915-kolnp-2005-granted-form 5.pdf

915-kolnp-2005-granted-gpa.pdf

915-kolnp-2005-granted-reply to examination report.pdf

915-kolnp-2005-granted-specification.pdf

915-kolnp-2005-granted-translated copy of priority document.pdf


Patent Number 227606
Indian Patent Application Number 915/KOLNP/2005
PG Journal Number 03/2009
Publication Date 16-Jan-2009
Grant Date 14-Jan-2009
Date of Filing 17-May-2005
Name of Patentee SUMSUNG ELECTRONICS CO. LTD.
Applicant Address 416 MAETAN-DONG, PALDAL-GU, SUWON-SHI, KYUNGKI-DO
Inventors:
# Inventor's Name Inventor's Address
1 KIM MIN-GOO, 973-3 YOUNGTONG-DONG, PALDAL GU, SUWON-SHI, KYONGGI-DO 442470
2 KIM BEONG-JO SHINAN APT # 303-804 201 MUJIGAEMAEUL, KUMI DONG, PUNTANG-GU, SONGNAM SHI, KYONFFI-DO 463-500
3 CHOI SOON-JAE, KYUNGNAM APT, # 707-402, YATAP-DONG, PUNTANG-GU SONGNAM-SHI, 463-070 KYONGGI-DO
4 LEE YOUNG-HWAN 237-7 CHONGJA-DONG, PUNTANG-GU, SONGNAM-SHI, 4630140 KYONGGI-DO
PCT International Classification Number H03M 13/27
PCT International Application Number PCT/KR00/00504
PCT International Filing date 2000-05-19
PCT Conventions:
# PCT Application Number Date of Convention Priority Country
1 199/18928 1999-05-19 Republic of Korea
2 1999/18560 1999-05-21 Republic of Korea