A Joint Coding Method Based on Rateless Coding and Channel Coding at Network Layer

—Decoding overhead is a standard for measuring whether rateless coding is good or not. The product-code coding of Shifted RSD, a communication transmission scheme, is based on the joint decoding of rateless coding and channel coding at the network layer of feedback information, was proposed in this study in order to reduce the overhead of decoding in rateless coding in the wireless communication. This method combines rateless coding and channel coding at the network layer to decode, which results in multiple packets instead of one recovered by iterative decoding every time during decoding. The decoding is accomplished until all packets are decoded, and the original information of source is recovered. The decoding overhead used for recovering the original information can be reduced due to the increase in the number of packets recovered at a time. Experimental results show that the use of this method combining channel coding with rateless coding to decode requires less decoding overhead than using LT code or RSD code with feedback for decoding, thus improving the decoding capability of the receiving end.


INTRODUCTION
The information transmission is a packet-based transmission of information in conventional data transmission system. The information symbols in the sender make up the packet having certain check function through coding in order to avoid decoding failure resulted from transmission error generated due to fading channel. For example, CRC (Cyclic Redundancy Check) is added in the sender. If the packet that receiving end receives is found to be wrong after check, then the receiving end will use ARQ (Automatic Repeat reQuest) to make an ARQ for error packet. The sender of packet receives this request and then sends the packet again. This data transfer is ended until each packet is received by the receiving end without error. The disadvantage of using ARQ to correct the error packet is a time delay caused between ARQ sent by the receiving end and the retransmission of packet in the wireless networks, thus affecting information transmission. The fountain code coding is a rateless encoding method which does not require the ARQ. The sender can code k original packets. There will be a chance to recover k original packets at the receiving end where the packets whose number is greater than k can be received. The design of the fountain codes needs to have decoding overhead as small as possible. The sender codes according to the degree distri-bution function, and it is their coding thinking. A steady stream of coding packages is transmitted to the receiving end until the receiving end decodes all packets from sender. RSD (Robust Soliton Distribution) designed by Luby [1] is now recognized as a better degree distribution function. The use of rateless coding method with the feedback information [2][3] at the network layer was proposed in order to further reduce decoding overhead. The sender first sends packets independent of each other. The receiving end makes a statistics on the received correct packets and feeds statistical data back to the sender. The combination of feedback information and RSD degree distribution function forms a new degree distribution function. A steady flow of packets obtained through the rateless coding of packets at the sender is transmitted to the receiving end. The receiving end combines the previously received packets with the packets of rateless coding to decode until the information at the sender is obtained.
The packets of rateless coding received at the receiving end all need to go through the CRC check. The error packets will be discarded. However, these packets also contain partially correct original information. Joint coding scheme of network and channel decoding is a coding scheme which uses the spatial redundancy of the network layer and the temporal redundancy of channel coding to further decode the code element symbol to recover the error code element symbol as far as possible. The joint techniques of network and channel coding [4][5][6] is proposed in the multiple access channel in the literature. Relaying node is used to transmit information containing redundancy. The combination of network coding and channel coding techniques may also obtain a better gain. The iterative decoding algorithm can also be used for decoding to the product code [7][8][9] after Turbo Code Concepts and iterative decoding algorithm were proposed by Berrou, et al. Coding and channel coding at the network layer are combined to construct a product code, which can obtain a better coding gain.
A product-code coding method of Shifted RSD based on feedback is proposed in this paper. It is a coding method combining rateless coding with channel coding at the network layer and is used to improve the decoding capability of rateless encoding.

II. JOINT DECODING OF ERROR CCORRECTION PACKET AND CHANNEL CODING
The sender needs to send a large number of packets in the wireless transmission process. There occur errors in part of the packets the receiving end receives. It is neces-sary to send the feedback to the sender in order to correct these error packets. The sender carries on rateless coding in accordance with certain degree distribution function according to the feedback information. These coded packets are called the error correction packets. The error correction packets are sent to the receiving end, and the error correction method of these error-correction packets is as shown in figure 1.
Black dots represent the correct packets, and white points represent error packets. 1 p , 2 p and 3 p are error correction packets. 1 p and 2 p are connected with the error packets and are error correction packets having a certain error correction function, and the logical relationship formulae (1) and (2) are satisfied between them and the packets at the receiving end: p are all correct, thereby, 3 p is a useless error correction packet and does not play an error correction function. Therefore, it should be essential to reduce the number of the useless error correction packets if possible during coding. Packets transmitted by the sender usually use the channel coding with a certain error correction function, such as linear block code. This channel coding is of a linear relationship with the message code word at the sender. Therefore, the new coding packets got by multiple packets after XOR operation also have a linear relationship with the message codeword. The error correction packet is the packet that the rateless coding on multiple packets at the sender obtains. Therefore, error correction packet and the packet connected with the receiving end form a product code [7][8][9] . The packets connected to 2 p contain the correct packet in figure 1. The error correction packet 2 p must be correct because the wrong error correction packet can not recover the coding matrix. Wrong error correction packet will be discarded after CRC check. Relationship for error packets and the correct data packet 6 s to satisfy between checks can be obtained by the formula (2).    ( ) L x of information bits is the posteriori probability for each coded bit that is given in the form of log-likelihood ratio, as shown in the following formula: ( ) e L x represents extrinsic information, which means the decoder can exchange with extrinsic information by the way of iterative decoding. The decoder 1 decodes the input packets. The decoder 2 decodes the column symbols of multiple input packets. The reliability of the estimated code-element symbol is gradually improved along with the increase in the number of iterations. Iteration does not stop before the correct code word is decoded and the number of iterations reaches the maximum. Therefore, error packet can be decoded by the structure of this product code.

III. THE DISTRIBUTION OF FEEDBACK SHIFTED RSD
Whether rateless coding is good or bad depends on the design of degree distribution function. Rateless coding needs to select the more appropriate degree distribution function in order to reduce the transmission of packets. RSD distribution degree was given in the literature [1] .
The receiving end of feedback shifted RSD first receives n correct packages with 1 degree and then feeds this information back to the sender [2] . The rateless coding is made on packets at the sender according to the feedback information. The degree distribution of rateless coding is feedback shifted RSD. The correct packet with 1 degree has been received at the receiving end, which can be seen as the compensation to packet with 1 degree during decoding. Therefore, the feedback shifted RSD is defined as:

IV. THE DESIGN OF SHIFTED RSD PRODUCT CODE OF SINGLE FEEDBACK
The design method of shifted RSD product code with feedback was proposed in accordance with wireless communication. Multiple error packets can be decoded simultaneously each time by this method, thus reducing a decoding overhead. The decoding method combining coding and channel coding at the network layer is called the rateless product-code coding of feedback shifted RSD.
This method allows the sender to transmit packets at twice. The original packet is sent for the first time, and the error correction packet of rateless coding is sent for the second time for the error correction of original error packet.
1) The first sending of packet at the sender: The sender sends k mutually independent packets in chronological order, and the receiving end checks the received packets, as shown in figure 4. The location of error packet occurrence can be noted according to the sending temporal order if error occurs in the packet. For example, the received error packet will be stored, and its time position will be recorded at the second moment. The number n of correct packets is counted and fed back to the sender after the receiving end receives k packets. 2) The second sending of rateless coding packet at the sender: The sender makes rateless coding on k packets according to the formula (8) shifted RSD and gets error correction packets. A steady flow of these packets are sent to the receiving end.
Packets are sent in chronological order in the structure in figure5. Therefore, the positions corresponding to sent packets can be identified in accordance with their time sequence although the packets received by the receiving end are wrong and the positions of the packets cannot be decoded. The error packet at receiving end may be decoded according to the location of coding matrix in the error correction packet when the receiving end receives the error correction packet with coding matrix. However, the error correction packet can only be discarded, and the next is waited for if error occurs in the error correction packet, and the carried coding matrix can also not be correctly decoded.

3) Joint error correction decoding:
There is only one error packet connected with the error correction packet sometimes. For example, packets are coded at the sender to obtain c . It is known from analysis in the 2 section that a product code constituted by error correction packet and channel coding can be used for the error correction to correct the error packets at the receiving end if there are 2 error packets or more connected with the error correction packet.
The error correction is ended until all error packets are corrected according to the above method. The receiving end sends an ACK to the sender to stop sending coded packets. The coding process is ended, and the packets sent by the sender next time are waited for.

V. PERFORMANCE ANALYSES
Assume an ideal state: the number of product-code iterative decoding is large enough. The errors can all be corrected when the number of error packets is 2 or 3 in the product codes constituted by the error correction packets.
The sender needs to send k equal to 200 packets. This design scheme was compared with no shifted RSD and LT code.
The decoding overheads required for the rateless coding of degree distribution functions of shifted RSD and no shifted RSD are compared in figure 6, where the abscissa represents the rate of error packets.
The feedback shifted RSD scheme is superior to no shifted RSD as can be seen from figure 6. The decoding overhead used by the sender is less than that required for shifted RSD or no shifted RSD when the joint product code of shifted RSD is adopted for error correction, and the number of error packets connected with error correction packet is 2 or 3, respectively. The more the number of error packets corrected by joint product code is, the stronger the decoding capability of the receiving end is. Joint decoding structure is capable of decoding packets of which number is greater than 1 every time. Therefore, it requires decoding overhead clearly superior to shifted RSD coding which can only recover a packet each time.
However, an error also occurs in the error correction packet in the wireless transmission sometimes. The information the error correction packet with an error carries can not be recovered correctly. Therefore, decoding can not be made. The comparison of the number of actual packets the receiving end uses different methods to receive is shown in figure 7.
The LT code, the rateless coding of feedback no shifted RSD, feedback shifted RSD and the product code of feedback shifted RSD are compared in figure 7. The use of product code method of feedback shifted RSD to recover the original information of the sender requires the minimum packets.

VI. CONCLUSIONS
It can be known that the product code method of shifted RSD with feedback presented in this paper can effectively improve the decoding ability of the receiving end from the analysis of above experimental results.