Multidimensional turbo product code decoding of encoded data transmitted over diversity channel
A system and method to transmit and receive forward error corrected data in a diversity communications system is provided. Using diversity techniques, multiple copies of the transmitted data are received with varying degrees of corruption due to channel impairments. In addition to the multiple copies of forward error corrected data, an additional data set of implicit parity bits is used in the data decoding process, wherein the reliability of these parity bits is assumed to be very high. The implicit parity bits are not transmitted or received by the system, but are introduced in the receivers' decoding process. These implicit parity bits add an extra highly reliable dimension of forward error correction codes. Therefore the present system and methods provide an improved data decoding process with high coding gain and channel efficiency, while minimizing system resources.
Latest The Insitu Group, Inc. Patents:
- SYSTEMS AND METHODS FOR CAPTURING AND CONTROLLING POST-RECOVERY MOTION OF UNMANNED AIRCRAFT
- ACTUATOR SYSTEMS AND ASSOCIATED METHODS FOR UNMANNED AIR VEHICLES AND OTHER APPLICATIONS
- Methods and apparatuses for indicating and/or adjusting tension in pliant tension members, including aircraft recovery lines
- Fluid sensing system and methods, including vehicle fuel sensors
- Wirelessly controlling unmanned aircraft and accessing associated surveillance data
The present application claims the benefit of U.S. Provisional Application No. 60/466,293, filed Apr. 28, 2003, now abandoned, which is incorporated herein in its entirety by reference.
TECHNICAL FIELDThe present invention is directed to the enhancement of data communications using forward error correction techniques in a diversity transmission system.
BACKGROUNDError detection and error correction are commonly used to provide reliable data communications. A technique called forward error correction (FEC) features the addition to the data stream of information that is decoded upon reception. Numerous FEC coding techniques exist and are in wide use today. Some methods include block or algebraic codes and convolutional codes. Gallager introduced a class of codes known as Low Density Parity Check (LDPC) codes, which can be applied to bits or sets of bits (packets), and Elias introduced product codes in 1954. Tanner in 1981 and Lin and Costello in 1983 described the concept of a “turbo product code” (TPC), the iterative decoding of product codes. In turbo product decoding, the reliability information and the tentative bit decisions are updated in an iterative fashion ultimately leading to an improved decoding capability.
FEC techniques may be differentiated in terms of their “power” (ability to correct errors) and their “rate” (defined as the number of information bits encoded divided by the total number of bits transmitted). A high rate, close to one, implies very little supplementary information or “overhead.” Conversely, a low rate implies that the FEC code introduces many bits of supplementary information for every bit of user information. A high-rate code with high power is desirable, since such a code can correct many errors while consuming a relatively small fraction of the communications resource.
A communications channel may comprise either a single path between a transmitter and receiver or multiple paths (a diversity system). The multiple paths can be created by a single transmitter sending data to multiple receiving antennas and receivers, or by a single transmitter sending the same data multiple times. Other diversity techniques exist (e.g., frequency, code, angle, polarization). Each diversity path is subject to noise and other forms of degradation, so all copies of a message received by a receiving system may be corrupted in some way. However, typically the noise statistics and other forms of signal degradation are un-correlated to a certain degree across the various diversity paths, so that a single bit or message may be corrupted on one path, but uncorrupted (or relatively uncorrupted) on another path.
The receiving equipment typically selects one of the outputs of the diversity communications channel, or combines the multiple copies in some fashion, as a prelude to further processing and decoding. A significant body of work exists with regard to optimum diversity combining techniques. Some of the complexities of the decoding process are due to the fact that none of the received data can be assumed to be 100% correct. This process of combining and correcting multiple copies of received data in an iterative manner is also resource intensive and time consuming. Therefore, although diversity transmission and reception using FEC coding is somewhat successful, a simple, reliable and more efficient method of decoding is still sought.
A system and method to transmit and receive forward error corrected data in a diversity communications system is provided. The transmitted data contains user information and redundant information (parity bits) comprising a forward error correction code such as a turbo product code. Using diversity techniques, multiple copies of the transmitted data are received with varying degrees of corruption to the data. In addition to the received data, an additional data set of implicit parity bits is used in the data decoding process, wherein the reliability of these parity bits is assumed to be very high. The implicit parity bits are not transmitted or received by the system, but are introduced in the receivers' decoding process. These implicit parity bits add an extra highly reliable dimension of forward error correction codes. Therefore, the present system and methods provide an improved data decoding process with high coding gain and channel efficiency.
Salient features of the communications channel 16 can include the type of noise introduced by the environment, the impact of the communications channel on the signals transmitted between DCE's 12 and 14, and the statistics of the errors introduced. Typically the transmitted signals of a radio channel are attenuated in strength as a function of distance. The attenuation may be a simple function of range, perhaps with small random variations on the order of a few dB due to antenna pattern fluctuations or other factors. Alternatively, the variations may be large and rapid, as in a fading channel. Noise is typically additive, although other types of noise processes are known.
A common mathematical model for a channel is the so-called additive white Gaussian noise (AWGN) model. This model comprises additive noise with a flat frequency spectrum (hence it is “white”) and a Gaussian amplitude distribution. If the information signal received by the DCE 14 is constant in amplitude, AWGN will tend to introduce errors that are uniformly scattered in time. If the information signal received by the DCE 14 varies in amplitude, AWGN will tend to introduce many errors when the signal is at low strength and fewer errors when the signal strength is high. The signal received on the ith receiving antenna 17 may be expressed as
yi(t)=ai(t)·x(t)+ni(t) (1)
where yi(t) is the received signal of the ith antenna, x(t) is the transmitted signal as a function of time, ai(t) is the amplitude of the signal received with the ith receiving antenna (which may vary with time), and ni(t) is the noise received on the ith antenna (also varying with time). Note that x(t) is the same for all received signals, but the amplitude and noise may vary.
For data reception, the stages of
In the case of a diversity channel as illustrated, either 24 or 23 (or both) could process the information associated with the N received signals yi(t) in order to generate a single best estimate {circumflex over (x)}(t) of the transmitted information x(t). For example, 24 could select one of the N received signals for delivery to 23, or it could form an optimum combination of the N inputs and deliver the combination to 23. Alternatively, 24 could deliver all N received signals to 23 for processing.
Data set 43 represents the implicit parity check data that is not transmitted over the communications channel as it is known a priori that the two data sets 41 and 42 represent the same underlying transmitted data. In this illustrative example, the data set 43 is all zeros (0). All rows and columns of data set 43 are codewords of the (8,4) underlying code. Data set 43, received implicitly, has extremely high reliability since it is known a priori that the two data sets 41 and 42 represent the same underlying data, even if the received signals 41 and 42 indicate otherwise. The three-dimensional data set 40 represents a code block that can be decoded using a 3D TPC decoder.
The present system may also be applied to communications systems where the number of diversity channels is larger than 2. In this case, the form of the implicit code spanning the diversity channels (the “z” direction in
In addition to using the implicitly correct data set 43 in the decoding process, one benefit of the present invention is that the diversity processing is fully integrated with the SISO decoding in the DCE 54, thereby leading to improved overall performance. Another benefit is that the diversity combining is performed in the same device (and same software and firmware) as the TPC decoding, hence eliminating the cost and complexity of a separate diversity combining circuit and easing overall implementation. Still another benefit is that the characteristics of the separate diversity channels do not need to be explicitly estimated.
With sufficiently fast processors and suitable memory means, all functions performed by elements 56, 57 and 58 could be accommodated in a single general-purpose processor with associated memory and support circuits. In the event that a proper subset of the receivers/demodulators 55 are lost, or synchronization is not achieved leading to less than N sets of data available to the SISO preprocessor 56, the lost data sets can be treated as erasures and the SISO decoder 57 can still perform its function.
Another embodiment is a diversity communications system where the transmitter sends N copies of a code block (e.g., repetitions in time, frequency, or code) and the receiver receives N copies (for example, via a single antenna). Another embodiment is a diversity communications system where the transmitter sends N copies of a code block and the receiver receives >N copies (for example, due to receiver antenna diversity).
The present system can also be generalized to include higher numbers of dimensions. For example, if the transmitter forms a 3D product code (such that the encoded dimensionality, K, of the forward error correction code is K=3) that is received with multiple diversity copies, the SISO preprocessor 56 can form a 4D code block with associated reliability information for input to a suitable SISO decoder. The present system can also be particularized to transmit a code with a single dimension such as a simple Hamming code. In this case, the SISO preprocessor 56 forms a 2D code block equivalent to a 2D product code wherein one dimension is the underlying code (a Hamming code in this example) and the other dimension is a repetition code with appended parity check bits. In general, the transmitter 52 can form a product code of dimension (N), which when received with multiple diversity can be processed by the SISO preprocessor 56 to form a code block of dimension (N+1).
One skilled in the art will appreciate that although specific embodiments of the communications system have been described for purposes of illustration, various modifications can be made without deviating from the spirit and scope of the present invention. For example, the present invention may be applied to many different types of communications systems that employ different types of forward error correcting techniques. Accordingly, the invention is described by the appended claims.
Claims
1. A system for receiving and decoding electronically transmitted data comprising:
- a plurality of receiving data demodulators for receiving (N) copies of transmitted data;
- a soft-in-soft-out (SISO) preprocessor that preprocess each of the (N) copies of the received data; and
- a soft-in-soft-out (SISO) decoder that processes (N+1) data sets; wherein the (N+1) data sets include the (N) copies of preprocessed data and one set of implicit data.
2. The system for receiving and decoding data as in claim 1 wherein the implicit data is not transmitted or received.
3. The system for receiving and decoding data as in claim 1 wherein each of the (N) copies of the received data has been turbo product encoded.
4. The system for receiving and decoding data as in claim 3 wherein the one set of implicit data contains parity bits.
5. The system for receiving and decoding data as in claim 4 wherein the one set of implicit data is given a high reliability rating in a turbo product decoding process.
6. A method for decoding information comprising the steps of:
- providing (N) copies of data; and
- applying turbo product decoding to (N+1) data sets, wherein the (N+1) data sets include the (N) copies of provided data and a set of implicit data.
7. The method for receiving and decoding transmitted information as in claim 6 wherein the set of implicit data is not transmitted or received.
8. The method for receiving and decoding transmitted information as in claim 7 wherein the one set of implicit data is parity data.
9. The method for receiving and decoding transmitted information as in claim 8 wherein each of the (N) copies of received data is turbo product encoded.
10. The method for receiving and decoding transmitted information as in claim 9 wherein the one set of implicit data is all zeros.
11. A system for transmitting and receiving data comprising:
- a transmitting data communications equipment including a forward error correction encoder, wherein the transmitting data communications equipment transmits data that contains an (K) dimensionally encoded forward error correction codes; and
- a receiving data communications equipment including a data demodulator, and a forward error correction decoder, wherein the receiving data communications equipment receives (N) copies of the (K) dimensionally encoded transmitted data and wherein the forward error correction decoder applies a (K+1) dimensional decoding process to the (N) copies of the (K) dimensionally encoded received data and a set of implicit data.
12. The system for transmitting and receiving data as in claim 11 wherein the set of implicit data is not transmitted or received.
13. The system for transmitting and receiving data as in claim 12 wherein the set of implicit data contains parity bits.
14. The system for transmitting and receiving data as in claim 11 wherein the forward error correction coder and forward error correction decoder apply turbo product codes.
15. The system for transmitting and receiving data as in claim 14 wherein the forward error correction decoder is a soft-in-soft-out (SISO) processor.
16. The system for transmitting and receiving data as in claim 15 wherein the SISO processor iteratively decodes the (N) copies of the (K) dimensionally encoded received data and one set of implicit data.
17. The system for transmitting and receiving data as in claim 16 wherein the set of implicit data is given a high reliability rating in the iterative decoding process.
18. The system for transmitting and receiving data as in claim 17 wherein the set of implicit data is all zeros (0).
19. The system for transmitting and receiving data as in claim 18 wherein the SISO processor iteratively decodes the (N) copies of the (K) dimensionally encoded received data and one set of implicit data until a rule is satisfied.
20. The system for transmitting and receiving data as in claim 19 wherein the rule is a predetermined number of iterations.
20020083391 | June 27, 2002 | Huggett et al. |
20030058890 | March 27, 2003 | Ritchie et al. |
20040190636 | September 30, 2004 | Oprea |
61270935 | December 1986 | JP |
62146033 | June 1987 | JP |
- Elias, P.; Error-free Coding; Information Theory, IEEE Transactions on; vol. 4, Issue 4, Sep. 1954; pp. 29-37.
- Shi et al.; Turbo product codes on frequency selective fading channel: Vehicular Technology Conference, 2002. VTC Spring 2002. IEEE 55th; Publication Date: May 6-9, 2002; vol. 3; On pp. 1233-1236.
- Cavalec-Amis et al.; Block turbo codes for space-time systems; Global Telecommunications Conference, 2000. GLOBECOM '00. IEEE; Publication Date: Nov. 27-Dec. 1, 2000; vol. 2; On pp. 1021-1025.
- Gallagher, Robert G., “Low-Density Parity-Check Codes,” published 1963 by the M.I.T. Press, Cambridge, Massachusetts. Book consists of 102 pages.
- Lin, Shu and Costello, Daniel J. (Jr.), “Error Control Coding Fundamentals and Applications,” Prentice-Hall, Inc., Englewood Cliffs, NJ, 1983, ISBN 0-13-283796-X, pp. 274-277.
- Williams, David, “Turbo Product Code Tutorial,” May 1, 2000, Advanced Hardware Architectures, Inc., Pullman, WA. IEEE 802.16 Presentation Submission Template (Rev. 8), Document No. IEEE 802.16t-00/01, 64 pages.
Type: Grant
Filed: Apr 28, 2004
Date of Patent: Feb 27, 2007
Patent Publication Number: 20040261007
Assignee: The Insitu Group, Inc. (Bingen, WA)
Inventor: Stephen Heppe (Hood River, OR)
Primary Examiner: R. Stephen Dildine
Attorney: Perkins Coie LLP
Application Number: 10/833,888
International Classification: H04L 1/02 (20060101); H03M 13/45 (20060101); H03M 13/29 (20060101);