# Patent

## Title
GMSK spread modulation receiver

## Abstract

A technique for receiving spread spectrum GMSK signals that demodulates Gaussian Minimum Shift Keying transmissions involving a sequence of data symbols, a spread spectrum code comprising a sequence of spread spectrum chips, a sequence of pre-modulation chips combining the sequence of data symbols with the spread spectrum chips, wherein for each data symbol, at least one of the pre-modulation chips is generated by taking into account at least the data symbol and at least one of the spread spectrum chips.

## Background
CROSS-REFERENCES TO RELATED APPLICATIONS
This application is a division application of U.S. application Ser. No. 11/548,972 filed Oct. 12, 2006, now U.S. Pat. No. 7,586,978, which is a continuation of U.S. application Ser. No. 10/977,232, filed Oct. 28, 2004, now U.S. Pat. No. 7,145,937 issued Dec. 5, 2006, which claims priority from U.S. Provisional Application No. 60/515,864; filed Oct. 29, 2003. The 60/515,864 application is incorporated herein by reference.


BACKGROUND OF THE INVENTION
The present invention relates generally to the field of digital communications and more specifically to modulation and spread spectrum technologies. Spread spectrum techniques have proven to be extremely effective in building multiple access systems, combating or suppressing jamming and interference, transmitting signals at low power, and achieving message privacy from undesired listeners. Spread spectrum technology is characterized by a signal occupying an allocated bandwidth that is much wider than the data rate at which information is communicated. While many of the benefits and fundamental principals of spread spectrum techniques are well-known, actual design of spread spectrum systems can vary widely and face significant challenges in terms of performance, cost, and other considerations.
Spread spectrum systems commonly involve Phase Shift Keying (PSK) modulation as the modulation technique used in transmitting spread spectrum signals. PSK modulation refers to a general category of modulation schemes that may includes Binary Phase Shift Keying (BPSK), Quadrature Phase Shift Keying (QPSK), and others. PSK modulation schemes are often associated with “spill-over” of signal energy from the allocated bandwidth into adjacent bandwidths. This effect may be reduced by incorporating various envelope, waveform shaping, and/or other techniques. However, the need to improve spectral efficiency of modulated signals remains a fundamental problem in spread spectrum systems. This is especially true in limited bandwidth environments such as wireless and satellite systems, where neighboring signals packed closely together in the frequency spectrum may experience significant interference from one another due to unwanted “spill-over” of each signal outside of its allocated bandwidth.
Another important consideration in the design of spread spectrum systems is susceptibility to phase noise. In traditional multidimensional QPSK spread spectrum systems, the two dimensional data signals corresponding to in-phase (I) and quadrature (Q) components of the QPSK signal are each spread independently by separate spreading codes. Such independent spreading of the I and Q components means the combined complex signal does not necessarily represent each data symbol using antipodal signaling. This yields a modulation scheme characterized by degraded phase noise sensitivity as compared to antipodal modulation schemes.
U.S. Pat. No. 5,020,075 presents a “chip insertion” technique that utilizes a spread spectrum pseudo-random (PN) sequence in providing input to a minimum-shift-keying (MSK) modulator. In this patent, the PN sequence of chips is periodically interrupted with chips that represent symbols from a differentially encoded stream of data symbols. The resulting pre-modulation chip stream is presented to a minimum-shift-keying (MSK) modulator. To achieve Gaussian minimum-shift-keying (GMSK) modulation, the technique replaces the MSK modulator with a Gaussian filtered MSK modulator. However, this “chip insertion” technique is prone to significant performance degradations. For example, in “Performance of DS/GMSK/PSK Modem Using Four-Phase Correlator”, Yano, et. al, IEEE Spread Spectrum Techniques and Applications Proceedings, 1996, pgs. 249-253, the performance of a QPSK chip insertion system is shown to be about 2 dB away from theoretical performance bounds.
Improvements to current design that address these and other shortcomings would undoubtedly advance spread spectrum technology toward its full potential as a powerful communications methodology.
SUMMARY OF THE INVENTION
The invention presents methods, apparatuses, and systems for transmitting and receiving spread spectrum Gaussian Minimum Shift Keying (GMSK) signals. Transmission may involve obtaining a sequence of data symbols, obtaining a spread spectrum code comprising a sequence of spread spectrum chips, generating a sequence of pre-modulation chips by combining the sequence of data symbols with the spread spectrum chips, wherein for each data symbol, at least one of the pre-modulation chips is generated by taking into account at least the data symbol and at least one of the spread spectrum chips, performing Gaussian Minimum Shift Keying (GMSK) modulation using the sequence of pre-modulation chips to produce a spread spectrum GMSK signal, and transmitting the spread spectrum GMSK signal. The spread spectrum GMSK signal may adopt antipodal signaling to represent each data symbol. As an example, for each data symbol, if the data symbol takes on a first binary value, a corresponding portion of the spread spectrum GMSK signal exhibits a select waveform, and if the data symbol takes on a second binary value, the corresponding portion of the spread spectrum GMSK signal exhibits a phase-inverted version of the select waveform.
Each data symbol may correspond to K spread spectrum chips and K pre-modulation chips, wherein K is a positive integer. A leading one of the K pre-modulation chips corresponding to a current data symbol may be generated by taking into account (i) an immediately preceding data symbol, (ii) a final one of the K spread spectrum chips corresponding to the immediately preceding data symbol, (iii) the current data symbol, and (iv) a leading one of the K spread spectrum chips corresponding to the current data symbol, whereas remaining ones of the K pre-modulation chips corresponding to the current data symbol may each be generated by taking into account (i) an immediately preceding one of the K spread spectrum chips corresponding to the current data symbol, and (ii) a current one of the K spread spectrum chips corresponding to the current data symbol. According to one embodiment, the spread spectrum code utilized is a pseudo-noise (PN) code.
Reception may involve receiving a spread spectrum GMSK signal corresponding to a sequence of data symbols and a spread spectrum code, processing the received spread spectrum GMSK signal using at least one matched filter to produce at least one filtered signal, correlating the at least one filtered signal with the spread spectrum code corresponding to the spread spectrum GMSK signal to produce at least one correlation output, and evaluating the correlation output to estimate the sequence of data symbols.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a basic block diagram of a system for transmitting a Gaussian Minimum Shift Keying (GMSK) modulation spread spectrum signal, in accordance with one embodiment of the present invention;
FIG. 2 illustrates the pulse functions for Minimum Shift Keying (MSK) and the PAM expansion functions h0(t), h1(t), and h2(t) for GMSK;
FIG. 3 is a table showing an example the mapping of data symbols dn and spread spectrum code bk into a pre-modulation chip sequence αk, in order to produce Laurent expansion PAM symbols a0,k that are antipodal with respect to each data symbol dn;
FIG. 4 is a basic block diagram of a demodulator structure for receiving a GMSK modulation spread spectrum signal, in accordance with one embodiment of the present invention;
FIG. 5 is a plot of computer simulation results for channel BER performance versus Es/No;
FIG. 6 is a plot of the calculated loss versus different values of the GMSK BT product;
FIG. 7 illustrates the calculated power spectral density (PSK) of various modulated signals, including QPSK, offset QPSK, MSK, and GMSK signals of different BT products;
FIG. 8 is a plot showing the constant β tabulated for different values of the BT product; and
FIG. 9 is a table showing values of a figure of merit (FOM) for various bandwidth definitions and BT products.



DETAILED DESCRIPTION OF THE INVENTION
Introduction
FIG. 1 is a basic block diagram of a system 100 for transmitting a spread spectrum Gaussian Minimum Shift Keying (GMSK) signal, in accordance with one embodiment of the present invention. As shown in the figure, a data symbol source block 104 provides a sequence of data symbols dn, and a pseudo-random or pseudo-noise (PN) generator block 102 provides spread spectrum code bk to a mapping block 106. The spread spectrum code bk is also referred to as a sequence of spread spectrum chips. The mapping block 106 utilizes the data symbols dn and spread spectrum code bk to produce a sequence of pre-modulation “chips” αk, which is provided to a GMSK modulator block 108. The GMSK modulator block 108 performs GMSK modulation on the “chip” sequence αk to produce a GMSK waveform for transmission.
According to the present embodiment, the mapping block 106 combines data symbols dn and spectrum code bk in such a way that the impression of the data symbols on the GMSK waveform produced by the GMSK modulation block 108 results in near antipodal signaling (BPSK). This provides a waveform characteristics of GMSK with data symbol performance and phase error sensitivity similar to that of BPSK. In addition, GMSK modulation allows spectral characteristics and Multiple Access Interference (MAI) performance to be easily traded off by adjustment of the GMSK parameter bandwidth-bit duration (BT) product, or BT product, associated with the GMSK modulator block 108. This allows the GMSK waveform to be designed to meet the specific objectives of the system.
While a PN generator block 102 is shown in this figure, other codes suitable for spread spectrum applications may also be used in accordance with the present invention. Further, data symbols dn may broadly refer to any sequence of symbols representing data. For example, data symbols dn may represent information symbols that have not been error correction encoded. Alternatively, data symbols dn may represent error correction encoded symbols, such as Forward Error Correction (FEC) encoded symbols.
GMSK Description
According to the present embodiment, the input to the GMSK modulator block 108 is the “chip” sequence, αk. Here, the chips αk take on binary values of +1 or −1. For modulator synthesis, GMSK may be described as a Continuous Phase Modulation (CPM) technique. The GMSK waveform may be defined as:




  
    
      
        
          s
          ⁡
          
            (
            t
            )
          
        
        =
        
          
            
              
                A
                ⁢
                cos
              
              ⁡
              
                (
                
                  
                    2
                    ⁢
                    π
                    ⁢
                    
                      
                    
                    ⁢
                    f
                  
                  +
                  
                    2
                    ⁢
                    π
                    ⁢
                    
                      
                    
                    ⁢
                    h
                    ⁢
                    
                      
                        ∑
                        
                          k
                          =
                          0
                        
                        m
                      
                      ⁢
                      
                        
                      
                      ⁢
                      
                        
                          α
                          k
                        
                        ⁢
                        
                          q
                          ⁡
                          
                            (
                            
                              t
                              -
                              
                                kT
                                c
                              
                            
                            )
                          
                        
                      
                    
                  
                
                )
              
            
            ⁢
            
              
            
            ⁢
            
              mT
              c
            
          
          ≤
          t
          ≤
          
            
              (
              
                m
                +
                1
              
              )
            
            ⁢
            
              T
              c
            
          
        
      
    
    
      
        (
        1
        )
      
    
  




where f is the channel center frequency plus any requested frequency offset, Tc is the chip duration (1/chip rate), h=0.5, and





  
    
      
        
          
            q
            ⁡
            
              (
              t
              )
            
          
          =
          
            
              
                ∫
                
                  -
                  ∞
                
                t
              
              ⁢
              
                
                  g
                  ⁡
                  
                    (
                    x
                    )
                  
                
                ⁢
                
                  
                
                ⁢
                
                  d
                  x
                
                ⁢
                
                  
                
                ⁢
                
                  g
                  ⁡
                  
                    (
                    t
                    )
                  
                
              
            
            =
            
              
                1
                
                  2
                  ⁢
                  
                    T
                    c
                  
                
              
              ⁡
              
                [
                
                  
                    Q
                    ⁡
                    
                      (
                      
                        σ
                        ⁢
                        
                          
                        
                        ⁢
                        
                          t
                          1
                        
                      
                      )
                    
                  
                  -
                  
                    Q
                    ⁡
                    
                      (
                      
                        σ
                        ⁢
                        
                          
                        
                        ⁢
                        
                          t
                          2
                        
                      
                      )
                    
                  
                
                ]
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            t
            1
          
          =
          
            
              
                t
                
                  T
                  c
                
              
              -
              
                
                  (
                  
                    
                      L
                      +
                      1
                    
                    2
                  
                  )
                
                ⁢
                
                  
                
                ⁢
                
                  t
                  2
                
              
            
            =
            
              
                
                  t
                  
                    T
                    c
                  
                
                -
                
                  
                    (
                    
                      
                        L
                        -
                        1
                      
                      2
                    
                    )
                  
                  ⁢
                  
                    
                  
                  ⁢
                  σ
                
              
              =
              
                
                  2
                  ⁢
                  π
                  ⁢
                  
                    
                  
                  ⁢
                  
                    BT
                    c
                  
                
                
                  
                    ln
                    ⁡
                    
                      (
                      2
                      )
                    
                  
                
              
            
          
        
      
    
    
      
        (
        2
        )
      
    
  




the function Q(t) is the standard Q function and is defined by:





  
    
      
        
          Q
          ⁡
          
            (
            t
            )
          
        
        =
        
          
            1
            
              
                2
                ⁢
                π
              
            
          
          ⁢
          
            
              ∫
              t
              ∞
            
            ⁢
            
              
                e
                
                  
                    -
                    
                      x
                      2
                    
                  
                  /
                  2
                
              
              ⁢
              
                
              
              ⁢
              
                d
                x
              
            
          
        
      
    
    
      
        (
        3
        )
      
    
  




Here, the product BTc is used to correspond to the chip duration Tc. The product BTc serves as a parameter that can be varied to trade off better spectral performance (lower BTc) vs. better detection efficiency (higher BTc). To simplify implementation, it can be roughly assumed for purposes of calculation that the frequency pulse, g(t) is only non-zero for a duration of about L chips (0≦t≦LTc). Similarly, the phase pulse q(t) is essentially 0 for t<0 and essentially equal to 1⁄2 for t>LTc. As an example, with BTc=0.25, the value of L is 4. For BTc=0.20, the value of L should be increased to 5.
The description of q(t) in equation (2) is convenient for modulator realizations using a Frequency Modulation technique (such as a VCO or NCO). The integral in the description of q(t) above can be computed to get a direct expression for q(t):




  
    
      
        
          q
          ⁡
          
            (
            t
            )
          
        
        =
        
          
            1
            2
          
          ⁡
          
            [
            
              1
              +
              
                
                  t
                  1
                
                ⁢
                
                  Q
                  ⁡
                  
                    (
                    
                      σ
                      ⁢
                      
                        
                      
                      ⁢
                      
                        t
                        1
                      
                    
                    )
                  
                
              
              -
              
                
                  t
                  2
                
                ⁢
                
                  Q
                  ⁡
                  
                    (
                    
                      σ
                      ⁢
                      
                        
                      
                      ⁢
                      
                        t
                        2
                      
                    
                    )
                  
                
              
              -
              
                
                  1
                  
                    σ
                    ⁢
                    
                      
                        2
                        ⁢
                        π
                      
                    
                  
                
                ⁢
                
                  (
                  
                    
                      e
                      
                        
                          -
                          
                            1
                            2
                          
                        
                        ⁢
                        
                          σ
                          2
                        
                        ⁢
                        
                          t
                          1
                          2
                        
                      
                    
                    -
                    
                      e
                      
                        
                          -
                          
                            1
                            2
                          
                        
                        ⁢
                        
                          σ
                          2
                        
                        ⁢
                        
                          t
                          2
                          2
                        
                      
                    
                  
                  )
                
              
            
            ]
          
        
      
    
    
      
        (
        4
        )
      
    
  




This form is convenient for a realization using Phase Modulation synthesis techniques.
Laurent Expansion
To determine the mapping structure that gives the spread spectrum GMSK signal a BPSK nature to it, one may examine the Laurent PAM representation, described in “Exact and Approximate Construction of Digital Phase Modulations by Superposition of Amplitude Modulated Pulses”. P. A. Laurent, IEEE Transactions Communications, vol. COM-34, 1986. Specifically, the baseband CPM signal consisting of K chips can be represented as the sum of 2L-1 PAM signals:




  
    
      
        
          s
          ⁡
          
            (
            t
            )
          
        
        =
        
          
            e
            
              j
              ⁢
              
                
              
              ⁢
              
                θ
                ⁡
                
                  (
                  t
                  )
                
              
            
          
          =
          
            
              ∑
              
                l
                =
                0
              
              
                2
                
                  L
                  -
                  1
                
              
            
            ⁢
            
              
            
            ⁢
            
              
                ∑
                
                  k
                  =
                  0
                
                
                  K
                  -
                  1
                
              
              ⁢
              
                
              
              ⁢
              
                
                  a
                  
                    l
                    ,
                    k
                  
                
                ⁢
                
                  
                    h
                    l
                  
                  ⁡
                  
                    (
                    
                      t
                      -
                      
                        kT
                        c
                      
                    
                    )
                  
                
              
            
          
        
      
    
    
      
        (
        5
        )
      
    
  




For many values of the BTc product, the main pulse (corresponding to l=0) carries most of the signal energy. In this case, the only relevant pulse shapes and PAM data sequences are:




  
    
      
        
          
            h
            0
          
          ⁡
          
            (
            t
            )
          
        
        =
        
          
            1
            
              
                T
                c
              
            
          
          ⁢
          
            
              ∏
              
                i
                =
                1
              
              L
            
            ⁢
            
              
            
            ⁢
            
              c
              ⁡
              
                (
                
                  t
                  -
                  
                    iT
                    c
                  
                
                )
              
            
          
        
      
    
    
      
        (
        6
        )
      
    
  
  
    
      
        
          a
          
            0
            ,
            k
          
        
        =
        
          
            j
            
              (
              
                
                  ∑
                  
                    i
                    =
                    0
                  
                  k
                
                ⁢
                
                  
                
                ⁢
                
                  α
                  i
                
              
              )
            
          
          ⁢
          
            =
            
              0
              ,
              
                k
                -
                1
              
            
          
          ⁢
          
            j
            
              α
              k
            
          
        
      
    
    
      
        (
        7
        )
      
    
  




The basic function c(t) is defined by:




  
    
      
        
          c
          ⁡
          
            (
            t
            )
          
        
        =
        
          
            
              sin
              ⁡
              
                [
                
                  
                    π
                    2
                  
                  ⁢
                  
                    (
                    
                      1
                      -
                      
                        2
                        ⁢
                        
                          q
                          ⁡
                          
                            (
                            
                              t
                              |
                              t
                              |
                            
                            )
                          
                        
                      
                    
                    )
                  
                
                ]
              
            
            ⁢
            
              
            
            -
            
              LT
              c
            
          
          ≤
          t
          ≤
          
            LT
            c
          
        
      
    
    
      
        (
        8
        )
      
    
  




Expressions for the other pulse functions and data symbols can be found in the appendix of “Simple Coherent receivers for Partial response Continuous Phase Modulation”, G. K. Kaleh, IEEE Journal on Selected Areas in Communications, Vol 7, No 9, December 1989. From the recursion formula in equation (7), the PAM symbols are imaginary for n even and real for n odd.
FIG. 2 illustrates the pulse functions, hl(t), for Minimum Shift Keying (MSK) and GMSK. For MSK,




  
    q
    ⁡
    
      (
      t
      )
    
  
  =
  
    
      1
      2
    
    ⁢
    
      t
      
        T
        c
      
    
  




for 0<t<Tc, =0 for t<0, and =1⁄2 for t>Tc and L=1. The function h0(t) has a duration of 2Tc and is shown in FIG. 2. The result is the standard offset QPSK view of MSK with sinusoidal pulse shaping and data mapping given by equation (7). Since the PAM data sequence a0,k alternates between real and imaginary values, little or no intersymbol interference is expected.

For GMSK with a BTc of 0.25, an acceptable value of L is 4. The duration of the main Laurent pulse is 5Tc The pulse shapes for the ho(t), h1(t), and h2(t) Laurent pulses shown in the figure above. Only the first two pulses are significant. Also, since the duration of the main pulse is larger than 2Tc, this waveform will produce intersymbol interference.
Symbol Mapping
The objective for the mapping function is to combine the data symbols dn with the PN sequence bk to produce a pre-modulation chip sequence αk such that the Laurent PAM expansion results in antipodal signaling for the main PAM pulse, h0(t). In particular, it is desired that all the values of a0,k to be inverted during data symbol n, but only during data symbol n, if dn is inverted. An additional objective is to have a simple relationship between the data values for the main Laurent pulse (a0,k) and the spread spectrum chips (bk). These objectives can be accomplished for the K chips within symbol interval n by using the following mapping:

αm=αk+(n−1)K=(−1)m({tilde over (b)}−1{tilde over (d)}n−1)·({tilde over (b)}0{tilde over (d)}n) k=0

αm=αk+(n−1)K=(−1)m{tilde over (b)}k−1{tilde over (b)}k k>0  (9)

where {tilde over (b)}k=2bk−1 is the translation of the logic values of 0 and 1 to numerical values of −1 and 1 respectively. Likewise for {tilde over (d)}n=2dn−1. The term {tilde over (b)}−1 is the last PN chip associated with data symbol dn−1 (the previous symbol). For the first symbol in the packet (d0), the previous symbol, d−1, and the last PN chip of the previous symbol, b−1, are both initialized to 1. The variable m is a chip counter that starts at 0 at the beginning of transmission and does not get reset at the end of any symbol. The variable k is the chip count within a symbol, ranging from 0 to K−1. In another embodiment of the present invention, the alternate inversion performed by the (−1)m term can be equivalently implemented in the receiver. In other words, the (−1)m term in Equation 9 may be omitted in generating the pre-modulation chips at the transmitter end. Instead the (−1)m term may be incorporated into the receiver structure.

FIG. 3 is a table showing an example of such mapping of data symbols dn and spread spectrum code bk into a pre-modulation chip sequence αk, in order to produce Laurent expansion PAM symbols a0,k that are antipodal with respect to each data symbol dn. For purposes of illustration, K=4 chips per symbol is shown. The table illustrates the mapping of the sequence of data symbols 0-1-1 using a particular PN sequence, then illustrates the mapping of the sequence of data symbols 1-0-1 using the same PN sequence. As shown, the Laurent expansion PAM symbols exhibit antipodal signaling with respect to each data symbol. The first symbol of the two sequences are different, so their corresponding PAM expansions {−j, 1, −j, 1} and {+j, −1, +j, 1} are opposite. The second symbol of both sequences are also different, again yielding the two opposite PAM expansions {j, 1, −j, 1} and {+j, −1, +j, −1}. Finally, the third symbol of both sequences are the same, yielding the identical PAM expansion {+j, 1, −j, −1}. The simple relationship between the PN chips and the I and Q values of the PAM symbols is also shown in the table. In particular, the 4 PN chips for the first data symbol are {1,0,1,1} and the four I and Q values for the PAM symbols are {−1, 1, −1, −1}. In all cases, the I and Q values for the PAM symbols are just the exclusive OR of the PN chip and the data symbol with the result shifted up to values of +1 or −1 by multiplying by 2 and subtracting 1.
In the present embodiment of the invention, the pre-modulation chip sequence αk is generated such that the Laurent PAM expansion results in antipodal signaling for the main PAM pulse, h0(t). Since the main PAM pulse represents most, but not all, of the energy in the baseband CPM signal, the resulting spread spectrum GMSK signal is antipodal in a general sense. That is, the resulting spread spectrum GMSK signal may be antipodal to an extent that satisfies performance requirements, but it may not be perfectly antipodal. Thus, for each data symbol, if the data symbol takes on a first binary value, a corresponding portion of the spread spectrum GMSK signal exhibits a select waveform, and if the data symbol takes on a second binary value, the corresponding portion of the spread spectrum GMSK signal exhibits a phase-inverted version of the select waveform. The phase-inverted version of the select waveform may be a nearly exact, but not perfectly exact, phase-inverted replica of the select waveform.
Demodulator Structure
FIG. 4 is a basic block diagram of a demodulator structure 110 for receiving a spread spectrum GMSK signal, in accordance with one embodiment of the present invention. For antipodal signaling, an optimum symbol-by-symbol demodulator correlates the received signal with the expected signal under the hypothesis, dn=1, and compares the real part of the output to zero (after phase rotation to remove the phase error). The correlator output is for the nth symbol is,

Zn=∫r(t)[xn(t)+jyn(t)]*dt  (10)

The signal r(t) is the received complex valued (I and Q components) baseband signal, x(t) is the real part of the expected signal with dn=1 and y(t) is the imaginary part of the expected signal. The integration is performed over to time duration, which is occupied by one symbol of K chips. The simple demodulator structure 110 can be derived by assuming all the PAM pulses to be negligible except the main pulse h0(t). By using this assumption, the expected signal over the nth symbol interval can be well approximated by




  
    
      
        
          
            
              x
              n
            
            ⁡
            
              (
              t
              )
            
          
          +
          
            j
            ⁢
            
              
            
            ⁢
            
              
                y
                n
              
              ⁡
              
                (
                t
                )
              
            
          
        
        =
        
          
            
              ∑
              
                k
                =
                0
              
              
                K
                -
                1
              
            
            ⁢
            
              
            
            ⁢
            
              
                a
                
                  0
                  ,
                  k
                
              
              ⁢
              
                
                  h
                  0
                
                ⁡
                
                  (
                  
                    t
                    -
                    
                      kT
                      c
                    
                  
                  )
                
              
            
          
          =
          
            
              
                ∑
                
                  
                    
                      k
                      ′
                    
                    =
                    0
                  
                  
                    
                      k
                      ′
                    
                    =
                    odd
                  
                
                
                  K
                  -
                  1
                
              
              ⁢
              
                
              
              ⁢
              
                
                  x
                  
                    nK
                    +
                    
                      k
                      ′
                    
                  
                
                ⁢
                
                  
                    h
                    0
                  
                  ⁡
                  
                    (
                    
                      t
                      -
                      
                        
                          (
                          
                            nK
                            +
                            
                              k
                              ′
                            
                          
                          )
                        
                        ⁢
                        
                          T
                          c
                        
                      
                    
                    )
                  
                
              
            
            +
            
              j
              ⁢
              
                
                  ∑
                  
                    
                      
                        k
                        ′
                      
                      =
                      0
                    
                    
                      
                        k
                        ′
                      
                      =
                      even
                    
                  
                  
                    K
                    -
                    1
                  
                
                ⁢
                
                  
                
                ⁢
                
                  
                    y
                    
                      nK
                      +
                      
                        k
                        ′
                      
                    
                  
                  ⁢
                  
                    
                      h
                      0
                    
                    ⁡
                    
                      (
                      
                        t
                        -
                        
                          
                            (
                            
                              nK
                              +
                              
                                k
                                ′
                              
                            
                            )
                          
                          ⁢
                          
                            T
                            c
                          
                        
                      
                      )
                    
                  
                
              
            
          
        
      
    
    
      
        (
        11
        )
      
    
  




xk=Re{a0,k} yk=Im{a0,k}

thus the correlation in equation (10) becomes,





  
    
      
        
          Z
          n
        
        =
        
          
            
              
                ∑
                
                  
                    k
                    ′
                  
                  =
                  odd
                
              
              ⁢
              
                
              
              ⁢
              
                
                  x
                  k
                
                ⁢
                
                  r
                  k
                
              
            
            -
            
              j
              ⁢
              
                
                  ∑
                  
                    
                      k
                      ′
                    
                    =
                    even
                  
                
                ⁢
                
                  
                
                ⁢
                
                  
                    y
                    k
                  
                  ⁢
                  
                    r
                    k
                  
                  ⁢
                  
                    
                  
                  ⁢
                  k
                
              
            
          
          =
          
            nK
            +
            
              k
              ′
            
          
        
      
    
    
      
        (
        12
        )
      
    
  




where rk is the output (sampled once per chip) of a filter matched to the main Laurent pulse,

rk=∫r(t)ho(t−kTc)  (13)

Referring to FIG. 4, received signal(s) are provided to one or more filters 112 matched to the main Laurent pulse h0(t). The sampled filtered output rk is provided to a de-multiplexer block 114, which outputs separated even and odd samples of rk. The even and odd samples of rk are provided to correlator blocks 116. A PN sequence block 118 generates the same spread spectrum code bk originally used by the transmitter to generate the spread spectrum GMSK signal. The spread spectrum code bk is provided to a de-multiplexer 120, which outputs separated even samples yk and odd samples xk. The even and odd samples yk and xk are also provided to the correlator blocks 116.
In this manner, correlator blocks 116 correlate the received signal with the expected signal under the hypothesis dn=1. This results in correlation outputs Zeven and Zodd, which are combined at a combiner block 122 to produce a complex result Z. The complex result Z is provided to a phase rotation block 124, which performs a phase rotation operation to compensate for any phase error. This results in an output Zrot. The phase-rotated output Zrot may then be used to estimate the data symbols carried in the spread spectrum GMSK signal.
When timing and phase is not known, such as during the preamble (burst acquisition), the sample rate out of the chip matched filter, ho(t), may be increased to allow several different timing hypothesis to be attempted. A sample rate of 2Rc may enable 4 timing hypothesis per main Laurent pulse (one I or Q channel pulse per two chips). In addition, a non-coherent metric, such as |Z|2, may be used to accommodate the unknown, random phase.
Performance
For large channel bit error rates (BERs), the channel BER of the spread spectrum GMSK waveform can be accurately approximated (details omitted) by,




  
    
      
        
          P
          b
        
        =
        
          Q
          ⁡
          
            (
            
              
                
                  2
                  ⁢
                  
                    
                      E
                      s
                    
                    
                      N
                      o
                    
                  
                  ⁢
                  
                    
                      H
                      0
                    
                    ⁡
                    
                      (
                      0
                      )
                    
                  
                
                
                  1
                  +
                  
                    4
                    ⁢
                    
                      
                        E
                        s
                      
                      
                        N
                        o
                      
                    
                    ⁢
                    
                      α
                      
                        
                          K
                          2
                        
                        ⁢
                        
                          H
                          ⁡
                          
                            (
                            0
                            )
                          
                        
                      
                    
                  
                  +
                  
                    2
                    ⁢
                    
                      
                        E
                        s
                      
                      
                        N
                        0
                      
                    
                    ⁢
                    
                      β
                      
                        K
                        ·
                        
                          
                            H
                            0
                          
                          ⁡
                          
                            (
                            0
                            )
                          
                        
                      
                    
                  
                
              
            
            )
          
        
      
    
    
      
        (
        14
        )
      
    
  




Comparing equation (14) to the standard BER expression for coherent BPSK, one can see that degradation occurs due to the term H0(O) in the numerator and the second two terms in the denominator. The term H0(O) is the energy in the first Laurent Pulse, ho(t). This value is slightly less than unity. The second term in the denominator is due to the interference with the ho(t) pulses from the chips in the two adjacent symbols. The third term is the interference with the higher order Laurent pulses from the chips in the current symbol as well as the adjacent symbols. The terms α and β are constants which are functions of the cross correlation of the Laurent pulses.
By examining equation (14), the interference terms in the denominator get smaller as K gets larger and get larger as the interferer signal to noise ration (Es/No) gets larger. Thus it is expected that the degradation to be larger at higher Es/No and to be independent of Es/No as K gets large. For large values of K the performance approaches that of theoretical coherent BPSK.
FIG. 5 is a plot of computer simulation results for channel BER performance versus Es/No. The simulations were performed for a BT product of 0.10. These results confirm the analytical observations regarding equation (14). As expected, the degradation becomes fixed for all values of Es/No as the number of chips per symbol (K) increases to 24. At this point, the second two terms in the denominator are negligible. In fact, at the Es/No range of interest (−4 dB≦Es/No≦0 dB), the inter-chip interference terms are negligible even for the minimum value of K (4 chips per symbol). Therefore, the degradation with respect to theoretical coherent BPSK in the interesting range of Es/No can be accurately approximated as just the energy in the first Laurent pulse, ho(t). This approximation is expected to hold for all values of K. FIG. 6 is a plot of the calculated loss, with respect to theoretical coherent BPSK, versus different values of the GMSK BT product.
Spread Spectrum GMSK Spectral Characteristics
Another dimension to the selection of the BT product is the spectral occupancy. FIG. 7 illustrates the calculated power spectral density (PSK) of various modulated signals, including QPSK, offset QPSK, MSK, and GMSK signals of different BT products. These results are calculated using analytical techniques. Ideally, the spectrum of the transmitted signal would have a rectangular “boxcar” shape. This would allow one to place all of the signal energy in the allocated bandwidth and none outside of the allocated bandwidth. No known constant envelope signal has this characteristic. As demonstrated in the figure, the GMSK signal family possesses roll-off which is much faster than that other constant envelop waveforms considered.
Spectral characteristics can be further improved by using several FDMA channels, each of smaller chip rate and consisting of, for example many Code Division Multiple Access (CDMA) waveforms, to support the network traffic instead one single channel of a larger chip rate. An example will illustrate this best. Suppose one has purchased 30 MHz of bandwidth and it is required that the PSD outside of the purchased bandwidth be 30 dB down. First consider the use of a single spread spectrum GMSK signal using a BT product of 0.25. When a BT product of 0.25 is used, the 30 dB bandwidth (double sided) of the signal is about 1.3 times the chip rate. The maximum chip rate that could be supported is 23.08 MHz.
Now consider the use of N FDMA channels in the 30 MHz purchased bandwidth. The signals in each channel uses spread spectrum GMSK modulation with a BT product of 0.25. The spacing between channels is set to be 0.75 times the chip rate. At this spacing the PSD's of adjacent channels cross at the −10 dB point. This is conservative and in all likelihood, a smaller spacing between channels could be used. The composite spectrum of N channels will have a 30 dB bandwidth of,

W=(N−1)ΔRc+BW30Rc  (15)

where W is in Hz, ΔRc is the channel spacing, and BW30 is the 30 dB bandwidth of a single GMSK signal normalized by the chip rate. Suppose there are N=10 channels. The spacing Δ is 0.75, and BW30=1.3. Thus the 30 dB bandwidth of sum of all signals is 8.05 time the chip rate. The maximum chip rate for each signal will be 3.73 MHz (=30 MHz/8.05). Since there are 10 FDMA channels, the effective chip rate for this system is 37.27 MHz, a factor of 1.6 greater than the example with 1 FDMA channel.

As seen in the example above, one can gain more physical layer capacity by using several FDMA channels each of smaller chip rate. The gain is due to the resulting composite spectrum looking more like the ideal “boxcar” spectrum. The more FDMA channels used, the more ideal the spectrum will look. However, there is a diminishing return on increasing N, so the question is how many big should N be. Using a normalized channel spacing (normalized by the chip rate) of Δ and a normalized 30 dB bandwidth of BW30, the maximum chip rate that can be supported by a single FDMA channel approach is W/BW30 where W is the allocated bandwidth. Using N FDMA carriers, the maximum chip rate that can be supported by each carrier is Rc=W/[(N−1)Δ+BW30] The effective chip rate, due to all N channels, will be the N times as large. The ratio of the multi channel effective chip rate to the single channel chip rate determines the capacity gain (as previously shown, the capacity of a CDMA system is proportional to the chip rate)




  
    
      
        Gain
        =
        
          
            [
            
              
                
                  (
                  
                    
                      N
                      -
                      1
                    
                    N
                  
                  )
                
                ⁢
                
                  Δ
                  
                    BW
                    30
                  
                
              
              +
              
                1
                N
              
            
            ]
          
          
            -
            1
          
        
      
    
    
      
        (
        16
        )
      
    
  




As N becomes large, the gain goes to BW30/Δ. This represents the maximum possible gain. Selection of N=5 will yield more than 85% of the maximum achievable gain. Selection of N=10 will more than 90% of the maximum achievable gain.
Multiple Access Interference (MAI)
The final dimension in the selection of BT product is the performance of the spread spectrum GMSK signal in the presence of MAI. GMSK with different values of BT will have different BER performance to the same levels of MAI. Intuitively, one would expect that use of GMSK with higher value BT would provide more resistance to MAI than lower of BT values since the occupied bandwidth is larger for the same chip rate. This is indeed the case, and the relationship has been quantified using the approach described below.
For N, asynchronous MAI interfering sources (all of the same power level), the classical equation for relating N to Eb/No is




  
    
      
        
          
            E
            b
          
          
            I
            o
          
        
        =
        
          
            
              W
              ⁢
              
                /
              
              ⁢
              
                R
                b
              
            
            N
          
          =
          
            
              β
              ⁢
              
                
              
              ⁢
              
                R
                c
              
              ⁢
              
                /
              
              ⁢
              
                R
                b
              
            
            N
          
        
      
    
    
      
        (
        17
        )
      
    
  




The only ambiguity is the definition of the bandwidth W. The bandwidth may be defined as W=βRc. The constant β is a function of the BT product. A larger value of β results in more MAI resistance since the resulting Eb/Io is larger. The value of β is defined such that the variance of the MAI out of the GMSK matched filters is identical to the variance of the thermal noise out of the GMSK matched filters when the Eb/No is set to a level of βRc/(RbN). This allows the total Eb/(No+Io) to be computed as the parallel combination of Eb/No and Eb/Io.
As an example, suppose that the variance of the MAI out of the GMSK matched filter is measured to be σ2 when Rc/Rb is 100 and N is 50. The variance out of the GMSK matched filters is also measured to be σ2 when the Eb/No is set to 2.5 dB. Thus the performance with the above MAI and no thermal noise scenario is identical (in terms of the second order statistics out of the matched filter) to that of the thermal noise only at an Eb/No of 2.5 dB. to aim is to select a constant β such that the resulting Eb/Io is 2.5 dB. This results in value of β=0.8891. FIG. 8 is a plot showing the constant β tabulated for different values of the BT product.
Optimal Selection of BT Product
FIG. 9 is a showing values of a figure of merit (FOM) for various bandwidth definitions and BT products. Here, the occupied bandwidth of a single GMSK signal is W=αRc, where the definition of occupied bandwidth corresponds to some PSD bandwidth, such as 10 dB bandwidth or 30 dB bandwidth. As previously shown, the CDMA capacity is proportional to β/α. Thus, a good FOM for optimizing the BT selection is β/α, which is illustrated in the table. A larger FOM indicates a better waveform choice. For comparison purposes, regular MSK is also shown. The bandwidth definition is the ratio of the PSD at the edge of band to the PSD at band center.
When it is required for the PSD of the signal to be very low out of band, like 40 or 60 dB lower than center of band, a small value of the BT product of about 0.2 will optimize the capacity. When a larger out of band PSD can be tolerated, a higher value of BT, or even MSK, should be used. For a 30 dB out of band PSD, the optimum value of BT is about 0.5. For certain multi-channel applications, carriers will be spaced as close together as possible. The bandwidth of interest for these carriers is more like a −10 dB, or greater bandwidth. Thus one would think that plain MSK might be the best modulation choice. However, it may be desired that the PSD of the two edge channels roll off faster since they will determine the bandwidth occupancy of the composite return channel (all FDMA channels). Regulatory or other constraints may dictate, for example, that the relevant bandwidth definition for the two edge channels be around 30 dB, which indicates an optimum selection of BT=0.5. By looking at the table, it is clear that there is very little degradation in the FOM by using a BT product of 0.5 when the PSD roll off of interest is in the −6 to −20 dB range. In practice, one might want to use a BT product slightly smaller than 0.5 to compensate for some small amount spectral expansion in the modulator implementation. Thus, in one embodiment of the present invention, the optimum selection of BT product will generally lie in the 0.4 to 0.5 range.
While the present invention has been described in terms of specific embodiments, it should be apparent to those skilled in the art that the scope of the present invention is not limited to the described specific embodiments. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense. It will, however, be evident that additions, subtractions, substitutions, and other modifications may be made without departing from the broader spirit and scope of the invention as set forth in the claims.

## Claims

1. A method for demodulating a received signal comprising:
receiving an approximate direct sequence spread spectrum GMSK signal generated at a transmitter that has modulated a sequence of data symbols with a pseudo-noise (PN) coded signal, wherein said spread spectrum GMSK signal is approximated by a pulse amplitude modulation (PAM) signal having a main pulse exhibiting antipodal signaling;
filtering the received spread spectrum GMSK signal using at least one matched filter to produce at least one filtered signal;
correlating the at least one filtered signal with the PN coded signal corresponding to the spread spectrum GMSK signal to produce at least one correlation output; and
evaluating the at least one correlation output to demodulate the sequence of data symbols.

2. The method of claim 1 wherein the at least one matched filter is matched to a main Laurent pulse corresponding to an approximation of the spread spectrum GMSK signal.

3. The method of claim 1 further comprising a step of sampling the at least one filtered signal before the correlating step.

4. The method of claim 3 wherein even ones and odd ones of the at least one filtered and sampled signals are separately correlated with even and odd portions of the PN coded signal corresponding to the spread spectrum GMSK signal to produce even and odd correlated signals.

5. The method of claim 4 wherein the even and odd correlated signals are combined into a complex signal before the evaluating step.

6. The method of claim 5 wherein the complex signal is phase-adjusted to compensate for a phase differential before the evaluating step.

7. The method of claim 1, wherein the main pulse further exhibits at least one signal transformation based on a current symbol in the main pulse, a first chip associated with the current symbol in the main pulse, a previous symbol in the main pulse, and a last chip associated with the previous symbol in the main pulse.

8. The method of claim 1, wherein the main pulse further exhibits at least one signal transformation based on the following mapping:


αm=αk+(n−1)K=(−1)m({tilde over (b)}−1{tilde over (d)}n−1)·({tilde over (b)}0{tilde over (d)}n) k=0, and



αm=αk+(n−1)K=(−1)m{tilde over (b)}k−1{tilde over (b)}k k>0

where αm is a pre-modulation chip sequence of length m, {tilde over (b)}k=2bk−1 is a translation of logic values, {tilde over (d)}n=2dn−1 is a translation of the logic values, {tilde over (b)}−1 is a last PN chip associated with a previous data symbol dn−1, dn is a data symbol at index n, bk is a spread spectrum chip at index k, m is a chip counter, n is an integer and k is a chip count.

9. An apparatus for demodulating a received signal comprising:
at least one matched filter configured to:
receive an approximate direct sequence spread spectrum GMSK signal generated at a transmitter that has modulated a sequence of data symbols with a pseudo-noise (PN) coded signal, wherein said spread spectrum GMSK signal is approximated by a pulse amplitude modulation (PAM) signal having a main pulse exhibiting antipodal signaling, and
to produce at least one filtered signal;
at least one correlator for correlating the at least one filtered signal with the PN coded signal corresponding to the spread spectrum GMSK signal to produce at least one correlation output; and
a decision unit for evaluating the at least one correlation output to demodulate the sequence of data symbols.

10. The apparatus of claim 9 wherein the at least one matched filter is matched to a main Laurent pulse corresponding to an approximation of the spread spectrum GMSK signal.

11. The apparatus of claim 9 further comprising a sampler for sampling the at least one filtered signal before the correlation is performed by the at least one correlator.

12. The apparatus of claim 11 wherein even ones and odd ones of the at least one filtered and sampled signals are separately correlated with even and odd portions of the PN coded signal corresponding to the spread spectrum GMSK signal to produce even and odd correlated signals.

13. The apparatus of claim 12 wherein the even and odd correlated signals are combined into a complex signal before the evaluation is performed by the decision unit.

14. The apparatus of claim 13 wherein the complex signal is phase-adjusted to compensate for a phase differential before the evaluation is performed by the decision unit.

15. The apparatus of claim 9, wherein the main pulse further exhibits at least one signal transformation based on a current symbol in the main pulse, a first chip associated with the current symbol in the main pulse, a previous symbol in the main pulse, and a last chip associated with the previous symbol in the main pulse.

16. The apparatus of claim 9, wherein the main pulse further exhibits at least one signal transformation based on the following mapping:


αm=αk+(n−1)K=(−1)m({tilde over (b)}−1{tilde over (d)}n−1)·({tilde over (b)}0{tilde over (d)}n) k=0, and



αm=αk+(n−1)K=(−1)m{tilde over (b)}k−1{tilde over (b)}k k>0,

where αm is a pre-modulation chip sequence of length m, {tilde over (b)}k=2bk−1 is a translation of the logic values, {tilde over (d)}n=2dn−1 is a translation of logic values, {tilde over (b)}−1 is a last PN chip associated with a previous data symbol dn−1, dn is a data symbol at index n, bk is a spread spectrum chip at index k, m is a chip counter, n is an integer and k is a chip count.

17. A system for demodulating a received signal comprising:
means for receiving an approximate direct sequence spread spectrum GMSK signal generated at a transmitter that has modulated a sequence of data symbols with a pseudo-noise (PN) coded signal, wherein said spread spectrum GMSK signal is approximated by a pulse amplitude modulation (PAM) signal having a main pulse exhibiting antipodal signaling;
means for processing the received spread spectrum GMSK signal using at least one matched filter to produce at least one filtered signal;
means for correlating the at least one filtered signal with the PN coded signal corresponding to the spread spectrum GMSK signal to produce at least one correlation output; and
means for evaluating the at least one correlation output to demodulate the sequence of data symbols.