Abstract:
A system for fast forward error correction coding and decoding is provided. The system includes a transmitting device having a data source and a forward error correction (FEC) encoder. The FEC is coupled to the data source and is adapted to encode packetized data from the data source. A channelizer is coupled to the at least one FEC encoder and is adapted to interleave the FEC encoded packetized data among a plurality of communication channels. The system also includes a receiving device adapted to receive the plurality of communication channels. The receiving device includes a dechannelizer, adapted to de-interleave the plurality of communication channels and a FEC decoder to reconstituted the packetized data.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The present invention relates to data coding and decoding and, more particularly, to methods and systems for fast forward error correction (FFEC) coding and decoding.  
           [0003]    2. Prior Art  
           [0004]    Forward Error Correction (FEC) is a commonly used technique for transmitting data such that transmission errors may be minimized. FEC coding redundantly codes each bit to allow a receiving decoder to detect and correct transmission errors. FEC coding has several advantages over other types of error correction such as Automatic Request to Retransmit (ARQ). For one, FEC methods do not require that the data be retransmitted, possibly several times, before the data is received without error. This can greatly improve throughput of the transmission link. Also, since the receiver does not have to request retransmission it is possible to use one way or simplex data links and receive only terminals or devices.  
           [0005]    However, in many systems or devices where the data is transmitted in a burst fashion, such as asynchronous transfer mode (ATM) packets, the data must be FEC decoded before the next packet arrives in order to timely retrieve control information. Yet most decoders, such as the commonly used Viterbi decoder, require initialization, which means that the first bits in a burst cannot be decoded unless a known preamble is used. In addition, initialization requires a finite period of time before being able to start to decode the data. Thus, decoding the data before the next transmission burst is received could severely strain the resources of the device if the time to fully decode the data is close to a burst length.  
           [0006]    Not excluding another disadvantage, the FEC decoders have a limit as to the number of errors within a transmission for which they can correct. Thus, a burst transmission traveling over a channel may experience degradation across a substantial portion of the burst length, degradation for which a FEC decoder may not be able to correct for.  
           [0007]    Therefore, it is desirable to provide a method and system for fast forward error correction coding and decoding that overcomes the disadvantages noted above.  
         SUMMARY OF THE INVENTION  
         [0008]    The foregoing and other problems are overcome, and other advantages are realized, in accordance with the presently preferred embodiments of these teachings.  
           [0009]    In accordance with one embodiment of the invention a system for fast forward error correction coding and decoding is provided. The system includes a transmitting device having a data source and a forward error correction (FEC) encoder. The FEC encoder is coupled to the data source and is adapted to encode packetized data from the data source. A channelizer is coupled to the FEC encoder and is adapted to interleave the FEC encoded packetized data among a plurality of communication channels. The system also includes a receiving device adapted to receive the plurality of communication channels. The receiving device includes a dechannelizer adapted to de-interleave the plurality of communication channels and a FEC decoder.  
           [0010]    In accordance with another embodiment a communications system for fast forward error correction coding and decoding is provided. The communications system includes a transmission device having a data source and a controller coder adapted to FEC encode data from the data source and interleave the FEC encoded data amongst a plurality of PN spreaders. The plurality of PN spreaders includes a plurality of PN code generators where each of the PN codes is substantially mutually orthogonal. The transmission device also includes a plurality of modulators adapted to modulate the interleaved and PN code spread encoded data from the PN spreaders onto a carrier frequency or group of carrier frequencies. The communications system also includes a receiving device adapted to receive and demodulate the carrier frequency or frequencies. A receiver de-interleaver reconstructs the FEC encoded data, which is then decoded by a FEC decoder.  
           [0011]    The invention is also directed towards a method for fast forward error correction (FFEC) coding and decoding. The method includes the steps of retrieving user data and encoding the user data according to a FEC scheme. The FEC encoded data is interleaved amongst a plurality of transmission channels and transmitted to a receiver. The receiver, adapted to receiving multiple channels, de-interleaves the FEC encoded data and FEC decodes the FEC encoded data to reconstruct the user data. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0012]    The foregoing aspects and other features of the present invention are explained in the following description, taken in connection with the accompanying drawings, wherein:  
         [0013]    [0013]FIG. 1 is block diagram of a system incorporating features of the present invention;  
         [0014]    [0014]FIG. 2 is a block diagram of a PN communications system incorporating features of the present invention;  
         [0015]    [0015]FIG. 3 is a block diagram of a recording/playback system incorporating features of the present invention;  
         [0016]    [0016]FIG. 4 is forward link timing diagram illustrating features of the present invention shown in FIG. 1;  
         [0017]    [0017]FIG. 5 is a block diagram illustrating an example of the forward link-timing diagram shown in FIG. 4;  
         [0018]    [0018]FIG. 5A is a block diagram representing a 21-bit packet example as used in FIG. 5; and  
         [0019]    [0019]FIG. 6 is flow chart of one method for implementing features of the present invention as shown in FIG. 1.  
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0020]    Referring to FIG. 1, there is shown a block diagram of a system incorporating features of the present invention. Although the present invention will be described with reference to the embodiments shown in the drawings, it should be understood that the present invention could be embodied in many alternate forms of embodiments. For example, features of the present invention may be employed to reduce data packet loss through communication systems such as local area networks (LANS) or wide area networks (WANs). Referring still to FIG. 1, wherein the transmission device  10 A includes a packet of user data  11  coupled to coder  12 . Coder  12  encodes the data using suitable FEC coding techniques. Coder  12  may be any suitable encoder, such as a convolutional encoder, with any suitable coding Rate (R).  
         [0021]    The encoded data from coder  12  is coupled to channelizer  13 , which interleaves the coded packet data across multiple transmission channels  14 A- 14 C. In the preferred embodiment a packet length substantially corresponds to an integer multiple of the channel&#39;s frame length such that packet data bits distributed across multiple channels fit within a receiver&#39;s burst receive time; thus avoiding having to wait for a subsequent burst to finish decoding the packet. Referring also to FIG. 4 there is shown a forward link-timing diagram of the communications system shown in FIG. 1. It will be appreciated that in alternate embodiments channelizer  13  may interleave the coded packet data across the multiple channels in any suitable arrangement. For example, a coded packet containing 7 encoded bits, where the convolutional coding Rate=⅓, for a total of 21 bits (FIG. 5A) may be distributed across 3 channels of 7 bits/frame in an interleaved fashion. An example of an interleaved distribution is shown in FIG. 5. It will be further appreciated that any suitable FEC encoding may be used as well as any suitable distribution across available channels. Referring still to FIG. 5 as an example, it will be further appreciated that each encoded bit (bit not shown) is represented by the encoded bit groups  1 - 7 . Bit 0 , Bit 1 , and Bit 2  representing an encoded bit are distributed across channels  1 - 3 . Likewise, the remaining Bits 3 -Bit 20 , are distributed across channels  1 - 3  in an interleaving fashion. The preferred embodiment interleaves the FEC encoded data across twenty channels. In alternate embodiments any suitable number of channels may be used. It will be recognized that the number of channels, burst times, and bits per burst, may be suitably adjusted to mitigate transmission loss. For simple illustration, in a twenty-channel system with a one-bit/burst per channel any one channel could be corrupted without loss of the data since that no one encoded group lies entirely within one channel, thus increasing the likelihood that most of the encoded bits will reach the receiver. It will also be appreciated that the encoded bits may be suitably interleaved within a packet longer than one-bit to further minimized data loss or undesirable detection. Transmitter  10 A transmits the channels with the FEC encoded and interleaved data to receiver  10 B. The transmitter  10 A may be any suitable transmitter such as code division multiple access (CDMA) or time division multiple access (TDMA) transmitter system.  
         [0022]    Referring still to FIG. 5, it will also be recognized that the burst frame length is, in this example, equal to a packet length of 7-bits represented by the seven encoded bit groups  1 - 7 . This allows the decoder  15  in receiver  10 B to receive and decode the encoded groups in order to retrieve the desired 7-bits before a subsequent transmission burst. In alternate embodiments, the packet may contain control information necessary to receive the subsequent transmission burst; accordingly it is advantageous to decode the packet before the next packet is received. In a preferred embodiment the packet length is substantially 56 bytes; however, in alternate embodiments any suitable packet length may be used.  
         [0023]    Receiver  10 B receives the multiple channels and couples the data to de-channelizer  17  which restructures the multiple channel frame data into the original encoded packet containing groups  1 - 7 . In an alternate embodiment the channel frame data could be parallel coupled to decoder  15 . Decoder  15  may be any suitable FEC decoder,  20  such as, for example, a hard decision Viterbi decoder, a soft decision Viterbi decoder, or a Reed/Solomon decoder. The output of decoder  15  is the original data before being encoded by coder  12 .  
         [0024]    Referring to FIG. 2 there is shown a block diagram of an  25  alternate embodiment of the present invention. In this embodiment data  22  is encoded by controller coder  21  and then spread by mixers  24   A - 24   C  with a pseudo-noise code from PN code generators  23   A - 23   C . In alternate embodiments any suitable orthogonal code generators may be used. Modulators  25 A- 25 C modulate the data for transmission to receiver  20 B. Controller  21  codes and interleaves the data  22  in a fashion similar to the example shown in FIGS. 5 and 5A. For example, Bit 0  of the encoded bit group  1  is spread by PN1 code for subsequent transmission on channel  1 . Likewise, Bit 1  of the encoded bit group  1  is spread by Pn2 code for subsequent transmission on channel  2 . This interleaving and spreading is continued for the rest of the bit groups in the packet in a likewise manner.  
         [0025]    Referring to FIG. 6 there is shown a flow chart of one method for implementing features of the present invention as shown in FIG. 1. Step  61  retrieves user data that is then FEC encoded according to a predetermined FEC scheme, such as convolutional, punctured convolutional, or block FEC encoding. The FEC encoded data is then interleaved, step  63 , amongst a plurality of transmission channels. The interleaving may be any suitable arrangement according to the number of available channels, transmission burst times, and bits/burst. Step  64  transmits the data via the transmission channels to a receiver. The transmissions may be any suitable transmissions such as, for example, Direct Spectrum-CDMA, Frequency Hop-CDMA, or TDMA transmissions. Step  65  receives the transmitted channels and de-interleaves the FEC encoded data. Step  66  decodes the FEC encoded data to produce the original user data. It is appreciated that the entire FEC encoded user data is received and decoded before a subsequent transmission burst; this advantageously allows the decoder to decode the user data without having to wait for a subsequent burst thus increasing system throughput. In alternate embodiments, a placement of control data, control cells, or an ATM frame, near the beginning of a receive frame lets the control data, or ATM frame, be decoded through the FEC before the next transmit frame and, if necessary, a transmit frame can be controlled by the last receive frame. It will be appreciated that if one or more channels are jammed or fades then only part of the control frame, or ATM frame, is lost; thus the system bit error rate is improved.  
         [0026]    Another exemplary, but not limiting embodiment, includes communication systems incorporating recording and playback devices such as Compact Disk (CD) recorders or Digital Video Disks (DVD) recorders and their respective playback devices. In the CD or DVD embodiments, data is suitably FEC encoded and stored in multiple positions around a CD/DVD ring or group of rings. Retrieval of the data in playback mode is similar to burst transmission nature of a transmission communications system; and thus the features of the present invention may be employed to minimize data corruption arising from disk scratches or temporary disk/detector misalignment such as may occur when carrying the device.  
         [0027]    Referring to FIG. 3 there is shown a block diagram of an alternate embodiment of the present invention. Here, user data  31  is FEC encoded by encoder  32  and interleaved on a recordable media  34  in communication system  30 A. The encoder may be any suitable encoder such as, for example, a convolutional encoder. The recordable media may be any suitable media such as a CD or DVD. The data is interleaved around the media on recordable circular tracks; where for purposes of illustration each track may be considered a channel and each track has multiple recordable arc lengths equivalent to a burst frame length.  
         [0028]    Each track has an associated detector  33 A- 33 C which may be fixed or moveable. The detectors sense the encoded data residing in a particular arc length and parallel transmit the sensed data to a receiver  30 B containing decoder  35  contained in communication system  302 . Decoder  35  decodes the data according to suitable FEC decoding techniques and forwards the decoded data to appropriate circuitry (not shown). It is appreciated that an area of a recording track may suffer from physical destruction, i.e., a scratch, yet the data redundantly encoded and interleaved amongst multiple arcs and tracks may still be recovered.  
         [0029]    It should be understood that the foregoing descriptions are only illustrative of the invention. Various alternatives and modifications can be devised by those skilled in the art without departing from the invention. Accordingly, the present invention is intended to embrace all such alternatives, modifications and variances that fall within the scope of the appended claims.