WO2000013321A1 - Dynamically changing forward error correction and automatic request for repetition - Google Patents

Dynamically changing forward error correction and automatic request for repetition Download PDF

Info

Publication number
WO2000013321A1
WO2000013321A1 PCT/US1999/017952 US9917952W WO0013321A1 WO 2000013321 A1 WO2000013321 A1 WO 2000013321A1 US 9917952 W US9917952 W US 9917952W WO 0013321 A1 WO0013321 A1 WO 0013321A1
Authority
WO
WIPO (PCT)
Prior art keywords
metric
forward error
error correction
automatic retry
data
Prior art date
Application number
PCT/US1999/017952
Other languages
French (fr)
Inventor
Robert D. Logalbo
Charles J. Malek
Original Assignee
Motorola Inc.
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 Motorola Inc. filed Critical Motorola Inc.
Priority to EP99940960A priority Critical patent/EP1110327A4/en
Publication of WO2000013321A1 publication Critical patent/WO2000013321A1/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/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0006Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
    • H04L1/0007Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0015Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
    • H04L1/0016Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy involving special memory structures, e.g. look-up tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0054Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
    • 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/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/20Arrangements for detecting or preventing errors in the information received using signal quality detector
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • H04L1/0003Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate by switching between different modulation schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding

Definitions

  • This invention relates generally to error correction in a data network and specifically to dynamically adjusting the data network's forward error correction and automatic retry query parameters for an increase in network transmission efficiency.
  • FEC forward error correction
  • ARQ automatic retry query
  • a simplistic method of ARQ is implemented using a Cyclic Redundancy Checker (CRC) .
  • CRC Cyclic Redundancy Checker
  • a numeric value is computed from the bits in the message, block, or frame to be transmitted and is appended to the tail of the message.
  • the receiving device receives the data and can detect if one or more errors have occurred in the received message by applying a polynomial function to the received message, block, or frame. If the result of the polynomial function does not equal zero, then an error has occurred and the message must be retransmitted.
  • the quality of the communication path inversely relates to the number of data errors and required retransmission that occur in a network. Data transmitted over a low quality communication path will be more efficient with smaller retransmission blocks of data because more retransmissions are required. Transmission over a clean communication path will be more efficient with larger retransmission blocks of data, which are sent less often.
  • An additional method of detecting an error in a received message, block or frame is by calculating a checksum and appending the checksum to the end of the message, block or frame.
  • the receiving device receives the message and re-calculates a checksum and compares the received checksum with the calculated checksum. If the checksum's do not match, an error has been detected and the message, block or frame must be partially or fully retransmitted.
  • communication systems have used fixed retransmission message, blocks, or frame sizes when the CRC or checksum ARQ methods are used.
  • FEC FEC
  • additional digits are added to each transmitted message by an encoder to enable the receiving device not only to detect errors but also to locate the position of the errors in the received message.
  • the errors are then corrected by inverting the bits at the locations identified by the error locator polynomial in the received message.
  • Traditional approaches to FEC establish a fixed bit size for the encoder. If the communication path is of high quality and few errors occur, bandwidth is wasted with the extra encoding of each message, block, or frame.
  • FIG. 1 is a diagram of a transmitting and a receiving device in accordance with a preferred embodiment of the invention.
  • FIG. 2 is a logic diagram and truth table for a Viterbi encoder in accordance with a preferred embodiment of the invention.
  • FIG. 3 is a lattice diagram of a Vicerbi sequence in accordance with the preferred embodiment of the invention.
  • FIG. 4 is a logic diagram for a Cyclic Redundancy Checker in accordance with the preferred embodiment of the invention.
  • FIG. 5 is a diagram of a Mean Square Error of a Symbol Position error detection in accordance with the preferred embodiment of the invention.
  • FIG. 6 is a diagram of an Accumulated Slicer-Error error detection in accordance with the preferred embodiment of the invention.
  • FIG. 7 is a block diagram of a Transceiver in accordance with the preferred embodiment of the invention.
  • FIG. 8 is a flow chart of a method for dynamically changing the Forward Error Correction and Automatic retry query in accordance with the preferred embodiment of the invention.
  • FIG. 1 is a diagram of a transmitting device 102 and a receiving device 112 in accordance with a preferred embodiment of the invention.
  • the transmitting device 102 has a data port 104 and an antenna 106. Data is received by the transmitting device at the data port 104 and the data is encoded for transmission by a transceiver located in the transmitting device 102. The encoded data is then sent by means of a radio frequency (RF) signal through the antenna 106 as a transmitted RF signal 108.
  • RF radio frequency
  • the RF signal can be sent out over the air or any other medium that can carry RF signals, such as fiber optics or coaxial cable.
  • the receiving device (by means of an antenna 110) receives the transmitted RF signal 108.
  • the received transmitted RF signal 108 is then processed by a transceiver in the receiving device 112.
  • the resulting data from the RF signal is sent out a data port 114 located on the received device 112.
  • FIG. 2 is a logic diagram 200 and truth table 250 for a convolutional encoder in accordance with a preferred embodiment of the invention.
  • a RF signal transmitted from transmitting device 102 and received at an insufficiently high C/I ratio by a receiving device 112 can have errors occur due to additive white gaussian nosie, interference from other RF signals, and thermal noise (KTB, Boltzman's noise). This type of interference is commonly called electronic noise and can be caused from electrical device, sunspots, magnetic fields, and distortion of the signal.
  • KTB Thermal noise
  • a common method of forward error correction is convolutional encoding.
  • a convolutional encoder 200 can be configured to fix different size errors. Fig.
  • FIG. 2 shows a Viterbi encoder 201 capable of encoding data in a way to correct two bit errors.
  • the encoder is not limited to only a 2 bit convolutional encoder, but rather has the ability to change from a 1 bit to "N'bit encoder dynamically.
  • Data enters the convolutional encoder 201 from a serial input 212.
  • the data from the serial input 212 is stored in a three-bit shift register 205.
  • the first bit is stored in register SI 206.
  • the next bit received is placed in register SI 206 and the previous values in SI 206, and S2 208 are shifted.
  • S2 208 contains the prior value of SI 206 and S3 210 contains the prior value of S2 208.
  • the first register SI 206 and third register S3 are connected to a logic XOR gate 202.
  • the output of the S1/S3 XOR gate 214 is ready for transmission to a transceiver.
  • the shift register SI 206 and shift register S2 204 are connected to a second logical XOR gate 204.
  • the output of the S1/S2 XOR gate 204 is then also ready for transmission.
  • the output 220 of the convolutional encoder 201 receives data from each of the XOR gates 202, 204 by means of a switch 218 that oscillates between each of the XOR gate outputs 214, 216.
  • FIG. 3 is a lattice diagram 300 of a Viterbi sequence in accordance with the preferred embodiment of the invention.
  • the aim of a Viterbi decoder is to determine the most likely output sequence 324, given a received bit stream and knowledge of the encoder 326.
  • a person skilled in the art knows how to implement a convolutional encoder and Viterbi decoder and this embodiment only makes use of the metrics derived from such a decoder or other similar decoders.
  • the decoding procedure is equivalent to comparing the received sequence 302 with all the possible sequences that may be obtained with the respective encoder and then selecting the sequence that is closest to the received sequence.
  • a running count 304-316 is maintained of the distance between the actual received sequence and each possible sequence, but at each node in the trellis, only a single path is retained. There are always two paths merging at each node 318, 320 and the path survivor selected is the one with the minimum distance, the other being simply terminated. The retained paths are known as survivor paths 322 and the final path selected is then the one with a continuous path through the trellis with a minimum aggregated distance 322.
  • the Viterbi decoder can generate two metrics. The first is a Viterbi -path metric and the second is the number of erasures or corrections that have occurred.
  • the path metric is a distance count. If the count is zero then no error where detected. Otherwise the greater the count the more errors detected.
  • the second metric is generated to track the number of error corrections that have occurred.
  • An error correction is the process of detecting a one or two bit error in the data and correcting the data.
  • FIG. 4 is a logic diagram 400 for a Cyclic Redundancy Checker (CRC) in accordance with the preferred embodiment of the invention.
  • a polynomial is generated by the CRC encoder 400 having a frame shift register 402 and a CRC shift register 410, such that when the original data 406 is divided by the polynomial 404 there is no remainder. If a remainder is detected then an error has occurred during transmission.
  • the polynomial is appended to the original data 406 and transmitted 408 as one message, block, or frame.
  • the encoding of the polynomial is dependent on the size of the data to be transmitted. In FIG. 4 the polynomial generated is limited to 8 -bits, because the register for the data is an 8 -bit register 402.
  • the logical circuit is implemented in software and is dynamically configurable for different data sizes in addition to the 8 -bit register 402 shown.
  • the metric that is generated by this error detection scheme is a CRC count .
  • the CRC count is calculated for a fixed period of time or for a fixed number of messages, blocks or frames.
  • a checksum is a value that is derived from data that is going to be transmitted and appended onto the message, block, or frame that is transmitted.
  • the receiving device reverses the process and compares the received checksum with the newly calculated checksum. If the results of the calculated and received checksums are equal then no errors have occurred.
  • the metric that is generated by this error detection scheme is a checksum error count.
  • the checksum error count can be calculated for a fixed period of time or it can be an average number of errors for fixed time period. The greater the counter or average the greater the number of errors encountered.
  • FIG. 5 is a diagram 500 of a Mean Square Error of a symbol position in accordance with the preferred embodiment of the invention.
  • the diagram 500 represents a Quadrature Amplitude Modulated (QAM) signal having a quadrature imaginary axis 502 and an In-Phase real axis 504.
  • the QAM signal represented in the diagram 500 is a 4 QAM signal but any m-array QAM or PSK signal could use a mean square error detection scheme.
  • the data in QAM signaling is represented by a constellation of points at specific coordinates on a plane formed by the I axis 102 and Q axis 104. The expected locations of the points in the constellation are marked by X ' s 106, 108, 110, 112 in figure 100 are known.
  • d x desired digital value
  • r L received digital value
  • k x number of sample points
  • FIG. 6 is a graphical depiction of an Accumulated Slicer-Error in accordance with the preferred embodiment of the invention.
  • the Accumulated Slicer-Error is shown with a Frequency-Shift Keying (FSK) modulated signal but can be used with other single modulated signaling methods.
  • the receiving device knows the expected location or quantization level of the received carrier 604 within the radio frequency spectrum 602.
  • the actual received carrier 606 may be offset from the expected carrier 604.
  • the Accumulated Slicer-Error value is simply the distance 608 between the expected 604 and actual received carriers 606.
  • the distance 608 measured between the received digital value (evaluated at a specific time) to the nearest acceptable quantization level 604.
  • the slicer quantizes a received digital value to the nearest value that should have been received assuming the channel was perfectly noiseless and distortionless.
  • the formula for Slicer-Error is:
  • FIG. 7 is a block diagram of a transceiver device in accordance with the preferred embodiment of the invention.
  • the transceiver device 700 has an Antenna 702 for receiving and transmitting RF signals.
  • the antenna 702 is connected to the transceiver 703 having a combiner/splitter 704 that combines an outgoing signal with a carrier or splits a received from a carrier signal.
  • the combiner/splitter 704 is connected with a transmitter modulator 730, a receiver demodulator 706, and a signal analyzer 708.
  • the receiver demodulator 706 demodulates the signal if the implementation requires it.
  • the data from the demodulated signal is stored in a buffer 710.
  • the Data Decoder 712 then decodes the data from the buffer 710.
  • the data decoder 712 contain a Viterbi decoder and generate FEC metrics.
  • the data analyzer or data integrity monitor 714 checks the data for errors and generates ARQ metrics. Some types of error metrics that are conducted are CRC and checksums .
  • the microprocessor or CPU 716 is a data processor that processes the received data from the data decoder 712 and takes appropriate error correction actions, such as sending a retransmission request to a transmitting device.
  • the signal analyzer 708 is connected to the combiner/splitter 708 and CPU 716.
  • the signal analyzer 708 is where the calculation of the Mean Square Error, Accumulated Slicer- Error, and signal-to-noise metrics are calculated and the resulting error metrics are transferred to the CPU 716.
  • the CPU 716 receives the error metrics from the signal analyzer 708 and Data Analyzer 714, the metric values are normalized. Normalization by the CPU 716 is accomplished by taking an average of the metric values over a fixed number of messages or fixed intervals of time. The normalized error metric values are then equalized and combined into a resultant sum by the CPU 716 and stored in a metric portion 732 of the memory 718.
  • the memory 718 also contains a lookup table in the table Memory 734.
  • the table is referenced with the resultant sum and yields a forward error correction transmission parameters and automatic retry query value.
  • the forward error correction value and automatic retry query values are sent to the data encoder 726 and the data decoder 712 and transmitted by the antenna 702 to other devices.
  • the data that is received by the transceiver device 700 is sent to an input/output buffer 722 that is connected to an input/output port 724.
  • the transceiver device 700 can also transmit data by inputting the data to the input/output port 724 and having the input/output buffer 722 for holding the data for processing by the CPU 716.
  • the CPU 716 then transfers the data to the data encoder 726 that contains a FEC encoder, such as a Viterbi encoder.
  • the CPU 716 can also configure the data encoder 726 with the amount of FEC required.
  • the data from the data encoder 726 is buffered in a transmit buffer 728.
  • the transmit data in the transmit Buffer 728 is then modulated into a RF signal by the transmitter modulator 730.
  • the RF data signal is then combined by the combiner/splitter 704 with a carrier from the carrier generator 736 and transmitted by the antenna 702.
  • a clock 720 is used for timing by the transceiver device 700.
  • the clock 720 can control the timing for the input/output port 724, CPU 716, and the carrier 736 if needed.
  • the clock signal is not limited only to the elements shown. If other devices require a clock signal, such as a CRC checker, the clock 720 can also supply a clock signal to these other devices.
  • FIG. 8 is a flow chart of a method for dynamically changing the forward error correction (FEC) and automatic retry query (ARQ) in accordance with the preferred embodiment of the invention.
  • FEC forward error correction
  • ARQ automatic retry query
  • the first step 802 is to receive a RF signal containing data.
  • the quality of the signal is then analyzed to determine real time signal metrics for FEC and ARQ.
  • Some methods for determining these types of errors are commonly called Accumulated Slicer-Errors or Mean Square Error and will result in a numerical representation of signal errors.
  • Other methods of error detection involve Viterbi Path Metrics, CRC counts, and checksum counts.
  • the metrics are normalized over a fixed interval 806. This I, preferably implemented as simply taking an average for each metric over a fixed interval of time or for a fixed number of messages, blocks or frames. Another method of normalizing would be to apply each metric to a unitary mapping function creating a normalized output.
  • the next step is to equalize the metric values 808 to a common range and combine the metric values into a resultant sum 810.
  • the individual equalized metric values are summed and an average is taken yielding a resultant sum.
  • the resultant sum is used to reference a lookup table of ARQ and FEC transmission parameter 812.
  • the ARQ value directs the transceiver as to the size of packet or data that is automatically retransmitted when queried.
  • the FEC transmission parameter minimally sets the constellation density and the coding rate.
  • the invention is not limited to only one possibility for FEC transmission parameter and ARQ value derived from one resultant sum.
  • the final step is to configure the transceiver device with the ARQ and FEC transmission parameter 814.
  • the changing of the ARQ and FEC transmission parameter is communicated to the FEC encoder/decoder and the data encoder/decoder so received and transmitted data will be decodable by both the transmitting and receiving device.
  • bandwidth is either wasted because the signal is net degraded by interference or so much interference is present that error correction and retransmission is inefficient.
  • the dynamic reconfiguration of the transceiver device allows a more efficient use of the bandwidth.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Artificial Intelligence (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Error Detection And Correction (AREA)

Abstract

A transceiver device (112) having a forward error correction decoder (712) providing at least one forward error correction metric and a data integrity monitor (714) providing at least one automatic retry query metric to a data processor or CPU (716). The data processor or CPU (716) is responsive to the forward error correction metric and the automatic retry query metric and has outputs providing a forward error correction value and an automatic retry query value to the forward error correction/data encoder (726) and decoder (712).

Description

DYNAMICALLY CHANGING FORWARD ERROR CORRECTION AND AUTOMATIC REQUEST FOR REPETITION
Eield of the Invention
This invention relates generally to error correction in a data network and specifically to dynamically adjusting the data network's forward error correction and automatic retry query parameters for an increase in network transmission efficiency.
Raπlgrmin of the Invention
The methods of forward error correction (FEC) and automatic retry query (ARQ) error control schemes are known by people skilled in the art of data networking. ARQ schemes require additional check bits to be appended to each transmitted message, block, or frame to enable a receiving device to detect when data errors have occurred. Once an error is detected another copy of the transmitted message, block or frame is re-sent.
A simplistic method of ARQ is implemented using a Cyclic Redundancy Checker (CRC) . A numeric value is computed from the bits in the message, block, or frame to be transmitted and is appended to the tail of the message. The receiving device receives the data and can detect if one or more errors have occurred in the received message by applying a polynomial function to the received message, block, or frame. If the result of the polynomial function does not equal zero, then an error has occurred and the message must be retransmitted. The quality of the communication path inversely relates to the number of data errors and required retransmission that occur in a network. Data transmitted over a low quality communication path will be more efficient with smaller retransmission blocks of data because more retransmissions are required. Transmission over a clean communication path will be more efficient with larger retransmission blocks of data, which are sent less often.
An additional method of detecting an error in a received message, block or frame is by calculating a checksum and appending the checksum to the end of the message, block or frame. The receiving device receives the message and re-calculates a checksum and compares the received checksum with the calculated checksum. If the checksum's do not match, an error has been detected and the message, block or frame must be partially or fully retransmitted. Traditionally communication systems have used fixed retransmission message, blocks, or frame sizes when the CRC or checksum ARQ methods are used.
With FEC, however, additional digits are added to each transmitted message by an encoder to enable the receiving device not only to detect errors but also to locate the position of the errors in the received message. The errors are then corrected by inverting the bits at the locations identified by the error locator polynomial in the received message. The greater the number of bits, within a frame to be correctable, the larger the encoder has to be with additional overhead bits being added in each frame. Traditional approaches to FEC establish a fixed bit size for the encoder. If the communication path is of high quality and few errors occur, bandwidth is wasted with the extra encoding of each message, block, or frame.
Therefore, there exists a need for a method and apparatus for dynamically adjusting the forward error correction and automatic request for retransmission parameters based on the quality of the received signal and data integrity.
Brief Description of the Drawings
FIG. 1 is a diagram of a transmitting and a receiving device in accordance with a preferred embodiment of the invention.
FIG. 2 is a logic diagram and truth table for a Viterbi encoder in accordance with a preferred embodiment of the invention. FIG. 3 is a lattice diagram of a Vicerbi sequence in accordance with the preferred embodiment of the invention.
FIG. 4 is a logic diagram for a Cyclic Redundancy Checker in accordance with the preferred embodiment of the invention.
FIG. 5 is a diagram of a Mean Square Error of a Symbol Position error detection in accordance with the preferred embodiment of the invention. FIG. 6 is a diagram of an Accumulated Slicer-Error error detection in accordance with the preferred embodiment of the invention.
FIG. 7 is a block diagram of a Transceiver in accordance with the preferred embodiment of the invention.
FIG. 8 is a flow chart of a method for dynamically changing the Forward Error Correction and Automatic retry query in accordance with the preferred embodiment of the invention.
Detailed Description of the Preferred Embodiment
The present invention provides a method and system for dynamically changing the Forward Error Correction (FEC) and Automatic retry query (ARQ) parameters based on a received radio frequency (RF) signal's quality. FIG. 1 is a diagram of a transmitting device 102 and a receiving device 112 in accordance with a preferred embodiment of the invention. The transmitting device 102 has a data port 104 and an antenna 106. Data is received by the transmitting device at the data port 104 and the data is encoded for transmission by a transceiver located in the transmitting device 102. The encoded data is then sent by means of a radio frequency (RF) signal through the antenna 106 as a transmitted RF signal 108. The RF signal can be sent out over the air or any other medium that can carry RF signals, such as fiber optics or coaxial cable. The receiving device (by means of an antenna 110) receives the transmitted RF signal 108. The received transmitted RF signal 108 is then processed by a transceiver in the receiving device 112. The resulting data from the RF signal is sent out a data port 114 located on the received device 112.
FIG. 2 is a logic diagram 200 and truth table 250 for a convolutional encoder in accordance with a preferred embodiment of the invention. A RF signal, transmitted from transmitting device 102 and received at an insufficiently high C/I ratio by a receiving device 112 can have errors occur due to additive white gaussian nosie, interference from other RF signals, and thermal noise (KTB, Boltzman's noise). This type of interference is commonly called electronic noise and can be caused from electrical device, sunspots, magnetic fields, and distortion of the signal. In order to correct data errors in a received signal a method of forward error correction can be implemented. A common method of forward error correction is convolutional encoding. A convolutional encoder 200 can be configured to fix different size errors. Fig. 2 shows a Viterbi encoder 201 capable of encoding data in a way to correct two bit errors. The encoder is not limited to only a 2 bit convolutional encoder, but rather has the ability to change from a 1 bit to "N'bit encoder dynamically. Data enters the convolutional encoder 201 from a serial input 212. The data from the serial input 212 is stored in a three-bit shift register 205. The first bit is stored in register SI 206. When the second bit arrives it is stored in register SI 206 and the previous bit in SI 206 is shifted to register S2 208. The next bit received is placed in register SI 206 and the previous values in SI 206, and S2 208 are shifted. S2 208 contains the prior value of SI 206 and S3 210 contains the prior value of S2 208.
The R=l/2 convolutional encoder 201 generates two output bits for every input bit that enters the shift registered. The first register SI 206 and third register S3 are connected to a logic XOR gate 202. The output of the S1/S3 XOR gate 214 is ready for transmission to a transceiver. The shift register SI 206 and shift register S2 204 are connected to a second logical XOR gate 204. The output of the S1/S2 XOR gate 204 is then also ready for transmission. The output 220 of the convolutional encoder 201 receives data from each of the XOR gates 202, 204 by means of a switch 218 that oscillates between each of the XOR gate outputs 214, 216. To further clarify the workings of the Viterbi encoder 201 a logic table 250 is also shown in FIG. 2. FIG. 3 is a lattice diagram 300 of a Viterbi sequence in accordance with the preferred embodiment of the invention. The aim of a Viterbi decoder is to determine the most likely output sequence 324, given a received bit stream and knowledge of the encoder 326. A person skilled in the art knows how to implement a convolutional encoder and Viterbi decoder and this embodiment only makes use of the metrics derived from such a decoder or other similar decoders. The decoding procedure is equivalent to comparing the received sequence 302 with all the possible sequences that may be obtained with the respective encoder and then selecting the sequence that is closest to the received sequence. A running count 304-316 is maintained of the distance between the actual received sequence and each possible sequence, but at each node in the trellis, only a single path is retained. There are always two paths merging at each node 318, 320 and the path survivor selected is the one with the minimum distance, the other being simply terminated. The retained paths are known as survivor paths 322 and the final path selected is then the one with a continuous path through the trellis with a minimum aggregated distance 322.
The Viterbi decoder can generate two metrics. The first is a Viterbi -path metric and the second is the number of erasures or corrections that have occurred. The path metric is a distance count. If the count is zero then no error where detected. Otherwise the greater the count the more errors detected. The second metric is generated to track the number of error corrections that have occurred. An error correction is the process of detecting a one or two bit error in the data and correcting the data.
FIG. 4 is a logic diagram 400 for a Cyclic Redundancy Checker (CRC) in accordance with the preferred embodiment of the invention. A polynomial is generated by the CRC encoder 400 having a frame shift register 402 and a CRC shift register 410, such that when the original data 406 is divided by the polynomial 404 there is no remainder. If a remainder is detected then an error has occurred during transmission. The polynomial is appended to the original data 406 and transmitted 408 as one message, block, or frame. The encoding of the polynomial is dependent on the size of the data to be transmitted. In FIG. 4 the polynomial generated is limited to 8 -bits, because the register for the data is an 8 -bit register 402. In the preferred embodiment, the logical circuit is implemented in software and is dynamically configurable for different data sizes in addition to the 8 -bit register 402 shown. The metric that is generated by this error detection scheme is a CRC count . The CRC count is calculated for a fixed period of time or for a fixed number of messages, blocks or frames.
Another method used to check the data integrity of is a checksum value. A checksum is a value that is derived from data that is going to be transmitted and appended onto the message, block, or frame that is transmitted. The receiving device reverses the process and compares the received checksum with the newly calculated checksum. If the results of the calculated and received checksums are equal then no errors have occurred. The metric that is generated by this error detection scheme is a checksum error count. The checksum error count can be calculated for a fixed period of time or it can be an average number of errors for fixed time period. The greater the counter or average the greater the number of errors encountered. FIG. 5 is a diagram 500 of a Mean Square Error of a symbol position in accordance with the preferred embodiment of the invention. The diagram 500 represents a Quadrature Amplitude Modulated (QAM) signal having a quadrature imaginary axis 502 and an In-Phase real axis 504. The QAM signal represented in the diagram 500 is a 4 QAM signal but any m-array QAM or PSK signal could use a mean square error detection scheme. The data in QAM signaling is represented by a constellation of points at specific coordinates on a plane formed by the I axis 102 and Q axis 104. The expected locations of the points in the constellation are marked by X ' s 106, 108, 110, 112 in figure 100 are known. The actual location of the points 114, 116, 118, 120, representing data often are offset from their expected locations due to interference as shown by point 114 and point 118. This offset is an error and the amount of error is calculated by use of a Mean Square Error formula. The Formula is:
MSE=l/k∑ (distance (d^r,, ) )2
Where dx = desired digital value rL= received digital value kx= number of sample points An example would be if the first received point 114 had coordinates (.83, .64) and the second received point had coordinates (-.91, -.78) and the nearest desired point 106 for the first received point 114 was (.707, .707) and the nearest desired point for the second received point was (-.707, -.707), the MSE is .033. The metric that is generated by the MSE is a value representing the distance offset of the received signal from the expected signal. The greater the MSE value, the greater the error that has been detected in the received data.
FIG. 6 is a graphical depiction of an Accumulated Slicer-Error in accordance with the preferred embodiment of the invention. The Accumulated Slicer-Error is shown with a Frequency-Shift Keying (FSK) modulated signal but can be used with other single modulated signaling methods. Data sent by shifting the frequency of a carrier. The receiving device knows the expected location or quantization level of the received carrier 604 within the radio frequency spectrum 602. The actual received carrier 606 may be offset from the expected carrier 604. The Accumulated Slicer-Error value is simply the distance 608 between the expected 604 and actual received carriers 606. The distance 608 measured between the received digital value (evaluated at a specific time) to the nearest acceptable quantization level 604. The slicer quantizes a received digital value to the nearest value that should have been received assuming the channel was perfectly noiseless and distortionless. The formula for Slicer-Error is:
Slicer-Error = distance (d,r)
Where :
d = desired digital value r = received digital value
An example is if a received value was 2.8MHz and the lower quantization level is 2.0MHz 610 and the upper quantization level is 3.0MHz 604, the Slicer-Error is .2MHz (the received value would be sliced or quantized to the nearest value 3.0MHz 604).
FIG. 7 is a block diagram of a transceiver device in accordance with the preferred embodiment of the invention. The transceiver device 700 has an Antenna 702 for receiving and transmitting RF signals. The antenna 702 is connected to the transceiver 703 having a combiner/splitter 704 that combines an outgoing signal with a carrier or splits a received from a carrier signal. The combiner/splitter 704 is connected with a transmitter modulator 730, a receiver demodulator 706, and a signal analyzer 708. The receiver demodulator 706 demodulates the signal if the implementation requires it. The data from the demodulated signal is stored in a buffer 710. The Data Decoder 712 then decodes the data from the buffer 710. This is where the packetizing information and CRC information is extracted. In addition, if the receiver has a FEC decoder, such as a Viterbi encoder, the data decoder 712 contain a Viterbi decoder and generate FEC metrics. The data analyzer or data integrity monitor 714 checks the data for errors and generates ARQ metrics. Some types of error metrics that are conducted are CRC and checksums . The microprocessor or CPU 716 is a data processor that processes the received data from the data decoder 712 and takes appropriate error correction actions, such as sending a retransmission request to a transmitting device. The signal analyzer 708 is connected to the combiner/splitter 708 and CPU 716. The signal analyzer 708 is where the calculation of the Mean Square Error, Accumulated Slicer- Error, and signal-to-noise metrics are calculated and the resulting error metrics are transferred to the CPU 716. When the CPU 716 receives the error metrics from the signal analyzer 708 and Data Analyzer 714, the metric values are normalized. Normalization by the CPU 716 is accomplished by taking an average of the metric values over a fixed number of messages or fixed intervals of time. The normalized error metric values are then equalized and combined into a resultant sum by the CPU 716 and stored in a metric portion 732 of the memory 718.
The memory 718 also contains a lookup table in the table Memory 734. The table is referenced with the resultant sum and yields a forward error correction transmission parameters and automatic retry query value. The forward error correction value and automatic retry query values are sent to the data encoder 726 and the data decoder 712 and transmitted by the antenna 702 to other devices.
The data that is received by the transceiver device 700 is sent to an input/output buffer 722 that is connected to an input/output port 724. The transceiver device 700 can also transmit data by inputting the data to the input/output port 724 and having the input/output buffer 722 for holding the data for processing by the CPU 716.
The CPU 716 then transfers the data to the data encoder 726 that contains a FEC encoder, such as a Viterbi encoder. The CPU 716 can also configure the data encoder 726 with the amount of FEC required. The data from the data encoder 726 is buffered in a transmit buffer 728. The transmit data in the transmit Buffer 728 is then modulated into a RF signal by the transmitter modulator 730. The RF data signal is then combined by the combiner/splitter 704 with a carrier from the carrier generator 736 and transmitted by the antenna 702.
A clock 720 is used for timing by the transceiver device 700. The clock 720 can control the timing for the input/output port 724, CPU 716, and the carrier 736 if needed. The clock signal is not limited only to the elements shown. If other devices require a clock signal, such as a CRC checker, the clock 720 can also supply a clock signal to these other devices. FIG. 8 is a flow chart of a method for dynamically changing the forward error correction (FEC) and automatic retry query (ARQ) in accordance with the preferred embodiment of the invention.
The first step 802 is to receive a RF signal containing data. The quality of the signal is then analyzed to determine real time signal metrics for FEC and ARQ. Some methods for determining these types of errors are commonly called Accumulated Slicer-Errors or Mean Square Error and will result in a numerical representation of signal errors. Other methods of error detection involve Viterbi Path Metrics, CRC counts, and checksum counts. The metrics are normalized over a fixed interval 806. This I, preferably implemented as simply taking an average for each metric over a fixed interval of time or for a fixed number of messages, blocks or frames. Another method of normalizing would be to apply each metric to a unitary mapping function creating a normalized output.
The next step is to equalize the metric values 808 to a common range and combine the metric values into a resultant sum 810. The individual equalized metric values are summed and an average is taken yielding a resultant sum.
The resultant sum is used to reference a lookup table of ARQ and FEC transmission parameter 812. The ARQ value directs the transceiver as to the size of packet or data that is automatically retransmitted when queried.
The FEC transmission parameter minimally sets the constellation density and the coding rate. The invention is not limited to only one possibility for FEC transmission parameter and ARQ value derived from one resultant sum.
The final step is to configure the transceiver device with the ARQ and FEC transmission parameter 814.
The changing of the ARQ and FEC transmission parameter is communicated to the FEC encoder/decoder and the data encoder/decoder so received and transmitted data will be decodable by both the transmitting and receiving device. By implementing the invention described above a more efficient use of bandwidth results. In previous systems where fixed ARQ and FEC transmission parameter are implemented bandwidth is either wasted because the signal is net degraded by interference or so much interference is present that error correction and retransmission is inefficient. The dynamic reconfiguration of the transceiver device allows a more efficient use of the bandwidth.
A preferred embodiment has only been described in the above description by way of example with reference to the diagrams .
We Claim:

Claims

Claims
1. A method of dynamic forward error correction and automatic retry query comprising; receiving a RF signal at a transceiver; determining from the RF signal a set of real time signal measurements comprising at least one forward error correction metric and at least one automatic retry query metric; normalizing and combining the set of real time signal measurements resulting in a resultant sum; referencing a lookup table with an index value derived from the resultant sum in order to determine a forward error correction transmission parameter and an automatic retry query value; and configuring the transceiver with the forward error correction transmission parameter and automatic retry query value .
2. A method according to claim 1, wherein at least one of the forward error correction metrics is a number of forward error corrections counter, a Viterbi -path metric, or a forward error correction erasures counter.
3. A method according to claim 2, wherein at least one of the automatic retry query metrics is a checksum result, a cyclic redundancy check result, a signal-to- noise metric, a mean square error of symbol position metric, or an accumulated slice-error metric.
4. A method according to claim 1, wherein the resultant sum is an average over a fixed interval.
5. A method according to claim 4, further comprising deriving a reference number from entering the average over a fix interval into a unitary mapping function.
6. An apparatus having a transceiver comprising; a forward error correction decoder having an output providing at least one forward error correction metric; a data integrity monitor having an output providing at least one automatic retry query metric; a data processor responsive to the forward error correction metric and the automatic retry query metric and having an output providing a forward error correction transmission parameter and an automatic retry query value; and the transceiver being responsive to the forward error correction transmission parameter and the automatic retry query value .
7. An apparatus according to claim 6, wherein the output of the forward error correction decoder is a forward error correction metric comprising at least one of the following; a forward error corrections counter, a Viterbi path metric, and a forward error correction erasures counter.
8. An apparatus according to claim 7, wherein the output of the data integrity monitor is a automatic retry query metric comprising at least one of the following; a checksum result, a cyclic redundancy check result, a signal-to-noise metric, a mean square error of symbol position metric, and an accumulated slice-error metric.
9. An apparatus according to claim 6, wherein the data processor contains a lookup table which correlates the forward error correction metric and the automatic retry query metric with the output of the corresponding forward error correction value and the automatic retry query value .
PCT/US1999/017952 1998-09-01 1999-08-06 Dynamically changing forward error correction and automatic request for repetition WO2000013321A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP99940960A EP1110327A4 (en) 1998-09-01 1999-08-06 Dynamically changing forward error correction and automatic request for repetition

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/145,091 US6128763A (en) 1998-09-01 1998-09-01 Dynamically changing forward error correction and automatic request for repetition
US09/145,091 1998-09-01

Publications (1)

Publication Number Publication Date
WO2000013321A1 true WO2000013321A1 (en) 2000-03-09

Family

ID=22511570

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1999/017952 WO2000013321A1 (en) 1998-09-01 1999-08-06 Dynamically changing forward error correction and automatic request for repetition

Country Status (3)

Country Link
US (1) US6128763A (en)
EP (1) EP1110327A4 (en)
WO (1) WO2000013321A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1638234A1 (en) * 2003-05-21 2006-03-22 Sharp Kabushiki Kaisha Radio communication device, radio communication system, wireless av system, radio transmission method, operation control program, and recording medium containing the program
WO2008039962A2 (en) * 2006-09-28 2008-04-03 Qualcomm Incorporated Methods and apparatus for determining communication link quality
US7613978B2 (en) 2000-04-14 2009-11-03 Qualcomm Incorporated Method and an apparatus for a quick retransmission of signals in a communication system
US8553526B2 (en) 2006-09-28 2013-10-08 Qualcomm Incorporated Methods and apparatus for determining quality of service in a communication system

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6505034B1 (en) * 1999-12-20 2003-01-07 Nokia Ip Inc. Adaptive ARQ feedback bandwidth allocation
JP3507809B2 (en) * 2000-04-10 2004-03-15 ヒュンダイ エレクトロニクス インダストリーズ カムパニー リミテッド Data transmission method for hybrid automatic retransmission request 2/3 scheme in uplink of broadband wireless communication system
JP3469560B2 (en) * 2000-04-10 2003-11-25 ヒュンダイ エレクトロニクス インダストリーズ カムパニー リミテッド Data transmission method for hybrid automatic retransmission request 2/3 scheme in downlink of broadband wireless communication system
US20020015416A1 (en) * 2000-04-10 2002-02-07 Yu-Ro Lee Data transmission method for hybrid ARQ type II/III wide-band radio communication system
US6961879B1 (en) * 2000-05-23 2005-11-01 Zoran Corporation Apparatus and method for counting error rates in an optical compact disc storage system
KR100695830B1 (en) * 2000-09-05 2007-03-19 유티스타콤코리아 유한회사 Method for repeatting data in wireless telecommunication system
US7110467B2 (en) * 2000-10-12 2006-09-19 3Com Corporation Performance evaluation of a G.dmt-compliant digital subscriber line system
US7103096B2 (en) * 2000-10-12 2006-09-05 3Com Corporation Performance evaluation of multicarrier channels with forward error correction and automatic retransmission request
US6718493B1 (en) 2001-05-17 2004-04-06 3Com Corporation Method and apparatus for selection of ARQ parameters and estimation of improved communications
US6883130B2 (en) * 2001-05-24 2005-04-19 Telefonaktiebolaget Lm Ericsson (Publ) Enhanced and adaptive error detection in digital communications
US20030005385A1 (en) * 2001-06-27 2003-01-02 Stieger Ronald D. Optical communication system with variable error correction coding
AUPR679201A0 (en) * 2001-08-03 2001-08-30 Lucent Technologies Inc. Path metric normalization of add-compare-select processing
EP1322058B1 (en) * 2001-12-18 2014-05-14 Alcatel Lucent Automatic repeat request with adaptive latency
US7296057B2 (en) * 2002-01-08 2007-11-13 International Business Machines Corporation Method for user-specified error correction in an instant messaging system
US7036065B2 (en) 2002-03-18 2006-04-25 Harris Corporation ARQ combining holdoff system and method
JP4454320B2 (en) * 2004-01-09 2010-04-21 富士通株式会社 Transmission apparatus, transmission control program, and transmission method
TWI310638B (en) * 2004-04-09 2009-06-01 Hon Hai Prec Ind Co Ltd System and method for checking validity of data transmission
CA2550263C (en) * 2004-09-25 2010-11-02 Aware, Inc. Crc counter normalization
WO2006070665A1 (en) * 2004-12-27 2006-07-06 Matsushita Electric Industrial Co., Ltd. Wireless communication apparatus, wireless communication method and wireless communication system
WO2006103724A1 (en) * 2005-03-25 2006-10-05 Fujitsu Limited Packet distribution band control method, distribution device, and video distribution system
US20070220403A1 (en) * 2006-02-27 2007-09-20 Honeywell International Inc. System and method for dynamic allocation of forward error encoding
US8671331B2 (en) * 2006-08-25 2014-03-11 Tellabs Operations, Inc. Apparatus and method for communicating FEC mode and alarming mismatch
US10225045B2 (en) 2017-02-08 2019-03-05 Hewlett Packard Enterprise Development Lp Packet-based adaptive forward error correction
US10841621B2 (en) * 2017-03-01 2020-11-17 Wyse Technology L.L.C. Fault recovery of video bitstream in remote sessions
CN112925779A (en) * 2021-03-02 2021-06-08 重庆度小满优扬科技有限公司 Message receipt modification method and device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5444719A (en) * 1993-01-26 1995-08-22 International Business Machines Corporation Adjustable error-correction composite Reed-Solomon encoder/syndrome generator
US5526399A (en) * 1993-06-30 1996-06-11 Nec Corporation Data transmission method and apparatus of mobile radiocommunication system
US5600663A (en) * 1994-11-16 1997-02-04 Lucent Technologies Inc. Adaptive forward error correction system
US5719883A (en) * 1994-09-21 1998-02-17 Lucent Technologies Inc. Adaptive ARQ/FEC technique for multitone transmission

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5444719A (en) * 1993-01-26 1995-08-22 International Business Machines Corporation Adjustable error-correction composite Reed-Solomon encoder/syndrome generator
US5526399A (en) * 1993-06-30 1996-06-11 Nec Corporation Data transmission method and apparatus of mobile radiocommunication system
US5719883A (en) * 1994-09-21 1998-02-17 Lucent Technologies Inc. Adaptive ARQ/FEC technique for multitone transmission
US5600663A (en) * 1994-11-16 1997-02-04 Lucent Technologies Inc. Adaptive forward error correction system

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7613978B2 (en) 2000-04-14 2009-11-03 Qualcomm Incorporated Method and an apparatus for a quick retransmission of signals in a communication system
RU2462824C2 (en) * 2000-04-14 2012-09-27 Квэлкомм Инкорпорейтед Method and device for fast repeat transfer of signals in communication system
EP1638234A1 (en) * 2003-05-21 2006-03-22 Sharp Kabushiki Kaisha Radio communication device, radio communication system, wireless av system, radio transmission method, operation control program, and recording medium containing the program
EP1638234A4 (en) * 2003-05-21 2011-04-27 Sharp Kk Radio communication device, radio communication system, wireless av system, radio transmission method, operation control program, and recording medium containing the program
WO2008039962A2 (en) * 2006-09-28 2008-04-03 Qualcomm Incorporated Methods and apparatus for determining communication link quality
WO2008039962A3 (en) * 2006-09-28 2008-10-30 Qualcomm Inc Methods and apparatus for determining communication link quality
US8553526B2 (en) 2006-09-28 2013-10-08 Qualcomm Incorporated Methods and apparatus for determining quality of service in a communication system
US9191226B2 (en) 2006-09-28 2015-11-17 Qualcomm Incorporated Methods and apparatus for determining communication link quality

Also Published As

Publication number Publication date
EP1110327A1 (en) 2001-06-27
US6128763A (en) 2000-10-03
EP1110327A4 (en) 2002-04-03

Similar Documents

Publication Publication Date Title
US6128763A (en) Dynamically changing forward error correction and automatic request for repetition
US7817753B2 (en) Reception quality estimating apparatus, wireless communication system, and reception quality estimating method
US7636400B2 (en) Decoding system and method for digital communications
JP4065025B2 (en) Cellular communication system using multiple code rates
EP1190520B1 (en) System and method for implementing hybrid automatic repeat request using parity check combining
US20060083324A1 (en) Method and apparatus for detecting transmission errors for digital subscriber lines
KR19990082874A (en) Iterative demapping
CN101176288A (en) Communication apparatus, reception method in said apparatus, codec, decoder, communication module, communication unit and decoding method
JP2003264535A (en) Hybrid arq retransmission method and receiver therefor
JP3712184B2 (en) Method and apparatus for receiving and decoding modulated signal by different modulation schemes
US20060083323A1 (en) Method and apparatus for detecting transmission errors for digital subscriber lines
US7046975B2 (en) Method and system for blind detection of modulation type
US5809043A (en) Method and apparatus for decoding block codes
US7773711B2 (en) Method and system for detecting transmitted data signal quality and integrity
US20060083322A1 (en) Method and apparatus for detecting transmission errors for digital subscriber lines
US20110216857A1 (en) Receiver for a wireless telecommunication system with a channel deinterleaver
US5687188A (en) Method of producing an adjusted metric
US8286051B2 (en) Method and apparatus for burst error detection and digital communication device
JP2000315957A (en) Decoder
JP2006511993A (en) Data retransmission method using symbol rearrangement on Galois field
EP1248396A1 (en) Method and receiver for evaluating a radio link quality in a wireless communication network
US6426981B1 (en) Process and device for decoding a radio frequency transmission channel, especially for a terrestrial digital broadcast using OFDM modulation
EP1313253A1 (en) Method for detecting errors in a real-time data entity comprising at least two bit portions having different relevance and corresponding receiver
US11483076B2 (en) Quadrature amplitude modulation with constellation shaping
WO2002098090A1 (en) Method and apparatus for soft information generation

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP KR

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 1999940960

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1999940960

Country of ref document: EP

WWR Wipo information: refused in national office

Ref document number: 1999940960

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1999940960

Country of ref document: EP