The present invention relates to a device and method for transmitting data, and more particularly, to a device and method for enabling a transmitting side to transmit data using a convolutional turbo code (CTC) encoder in a mobile communication system.
In a wireless communication system, portions of transmission data may sometimes be lost at once due to fading. If consecutive data bits are lost at once, this error cannot be recovered from even when a very excellent error correction code is used.
In a wireless communication system, a transmitting side transmits encoded transmission data streams after changing the order of the transmission data streams according to a specific pattern using a channel interleaving method rather than transmitting the data streams in an order in which the data streams are input. That is, a burst error that frequently occurs on a radio link may be changed to a random error using channel interleaving.
When error bits are sparsely present among sequences of the encoded transmission data, the error bits may be corrected using an error correction code such as a convolutional code, a turbo code, or a Low Density Parity Check (LDPC) code.
Basically, turbo coding, which is a channel coding technology, is a scheme which connects convolutional codes through parallel concatenation. The Convolutional Turbo Code (CTC) is one of the channel codes used in mobile Internet services.
As is well known, a next-generation mobile communication system requires reliable transmission of multimedia data at a high speed and requires robust channel coding and an efficient modulation scheme in order to increase reliability of high-speed data transmission. Accordingly, options enabling high-speed data transmission have been suggested and introduced in many countries in accordance with specifications of the options. As a result, various coding schemes such as convolutional coding or turbo coding have been suggested. Such channel coding schemes exhibit better performance depending on an interleaver size or a data block size corresponding to the interleaver size. Thus, intensive studies have been carried out on an interleaver that greatly affects turbo code performance.
An object of the present invention devised to solve the conventional problem is to provide a method for enabling a transmitting side to transmit data using a Convolutional Turbo Code (CTC) encoder, which supports parallel order 2, in a mobile communication system.
It will be appreciated by persons skilled in the art that the objects that could be achieved with the present invention are not limited to what has been particularly described hereinabove and the above and other objects that the present invention could achieve will be more clearly understood from the following detailed description.
In one aspect of the present invention, a method for transmitting data using a convolutional turbo code (CTC) encoder from a transmitting side in a mobile communication system comprises a first encoding to output first encoded bits by encoding input data bits, which have been input through two input ports of the CTC encoder; interleaving the input data bits using four CTC interleaver parameters P0, P1, P2 and P3 corresponding to sizes of the input data bits; a second encoding to output second encoded bits by encoding the interleaved data bits; and selectively transmitting, to a receiving side, the input data bits, the first encoded bits and the second encoded bits, in accordance with a predetermined coding rate, wherein, with respect to the CTC interleaver parameters corresponding to the sizes of the input data bits, P0 is a relative prime number to N, which is ½ of the size of each of the input data bits, P2 has a value of N−1, and the difference between P1 and P2 is 1.
In another aspect of the present invention, a mobile station in a mobile communication system comprises a first convolutional turbo code (CTC) encoder encoding input data bits, which have been input through two input ports, to output first encoded bits; a CTC interleaver interleaving the input data bits using four CTC interleaver parameters P0, P1, P2 and P3 corresponding to sizes of the input data bits; a second CTC encoder encoding the interleaved data bits to output second encoded bits; and a transmission module selectively transmitting, to a receiving side, the input data bits, the first encoded bits and the second encoded bits, in accordance with a predetermined coding rate, wherein, with respect to the CTC interleaver parameters corresponding to the sizes of the input data bits, P0 is a relative prime number to N, which is ½ of the size of each of the input data bits, P2 has a value of N−1, and the difference between P1 and P2 is 1.
Preferably, N which is ½ of the size of each of the input data bits satisfies
Alternatively, the size of each of the input data bits is one of 88, 104, 120, 136, 152, 200, 216, 248, 456 and 568.
More preferably, the CTC interleaver parameters P0, P1, P2 and P3 corresponding to the sizes of the input data bits are defined by the following Table:
According to the present invention, the transmitting side may effectively transmit data using a Convolutional Turbo Code (CTC) encoder, which supports parallel order 2.
It will be appreciated by persons skilled in the art that that the effects that could be achieved with the present invention are not limited to what has been particularly described hereinabove and other advantages of the present invention will be more clearly understood from the following detailed description.
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the invention and together with the description serve to explain the principle of the invention. In the drawings:
Hereinafter, the preferred embodiments of the present invention will be described with reference to the accompanying drawings. It is to be understood that the detailed description, which will be disclosed along with the accompanying drawings, is intended to describe the exemplary embodiments of the present invention, and is not intended to describe a unique embodiment with which the present invention can be carried out. The following detailed description includes detailed matters to provide full understanding of the present invention. However, it will be apparent to those skilled in the art that the present invention can be carried out without the detailed matters. For example, the following description will be made based on, but not limited to, some terminologies. And, other random terminologies may be designated to refer to the same meaning. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.
In the description, when some part “includes” some element, unless specified otherwise, it means that the corresponding part may further include any other element.
The technology disclosed hereinafter may be used for various communication systems that can provide various communication services such as voice and packet data. The technology of the communication system may be used in a downlink or uplink. A base station may be replaced with terms such as a fixed station, Node B, eNode B (eNB), access point, and ABS. Also, a mobile station (MS) may be replaced with terms such as a user equipment (UE), a subscriber station (SS), a mobile subscriber station (MSS), AMS, and a mobile terminal.
Furthermore, a transmitting side means a node that transmits data services or voice services while a receiving side means a node that receives data services or voice services. Accordingly, in the uplink, the mobile station could be a transmitting side while the base station could be a receiving side. Likewise, in the downlink, the mobile station could be a receiving side while the base station could be a transmitting side.
Meanwhile, in the present invention, examples of the mobile station include a personal digital assistant (PDA), a cellular phone, a personal communication service (PCS) phone, a global system for mobile (GSM) phone, a wideband CDMA (WCDMA) phone, and a mobile broadband system (MBS) phone.
The embodiments of the present invention may be supported by standard documents disclosed in at least one of wireless access systems, i.e., IEEE (Institute of Electrical and Electronics Engineers) 802 system, 3GPP system, 3GPP LTE (3rd Generation Partnership Project Long Term Evolution) system, and 3GPP2 system. Namely, among the embodiments of the present invention, steps or parts which are not described to clarify technical spirits of the present invention may be supported by the above standard documents. Also, all terminologies disclosed herein may be described by the above standard documents.
Specific terminologies used in the following description are provided to assist understanding of the present invention, and various modifications may be made in the specific terminologies within the range that they do not depart from technical spirits of the present invention.
Referring to
When data bits (A, B) for coding are simultaneously input to the CTC encoder, the CTC encoder encodes the data bits (A, B) using a Dual Binary Circular Recursive Systematic Convolutional (DB-CRSC) code. Data bits may be input to the CTC encoder on an NEP-bit basis (NEP=2×N bits) or on an N-bit-pair basis. In this case, NEP indicates the CTC data block size.
The CTC encoder may perform encoding in two steps. In the first step, a switch provided in the CTC encoder is located to position 1 so that data bits (A, B) for coding are input to the constituent encoder 110 after an initialization process is performed through a circular state. In the second step, the switch provided in the CTC encoder is switched to position 2 so that data bits (A, B) interleaved by the CTC interleaver 120 are input to the constituent encoder 110 after an initialization process is performed through a circular state.
The CTC encoder may receive a signal from the outside or from an upper layer and may acquire CTC data block size NEP information which is encodable block size information. In this case, NEP=2×N, where N is the actual interleaver size and N=/2.
Data bits (A, B) to be encoded may simultaneously be input to the constituent encoder 110. In this case, the Most Significant Bit (MSB) of data bit streams may be input as the data bit A and a next bit may be input as the data bit B. This procedure may be repeated for the entire bit streams. In this case, the MSB means is a significant number that most significantly affects the magnitude of the value in a bit-based operation. That is, the MSB is the leftmost bit in a bit stream representing the value.
The constituent encoder 110 may encode data bits (A, B) received through two input ports. In this case, the constituent encoder 110 may perform encoding through two encoding steps. The constituent encoder 110 may include a first encoder C1 that encodes the data bits (A, B) received through the two input ports and a second encoder C2 that encodes the data bits (A, B) interleaved by the CTC interleaver 120 after being received through the two input ports. How the data bits are interleaved through the CTC interleaver 220 will be described below in more detail.
The CTC interleaver 120 may interleave the data bits (A, B) received through the two input ports. The CTC interleaver 120 may receive the MSB of a data bit stream as the data bit A and then receive a next bit thereof as the data bit B. This procedure may be repeated for the entire bit streams input to the CTC interleaver 120.
The CTC interleaver 120 randomizes data bit streams input in units of a predetermined size (frame) and uses the data bit streams to improve codeword distance properties.
The CTC encoder may sequentially output the data bits (A, B) input through the two input ports and the data bit values encoded through the constituent encoder 110. For example, the output bits may be “ABY1Y2W1W2” in case of a coding rate of 1/3. The output bits may be “ABY1Y2” through removal of “W1” and “W2” in case of a coding rate of ½. In this case, the output data bits (A, B) correspond to a systematic part, and the data bits (Y1, W1) or (Y2, W2) output through the constituent encoder 110 correspond to a parity part. The size of data bits output from the parity part may vary depending on a predetermined coding rate.
The transmission module (not shown) may selectively transmit the input data bits input through the two input ports, first encoded bits output from the first encoder C1, and second encoded bits output from the second encoder C2 to the receiving side.
Hereinafter, the operation of the CTC interleaver 120 will briefly be described. The CTC interleaver 120 performs interleaving through two steps in accordance with CTC interleaver parameters P0, P1, P2, and P3.
In the first step, the CTC interleaver 120 performs bit pair swapping between the data bits (A, B) to be coded. In other words, the CTC interleaver 120 swaps the positions of each pair of bits such that if (jmod2=0) let (B,A)=(A,B) for j=0, 1, 2, . . . , N−1. For example, let the input sequence be u0=[(A0, B0),(A1, B1), (A2, B2), . . . , (AN−1, BN−1)]. The CTC interleaver 120 performs bit pair swapping on each even permutation symbol in the first step. In this way, when u1 is the bit-pair-swapped sequence, u1=[(A0, B0),(B1, A1), (A2, B2),, (BN−1, AN−1)]=[u1(0), u1(1), u1(2), . . . , u1(N−1)].
In the second step, the CTC interleaver 120 generates an interleaving address for swapped bit pair. The CTC interleaver 120 generates an interleaving address π(j) for a jth bit pair, thereby completing the interleaving process. In this case, π(j) may provide the address of the u1 sequence. That is, u2=[(Bπ(0), Aπ(0)), (A90 (1), Bx(0), (Bπ(2), Aπ(2)), . . . , (Aπ(N−1), Bπ(N−1))], and this sequence u2 may be input to the second encoder.
i=π(l), where j=0, . . . , N-1 and N mod4=0 switch (j mod4): [Equation 1]
π(j)=(P0·j+1)mod N case 0:
π(j)=(P0·j+1+N/2+P1)mod N case 1:
π(j)=(P0·j+1+P2)mod N case 2:
π(j)=(P0·j+1+N/2+P3)mod N case 3:
As described above, the CTC interleaver 120 may perform interleaving by swapping a pair of bits of each even permutation symbol in the first step and generating an interleaving address on the jth bit pair according to the above Equation in the second step. The generated address may be matched with a data block index, and the CTC interleaver 120 may perform interleaving using the matched data block index and 4 and four CTC interleaver parameters P0, P1, P2 and P3 corresponding to the data block index.
Hereinafter, a method for optimizing the CTC interleaver 120 in the IEEE 802.16m system will be described.
In the first step for optimization, a spatial distance is calculated using a parameter test set. Considering the CTC interleaver structure, the four parameters P0, P1, P2, and P3 preferably have the following characteristics:
i) First, P0 is relatively prime to N;
ii) P1 is a natural number, which is a multiple of 2, such that P1=0, 2, 4, . . . , N−2;
iii) P2 is a natural number, which is a multiple of 4, such that P.sub.2=0, 4, 8, . . . , N−4; and
iv) P3 is a natural number, which is a multiple of 2, such that P3=0, 2, 4, . . . , N−2 when P1 mod 4=2, and is a natural number, which is a multiple of 4, such that P3=0, 4, 8, . . . , N−4 when P1 mod 4=0.
Meanwhile, the spatial distance may be defined as in the following Equation 2.
S(k1, j2)=f(j1, j2)+f(π(j1), π(j2)) [Equation 2]
In this case, f(u,v)=min [|u-v|, k-|u-v|], and f(j1,j2) denotes a spatial distance before interleaving, and f(π(j1), π(j2)) denotes a spatial distance after interleaving. The spatial distance may be calculated for all index combinations (j1, j2). In addition, Smin of spatial distances of the index combinations denotes the minimum spatial distance of the CTC interleaver.
In more detail, a parameter P0, which is relatively prime number to N, will be selected in the following manner.
Preferably, P0 is an integer which is close to √{square root over (2N)} while is relatively prime number to N. However, for some data block sizes, P0 may be an integer which is not close to √{square root over (2N)} while is relatively prime number to N.
Also, Smin may be sorted by magnitude. CTC interleaving patterns may be generated using all combinations (P1, P2, P3)={(0,0,0), (0, 0, 2), . . . , (2, 0, 0), (2, 0, 2 or 4), . . . , (N−2, N−4, N−2 or N−4) together with P0. Snun may be calculated for each combination of (P1, P2 , P3). After minimum spatial distances Snun are calculated respectively for all parameter combinations, the top 5 parameter combinations may be extracted from parameter combinations having the minimum spatial distances when the parameter combinations are sorted in decreasing order of the minimum spatial distance. The 5 parameter combinations having the minimum spatial distances sorted and extracted in this manner may be used in the second step of the method of designing and optimizing CTC interleaver parameters.
In the second step for optimization, a Return To Zero (RTZ) spatial distance may be calculated using the extracted parameter combinations. The RTZ sequence may be represented as follows taking into consideration CTC encoder generation polynomial equations.
When the result of interleaving of an RTZ sequence interleaved by applying bit pair swapping to RTZ sequence input in the first step of the interleaving procedure is also an RTZ sequence, a spatial distance may be calculated for the RTZ sequence. In this case, SRTZ,min is the minimum spatial distance of the RTZ sequence.
After minimum spatial distances SRTZ,min are calculated respectively for the each parameter combinations extracted in the first step, the top five minimum spatial distances SRTZ,min may be sorted in decreasing order. Parameter combinations having the minimum RTZ spatial distances may be used in the third step of the method of designing and optimizing CTC interleaver parameters.
In the third step, the minimum distance is calculated using an Error IMpulse (EIM) method.
The EIM method may be performed using 2-bit data input to the CTC encoder. In order to calculate the minimum distance dmin using interleaving patterns generated by the parameter combinations, the EIM method may be performed by each of the first and second encoders twice using the input bits A and B. Thus, the minimum distance of code may be checked using the EIM method. Max-Log-MAP decoding having 64 repetitions may be used for the EIM method. This may be represented by the following algorithm.
After minimum distances dmin are calculated respectively for the each parameter combinations in the third step for optimization, the top three minimum distances dmin may be obtained in such a manner that the calculated minimum distances dmin are sorted in decreasing order. Parameter combinations having the three minimum distances obtained in this manner may be used in the last step, namely, the fourth step, of the method of designing and optimizing CTC interleaver parameters. In this case, the minimum distance may represent a measure of performance, and performance generally increases as the minimum distance increases.
In the fourth step for optimization, performance is estimated using mother code rates of ½ and ⅓. A BLock Error Rate (BLER) may be estimated after the mother code rate is set to ½ and ⅓ for the parameter combinations extracted in the third step. Parameter combinations which exhibit the highest performance for all the mother code rates ½ and ⅓ for each data block size may be selected after performance is estimated.
The following Table 3 is the preferred embodiment of the data block size used for interleaving, and illustrates 39 data block sizes and CTC interleaver parameter values corresponding to the 39 data block sizes.
In the meantime, among the CTC interleaver parameters illustrated in the above Table 3, if NEP is 88, 104, 120, 136, 152, 200, 216, 248, 456 and 568, a problem occurs in that the interleaver cannot assure a parallel order 2. In other words, in case of
a problem occurs in that the following Equation 3 which corresponds to requirements of the CTC interleaver in case of a parallel order 2 is not satisfied.
The Equation 3 represents that output data bits should exist in different memories even after CTC interleaving.
Accordingly, in order to determine parameters that satisfy requirements of the CTC interleaver in case of a parallel order 2, the present invention suggests that the parameter test set should be determined, as follows, in the first step for optimization.
First of all, in case of
P0 is assumed as expressed by the following
Equation 4, and P2 is assumed as N−1.
P
0=2a+1 and GCD(P0, N)=1 [Equation 4]
The Equation 4 represents that P0 is an odd number, and is relative prime number to N.
Also, since P2 is assumed as N−1, the above Equation 1 may be expressed by the following Equation 5.
j=4x+y, where x=0, . . . , N/4−1 and y=0, . . . 3 switch y: [Equation 5]
π(4x)=(P0·4x+1)mod N case 0:
π(4x+1)=(P0·(4x+1)+1+N/2+p)mod N case 1:
π(4x+2)=(P0·(4x+2)+1+(N−1))mod N case 2:
π(4x+3)=(P0·(4x+3)+1+N/2+P3)mod N case 3:
In this case, it is noted that the Equation 5 satisfies a condition of the following Equation 6.
π(4x)mod4≠π(4x+1)mod4≠π(4x+2)mod4≠π(4x+3)mod4 [Equation 6]
In the meantime, in case of Nmod4=0, since (XmodN)mod4=Xmod4, the Equation 5 may depend on a value of y.
First of all, if y is 0, since P0 is an odd number in accordance with the Equation 4, the case 0 is expressed by the following Equation 7.
π(4x)=mod4=(P0·4x+1)mod4=1 [Equation 7]
Also, since P0 is an odd number in accordance with the Equation 4 even if y is 2, the case 2 is expressed by the following Equation 8.
π(4x+2)mod4=(P0·(4x2)+1+N−1)mod4=(P0·2)mod4=2 [Equation 8]
Finally, if y is 1 or 3, the case 1 and case 3 are expressed by the following Equation 9.
Referring to the Equation 9, features of P1 and P3 are varied as expressed by the following Equations 10 and 11 depending on whether a value of a is an odd number or an even number.
If a mod2=0, [Equation 10]
For π(4x+1)mod 4=0 and π(4x+3)mod 4=3
P1 shall be P1 mod 4=0 and P3 shall be P3 mod 4=1
For π(4+1)mod 4=3 and π(4x+3)mod 4=0
P1 shall be P1 mod 4=3 and P3 shall be P3 mod 4=2
If a mod2=1 [Equation 11]
For π(4x+1)mod 4=0 and π(4x+3)mod 4=3
P1 shall be P1 mod 4=2 and P3 shall be P3 mod 4=3
For π(4x+1)mod 4=3 and π(4x+3)mod 4=0
P1 shall be P1 mod 4=1 and P3 shall be P3 mod 4=0
Referring to the Equations 10 and 11, in order to satisfy the Equation 3 which corresponds to requirements of the CTC interleaver in case of a parallel order 2, it is noted that |P1-P3|=1 should be satisfied. This will be described in more detail.
If kmod 4=0 for an arbitrary integer
since
is satisfied. In this case, in the CTC interleaver of which parallel order is 2, π(k) and π(k+N/2) which are output to their respective memory banks different from each other may be expressed by the following Equation 12.
Referring to the Equation 12, since (P0·N/2)mod N=N/2 and P0 is an odd number, it is noted that
However, if kmod 4=1, since
satisfied. In this case, in the CTC interleaver of which parallel order is 2, π(k) and π(k+N/2) which are output to their respective memory banks different from each other may be expressed by the following Equation 13.
Referring to the Equation 13, since π(k) and π(k+N/2) should be output to their respective memory banks different from each other, that is,
should be obtained, it is noted that
Accordingly, Tc(k) may be expressed by the following Equation 14.
π(k)+N/2=(P0·k+1+P1)mod N [Equation 14]
Moreover, if if knod 4=3, since
satisfied. In this case, in the CTC interleaver of which parallel order is 2, π(k) and π(k+N/2) which are output to their respective memory banks different from each other may be expressed by the following Equation 15.
Referring to the Equation 15, in the same manner as the Equation 13, since π(k) and π(k+N/2) should be output to their respective memory banks different from each other, that is,
should be obtained, it is noted that
Accordingly, Tc(k) may be expressed by the following Equation 16.
π(k)+N/2=(P0·k+130 P3)modN [Equation 16]
Referring to the Equations 14 and 16, the following Equations 17 and 18 may be obtained.
In accordance with the Equations 17 and 18, it is approved that |P1-P3|=1 be obtained.
Based on the aforementioned description, if the data block size NEP satisfies
(but, N=NEP/2), Po is assumed as the Equation 4, P2 is assumed as N−1, and P1 and p3 are assumed as a value that satisfies a condition of , whereby the parameter test set is determined in the first step for optimization.
The following Table 4 illustrates a CTC interleaver parameter value that satisfies a parallel order 2 according to the present invention.
Referring to
The aforementioned embodiments are achieved by combination of structural elements and features of the present invention in a predetermined type. Each of the structural elements or features should be considered selectively unless specified separately. Each of the structural elements or features may be carried out without being combined with other structural elements or features. Also, some structural elements and/or features may be combined with one another to constitute the embodiments of the present invention. The order of operations described in the embodiments of the present invention may be changed. Some structural elements or features of one embodiment may be included in another embodiment, or may be replaced with corresponding structural elements or features of another embodiment. Moreover, it will be apparent that some claims referring to specific claims may be combined with another claims referring to the other claims other than the specific claims to constitute the embodiment or add new claims by means of amendment after the application is filed.
The embodiments according to the present invention may be implemented by various means, for example, hardware, firmware, software, or their combination. If the embodiment according to the present invention is implemented by hardware, the embodiment of the present invention may be implemented by one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, etc.
If the embodiment according to the present invention is implemented by firmware or software, the embodiment of the present invention may be implemented by a type of a module, a procedure, or a function, which performs functions or operations described as above. A software code may be stored in a memory unit and then may be driven by a processor. The memory unit may be located inside or outside the processor to transmit and receive data to and from the processor through various means which are well known.
It will be apparent to those skilled in the art that the present invention may be embodied in other specific forms without departing from the spirit and essential characteristics of the invention. Thus, the above embodiments are to be considered in all respects as illustrative and not restrictive. The scope of the invention should be determined by reasonable interpretation of the appended claims and all change which comes within the equivalent scope of the invention are included in the scope of the invention.
The device and method for transmitting data using a convolutional turbo code (CTC) encoder according to the present invention may industrially be used.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/KR2011/009256 | 12/1/2011 | WO | 00 | 5/15/2014 |