Method and system of relaying data

Abstract
A method and system of relaying data are provided. The data is encoded into a turbo codeword by using a convolutional turbo code, and the turbo codeword is transmitted from a source to a relay and a destination by first puncturing the turbo codeword. The first punctured turbo codeword which is received in the relay is decoded and the decoded turbo codeword is transmitted from the relay to the destination by second puncturing the decoded turbo codeword. The turbo codeword received from the source and the relay to the destination are totaled respectively as a single turbo codeword and the totaled single turbo codeword is decoded and the data is recovered.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other exemplary objects, features, and advantages of certain exemplary embodiments of the present invention will be more apparent from the following description taken in conjunction with the accompanying drawings in which:



FIG. 1 is a diagram illustrating an example of a configuration of a relay system according to the conventional art;



FIG. 2 is a diagram illustrating a configuration of a system of relaying data according to an exemplary embodiment of the present invention;



FIGS. 3A and 3B are diagrams illustrating an example of generating a first punctured turbo codeword according to an exemplary embodiment of the present invention;



FIGS. 4A and 4B are diagrams illustrating an example of generating a second punctured turbo codeword according to an exemplary embodiment of the present invention; and



FIG. 5 is a flowchart illustrating a method of relaying data according to an exemplary embodiment of the present invention.





Throughout the drawings, the same drawing reference numerals will be understood to refer to the same elements, features and structures.


DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

The matters defined in the description such as a detailed construction and elements are provided to assist in a comprehensive understanding of the embodiments of the invention. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the invention. Also, descriptions of well-known functions and constructions are omitted for clarity and conciseness.



FIG. 2 is a diagram illustrating a configuration of a system of relaying data according to an exemplary embodiment of the present invention.


A relay network includes a source, a relay, and a destination as a communication node. The relay network is designed to transmit the data from the source to the destination by cooperating with the relay. According to an exemplary implementation, the destination is located in a shadow region. The system of relaying data 200 which supports signal processing in the relay network may transmit the data which is received from the source to an area in which a service was conventionally unavailable. Accordingly, the system of relaying data according to an exemplary implementation of the present invention may extend cell coverage and an area where a communication service is available.


In the system of relaying data 200, according to an exemplary embodiment of the present invention, the source 240, the relay 250, and the destination 260 jointly use a convolutional turbo code. Also, the system of relaying data 200 recovers a turbo codeword of the data instead of recovering the data in the relay. Accordingly, the system of relaying data 200 may overcome a disadvantage of a relay system using a conventional distributed turbo code. For example, the system of relaying data 200 may overcome the disadvantage of continuously transmitting an error which occurs while recovering/re-encoding the data in the relay.


For example, in the system of relaying data 200, a single parity bit transmitted from the relay to the destination is generated through decoding the turbo codeword by the convolutional turbo code. Accordingly, a data recovery process to generate a parity bit in the relay may be omitted. The system of relaying data 200, according to an exemplary embodiment of the present invention, may overcome the disadvantage of continuously transmitting the decode error, which occurs while recovering/re-encoding the data in a conventional relay, to another communication node.


To support a signal process of the relay network using the convolutional turbo code, the system of relaying data 200 includes a first puncturing device 210, a second puncturing device 220, and a data recovering device 230.


The first puncturing device 210 encodes the data into the turbo codeword by using the convolutional turbo code, and transmits the turbo codeword from the source to the relay and the destination by first puncturing the turbo codeword. For example, the first puncturing device 210 includes a turbo encoder 211 for converting the data to be transmitted to a codeword of the convolutional turbo code. Also, the first puncturing device 210 generates the turbo codeword which is encoded by the turbo encoder 211.


For example, the first puncturing device 210 prepares a puncturing pattern PS to facilitate the transmission of a parity bit set of the turbo codeword to the relay and the destination. According to an exemplary implementation, the puncturing pattern PS is for the first puncturing.


For example, the first puncturing device 210 generates the turbo codeword associated with the data comprising a first parity bit and a second parity bit by the turbo encoder 211. Also, the first puncturing device 210 facilitates the transmission of a particular bit of the turbo codeword according to the time slot from the source to the relay and the destination.



FIGS. 3A and 3B are diagrams illustrating an example of generating a first punctured turbo codeword according to an exemplary embodiment of the present invention.



FIG. 3A illustrates a schematic configuration of a turbo encoder 211. FIG. 3B illustrates an example of a first puncturing process with respect to a turbo codeword.


As illustrated in FIG. 3A, the turbo encoder 211 includes two convolutional encoders and an interleaver. The interleaver connects the two convolutional encoders. An input sequence di associated with the data generates an output Vi(0), which is not encoded and an encoded output Vi(1), such as a first parity bit, via a first convolutional encoder. Also, the input sequence di passes the interleaver and a second convolutional encoder, and generates an encoded output Vi(2), such as a second parity bit. According to an exemplary implementation, the first parity bit Vi(1) refers to an output of the first convolutional encoder, and an information bit is input in its present state to the first parity bit Vi(1). Also, the second parity bit Vi(2) refers to an output of the second convolutional encoder in which an information bit mixed by the interleaver is input.


Accordingly, the turbo codeword generated by the turbo encoder 211 may be represented as





V=(V0(0)V0(1)V0(2),V1(0)V1(1)V1(2),V2(0)V2(1)V2(2),V3(0)V3(1)V3(2), . . . )


by considering a time slot, as illustrated in FIG. 3B.


A first puncturing device 210 prepares a puncturing pattern PS to enable a parity bit set of the turbo codeword with respect to the time slot to be alternately transmitted. The first puncturing device 210 first punctures the turbo codeword by the puncturing pattern PS.


In an exemplary embodiment of the present invention, the first puncturing device 210 prepares








[



1


1


1


1









1


0


1


0







0


1


0


1








]





as the puncturing pattern PS. The first puncturing device 210 generates a first punctured turbo codeword





{tilde over (V)}=(V0(0)V0(1),V1(0)V1(2),V2(0)V2(1),V3(0)V3(2), . . . )


by computing processing with the turbo codeword





V=(V0(0)V0(1)V0(2),V1(0)V1(1)V1(2),V2(0)V2(1)V2(2),V3(0)V3(1)V3(2), . . . ).


For example, the first puncturing device 210 facilitates the transmission of the information bit and a punctured parity bit from the source to the relay and the destination by the puncturing pattern PS.


Referring again to FIG. 2, a second puncturing device 220 decodes the first punctured turbo codeword received in the relay, and transmits the decoded first punctured turbo codeword from the relay to the destination by second puncturing the decoded first punctured turbo codeword. For example, the second puncturing device 220 includes a turbo decoder 221. According to an exemplary implementation, the turbo decoder 221 repeatedly decodes the first punctured turbo codeword received from the source, and recovers a turbo codeword. Also, the second puncturing device 220 second punctures the turbo codeword recovered by the turbo decoder 221 by a puncturing pattern PR.


The puncturing pattern PR is for selecting only a parity bit of a turbo codeword which is not transmitted from the source, from the recovered turbo codeword. Unlike the conventional art, an environment may be acquired to generate the parity bit to be transmitted to the destination without recovering/re-encoding the data in the relay.


For example, the second puncturing device 220 recovers the first punctured turbo codeword as a turbo codeword comprising the information bit, the first parity bit, and the second parity bit. Also, the second puncturing device 220 selectively transmits a parity bit to the destination. This parity bit is not transmitted from the source by the second puncturing.



FIGS. 4A and 4B are diagrams illustrating an example of generating a second punctured turbo codeword according to an exemplary embodiment of the present invention.



FIG. 4B illustrates a schematic configuration of a turbo decoder 221. Part ii) of FIG. 4 illustrates an example of a second puncturing process with respect to a turbo codeword.


A maximum a posteriori (MAP) algorithm may be used as a decoding method in the turbo decoder 221. The MAP algorithm generates information with respect to each bit. In the decoding method using the MAP algorithm, a decoding process is repeatedly performed to improve a performance of the decoding process.


As illustrated in FIG. 4A, the turbo decoder 221 includes two MAP decoders, an interleaver, and a deinterleaver for repeatedly decoding. The turbo decoder 221 receives an information bit, a redundant bit, and an extrinsic bit from each of the MAP decoders, and outputs a log likelihood ratio with respect to each bit. Accordingly, the turbo codeword may be recovered. According to an exemplary implementation, additional information comprising the log likelihood ratio becomes an end of priori information of a subsequent decoder, and may improve a reliability of the decoding.


Accordingly, the turbo codeword recovered by the turbo decoder 221 may be represented as





V=(V0(0)V0(1)V0(2),V1(0)V1(1)V1(2),V2(0)V2(1)V2(2),V3(0)V3(1)V3(2), . . . )


by considering a time slot, as illustrated in FIG. 4B.


A second puncturing device 220 recovers the original form of a turbo codeword from a first punctured turbo codeword.


Also, the second puncturing device 220 prepares a puncturing pattern PR. The puncturing pattern PR facilitates the selective transmission of a parity bit of the turbo codeword which is not transmitted from the source to the destination. The second puncturing device 220 second punctures the turbo codeword recovered by the puncturing pattern PR.


In an exemplary embodiment of the present invention, the second puncturing device 220 prepares








[



0


0


0


0









0


1


0


1







1


0


1


0








]





as the puncturing pattern PR. The second puncturing device 220 generates a second punctured turbo codeword





{circumflex over (V)}=(V0(2),V1(1),V2(2),V3(1), . . . )


by processing with the recovered turbo codeword





V=(V0(0)V0(1)V0(2),V1(0)V1(1)V1(2),V2(0)V2(1)V2(2),V3(0)V3(1)V3(2), . . . ).


For example, the second puncturing device 220 facilitates the transmission of only a parity bit with a puncturing pattern different from a puncturing pattern of the source from the relay to the destination by the puncturing pattern PR.


Referring again to FIG. 2, the data recovering device 230 totals the turbo codeword received from the source and the relay to the destination respectively as a single turbo codeword. Also, the data recovering device 230 decodes the totaled turbo codeword, and recovers the data. The data recovering device 230 may include the turbo decoder 221 illustrated in FIG. 4A, for decoding with respect to the totaled turbo codeword. For example, the data recovering device 230 decodes an information bit, a single parity bit, and another parity bit from the single turbo codeword. According to an exemplary implementation, the information bit and the parity bit are received from the source to the destination, and the other parity bit is received from the relay to the destination.


In examples of both FIGS. 3A and 3B and FIGS. 4A and 4B, the source in a first time slot of repeated time slots transmits the information bit and a punctured parity bit to the relay and the destination. According to an exemplary implementation, the data recovering device 230 totals the received information bit, a first parity bit, and a second parity bit. The data recovering device 230 thereby perfectly generates a turbo codeword.


The relay in a second time slot of the repeated time slots transmits a parity bit with a puncturing pattern different from a puncturing pattern of the source to the destination. According to an exemplary implementation, the data recovering device 230 totals the information bit, the first parity bit, and the second parity bit received from the source and the relay, thereby generating the turbo codeword having the preferable form.


A process of recovering the data from the totaled turbo codeword in each of the time slots may be replaced with the process described with reference to FIGS. 4A and 4B.


In a method and system of relaying data, according to an exemplary embodiment of the present invention, the turbo codeword is recovered instead of decoding/re-encoding the data in the relay. Thus, an error which occurs in a data recovery process is prevented from being transmitted to another communication node.


Also, according to an exemplary embodiment of the present invention, the sources, the relay, and the destination jointly use a convolutional turbo code when relaying the data via a relay network, and thus a relatively higher coding gain than when using a conventional recursive systematic convolutional code may be obtained.


Also, according to an exemplary embodiment of the present invention, the same data is transmitted by using a single relay via independent two paths, and thereby may obtain a diversity gain.


Also, according to an exemplary embodiment of the present invention, a transmission rating of the parity bit transmitted from the relay to the destination to improve a reliability of a data recovery may be flexibly controlled, and thereby may apply a hybrid automatic repeat request (H-ARQ) to a relay system.



FIG. 5 is a flowchart illustrating a method of relaying data according to an exemplary embodiment of the present invention.


The method of relaying data, according to an exemplary embodiment of the present invention, may be performed by the system of relaying data 200.


In step S510, the system of relaying data 200 encodes the data into a turbo codeword by using a convolutional turbo code. In step S510, the data to be transmitted is converted to a codeword of the convolutional turbo code, thereby generating the turbo codeword.


For example, the system of relaying data 200 in step S510 prepares a puncturing pattern PS for a first puncturing, and facilitates the transmission of the turbo codeword to a relay and a destination.


For example, the system of relaying data 200 generates the turbo codeword comprising an information bit, a first parity bit, and a second parity bit. Also, the system of relaying data 200 transmits a particular bit of the turbo codeword from the source to the relay and the destination.


In an exemplary embodiment of the present invention, the turbo codeword may be represented as





V=(V0(0)V0(1)V0(2),V1(0)V1(1)V1(2),V2(0)V2(1)V2(2),V3(0)V3(1)V3(2), . . . ).


The system of relaying data 200 generates a first punctured turbo codeword




{tilde over (V)}=(V0(0)V0(1),V1(0)V1(2),V2(0)V2(1),V3(0)V3(2), . . . ).


by computing the puncturing pattern PS








[



1


1


1


1









1


0


1


0







0


1


0


1








]





and the turbo codeword





V=(V0(0)V0(1)V0(2),V1(0)V1(1)V1(2),V2(0)V2(1)V2(2),V3(0)V3(1)V3(2), . . . ).


Accordingly, the system of relaying data 200 facilitates the transmission of the information bit and a punctured parity bit from the source to the relay and the destination by the puncturing pattern PS, in a first time slot of repeated time slots.


In step S520, the system of relaying data 200 decodes the first punctured turbo codeword which is received in the relay. In step S520, the first punctured turbo codeword received in the relay is repeatedly decoded, and thereby recovering the turbo codeword.


In step S520, the system of relaying data 200 recovers the parity bit of the turbo codeword which is not transmitted from the source though a decoding with respect to the turbo codeword. Also, the system of relaying data 200 prepares a puncturing pattern PR to facilitate the transmission of the recovered parity bit to the destination. The puncturing pattern PR is for extracting only a parity bit of the turbo codeword which is transmitted from the source, from the recovered turbo codeword. Unlike the conventional art, an environment may be acquired to generate the parity bit to be transmitted to the destination without recovering the data in the relay.


For example, the system of relaying data 200 recovers the turbo codeword with a preferable form. According to an exemplary implementation, the turbo codeword comprises the information bit, a first parity bit, and a second parity bit, from the first punctured turbo codeword. Also, the system of relaying data 200 selectively transmits the parity bit which is not transmitted from the source by a second puncturing.


In an exemplary embodiment of the present invention, the turbo codeword may be represented as





V=(V0(0)V0(1)V0(2),V1(0)V1(1)V1(2),V2(0)V2(1)V2(2),V3(0)V3(1)V3(2), . . . )


by considering a time slot. The system of relaying data 200 generates a second punctured turbo codeword





{circumflex over (V)}=(V0(2),V1(1),V2(2),V3(1), . . . )


by computing the puncturing pattern PR








[



0


0


0


0









0


1


0


1







1


0


1


0








]





and the recovered turbo codeword





V=(V0(0)V0(1)V0(2),V1(0)V1(1)V1(2),V2(0)V2(1)V2(2),V3(0)V3(1)V3(2), . . . ).


Accordingly, the system of relaying data 200 enables only a parity bit having a puncturing pattern different from a puncturing pattern of the source to be transmitted from the relay to the destination by the puncturing pattern PR, in a second time slot of repeated time slots.


In step S530, the system of relaying data 200 totals the turbo codeword received from the source and the relay to the destination respectively as a single turbo codeword, decodes the totaled single turbo codeword, and recovers the data. In step S530, an information bit, a single-omit parity bit, and another parity bit as from a single turbo codeword are decoded. According to an exemplary implementation, the information bit and the parity bit are received from the source to the destination, and the other parity bit is received from the relay to the destination.


According to an exemplary implementation, the source in the first time slot of repeated time slots transmits the information bit and a punctured parity bit to the relay and the destination. The data recovering device 230 totals the received information bit, a first parity bit, and a second parity bit, and thereby generating a turbo codeword having a preferable form. The relay in a second time slot of the repeated time slots transmits a parity bit having a puncturing pattern different from a puncturing pattern of the source to the destination. According to an exemplary implementation, the data recovering device 230 totals the information bit received from the source and the relay, the first parity bit, and the second parity bit, and thereby generates the turbo codeword with a preferable form. Then, the system of relaying data 200 recovers the data from the totaled turbo codeword.


The exemplary embodiments of the present invention may be recorded in computer-readable media including program instructions to implement various operations embodied by a computer. The media may also include, alone or in combination with the program instructions, data files, and data structures, among others. The media and program instructions may be those specially designed and constructed for the purposes of the present invention. Alternatively, the media and program instructions may be well-known and available to those skilled in the computer software arts. Examples of computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD ROM disks and DVD; magneto-optical media such as optical disks; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory, and the like. The media may also be a transmission medium such as optical or metallic lines, and wave guides, among others including a carrier wave transmitting signals specifying the program instructions, and data structures, among others. Examples of program instructions include both machine code, such as that produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter. The described hardware devices may be configured to act as one or more software modules in order to perform the operations of the above-described embodiments of the present invention.


According to an aspect of exemplary embodiment of the present invention, a method and system of relaying data recover/re-decode a turbo codeword instead of recovering/re-decoding data in a relay, and thereby may prevent an error which occurs in a data recovery process from being transmitted to another communication node.


Also, according to an aspect of an exemplary embodiment of the present invention, in a method and system of relaying data, a source, a relay, and a destination jointly use a convolutional turbo code when relaying data via a relay network, and thus a relatively higher coding gain than when using a conventional recursive systematic convolutional code may be obtained.


Also, according to an aspect of exemplary embodiments of the present invention, a method and system of relaying data transmit the same data via two independent paths by using a single relay, and thereby may obtain a diversity gain.


Also, according to another aspect of exemplary embodiments of the present invention, a method and system of relaying data may flexibly control a transmission rating of a parity bit transmitted from a relay to a destination to improve a reliability of a data recovery, and thereby may apply an H-ARQ to a relay system.


While the present invention has been shown and described with reference to certain exemplary embodiments 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 and their equivalents.

Claims
  • 1. A method of relaying data comprising: encoding the data into a turbo codeword by using a convolutional turbo code, and transmitting the turbo codeword from a source to a relay and a destination by first puncturing the turbo codeword;decoding the first punctured turbo codeword and transmitting the decoded turbo codeword from the relay to the destination by second puncturing the decoded turbo codeword; andtotaling the turbo codeword received from the source and the relay to the destination respectively as a single turbo codeword, decoding the totaled single turbo codeword, and recovering the data.
  • 2. The method of claim 1, wherein the transmitting of the turbo codeword by the first puncturing comprises preparing a first puncturing pattern to facilitate an alternate transmission of a parity bit set of the turbo codeword with respect to a time slot to the relay and the destination.
  • 3. The method of claim 2, wherein the transmitting of the turbo codeword by the first puncturing comprises transmitting an information bit and a punctured parity bit by the first puncturing pattern, when the encoded turbo codeword comprises at least one of the information bit, a first parity bit, and a second parity bit.
  • 4. The method of claim 2, wherein the transmitting of the turbo codeword by second puncturing comprises: recovering a parity bit of the turbo codeword which is not transmitted from the source by the decoding; andpreparing a second puncturing pattern to facilitate transmission of the recovered parity bit to the destination.
  • 5. The method of claim 4, wherein the transmitting of the turbo codeword by the second puncturing comprises transmitting a parity bit having a puncturing pattern different from a puncturing pattern of the source by the second puncturing pattern when the decoded turbo codeword comprises at least one of an information bit, a first parity bit, and a second parity bit.
  • 6. A computer-readable recording medium storing a program for implementing a data relay method the program comprising: a first set of instructions for encoding the data into a turbo codeword by using a convolutional turbo code, and transmitting the turbo codeword from a source to a relay and a destination by first puncturing the turbo codeword;a second set of instructions for decoding the first punctured turbo codeword which is received in the relay, and transmitting the decoded turbo codeword from the relay to the destination by second puncturing the decoded turbo codeword; anda third set of instructions for totaling the turbo codeword received from the source and the relay to the destination respectively as a single turbo codeword, decoding the totaled turbo codeword, and recovering the data.
  • 7. A system of relaying data comprising: a first puncturing device comprising a turbo encoder for encoding the data into a turbo codeword by using a convolutional turbo code, and for transmitting the turbo codeword from a source to a relay and a destination by first puncturing the turbo codeword;a second puncturing device comprising a turbo decoder for decoding the first punctured turbo codeword, and for transmitting the decoded turbo codeword from the relay to the destination by second puncturing the decoded turbo codeword; anda data recovering device for totaling the turbo codeword received from the source and the relay to the destination respectively as a single turbo codeword, decoding the totaled turbo codeword, and recovering the data.
  • 8. The system of claim 7, wherein the first puncturing device prepares a first puncturing pattern to facilitate the alternate transmission of a parity bit set of the turbo codeword with respect to a time slot to the relay and the destination.
  • 9. The system of claim 8, wherein the first puncturing device transmits an information bit and a punctured parity bit by the first puncturing pattern, when the encoded turbo codeword comprises at least one of the information bit, a first parity bit, and a second parity bit.
  • 10. The system of claim 8, wherein the second puncturing device recovers a parity bit of the turbo codeword which is not transmitted from the source by the decoding, and prepares a second puncturing pattern to facilitate transmission of the recovered parity bit to the destination.
  • 11. The system of claim 10, wherein the second puncturing device transmits a parity bit comprising a puncturing pattern different from a puncturing pattern of the source by the second puncturing pattern when the decoded turbo codeword comprises at least one of an information bit, a first parity bit, and a second parity bit.
Priority Claims (1)
Number Date Country Kind
2006-87006 Sep 2006 KR national