A method for transmitting packet data with hybrid FEC/ARQ type II

Abstract: 1. The invention relates to a method for transmitting packet data in an air interface of digital cellular radio telephone system based on a hybrid forward error correction/automatic repeat request, i.e. FEC/ARQ type II. comprising the following steps for each packet: a) encoding the bits of the packet of user data, header and frame check sequence, using error correcting codes and storing the resulting bits for transmission at the sender side; b) transmitting of a predefined part of the encoded bits that is bigger than the original packet; c) collecting and storing all received data at the receiver side with a storage capacity big enough to store at least the encoded bits of one packet; d) deciding on transmission success at the receiver side, based on the stored data and sending a positive acknowledge (ACK) if the transmission has been decided to be successful and a negative acknowledgement (NAK) if not; e) checking at the sender side of the positive or negative acknowledgement (ACK or NAK) and going to step b) in case of negative acknowledge (NAK) otherwise in case of positive acknowledgement (ACK) the transmitting of the packet is being completed and the receiver storage is cleared. With this method optimum throughput in response to a fluctuation in the error rate on a packet radio channel is procided.

Description: The present invention relates to data communication systems which perform transmission and reception of digital data through duplex communication systems and more particularly, to a data communication system which provides optimum throughput in response to a fluctuation in the error rate on a packet radio channel. Protocols for data transmission developed for TDMA (Time Division Mutiple Access) based radio telephone systems typically use error control mechanisms like ARQ (Automatic Repeat Request) or a hybrid ARQ scheme supported by a FEC (Forward Error Correction) to reduce the error rate for the ARQ scheme. A typical ARQ procedure for this function is the HDLC (High Level Data Link Protocol) procedure, defined by the International Telecommunication Union (ITU) in ITU-T X.25. Hybrid ARQ schemes are typically combined in that form, that FEC reduces the remaining error rate as a function in layer 1 according to the ISO-OSI reference model [X 200] and ARQ as a layer 2 function. This system has to be adapted to the maximum expected remaining error rate. An example can be seen within the Radio Link Protocol (RLP), designed for circuit switched data transmission within the Global System for Mobile Communication GSM [GSM 04.22]. These prior art procedures do not achieve optimal throughput behaviour in low error rate channels due to the fixed channel coding, while reducing the basic error correction capability from the system would reduce the throughput in cases of high error rate channels. Therefore stepwise combination of redundancy using hybrid type II ARQ/FEC schemes are proposed to get better throughput behaviour [Mandelbaum 74]. These prior art procedures are designed to be used on top of circuit switched duplex communication channels. They lose much of their efficiency if they are used on top of packet switched radio channels due to the necessary channel reservation period for each positive or negative acknowledgement that has to be transmitted in case of errors. A method for transmitting packet data in an air interface of digital cellular radio telephone system based on a hybrid forward error correction/automatic repeat request as described in the precharacterizing part of claim 1 is known from the article "An Adaptive Type II Hybrid ARQ/FEC Protocol Suitable for GSM" presented by the inventor at the 1994 IEEE 44th Vehicular Technology Conference in Stockholm, June 8 to 10 1994; ISBN 0-7803-1927-3, 1994, New York, IEEE, pages 330 to 333 vol. 1. The object of the present invention is to provide a method of the initially named kind which needs a minimum of processing effort at the sender and receiver sides but can ensure a high throughput within packet radio transmission systems even if the channel error rate is fluctuating. This object is obtained by the method according to claim 1. Thus, the present invention provides a method for transmitting packet data which can be implemented within mobile radio systems and in particular within the GSM mobile radio system. Since a positive or negative acknowledgement will be immediately predicted after reception of packet data it is possible to avoid an enormous amount of processing power at the receiver side which would be necessary for an immediate decision on successful transmission based on the received data to ensure that the decision can be made in time. Within the VRRA (Variable Rate Reservation Access) proposal, layer 1 frames are transmitted within blocks of 4 consecutive GSM bursts over the air interface (Figure 1). To ensure a successful transmission a header (H) and a frame check sequence (FCS) are added to each data unit (Figure 2). In the type I mechanism this VRRA frame is now encoded using a punctured half rate convolutional coder and transmitted in 4 consecutive GSM TDMA slots. At the receiver side, unsuccessfully received VRRA frames, detected by a mismatching frame check sequence lead to a negative acknowledgement within the next control burst (C) in the reverse direction. If no or a negative acknowledgement is received by the sender side, this is handled as a request for a retransmission of this particular layer 1 frame. Within this mechanism each received frame is decoded for its own, no data of previouly received versions of the same VRRA frame are used for better decoding. So the probability of a successful transmission will not change with each transmission. The advantage of a type II enhancement is that for a retransmission another layer 1 frame version of the VRRA frame is transmitted if no or a negative acknowledgement is received by the sender side. This different version is built by the same half rate convolutional coder using a different puncturing scheme as for the first version (Figure 3). At the receiver side all received layer 1 frame versions related to one VRRA frame are stored within a buffer according to the puncturing scheme used at the sender side. Channel decoding is done based on all the buffered layer 1 frames. Because of the usage of all received layer 1 versions of the same VRRA frame the error correction capability of the channel coding mechanism is higher than in the type I enhancement. When also no prediction is possible in time, according to the present invention the channel can be devided into subchannels in the way that the transmission of different packets is altered in consecutive air interface units as an alternative to the prediction of the acknowledgement immediately. Further Aspects of the invention are defined in the appended claims. The method of the invention is further described with reference to the appended drawings and tables, where: Figure 1 depicts the VRRA logical channel structure; Figure 2 depicts an encoding scheme of a frame according to VRRA type I; Figure 3 depicts an encoding scheme of a frame according to VRRA type II; Figure 4 depicts the buffering and decoding state diagram of the receiver side; Figure 5 depicts the alternating use of puncturing matrixes independent on the version number of the VRRA frame; Figure 6 depicts the alternating use of puncturing matrixes assuming 2 subchannels; Table 1 shows the puncturing codes of the different puncturing matrixversions for a half rate convolutional coder; and Table 2 shows the changing procedure of the buffer if no soft decision storage is possible. At transmitter side the N bits (d(0),..., d(N -1)) are encoded using the same half rate convolutional coder as proposed in GSM 05.03 with the generator polynomials G 0 (D) = D 4 +D 3 +1 G 1 (D) = D 4 +D 3 +D+1 [GSM 05.03]. N is the length of the VRRA frame including the header (H) and the frame check sequence (FCS). For a better performance of this (2, 1, 5) convolutional decoder, the encoding process is typically ended in a definite state (0) by adding 4 tail bits. This yiels to M = (N+4) 2 bits. The coding is done without any changes to the sequence number and is stored in the array c (o, k); o = 1, 2; k = 0..M-1 using the polynomials from GSM 05.03: c(o, k) = d(k) + d(k-3) + d(k-4); o = 1 c(o, k) = d(k) + d(k-1) + d(k-3) + d(k-4); o = 2 [GSM 05.03] Now the data is punctured according to a puncturing matrix P A (i, j) to 456 bit to fit into 4 GSM normal bursts (where i = 0..I - 1 and j = 0..J 1, I is equivalent to the number of lines and J is equivalent to the number of columns of the puncturing matrix). Examples for different puncturing matrixes P A and P B for different VRRA frame lengths N can be seen in table 1. Within the form of a puncturing matrix the following conventions are used: Each line belongs to the convolutional coder output with the same number, so the number of lines (I) is equivalent to the number of outputs of the convolutional coder. The bit c (o, k) will be transmitted if P (i=o, j=k mod J) is equal to 1. The bit c (o, k) will not be transmitted if P(i = 0, j =k mod J) is equal to 0. If, after an errogenous transmission no positive acknowledgement is received at the sender side, the puncturing matrix has to be changed for the next transmission. Then the data in the array c(o, k) is punctured according to a puncturing matrix P B (i, j) to 456 bit to fit into 4 GSM normal bursts. Only two versions of puncturing matrixes are distinguished within the method described here to avoid necessary signaling overhead. Version A and version B are used alternating, independent on the number of transmissions of each frame. Therefore each VRRA period has to be declared as an even or odd period (Figure 5). In cases, where the system is not able to provide an acknowledgement within time, the channel is divided logically into K subchannels. The number of subchannels K will be constant over the lifetime of a GPRS (General Packet Radio Service) channel so that the coding scheme can be easily calculated from the frame position and has not to be transmitted over the air interface. In that case the coding scheme is altered after the acknowledgement is received, as shown in Figure 6 with K = 2 subchannels. At the receiver side all data is collected within a storage of size M. This memory will be able to store all layer 1 frame versions of one VRRA frame, as shown in figure 2. At the beginning of the reception or after a successful reception the buffer is cleared, see figure 4 step a. The receiver repunctures the received layer 1 frame using the same puncturing matrix as in the transmitter side, as seen in figure 4 step b. This is possible without decoding parts of the received layer 1 frame due to the alternating use of predefined puncturing matrixes. Bits which are known not to be transmitted are assigned to a random value. When layer 1 frames are received they are added to the receiver buffer, see figure 4 step c. Here, two different versions are possible: In the case that the receiver side uses soft decision decoding within the convolutional decoding algorithm, the receiver side has to store soft decision values between succeeding receptions. The soft decision values used in this decision are also known as Log-Likelihood values and can be calculated by: L = -ln(BER/(1-BER)) where BER is the estimated bit error rate each bit. Within implementations the value of the Log-Likelihood values can be limited to a resolution of e.g. 7 bit without loss of performance. This yields to a scope of BER from 1,275E-7 to 0,5 and allows to store one received bit and its Log-Likelihood value within one byte memory. This leads to a storage size of M bytes. In the procedure of clearing the buffer (figure 4 step a) all Log-Likelihood values are set to 0. In the procedure of assigning bits which are known not to be transmitted to a random value (figure 4 step b) they are assigned with a low Log-Likelihood value as 0 that describes the unknown state. Now, in the adding procedure of the received layer 1 frame to the buffer, the values of the Log-Likelihood values are added. This addition should also include the value of the received bit, which should be regarded as a sign if the addition leads to an overflow within a limited resolution of the buffer. In the case that no soft decision decoding is used or if no soft decision can be stored, the bit positions within the buffer should be modified according to table 2, whereby x is the entry for an unknown bit. An exact decision on a successful transmission needs a complete run of the channel decoder and cyclic redundancy check. This can only be done immediately within the next control slot if an enormous amount of processing power is included at the receiver side. If this processing power can be assumed the procedure closes with the positive or negative acknowledgement immediately, as can be seen in figure 4 step c. If an exact decision on successful transmission is not possible immediately, there are the following two solutions: Delayed exact acknowledgement To avoid the transmission of a layer 1 frame number, the logical channel structure should be divided into D subchannels, where D is the number of consecutive layer 1 frames that have to be received until an exact acknowledgement can be given. There has to be a buffer for each of these D subchannels. This scheme is shown in Figure 6 with D = 2 subchannels. Immediate predicted acknowledgement As an alternative to the exact decision, a predicted decision can be made directly after reception of a layer 1 frame if the prediction algorithm can be realized with a limited number of processor instructions. This can be done in a very easy way by adding all soft decision values stored in the receivers buffer. This value can be interpreted as a Log-Likelihood value of the buffer contents. If this value keeps within a given limit (L) further information is requested by the receiver side. Therefore, a negative acknowledgement is sent to the transmitter side. If the sum exceeds the limit (L) a positive acknowlegement is sent to the transmitter side and the channel decoding process will be started. The value (L) has to be optimized by simulation to the radio channel because this method can decrease throughput in two ways: First, if the request-limit (L) is too low, the probability of unnecessary requests is high, and on the other side, if the request limit (L) is too high, this will cause a high delay by retransmissions upon late decisions of the layer 1 or alternatively layer 2 ARQ protocol. old buffer entry received bit new buffer entry X X X X 0 0 X 1 1 0 X 0 0 0 0 0 1 X 1 X 1 1 0 X 1 1 1 7 References [Mandelbaum74] D.M. Mandelbaum. Adaptive Feedback Coding Scheme Using Incremental Redundancy IEEE Transaction on Information Theory IT-20(3), pp. 338-389 May 1974 [LinCost81] S. Lin, D.J. Costello. Error control coding -- Fundamentals and Applications , Vol.1 of Computer Applications in Electrical Engeneering Series . Prentice--Hall, 1 edition, 1983. [Hagenauer88]Hagenauer J. Rate-Compatible Punctured Convolutional Codes (RCPC Codes) and their Applications . IEEE Trans. Com., Vol. COM-36, No. 4, pp.389--400, April 1988. [Kallel90] S. Kallel. Analysis of a type II hybrid ARQ scheme with code combining . IEEE trans. on commun., Vol. COM-38, 8, pp.1133--1137, 1990. [MoulPaut92] M.-Mouly, Marie-B. Pautet. The GSM System for Mobile Communications . 49, rue Louise Bruneau, F-91129 Palaiseau, France, 1992. [BakChen93]Kallel S. Bakhtiyari S., Chen T., Leung V. Practical Implementation of a Mobile Data Link Protocol with a Type-II Hybrid ARQ Scheme and Code Combining . VTC, pp.774--777, 1993. [GSM0503] ETSI GSM 05.03 Channel Coding , Technical Report 3.5.1, January 1990.

Claims: A method for transmitting packet data in an air interface of a digital cellular radio telephone system based on a hybrid forward error correction/automatic repeat request, comprising the following steps for each packet: a) encoding the bits of the packet of user data, header and frame check sequence, using error correcting codes and storing the resulting bits for transmission at the sender side; b) transmitting of a predefined part of the encoded bits; c) collecting and storing all received data at the receiver side with a storage capacity big enough to store at least the encoded bits of one packet; d) deciding on transmission success at the receiver side, based on the stored data and sending a positive acknowledgement (ACK) if the transmission has been decided to be successful and a negative acknowledgement (NAK) if not; and e) checking at the sender side of the positive or negative acknowledgement and going to step b) in case of the negative acknowledgement (NAK) otherwise in case of positive acknowledgement (ACK) transmitting of the packet is being completed and the receiver storage is cleared, characterized, in that said predefined part of the encoded bits is bigger than the original packet and in the case the immediate decision on successful transmission is not possible in time a predicted decision on the success is made after reception and a negative acknowledgement (NAK) is sent to the transmitter side if a prediction value keeps within a given limit. The method for transmitting packet data as claimed in claim 1, characterized in that the size of Air-Interface-Units is constant and can be carried by an undivided number of TDMA bursts. The method for transmitting packet data as claimed in claim 1, characterized in that a convolutional coderwith coding rate 1/2 is used for encoding the bits of the packet of user data at the sender side. The method for transmitting packet data as claimed in claim 1, characterized in that the predefined part of the encoded data that is transmitted on a Air-Interface-Unit is predetermined by the number of this Air-Interface-Unit. The method for transmitting packet data as claimed in claim 1, characterized in that in case of soft decision decoding the receiver side will store additionally the log-likelihood-values of each bit L = -ln(p/(1-p)) where p is the estimated error probability for each bit. The method for transmitting packet data as claimed in claim 1, characterized in that in the case that no acknowledgement is received at the sender side a negative acknowledge (NAK) is assumed. The method for transmitting packet data as claimed in claim 1, characterized in that in the case that no prediction is possible in time the channel has to be devided into subchannels in the way that the transmission of different packets is altered in consecutive Air-Interface-Units. The method for transmitting packet data as claimed in claim 1, characterized in that the prediction is based on the stored data including log-likelihood-values and the number of not successful receptions.

Inventors: DECKER PETER, DECKER, PETER
Applicants: NOKIA CORP, NOKIA CORPORATION
Application year: 1995
Main classification: H04L1
IPC codes: H04L1