Abstract:
A premodulation precoding method precodes a data sequence in a Gaussian minimum shift keying (GMSK) modulator to improve the bit error rate performance of a coherent Viterbi receivers generating estimates of the communicated data sequence without the use of differential decoding while preserving the spectrum of 2-ary and 4-ary GMSK signals over a wide range of bandwidth time products.

Description:
FIELD OF THE INVENTION 
   The invention relates to the field of continuous phase modulation communications. More particularly, the present invention relates to a Gaussian minimum shift keying communication method for communicating a precoded digital data stream for improved performance. 
   BACKGROUND OF THE INVENTION 
   Digital communication systems transmit data by various carrier modulation techniques. The spectrum of a digital signal can be controlled and made compact by envelope filtering or phase domain filtering. Envelope filtering filters the baseband data stream prior to upconversion to the carrier frequency and power amplification. Envelope filtering for controlling out of band power of the transmitted signal, can be found in many operational communication systems. However, the power amplifier in the transmitter must be linearized or backed off to prevent spectral regrowth of the filtered signal. The more efficient phase domain filtering approach controls the signal spectrum by frequency modulating the filtered signal onto a carrier frequency to form a continuous phase modulated (CPM) signal. The CPM signal has a constant envelope so that the power amplifier can be operated at maximum output power without affecting the spectrum of the filtered signal. 
   Gaussian minimum shift keying (GMSK) is a form of continuous phase modulation having compact spectral occupancy by choosing a suitable bandwidth time product (BT) parameter in a Gaussian filter. The constant envelope makes GMSK compatible with nonlinear power amplifier operation without the concomitant spectral regrowth associated with non-constant envelope signals. These attributes render GMSK an attractive modulation scheme in all high throughput frequency division multiple access satellite communication systems where only a limited system bandwidth is available with the transmitters operating at maximum power output efficiency. 
   Data bits are formatted, for example, by non-return to zero (NRZ) formatting prior to Gaussian filtering, carrier modulation and power amplification. The formatted data is transmitted within data symbols of an M-ary alphabet of M possible data symbols. An M-ary GMSK signal is defined by the complex envelope described in terms of symbol energy E, symbol period T, carrier phase θ c  and phase pulse g(t) using a modulation index h and the equally probable NRZ data symbols belong to an M-ary alphabet. The GMSK phase pulse g(t) originates from a frequency response f(t) of the Gaussian smoothing filter with a single-sided 3 dB bandwidth B, time truncated to a time interval of LT, where L is an integer. For Gaussian filters with small BT products, the memory length L is approximately an integer greater than or equal to 1/BT. The length L is the number of elapsed symbol periods for the GMSK signal to accrue a full phase change due to a single input symbol and hence represents the memory of the GMSK signal. A GMSK signal with memory L greater than one is termed a partial response GMSK signal. The GMSK signal is communicated to a GMSK receiver subject to interference and additive white Gaussian noise (AWGN). 
   An optimum GMSK receiver for an additive white Gaussian noise channel demodulates the received signal by coherent demodulation into estimated output data stream using a local carrier reference. The receiver demodulates by filtering the received signal using a bank of Laurent filters that filter the demodulated received signal into a symbol sequence. A Viterbi decoder searches the symbol sequence for the most probable transmitted data sequence as an estimate of the original NRZ formatted data stream. A typical coherent receiver for 2-ary GMSK signal is based on a pulse amplitude modulation (PAM) representation of 2-ary CPM signals using Laurent matched filters matched to the amplitude modulated pulses in the PAM representation, and further employs the Viterbi algorithm to optimally demodulate the symbol sequence. For 2-ary GMSK transmitters with BT=¼ and with a channel Bit Error Rate (BER) of 0.01, or more, a GMSK receiver consisting of only two matched Laurent filters and a 4-state Viterbi algorithm can nearly achieve the performance of coherent binary phase shift Keying (BPSK) signaling communications. Amplitude modulated pulses have also been extended to PAM representation for 4-ary CPM signals. 
   In demodulating 2-ary and 4-ary GMSK signals using the Viterbi algorithm, a differential decoder is necessary to resolve data bit ambiguities while providing a degraded BER with respect to the absolute phase demodulation. It is desirable to reduce the BER. For noisy channels, the differential decoder yields poor bit error rate performance. The Viterbi algorithm typically employs a sliding window in the demodulation process where the width of the sliding window represents the demodulation memory or delay. The surviving state sequence U n =(S n , S n−1 , . . . , S n−w ) produced by the sliding window Viterbi algorithm at any stage n depends on all the demodulated symbols {d k ; 0≦k≦n} prior to that stage, where S k =d 0 +d 1 + . . . +d k . The term W is the size of the sliding window that is dictated by the memory length L of the underlying GMSK signal. This intrinsic data dependency of the survivor state sequences U n  disadvantageously requires a differential decoder operation in the receiver when deciding on the actual demodulated symbol from successive survivors of the Viterbi algorithm resulting in a differential bit error rate (BER) degradation. These disadvantages are solved or reduced by the present invention. 
   SUMMARY OF THE INVENTION 
   An object of the invention is to improve the bit error rate (BER) of continuous phase modulation communication systems. 
   Another object of the invention is to provide a preceding method for continues phase modulation communication systems. 
   Yet another object of the invention is to provide a preceding method for a continuous phase modulation and coherent demodulation communication system to reduce the BER while eliminating the need for differential decoders in a receiver. 
   Still another object of the invention is to provide a preceding method for a Gaussian minimum shift keying (GMSK) continuous phase modulation and coherent demodulation communication system to reduce the BER while eliminating the need for differential decoders in a receiver. 
   The present invention is directed to a data preceding algorithm implemented in a modulator of a transmitter to substantially improve the resulting BER performance of the continuous phase modulated (CPM) receivers, such as, Gaussian minimum shift keying (GMSK) receivers without the use of differential decoders while preserving the spectral occupancy of the GMSK signals. The preceding algorithm offers performance improvement for both 2-ary and 4-ary coherently demodulated GMSK signals. The performance improvement afforded by the precoding algorithm is up to 2.5 dB for coherent demodulation of 2-ary and 4-ary GMSK signals. The preceding algorithm may be implemented using a lookup table in the modulator circuitry without altering the desired spectral occupancy of the non-precoded GMSK signals. 
   Precoding improves the BER performance for coherent demodulators of the 2-ary and 4-ary GMSK signals implemented using a pulse amplitude modulated signal subject to the Viterbi algorithm. The precoding algorithm encodes the source NRZ data symbols {d n } prior to the GMSK modulation so that the cumulative phase of the precoded symbols {α n } is identical to the absolute phase of the source NRZ symbols at every stage of the Viterbi algorithm, that is, πh(α 0 +α 1 + . . . +α n )=πhd n , where h denotes modulation index. In the Viterbi algorithm, this preceding process produces a set of survivor sequences {U n =(S n , S n−1 , . . . S n−w )} satisfying the condition S k =d k  at every stage k, thus making the differential decoder operation unnecessary. The precoded symbols have the same statistics as the source symbols so that the transmit spectrum of the GMSK signal is preserved. The BER is reduced using the precoding method for GMSK signals with memory of L. The memory L of a GMSK signal is related to the bandwidth time product BT of the underlying Gaussian filter by L=1/BT, where B is the single-sided 3 dB filter bandwidth in hertz. Depending upon the channel bit error rate required, the preceding method will render a signal to noise ratio (SNR) improvement of up to 2.5 dB over the same modem that demodulates GMSK signals without preceding. The proposed precoding method may also be applied to other 2-ary and 4-ary CPM signals. The only change required for these cases is to modify the pulse amplitude modulation (PAM) filters of the receiver. The preceding method encodes the source symbols {d n } prior to the GMSK modulation so that the resulting channel symbols {α n } will render an optimal pseudo symbol sequence requiring no differential decoding with improved bit error rates. These and other advantages will become more apparent from the following detailed description of the preferred embodiment. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  is a block diagram of a precoded coherent Gaussian minimum shift keying (GMSK) communication system. 
       FIG. 2  is bit error rate (BER) performance graph for precoded and non-precoded GMSK communication links using a Gaussian filter having a bandwidth time product of BT=⅓. 
   

   DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
   An embodiment of the invention is described with reference to the figures using reference designations as shown in the figures. Referring to  FIG. 1 , a baseband representation of an M-ary Gaussian minimum shift keying (GMSK) communication system is simplistically shown for convenience to have ideal symbol timing and carrier phase synchronization. The GMSK transmitter  10  comprises a data source  11 , a data precoder  12 , and a GMSK modulator  14 . The data source  11  continuously generates M-ary NRZ data symbols d n  chosen from an M-ary alphabet set {±1, ±3, . . . ±(M−1)}. These source symbols d n  are then precoded by the data precoder  12  into a precoded symbol sequence α n  that is in turn modulated by the GMSK modulator  14 . The GMSK modulator  14  includes a Gaussian filter  13 , a frequency modulator  15 , and a frequency converter  16 . The Gaussian filter  13  is defined by a bandwidth time product (BT) that may be, for example, ⅓, where B is the one sided 3 dB bandwidth in hertz of the Gaussian filter  13  and T is the data symbol duration in seconds. For M-ary GMSK signals with h=1/M, both main lobe bandwidth and sidelobe amplitude decrease with a decreasing BT. The Gaussian filter  13  provides a Gaussian filter output G(t) expressed as an accumulative filter sum response of the input sequence of precoded symbols α n . 
   
     
       
         
           
             G 
             ⁡ 
             
               ( 
               t 
               ) 
             
           
           = 
           
             
               ∑ 
               n 
             
             ⁢ 
             
                 
             
             ⁢ 
             
               
                 α 
                 n 
               
               · 
               
                 f 
                 ⁡ 
                 
                   ( 
                   
                     t 
                     - 
                     nT 
                   
                   ) 
                 
               
             
           
         
       
     
   
   The term f(t) is the well-known GMSK frequency pulse that is a function of the BT product and is essentially zero except over a time interval of duration LT, where L is an integer representing the memory of the Gaussian filter  13 . The memory length L is greater than or equal to one (L≧1). The frequency modulator  15  receives and modulates the Gaussian filter output G(t) by a predetermined modulation index h that may be, for example, ½. In general, lowering the modulation index h while keeping the BT product constant will reduce spectral occupancy. Preferably, the modulation index is set to h=1/M. The frequency modulator  15  transforms the Gaussian filter output G(t) into a continuous phase modulated baseband GMSK signal Z b (t). The signal amplitude of √(2E/T) is taken as one. 
   
     
       
         
           
             
               z 
               b 
             
             ⁡ 
             
               ( 
               t 
               ) 
             
           
           = 
           
             
               exp 
               ⁢ 
               
                 { 
                 
                   j 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   π 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   
                     h 
                     · 
                     
                       
                         ∫ 
                         
                           - 
                           ∞ 
                         
                         t 
                       
                       ⁢ 
                       
                         
                           G 
                           ⁡ 
                           
                             ( 
                             τ 
                             ) 
                           
                         
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           ⅆ 
                           τ 
                         
                       
                     
                   
                 
                 } 
               
             
             = 
             
               
                 exp 
                 ⁢ 
                 
                   { 
                   
                     j 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     π 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     h 
                     ⁢ 
                     
                       
                         ∑ 
                         n 
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         
                           α 
                           n 
                         
                         · 
                         
                           
                             ∫ 
                             
                               - 
                               ∞ 
                             
                             t 
                           
                           ⁢ 
                           
                             
                               f 
                               ⁡ 
                               
                                 ( 
                                 
                                   τ 
                                   - 
                                   nT 
                                 
                                 ) 
                               
                             
                             ⁢ 
                             
                               ⅆ 
                               τ 
                             
                           
                         
                       
                     
                   
                   } 
                 
               
               ≡ 
               
                 exp 
                 ⁢ 
                 
                   { 
                   
                     j 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     π 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     h 
                     ⁢ 
                     
                       
                         ∑ 
                         n 
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         
                           α 
                           n 
                         
                         · 
                         
                           g 
                           ⁡ 
                           
                             ( 
                             
                               t 
                               - 
                               nT 
                             
                             ) 
                           
                         
                       
                     
                   
                   } 
                 
               
             
           
         
       
     
   
   The term g(t), which is the integral of the GMSK frequency pulse f(t), is the well-known GMSK phase pulse. 
   The baseband GMSK signal Z b (t) is then upconverted by the converter  16  using a carrier reference  17  and then transmitted over a communication channel  18  subject to additive white Gaussian noise (AWGN) and potential interference  19 . The transmitted GMSK signal, along with noise and interference, is received by a corresponding GMSK receiver  20  equipped with a frequency converter  21 . The converter  21  uses a locally generated carrier reference  22  to downconvert the received RF signal into a baseband signal Z r (t). The received baseband signal Z r (t) is then processed by a trellis demodulator  24  to provide data estimates {circumflex over (d)} n  to a data sink  26 . The trellis demodulator  24  includes a filter bank  28 , a sampler  30 , and a Viterbi decoder  32  implementing a Viterbi algorithm. 
   The received baseband signal Z r (t) is first filtered by the filter bank  28  that consists of F matched filters, where F is at most Q=2 L−1  for 2-ary GMSK signaling, and at most P=3·[2 L−1 ] 2  for 4-ary GMSK signaling. The filters in the filter bank  28  are matched to the Laurent amplitude-modulated pulses of the transmitted baseband GMSK signal Z b (t), and may be implemented as a matched filter bank or an integrate-and-dump type filter bank. The filter bank  28  provides filtered signals r k (t) for 0≦k≦F−1, which are sampled by the sampler  30  at every symbol time instants t n =nT to produce discrete sample values r k,n . These sample values are then processed by the Viterbi decoder  32  to provide the data estimates {circumflex over (d)} n  to the data sink  26 . In order to produce reliable data estimates {circumflex over (d)} n , the processing of the Viterbi decoder  32  must conform to the precoding performed by the data precoder  12  on the data symbols d n  at the transmitter  10 . The number of matched filters used in the filter bank  28  also affects the reliability of the data estimates {circumflex over (d)} n . 
   For an N symbol long 2-ary data sequence {α n ; 0≦n≦N−1}, the baseband GMSK signal Z b (t) has a Laurent representation. 
   
     
       
         
           
             
               z 
               b 
             
             ⁡ 
             
               ( 
               t 
               ) 
             
           
           = 
           
             
               exp 
               ⁢ 
               
                 { 
                 
                   j 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   π 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   
                     h 
                     · 
                     
                       
                         ∑ 
                         n 
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         
                           α 
                           n 
                         
                         · 
                         
                           g 
                           ⁡ 
                           
                             ( 
                             
                               t 
                               - 
                               nT 
                             
                             ) 
                           
                         
                       
                     
                   
                 
                 } 
               
             
             = 
             
               
                 ∑ 
                 
                   k 
                   = 
                   0 
                 
                 
                   Q 
                   - 
                   1 
                 
               
               ⁢ 
               
                   
               
               ⁢ 
               
                 
                   ∑ 
                   
                     n 
                     = 
                     0 
                   
                   
                     N 
                     - 
                     1 
                   
                 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   
                     a 
                     
                       k 
                       , 
                       n 
                     
                   
                   · 
                   
                     
                       h 
                       k 
                     
                     ⁡ 
                     
                       ( 
                       
                         t 
                         - 
                         nT 
                       
                       ) 
                     
                   
                 
               
             
           
         
       
     
   
   The term Q=2 L−1  is the total number of 2-ary amplitude modulated pulses {h k (t)}, and the term {a k,n } represents the pseudo-symbols relating to the 2-ary data sequence {α n } through radix-2 digits {k i } for k defined by a summation over the index i with k o  equal to zero. 
   
     
       
         
           k 
           = 
           
             
               
                 ∑ 
                 
                   i 
                   = 
                   1 
                 
                 
                   L 
                   - 
                   1 
                 
               
               ⁢ 
               
                   
               
               ⁢ 
               
                 
                   
                     k 
                     i 
                   
                   · 
                   
                     2 
                     
                       i 
                       - 
                       1 
                     
                   
                 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   a 
                   
                     k 
                     , 
                     n 
                   
                 
               
             
             = 
             
               exp 
               ⁢ 
               
                 { 
                 
                   j 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   π 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   
                     h 
                     · 
                     
                       ⌊ 
                       
                         
                           
                             ∑ 
                             
                               m 
                               = 
                               0 
                             
                             n 
                           
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             α 
                             m 
                           
                         
                         - 
                         
                           
                             ∑ 
                             
                               i 
                               = 
                               0 
                             
                             
                               L 
                               - 
                               1 
                             
                           
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             
                               k 
                               i 
                             
                             · 
                             
                               α 
                               
                                 n 
                                 - 
                                 i 
                               
                             
                           
                         
                       
                       ⌋ 
                     
                   
                 
                 } 
               
             
           
         
       
     
   
   Each 2-ary amplitude modulated pulse h k (t) is related to the modulation index h and signal memory L through a generalized phase pulse c(t). 
   
     
       
         
           
             
               h 
               k 
             
             ⁡ 
             
               ( 
               t 
               ) 
             
           
           = 
           
             
               ∏ 
               
                 i 
                 = 
                 0 
               
               
                 L 
                 - 
                 1 
               
             
             ⁢ 
             
                 
             
             ⁢ 
             
               c 
               ⁡ 
               
                 ( 
                 
                   t 
                   + 
                   iT 
                   - 
                   
                     
                       ( 
                       
                         1 
                         - 
                         
                           k 
                           i 
                         
                       
                       ) 
                     
                     ⁢ 
                     LT 
                   
                 
                 ) 
               
             
           
         
       
     
     
       
         
           
             c 
             ⁡ 
             
               ( 
               t 
               ) 
             
           
           = 
           
             { 
             
                 
             
             ⁢ 
             
               
                 
                   
                     
                       
                         sin 
                         ⁡ 
                         
                           [ 
                           
                             
                               π 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               h 
                             
                             - 
                             
                               π 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 hg 
                                 ⁡ 
                                 
                                   ( 
                                   
                                      
                                     t 
                                      
                                   
                                   ) 
                                 
                               
                             
                           
                           ] 
                         
                       
                       / 
                       
                         sin 
                         ⁡ 
                         
                           ( 
                           
                             π 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             h 
                           
                           ) 
                         
                       
                     
                     ; 
                   
                 
                 
                   
                     
                        
                       t 
                        
                     
                     ≤ 
                     LT 
                   
                 
               
               
                 
                   
                     0 
                     ; 
                   
                 
                 
                   
                     
                        
                       t 
                        
                     
                     ≥ 
                     LT 
                   
                 
               
             
             ⁢ 
             
                 
             
           
         
       
     
   
   The amplitude modulated pulse h k (t) is time limited to the interval [0, D k T] where D k =min 0&lt;I&lt;L {L(2−k i )−i}, for examples, D 0 =L+1, and D 1 =L−1. The optimal trellis demodulator  24  for an N symbol sequence {α n ; 0≦n≦N−1} corrupted by additive white Gaussian noise (AWGN) is one that maximizes 2 N  correlation metrics for 0≦m≦2 N −1.
 
Λ (m)   =Re[&lt;z   r ( t ),  z   m ( t )&gt;]≡ Re[∫   −∞   ∞   z   r ( t )· z   m *( t ) dt] 
 
   The term z m (t) denotes the baseband signal associated with the m-th possible sequence, and the term z r (t) denotes the AWGN corrupted received baseband signal. Expanding z m (t) in Laurent representation, these correlation metrics can be expressed in terms of the pseudo symbols a k,n   (m) . 
   
     
       
         
           
             Λ 
             
               ( 
               m 
               ) 
             
           
           = 
           
             
               ∑ 
               
                 n 
                 = 
                 0 
               
               
                 N 
                 - 
                 1 
               
             
             ⁢ 
             
                 
             
             ⁢ 
             
               
                 λ 
                 
                   ( 
                   m 
                   ) 
                 
               
               ⁡ 
               
                 ( 
                 n 
                 ) 
               
             
           
         
       
     
     
       
         
           
             
               λ 
               
                 ( 
                 m 
                 ) 
               
             
             ⁡ 
             
               ( 
               n 
               ) 
             
           
           ≡ 
           
             Re 
             ⁢ 
             
                 
             
             ⁢ 
             
               ⌊ 
               
                 
                   ∑ 
                   
                     k 
                     = 
                     0 
                   
                   
                     Q 
                     - 
                     1 
                   
                 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   
                     r 
                     
                       k 
                       , 
                       n 
                     
                   
                   · 
                   
                     a 
                     
                       k 
                       , 
                       n 
                     
                     
                       
                         ( 
                         m 
                         ) 
                       
                       * 
                     
                   
                 
               
               ⌋ 
             
           
         
       
     
     
       
         
           
             
               r 
               
                 k 
                 , 
                 n 
               
             
             ≡ 
             
               
                 ∫ 
                 
                   - 
                   ∞ 
                 
                 ∞ 
               
               ⁢ 
               
                 
                   
                     
                       z 
                       r 
                     
                     ⁡ 
                     
                       ( 
                       t 
                       ) 
                     
                   
                   · 
                   
                     
                       h 
                       k 
                     
                     ⁡ 
                     
                       ( 
                       
                         t 
                         - 
                         nT 
                       
                       ) 
                     
                   
                 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   ⅆ 
                   t 
                 
               
             
           
           = 
           
             
               [ 
               
                 
                   
                     z 
                     r 
                   
                   ⁡ 
                   
                     ( 
                     t 
                     ) 
                   
                 
                 * 
                 
                   
                     h 
                     k 
                   
                   ⁡ 
                   
                     ( 
                     
                       - 
                       t 
                     
                     ) 
                   
                 
               
               ] 
             
             
               t 
               = 
               nT 
             
           
         
       
     
   
   The term a k,n   (m)  denotes the pseudo symbols associated with the m-th possible sequence. By supplying the sampled matched filter output r k,n  to the Viterbi decoder  32 , which produces an optimal pseudo symbol sequence {a 0,n ; 0≦n≦N−1} that maximizes Λ, the best estimate of the transmit sequence {α n } can then be found. The trellis demodulator is simplified by retaining the first F matched filters {h k (t); 0≦k≦F−1} in the λ equation, where F is often confined to power of two due to the batch nature of the filter duration {D k} , e.g., D 2 =D 3 =L−2, D 4 =D 5 =D 6 =D 7 =L−3. For the case of F=2, the first two 2-ary matched-filters and the corresponding λ equation are explicitly given by matched filter equations h 0  and h 1 . 
   
     
       
         
           
             
               h 
               0 
             
             ⁡ 
             
               ( 
               t 
               ) 
             
           
           = 
           
             
               ∏ 
               
                 i 
                 = 
                 1 
               
               L 
             
             ⁢ 
             
                 
             
             ⁢ 
             
               c 
               ⁡ 
               
                 ( 
                 
                   t 
                   - 
                   iT 
                 
                 ) 
               
             
           
         
       
     
     
       
         
           
             
               h 
               1 
             
             ⁡ 
             
               ( 
               t 
               ) 
             
           
           = 
           
             
               
                 h 
                 0 
               
               ⁡ 
               
                 ( 
                 t 
                 ) 
               
             
             · 
             
               
                 c 
                 ⁡ 
                 
                   ( 
                   
                     t 
                     + 
                     T 
                   
                   ) 
                 
               
               
                 c 
                 ⁡ 
                 
                   ( 
                   
                     t 
                     - 
                     
                       
                         ( 
                         
                           L 
                           - 
                           1 
                         
                         ) 
                       
                       ⁢ 
                       T 
                     
                   
                   ) 
                 
               
             
           
         
       
     
     
       
         
           
             λ 
             ⁡ 
             
               ( 
               n 
               ) 
             
           
           ≡ 
           
             Re 
             ⁢ 
             
               ⌊ 
               
                 
                   
                     r 
                     
                       0 
                       , 
                       n 
                     
                   
                   · 
                   
                     a 
                     
                       0 
                       , 
                       n 
                     
                     * 
                   
                 
                 + 
                 
                   
                     r 
                     
                       1 
                       , 
                       n 
                     
                   
                   · 
                   
                     a 
                     
                       1 
                       , 
                       n 
                     
                     * 
                   
                 
               
               ⌋ 
             
           
         
       
     
   
   The optimal pseudo symbol sequence produced by the Viterbi decoder  32  at any stage n inevitably involves all the demodulated symbols prior to that stage.
 
α 0,n   =J   (α     0     +α     1     + . . . +α     n   )
 
α 1,n   =J   α     n   ·α 0,n−2  
 
   The term J=exp(jπh) depends on the modulation index h, and is J=j for the case of h=½. This intrinsic data dependency requires a differential decode operation when demodulating the actual data symbol α n .
 
α n   =−j·α   0,n ·α 0,n−1 *
 
This results in a differential BER degradation comparable to that of DPSK as compared to BPSK.
 
   The purpose of the data precoder  12  is to encode the source symbols {d n } prior to the GMSK modulator  13  at the transmitter so that the resulting precoded channel symbols {α n } will render an optimal pseudo symbol sequence {a 0,n } requiring no differential decoding in the receiver, thereby improving the data demodulation performance. In mathematical terms, the data precoder  12  carries out a data mapping.
 
α n   =f ( d   n   , d   n−1   , . . . , d   0 )
 
The data mapping must provide a resulting expression for the pseudo symbol a 0,n  involving only d n  and not {d i ; 0≦i≦n}. There is no known systematic routine that can be used to determine such a mapping. Through repeated trial and error, and essentially by chance, one such mapping for 2-ary GMSK signal with modulation index h=½ has been found.
 
α n   =d   n   ·d   n−1   =[d   n   −d   n−1 +1] mod4 (α 0   =d   0 )
 
   This data mapping preserves the transmitted spectrum of the GMSK signal because the precoded symbols {α n } are still equally probable as the source symbols {d n }. The data mapping can be implemented in the data precoder  12  through the first 2-ary precoder lookup table. 
   
     
       
             
           
             
             
             
           
         
             
                 
             
             
               First 2-ary Precoder Lookup Table 
             
           
        
         
             
               d n   
               d n−1   
               α n  = [d n  − d n−1  + 1] mod4   
             
             
                 
             
             
               −1 
               −1 
               +1 
             
             
               −1 
               +1 
               −1 
             
             
               +1 
               −1 
               −1 
             
             
               +1 
               +1 
               +1 
             
             
                 
             
           
        
       
     
   
   The data mapping defined by the first 2-ary precoder lookup table results in an optimal pseudo symbol sequence produced by the Viterbi decoder  32 .
 
α 0,n   =J   n   ·J   d     n     =j   n+1   d   n  
 
α 1,n   =J   n−1   ·J   d     n     −d     n−1     +d     n−2     =j   n   ·d   n   d   n−1   d   n−2  
 
   With the decoding states defined as S n =(d n ,d n−1 ), a 2 2 -state 2 3 -branch Viterbi algorithm is sufficient for demodulating source symbols {d n } when two 2-ary matched-filters are used in the filter bank  28 . 
   A second 2-ary data preceding mapping for 2-ary GMSK signal with a modulation index h=½ has also been found.
 
α n =(−1) n   ·d   n   ·d   n−1 =(−1) n   ·[d   n   −d   n−1 +1] mod4 (α 0   =d   0 )
 
The second data precoding mapping also preserves the transmit spectrum of the GMSK signal, and can be implemented in the data precoder  12  through the second 2-ary precoder lookup table.
 
   
     
       
             
           
             
             
             
             
           
         
             
                 
             
             
               Second 2-ary Precoder Lookup Table 
             
           
        
         
             
                 
                 
               α n  = [d n  − d n−1  + 1] mod4   
               −α n  = [d n  − d n−1  + 1] mod4   
             
             
               d n   
               d n−1   
               n: even 
               n: odd 
             
             
                 
             
             
               −1 
               −1 
               +1 
               −1 
             
             
               −1 
               +1 
               −1 
               +1 
             
             
               +1 
               −1 
               −1 
               +1 
             
             
               +1 
               +1 
               +1 
               −1 
             
             
                 
             
           
        
       
     
   
   The data mapping defined by the second 2-ary precoder lookup table results in an optimal pseudo symbol sequence produced by the Viterbi decoder  32 . 
   
     
       
         
           
             a 
             
               0 
               , 
               n 
             
           
           = 
           
             { 
             
                 
             
             ⁢ 
             
               
                 
                   
                     
                       
                         j 
                         · 
                         
                           d 
                           
                             n 
                             ; 
                           
                         
                       
                     
                     
                       
                         n 
                         : 
                         even 
                       
                     
                   
                   
                     
                       
                         
                           d 
                           n 
                         
                         ; 
                       
                     
                     
                       
                         n 
                         : 
                         odd 
                       
                     
                   
                 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   
 
                 
                 ⁢ 
                 
                   a 
                   
                     1 
                     , 
                     n 
                   
                 
               
               = 
               
                 { 
                 
                     
                 
                 ⁢ 
                 
                   
                     
                       
                         
                           
                             
                               - 
                               
                                 d 
                                 n 
                               
                             
                             · 
                             
                               d 
                               
                                 n 
                                 - 
                                 1 
                               
                             
                             · 
                             
                               d 
                               
                                 n 
                                 - 
                                 2 
                               
                             
                           
                           ; 
                         
                         ⁢ 
                         
                             
                         
                       
                     
                     
                       
                         n 
                         : 
                         even 
                       
                     
                   
                   
                     
                       
                         
                           
                             - 
                             j 
                           
                           · 
                           
                             d 
                             n 
                           
                           · 
                           
                             d 
                             
                               n 
                               - 
                               1 
                             
                           
                           · 
                           
                             d 
                             
                               n 
                               - 
                               2 
                             
                           
                         
                         ; 
                       
                     
                     
                       
                         n 
                         : 
                         odd 
                       
                     
                   
                 
               
             
           
         
       
     
   
   With the decoding states still defined as S n =(d n ,d n−1 ), a 2 2 -state 2 3 -branch Viterbi algorithm is again sufficient for demodulating source symbols {d n}  when two 2-ary matched filters are used in the filter bank  28 . The choice between the first and the second 2-ary data preceding mapping is arbitrary. Extensive simulations of the first and second mappings consistently yield identical demodulation performance. 
   Extending the 2-ary trellis demodulator to a 4-ary trellis demodulator is based on expressing every 4-ary symbol α n ε{±1, ±3} in terms of two 2-ary symbols α n   (0)  and α n   (1) .
 
α n =α n   (0) +2α n   (1)  
 
   This 4-ary α n  expression enables any 4-ary GMSK signal to be expressed as a product of two 2-ary GMSK signals with h (0) =h and h( 1 )=2h as the modulation indices, respectively.
 
exp└ jπhΣ   n α n   g ( t−nT )┘=exp└ jπh   (0) Σ n α n   (0)   g ( t−nT )┘×exp└ jπh   (1) Σ n α n   (1)   g ( t−nT )┘
 
   Expressing each 2-ary signal constituent into Laurent representation and combining the product, the baseband 4-ary GMSK signal, for an N symbol long 4-ary data sequence {α n ; 0≦n≦N−1}, takes an amplitude modulation pulse form. The signal amplitude of √(2E/T) is taken as one. 
   
     
       
         
           
             
               z 
               b 
             
             ⁡ 
             
               ( 
               t 
               ) 
             
           
           = 
           
             
               exp 
               ⁢ 
               
                 { 
                 
                   j 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   π 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   
                     h 
                     · 
                     
                       
                         ∑ 
                         n 
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         
                           α 
                           n 
                         
                         · 
                         
                           g 
                           ⁡ 
                           
                             ( 
                             
                               t 
                               - 
                               nT 
                             
                             ) 
                           
                         
                       
                     
                   
                 
                 } 
               
             
             = 
             
               
                 ∑ 
                 
                   k 
                   = 
                   0 
                 
                 
                   P 
                   - 
                   1 
                 
               
               ⁢ 
               
                   
               
               ⁢ 
               
                 
                   ∑ 
                   
                     n 
                     = 
                     0 
                   
                   
                     N 
                     - 
                     1 
                   
                 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   
                     b 
                     
                       k 
                       , 
                       n 
                     
                   
                   · 
                   
                     
                       f 
                       k 
                     
                     ⁡ 
                     
                       ( 
                       
                         t 
                         - 
                         nT 
                       
                       ) 
                     
                   
                 
               
             
           
         
       
     
   
   The term P=3Q 2  is the total number of 4-ary amplitude modulated pulses {f k (t)}, and the terms {b k,n } are the 4-ary pseudo symbols associated with the 4-ary data sequence {α n }. All the 4-ary entities can be obtained from respective 2-ary counterparts by following a systematic enumeration approach. The optimal 4-ary trellis demodulator  24  is identical to that for 2-ary GMSK with the following replacements for a λ equation and r k,n  equation. 
               λ     (   m   )       ⁡     (   n   )       ≡     Re   ⁢     ⌊       ∑     k   =   0       P   -   1       ⁢       r     k   ,   n       ·     b     k   ,   n         (   m   )     *           ⌋               r   k,n   ≡∫   −∞   ∞   z   r ( t )· f   k ( t−nT ) dt=[z   r ( t )* f   k (− t )] t=nT    
   The duration of the 4-ary amplitude modulated pulses {f k (t)} is also presented in batches, that is, D 0 =L+1, D 1 =D 2 =L, D 3 = . . . =D 11 =L−1. The 4-ary trellis demodulator is simplified by retaining the first F=1, F=3 or F=12 matched filters in the filter bank  28 . For the case of F=3, the 4-ary matched filters and the corresponding λ equation and pseudo symbols can be explicitly expressed.
 
 f   0 ( t )= h   0   (0) ( t )· h   0   (1) ( t )≡ h   0 ( t; h=h   (0) )· h   0 ( t; h=h   (1) )
 
 f   1 ( t )= h   0   (0) ( t+ 1)· h   0   (1) ( t )≡ h   0 ( t+ 1 ; h=h   (0) )· h   0 ( t; h=h   (1) )
 
 f   2 ( t )= h   0   (0) ( t )· h   0   (1) ( t+ 1)≡ h   0 ( t; h=h   (0) )· h   0 ( t+ 1;  h=h   (1) )
 
λ( n )≡ Re└r   0,n   ·b   0,n   *+r   1,n   ·b   1,n   *+r   2,n   ·b   2,n *┘
 
 b   0,n =α 0,n   (0) ·α 0,n   (1)   =J   α     0     +α     1     + . . . +α     n    
 
 b   1,n =α 0,n−1   (0) ·α 0,n   (1)   =J   2α     n       (1)     +α     0     +α     1     + . . . +α     n−1    
 
 b   2,n =α 0,n   (0) ·α 0,n−1   (1)   =J   α     n       (0)     +α     0     +α   1   + . . . +α     n−1    
 
The term J=(jπh)=(1+j)/√2 for the case of h=¼. The (0) and (1) terms indicate the modulation index being used for the 2-ary constituents, that is, h (0) =h or h (1) =2h. As in the 2-ary GMSK case, the 4-ary pseudo-symbol b 0,n  at any stage n also involves prior demodulated symbols, and must resort to the same differential decode operation when demodulating the actual data symbol. Again, through trial and error, two spectrum preserving data preceding mappings have been found for the 4-ary GMSK signal with modulation index h=¼.
 
α n   =[d   n   −d   n−1 +1] mod8 (α 0   =d   0 )
 
α n   =[d   n   −d   n−1 +3] mod 8 (α 0 =d 0 )
 
   These preceding mappings can be implemented in the data precoder  12  through the 4-ary precoder lookup table. 
   
     
       
             
           
             
             
             
             
           
         
             
                 
             
             
               4-ary Precoder Lookup Table 
             
           
        
         
             
               d n   
               d n−1   
               α n  = [d n  − d n−1  + 1] mod8   
               α n  = [d n  − d n−1  + 3] mod8   
             
             
                 
             
             
               −3 
               −3 
               +1 
               +3 
             
             
               −3 
               −1 
               −1 
               +1 
             
             
               −3 
               +1 
               −3 
               −1 
             
             
               −3 
               +3 
               +3 
               −3 
             
             
               −1 
               −3 
               +3 
               −3 
             
             
               −1 
               −1 
               +1 
               +3 
             
             
               −1 
               +1 
               −1 
               +1 
             
             
               −1 
               +3 
               −3 
               −1 
             
             
               +1 
               −3 
               −3 
               −1 
             
             
               +1 
               −1 
               +3 
               −3 
             
             
               +1 
               +1 
               +1 
               +3 
             
             
               +1 
               +3 
               −1 
               +1 
             
             
               +3 
               −3 
               −1 
               +1 
             
             
               +3 
               −1 
               −3 
               −1 
             
             
               +3 
               +1 
               +3 
               −3 
             
             
               +3 
               +3 
               +1 
               +3 
             
             
                 
             
           
        
       
     
   
   The first preceding mapping α n =[d n −d n−1 +1] mod8  results in an optimal pseudo symbol sequences produced by the Viterbi decoder  32 .
 
 b   0,n   =J   n   ·J   d     n    
 
 b   1,n   =J   n−1   J   d     n−1     +2α     n       n(1)    
 
 b   2,n   =J   n−1   ·J   d     n−1     +α     n       (0)    
 
   The term J n  belongs to the set {±1, ±j, (±1±j)/√2}, and both α n   (0)  and α n   (1)  are deterministic functions of d n  and d n−1 . Similarly, the second preceding mapping α n =[d n −d n−1 +3] mod8  results in an optimal pseudo-symbol sequence produced by the Viterbi decoder  32 .
 
 b   0,n   =J   3n   ·J   d     n    
 
 b   1,n   =J   3n−3   J   d     n−1     +2α     n       (1)    
 
 b   2,n   =J   3n−3   ·J   d     n−1     +α     n       (0)    
 
   In both cases, with the decoding state defined as S n =(d n ), a 4 1 -state  4   2 -branch Viterbi algorithm is sufficient for demodulating the source symbols {d n } when three 4-ary matched-filters are used in the filter bank  28 . 
     FIG. 2  quantified the performance improvement achieved through the data precoding for both the 2-ary and 4-ary GMSK signals with BT=⅓. Simulation data show that, depending on the channel bit-error-rate of interest, a GMSK modem employing data preceding will render a 0.5 dB to 2.5 dB signal-to-noise ratio (SNR) enhancement over the same modem that employs no data preceding. 
   The function of the precoder  12  in the GMSK transmitter  10  is to precondition the symbol sequence α k  as an effective reverse function of differential encoding that intrinsically results from the GMSK modulation process. The preceding produces absolute phase demodulation achieved within the GMSK receiver  20 . This absolute phase demodulation eliminates the need for differential decoding of matched filters  28  while providing an improvement in signal detection performance. The preferred preceding algorithms are specific to M-ary CPM signals. 
   The present invention is directed to the preceding of a data sequence into an encoded sequence of transmitted symbols, to avoid differential decoding and for improving the BER using Laurent filtering. In the preferred form, a precoder is applied to 2-ary and 4-ary symbol sets used in a GMSK transmitter having a Gaussian filter defines by respective BT products and frequency modulator modulation indices. The preferred GMSK receivers included matched filters  28 , sampling  30 , and Viterbi decoding  32 . The general form of the invention is a precoding method applicable to any M-ary symbol set, BT product, modulation index, bank of match filters, and Viterbi decoding algorithms. Those skilled in the art can make enhancements, improvements and modifications to the invention, and these enhancements, improvements and modifications may nonetheless fall within the spirit and scope of the following claims.