Patent Publication Number: US-6658620-B1

Title: Burst and packet wireless transmission using product codes with iterative decoding

Description:
BACKGROUND OF THE INVENTION 
     The present invention relates to error detection and correction coding for communication systems. In particular, the present invention relates to packet and burst data transmission using product codes and iterative decoding. 
     There is a continuing need for more efficient use of wireless digital transmission channels. With increased efficiency come many benefits, including increased overall data throughput, greater flexibility in service level options, and increased revenues. Within the constraints of available bandwidth and transmit power, the goal is generally to maximize the amount of data transported at a specified quality of service. The quality of service maybe expressed, for example, as a desired bit error rate (BER) or cell loss rate (in an Asynchronous Transfer Mode (ATM) system). 
     While continual improvement in quality of service is the topic of much research in the field, Shannon&#39;s channel capacity theorem imposes a theoretical limit on the BER performance of any code. The use of modern error detection and correction coding techniques has already dramatically increased digital transmission efficiency, however, established techniques do not yet approach the theoretical limits. Furthermore, the signal structure of modern communications systems complicates the search for the “most efficient” coding technique. 
     In part, complications arise due to the burst or packet nature of modern communication systems. As an example, in Time Division Multiplexed (TDM) and Time Division Multiple Access (TDMA) communications systems, each terminal transmits signals in the same frequency spectrum but in different time slots or frames so that the transmissions arrive in a preselected order at a receiver with no overlap. Each terminal, of course, generates data independently and at different times than the other terminals. Each frame gives rise to a potential discontinuity in the data stream decoded at the receiver. 
     The most powerful conventional coding technique, concatenating coding, suffers from a reduction in efficiency in the form of overhead needed to accommodate packet oriented transmissions. Efficiency loss occurs in part because the current forms of concatenated codes were intended for continuous transmission. In particular, a concatenated code typically uses a convolutional code as the inner code of the concatenated code. The discontinuous nature of the data stream at the decoder causes premature termination of the decoding process. The convolutional decoder at the receiver, for proper operation, therefore requires the transmitted frames to contain overhead (i.e., non information, non parity) “flush bits” that reset the decoder at the end of the frame in preparation for decoding data in the next periodic frame. 
     TDM systems will remain extremely popular for the foreseeable future. As it stands, many cellular telephone systems operate in a TDM/TDMA fashion. In addition, most satellite communications systems incorporate a TDMA/Frequency Division Multiplexed (FDM) uplink, and a TDM downlink. With the well entrenched nature of TDM communications comes the need for error detection and correction coding that increases efficiency beyond that obtained with established concatenated coding schemes. 
     A need has long existed in the industry for an improved error detection and correction coding structure for packet and burst transmission systems. 
     BRIEF SUMMARY OF THE INVENTION 
     One aspect of the present invention is a communication system that uses a product coded data packet in the data section of a discrete communication channel frame. 
     Another aspect of the invention is a communication system particularly adapted to efficient transmission of product coded Asynchronous Transfer Modem (ATM) cells. 
     A further characteristic of the present invention is an efficient transmission technique for packetized data using a product code adapted to a data section or data unit length. 
     A preferred embodiment of the present invention provides a communication subsystem for transmitting error correction coded data in packets. The communication subsystem comprises an input buffer storing unencoded data, a product coder coupled to the input buffer that accepts unencoded data from the input buffer and outputs product coded data packets having a packet size, and a time division transmitter transmitting the product coded data packets in a data section of a frame. The data section has a length substantially equal to an integer multiple of the packet size. 
     In one embodiment, the communication subsystem uses a (60, 53)×(63, 56) product coder and the integer multiple is 4. More generally, a (s, t)×(n, m) product code may be used with the product of t and m adapted to a data unit size. The parameter s is greater than t, and n is greater than m. 
     A preferred embodiment of the present invention is also found in a method for communicating error correction coded data in packets. The method includes storing unencoded data in an input buffer, product coding the unencoded data in the input buffer, and outputting product coded data packets having a packet size. The method also includes time division transmitting the coded data packets in a data section of a frame in which the data section length is substantially equal to an integer multiple of the packet size. As noted above, the integer multiple may be 4, as an example, and the data to be encoded may comprise ATM cells. 
     A novel time division multiplexed frame format for communicating error correction coded data is also disclosed. The frame format comprises a header section and a data section. The data section carries product coded data packets having a packet size and has a length substantially equal to an integer multiple of the packet size. As one example, the data section length may be 7560 QPSK symbols (15120 bits), and the data section may carry four (60, 53)×(63, 56) product coded data packets. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 illustrates a time division multiplexed frame structure. 
     FIG. 2 shows a two dimensional product code adapted to code ATM cells. 
     FIG. 3 shows a communication subsystem for transmitting error correction coded data in packets. 
     FIG. 4 depicts a method for efficiently communicating product coded data packets in frames. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     Turning now to FIG. 1, that figure shows a time division multiplexed communications structure  100 . The communications structure  100  is formed generally as a repeating series of frames (three of which are indicated as the frames  102 ,  104 , and  106 ). FIG. 1 shows the structure of the frames, and the frame  104  specifically. The frame  104  includes a header section  108  and a data section  109 . The header section  108  includes the frame marker  110  and frame count/type  112 . The data section includes a series of product coded ATM cell data packets  114 - 120 . 
     As an example, each frame may be 7800 symbols in length, divided into a header section  106  of  240  symbols and a data section of 7560 symbols. In the preferred embodiment, the symbols are Quadrature Phase Shift Keying (QPSK) symbols that provide two bits of data per symbol. Other modulation techniques, including various forms of PSK and GMSK, are also suitable, however. 
     The header section  108  generally includes such information as a frame marker sequence for delineation of frames, a non-repeating frame number, and a robust indicator of the coding type and structure used to product encode ATM cells. To this end, the header section  108  may use 88 symbols for the frame marker  110  and 152 symbols for the frame count and frame type  112 . As noted above, the data section  109  includes 7560 symbols to carry data. 
     In the preferred embodiment, the data section carries an integer multiple number of product coded data packets. Thus, in FIG. 1, for example, the data packet size is 1890 symbols (3780 bits), and four data packets fit exactly into the data section  108 . Because of the powerful error correcting and detecting nature of the product code, product coded data packets may be used instead of a conventional concatenated code. In other words, while a (236, 212). Reed Solomon outer code, rate−¾ convolutional inner code (i.e., a concatenated code) may also provide suitable error correction and detection, a concatenated code is less efficient and requires flush bits for the decoder. The flush bits are neither data nor parity bits, but are pure overhead and convey no useful information. 
     Using a product code to generate the data packets achieves excellent error correction capabilities without flush bits. In some systems, flush bits may occupy 8 or more symbols of the data section. The product coded packets thereby immediately increase throughput, and may also result in a reduction in transmitter power required to transmit the data section at a given BER. 
     An example of the increase in throughput may be understood using the specific example of 53 byte (424 bit) ATM cells (though any structured or unstructured data may be product coded). Using a (60, 53)×(63, 56) product code, each product coded data packet carries 53×56=2968 information bits (exactly seven ATM cells) and 812 parity bits (a total of 3780 bits or 1890 symbols). The 7560 symbol (15,120 bit) data section  108  thereby carries exactly four product coded data packets, or 28 ATM cells. 
     On the other hand, the concatenated coding scheme noted above only allows 24 ATM cells in the data section  109 . This follows from the fact that the concatenated coding scheme uses 15104 bits to transmit 10,176 information bits (24 ATM cells), and further requires 8 symbols (16 bits) dedicated to flush bits in the data section. Product coded data packet transmission, tailored to the data section size, results in a 16% increase in throughput. 
     Turning next to FIG. 2, that figure shows one embodiment of a two dimension product code  200  particularly adapted to transmitting ATM cells. The product code  200  includes a data bits section  202 , a horizontal parity section  204 , a vertical parity section  206 , and a parity of parity section  208 . The product code  200  is characterized as an (s, t)×(n, m) product code, where s&gt;t and n&gt;m. 
     Preferably, the product code is a (60, 53)×(63, 56) product code. The data bits section  202  then comprises 2968 bits, the horizontal parity section  204  comprises 392 bits, the vertical parity section  206  comprises 371 bits, and the parity of parity section  208  comprises 49 bits. As noted above, data bits section  202  may be used to carry exactly 7 ATM cells. 
     Iterative decoding may be used at the receiver to decode the product code  200 . In other words, each row in the product code  200  may be decoded first, using the horizontal parity section  204 . Each vertical column may then be decoded using the vertical parity section  206 . The decoder may then repeat row and column decoding passing reliability information until a preselected number of iterations have been completed (e.g., 4, 16, or 32). 
     Turning next to FIG. 3, that figure shows a preferred embodiment of a communication subsystem  300  for transmitting error correction coded data in packets. The communication subsystem  300  includes an input buffer  302 , a product coder  304 , and a time division transmitter  306 . 
     The input buffer  302  stores unencoded data (i.e., data that has not yet been coded by the product coder  304 ). As examples, the input buffer  302  may store ATM cells, unformatted data, or MPEG2 coded video. The unencoded data may arrive from virtually any source including terrestrial wireless and hardwired networks and satellite downlinks. 
     The product coder is coupled to the input buffer  302  and accepts unencoded data from which it produces product coded data packets. In a preferred embodiment, the product coder  304  operates on data units (i.e., a groups of related bits comprising, for example, TCP/IP packets, datagrams, or ATM cells) having a data unit size, and produces product coded data packets that carry an integer multiple of the data unit size. As an example, the product coder  304  may operate on ATM cell data units having a size of 53 bytes using a (60, 53)×(63, 56) product code to store seven ATM cells in a single product coded data packet. In general, the number of rows and columns in the product code may be varied to provide a data bit section  202  tailored substantially to the data unit size. Product coded data packets move to the time division transmitter  306  for transmitting. 
     The time division transmitter  306  accepts product coded data packets from the product coder  304 . The time division transmitter prepares and transmits frames of information that include the product coded data packets. To this end, the time division transmitter may, for example, transmit a header section  108  followed by a data section  109  in an appropriate frame slot in a TDM or TDMA system. As shown in FIG.  1  and noted above, the data section preferably comprises an integer number of product coded data packets. Additional circuitry (not shown) such as a QPSK modulator, high power amplifier, and the like may form part of, or be coupled to the time division transmitter  306 . 
     Turning next to FIG. 4, that figure shows a flow diagram  400  for communicating error correction coded data in packets. At step  402 , the communication subsystem  300 , for example, stores unencoded data in a data buffer. Next, the product coder applies, preferably, a (60, 53)×(63, 56) product code to the unencoded data (step  404 ). The product coder subsequently outputs product coded data packets at step  406  in preparation for transmission. Transmission occurs at step  408 , in which a time division transmitter transmits, preferably, an integer multiple of product coded data packets in a data section of a frame. 
     The present invention thereby provides a communication system that transmits product coded data packets efficiently in discrete communication channel frames. The communication system may be particularly adapted to transmission of product coded ATM cells, improving efficiency by 16% or more over conventional concatenated coding techniques. The present invention further provides a technique for transmitting data units using a product code specifically adapted to the data unit size for improved throughput and efficiency. 
     While particular elements, embodiments and applications of the present invention have been shown and described, it is understood that the invention is not limited thereto since modifications may be made by those skilled in the art, particularly in light of the foregoing teaching. It is therefore contemplated by the appended claims to cover such modifications and incorporate those features which come within the spirit and scope of the invention.