# Patent

## Title
Preamble detection with multiple receive antennas

## Abstract

A system including a differential demodulation module, a first summing module, and a second summing module. The differential demodulation module generates differentially demodulated signals based on having differentially demodulated received signals. The first summing module generates a combined signal by adding the differentially demodulated signals, wherein the combined signal includes a plurality of symbols. The second summing module generates a plurality of sums for each of a plurality of derived preamble sequences, wherein the derived preamble sequences are derived from preamble sequences, and wherein each of the derived preamble sequences includes a plurality of derived symbols. The second summing module further generates cross-correlation values for the derived preamble sequences based on the plurality of sums, wherein one of the cross-correlation values generated for one of the derived preamble sequences is a sum of the plurality of sums generated for the one of the derived preamble sequences.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This present disclosure is a continuation of U.S. application Ser. No. 11/820,397, filed on Jun. 19, 2007, which is a continuation of U.S. application Ser. No. 11/753,953 (now U.S. Pat. No. 7,991,077), filed on May 25, 2007, which claims priority under 35 U.S.C. §119(3) to U.S. Provisional Application No. 60/809,733, filed on May 31, 2006, and U.S. Provisional Application No. 60/826,392, filed on Sep. 21, 2006. The present disclosure is related to U.S. application Ser. No. 11/820,313 (now U.S. Pat. No. 7,876,858).


FIELD
The present disclosure relates to communication systems, and more particularly to detecting preamble sequences in systems using orthogonal frequency domain multiplexing (OFDM).
BACKGROUND
The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description which may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
Referring now to FIG. 1, a typical communication system 10 comprises an information source 12, a transmitter 13, a communication channel 20, a receiver 27, and a destination 28. The transmitter 13 comprises a source encoder 14, a channel encoder 16, and a modulator 18. The receiver 27 comprises a demodulator 22, a channel decoder 24, and a source decoder 26.
The information source 12 may be an analog source such as a sensor that outputs information as continuous waveforms or a digital source such as a computer that outputs information in a digital form. The source encoder 14 converts the output of the information source 12 into a sequence of binary digits (bits) called an information sequence u. The channel encoder 16 converts the information sequence u into a discrete encoded sequence v called a codeword. The modulator 18 transforms the codeword into a waveform of duration T seconds that is suitable for transmission.
The waveform output by the modulator 18 is transmitted via the communication channel 20. Typical examples of the communication channel 20 are telephone lines, wireless communication channels, optical fiber cables, etc. Noise, such as electromagnetic interference, inter-channel crosstalk, etc., may corrupt the waveform.
The demodulator 22 receives the waveform. The demodulator 22 processes each waveform and generates a received sequence r that is either a discrete (quantized) or a continuous output. The channel decoder 24 converts the received sequence r into a binary sequence u′ called an estimated information sequence. The source decoder 26 converts u′ into an estimate of the output of the information source 12 and delivers the estimate to the destination 28. The estimate may be a faithful reproduction of the output of the information source 12 when u′ resembles u despite decoding errors that may be caused by the noise.
Communication systems use different modulation schemes to modulate and transmit data. For example, a radio frequency (RF) carrier may be modulated using techniques such as frequency modulation, phase modulation, etc. In wireline communication systems, a transmitted signal generally travels along a path in a transmission line between a transmitter and a receiver. In wireless communication systems, however, a transmitted signal may travel along multiple paths. This is because the transmitted signal may be reflected and deflected by objects such as buildings, towers, airplanes, cars, etc., before the transmitted signal reaches a receiver. Each path may be of different length. Thus, the receiver may receive multiple versions of the transmitted signal. The multiple versions may interfere with each other causing inter symbol interference (ISI). Thus, retrieving original data from the transmitted signal may be difficult.
To alleviate this problem, wireless communication systems often use a modulation scheme called orthogonal frequency division multiplexing (OFDM). In OFDM, a wideband carrier signal is converted into a series of independent narrowband sub-carrier signals that are adjacent to each other in frequency domain. Data to be transmitted is split into multiple parallel data streams. Each data stream is modulated using a sub-carrier. A channel over which the modulated data is transmitted comprises a sum of the narrowband sub-carrier signals, which may overlap.
When each sub-carrier closely resembles a rectangular pulse, modulation can be easily performed by Inverse Discrete Fourier Transform (IDFT), which can be efficiently implemented as an Inverse Fast Fourier Transform (IFFT). When IFFT is used, the spacing of sub-carriers in the frequency domain is such that when the receiver processes a received signal at a particular frequency, all other signals are nearly zero at that frequency, and ISI is avoided. This property is called orthogonality, and hence the modulation scheme is called orthogonal frequency division multiplexing (OFDM).
Referring now to FIGS. 2A-2C, a wireless communication system 50 may comprise base stations BS1, BS2, and BS3 (collectively BS) and one or more mobile stations (MS). Each BS may comprise a processor 30, a medium access controller (MAC) 32, a physical layer (PHY) module 34, and an antenna 36 as shown in FIG. 2B. Similarly, each MS may comprise a processor 40, a medium access controller (MAC) 42, a physical layer (PHY) module 44, and an antenna 46 as shown in FIG. 2C. The PHY modules 34 and 44 may comprise radio frequency (RF) transceivers (not shown) that transmit and receive data via antennas 36 and 46, respectively. Each BS and MS may transmit and receive data while the MS moves relative to the BS.
Specifically, each BS may transmit data using orthogonal frequency division multiplexing access (OFDMA) system. Each BS may transmit data typically in three segments: SEG1, SEG2, and SEG3. The MS, which moves relative to each BS, may receive data from one or more base stations depending on the location of the MS relative to each BS. For example, the MS may receive data from SEG3 of BS1 and SEG2 of BS2 when the MS is located as shown in FIG. 2A.
Relative motion between MS and BS may cause Doppler shifts in signals received by the MS. This can be problematic since systems using OFDMA are inherently sensitive to carrier frequency offsets (CFO). Therefore, pilot tones are generally used for channel estimation refinement. For example, some of the sub-carriers may be designated as pilot tones for correcting residual frequency offset errors.
Additionally, the PHY module 34 of each BS typically adds a preamble to a data frame that is to be transmitted. Specifically, the PHY module 34 modulates and encodes the data frame comprising the preamble at a data rate specified by the MAC 34 and transmits the data frame. When the PHY module 44 of the MS receives the data frame, the PHY module 44 uses the preamble in the data frame to detect a beginning of packet transmission and to synchronize to a transmitter clock of the BS.
According to the I.E.E.E. standard 802.16e, which is incorporated herein by reference in its entirety, a first symbol in the data frame transmitted by the BS is a preamble symbol from a preamble sequence. The preamble sequence typically contains an identifier called IDcell, which is a cell ID of the BS, and segment information. The BS selects the preamble sequence based on the IDcell and the segment number of the BS. Each BS may select different preamble sequences. Additionally, each BS may select preamble sequences that are distinct among the segments of that BS.
The BS modulates multiple sub-carriers with the selected preamble sequence. Thereafter, the BS performs IFFT, adds a cyclic prefix, and transmits a data frame. The MS uses the cyclic prefix to perform symbol timing and fractional carrier frequency synchronization. Unless the MS knows the preamble sequence, however, the MS cannot associate itself to a particular segment of a particular BS.
SUMMARY
In general, in one aspect, this specification discloses a system including a differential demodulation module, a first summing module, and a second summing module. The differential demodulation module is configured to generate differentially demodulated signals based on having differentially demodulated received signals. The first summing module is configured to generate a combined signal by adding the differentially demodulated signals, wherein the combined signal includes a plurality of symbols. The second summing module is configured to generate a plurality of sums for each of a plurality of derived preamble sequences, in which the derived preamble sequences are derived from preamble sequences, and each of the derived preamble sequences includes a plurality of derived symbols. One of the plurality of sums generated for one of the derived preamble sequences is a sum of (i) a first portion of one of the plurality of symbols of the combined signal and (ii) a second portion of one of the derived symbols of the one of the derived preamble sequences. The second summing module is further configured to generate cross-correlation values for the derived preamble sequences based on the plurality of sums, in which one of the cross-correlation values generated for one of the derived preamble sequences is a sum of the plurality of sums generated for the one of the derived preamble sequences.
In general, in another aspect, this specification describes a method including generating differentially demodulated signals by differentially demodulating received signals, and generating a combined signal by adding the differentially demodulated signals, in which the combined signal includes a plurality of symbols. The method further includes generating a plurality of sums for each of a plurality of derived preamble sequences, in which the derived preamble sequences are derived from preamble sequences, and each of the derived preamble sequences includes a plurality of derived symbols. One of the plurality of sums generated for one of the derived preamble sequences is a sum of (i) a first portion of one of the plurality of symbols of the combined signal and (ii) a second portion of one of the derived symbols of the one of the derived preamble sequences. The method further includes generating cross-correlation values for the derived preamble sequences based on the plurality of sums, wherein one of the cross-correlation values generated for one of the derived preamble sequences is a sum of the plurality of sums generated for the one of the derived preamble sequences.
In still other features, the systems and methods described above are implemented by a computer program executed by one or more processors. The computer program can reside on a computer readable medium such as but not limited to memory, non-volatile data storage and/or other suitable tangible storage mediums.
Further areas of applicability of the present disclosure will become apparent from the detailed description provided hereinafter. It should be understood that the detailed description and specific examples, while indicating the preferred embodiment of the disclosure, are intended for purposes of illustration only and are not intended to limit the scope of the disclosure.



BRIEF DESCRIPTION OF THE DRAWINGS
The present disclosure will become more fully understood from the detailed description and the accompanying drawings, wherein:
FIG. 1 is a functional block diagram of an exemplary communication system according to the prior art;
FIG. 2A is a schematic representation of an exemplary wireless communication system comprising three base stations and a mobile station according to the prior art;
FIG. 2B is a functional block diagram of an exemplary base station utilized in the system of FIG. 2A;
FIG. 2C is a functional block diagram of an exemplary mobile station utilized in the system of FIG. 2A;
FIG. 3 is a schematic representation of an exemplary wireless communication system comprising three base stations and a mobile station;
FIG. 4 is a table showing preamble sequences used by base stations of FIG. 3 to transmit data;
FIG. 5A is a functional block diagram of an exemplary preamble detection system according to the present disclosure;
FIG. 5B is a graph showing normalized cross-correlation between preamble sequences of FIG. 4;
FIG. 5C is a graph showing normalized cross-correlation between preamble sequences of FIG. 4 when integer carrier frequency offset is present;
FIG. 5D is a graph showing variation in channel gain relative to sub-carrier frequency in a highly frequency-selective channel;
FIG. 6A is a functional block diagram of an exemplary preamble detection system according to the present disclosure;
FIG. 6B is a graph showing normalized cross-correlation between preamble sequences derived from the preamble sequences shown in FIG. 4;
FIG. 6C is a graph showing normalized cross-correlation between derived preamble sequences when integer carrier frequency offset is present;
FIG. 7A is a functional block diagram of an exemplary preamble detection system according to the present disclosure;
FIG. 7B is a functional block diagram of an exemplary segment selection system according to the present disclosure;
FIGS. 8A-8B depict a flowchart of an exemplary method for detecting preamble sequences according to the present disclosure;
FIG. 9A is a flowchart of an exemplary method for detecting preamble sequences when sub-carriers have substantially similar channel phase;
FIG. 9B is a flowchart of an exemplary method for detecting preamble sequences when sub-carriers have an unknown differential similar channel phase;
FIG. 9C is a flowchart of an exemplary method for detecting preamble sequences when sub-carriers have substantially similar channel phase;
FIG. 10A is a functional block diagram of a vehicle control system;
FIG. 10B is a functional block diagram of a cellular phone; and
FIG. 10C is a functional block diagram of a mobile device.



DETAILED DESCRIPTION
The following description is merely exemplary in nature and is in no way intended to limit the disclosure, its application, or uses. For purposes of clarity, the same reference numbers will be used in the drawings to identify similar elements. As used herein, the term module, circuit and/or device refers to an Application Specific Integrated Circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and memory that execute one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality. As used herein, the phrase at least one of A, B, and C should be construed to mean a logical (A or B or C), using a non-exclusive logical or. It should be understood that steps within a method may be executed in different order without altering the principles of the present disclosure.
Referring now to FIG. 3, a wireless communication system 100 may comprise base stations BS1, BS2, and BS3 (collectively BS) and one or more mobile stations (MS). Generally, one MS may communicate with up to three adjacent base stations. Each BS may transmit data that is modulated using an orthogonal frequency division multiplexing access (OFDMA) system.
Specifically, each BS may transmit data in three segments: SEG1, SEG2, and SEG3. The MS, which may move relative to each BS, may receive data from one or more base stations depending on the location of the MS relative to each BS. For example, the MS may receive data from SEG3 of BS1, SEG2 of BS2, and/or SEG1 of BS3 when the MS is located as shown.
When a receiver in the MS is turned on (i.e., when the MS is powered up), the MS may associate with an appropriate segment of a corresponding BS depending on the location of the MS. The MS, however, can process data in a frame transmitted by a BS only if the MS can correctly detect a preamble sequence in the frame. Specifically, the MS can perform frame synchronization and retrieval of a cell ID (IDcell) and a segment number of the BS from the frame if the MS can detect the preamble sequence in the frame.
Referring now to FIG. 4, OFDMA systems may use 1024 and 512 sub-carriers to modulate and transmit data. OFDMA systems using 1024 and 512 sub-carriers are generally referred to as OFDMA systems having 1024 and 512 FFT modes, respectively. Additionally, I.E.E.E. 802.16e supports 128 FFT and 2048 FFT modes.
A total of 114 preamble sequences exist for OFDMA systems that use fast Fourier transforms (FFT) to modulate 1024 and 512 sub-carriers. Each preamble sequence is unique. That is, each preamble sequence is distinct from another preamble sequence and is identified by an index number. The index number may be referred to as preamble sequence index. Each preamble sequence is 284 and 143 bits long for 1024 and 512 FFT modes, respectively.
Since one MS may typically communicate with up to three base stations, each BS modulates every third sub-carrier. That is, each BS modulates one of every three sub-carriers. Additionally, each BS uses only one bit of the total bits in a preamble sequence when modulating every third sub-carrier. For example, in 1024 FFT mode, the BS may use bit numbers 1, 2, 3, . . . , etc., of the 284 bits in a preamble sequence to modulate sub-carrier numbers 1, 4, 7, . . . , etc., of the 1024 sub-carriers, respectively.
Each BS may use the same set of sub-carriers. Each segment in a BS, however, uses distinct sub-carriers at least for preamble purposes. For example, for each BS, segment 1 (SEG1) may use sub-carriers 0, 3, 6, 9, . . . , etc.; segment 2 (SEG2) may use sub-carriers 1, 4, 7, 10, etc.; and segment 3 (SEG3) may use sub-carriers 2, 5, 8, 11, . . . , etc.
Consequently, the MS receives distinct signals from each BS. For example, the MS may receive signals from SEG2 of BS2 on sub-carriers 1, 4, 7, 10, . . . , etc., from SEG1 of BS3 on sub-carriers 0, 3, 6, 9, . . . , etc., and from SEG 3 of BS1 on sub-carriers 2, 5, 8, 11, . . . , etc. Thus, the signals received by the MS may not interfere with each other since their sub-carriers are distinct.
A set of sub-carriers for segment n may be mathematically expressed as follows.

PreambleCarrierSetn=n+3k 

where 0≦k≦283 for 1024 FFT mode and 0≦k≦142 for 512 FFT mode. Additionally, there may be 86 guard sub-carriers on the left and right ends of the spectrum in 1024 FFT mode. In the 512 FFT mode, there may be 42 guard sub-carriers on the left end and 41 guard sub-carriers on the right end.

Typically, when the receiver in the MS is turned on, the MS initially performs symbol timing and carrier frequency synchronization before the MS can detect a preamble sequence. The MS may perform these tasks using a cyclic prefix in the data frame. Thereafter, the MS determines whether a first symbol in the frame is a preamble symbol. If the first symbol is a preamble symbol, then the MS determines which preamble sequence is present in the frame. Once the MS determines the preamble sequence, the MS can associate with a corresponding segment of an appropriate BS.
Symbols in preamble sequences (i.e., preamble symbols) typically have higher energy than data symbols. For example, the energy of the preamble symbols is typically 8/3 times (i.e., 4.26 dB higher than) the energy of data symbols. This is useful in distinguishing preamble symbols from data symbols.
Additionally, the preamble sequences are almost orthogonal. That is, a cross-correlation between any two preamble sequences is very small. For example, the cross-correlation is typically less than 0.2. This is useful in distinguishing individual preamble sequences from one another. As shown in the table in FIG. 4, if the MS detects a preamble sequence having an index 0, then the MS associates with segment 0 of BS having cell ID 0, and so on.
Base stations and mobile stations may be configured to operate in WiMAX wireless networks. WiMAX is a standards-based technology enabling wireless broadband access as an alternative to wired broadband like cable and DSL. WiMAX provides fixed, nomadic, portable, and mobile wireless connectivity without the need for a direct line-of-sight with a base station. WiMAX technology may be incorporated in portable electronic devices such as notebook computers, personal digital assistants (PDAs), etc. The WiMAX standards enumerated in “Stage 2 Verification And Validation Readiness Draft,” Release 1, dated Aug. 8, 2006 and “Stage 3 Verification And Validation Readiness Draft,” Release 1, dated Aug. 8, 2006 are incorporated herein by reference in their entirety.
Mobile WiMAX supports a full range of smart antenna technologies including beamforming, spatial multiplexing, etc., to enhance system performance. Mobile WiMAX supports adaptive switching between these options to maximize the benefit of smart antenna technologies under different channel conditions. Smart antenna technologies typically involve complex vector and matrix operations on signals due to multiple antennas. Typically, base stations may have at least two transmit antennas but may transmit preamble symbols via only one transmit antenna. Mobile stations may have at least two receive antennas and may receive signals via more than one receive antenna.
Referring now to FIGS. 5A-5D, a system 150 for detecting preamble sequences in a mobile station (MS) having at least two receive antennas may be implemented in a physical layer (PHY) module 152 of the MS. The system 150 comprises a correlation module 154 and a control module 156. The correlation module 154 receives input signals transmitted by a base station (BS).
The correlation module 154 receives the input signals via the receive antennas. The input signals received by the receive antennas may be mathematically expressed as follows.




  
    
      
        
          
            Y
            1
          
          ⁡
          
            [
            k
            ]
          
        
        =
        
          
            
              
                H
                1
              
              ⁡
              
                [
                k
                ]
              
            
            ⁢
            
              
                X
                i
              
              ⁡
              
                [
                k
                ]
              
            
          
          +
          
            
              Z
              1
            
            ⁡
            
              [
              k
              ]
            
          
        
      
    
  
  
    
      ⋮
    
  
  
    
      
        
          
            Y
            R
          
          ⁡
          
            [
            k
            ]
          
        
        =
        
          
            
              
                H
                R
              
              ⁡
              
                [
                k
                ]
              
            
            ⁢
            
              
                X
                i
              
              ⁡
              
                [
                k
                ]
              
            
          
          +
          
            
              Z
              R
            
            ⁡
            
              [
              k
              ]
            
          
        
      
    
  




where k is sub-carrier index, i is preamble sequence index, R is total number of receive antennas, and Xi[k] is transmit signal corresponding to preamble sequence index i at sub-carrier k. Additionally, Yr[k], Hr[k], and Zr[k] are received signal (i.e., input signal), channel gain, and noise for a receive antenna r at sub-carrier k, respectively. That is, each of R receive antennas receives a separate input signal having separate channel and noise.

When a preamble bit (i.e., a preamble symbol) in a preamble sequence is 0, the corresponding transmit signal Xi[k] is 1. When a preamble bit in a preamble sequence is 1, the corresponding transmit signal Xi[k] is −1. That is, when a preamble bit in a preamble sequence is 1, the channel phase of the sub-carrier in the transmit signal Xi[k] is shifted by π relative to the channel phase of the sub-carrier when a preamble bit in a preamble sequence is 0.
The system 150 detects a preamble sequence in the input signals received by the receive antennas as follows. The correlation module 154 correlates the input signals received by the receive antennas with preamble sequences and generates correlation values. The preamble sequences may be stored in memory in the correlation module 154 or the control module 156. Based on the correlation values, the control module 156 initially determines whether a first symbol in the input signals is a preamble symbol or a data symbol. If the first symbol is a preamble symbol, then the control module 156 determines an index i of the preamble sequence. Based on the index i of the preamble sequence detected, the control module 156 determines which segment transmitted the preamble sequence. Accordingly, the MS associates with that segment.
When all k sub-carriers have a common channel gain Hr (i.e., when Hr[k] is independent of k) and the same random channel phase, the k sub-carriers are referred to as “almost flat frequency channels.” For almost flat frequency channels, the input signals may be mathematically expressed as follows.




  
    
      
        Y
        r
      
      ⁡
      
        [
        k
        ]
      
    
    =
    
      
        
          
            
              H
              r
            
            ⁡
            
              [
              k
              ]
            
          
          ⁢
          
            
              X
              i
            
            ⁡
            
              [
              k
              ]
            
          
        
        +
        
          
            Z
            r
          
          ⁡
          
            [
            k
            ]
          
        
      
      ≈
      
        
          
            H
            r
          
          ⁢
          
            
              X
              i
            
            ⁡
            
              [
              k
              ]
            
          
        
        +
        
          
            Z
            r
          
          ⁡
          
            [
            k
            ]
          
        
      
    
  
  
    
      ∑
      
        k
        ∈
        
          P
          s
        
      
    
    ⁢
    
      
    
    ⁢
    
      
        
        
          
            X
            0
          
          ⁡
          
            [
            k
            ]
          
        
        
      
      2
    
  




A cross-correlation between different preamble sequences is given by the following formula.




  
    
      max
      
        i
        ,
        
          j
          ≠
          i
        
      
    
    ⁢
    
      {
      
        
          
          
            
              ∑
              
                k
                ∈
                
                  P
                  
                    s
                    ⁡
                    
                      (
                      i
                      )
                    
                  
                
              
            
            ⁢
            
              
                
                  X
                  i
                
                ⁡
                
                  [
                  k
                  ]
                
              
              ⁢
              
                
                  X
                  j
                  *
                
                ⁡
                
                  [
                  k
                  ]
                
              
            
          
          
        
        
          
            ∑
            
              k
              ∈
              
                P
                
                  s
                  ⁡
                  
                    (
                    i
                    )
                  
                
              
            
          
          ⁢
          
            
              
              
                
                  X
                  i
                
                ⁡
                
                  [
                  k
                  ]
                
              
              
            
            2
          
        
      
      }
    
  
  ≈
  
    0.1620
    ⁢
    
      
    
    ⁢
    for
    ⁢
    
      
    
    ⁢
    1024
    ⁢
    
      
    
    ⁢
    FFT
  




where Ps=set of pilot sub-carriers for segment s except left most pilot sub-carrier, and s(i)=segment number for a preamble sequence index i. FIG. 5B shows cross-correlation values normalized by for 1024 FFT mode.

Since the cross-correlation between different preamble sequences is small, the correlation module 154 correlates the input signal received by each of R receive antennas with all j preamble sequences as follows.




  
    C
    
      j
      ,
      r
    
  
  =
  
    
      ∑
      
        k
        ∈
        
          P
          
            s
            ⁡
            
              (
              j
              )
            
          
        
      
    
    ⁢
    
      
        
          Y
          r
        
        ⁡
        
          [
          k
          ]
        
      
      ⁢
      
        
          X
          j
          *
        
        ⁡
        
          [
          k
          ]
        
      
    
  




Specifically, the correlation module 154 correlates all modulated sub-carriers in each input signal with each of j preamble sequences. Thus, the correlation module 154 generates j correlation values per receive antenna. For example, in 1024 FFT mode, the correlation module 154 correlates each input signal with each of the 114 preamble sequences and generates 114 correlation values per receive antenna.

The control module 156 adds magnitudes of correlation values of each input signal that correspond to the same preamble sequence, generates j correlation sums, and selects a largest correlation sum from the j correlation sums. This is mathematically expressed as follows.




  
    i
    ^
  
  =
  
    
      
        arg
        ⁢
        
          
        
        ⁢
        max
      
      j
    
    ⁢
    
      {
      
        
          ∑
          
            r
            =
            1
          
          R
        
        ⁢
        
          
          
            C
            
              j
              ,
              r
            
          
          
        
      
      }
    
  




Specifically, the correlation module 154 may generate correlation values C11, C21, . . . , Cj1 by correlating j preamble sequences with the input signal received by receive antenna 1, C12, C22, . . . , Cj2 by correlating j preamble sequences with the input signal received by receive antenna 2, etc. The control module 156 adds magnitudes of C11 and C12, C21 and C22, . . . , Cj1 and Cj2 and generates correlation sums C1, C2, . . . , Cj respectively.

The control module 156 compares the largest correlation sum to a predetermined threshold. The predetermined threshold is a function of signal strength of the input signals. If the largest correlation sum is greater than or equal to the predetermined threshold, the control module 156 determines that a preamble sequence is detected in the input signals.
Thereafter, the control module 156 determines which segment transmitted the preamble sequence that the control module 156 detected in the input signal. The input signals may be transmitted by up to three different segments of three different base stations. The control module 156 determines which segment transmitted the preamble sequence implicitly when the control module 156 detects the preamble sequence. This is because each preamble sequence is unique as identified by a unique preamble sequence index number, and each segment transmits a unique preamble sequence using distinct sub-carriers.
Thus, when the control module 156 detects the preamble sequence by selecting the largest correlation sum, the control module 156 implicitly selects the segment having maximum channel gain. Thus, when the control module 156 detects the preamble sequence, the control module 156 implicitly detects which segment transmitted the preamble sequence.
Occasionally, the input signals may comprise a carrier frequency offset (CFO). The CFO may be fractional or integer. The CFO in the input signals received by the receive antennas may be approximately the same. In that case, the input signals comprising a fractional CFO p may be mathematically expressed as follows.

Yr[k]=C(ε,0)Hr[k]Xi[k]+Ir(ε,k)+Zr[k]

where ε=ΔfNT represents normalized CFO.

The fractional CFO introduces Inter-carrier interference (ICI) as given by the following equation.




  
    
      I
      r
    
    ⁡
    
      (
      
        ɛ
        ,
        k
      
      )
    
  
  =
  
    
      ∑
      
        p
        =
        1
      
      
        N
        -
        1
      
    
    ⁢
    
      
        C
        ⁡
        
          (
          
            ɛ
            ,
            p
          
          )
        
      
      ⁢
      
        
          H
          r
        
        ⁡
        
          [
          
            
              (
              
                (
                
                  k
                  -
                  p
                
                )
              
              )
            
            N
          
          ]
        
      
      ⁢
      
        
          X
          i
        
        ⁡
        
          [
          
            
              (
              
                (
                
                  k
                  -
                  p
                
                )
              
              )
            
            N
          
          ]
        
      
    
  




where N equals total number of sub-carriers (e.g., N=1024 in 1024 FFT mode), and





  
    C
    ⁡
    
      (
      
        ɛ
        ,
        p
      
      )
    
  
  =
  
    
      
        sin
        ⁡
        
          (
          
            π
            ⁡
            
              (
              
                ɛ
                -
                p
              
              )
            
          
          )
        
      
      
        N
        ⁢
        
          
        
        ⁢
        
          sin
          ⁡
          
            (
            
              
                π
                ⁡
                
                  (
                  
                    ɛ
                    -
                    p
                  
                  )
                
              
              /
              N
            
            )
          
        
      
    
    ⁢
    
      e
      
        
          jπ
          ⁡
          
            (
            
              ɛ
              -
              p
            
            )
          
        
        ⁢
        
          (
          
            l
            -
            
              1
              /
              N
            
          
          )
        
      
    
  




Additionally, the fractional CFO decreases signal to noise ratio
(SNR) of the input signals. This is mathematically expressed as follows.




  
    E
    ⁡
    
      [
      
        
          SNR
          r
        
        ⁡
        
          (
          
            ɛ
            ,
            k
          
          )
        
      
      ]
    
  
  ≈
  
    
      
        
          
          
            C
            ⁡
            
              (
              
                ɛ
                ,
                0
              
              )
            
          
          
        
        2
      
      ⁢
      
        SNR
        
          r
          ,
          0
        
      
    
    
      
        
          (
          
            1
            -
            
              
                
                
                  C
                  ⁡
                  
                    (
                    
                      ɛ
                      ,
                      0
                    
                    )
                  
                
                
              
              2
            
          
          )
        
        ⁢
        
          SNR
          
            r
            ,
            0
          
        
      
      +
      1
    
  




where SNRr,0 represents average SNR of receive antenna r in absence of CFO. SNR decreases as CFO increases.
Since fractional CFO introduces ICI and attenuates the input signals, the fractional CFO adversely affects preamble sequence detection in system 150. The fractional CFO, however, does not affect the preamble sequence detection significantly. This is because the fractional CFO adds a phase error that is common to all sub-carriers and all receive antennas, which does not change the frequency selectivity of the channels.
On the other hand, when the CFO is an integer l, a phase error θ introduced by the integer CFO may be common to all k sub-carriers. Additionally, the integer CFO may be similar in the input signals received by each receive antenna. In that case, the input signals comprising the integer CFO l may be mathematically expressed as follows.

Yr[k]=ejθHr[((k−l))N]Xi[((k−l))N]+Zr[((k−l))N]

Specifically, the integer CFO causes a cyclic shift of the input signals in the frequency domain. In other words, the integer CFO rotates the input signals in the frequency domain. Accordingly, the correlation module 154 correlates preamble sequences with shifted versions of input signals as given by the following equation.




  
    C
    
      j
      ,
      r
      ,
      m
    
  
  =
  
    
      ∑
      
        k
        ∈
        
          P
          
            s
            ⁡
            
              (
              j
              )
            
          
        
      
    
    ⁢
    
      
        
          Y
          r
        
        ⁡
        
          [
          
            
              (
              
                (
                
                  k
                  -
                  m
                
                )
              
              )
            
            N
          
          ]
        
      
      ⁢
      
        
          X
          j
          *
        
        ⁡
        
          [
          k
          ]
        
      
    
  




The control module 156 detects a preamble sequence by selecting a maximum correlation value according to the following equation.




  
    (
    
      
        i
        ^
      
      ,
      
        l
        ^
      
    
    )
  
  =
  
    
      
        arg
        ⁢
        
          
        
        ⁢
        max
      
      
        (
        
          j
          ,
          m
        
        )
      
    
    ⁢
    
      {
      
        
          ∑
          
            r
            =
            1
          
          R
        
        ⁢
        
          
          
            C
            
              j
              ,
              r
              ,
              m
            
          
          
        
      
      }
    
  




Simultaneously, the control module 156 also estimates the integer CFO l^. FIG. 5C shows maximum correlation values normalized by





  
    ∑
    
      k
      ∈
      
        P
        
          s
          ⁡
          
            (
            0
            )
          
        
      
    
  
  ⁢
  
    
      
        
        
          
            X
            0
          
          ⁡
          
            [
            k
            ]
          
        
        
      
      2
    
    .
  




Occasionally, the channel of each receive antenna may not be almost frequency flat. That is, the sub-carriers in a channel may not have a common channel gain. In other words, Hr[k] may not be independent of k. In that case, the channel gain may vary with frequency of sub-carriers as shown in FIG. 5D. Such a channel is called highly frequency selective channel. In a highly frequency selective channel, the variation in channel gain may significantly change the channel phase of sub-carriers and distort the correlation between transmitted and expected preamble sequences. Consequently, the system 150 may not reliably detect correct preamble sequences by correlating all of the sub-carriers in input signals with the preamble sequences.
However, the system 150 can estimate a preamble sequence index by partitioning channels into bands, wherein the channels may be relatively frequency flat, and then correlating on a per-band basis. Specifically, for each signal received by the receive antennas, the control module 156 partitions the total number of sub-carriers into a predetermined number of bands. If N denotes total number of sub-carriers in a channel, the control module 156 divides the channel into L bands, each comprising NIL consecutive sub-carriers as shown in FIG. 5D. For example, in 1024 FFT mode, the control module 156 may divide the 1024 sub-carriers into 16 bands, each comprising 64 successive sub-carriers. Thus, band 1 may include sub-carriers 1-64, band 2 may include sub-carriers 65-128, . . . , and band 16 may include sub-carriers 961-1024.
Although the channel gain may vary across the bands, the channel gain may not vary significantly among the sub-carriers within individual bands. The correlation module 154 performs correlation on a per-band basis for each receive antenna. That is, the correlation module 154 correlates input signals received by the receive antennas with all the preamble sequences on a per-band basis.
Specifically, the correlation module 154 correlates symbols in a band of an input signal received by a first antenna with corresponding symbols in a preamble sequence, and generates correlation values for the band, which may be called intra-band correlation values. The control module 156 adds the intra-band correlation values to generate a sum and generates a magnitude of the sum, which may be called a band correlation value.
Thus for a first preamble sequence, the control module 156 generates L band correlation values. The control module 156 adds the L band correlation values to generate a correlation value C11 for the first preamble sequence and the input signal received by the first receive antenna. The correlation module 154 similarly correlates all j preamble sequences with the input signal received by the first receive antenna, and the control module 156 generates j correlation values C11, C21, . . . , Cj1.
Correlation values C12, C22, . . . , Cj2 are similarly generated by correlating j preamble sequences with the input signal received by antenna 2, etc. The control module 156 adds magnitudes of C11 and C12, C21 and C22, . . . , Cj1 and Cj2 and generates correlation sums C1, C2, . . . , Cj, respectively.
The control module 156 selects a largest of the correlation sums and compares the largest correlation sum to a predetermined threshold, which is a function of signal strength of the input signals. If the largest correlation sum is greater than or equal to the predetermined threshold, the control module 156 determines that a preamble sequence is detected in the input signals. The control module 156 implicitly determines which segment transmitted the input signals based on the detected preamble sequence. The effect of variation in channel gain on the channel phase of sub-carriers and the consequent distortion in correlation is minimized by correlating on a per-band basis and by generating correlation values based on band correlation values, which are magnitudes (i.e., absolute values).
Referring now to FIGS. 6A-6C, a system 160 for detecting preamble sequences in a mobile station (MS) having at least two receive antennas may be implemented in a physical layer (PHY) module 162 of the MS. The system 160 comprises a differential demodulation module 164, a summing module 165, a correlation module 166, and a control module 168.
The differential demodulation module 164 receives input signals transmitted by a base station (BS). The differential demodulation module 164 receives the input signals via the receive antennas. The input signals received by the receive antennas may be mathematically expressed as follows.




  
    
      
        
          
            Y
            1
          
          ⁡
          
            [
            k
            ]
          
        
        =
        
          
            
              
                H
                1
              
              ⁡
              
                [
                k
                ]
              
            
            ⁢
            
              
                X
                i
              
              ⁡
              
                [
                k
                ]
              
            
          
          +
          
            
              Z
              1
            
            ⁡
            
              [
              k
              ]
            
          
        
      
    
  
  
    
      ⋮
    
  
  
    
      
        
          
            Y
            R
          
          ⁡
          
            [
            k
            ]
          
        
        =
        
          
            
              
                H
                R
              
              ⁡
              
                [
                k
                ]
              
            
            ⁢
            
              
                X
                i
              
              ⁡
              
                [
                k
                ]
              
            
          
          +
          
            
              Z
              R
            
            ⁡
            
              [
              k
              ]
            
          
        
      
    
  




where k is sub-carrier index, i is preamble sequence index, R is number of receive antennas, and Xi[k] is transmit signal corresponding to preamble sequence index i at sub-carrier k. Additionally, Yr[k], Hr[k], and Zr[k] are received signal (i.e., input signal), channel gain, and noise for a receive antenna r at sub-carrier k, respectively. That is, each of R receive antennas receives a separate input signal having separate channel and noise.

Adjacent modulated sub-carriers (i.e., sub-carriers 1, 4, 7, etc.) may have similar channel phase or an unknown differential channel phase that is common to all k sub-carriers. The unknown differential channel phase may be caused by presence of a symbol timing offset, which in turn may be caused by improper symbol timing synchronization. When adjacent modulated sub-carriers have similar channel phase, the channel phase difference between adjacent modulated sub-carriers is nearly zero.
On the other hand, when adjacent modulated sub-carriers have an unknown differential channel phase that is common to all k sub-carriers, the channel phase difference between adjacent modulated sub-carriers may be non-zero. When adjacent modulated sub-carriers have similar channel phase or unknown differential channel phase common to all sub-carriers, the sub-carriers are generally referred to as “moderately frequency selective channels.”
The differential demodulation module 164 performs a differential demodulation operation on each of the input signals and generates differentially demodulated signals. Specifically, the differential demodulation module 164 multiplies a modulated sub-carrier in an input signal by a complex conjugate of an adjacent modulated sub-carrier located three sub-carriers apart. This operation is called differential demodulation operation.
When the adjacent modulated sub-carriers have similar channel phase, the differentially demodulated signals can be mathematically expressed as follows.

Mr[k]=Yr*[k−3]Yr[k]=Hr[k]Hr*[k−3]Di[k]+{tilde over (Z)}r[k]≈|Hr[k]Hr*[k−3]|Di[k]+{tilde over (Z)}r[k]

where Y*[k−3] denotes a complex conjugate of a modulated sub-carrier that is three sub-carriers apart from the modulated sub-carrier Y[k]. The complex conjugate is indicated by asterisk or “*”.

Since the adjacent modulated sub-carriers have similar channel phase, the channel phase difference between the adjacent modulated sub-carriers is nearly zero. That is,

∠(H[k]H*[k−3])≈0

The summing module 165 sums the differentially demodulated signals and generates a combined differentially demodulated signal as follows.




  
    M
    ⁡
    
      [
      k
      ]
    
  
  =
  
    
      
        ∑
        
          r
          =
          1
        
        R
      
      ⁢
      
        
          M
          r
        
        ⁡
        
          [
          k
          ]
        
      
    
    ≈
    
      
        
          (
          
            
              ∑
              
                r
                =
                1
              
              R
            
            ⁢
            
              
              
                
                  
                    H
                    r
                  
                  ⁡
                  
                    [
                    k
                    ]
                  
                
                ⁢
                
                  
                    H
                    r
                    *
                  
                  ⁡
                  
                    [
                    
                      k
                      -
                      3
                    
                    ]
                  
                
              
              
            
          
          )
        
        ⁢
        
          
            D
            i
          
          ⁡
          
            [
            k
            ]
          
        
      
      +
      
        
          ∑
          
            r
            =
            1
          
          R
        
        ⁢
        
          
            
              Z
              ~
            
            r
          
          ⁡
          
            [
            k
            ]
          
        
      
    
  




The correlation module 166 or the control module 168 stores XOR'ed versions of preamble sequences in memory. XOR'ed versions of preamble sequences may also be referred to as derived preamble sequences. An XOR'ed or derived preamble sequence is generated by XORing adjacent bits in the preamble sequence.
For example, if one of the 114 preamble sequences in 1024 FFT mode includes bits B1, B2, B3, . . . , B284, then an XOR'ed version of that preamble sequence includes bits X1, X2, X3, . . . , X284, where X1=B1{circle around (+)}B2, X2=B2{circle around (+)}B3, etc. The derived preamble sequences may be mathematically expressed as follows.

Di[k]=Xi[k]Xi*[k−3]

where the asterisk (i.e.,“*”) denotes a complex conjugate. Actually performing complex conjugate operations to generate complex conjugates, however, is unnecessary since complex conjugates of 1 and −1 are 1 and −1, respectively. That is, 1*=1, and (−1)*=−1.

A cross-correlation between the derived preamble sequences is given by the following formula.




  
    
      max
      
        i
        ,
        
          j
          ≠
          i
        
      
    
    ⁢
    
      {
      
        
          
            ∑
            
              k
              ∈
              
                P
                
                  s
                  ⁡
                  
                    (
                    i
                    )
                  
                
              
            
          
          ⁢
          
            
              
                D
                i
              
              ⁡
              
                [
                k
                ]
              
            
            ⁢
            
              
                D
                j
                *
              
              ⁡
              
                [
                k
                ]
              
            
          
        
        
          
            ∑
            
              k
              ∈
              
                P
                
                  s
                  ⁡
                  
                    (
                    i
                    )
                  
                
              
            
          
          ⁢
          
            
              
              
                
                  D
                  i
                
                ⁡
                
                  [
                  k
                  ]
                
              
              
            
            2
          
        
      
      }
    
  
  ≈
  
    0.1731
    ⁢
    
      
    
    ⁢
    for
    ⁢
    
      
    
    ⁢
    1024
    ⁢
    
      
    
    ⁢
    FFT
  




FIG. 6B shows cross-correlation values normalized by for 1024 FFT





  
    ∑
    
      k
      ∈
      
        P
        
          s
          ⁡
          
            (
            0
            )
          
        
      
    
  
  ⁢
  
    
      
      
        
          D
          0
        
        ⁡
        
          [
          k
          ]
        
      
      
    
    2
  




mode.

Since the cross-correlation between the derived preamble sequences is small, the correlation module 166 correlates the combined differentially demodulated signal with the derived preamble sequences as follows.




  
    
  
  ⁢
  
    
      C
      j
    
    =
    
      
        ∑
        
          k
          ∈
          
            P
            
              s
              ⁡
              
                (
                j
                )
              
            
          
        
      
      ⁢
      
        
          M
          ⁡
          
            [
            k
            ]
          
        
        ⁢
        
          
            D
            j
            *
          
          ⁡
          
            [
            k
            ]
          
        
      
    
  




The correlation module 166 correlates all k sub-carriers in the combined differentially demodulated signal with each of j derived preamble sequences and generates j correlation values. For example, in the 1024 FFT mode, the correlation module 166 correlates all k sub-carriers with 114 derived preamble sequences and generates 114 correlation values. Since the values of Dj[k] (reference to complex conjugate by “*” omitted) are either 1 or −1, effectively M[k]Dj[k]=±M[k].
The correlation values are complex numbers, which have real and imaginary parts. The imaginary parts of the correlation values represent noise in the input signals. The control module 168 disregards the imaginary parts since:

∠(H[k]H*[k−3])≈0

The control module 168 selects a correlation value having a largest real part. This is mathematically expressed as follows.




  
    i
    ^
  
  =
  
    
      
        arg
        ⁢
        
          
        
        ⁢
        max
      
      j
    
    ⁢
    
      {
      
        Re
        ⁢
        
          {
          
            C
            j
          
          }
        
      
      }
    
  




The control module 168 compares the largest real part to a predetermined threshold. The predetermined threshold is a function of signal strength of the input signal. If the largest real part is greater than or equal to the predetermined threshold, the control module 168 determines that a preamble sequence is detected in the input signals. As in system 150, the control module 168 implicitly determines which segment transmitted the preamble sequence when the control module 168 detects the preamble sequence.

On the other hand, when the adjacent modulated sub-carriers have an unknown differential channel phase θ that is common to all k sub-carriers in the input signals, the differentially demodulated signals generated by the differential demodulation module 164 are given by the following equation.

Mr[k]Hr[k]Hr*[k−3]Di[k]+{tilde over (Z)}r[k]≈ejθ|Hr[k]Hr*[k−3]|Di[k]+{tilde over (Z)}r[k]

where ∠(H[k]H*[k−3])≈θ is not zero.

The summing module 165 sums the differentially demodulated signals and generates a combined differentially demodulated signal as follows.




  
    M
    ⁡
    
      [
      k
      ]
    
  
  =
  
    
      
        ∑
        
          r
          =
          1
        
        R
      
      ⁢
      
        
          M
          r
        
        ⁡
        
          [
          k
          ]
        
      
    
    ≈
    
      
        
          
            e
            
              j
              ⁢
              
                
              
              ⁢
              θ
            
          
          ⁡
          
            (
            
              
                ∑
                
                  r
                  =
                  1
                
                R
              
              ⁢
              
                
                
                  
                    
                      H
                      r
                    
                    ⁡
                    
                      [
                      k
                      ]
                    
                  
                  ⁢
                  
                    
                      H
                      r
                      *
                    
                    ⁡
                    
                      [
                      
                        k
                        -
                        3
                      
                      ]
                    
                  
                
                
              
            
            )
          
        
        ⁢
        
          
            D
            i
          
          ⁡
          
            [
            k
            ]
          
        
      
      +
      
        
          ∑
          
            r
            =
            1
          
          R
        
        ⁢
        
          
            
              Z
              ~
            
            r
          
          ⁡
          
            [
            k
            ]
          
        
      
    
  




Since the cross-correlation between the derived preamble sequences is small, the correlation module 166 correlates the combined differentially demodulated signal with the derived preamble sequences and generates correlation values similar to when the adjacent modulated sub-carriers have similar channel phase. However, because ∠(H[k]H*[k−3])≈θ is not zero, the control module 168 calculates magnitude of the largest correlation value instead of selecting real part of the largest correlation value. That is, the control module 168 does not disregard the imaginary part of the largest correlation value. This is mathematically expressed as follows.




  
    i
    ^
  
  =
  
    
      
        arg
        ⁢
        
          
        
        ⁢
        max
      
      j
    
    ⁢
    
      {
      
        
        
          C
          j
        
        
      
      }
    
  




The control module 168 compares the magnitude of the largest correlation value to a predetermined threshold. The predetermined threshold is a function of signal strength of the input signal. If the magnitude of the largest correlation value is greater than or equal to the predetermined threshold, the control module 168 determines that a preamble sequence is detected in the input signals. As in system 150, the control module 168 implicitly determines which segment transmitted the preamble sequence when detecting the preamble sequence.
As in system 150, the preamble sequence detection in system 160 is not affected by a fractional CFO present in the input signals. When an integer CFO is present in the input signals, the differential demodulation module 164 differentially demodulates the input signals having the integer CFO. The summing module 165 sums the differentially demodulated signals and generates a combined differentially demodulated signal having the integer CFO.
The correlation module 166 correlates derived preamble sequences with the combined differentially demodulated signal having the integer CFO, and the control module 168 performs preamble detection according to the channel phase of adjacent modulated sub-carriers. That is, the control module 168 elects between real part and magnitude of the largest correlation value depending on whether the adjacent modulated sub-carriers have substantially the same channel phase or common unknown differential channel phase. FIG. 6C shows maximum correlation values normalized by




  
    ∑
    
      k
      ∈
      
        P
        
          s
          ⁡
          
            (
            0
            )
          
        
      
    
  
  ⁢
  
    
      
        
        
          
            D
            0
          
          ⁡
          
            [
            k
            ]
          
        
        
      
      2
    
    .
  




Occasionally, the input signals may have a small symbol timing offset due to improper symbol timing synchronization, which is performed when the MS is powered up. The symbol timing offset may cause inter-symbol interference (ISI). Additionally, the symbol timing offset may cause an inter-carrier interference (ICI). The input signals having a symbol timing offset can be mathematically expressed as follows.




  
    
      Y
      r
    
    ⁡
    
      [
      k
      ]
    
  
  =
  
    
      
        exp
        ⁡
        
          (
          
            
              j
              ⁢
              
                
              
              ⁢
              2
              ⁢
              
                
              
              ⁢
              π
              ⁢
              
                
              
              ⁢
              τ
              ⁢
              
                
              
              ⁢
              k
            
            N
          
          )
        
      
      ⁢
      
        
          H
          r
        
        ⁡
        
          [
          k
          ]
        
      
      ⁢
      
        
          X
          i
        
        ⁡
        
          [
          k
          ]
        
      
    
    +
    
      
        I
        r
      
      ⁡
      
        (
        
          τ
          ,
          k
        
        )
      
    
    +
    
      
        Z
        r
      
      ⁡
      
        [
        k
        ]
      
    
  




where τ represents symbol timing offset and Ir(τ,k) represents 151 and ICI.

Specifically, the symbol timing offset introduces an extra phase offset among the sub-carriers. The phase offset may increase linearly as the sub-carrier index k increases. In that case, system 160 may perform better than system 150. Additionally, the extra phase offset introduced by the symbol timing offset appears in the differentially demodulated signals generated by the differential demodulation module 164 and the combined differentially demodulated signal generated by the summing module 165. Therefore, the system 160 using the largest magnitude of the correlation value to detect a preamble sequence may perform better than the system 160 utilizing the largest real part of the correlation value to detect the preamble sequence.
The differentially demodulated signals with the extra phase offset are mathematically expressed as follows.




  
    
      M
      r
    
    ⁡
    
      [
      k
      ]
    
  
  =
  
    
      
        exp
        ⁡
        
          (
          
            
              j
              ⁢
              
                
              
              ⁢
              6
              ⁢
              
                
              
              ⁢
              π
              ⁢
              
                
              
              ⁢
              τ
            
            N
          
          )
        
      
      ⁢
      
        
          H
          r
        
        ⁡
        
          [
          k
          ]
        
      
      ⁢
      
        
          H
          r
          *
        
        ⁡
        
          [
          
            k
            -
            3
          
          ]
        
      
      ⁢
      
        
          D
          i
        
        ⁡
        
          [
          k
          ]
        
      
    
    +
    
      
        Z
        r
        ′
      
      ⁡
      
        [
        k
        ]
      
    
  




If the linearly increasing phase offset is too large, the control module 168 calculates the magnitude of the largest correlation value instead of selecting a largest real part of a correlation value.

In the system 160 utilizing magnitude of the largest correlation value to detect a preamble sequence, the control module 168 simultaneously estimates symbol timing offset as follows. After calculating the magnitude of the largest correlation value, the control module 168 measures a phase of the correlation value having the largest magnitude. The control module 168 calculates symbol timing offset by multiplying the phase of the correlation value having the largest magnitude by a ratio of N to 3*2π. Mathematically, this may be expressed as follows.



  
    
      C
      j
    
    =
    
      
        ∑
        
          k
          ∈
          
            P
            
              s
              ⁡
              
                (
                j
                )
              
            
          
        
      
      ⁢
      
        
          M
          ⁡
          
            [
            k
            ]
          
        
        ⁢
        
          
            D
            j
            *
          
          ⁡
          
            [
            k
            ]
          
        
      
    
  




  
    
      i
      ^
    
    =
    
      
        
          arg
          ⁢
          
            
          
          ⁢
          max
        
        j
      
      ⁢
      
        {
        
          
          
            C
            j
          
          
        
        }
      
    
  




  
    
      τ
      ^
    
    =
    
      
        N
        
          6
          ⁢
          π
        
      
      ⁢
      ∠
      ⁢
      
        
      
      ⁢
      
        C
        
          i
          ^
        
      
    
  



where ∠Cĩ is the phase angle of the correlation value having the largest magnitude, and N is total number of sub-carriers in an FFT mode (e.g., N=1024 in 1024 FFT mode). Additionally, multiplier 3 is used to multiply 2π since every third sub-carrier is modulated. Thus, the multiplier may be P when every Pth sub-carrier is modulated, where P is an integer greater than or equal to 1.

Referring now to FIGS. 7A-7C, a system 180 for detecting preamble sequences in a mobile station (MS) having at least two receive antennas may be implemented in a physical layer (PHY) module 182 of the MS. The system 180 comprises a differential demodulation module 164, a summing module 165, a state detection module 185, a modulo-2 summing module 186, and a control module 188 as shown in FIG. 7A.
The differential demodulation module 164 receives input signals transmitted by a base station (BS). The differential demodulation module 164 receives the input signals received via at least two receive antennas. The input signals may be mathematically expressed as follows.




  
    
      
        
          
            Y
            1
          
          ⁡
          
            [
            k
            ]
          
        
        =
        
          
            
              
                H
                1
              
              ⁡
              
                [
                k
                ]
              
            
            ⁢
            
              
                X
                i
              
              ⁡
              
                [
                k
                ]
              
            
          
          +
          
            
              Z
              1
            
            ⁡
            
              [
              k
              ]
            
          
        
      
    
  
  
    
      ⋮
    
  
  
    
      
        
          
            Y
            R
          
          ⁡
          
            [
            k
            ]
          
        
        =
        
          
            
              
                H
                R
              
              ⁡
              
                [
                k
                ]
              
            
            ⁢
            
              
                X
                i
              
              ⁡
              
                [
                k
                ]
              
            
          
          +
          
            
              Z
              R
            
            ⁡
            
              [
              k
              ]
            
          
        
      
    
  




where k is sub-carrier index, i is preamble sequence index, R is number of receive antennas, and Xi[k] is transmit signal corresponding to preamble sequence index i at sub-carrier k. Additionally, Yr[k], K[k], and Zr[k] are received signal (i.e., input signal), channel gain, and noise for a receive antenna r at sub-carrier k, respectively. That is, each of R receive antennas receives a separate input signal having separate channel and noise.

The differential demodulation module 164 performs a differential demodulation operation on the input signals and generates differentially demodulated signals. Specifically, the differential demodulation module 164 multiplies a modulated sub-carrier in an input signal by a complex conjugate of an adjacent modulated sub-carrier located three sub-carriers apart.
When the adjacent modulated sub-carriers have similar channel phase (i.e., when ∠(H[k]H*[k−3])≈0), the differentially demodulated signals can be mathematically expressed as follows.

Mr[k]=Yr*[k−3]Yr[k]=Hr[k]Hr*[k−3]Di[k]+{tilde over (Z)}r[k]≈|Hr[k]Hr*[k−3]|Di[k]+{tilde over (Z)}r[k]

where Y*[k−3] denotes a complex conjugate of a modulated sub-carrier that is three sub-carriers apart from the modulated sub-carrier Y[k]. The complex conjugate is indicated by asterisk or “*”. Additionally, XOR'ed versions of preamble sequences, called derived preamble sequences, are expressed by the following equation.

Di[k]=Xi[k]Xi*[k−3]

The derived preamble sequences have a very low cross-correlation (e.g., 0.1731 for 1024 FFT) and may be stored in the control module 188.

For moderately frequency selective channels with high signal-to-noise ratio (SNR),

{tilde over (Z)}[k]<<|H[k]H*[k−3]|Di[k]

Thus, the differentially demodulated signals can be represented by the following equation.

Mr[k]=Hr[k]Hr*[k−3]Di[k]+{tilde over (Z)}r[k]≈|Hr[k]Hr*[k−3]|Di[k]

The summing module 165 sums the differentially demodulated signals and generates a combined differentially demodulated signal as follows.




  
    M
    ⁡
    
      [
      k
      ]
    
  
  =
  
    
      
        ∑
        
          r
          =
          1
        
        R
      
      ⁢
      
        
          M
          r
        
        ⁡
        
          [
          k
          ]
        
      
    
    ≈
    
      
        (
        
          
            ∑
            
              r
              =
              1
            
            R
          
          ⁢
          
            
            
              
                
                  H
                  r
                
                ⁡
                
                  [
                  k
                  ]
                
              
              ⁢
              
                
                  H
                  r
                  *
                
                ⁡
                
                  [
                  
                    k
                    -
                    3
                  
                  ]
                
              
            
            
          
        
        )
      
      ⁢
      
        
          D
          i
        
        ⁡
        
          [
          k
          ]
        
      
    
  




The sign of the real part of M[k] is the same as the sign of Di[k] in absence of noise and when ∠(H[k]H*[k−3])≈0. That is, when Di[k]=1, M[k] is positive or +1, and when Di[k]=0, M[k] is negative or −1. This may be mathematically expressed as follows.

u(Re{M[k]})=u(Re{Di[k]})

where u represents the sign and Re{M[k]} and Re{Di[k]} represent real parts of M[k] and Di[k], respectively. Thus,





  
    u
    ⁡
    
      (
      x
      )
    
  
  =
  
    {
    
      
        
          1
        
        
          
            
              for
              ⁢
              
                
              
              ⁢
              x
            
            ≥
            0
          
        
      
      
        
          0
        
        
          
            
              for
              ⁢
              
                
              
              ⁢
              x
            
            <
            0
          
        
      
    
  




That is, positive values of real part (e.g., x=+1) represent binary 1s, and negative values of real part (e.g., x=−1) represent binary 0s. Hereinafter, the word “sign” may be used interchangeably with (i.e., synonymously as) “state” and/or “polarity.”

Signs or states of M[k] and Di[k] may be used to simplify implementation of preamble detection as follows. Instead of performing a complex operation of calculating correlation values between M[k] and Di[k], a preamble sequence may be detected by performing XOR operations on (i.e., modulo 2 sums of) signs or states of real parts of M[k] and Di[k]. The XOR operations generate values that are equivalent to correlation values generated by performing correlation of M[k] and Di[k] using a correlation module.
Since XOR operations are simpler to implement than implementing correlation operations, the XOR operations will be hereinafter referred to as low-complexity cross-correlation. Consequently, values generated by the XOR operations will be hereinafter referred to as low-complexity cross-correlation values or cross-correlation values.
The state detection module 185 detects the states or signs of symbols in M[k]. The modulo-2 summing module 186 generates the cross-correlation values for each preamble sequence as follows.




  
    
      C
      ~
    
    j
  
  =
  
    
      ∑
      
        k
        ∈
        
          P
          
            s
            ⁡
            
              (
              j
              )
            
          
        
      
    
    ⁢
    
      
        u
        ⁡
        
          (
          
            Re
            ⁢
            
              {
              
                M
                ⁡
                
                  [
                  k
                  ]
                
              
              }
            
          
          )
        
      
      ⊕
      
        (
        
          1
          -
          
            u
            ⁡
            
              (
              
                
                  D
                  j
                
                ⁡
                
                  [
                  k
                  ]
                
              
              )
            
          
        
        )
      
    
  




where Ps=set of pilot sub-carriers for segment s except left most pilot sub-carrier, and s(j)=segment number for a preamble sequence index j. u(Re{M[k]}) are the signs or states of the real parts of symbols in M[k], and u(Dj[k]) are the signs or states of the derived preamble sequences. Since the states of M[k] and Dj[k] are identical, the XOR of states of M[k] and Dj[k] would be zero. Therefore, instead of using states of (Dj[k]), the modulo-2 summing module 186 uses states (1−u(Dj[k])), which are opposite of states of (Dj[k]). That is, (1−u(Dj[k])) is essentially the same as inverted u(Dj[k]).

For example, if sequence Dj[k] is 10110, then (1−u(Dj[k])) is 01001. Thus, if received sequence in M[k] is the same as the transmitted sequence, the value of the sum Cj ̃ (i.e., the cross-correlation value) would be 5. On the other hand, if the received sequence is different from 10110, the value of the sum Cj ̃ would be less than 5. Stated generally, the cross-correlation value will be largest when a received sequence in the differentially demodulated signal M[k] matches one of differentially demodulated preamble sequences Dj[k].
For simplicity, (1−u(Dj[k])) may be hereinafter referred to as predetermined states of preamble sequences. The control module 188 may store the predetermined states (1−u(Dj[k])) for all preamble sequences. Thus, the state detection module 185 does not have to detect the predetermined states of preamble sequences, and the modulo-2 summing module 186 may read the predetermined states of preamble sequences directly from the control module 188 when performing cross-correlation.
The control module 188 estimates a preamble sequence index i from the cross-correlation values generated by the modulo-2 summing module 186 as follows. The control module 188 selects the preamble sequence index for which the cross-correlation value with the differentially demodulated signal is largest. This may be mathematically expressed as follows.




  
    i
    ^
  
  =
  
    
      
        arg
        ⁢
        
          
        
        ⁢
        max
      
      j
    
    ⁢
    
      {
      
        
          C
          ~
        
        j
      
      }
    
  




The control module 188 determines that a preamble sequence is detected if the magnitude of the largest cross-correlation value is greater than or equal to a predetermined threshold. The predetermined threshold may be based on the strength of the input signal.

Although the system 180 utilizes low-complexity cross-correlation by performing XOR operations instead of actual correlation operations to detect a preamble sequence, the system 180 may reliably detect the preamble sequence. That is, the system 180 may not mis-detect or fail to detect a preamble sequence. This is because of two reasons: First, the pilot sub-carriers for preamble sequences have higher SNRs than regular data sub-carriers since the pilot sub-carriers have approximately 9 dB higher energy than regular data sub-carriers. This helps in distinguishing a preamble symbol from a data symbol and in detecting the preamble symbol, thereby reducing probability of mis-detection or detection failure.
Second, the preamble sequences have high redundancy, which may help in increasing the accuracy with which preamble sequences may be detected despite using XOR operations instead of actual correlation operations. Specifically, in 1024 FFT mode, less than 7 bits would be sufficient to represent 114 preamble sequences (since 27=128, which is more than 114). Additionally, each preamble sequence is 284-bits long wherein 7 bits are encoded to represent 284 symbols, thereby leaving many bits redundant.
The control module 188 determines which segment transmitted the detected preamble sequence implicitly when the control module 188 detects the preamble sequence. This is because each preamble sequence is unique as identified by a unique preamble sequence index number, and each segment transmits a unique preamble sequence using distinct sub-carriers. When the control module 188 detects the preamble sequence by selecting the largest cross-correlation value, the control module 188 implicitly selects the segment having the largest channel gain (i.e., the best segment).
Occasionally, two or more preamble sequences may generate cross-correlation values that are larger than the rest and that are approximately the same. For example, when a mobile station is adjacent to a cell boundary or a segment boundary, the mobile station may receive input signals including preamble sequences from adjacent base stations.
Thus the input signals received by the mobile station at cell or segment boundaries may be a sum of up to three signals that may be transmitted by three different segments of three different base stations. This is mathematically expressed as follows.




  
    
      Y
      r
    
    ⁡
    
      [
      k
      ]
    
  
  =
  
    
      
        ∑
        
          s
          =
          0
        
        2
      
      ⁢
      
        
          
            H
            
              r
              ,
              s
            
          
          ⁡
          
            [
            k
            ]
          
        
        ⁢
        
          
            X
            
              i
              ⁡
              
                (
                s
                )
              
            
          
          ⁡
          
            [
            k
            ]
          
        
      
    
    +
    
      
        Z
        r
      
      ⁡
      
        [
        k
        ]
      
    
  




where

i(s)=preamble sequence index used for segment s,

Hr,s[k]=preamble OFDMA symbol of segment s, and

Xi(s)[k]=channel gain corresponding to the segment s and receive antenna r.

In that case, the modulo-2 summing module 186 may generate cross-correlation values that are similar and larger than the rest due to presence of two or more preamble sequences in the received signals. Subsequently, the control module 188 may detect two or more cross-correlation values that are similar and that are larger than the rest of the cross-correlation values.
Consequently, when using low-complexity cross-correlation, the best segment determined by the control module 188 may or may not in fact be the best segment depending on the channel gain and noise. For example, when channel gain Hr[k] is very high, say 10, and noise Zr[k] is very low, say 0.1, the probability may be very high that the sign of Yr[k] may be positive for a binary 0 and negative for a binary 1. In that case, the best segment determined by the control module 188 may in fact be the best segment.
On the other hand, when Hr[k] is very low, say only 1, the signs of Yr[k] may still be positive and negative for 0s and 1s, respectively. However, when the channel gain is very low and the noise level is high, the signs of Yr[k] may not be positive and negative for 1s and 0s, respectively. That is, high noise levels may invert the sign of Yr[k] when channel gain is very low. Sign inversions due to low channel gain and/or high noise may affect the ability of the control module 188 to accurately select the segment since the low-complexity cross-correlation is based on signs of M[k] and D[k].
When two or more cross-correlation values are similar and larger than the rest, the control module 188 may select the correct segment in three ways. In one way, the control module 188 may randomly select one of the two or more larger cross-correlation values. Thus, the control module 188 may select the segment that corresponds to the preamble sequence that yielded the randomly selected larger cross-correlation value.
In another way, the control module 188 may select one of the two or more larger cross-correlation values based on the strength of the input signals. That is, the control module 188 may select the larger cross-correlation value that corresponds to the strongest input signal. This may be mathematically expressed as follows.




  
    s
    ^
  
  =
  
    
      
        arg
        ⁢
        
          
            
          
          ⁢
          
            
          
        
        ⁢
        max
      
      s
    
    ⁢
    
      {
      
        
          ∑
          
            r
            =
            1
          
          R
        
        ⁢
        
          
            ∑
            
              k
              ∈
              
                P
                s
              
            
          
          ⁢
          
            
            
              
                Y
                r
              
              ⁡
              
                [
                k
                ]
              
            
            
          
        
      
      }
    
  




The control module 188 may accurately select the segment based on input signal strength when the noise level is approximately the same for all input signals received from different segments.

In yet another way, the system 180 may include a correlation module 190 that correlates the differentially demodulated input signals and the derived preamble sequences that generated the two or more larger and similar cross-correlation values. An example of such a system 181 implemented in a PHY module 183 of a mobile station having at least two receive antennas is shown in FIG. 7B. Hereinafter, the differentially demodulated input signals and the derived preamble sequences that generated the two or more larger and similar cross-correlation values will be called selected input signals and selected preamble sequences, respectively.
The correlation module 190 correlates the selected input signals with the selected preamble sequences, generates correlation values, and outputs the correlation values to the control module 188. The correlation values are complex numbers, which have real and imaginary parts. The imaginary parts of the correlation values represent noise in the input signal.
When ∠(H[k]H*[k−3])≈0, i.e., when adjacent modulated sub-carriers have similar channel phase, the control module 188 disregards the imaginary parts and selects a correlation value having a largest real part. The control module 188 selects the segment that corresponds to the preamble sequence that generated the correlation value having the largest real part.
On the other hand, when the adjacent modulated sub-carriers have an unknown differential channel phase θ common to all k sub-carriers, the control module 188 calculates the magnitude of the largest correlation value instead of selecting the real part of the largest correlation value. That is, the control module 188 does not disregard the imaginary part of the largest correlation value. The control module 188 selects the segment that corresponds to the preamble sequence that generated the correlation value having the largest magnitude.
Referring now to FIGS. 8A-8B, a method 200 for detecting preamble sequences in a mobile station having at least two receive antennas begins at step 202. In step 203, a correlation module 154 receives an input signal from each receive antenna wherein each input signal includes sub-carriers that are modulated using orthogonal frequency division multiplexing (OFDM). In step 204, a control module 156 determines whether channels are almost frequency flat.
If true, the control module 156 determines in step 206 if an integer carrier frequency offset (CFO) is present in the input signal. If the integer CFO is absent, the correlation module 154 correlates the input signal from each receive antenna with all preamble sequences in step 208 and generates correlation values for each input signal. If the integer CFO is present, however, the correlation module 154 correlates the signals shifted by the integer CFO with preamble sequences in step 210.
In step 211, the control module 156 adds correlation values that correspond to the same preamble sequence for each input signal to generate correlation sums. The control module 156 selects a largest of the correlation sums in step 212. The control module 156 checks if a magnitude of the largest correlation sum exceeds a predetermined threshold in step 214. If false, the control module 156 determines in step 216 that no preamble sequence is detected in the input signals, and the method 200 ends in step 218.
If true, however, the control module 156 determines that a preamble sequence is detected in the input signals in step 220. Since each preamble sequence is unique and since each segment of each base station transmits using distinct sub-carriers, the control module 156 implicitly determines in step 224 which segment of a base station transmitted the detected preamble sequence. The method 200 ends in step 218.
If, however, the result of step 204 is false, the control module 156 divides the input signal received by each receive antenna into L bands in step 226. The correlation module 154 correlates on a per-band basis and generates intra-band correlation values for each input signal in step 228. The control module 156 adds the intra-band correlation values and generates a magnitude of a sum of the intra-band correlation values to generate a band correlation value in step 230, thereby generating L band correlation values for each preamble sequence per receive antenna.
The control module 156 adds the band correlation values for a preamble sequence to generate a correlation value for the preamble sequence in step 232, thereby generating i correlation values for i preamble sequences for each input signal in step 232. Steps starting at step 211 are performed thereafter.
Referring now to FIG. 9A, a method 250 for detecting preamble sequences in signals received by a MS via at least two receive antennas when moderately frequency selective channels have substantially the same channel phase begins at step 252. A differential demodulation module 164 receives an input signal from each receive antenna in step 254 wherein each input signal includes sub-carriers that are modulated using orthogonal frequency division multiplexing (OFDM).
The differential demodulation module 164 differentially demodulates the input signals and generates differentially demodulated signals in step 256. A summing module 165 adds the differentially demodulated signals and generates a combined differentially demodulated signal in step 257.
A control module 168 determines in step 258 if an integer carrier frequency offset (CFO) is present in the input signals. If the integer CFO is absent, a correlation module 166 correlates the combined differentially demodulated signal with derived preamble sequences and generates correlation values in step 260. If the integer CFO is present, however, the correlation module 166 correlates in step 264 the derived preamble sequences with the combined differentially demodulated signal that includes a shift caused by the integer CFO.
The control module 168 selects in step 266 a largest real part of correlation values generated by the correlation module 166. The control module 168 checks if the largest real part is greater than or equal to a predetermined threshold in step 268. If false, the control module 168 determines in step 270 that no preamble sequence is detected in the input signals, and the method 250 ends in step 272.
If true, however, the control module 168 determines that a preamble sequence is detected in the input signals in step 274. Since each preamble sequence is unique and since each segment of each base station transmits using distinct sub-carriers, the control module 168 implicitly determines in step 276 which segment of a base station transmitted the detected preamble sequence. The method 250 ends in step 272.
Referring now to FIG. 9B, a method 350 for detecting preamble sequences in signals received by a MS via at least two receive antennas when moderately frequency selective channels have substantially the same differential channel phase begins at step 352. A differential demodulation module 164 receives an input signal from each receive antennas in step 354 wherein each input signal includes sub-carriers that are modulated using orthogonal frequency division multiplexing (OFDM).
The differential demodulation module 164 differentially demodulates the input signals and generates differentially demodulated signals in step 356. A summing module 165 adds the differentially demodulated signals and generates a combined differentially demodulated signal in step 357.
A control module 168 determines in step 358 if an integer carrier frequency offset (CFO) is present in the input signals. If the integer CFO is absent, a correlation module 166 correlates the combined differentially demodulated signal with derived preamble sequences and generates correlation values in step 360. If the integer CFO is present, however, the correlation module 166 correlates in step 364 the derived preamble sequences with the combined differentially demodulated signal that include the shift caused by the integer CFO.
The control module 168 selects in step 366 a largest correlation value from the correlation values generated by the correlation module 166. The control module 168 checks if a magnitude of the largest correlation value is greater than or equal to a predetermined threshold in step 368. If false, the control module 168 determines in step 370 that no preamble sequence is detected in the input signals, and the method 350 ends in step 372.
If true, however, the control module 168 determines that a preamble sequence is detected in the input signals in step 374. Since each preamble sequence is unique and since each segment of each base station transmits using distinct sub-carriers, the control module 168 implicitly determines in step 376 which segment of a base station transmitted the detected preamble sequence. The method 350 ends in step 372.
Referring now to FIG. 9C, a method 400 for detecting preamble sequences in signals received by a MS via at least two receive antennas when moderately frequency selective channels have substantially the same channel phase begins at step 402. A differential demodulation module 164 receives an input signal from each receive antennas in step 404 wherein each input signal includes sub-carriers that are modulated using orthogonal frequency division multiplexing (OFDM).
The differential demodulation module 164 differentially demodulates the input signals and generates differentially demodulated signals in step 405. A summing module 165 adds the differentially demodulated signals and generates a combined differentially demodulated signal in step 406. A state detection module 185 detects states (i.e., signs) of symbols in the combined differentially demodulated signal in step 407.
A control module 188 determines in step 408 if an integer carrier frequency offset (CFO) is present in the input signal. If the integer CFO is absent, a modulo-2 summing module 186 cross-correlates (XORs) the states of the symbols in the combined differentially demodulated signal with predetermined sates of preamble sequences and generates cross-correlation values in step 410. If the integer CFO is present, however, the modulo-2 summing module 186 correlates in step 414 the predetermined states of preamble sequences with the states of symbols in the combined differentially demodulated signal that includes a shift caused by the integer CFO.
The control module 188 selects in step 416 a largest of the cross-correlation values generated by the modulo-2 summing module 186. The control module 188 checks if the largest cross-correlation value is greater than or equal to a predetermined threshold in step 418. If false, the control module 188 determines in step 420 that no preamble sequence is detected in the input signals, and the method 400 ends in step 422.
If true, however, the control module 188 checks if two or more cross-correlation values are similar and larger than the rest in step 424. If false, the control module 188 determines that a preamble sequence is detected in the input signals in step 426. Since each preamble sequence is unique and since each segment of each base station transmits using distinct sub-carriers, the control module 168 implicitly determines in step 443 which segment of a base station transmitted the detected preamble sequence. The method 400 ends in step 422.
If the result of step 424 is true, then in step 430, a correlation module 190 correlates the differentially demodulated signals and the derived preamble sequences that generated the two or more similar and large cross-correlation values. In step 432, the control module 188 selects either the real part or the magnitude of the largest of the correlation values generated by the correlation module 190. The control module 188 implicitly determines in step 443 which segment of a base station transmitted the detected preamble sequence. The method 400 ends in step 422.
Although every third sub-carrier is modulated as described in the systems and methods disclosed in this disclosure, skilled artisans can appreciate that the systems and methods disclosed herein may be implemented by modulating every Pth sub-carrier, where P is an integer greater than 1. Thus, if P=2, the systems and methods disclosed herein may be implemented by modulating every other (i.e., alternate) sub-carrier, etc.
Referring now to FIGS. 10A-10C, various exemplary implementations incorporating the teachings of the present disclosure are shown. Referring now to FIG. 10A, the teachings of the disclosure may be implemented in a WiMAX interface 452 of a vehicle 446. The vehicle 446 may include a vehicle control system 447, a power supply 448, memory 449, a storage device 450, the WiMAX interface 452, and a plurality of associated antennas 453. The vehicle control system 447 may be a powertrain control system, a body control system, an entertainment control system, an anti-lock braking system (ABS), a navigation system, a telematics system, a lane departure system, an adaptive cruise control system, etc.
The vehicle control system 447 may communicate with one or more sensors 454 and generate one or more output signals 456. The sensors 454 may include temperature sensors, acceleration sensors, pressure sensors, rotational sensors, airflow sensors, etc. The output signals 456 may control engine operating parameters, transmission operating parameters, suspension parameters, etc.
The power supply 448 provides power to the components of the vehicle 446. The vehicle control system 447 may store data in memory 449 and/or the storage device 450. Memory 449 may include random access memory (RAM) and/or nonvolatile memory such as flash memory, phase change memory, or multi-state memory, in which each memory cell has more than two states. The storage device 450 may include an optical storage drive, such as a DVD drive, and/or a hard disk drive (HDD). The vehicle control system 447 may communicate externally using the WiMAX interface 452.
Referring now to FIG. 10B, the teachings of the disclosure can be implemented in a WiMAX interface 468 of a cellular phone 458. The cellular phone 458 includes a phone control module 460, a power supply 462, memory 464, a storage device 466, and a cellular network interface 467. The cellular phone 458 may include the WiMAX interface 468 and a plurality of associated antennas 469, a microphone 470, an audio output 472 such as a speaker and/or output jack, a display 474, and a user input device 476 such as a keypad and/or pointing device.
The phone control module 460 may receive input signals from the cellular network interface 467, the WiMAX interface 468, the microphone 470, and/or the user input device 476. The phone control module 460 may process signals, including encoding, decoding, filtering, and/or formatting, and generate output signals. The output signals may be communicated to one or more of memory 464, the storage device 466, the cellular network interface 467, the WiMAX interface 468, and the audio output 472.
Memory 464 may include random access memory (RAM) and/or nonvolatile memory such as flash memory, phase change memory, or multi-state memory, in which each memory cell has more than two states. The storage device 466 may include an optical storage drive, such as a DVD drive, and/or a hard disk drive (HDD). The power supply 462 provides power to the components of the cellular phone 458.
Referring now to FIG. 10C, the teachings of the disclosure can be implemented in a network interface 494 of a mobile device 489. The mobile device 489 may include a mobile device control module 490, a power supply 491, memory 492, a storage device 493, the network interface 494, and an external interface 499. The network interface 494 includes a WiMAX interface and an antenna (not shown).
The mobile device control module 490 may receive input signals from the network interface 494 and/or the external interface 499. The external interface 499 may include USB, infrared, and/or Ethernet. The input signals may include compressed audio and/or video, and may be compliant with the MP3 format. Additionally, the mobile device control module 490 may receive input from a user input 496 such as a keypad, touchpad, or individual buttons. The mobile device control module 490 may process input signals, including encoding, decoding, filtering, and/or formatting, and generate output signals.
The mobile device control module 490 may output audio signals to an audio output 497 and video signals to a display 498. The audio output 497 may include a speaker and/or an output jack. The display 498 may present a graphical user interface, which may include menus, icons, etc. The power supply 491 provides power to the components of the mobile device 489. Memory 492 may include random access memory (RAM) and/or nonvolatile memory such as flash memory, phase change memory, or multi-state memory, in which each memory cell has more than two states. The storage device 493 may include an optical storage drive, such as a DVD drive, and/or a hard disk drive (HDD). The mobile device may include a personal digital assistant, a media player, a laptop computer, a gaming console, or other mobile computing device.
Those skilled in the art can now appreciate from the foregoing description that the broad teachings of the disclosure can be implemented in a variety of forms. Therefore, while this disclosure includes particular examples, the true scope of the disclosure should not be so limited since other modifications will become apparent to the skilled practitioner upon a study of the drawings, the specification and the following claims.

## Claims

1. A system comprising:
a differential demodulation module configured to generate differentially demodulated signals based on having differentially demodulated received signals, and
a first summing module configured to generate a combined signal by adding the differentially demodulated signals, wherein the combined signal includes a plurality of symbols; and
a second summing module configured to
generate a plurality of sums for each of a plurality of derived preamble sequences, wherein the derived preamble sequences are derived from preamble sequences, wherein each of the derived preamble sequences includes a plurality of derived symbols, and wherein one of the plurality of sums generated for one of the derived preamble sequences is a sum of (i) a first portion of one of the plurality of symbols of the combined signal and (ii) a second portion of one of the derived symbols of the one of the derived preamble sequences, and
generate cross-correlation values for the derived preamble sequences based on the plurality of sums, wherein one of the cross-correlation values generated for one of the derived preamble sequences is a sum of the plurality of sums generated for the one of the derived preamble sequences.

2. The system of claim 1, wherein:
the first portion of the one of the plurality of symbols includes a polarity of a real portion of the one of the plurality of symbols;
the second portion of the one of the derived symbols includes a reversed polarity of the one of the derived symbols; and
the sum is a modulo-2 sum.

3. The system of claim 1, wherein:
one of the derived symbols of one of the derived preamble sequences has a first binary value when a corresponding symbol and a symbol adjacent to the corresponding symbol in a corresponding one of the preamble sequences have opposite binary values, and
the one of the derived symbols has a second binary value that is opposite to the first binary value when the corresponding symbol and the symbol adjacent to the corresponding symbol have the same binary value.

4. The system of claim 1, further comprising a control module configured to:
select a largest cross-correlation value from the cross-correlation values, and
detect one of the preamble sequences in the received signals in response to the largest cross-correlation value being greater than or equal to a predetermined threshold,
wherein the predetermined threshold is based on a signal strength of the received signals.

5. The system of claim 4, wherein the control module is configured to identify, based on the detected preamble sequence, a segment of a base station that transmitted the received signals.

6. The system of claim 1, further comprising:
a correlation module configured to generate correlation values, in response to two or more of the cross-correlation values being greater than or equal to a predetermined threshold, by correlating (i) the differentially demodulated signals and (ii) the derived preamble sequences that caused the two or more of the cross-correlation values to be greater than or equal to the predetermined threshold,
wherein the predetermined threshold is based on a signal strength of the received signals.

7. The system of claim 6, further comprising a control module configured to:
select one of the correlation values having a largest real portion,
detect one of the preamble sequences in the received signals based on the largest real portion, and
identify, based on the detected preamble sequence, a segment of a base station that transmitted the received signals.

8. The system of claim 6, further comprising a control module configured to:
select one of the correlation values having a largest magnitude,
detect one of the preamble sequences in the received signals based on the largest magnitude, and
identify, based on the detected preamble sequence, a segment of a base station that transmitted the received signals.

9. A method comprising:
generating differentially demodulated signals by differentially demodulating received signals;
generating a combined signal by adding the differentially demodulated signals, wherein the combined signal includes a plurality of symbols;
generating a plurality of sums for each of a plurality of derived preamble sequences, wherein the derived preamble sequences are derived from preamble sequences, wherein each of the derived preamble sequences includes a plurality of derived symbols, and wherein one of the plurality of sums generated for one of the derived preamble sequences is a sum of (i) a first portion of one of the plurality of symbols of the combined signal and (ii) a second portion of one of the derived symbols of the one of the derived preamble sequences; and
generating cross-correlation values for the derived preamble sequences based on the plurality of sums, wherein one of the cross-correlation values generated for one of the derived preamble sequences is a sum of the plurality of sums generated for the one of the derived preamble sequences.

10. The method of claim 9, wherein:
the first portion of the one of the plurality of symbols includes a polarity of a real portion of the one of the plurality of symbols;
the second portion of the one of the derived symbols includes a reversed polarity of the one of the derived symbols; and
the sum is a modulo-2 sum.

11. The method of claim 9, wherein:
one of the derived symbols of one of the derived preamble sequences has a first binary value when a corresponding symbol and a symbol adjacent to the corresponding symbol in a corresponding one of the preamble sequences have opposite binary values, and
the one of the derived symbols has a second binary value that is opposite to the first binary value when the corresponding symbol and the symbol adjacent to the corresponding symbol have the same binary value.

12. The method of claim 9, further comprising:
selecting a largest cross-correlation value from the cross-correlation values, and
detecting one of the preamble sequences in the received signals in response to the largest cross-correlation value being greater than or equal to a predetermined threshold,
wherein the predetermined threshold is based on a signal strength of the received signals.

13. The method of claim 12, further comprising identifying, based on the detected preamble sequence, a segment of a base station that transmitted the received signals.

14. The method of claim 9, further comprising:
generating correlation values, in response to two or more of the cross-correlation values being greater than or equal to a predetermined threshold, by correlating (i) the differentially demodulated signals and (ii) the derived preamble sequences that caused the two or more of the cross-correlation values to be greater than or equal to the predetermined threshold,
wherein the predetermined threshold is based on a signal strength of the received signals.

15. The method of claim 14, further comprising:
selecting one of the correlation values having a largest real portion,
detecting one of the preamble sequences in the received signals based on the largest real portion, and
identifying, based on the detected preamble sequence, a segment of a base station that transmitted the received signals.

16. The method of claim 14, further comprising:
selecting one of the correlation values having a largest magnitude,
detecting one of the preamble sequences in the received signals based on the largest magnitude, and
identifying, based on the detected preamble sequence, a segment of a base station that transmitted the received signals.