WO1999004527A2 - Reconstruction of a sent data frame - Google Patents

Reconstruction of a sent data frame Download PDF

Info

Publication number
WO1999004527A2
WO1999004527A2 PCT/FI1998/000589 FI9800589W WO9904527A2 WO 1999004527 A2 WO1999004527 A2 WO 1999004527A2 FI 9800589 W FI9800589 W FI 9800589W WO 9904527 A2 WO9904527 A2 WO 9904527A2
Authority
WO
WIPO (PCT)
Prior art keywords
frame
frames
error
positions
buffer
Prior art date
Application number
PCT/FI1998/000589
Other languages
French (fr)
Other versions
WO1999004527A3 (en
Inventor
Shyam Chakraborty
Original Assignee
Nokia Telecommunications Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Telecommunications Oy filed Critical Nokia Telecommunications Oy
Priority to AU84432/98A priority Critical patent/AU8443298A/en
Publication of WO1999004527A2 publication Critical patent/WO1999004527A2/en
Publication of WO1999004527A3 publication Critical patent/WO1999004527A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/188Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • H04L1/1845Combining techniques, e.g. code combining

Definitions

  • This invention relates to the handling of erroneous data frames in telecommunication systems utilizing the retransmission of data frames.
  • the effects on the transmission path between the sender and the recipient may cause errors in the received infor- mation.
  • These effects such as noise, interference, signal reflections and signal fading, are especially strong in mobile communications networks where moving mobile stations communicate with base stations which are usually fixed.
  • Digital systems enable the detection and correction of errors in- eluded in the received signal. This can be done by adding redundancy, i.e., including extra symbols, in the signal before sending.
  • Figure 1 shows an example of a coding scheme enabling error detection.
  • the data bit sequence to be sent is mapped on a frame comprised of data bits and an error check sequence CRC (Cyclic Redundancy Code).
  • the error check sequence is basically an output of a predefined function processing the data bit sequence.
  • CRC coding treats the data bit sequence as a binary number, divides the binary number with a predefined divider, and uses the remainder of the division as the checksum. If the data bit sequence changes due to bit errors, the output of the function changes as well. If the error check sequences computed by the sender and the receiver do not match, the receiver knows that errors have occurred in the frame during transmission.
  • the error detection operation running at the receiver is schematically shown in Figure 2.
  • the function starts at stage 201 when a frame is re- ceived.
  • the receiver calculates the checksum value CRC (stage 202) for the received data bits and compares it (stage 203) to the checksum value calculated by the sender and included in the received frame. If the checksums are equal, the frame is accepted (stage 204), and the function starts to study the next frame (stage 205). If the checksums are unequal, the receiver concludes that at least one error has occurred in the received frame. Then, the erroneous frame is rejected (stage 211), and a retransmission (stage 212) requested.
  • the bit error ratio BER is constant.
  • the retransmissions use part of the communication bandwidth available and thus limit the throughput of the channel during the fade periods.
  • poor channels i.e. channels with a high bit error ratio
  • a significant number of frames are distorted.
  • the retransmissions which may need to be repeated many times per one data frame, therefore require a lot of bandwidth.
  • FIG. 3 An example of a coding scheme enabling the correction of errors is shown in Figure 3.
  • the idea of the scheme is to include the information carried in one original data symbol in several coded data symbols.
  • the number of the coded data symbols 302 is larger than the number of original data symbols 301 , and not all the symbol sequences are possible for the coded data symbols.
  • the original data symbol sequence can then be regenerated by the receiver, even if some of the coded data symbols are corrupted during transmission.
  • the coding causes a remarkable overhead on the original data sequence.
  • the decoding is computationally much more complex.
  • error correcting codes are convolu- tional codes generating a coded symbol sequence, the length of which is constant times the length of the original data sequence.
  • a rate con- volutional code takes 2 times as much bandwidth as the original uncoded data.
  • the sent data 401 of length L., symbols is first coded in stage 402, thus providing a coded symbol sequence of length k * L
  • the coded sequence is transmitted through channel 403 causing distortions and fading into the transmitted signal and is received together with noise 404 and interference 405.
  • the bandwidth needed is k times the bandwidth needed to send the uncoded data sequence of length L,.
  • the distorted coded symbol sequence is decoded (stage 406) to get the received data sequence. If the distortions caused in the coded data sequence are under some limit specific for the code used, the received data sequence 407 is equal to the sent data sequence.
  • the error correcting codes generally perform better when there are no sequences of two or more consequent symbols. However, the symbol errors tend to occur in bursts of a few consequent symbols. Therefore, the order of the symbols in the sequence is usually mixed after coding in stage 402, and the sequence rearranged before decoding in stage 406.
  • the throughput of the coded channel is constant but the bit error ratio BER varies due to fade/nonfade periods. During the nonfade periods, the coding can be unnecessary complex thus needlessly wasting the limited communications bandwidth. During the fade periods, on the other hand, the constant coding scheme may be too simple and light thus raising the bit error ratio BER. It is also known that a coding scheme may combine error correction and error detection. Such a scheme is shown in Figure 5. In these schemes, the sent data of length L., is first included an error detection code 502 of length L CRC . The CRC-coded data is then coded with an error correcting code 506, thus generating a coded data sequence of length k ⁇ L ⁇ +Lc R c).
  • the codes are decoded in the opposite order (stages 507 and 508).
  • the efficiency of these schemes is due the fact that the bit error rate in the data received by stage 508 can be held constant and low enough with the help of error correction. Thus, the number of retransmissions needed is noticeably reduced.
  • Such schemes utilize soft decision, i.e., the symbol states in every symbol position are given a probability value based on a plurality of received frames, and the most probable symbol sequence is selected.
  • Such schemes have been studied, e.g., by Herwig Bruneel et. al., "Improving the throughput of Stop and Wait ARQ schemes with repeated Transmissions", AEU Int. J. Electron. Comm, pp 1-8, 51 (1997), No. 1.
  • the objective of this invention is to present a scheme meeting this need. This objective is achieved by using a solution according to the invention which is defined in Claim 1.
  • the basic idea of this invention is to define the possible error positions in two erroneously received data frames. This information is used, to- gether with the error-free information included in the erroneous frames, to regenerate the sent frame.
  • the error positions are defined by comparing the erroneous data frames. An error has occurred in one of the compared frames in those symbol positions where different frames have different sym- bols. Those symbol positions are thus the possible error positions for the compared frames.
  • a candidate for the sent frame is generated by replacing the symbols in the possible error positions by a possible symbol combination.
  • the generated frame is checked for errors, and if the frame is found to be error free, the generated frame is accepted. If the frame is erroneous, the next possible symbol combination for the possible error positions is tried.
  • a new retransmission is requested. This occurs, for example, when the number of possible error positions is too high for a computationally feasible regeneration of the frame or when an error has occurred in the same symbol positions in both frames examined.
  • all the erroneous frames can be compared in pairs. The pair showing the minimum number of erroneous symbol positions is then used to generate the corrected frame.
  • the size of the buffer needed for storing the erroneous frames can be limited, if necessary, by storing only frames from pairs giving the smallest numbers of erroneous symbol positions.
  • Figure 1 shows a coding method enabling error detection
  • Figure 2 shows an algorithm checking for errors in a received frame
  • Figure 3 shows the principle of a coding method enabling error correction
  • Figure 4 shows the use of the coding method shown in Figure 3
  • Figure 5 shows a coding scheme utilizing both error correction and error detection
  • Figure 6A shows a sent data frame
  • Figure 6B shows an erroneous received data frame
  • Figure 6C shows another erroneous received data frame
  • Figure 6D shows the exclusive OR (XOR) function of data frames in Figures 6B and 6C
  • Figure 7 shows an error correction procedure according to the present invention
  • Figure 8 shows an extra step included in the procedure shown in Figure 7 which is added to reduce the computational complexity of the pro- cedure
  • Figure 9 shows another extra step included in the procedure shown in Figure 7 which is added to reduce the computational complexity of the procedure.
  • Figure 10 shows the channel throughput as a function of bit error ratio BER for different retransmission schemes.
  • Figure 6A shows a sent data frame consisting of 8 information bits 1...8 having either value 0 or value 1 and three error detection bits 9...11.
  • the error detection is carried out with the help of CRC coding using divider 111 , i.e. the error detection bits 010 are the dividend of the binary number 10101010 formed by the information bits 1...8 divided by binary number 111.
  • Figure 6B shows a data frame received. Due to distortions in the channel, the fifth bit is erroneously detected as 0.
  • the receiver checks the frame for errors by calculating the dividend of the binary number 10100010 formed by the information bits 1...8 divided by binary number 111.
  • the result 001 is compared to the error check sequence 010 included in the frame.
  • the binary numbers are not equal, and the receiver thus knows that an error has occurred in the frame during the transmission. However, it has as yet no means of knowing which bit is erroneous, and can therefore not correct the error. Therefore, the receiver requests the sender to retransmit the corrupted frame.
  • the retransmitted frame received by the receiver is shown in Figure 6C. This time the sixth bit is erroneously detected as 1.
  • the re- DCver checks the frame for errors by calculating the dividend of the binary number 10101110 formed by the information bits 1...8 divided by the binary number 111.
  • the result 110 is compared with the error check sequence 010 included in the frame. The binary numbers are not equal, and the receiver thus knows that an error has again occurred in the frame during transmission.
  • the received erroneous bit sequences 10100010 and 10101110 can be excluded.
  • the receiver can now calculate the error check sequence for all the possible bit sequences and compare them to the error check sequence CRC included in the frames.
  • the possible bit se- quences and their error check sequences are
  • the calculated error check sequence equals the error check sequence 010 received with the frame for sequence 10101010. Based on this, the receiver can correctly conclude that the sent information bit sequence was 10101010.
  • FIG. 7 An exemplary flowchart for the error detection and correction function is shown in Figure 7.
  • the procedure is triggered (stage 701) when the connection is established and a data frame received.
  • a counter k repre- senting the number of erroneous frames is set to 0 in stage 702.
  • the frame is checked for errors (stage 703). If the frame is found to be correct, it is accepted (stage 705), and the function starts to exam the next frame (stage If errors are detected, the erroneous frame is stored in a buffer (stage 711).
  • the XOR values of the newest frame and the old buffered frames are calculated (stage 714).
  • the pair giving the smallest XOR value (in the sense that there are fewest number of 1's in the value of copyl XOR copy2) is selected (stage 715).
  • the possible error positions in the frames of that pair are now given by the XOR'ed value, the symbol positions having an error in one of the frames of that pair having XOR value 1.
  • a candidate for the sent frame is generated (stage 716) using a trial and error method, and the generated frame checked for errors (stage 717). If the check shows no errors, the generated frame is con- eluded to be equal to the sent frame, i.e. the correction is completed (stage 719), and the frame accepted (stage 705).
  • stage 716 If the frame generated in stage 716 is determined to be erroneous, a new error combination is tried (stage 722), unless all the possible combinations have already been tried. If all the possible combinations have been tried (e.g., there are errors in the same symbol position in both the erroneous frames used), a retransmission is requested (stage 732). Alternatively, the next best pair (with the next smallest XOR value) can be tried (if it exists), and the function is continued from step 716.
  • the regeneration of the sent data frame from several erroneously received frames requires some extra computation and thus causes an additional delay compared to the traditional retransmission schemes.
  • the delay requirements in the handling of data frames at the receiver can be met by limiting the computational complexity of the scheme. This can be done by limiting the maximum number of error positions allowed when starting the trial and error method, and by limiting the number of erroneous frames stored in the buffer for comparisons.
  • the computational time needed to recover the sent frame from the erroneous frames received so far exceeds the delay requirements the calculation is interrupted, and a new retransmission for the frame is requested. This has, of course, a small nega- tive effect on the channel throughput achieved.
  • Limiting the number of error positions limits the average and maximum numbers of trials (stage 716) needed to recover the sent frame, thus minimizing the average and maximum times needed for the whole procedure. Restricting the number of erroneous frames stored in the buffer limits the number of XOR comparisons (stage 714) and simplifies the selection of the minimum XOR pair (stage 715), thus limiting the time needed for the procedure.
  • Limitation of the maximum number of error positions can be implemented, e.g., by adding a test for the number of error positions between stages 715 and 716 in Figure 7.
  • the additions compared to Figure 7 are shown in figure 8.
  • the "select minimum XOR"-block 715 returns the number N of ones in the XOR value of the pair. That number is compared (stage 715B) to a predefined limit N MAX defining the maximum number of error positions allowed to start the trial and error procedure. If N>N MAX , the calculation is interrupted and sent to stage 713, which leads to the request for retransmission (stage 732 in Figure 7). If N is equal or less than N MAX , the procedure is continued from stage 716 as shown in Figure 7.
  • the maximum number of frames in the buffer can be limited, e.g., using two additional steps shown in Figure 9 between stages 714 and 715 in the flowchart of Figure 7. Having calculated the XOR values in stage 714, the number K of frames in buffer is compared 714B to a limit K MAX representing the maximum number of frames stored in the buffer. If the number has not been exceeded, the procedure is continued from stage 715. If the number has been exceeded, i.e., K>K MAX , the worst frame in terms of number of errors is discarded (stage 714C) from the buffer. The worst frame can be selected, e.g., as the frame for which the average number of 1 's in the XOR values calculated for that frame with all the other frames gets its maximum value.
  • the method according to the invention gives a clear advantage in the channel throughput over the traditional methods, especially in channels with changing characteristics.
  • An example of channels with rapidly changing characteristics are the channels on the air interface in the mobile telecommunications networks.
  • the frame size used is 114 bits.
  • the limitation for the buffer size, such as to 2 has a very minor effect in the throughput of the channel, and values for that limitation are therefore not shown.
  • Figure 10 shows that the efficiency achieved using the present in- vention is superior compared to the efficiency achieved using the traditional method, and the difference becomes greater as the bit error rate BER increases. Limitation of the maximum number of error positions allowed when starting the trial and error method has a clear effect on the throughput, but the efficiency of the scheme is still superior to the efficiency of the traditional schemes, even when only 2 error positions are allowed for starting the trial and error method.
  • the present invention greatly improves the bandwidth efficiency even if the frame structure is left unchanged.
  • Schemes according to the invention make it possible to use retransmission schemes more effectively over channels with a far too high error ratio for effective use of the traditional retransmission schemes. This can be utilized by lightening or removing the error correcting coding, and thus improving the throughput. Minor improvements can also be made by using longer frames, which minimizes the overhead caused by error detection coding.
  • retransmission means that the receiver is sent at least two copies of the sent frame. Retransmission may be requested by the receiver upon detecting that the sent frame can not be reconstructed based on the previously received frames, as is done in the exemplary schemes presented in this application.
  • the sender may retransmit the frame if the receiver has not acknowledged it within a predetermined period.
  • the sender may always send a plurality of frames one after another or in parallel. For the basic idea of this invention, it is thus irrelevant how the two or more copies of the data frame are sent to the receiver.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

The basic idea of the invention is to define the possible error positions in two erroneously received data frames. This information is used together with the error-free information included in the erroneous frames to regenerate the sent frame. The error positions are defined by comparing the erroneous data frames. Having defined the error positions, a candidate for the sent frame is generated by replacing the symbols in the error positions by a possible symbol combination. The generated frame is checked for errors, and if found to be error free, the generated frame is accepted. If the frame is erroneous, another possible symbol combination in the error positions is tried. If the correct frame can not be found by trying all the possible symbol combinations in the estimated error positions, a new retransmission is requested.

Description

Reconstruction of a sent data frame
Field of the invention
This invention relates to the handling of erroneous data frames in telecommunication systems utilizing the retransmission of data frames.
Background of the invention
In telecommunications, the effects on the transmission path between the sender and the recipient may cause errors in the received infor- mation. These effects, such as noise, interference, signal reflections and signal fading, are especially strong in mobile communications networks where moving mobile stations communicate with base stations which are usually fixed.
Digital systems enable the detection and correction of errors in- eluded in the received signal. This can be done by adding redundancy, i.e., including extra symbols, in the signal before sending.
Figure 1 shows an example of a coding scheme enabling error detection. The data bit sequence to be sent is mapped on a frame comprised of data bits and an error check sequence CRC (Cyclic Redundancy Code). The error check sequence is basically an output of a predefined function processing the data bit sequence. A widely used example of CRC coding treats the data bit sequence as a binary number, divides the binary number with a predefined divider, and uses the remainder of the division as the checksum. If the data bit sequence changes due to bit errors, the output of the function changes as well. If the error check sequences computed by the sender and the receiver do not match, the receiver knows that errors have occurred in the frame during transmission.
The error detection operation running at the receiver is schematically shown in Figure 2. The function starts at stage 201 when a frame is re- ceived. The receiver calculates the checksum value CRC (stage 202) for the received data bits and compares it (stage 203) to the checksum value calculated by the sender and included in the received frame. If the checksums are equal, the frame is accepted (stage 204), and the function starts to study the next frame (stage 205). If the checksums are unequal, the receiver concludes that at least one error has occurred in the received frame. Then, the erroneous frame is rejected (stage 211), and a retransmission (stage 212) requested.
In systems utilizing error detection and retransmissions, the bit error ratio BER is constant. On the other hand, the retransmissions use part of the communication bandwidth available and thus limit the throughput of the channel during the fade periods. In poor channels, i.e. channels with a high bit error ratio, a significant number of frames are distorted. The retransmissions, which may need to be repeated many times per one data frame, therefore require a lot of bandwidth.
An example of a coding scheme enabling the correction of errors is shown in Figure 3. The idea of the scheme is to include the information carried in one original data symbol in several coded data symbols. The number of the coded data symbols 302 is larger than the number of original data symbols 301 , and not all the symbol sequences are possible for the coded data symbols. The original data symbol sequence can then be regenerated by the receiver, even if some of the coded data symbols are corrupted during transmission. On the other hand, the coding causes a remarkable overhead on the original data sequence. Additionally, compared to error detection, the decoding is computationally much more complex.
The most widely used type of error correcting codes are convolu- tional codes generating a coded symbol sequence, the length of which is constant times the length of the original data sequence. E.g., a rate con- volutional code takes 2 times as much bandwidth as the original uncoded data.
Coding and transmission in a scheme utilizing error correction is shown in Figure 4. The sent data 401 of length L., symbols is first coded in stage 402, thus providing a coded symbol sequence of length k*L The coded sequence is transmitted through channel 403 causing distortions and fading into the transmitted signal and is received together with noise 404 and interference 405. The bandwidth needed is k times the bandwidth needed to send the uncoded data sequence of length L,. The distorted coded symbol sequence is decoded (stage 406) to get the received data sequence. If the distortions caused in the coded data sequence are under some limit specific for the code used, the received data sequence 407 is equal to the sent data sequence. The error correcting codes generally perform better when there are no sequences of two or more consequent symbols. However, the symbol errors tend to occur in bursts of a few consequent symbols. Therefore, the order of the symbols in the sequence is usually mixed after coding in stage 402, and the sequence rearranged before decoding in stage 406.
In schemes utilizing error correction, the throughput of the coded channel is constant but the bit error ratio BER varies due to fade/nonfade periods. During the nonfade periods, the coding can be unnecessary complex thus needlessly wasting the limited communications bandwidth. During the fade periods, on the other hand, the constant coding scheme may be too simple and light thus raising the bit error ratio BER. It is also known that a coding scheme may combine error correction and error detection. Such a scheme is shown in Figure 5. In these schemes, the sent data of length L., is first included an error detection code 502 of length LCRC. The CRC-coded data is then coded with an error correcting code 506, thus generating a coded data sequence of length k^L^+LcRc). At the receiving end, the codes are decoded in the opposite order (stages 507 and 508). The efficiency of these schemes is due the fact that the bit error rate in the data received by stage 508 can be held constant and low enough with the help of error correction. Thus, the number of retransmissions needed is noticeably reduced. It is also known that information from several frames can be combined. Such schemes utilize soft decision, i.e., the symbol states in every symbol position are given a probability value based on a plurality of received frames, and the most probable symbol sequence is selected. Such schemes have been studied, e.g., by Herwig Bruneel et. al., "Improving the throughput of Stop and Wait ARQ schemes with repeated Transmissions", AEU Int. J. Electron. Comm, pp 1-8, 51 (1997), No. 1.
Increase in the use of applications requiring a lot of bandwidth and the limitations and commercial price of the bandwidth create a need for coding schemes utilizing the bandwidth more efficiently, especially in varying channels. The objective of this invention is to present a scheme meeting this need. This objective is achieved by using a solution according to the invention which is defined in Claim 1.
Summary of the invention The basic idea of this invention is to define the possible error positions in two erroneously received data frames. This information is used, to- gether with the error-free information included in the erroneous frames, to regenerate the sent frame. The error positions are defined by comparing the erroneous data frames. An error has occurred in one of the compared frames in those symbol positions where different frames have different sym- bols. Those symbol positions are thus the possible error positions for the compared frames.
When the error positions have been defined, a candidate for the sent frame is generated by replacing the symbols in the possible error positions by a possible symbol combination. The generated frame is checked for errors, and if the frame is found to be error free, the generated frame is accepted. If the frame is erroneous, the next possible symbol combination for the possible error positions is tried.
If the correct frame can not be found by trying all the possible symbol combinations in the estimated error positions, a new retransmission is requested. This occurs, for example, when the number of possible error positions is too high for a computationally feasible regeneration of the frame or when an error has occurred in the same symbol positions in both frames examined.
If more than one retransmission is used and all the received frames turn out to be erroneous, all the erroneous frames can be compared in pairs. The pair showing the minimum number of erroneous symbol positions is then used to generate the corrected frame. The size of the buffer needed for storing the erroneous frames can be limited, if necessary, by storing only frames from pairs giving the smallest numbers of erroneous symbol positions.
Brief description of the figures
The invention is described more closely referring to the enclosed schematic figures, of which
Figure 1 shows a coding method enabling error detection, Figure 2 shows an algorithm checking for errors in a received frame, Figure 3 shows the principle of a coding method enabling error correction, Figure 4 shows the use of the coding method shown in Figure 3, Figure 5 shows a coding scheme utilizing both error correction and error detection, Figure 6A shows a sent data frame,
Figure 6B shows an erroneous received data frame,
Figure 6C shows another erroneous received data frame,
Figure 6D shows the exclusive OR (XOR) function of data frames in Figures 6B and 6C,
Figure 7 shows an error correction procedure according to the present invention,
Figure 8 shows an extra step included in the procedure shown in Figure 7 which is added to reduce the computational complexity of the pro- cedure,
Figure 9 shows another extra step included in the procedure shown in Figure 7 which is added to reduce the computational complexity of the procedure, and
Figure 10 shows the channel throughput as a function of bit error ratio BER for different retransmission schemes.
Detailed description of the invention
The basic idea behind the invention is shown in Figures 6A, 6B 6C and 6D. Figure 6A shows a sent data frame consisting of 8 information bits 1...8 having either value 0 or value 1 and three error detection bits 9...11. The error detection is carried out with the help of CRC coding using divider 111 , i.e. the error detection bits 010 are the dividend of the binary number 10101010 formed by the information bits 1...8 divided by binary number 111. Figure 6B shows a data frame received. Due to distortions in the channel, the fifth bit is erroneously detected as 0. The receiver checks the frame for errors by calculating the dividend of the binary number 10100010 formed by the information bits 1...8 divided by binary number 111. The result 001 is compared to the error check sequence 010 included in the frame. The binary numbers are not equal, and the receiver thus knows that an error has occurred in the frame during the transmission. However, it has as yet no means of knowing which bit is erroneous, and can therefore not correct the error. Therefore, the receiver requests the sender to retransmit the corrupted frame. The retransmitted frame received by the receiver is shown in Figure 6C. This time the sixth bit is erroneously detected as 1. Again, the re- ceiver checks the frame for errors by calculating the dividend of the binary number 10101110 formed by the information bits 1...8 divided by the binary number 111. The result 110 is compared with the error check sequence 010 included in the frame. The binary numbers are not equal, and the receiver thus knows that an error has again occurred in the frame during transmission.
Having two erroneously received copies of Figures 6B and 6C of the sent frame of Figure 6A, the receiver now utilizes the present invention to regenerate the sent frame. This is done by comparing the erroneous frames of Figures 6B and 6C by adding them together with the exclusive or (XOR) operator satisfying 0+0=0, 0+1=1 , 1+0=1 and 1+1=0. This comparison gives the "error frame" of Figure 6D. Based on the comparison, the receiver now knows that bit 5 is erroneous in one of the frames received and bit 6 erroneous in the other. All the other bits are correct in both the frames. Therefore, the sent information bits must be of the form 1010xx10, in which x means an unknown bit. Additionally, the received erroneous bit sequences 10100010 and 10101110 can be excluded. The receiver can now calculate the error check sequence for all the possible bit sequences and compare them to the error check sequence CRC included in the frames. The possible bit se- quences and their error check sequences are
Figure imgf000008_0001
For these sequences, the calculated error check sequence equals the error check sequence 010 received with the frame for sequence 10101010. Based on this, the receiver can correctly conclude that the sent information bit sequence was 10101010.
An exemplary flowchart for the error detection and correction function is shown in Figure 7. The procedure is triggered (stage 701) when the connection is established and a data frame received. A counter k repre- senting the number of erroneous frames is set to 0 in stage 702. The frame is checked for errors (stage 703). If the frame is found to be correct, it is accepted (stage 705), and the function starts to exam the next frame (stage If errors are detected, the erroneous frame is stored in a buffer (stage 711). The counter is incremented by one (stage 712). If the number of erroneous copies of this frame is only 1 (k=1), a retransmission is requested by sending the transmitter a negative acknowledgment NACK (stage 731). If at least two erroneous copies are received, the XOR values of the newest frame and the old buffered frames are calculated (stage 714). The pair giving the smallest XOR value (in the sense that there are fewest number of 1's in the value of copyl XOR copy2) is selected (stage 715). The possible error positions in the frames of that pair are now given by the XOR'ed value, the symbol positions having an error in one of the frames of that pair having XOR value 1. Changing only those symbols that were detected to be erroneous in one of the frames, a candidate for the sent frame is generated (stage 716) using a trial and error method, and the generated frame checked for errors (stage 717). If the check shows no errors, the generated frame is con- eluded to be equal to the sent frame, i.e. the correction is completed (stage 719), and the frame accepted (stage 705).
If the frame generated in stage 716 is determined to be erroneous, a new error combination is tried (stage 722), unless all the possible combinations have already been tried. If all the possible combinations have been tried (e.g., there are errors in the same symbol position in both the erroneous frames used), a retransmission is requested (stage 732). Alternatively, the next best pair (with the next smallest XOR value) can be tried (if it exists), and the function is continued from step 716.
The regeneration of the sent data frame from several erroneously received frames requires some extra computation and thus causes an additional delay compared to the traditional retransmission schemes. If necessary, the delay requirements in the handling of data frames at the receiver can be met by limiting the computational complexity of the scheme. This can be done by limiting the maximum number of error positions allowed when starting the trial and error method, and by limiting the number of erroneous frames stored in the buffer for comparisons. Thus, if the computational time needed to recover the sent frame from the erroneous frames received so far exceeds the delay requirements, the calculation is interrupted, and a new retransmission for the frame is requested. This has, of course, a small nega- tive effect on the channel throughput achieved. Limiting the number of error positions limits the average and maximum numbers of trials (stage 716) needed to recover the sent frame, thus minimizing the average and maximum times needed for the whole procedure. Restricting the number of erroneous frames stored in the buffer limits the number of XOR comparisons (stage 714) and simplifies the selection of the minimum XOR pair (stage 715), thus limiting the time needed for the procedure.
Limitation of the maximum number of error positions can be implemented, e.g., by adding a test for the number of error positions between stages 715 and 716 in Figure 7. The additions compared to Figure 7 are shown in figure 8. In addition to the best pair of frames (in the sense of hav- ing smallest number of 1's in the XOR value), the "select minimum XOR"-block 715 returns the number N of ones in the XOR value of the pair. That number is compared (stage 715B) to a predefined limit NMAX defining the maximum number of error positions allowed to start the trial and error procedure. If N>NMAX, the calculation is interrupted and sent to stage 713, which leads to the request for retransmission (stage 732 in Figure 7). If N is equal or less than NMAX, the procedure is continued from stage 716 as shown in Figure 7.
The maximum number of frames in the buffer can be limited, e.g., using two additional steps shown in Figure 9 between stages 714 and 715 in the flowchart of Figure 7. Having calculated the XOR values in stage 714, the number K of frames in buffer is compared 714B to a limit KMAX representing the maximum number of frames stored in the buffer. If the number has not been exceeded, the procedure is continued from stage 715. If the number has been exceeded, i.e., K>KMAX, the worst frame in terms of number of errors is discarded (stage 714C) from the buffer. The worst frame can be selected, e.g., as the frame for which the average number of 1 's in the XOR values calculated for that frame with all the other frames gets its maximum value. Having discarded this frame, the procedure is again continued from stage 715. The method according to the invention gives a clear advantage in the channel throughput over the traditional methods, especially in channels with changing characteristics. An example of channels with rapidly changing characteristics are the channels on the air interface in the mobile telecommunications networks. Calculations showing the throughput efficiency achieved with different retransmission schemes are shown as a function of the bit error ratio in Figure 10. Shown in Figure 10 are values calculated for the traditional retransmission scheme shown in Figure 2, values simulated for the scheme according to the invention (Figure 7), and values simulated for schemes according to the invention with different limitations (Figure 8, N(MAX)=5, 10 and 15) for the maximum number of error positions allowed when starting the trial and error method. The frame size used is 114 bits. The limitation for the buffer size, such as to 2, has a very minor effect in the throughput of the channel, and values for that limitation are therefore not shown.
Figure 10 shows that the efficiency achieved using the present in- vention is superior compared to the efficiency achieved using the traditional method, and the difference becomes greater as the bit error rate BER increases. Limitation of the maximum number of error positions allowed when starting the trial and error method has a clear effect on the throughput, but the efficiency of the scheme is still superior to the efficiency of the traditional schemes, even when only 2 error positions are allowed for starting the trial and error method.
The present invention greatly improves the bandwidth efficiency even if the frame structure is left unchanged. Schemes according to the invention make it possible to use retransmission schemes more effectively over channels with a far too high error ratio for effective use of the traditional retransmission schemes. This can be utilized by lightening or removing the error correcting coding, and thus improving the throughput. Minor improvements can also be made by using longer frames, which minimizes the overhead caused by error detection coding. In the context of this application, retransmission means that the receiver is sent at least two copies of the sent frame. Retransmission may be requested by the receiver upon detecting that the sent frame can not be reconstructed based on the previously received frames, as is done in the exemplary schemes presented in this application. However, also the sender may retransmit the frame if the receiver has not acknowledged it within a predetermined period. The sender may always send a plurality of frames one after another or in parallel. For the basic idea of this invention, it is thus irrelevant how the two or more copies of the data frame are sent to the receiver.

Claims

Claims
1. A method for reconstructing a sent data frame from at least two erroneously received data frames in a telecommunication system in which retransmission of the frames is used, characterized in that the method comprises the steps: comparing two erroneously received data frames to find the symbol positions with unequal symbols in different frames, and then defining those symbol positions as error positions and those symbol positions with equal symbols in both frames as correct, generating a frame by using a possible symbol combination in the error positions and using the symbols from one of the erroneous data frames in the symbol positions that were defined to be correct, checking the generated frame for errors, and, as a response to having detected no errors in the generated frame, accepting the frame as the reconstructed sent data frame.
2. A method according to claim ^ characterized in that the two erroneously received data frames are compared by adding them together using the exclusive-or-function XOR.
3. A method according to claim ^characterized in that if a frame comprising no errors can not be found, a new retransmission is requested.
4. A method according to claim ^characterized in that if the sent frame can not be regenerated based on previously received frames within predefined requirements such as for the maximum delay time, a new retransmission is requested.
5. A method according to claim 4, characterized in that the minimum number of possibly erroneous symbol positions is monitored and compared to a predefined limit, and if the number of erroneous symbol positions exceeds said limit, a new retransmission is requested.
6. A method according to claim 4, characterized in that the received data frames are stored in a buffer.
7. A method according to claim 6, characterized in that the buffer size is limited.
8. A method according to claim 7, characterized in that the number of error positions in the frames stored in the buffer is estimated by comparing each frame with the other frames in the buffer, the number of received copies of the frame in the buffer is monitored and compared to a predefined limit, and, if the number of received copies of the frame in the buffer is higher than the said limit, the frame with the highest estimated number of error positions is discarded from the buffer.
PCT/FI1998/000589 1997-07-14 1998-07-14 Reconstruction of a sent data frame WO1999004527A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU84432/98A AU8443298A (en) 1997-07-14 1998-07-14 Reconstruction of a sent data frame

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI972987 1997-07-14
FI972987A FI972987A (en) 1997-07-14 1997-07-14 Reconstructing the transmitted data frame

Publications (2)

Publication Number Publication Date
WO1999004527A2 true WO1999004527A2 (en) 1999-01-28
WO1999004527A3 WO1999004527A3 (en) 1999-04-08

Family

ID=8549256

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FI1998/000589 WO1999004527A2 (en) 1997-07-14 1998-07-14 Reconstruction of a sent data frame

Country Status (3)

Country Link
AU (1) AU8443298A (en)
FI (1) FI972987A (en)
WO (1) WO1999004527A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1408640A1 (en) * 2002-10-11 2004-04-14 LG Electronics Inc. Diversity combining for phase modulated signals
DE102009032640B4 (en) * 2008-12-15 2012-12-06 Institute For Information Industry Data correction device, data correction method and machine-readable medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5497382A (en) * 1991-09-20 1996-03-05 Motorola, Inc. Extended error correction of a transmitted data message
EP0707394A1 (en) * 1994-10-11 1996-04-17 Nippon Telegraph And Telephone Corporation System for re-transmission in data communication
WO1997037459A1 (en) * 1996-04-01 1997-10-09 Ericsson Inc. Method and apparatus for data recovery in arq systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5497382A (en) * 1991-09-20 1996-03-05 Motorola, Inc. Extended error correction of a transmitted data message
EP0707394A1 (en) * 1994-10-11 1996-04-17 Nippon Telegraph And Telephone Corporation System for re-transmission in data communication
WO1997037459A1 (en) * 1996-04-01 1997-10-09 Ericsson Inc. Method and apparatus for data recovery in arq systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
STALLINGS WILLIAM, Data and Computer Communications, Fourth Edition, NEW YORK; MacMILLAN PUBLISHING COMPANY, 1994, ISBN 0-13-326828-4, pages 179-187. *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1408640A1 (en) * 2002-10-11 2004-04-14 LG Electronics Inc. Diversity combining for phase modulated signals
US7542409B2 (en) 2002-10-11 2009-06-02 Lg Electronics Inc. Logical and operation diversity combining method
DE102009032640B4 (en) * 2008-12-15 2012-12-06 Institute For Information Industry Data correction device, data correction method and machine-readable medium

Also Published As

Publication number Publication date
WO1999004527A3 (en) 1999-04-08
AU8443298A (en) 1999-02-10
FI972987A0 (en) 1997-07-14
FI972987A (en) 1999-01-15

Similar Documents

Publication Publication Date Title
Kallel Analysis of a type II hybrid ARQ scheme with code combining
JP3775800B2 (en) Method and apparatus for data recovery of ARQ equipment
TWI303520B (en) A method for improving hybrid automatic repeat request performance in an iterative turbo decoder and a wireless transmit/receive unit
US6353907B1 (en) Incremental redundancy radio link protocol
KR100730715B1 (en) Flexible method of error protection in communications systems
US20030118031A1 (en) Method and system for reduced memory hybrid automatic repeat request
CN109964426B (en) Signal receiver and method for analyzing received signal, communication system
US6728920B1 (en) Method for correcting errors in transfer of information
US11588590B2 (en) Adaptive payload extraction and retransmission in wireless data communications with error aggregations
KR20000048677A (en) Error detection scheme for arq systems
US20040010743A1 (en) Turbo encoded hybrid automatic repeat request system and error detection method
EP2798763A1 (en) Symbol detection technique
US10200149B2 (en) Parity frame
US7302628B2 (en) Data compression with incremental redundancy
JP2002528960A (en) Diversity selection automatic repeat request
US20070162812A1 (en) Decoding and reconstruction of data
US7007216B2 (en) Rate-matching algorithm for hybrid ARQ system
EP1656759B1 (en) Data compression with incremental redundancy
WO2009075507A1 (en) Method of error control
WO1999004527A2 (en) Reconstruction of a sent data frame
KR100305353B1 (en) method for performance analysis of adaptive hybrid ARQ using RCPTC, RCPHCCC and RCPSCCC
WO2024099857A1 (en) Communication device and method
CN117692103A (en) Data retransmission method based on bits and related device
Jianhua et al. Novel methods for the performance analysis of adaptive hybrid selective repeat ARQ
Jagath-Kumara A new HARQ scheme using BCH codes with unequal data and parity frames

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE GH GM HR HU ID IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

AK Designated states

Kind code of ref document: A3

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE GH GM HR HU ID IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

NENP Non-entry into the national phase in:

Ref country code: JP

Ref document number: 1999506502

Format of ref document f/p: F

NENP Non-entry into the national phase in:

Ref country code: CA

122 Ep: pct application non-entry in european phase