Abstract:
A transmitter can include an encoder configured to encode a data sequence based on a first encoding rate to generate a first encoded bit stream having first bits with at least one first repeated bit and encode the data sequence based on a second, different encoding rate to generate a second encoded bit stream having second bits with at least one second repeated bit, where the first and second encoded bit streams each fully represent the data sequence. A receiver can include circuitry configured to produce identified repeated bits by identifying a repeated bit in the first encoded bit stream and a repeated bit in the second encoded bit stream that correspond to a same bit position, combine the first encoded bit stream and the second encoded bit stream including the identified repeated bits to generate a combined bit stream, and decode the combined bit stream.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of, and claims priority to, pending U.S. patent application Ser. No. 10/923,066, filed on Aug. 20, 2004, entitled “Soft Decoding of Coded Bit-Streams”, which claims priority to U.S. Provisional Application Ser. No. 60/562,757, filed on Apr. 16, 2004. The application herein claims the benefit of priority of all of the above listed patent applications and hereby incorporates by reference in their entirety the said patent applications. 
    
    
     BACKGROUND 
     A signal transmitted over a wireless communication channel may be subject to channel noise such as additive white Gaussian noise (AWGN), Rayleigh fading or even blockage. Therefore, many wireless communication systems transmit multiple bit-streams that represent the same information over different time periods, frequencies, or spatially separated antennas to introduce time diversity, frequency diversity, or spatial diversity, respectively, in order to maximize the chance of detecting the information correctly at the receiver. In particular, the multiple streams may be encoded using channel encoders of different rates and with different amounts of redundancies. At the receiver, transmitted bit-streams that are corrupted by noise in the communication channels have to be combined appropriately to maximize the chances that the decoder can reconstruct the original information in the data bit-stream correctly. 
     SUMMARY 
     A wireless system may transmit multiple bit streams representing the same information but with the coded bits being transmitted with different repeat transmission factors. The receiver may identify the repeated coded bits with a repeat factor N and derive appropriate combining metrics to optimize decoder performance. A decoder in the receiver may decode the combined coded bits using a decision metrics that is a factor of N. 
     The receiver may utilize different soft combining metrics for different bit-to-symbols mappings and types of channels, e.g., additive white Gaussian noise (AWGN) and Rayleigh fading channels. For example, for an AWGN channel using QPSK bit-to-symbol mapping, the decision metric may be a branch metric, and for 16-QAM and higher constellation mappings, the decision metric may be a bit metric. Similarly, for a Rayleigh fading channel using QPSK bit-to-symbol mapping, the decision metric may be a branch metric, and for 16-QAM and higher constellation mappings, the decision metric may be a bit metric. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram of the physical layer of an In-Band On-Channel (IBOC)-frequency modulation (FM) transmitter. 
         FIG. 2  shows an IBOC-FM receiver according to an embodiment. 
         FIG. 3  is a block diagram of logical channels in the channel encoder in the IBOC-FM transmitter. 
         FIG. 4A  is a block diagram of a rate-2/5 convolutional encoder. 
         FIG. 4B  is a block diagram of a rate-1/2 convolutional encoder. 
         FIG. 5  shows a 16-QAM bit-to-symbol mapping. 
         FIG. 6  shows a four-level Pulse Amplitude Modulation (PAM) constellation. 
         FIG. 7  shows a bit metric computation for bit b0 in a 16-QAM constellation. 
         FIG. 8  shows a bit metric computation for bit bl in a 16-QAM constellation. 
         FIG. 9  is a flowchart describing a soft combining and decoding operation which may be performed by the receiver. 
     
    
    
     DETAILED DESCRIPTION 
     A wireless communication system may transmit multiple bit-streams that represent the same information over different time periods, frequencies, or spatially separated antennas to introduce time diversity, frequency diversity, or spatial diversity, respectively, in order to maximize the chance of detecting the information correctly at the receiver. The multiple streams may be encoded using channel encoders of different rates and with different amounts of redundancies. At the receiver, transmitted bit-streams that are corrupted by noise in the communication channels have to be combined appropriately to maximize the chances that the decoder can reconstruct the original information in the data bit-stream correctly. 
     In an embodiment, soft combining metrics may be derived for these multiple transmitted bit-streams encoded using channel encoders of different rates with different amounts of redundancies to maximize the chances that a decoder such as a hard-decision decoder or a Viterbi decoder can decode the data bit-stream correctly. 
     In an embodiment, the soft combining metrics may be derived for a multi-rate multi-stream transmission scheme, such as an In-Band On-Channel (IBOC)-frequency modulation (FM) system.  FIG. 1  is a functional block diagram of the physical layer of an IBOC-FM transmitter. The digital data bit-stream from Layer 2  102  of the five IBOC layers is first passed through a scrambler  104  before being sent into a channel encoder  106  that introduces redundancy to protect the bits from noise and fading in the channel. The coded frames of bits are then passed through interleavers  108  and are mapped to Quadrature Phase Shift Keying (QPSK) symbols in a mapping module  110  before being assigned to OFDM subcarriers. An OFDM signal generator  112  performs an Inverse Discrete Fourier Transform and appends a cyclic prefix to form an OFDM symbol in the time domain, which is then passed to a transmission subsystem  114 , which formats the baseband waveform for transmission through the wireless channel. 
       FIG. 2  is a block diagram to illustrate the functions of an IBOC-FM receiver  200  according to an embodiment. Received signals are down-converted by an RF front end  202  in a receiver processing chain and converted to digital signals by an analog-to-digital converter (A/D)  204 . A module  206  performs time and frequency synchronization operations. The receiver detects the bit-stream by performing the inverse operations used in the transmitter. A transform module  208  performs a fast Fourier transform (FFT). The signal is then demodulated and deinterleaved by modules  210  and  212 , respectively. A Viterbi decoder  214  decodes the bit-stream, which is then descrambled by descrambler  216 . 
     The channel encoder  106  in the transmitter may encode bit-streams using a rate-1/3, rate-2/5, rate-1/2, or rate-2/7 convolutional code. The rate used for a particular input data bit-stream may be dependent on the service mode. For primary service modes such as MP5, the bit-stream contained in the logical channel P1  302  is encoded using both a rate-2/5 convolutional encoder  304  and a rate-1/2 convolutional encoder  306 , as shown in  FIG. 3 . The coded bit-stream that is coded using the rate-1/2 convolutional code will be transmitted with a delay equal to the diversity delay time specified by the system. This introduces time diversity for the two bit-streams transmitted over the channels in order to increase the likelihood that the decoder can have a better chance of detecting the data input bit-stream. Therefore, the receiver needs to determine a method to combine the two received bit-streams that correspond to the rate-1/2 and rate-2/5 convolutional encoders. 
     The rate-1/2 and 2/5 convolutional encoders are shown in  FIGS. 4A and 4B , respectively. A bit-stream from P1 is sent through both of the encoders. In this case, both encoders share the same rate-1/3 “Mother code” generator  402 . For the rate-2/5 code, one output bit out of every six output bits from the rate-1/3 convolutional encoder  402  is not transmitted. This bit is commonly known as the punctured bit, which is removed by a puncture module  404 . For example, bit g 3,1  at the output of the rate-1/3 encoder  402  shown in  FIG. 4A  is not transmitted. That is, for every two input bits sent into the rate-1/3 convolutional encoder, five out of the six output bits from the encoder are sent. Therefore, effectively, a rate-2/5 coded bit-stream is obtained. The transmitted bits are {g 1,0 ,g 2,0 ,g 3,0 ,g 1,1 ,g 2,1 ,g 1,2 , . . . }. Similarly, as can also be seen in  FIG. 4B , for the rate-1/2 coded bit-stream only four out of six encoded bits at the output of the rate-1/3 encoder  402  are transmitted. The transmitted bits are {g 1,0 ,g 3,0 ,g 1,1 ,g 3,1 ,g 1,2 ,g 3,2 , . . . }. The rate-2/5 and rate-1/2 coded bit-streams are sent through channels that may corrupt the data by noise. At the receiver, the two noisy bit-streams may be combined in order to optimize the decoder performance. 
     The decoder is commonly implemented using the Viterbi algorithm, which is an efficient way to perform maximum-likelihood sequence estimation. In an embodiment, soft combining metrics are derived and implemented to optimize the performance of the Viterbi decoder and also introduce efficient implementation methods. 
     Soft Combining Metrics for Symbols Transmitted in AWGN Channels 
     In the following description, the received noisy symbols corresponding to the rate-2/5 convolutional encoded bit-stream are denoted as  g ={  g   1,0 ,  g   2,0 ,  g   3,0 ,  g   1,1 ,  g   2,1 ,  g   1,2 , . . . }, and the received noisy symbols corresponding to the rate-1/2 convolutional encoded bit-stream are denoted as  f ={  f   1,0 ,  f   3,0 ,  f   1,1 ,  f   3,1 ,  f   1,2 ,  f   3,2 , . . . }. It is noted that even though a pair of two coded bits at the transmitter is mapped into a QPSK constellation symbol that contains two real numbers representing the in-phase (I) and quadrature (Q) dimensions, each real number may be decoded separately on a per dimension basis if the symbol is transmitted over an additive white Gaussian noise (AWGN) channel. For channels such as Rayleigh fading channels, demodulation may be performed on the received complex symbols before decoding on a per dimension basis in order to undo the phase rotation due to the channel effect. 
     In this example, the rate-2/5 and the rate-1/2 convolutional encoders are derived from the same rate-1/3 “mother code” with the same generator polynomials “133”, “171” and “165”. Furthermore, symbols such as  f   1,0  and  g   1,0  correspond to the same coded bit in the same data sequence which is encoded using the same generator polynomial “133”. That is,  f   1,0  and  g   1,0  correspond to the same bit position in the same branch of the Viterbi decoder. In essence, this coded bit g 1,0  is transmitted twice over the communication channel. Thus,  f   1,0  and  g   1,0  can be combined before computing the branch metrics. An intuitive combining scheme, given an AWGN channel, is to add the soft symbols. That is, for the IBOC example, computing (  g   1,0 +  f   1,0 ), (  g   3,0 +  f   3,0 ), and (  g   1,1 +  f   1,1 ) for the three bits, g 1,0 , g 3,0 , and g 1,1 , that are transmitted twice. Since bits such as g 2,0 , g 2,1 , and g 3,1  are transmitted only once, no combining can be done. However, since some of the soft symbols can be combined while the others cannot be combined before the Viterbi decoder  214 , the Viterbi decision metrics (also known as the branch metrics) have to be properly normalized so that the expected noise power in each branch is the same. To illustrate this, one can model the effects of an AWGN channel on a bit, say g 1,0 , that is transmitted twice over two independent channels as:
 
   g     1,0   =g   1,0   +n   1,0   (1)
 
and
 
   f     1,0   =g   1,0   +n′   1,0 ,  (2)
 
     where n 1,0  and n′ 1,0  are the AWGN noise, and E(n 2 )=E((n′) 2 )=σ 2 . By adding the two soft symbols,
 
 z   1,0   =  g     1,0   +  f     1,0 =2 g   1,0   +n′   1,0 .  (3)
 
     Thus, the corresponding branch metric in the Viterbi decoder is (z 1,0 −2g 1,0 ) 2 . The noise power corresponding to this metric is 2σ 2 . On the other hand, for the coded bits that are transmitted once, such as bit g 2,0 , the conventional branch metric, (  g   2,0 −g 2,0 ) 2 , has an expected noise power of only σ 2 . In order to give equal weight to each branch in the Viterbi decode and optimize the Viterbi decoder performance in general, the expected noise power for each branch should be the same. To normalize the noise power, the soft combining before sending to a conventional Viterbi decoder should be 
     
       
         
           
             
               
                 
                   
                     z 
                     
                       i 
                       , 
                       j 
                     
                   
                   = 
                   
                     
                       
                         
                           g 
                           _ 
                         
                         
                           i 
                           , 
                           j 
                         
                       
                       + 
                       
                         
                           f 
                           _ 
                         
                         
                           i 
                           , 
                           j 
                         
                       
                     
                     
                       2 
                     
                   
                 
               
               
                 
                   ( 
                   4 
                   ) 
                 
               
             
           
         
       
     
     for the two symbols corresponding to the same output bits from the same generating polynomial of the same data bit sequence. In this case, the expected power of the branch metric (z i,j −2g 2,0 ) 2  is σ 2 . 
     This concept may be generalized for normalized branch metrics for bits with varying repeat transmission factor. Consider a coded bit that is transmitted N times. The N received symbols that have gone through N independent AWGN channels may be denoted as  p   k , where k=1, . . . , N. If these symbols correspond to the same output bit from the same generating polynomial fed by the same data bit sequence, then the soft combining metric should be, 
     
       
         
           
             
               
                 
                   z 
                   = 
                   
                     
                       1 
                       
                         N 
                       
                     
                     ⁢ 
                     
                       
                         ∑ 
                         
                           k 
                           = 
                           1 
                         
                         N 
                       
                       ⁢ 
                       
                         
                           
                             p 
                             _ 
                           
                           k 
                         
                         . 
                       
                     
                   
                 
               
               
                 
                   ( 
                   5 
                   ) 
                 
               
             
           
         
       
     
     The branch metrics corresponding to these symbols are,
 
Branch metric=( z−√{square root over (N)}a ) 2 ,  (6)
 
     where a is the encoded bit associated with the branch for which the branch metric is to be computed. For example, aε{±1} for QPSK, and aε{±1,±3} for 16-QAM. 
     The 
             1     N           
normalization factor is necessary only if some of the coded bits are transmitted only once while the others are repeated N times. Therefore, the expected noise power contained in each branch of the branch metrics may be different unless proper normalization is applied. In the conventional repeat transmission scheme where all the bits in a coded bit sequence are transmitted N times, no normalization factor is required since the branch metric computed from the sum of the N received soft symbols for every coded bit will contain the same expected noise power, albeit N times larger.
 
     In practice, multiplying the soft, combined values with a factor of 
             N         
can be complex to implement. However, in an embodiment, these multiplications may be avoided and the branch metric computation can be simplified without loss in performance. A combining module  250  ( FIG. 2 ) may combine the repeated soft symbols prior to decoding by the Viterbi decoder  214  using a decision metric that does not require multiplication by the normalization factor, as described below.
 
     The branch metric in Equation 6 can be expanded as
 
Branch metric= z   2 −2 √{square root over (N)}za+Na   2 .  (7)
 
     Since z 2  is common to all the branch metrics to be compared in the Viterbi decoder, this term can be eliminated without affecting the comparison result. By substituting Equation 5 to Equation 7 and eliminating the z 2  term, 
     
       
         
           
             
               
                 
                   
                     Branch 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     metric 
                   
                   = 
                   
                     
                       
                         - 
                         2 
                       
                       ⁢ 
                       a 
                       ⁢ 
                       
                         
                           ∑ 
                           
                             k 
                             = 
                             1 
                           
                           N 
                         
                         ⁢ 
                         
                           
                             p 
                             _ 
                           
                           k 
                         
                       
                     
                     + 
                     
                       Na 
                       2 
                     
                   
                 
               
               
                 
                   ( 
                   8 
                   ) 
                 
               
             
           
         
       
     
     Therefore, by combining the soft symbols without multiplying with the normalization factor, 
     
       
         
           
             
               
                 
                   
                     y 
                     = 
                     
                       
                         ∑ 
                         
                           k 
                           = 
                           1 
                         
                         N 
                       
                       ⁢ 
                       
                         
                           p 
                           _ 
                         
                         k 
                       
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   9 
                   ) 
                 
               
             
           
         
       
     
     the equivalent branch metric for bits that are transmitted N times becomes
 
Branch metric=−2 ay+Na   2 .  (10)
 
     Thus, no multiplication with 
             N         
is required if y is formed and Equation 10 is used. For QPSK, aε{±1}, and the branch metrics can be simplified further to
 
Branch metric for  QPSK=−ay.   (11)
 
     For systems using higher modulation schemes such as 16-QAM and 64-QAM, each one-dimensional symbol corresponds to two or more coded bits. For example, two coded bits are mapped to each dimension of a 16-QAM symbol. For such systems, the bit metric may be computed for each bit rather than the branch metric for one symbol. This way, if only one of the coded bits in a constellation symbol is repeatedly transmitted, the bit metric for that bit can be computed before combining it with the bit metrics of the other bits that are mapped to the same symbol to form the branch metric for that symbol. Even if all the coded bits mapped to a constellation symbol are transmitted the same number of times, bit-metric computation is typically simpler to implement than branch metric computation, albeit with potential performance loss. 
     The bit metrics can be derived by extending a bit-by-bit linear piecewise approximation approach. For illustration, a 16-QAM bit-to-symbol mapping  500  is shown in  FIG. 5 . Since the mappings of the I-dimension and Q-dimension are symmetric, only one dimension needs to be considered. The one-dimensional constellation is the same as a four-level Pulse Amplitude Modulation (PAM) constellation  600 , as shown in  FIG. 6 . For a QPSK or QAM symbol transmitted over an AWGN channel, each one dimensional I- or Q-value can be used to compute its bit metrics for bits b0 and bl separately. For symbols that are transmitted N times, Equation 9 may be used to compute y. The branch metric for QPSK with aε{±1} is
 
Branch metric=± y.   (12)
 
     Extending this to bit metrics, the slope of the bit metric is either +1 or −1 and the constellation points should be placed at Na where aε{±1,±3} for 16-QAM. The bit metric computation for bits b0 and bl in a 16-QAM constellation are shown in  FIGS. 7 and 8 . That is, if y=N, the bit metric for b0=−1 is N and for b0=1 is −N. For bit bl, the bit metric (BM) can be expressed as
 
 BM =(| y|−Nm )sign( b 1),  (13)
 
where mε{±2} and N is the number of repeat transmissions. The bits-to-symbol mapping is system dependent. Thus, the sign of a bit metric should be modified accordingly. For example, if one uses another Gray mapping scheme that maps the symbols            1 to b1=−1 and symbols          3 to b1=1, the bit metric will become,
 
 BM =−(| y|−Nm )sign( b 1).  (14)

     Similar to the 16-QAM case, one can extend the conventional bit metric computation for a 64-QAM constellation and the piece-wise bit metric for bl and b2 will be of the form
 
 BM =±(| y|−Nm )  (15)
 
     where mε{±2,±4} and N is the number of repeat transmissions. That is, slicing and linear distances are used for the bit metrics. No multiplications are required to implement the operations because Nm may be implemented using shift-and-add operations in hardware rather than multiplications. This may be simpler to compute than the conventional metrics given in Equations 6 and 10. Given the derivation of a 16-QAM constellation presented in this section, the bit metrics can be derived for larger constellations. 
     Soft Decoding Metrics for Symbols Transmitted over Rayleigh Fading Channels 
     This section derives bit metrics for symbols transmitted over a Rayleigh fading channel. For a constellation symbol x that is transmitted over a Rayleigh fading channel, one can model the received symbol
 
 q=Hx+n,   (16)
 
     where H is Rayleigh distributed and n is the AWGN. For a symbol that is transmitted over N independent channels let z k  denote the k-th received symbol for k=0, 1, 2, . . . , N−1, and H k  denote the channel response of Rayleigh fading channel k. Then, maximum ratio combining (MRC) can be used to form a combined received symbol. Denoting the combined symbol using MRC as w, 
     
       
         
           
             
               
                 
                   w 
                   = 
                   
                     
                       
                         ∑ 
                         
                           k 
                           = 
                           0 
                         
                         
                           N 
                           - 
                           1 
                         
                       
                       ⁢ 
                       
                         
                           H 
                           k 
                           * 
                         
                         ⁢ 
                         
                           z 
                           k 
                         
                       
                     
                     
                       
                         ∑ 
                         
                           k 
                           = 
                           0 
                         
                         
                           N 
                           - 
                           1 
                         
                       
                       ⁢ 
                       
                         
                            
                           
                             H 
                             k 
                           
                            
                         
                         2 
                       
                     
                   
                 
               
               
                 
                   ( 
                   17 
                   ) 
                 
               
             
           
         
       
     
     However, as is discussed above in the AWGN case, in order to normalize the noise power, the soft combining metrics should be, 
     
       
         
           
             
               
                 
                   w 
                   = 
                   
                     
                       
                         ∑ 
                         
                           k 
                           = 
                           0 
                         
                         
                           N 
                           - 
                           1 
                         
                       
                       ⁢ 
                       
                         
                           H 
                           k 
                           * 
                         
                         ⁢ 
                         
                           z 
                           k 
                         
                       
                     
                     
                       
                         
                           ∑ 
                           
                             k 
                             = 
                             0 
                           
                           
                             N 
                             - 
                             1 
                           
                         
                         ⁢ 
                         
                           
                              
                             
                               H 
                               k 
                             
                              
                           
                           2 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   18 
                   ) 
                 
               
             
           
         
       
     
     Again, similar to the derivation for Equations 9 and 10, and assuming that the channel estimates at the receiver are perfect, the symbols z k  can be demodulated using 
     
       
         
           
             
               
                 
                   y 
                   = 
                   
                     
                       ∑ 
                       
                         k 
                         = 
                         0 
                       
                       N 
                     
                     ⁢ 
                     
                       
                         H 
                         k 
                         * 
                       
                       ⁢ 
                       
                         z 
                         k 
                       
                     
                   
                 
               
               
                 
                   ( 
                   19 
                   ) 
                 
               
             
           
         
       
     
     and the branch metric expression can be derived to be 
     
       
         
           
             
               
                 
                   
                     Branch 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     metric 
                   
                   = 
                   
                     
                       
                         - 
                         2 
                       
                       ⁢ 
                       ay 
                     
                     + 
                     
                       
                         a 
                         2 
                       
                       ⁢ 
                       
                         
                           ∑ 
                           
                             k 
                             = 
                             0 
                           
                           
                             N 
                             - 
                             1 
                           
                         
                         ⁢ 
                         
                           
                              
                             
                               H 
                               k 
                             
                              
                           
                           2 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   20 
                   ) 
                 
               
             
           
         
       
     
     After demodulation, the phase rotation effect due to the channel is undone and the I-dimension and Q-dimension of y can be processed separately on a per dimension basis. For QPSK, the branch metric is
 
Branch metric=− ay.   (21)
 
     The bit metric derivation can be extended for higher modulation schemes as described above regarding Equations 12 to 15 for the AWGN channel given in the previous section. That is, the bit metrics for bits transmitted over N Rayleigh fading channels will be of the form
 
 BM=±y   (22)
 
or
 
 BM =±(| y|−  H m ),  (23)
 
where
 
     
       
         
           
             
               H 
               _ 
             
             = 
             
               
                 ∑ 
                 
                   k 
                   = 
                   0 
                 
                 
                   N 
                   - 
                   1 
                 
               
               ⁢ 
               
                 
                    
                   
                     H 
                     k 
                   
                    
                 
                 2 
               
             
           
         
       
     
     and mε{±2} for 16-QAM and mε{±2,±4} for 64-QAM. Bit metrics for larger constellations can be derived accordingly. 
     Soft Combining Bit Metrics for BICM 
     For systems that use bit-interleaved convolutional modulation (BICM) such as the IBOC-FM system, a coded bit at the output of a convolutional encoder may be mapped to different bit positions of a constellation symbol because there is an interleaver between the channel encoder and the bit-to-symbol mapping. For example, g 1,0  may be mapped to b0 and f 1,0  that corresponds to the same coded bit may be mapped to b1 of a 16-QAM constellation symbol. In this case, the bit metric has to be computed separately by setting N=1. The bit metric corresponding to bit g 1,0  is added to that of f 1,0  to form the combined bit metric that is used in a Viterbi decoder. To generalize, consider a coded bit q that is mapped to the same bit position, denoted bi, of a constellation symbol that is transmitted N 1  times. Suppose that q is also mapped to another bit position bj (i≠j) of a constellation symbol that is transmitted N 2  times. Then the N 1  received symbols corresponding to the bits that are mapped to bit bi should be combined and the bit metric may be computed with a repeat factor N 1 , using either Equations 12 and 15 or Equations 22 and 23, depending on the channel. Similarly, the N 2  received symbols corresponding to the bits that are mapped to bit bj should be combined to compute the bit metric. The sum of the computed bit metrics is the bit metric for the coded bit q. 
       FIG. 9  is a flowchart describing a soft combining and decoding operation which may be performed by the receiver shown in  FIG. 2 . The receiver may receive a number of noisy bit streams which are encoded using different codes, which are both based on the same mother code, such that certain coded bits are repeated N times (the “repeat transmission factor”) in the bit streams (block  902 ). The receiver may identify the repeat transmission factor N for each of the coded bits (block  904 ). The combining module  250  may combine coded bits repeated in the bit streams (block  906 ), e.g., using Equation 9 or 19. The decoder may compute bit metrics or branch metrics, depending on the size of the constellation and desired performance and complexity trade-offs. The decoder may then decode the coded bits using a decision metric (e.g., branch metric (block  908 ) or bit metric (block  910 )) appropriate for either an AWGN or Rayleigh fading channel. 
     A number of embodiments have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. For example, blocks in the flowchart may be skipped or performed out of order and still produce desirable results. Accordingly, other embodiments are within the scope of the following claims.