An encoding device including a first feedback convolutional encoder for encoding n data streams using a primitive polynomial of m'th order, a 2-dimensional interleaver for segmenting the n data streams into k data groups and reading the n data streams from the k data groups and interleaving the n data streams, and a second feedback convolutional encoder for encoding the interleaved data streams from the 2-dimensional interleaver using the primitive polynomial of m'th order. The encoding device comprises a controller for controlling selection of the data groups such that an output of the 2-dimensional interleaver differs from a specific pattern, when k is a positive multiple of 2m-1 and at least one of the data groups has said specific pattern.
|
4. An interleaving method in a communication system including a feedback encoder having m memories and a 2-dimensional interleaver having g data groups, where g is a multiple of 2m-1, each data group having addresses of a given size, wherein the addresses are selected such that a data group selection cycle for selecting one of the addresses in each data group not equal to a multiple of 2m-1.
9. An encoding device including a first feedback convolutional encoder for encoding n data streams using a primitive polynomial of m'th order, a 2-dimensional interleaver for segmenting the n data streams into k data groups and reading the n data streams from the k data groups and interleaving the n data streams, and a second feedback convolutional encoder for encoding the interleaved data streams from the 2-dimensional interleaver using the primitive polynomial of m'th order, the encoding device comprising:
a controller for selecting, when k is a positive multiple of 2m-1, a specified one of the k data groups and controlling selection of the data groups such that a cycle of selecting said specified data group is not equal to a multiple of 2m-1.
1. An encoding device including a first feedback convolutional encoder for encoding n data streams using a primitive polynomial of m'th order, a 2-dimensional interleaver for segmenting the n data streams into k data groups and reading the n data streams from the k data groups and interleaving the n data streams, and a second feedback convolutional encoder for encoding the interleaved data streams from the 2-dimensional interleaver using the primitive polynomial of m'th order, the encoding device comprising:
a controller for controlling selection of the data groups such that an output of the 2-dimensional interleaver differs from a specific pattern when k is a positive multiple of 2m-1 and at least one of the data groups has said specific pattern.
13. An interleaving method for an interleaver in an encoding device, said encoding device including a first feedback convolutional encoder for encoding n data streams using a primitive polynomial of m'th order, a 2-dimensional interleaver for segmenting the n data streams into k data groups and reading the n data streams from the k data groups and interleaving the n data streams, and a second feedback convolutional encoder for encoding the interleaved data streams from the 2-dimensional interleaver using the primitive polynomial of m'th order, wherein when k is a positive multiple of 2m-1, a specified one of the k data groups is selected and, selection of the data groups is controlled such that a cycle of selecting said specified group is not equal to a multiple of 2m-1.
6. An encoding device including a first feedback convolutional encoder for encoding n data streams using a primitive polynomial of m'th order, a 2-dimensional interleaver for segmenting the n data streams into k data groups and reading the n data streams from the k data groups and interleaving the n data streams, and a second feedback convolutional encoder for encoding the interleaved data streams from the 2-dimensional interleaver using the primitive polynomial of m'th order, the encoding device comprising:
a controller for selecting, when k is a positive multiple of 2m-1, a specified one of the k data groups and controlling selection of the data groups such that a cycle of selecting said specified data group differs from a period of the feedback convolutional encoders.
16. An interleaving method for an interleaver in an encoding device, to said encoding device including a first feedback convolutional encoder for encoding n data streams using a primitive polynomial of m'th order, a 2-dimensional interleaver for segmenting the n data streams into k data groups and reading the n data streams from the k data groups and interleaving the n data streams, and a second feedback convolutional encoder for encoding the interleaved data streams from the 2-dimensional interleaver using the primitive polynomial of m'th order, the interleaving method comprising the steps of:
sequentially storing the input n data streams in a memory; generating a read address according to a given interleaving rule wherein the interleaving rule includes, selecting, when k is a positive multiple of 2m-1, a specified one of the k data groups and controlling selection of the data groups such that a period of selecting said specified data group is not equal to a multiple of 2m-1; and reading the input data from the memory using the read address.
2. The encoding device as claimed in
3. The encoding device as claimed in
5. The interleaving method as claimed in
7. The encoding device as claimed in
8. The encoding device as claimed in
10. The encoding device as claimed in
11. The encoding device as claimed in
12. The encoding device as claimed in
a memory for sequentially storing the n data streams; an address generator for generating read addresses for each one of the k data groups according to a given interleaving rule; and a selector for selecting the data groups according to a predetermined order under a control of the controller and selecting a read address from the selected data group; wherein the memory outputs n data streams using the read address from the selector.
14. The interleaving method as claimed in
15. The interleaving method as claimed in
17. The interleaving method as claimed in
18. The interleaving method as claimed in
|
1. Field of the Invention
The present invention relates generally to an interleaving/deinterleaving device and method, and in particular, to a 2-dimensional interleaving/deinterleaving device and method for a turbo encoder used in radio communication systems such as satellite, ISDN (Integrated Services Digital Network), digital cellular, W-CDMA (Wideband Code Division Multiple Access), IMT-2000 and W-ATM (Wideband Asynchronous Transfer Mode) communication systems.
2. Description of the Related Art
A turbo code is a type of error correction code which affects the reliability of a digital communication system. Conventionally, turbo codes are divided into serial turbo codes and parallel turbo codes. A parallel turbo encoder encodes an input frame of L information bit streams into parity symbols using two simple parallel concatenated codes, wherein recursive systematic convolutional (RSC) encoders are typically used as the component encoders. In addition, the parallel turbo encoder includes an interleaver connected between the component encoders.
In the turbo encoder, interleaving is performed to randomize data streams on a frame unit basis and to improve the distance property of a codeword. In particular, it is expected that the turbo encoder will be used in a supplemental channel (or traffic channel) of an IMT-2000 (or CDMA-2000) communication system and in a data channel of UMTS (Universal Mobile Telecommunication System), as proposed by ETSI (European Telecommunication Standards Institute). Therefore, a reliable method for employing a turbo interleaver with a turbo encoder for this purpose is required.
Referring to
For the internal interleaver (or a turbo interleaver) 112 of the turbo encoder, various interleavers are proposed, such as PN (Pseudo Noise) random interleavers, random interleavers, block interleavers, non-linear interleavers, and S-random interleavers. However, so far, such interleavers are mere algorithms designed to improve their performances in terms of scientific researches rather than implementation. 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 the internal interleaver. In general, an increase in the input frame size (i.e., the number of information bits included in one frame) gives rise to an increase in the performance of the turbo encoder. However, an increase in interleaver size requires an increase in calculations. Therefore, in general, if the frame size is very large, it is not practical to implement the interleaver.
According to experiments, random interleaver is superior in performance to a block interleaver. However, the random interleaver is disadvantageous in that an increase in the variety and size of the frame causes an increase in the required memory capacity for storing an interleaver index (i.e., mapping rule or address). That is, the memory capacity required for addressing greatly increases. Therefore, taking the required hardware size into consideration, it is preferable to employ an address enumeration method for reading data stored at a corresponding address by generating an address at every symbol clock using an index generating rule rather than a look-up table method for storing the interleaver index.
In conclusion, when various interleaver sizes are required and the hardware complexity is restricted in an IMT-2000 or UMTS system, the turbo interleaver should be designed to guarantee optimal interleaver performance by taking inherent restrictions into consideration. That is, an interleaver which performs interleaving/deinterleaving according to a specific interleaving rule is required. In addition, the turbo interleaver requires good interleaver properties (e.g., distance property, weight property and random property).
The IMT-2000 or UMTS specification is yet to provide any definition for the turbo interleaver. The forward link and the reverse link defined by the IMT-2000 specification have various types of logical channels and various interleaver sizes. Therefore, in order to meet these various requirements, an increased memory capacity is required. For example, in a CDMA-2000 forward link transmission mode, an interleaver of various sizes ranging from 144 bits/frame to 36864 bits/frame may be used. In addition, the interleaver can be classified into a 1-dimensional interleaver for performing interleaving by regarding the whole input frame as one area and a 2-dimensional interleaver for dividing the input frame into several partial areas to perform interleaving according to the divided areas.
To sum up, the prior art has the following disadvantages.
First, for the conventional internal interleaver of the turbo encoder, PN random interleavers, random interleavers, block interleavers, non-linear interleavers, and S-random interleavers may be used. However, 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 of such interleavers must be considered. However, this is not specifically defined.
Second, since a controller (CPU or host) of the transceiver must store interleaving rules according to the respective interleaver sizes in the existing interleaving method using a look-up table, a host memory requires a separate capacity in addition to an interleaver buffer. That is, when the frame size is varied and increased, an increase in memory capacity for storing the interleaver index (i.e., mapping rule or address) is required. That is, it has a disadvantage of requiring a large increase in memory capacity.
Third, it is not easy to implement an interleaver satisfying both the distance property and the random property.
Fourth, when a 2-dimensional interleaver is used, the areas are selected without consideration of the periodicity of the component encoder, so that a state of the component encoder may be reset.
It is, therefore, an object of the present invention to provide an interleaving/deinterleaving device and method for maximizing a distance property of a turbo encoder in a communication system.
It is another object of the present invention to provide an interleaving device and method for a turbo encoder, which divides input frame data by specific size before interleaving.
It is yet another object of the present invention to provide a 2-dimensional interleaving device and method for controlling group selection such that a period for selecting a specific group should be different from a period of a component encoder in the turbo encoder.
To achieve the above object, an encoding device is provided, including a first feedback convolutional encoder for encoding n data streams using a primitive polynomial of m'th order, a 2-dimensional interleaver for segmenting the n data streams into k and interleaving the n data streams data groups and reading the n data streams from the k data groups and interleaving the n data streams, and a second feedback convolutional encoder for encoding the interleaved data from the 2-dimensional interleaver using the primitive polynomial of m'th order. The encoding device comprises a controller for controlling selection of the data groups such that an output of the 2-dimensional interleaver does not coincide with a specific pattern, when k is a positive multiple of 2m-1 and at least one of the data groups has said specific pattern.
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:
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 to avoid obscuring the invention in unnecessary detail.
To design a turbo encoder which has optimal performance with respect to various frame sizes, many parameters must be considered, such as the amount of memory for the.component encoders of the turbo encoder (i.e., constraint length K), generator polynomials and an optimal coding rate. It is very difficult to design a turbo encoder which has optimal performance through experiments, in a state where it is not verified how such parameters affect the performance.
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. Since this has the same function as a codeword distance property of a convolutional code, it is preferable that the interleaver be designed to have a longer distance, if possible.
Weight Property: The weight of a codeword corresponding to a non-zero information word should be higher than a threshold value. Since this has the same function as the minimum distance property of the convolutional code, it is preferable that the interleaver should be designed to have a greater weight, if possible.
Random Property: The correlation factor between output word symbols after interleaving should be much lower than the 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.
A description of the invention will now be described hereinbelow with reference to the accompanying drawings.
The invention proposes an optimal interleaving/deinterleaving device satisfying properties (including distance property, weight property and random property) of the turbo interleaver.
Generally, as an internal interleaver of the turbo encoder, a random interleaver has good performance, especially with larger frame sizes. Therefore, the invention proposes using a 2-dimensional interleaver, which has a low complexity while satisfying the properties of a random interleaver. The 2-dimensional interleaver divides the input frame size into a plurality of groups and applies a specific interleaving rule according to the groups. A group selection period, defined as the period between when a specific group is selected and when the same specific group is subsequently selected, does not coincide with a period of an internal component encoder. Further, an embodiment of the present invention applies a linear feedback shift register (LFSR) for generating a PN sequence to each group and uses a random number generated therefrom as a read address. However, the present invention is not limited to a method of performing interleaving on a group unit basis, and aims at selecting the addresses generated according to groups in consideration of a periodicity of the component encoder. Further, not only the conventional component encoder but also a component encoder defined by the CDMA-2000 specification and the UMTS specification can be used for the first and second component encoders of the turbo encoder according to the present invention. In addition, the interleaver according to the present invention can be applied to a channel interleaver as well as an internal interleaver of a serial turbo encoder.
With reference to
With reference to
In general, for a given input frame size, performance of the turbo encoder is determined depending on a constraint length K and the properties of the turbo interleaver. In designing a decoder, the constraint length K is set to 3 or 4 in consideration of the resulting complexity and the desired performance improvement. For example, in CDMA-2000 and UMTS systems, the constraint length K is normally set to 4 (K=4). On the contrary, for the turbo interleaver (i.e., interleaver for the turbo encoder), it is very difficult to select properties which result in an optimal turbo interleaver, since there are too many design parameters. Therefore, research is carried out using a less than optimal turbo interleaver, rather than an optimal turbo interleaver.
First, it is necessary to analyze properties of the convolutional code. For a general convolutional code, when a Hamming weight W(I) of an input sequence I is low, a weight of the code is also low. Otherwise, when the Hamming weight W(I) is high, the weight of the code is also high. This is based on the property of a feed forward convolutional code. Unlike a convolutional code, a turbo code using a recursive convolutional code has an infinite impulse response sequence. That is, for K=4, when an input sequence of 100000 . . . 0 is used, a component code sequence having a period of 7 is generated.
For example, when K=4, for an input sequence of 10000001000000000. . . , a state of the first component encoder is reset to the zero state after encoding the second `1` bit. Further, for every case where the distance between the two 1's is a multiple of 7, due to the periodicity, the state of the first encoder is reset in the same manner. Therefore, all the succeeding codes become zero, causing a decrease in the minimum distance of the turbo code. In this case, the turbo interleaver breaks such a pattern of the input sequence so that the second component encoder has a higher code weight, thereby increasing the minimum weight of the turbo encoder.
Such a turbo interleaver can be divided into a 1-dimensional turbo interleaver and a 2-dimensional turbo interleaver according to a designing method. The 1-dimensional interleaver performs interleaving, regarding the whole frame to be interleaved as one object. The 2-dimensional interleaver divides the whole frame into sub-frames or a plurality of groups having the same size, and then, each group independently performs interleaving using the corresponding interleaving rule. In general, the 2-dimensional turbo interleaver is superior in performance to the 1-dimensional turbo interleaver, and has interleaving rules according to the groups, thereby providing a simple optimization process when compared with the 1-dimensional turbo interleaver.
Such 2-dimensional turbo interleaving may have a problem. That is, when the group number is equal to a period of the component encoder or a multiple of the period, the minimum distance of the turbo code is highly decreased. For example, for k=4, the period is 7. Therefore, if the group number is 7, or a multiple of 7, there is a probability of resetting each component encoder to the zero state.
Therefore, to solve the above problem when designing the 2-dimensional turbo interleaver, the invention changes a group selection pattern such that a group selection period, the period between subsequent selections of the same group, is different from a period of the component encoder in the turbo encoder. That is, the present invention aims at maximizing the minimum distance of the turbo code by analyzing the property of the turbo encoder when the 2-dimensional turbo interleaver performs group selection.
Now, a description will be made of a turbo interleaving device which maximizes the minimum distance of the turbo code according to an embodiment of the present invention.
The most effective method of randomizing a group selection periodicity is to change the group to be selected first at every period. Table 1 below shows an example of such a method when k=4 and the group number is 7. Although Table 1 shows that group selection is made sequentially on a cyclical shift basis, it is also possible that group selection is made randomly on a cyclical shift basis according to a predetermined pattern.
TABLE 1 | ||||||||
Shift Step | Group Selection Order | |||||||
0 | 0123456 | 0123456 | 0123456 | 0123456 | 0123456 | 0123456 | 0123456 | 0123456 |
1 | 0123456 | 1234560 | 2345601 | 3456012 | 4560123 | 5601234 | 6012345 | 0123456 |
2 | 0123456 | 2345601 | 4560123 | 6012345 | 1234560 | 3456012 | 5601234 | 0123456 |
3 | 0123456 | 3456012 | 6012345 | 2345601 | 5601234 | 1234560 | 4560123 | 0123456 |
4 | 0123456 | 4560123 | 1234560 | 5601234 | 2345601 | 6012345 | 3456012 | 0123456 |
5 | 0123456 | 5601234 | 3456012 | 1234560 | 6012345 | 4560123 | 2345601 | 0123456 |
6 | 0123456 | 6012345 | 5601234 | 4560123 | 3456012 | 2345601 | 1234560 | 0123456 |
For example, in Table 1, when the shift step is 2, the groups are selected using the order 0123456 at a first period, and the groups are selected using the order 2345601, where the group selection order is shifted by 2, at a second period. That is, at every group selection period, the groups are selected in the group selection order determined by shifting the previous group selection order by 2, as illustrated in Table 1 moving from left to right in the "2" row. When the groups are selected by cyclic shifting as shown in Table 1, a specific group selection order repeats after 7 different group selection orders, thereby increasing the minimum distance. That is, when the shift step is 0, the group selection pattern has the same pattern as the previous one at every period. However, when the shift step is 1, 2, 3, 4, 5 and 6, a specific group selection pattern occurs after 7 different group selection patterns have cycled. That is, the group selection order is changed by cyclically shifting so that the period if the turbo encoder should be different than the cyclical shifting order.
Such cyclic shifting group selection can be simply implemented. Each group selection is determined by Equation (1) below.
g=(clk%Ng+shift_step*k)%NG for clk=0, . . . ,frame_length-1 [Equation 1]
For example, in case that Ng=7 and the shift_step=1, k=0,0,0,0,0,0,0
Although the invention has been described with reference to the cyclic group shifting method wherein the group selection order increases sequentially, it is also possible to randomly output the interleaving addresses from each group in order to increase the distance property of the turbo interleaver.
For example, assume that k=4 and the group number Ng=7. In this case, it is not possible to randomize the group selection periodicity without cyclic group shifting, no matter which group multiplexing method is used. Therefore, after increasing the group selection period by cyclic shifting, the group multiplexing randomizes group selection according to a pattern. Here, "group multiplexing" refers to randomly selecting the groups according to a specific pattern. Although the group selection order is shifted by cyclic shifting, the specific pattern for randomly selecting the groups is not changed. That is, group selection is performed while the specific pattern is shifted.
Referring to
Referring to
With regard to an operation of the address generator of
Referring to
Referring to
As described above, the present invention provides a method for satisfying the distance property of the interleaver when performing the 2-dimensional interleaving. That is, the novel 2-dimensional interleaver is designed such that a period of selecting a specific group differs from a period of the turbo encoder, to thereby prevent the component encoder included in the turbo encoder from being reset in the zero state, thereby maximizing the minimum distance of the turbo encoder.
While the invention has been shown and described with reference to a certain preferred embodiment thereof, it will be understood by those skilled in 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.
Patent | Priority | Assignee | Title |
6789218, | Jan 03 2000 | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | High spread highly randomized generatable interleavers |
6871270, | Dec 03 2001 | Samsung Electronics Co., Ltd. | Device and method for minimizing puncturing-caused output delay |
7085320, | Jul 31 2001 | Micronas GmbH | Multiple format video compression |
7093085, | Dec 03 2001 | Samsung Electronics Co., Ltd. | Device and method for minimizing puncturing-caused output delay |
7142251, | Jul 31 2001 | Micronas GmbH | Video input processor in multi-format video compression system |
7184101, | Jul 31 2001 | Micronas GmbH | Address generation for video processing |
7210075, | May 10 2001 | STMICROELECTRONICS S R L | Prunable S-random block interleaver method and corresponding interleaver |
7219173, | Jul 31 2001 | Micronas GmbH | System for video processing control and scheduling wherein commands are unaffected by signal interrupts and schedule commands are transmitted at precise time |
7386766, | Mar 05 2004 | INTERDIGITAL CE PATENT HOLDINGS | Address generation apparatus for turbo interleaver and deinterleaver in W-CDMA systems |
7395461, | May 18 2005 | Seagate Technology LLC | Low complexity pseudo-random interleaver |
7432988, | Jul 31 2001 | Micronas GmbH | Address generation for video processing |
7586993, | Dec 06 2001 | Texas Instruments Incorporated | Interleaver memory selectably receiving PN or counter chain read address |
7600164, | Dec 17 2004 | CLUSTER, LLC; Optis Wireless Technology, LLC | Interleaving/de-interleaving using compressed bit-mapping sequences |
7788560, | May 18 2005 | Seagate Technology LLC | Interleaver with linear feedback shift register |
7830957, | May 02 2006 | Qualcomm Incorporated | Parallel bit interleaver for a wireless system |
7925956, | Oct 03 2006 | Google Technology Holdings LLC | Method and apparatus for encoding and decoding data |
8032801, | Jan 03 2000 | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | High spread highly randomized generatable interleavers |
8200733, | Apr 15 2008 | SHENZHEN XINGUODU TECHNOLOGY CO , LTD | Device having interleaving capabilities and a method for applying an interleaving function |
8356232, | Oct 06 2006 | Google Technology Holdings LLC | Method and apparatus for encoding and decoding data |
8850286, | Nov 30 2006 | Google Technology Holdings LLC | Method and apparatus for encoding and decoding data |
Patent | Priority | Assignee | Title |
5446747, | Apr 23 1991 | FRANCE TELECOM S A | Error-correction coding method with at least two systematic convolutional codings in parallel, corresponding iterative decoding method, decoding module and decoder |
5898710, | Jun 06 1995 | Ikanos Communications, Inc | Implied interleaving, a family of systematic interleavers and deinterleavers |
6023783, | May 15 1997 | Intellectual Ventures I LLC | Hybrid concatenated codes and iterative decoding |
6304991, | Dec 04 1998 | Qualcomm Incorporated | Turbo code interleaver using linear congruential sequence |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Apr 06 2000 | Samsung Electronics Co., Ltd. | (assignment on the face of the patent) | / | |||
Apr 06 2000 | KIM, BEONG-JO | SAMSUNG ELECTRONICS CO , LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 010724 | /0752 | |
Apr 06 2000 | KIM, MIN-GOO | SAMSUNG ELECTRONICS CO , LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 010724 | /0752 | |
Nov 27 2009 | SAMSUNG ELECTRONICS CO , LTD | Qualcomm Incorporated | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 023905 | /0498 |
Date | Maintenance Fee Events |
Jun 04 2004 | ASPN: Payor Number Assigned. |
Dec 18 2006 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Dec 28 2010 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Dec 29 2014 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Jul 08 2006 | 4 years fee payment window open |
Jan 08 2007 | 6 months grace period start (w surcharge) |
Jul 08 2007 | patent expiry (for year 4) |
Jul 08 2009 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jul 08 2010 | 8 years fee payment window open |
Jan 08 2011 | 6 months grace period start (w surcharge) |
Jul 08 2011 | patent expiry (for year 8) |
Jul 08 2013 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jul 08 2014 | 12 years fee payment window open |
Jan 08 2015 | 6 months grace period start (w surcharge) |
Jul 08 2015 | patent expiry (for year 12) |
Jul 08 2017 | 2 years to revive unintentionally abandoned end. (for year 12) |