# Patent

## Title
Semi-coherent timing propagation for GERAN multislot configurations

## Abstract

A method for estimating timing in a wireless communication comprises the steps of receiving a plurality of symbol bursts corresponding to a plurality of time slots and selecting a subset of symbols from a first symbol burst of the plurality of symbol bursts. The subset comprises a first midamble symbol. The method further comprises the steps of calculating, for each symbol in the subset, a corresponding midamble estimation error, and determining the lowest calculated midamble estimation error to determine a timing for the first symbol burst. The method further comprises the steps of processing the first symbol burst utilizing the timing determined for the first symbol burst, and processing a second symbol burst of the plurality of symbol bursts utilizing the timing determined for the first symbol burst.

## Background
REFERENCE TO CO-PENDING APPLICATIONS FOR PATENT
The present Application for Patent is related to co-pending U.S. patent application Ser. No. 12/038,724, filed Feb. 27, 2008, and entitled “COHERENT SINGLE ANTENNA INTERFERENCE CANCELLATION FOR GSM/GPRS/EDGE,” assigned to the assignee hereof, and expressly incorporated by reference herein.
BACKGROUND
1. Field
The present invention relates to wireless communication and, in particular, relates to coherent single antenna interference cancellation.
2. Background
In many communication systems utilizing GSM, GPRS, EDGE or the like, a receiver's ability to properly decode a received signal depends upon the receiver's ability to maintain accurate symbol timing. As wireless communications become ever more prevalent, however, increasing amounts of interference can negatively impact a receiver's ability to maintain this timing.
SUMMARY
According to one aspect of the subject technology, a method for estimating timing in a wireless communication comprises the steps of receiving a plurality of symbol bursts corresponding to a plurality of time slots and selecting a subset of symbols from a first symbol burst of the plurality of symbol bursts. The subset comprises a first midamble symbol. The method further comprises the steps of calculating, for each symbol in the subset, a corresponding midamble estimation error, and determining the lowest calculated midamble estimation error to determine a timing for the first symbol burst. The method further comprises the steps of processing the first symbol burst utilizing the timing determined for the first symbol burst, and processing a second symbol burst of the plurality of symbol bursts utilizing the timing determined for the first symbol burst.
According to another aspect of the subject technology, a receiver comprises an antenna configured to receive a plurality of symbol bursts corresponding to a plurality of time slots, and a timing estimator configured to select a subset of symbols from a first symbol burst of the plurality of symbol bursts. The subset comprises a first midamble symbol. The receiver further comprises a midamble estimator configured to calculate, for each symbol in the subset, a corresponding midamble estimation error, and a processor. The processor is configured to determine the lowest calculated midamble estimation error to determine a timing for the first symbol burst, process the first symbol burst utilizing the timing determined for the first symbol burst, and process a second symbol burst of the plurality of symbol bursts utilizing the timing determined for the first symbol burst.
According to yet another aspect of the subject technology, a receiver comprises means for receiving a plurality of symbol bursts corresponding to a plurality of time slots, and means for selecting a subset of symbols from a first symbol burst of the plurality of symbol bursts. The subset comprises a first midamble symbol. The receiver further comprises means for calculating, for each symbol in the subset, a corresponding midamble estimation error, means for determining the lowest calculated midamble estimation error to determine a timing for the first symbol burst, means for processing the first symbol burst utilizing the timing determined for the first symbol burst, and means for processing a second symbol burst of the plurality of symbol bursts utilizing the timing determined for the first symbol burst.
According to yet another aspect of the subject technology, a machine-readable medium comprises instructions for estimating timing in a wireless communication. The instructions comprise code for receiving a plurality of symbol bursts corresponding to a plurality of time slots and selecting a subset of symbols from a first symbol burst of the plurality of symbol bursts. The subset comprising a first midamble symbol. The instructions further comprise code for calculating, for each symbol in the subset, a corresponding midamble estimation error, determining the lowest calculated midamble estimation error to determine a timing for the first symbol burst, processing the first symbol burst utilizing the timing determined for the first symbol burst, and processing a second symbol burst of the plurality of symbol bursts utilizing the timing determined for the first symbol burst.
It is understood that other configurations of the subject technology will become readily apparent to those skilled in the art from the following detailed description, wherein various configurations of the subject technology are shown and described by way of illustration. As will be realized, the subject technology is capable of other and different configurations and its several details are capable of modification in various other respects, all without departing from the scope of the subject technology. Accordingly, the drawings and detailed description are to be regarded as illustrative in nature and not as restrictive.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates exemplary frame and burst formats in GSM in accordance with one aspect of the subject technology;
FIG. 2 illustrates a receiver for use in a wireless communication system in accordance with one aspect of the subject technology;
FIG. 3 illustrates a subset of symbols, including the first midamble symbol, that a receiver selects in accordance with one aspect of the subject technology;
FIG. 4 illustrates a method for estimating timing in accordance with one aspect of the subject technology;
FIG. 5 illustrates a receiver for use in a wireless communication system in accordance with one aspect of the subject technology; and
FIG. 6 is a block diagram illustrating a computer system with which certain aspects of the subject technology may be implemented.



DETAILED DESCRIPTION
FIG. 1 shows exemplary frame and burst formats in GSM. The timeline for downlink transmission is divided into multiframes. For traffic channels used to send user-specific data, each multiframe, such as exemplary multiframe 101, includes 26 TDMA frames, which are labeled as TDMA frames 0 through 25. The traffic channels are sent in TDMA frames 0 through 11 and TDMA frames 13 through 24 of each multiframe, as identified by the letter “T” in FIG. 1. A control channel, identified by the letter “C,” is sent in TDMA frame 12. No data is sent in the idle TDMA frame 25 (identified by the letter “I”), which is used by the wireless devices to make measurements for neighbor base stations.
Each TDMA frame, such as exemplary TDMA frame 102, is further partitioned into eight time slots, which are labeled as time slots 0 through 7. Each active wireless device/user is assigned one time slot index for the duration of a call. User-specific data for each wireless device is sent in the time slot assigned to that wireless device and in TDMA frames used for the traffic channels.
The transmission in each time slot is called a “burst” in GSM. Each burst, such as exemplary burst 103, includes two tail fields, two data fields, a training sequence (or midamble) field, and a guard period (GP). The number of bits in each field is shown inside the parentheses. GSM defines eight different training sequences that may be sent in the training sequence field. Each training sequence, such as midamble 104, contains 26 bits and is defined such that the first five bits are repeated and the second five bits are also repeated. Each training sequence is also defined such that the correlation of that sequence with a 16-bit truncated version of that sequence is equal to (a) sixteen for a time shift of zero, (b) zero for time shifts of ±1, ±2, ±3, ±4, and ±5, and (3) a zero or non-zero value for all other time shifts.
One approach to locating a midamble in a burst of symbols serially compares hypotheses regarding the midamble position to determine which hypothesis provides the highest correlation energy between the known midamble sequence and the hypothesized position in the burst of symbols. This method is very sensitive to interference from multi-paths of the same midamble sequence, which can cause the correlation energy of inaccurate hypotheses to be affected by time-delayed copies thereof. This method is also sensitive to co-channel and adjacent channel interference.
FIG. 2 illustrates a receiver for use in a wireless communication system in accordance with one aspect of the subject technology. Receiver 200 includes an antenna 210 configured to receive a wireless signal. While receiver 200 may be used in various communication systems, for clarity, receiver 200 is specifically described herein with respect to a GSM system. The received signal is provided to a pre-processor 220 which demodulates the signal to generate received samples. Pre-processor 220 may include a GMSK-to-BPSK rotator that performs phase rotation on the received samples. Timing estimator 230 receives the samples from pre-processor 220 and makes several hypotheses regarding where a training sequence of symbols (i.e., midamble) begins in the burst of data, to provide several hypothetical channel estimates. Interference suppressor 240 performs single antenna interference cancellation on each of the hypothesized channels, and midamble estimator 250 generates a midamble estimation error for each hypothesis. Timing decision circuit 260 compares the midamble estimation errors for each hypothesis and selects the hypothesis with the lowest midamble estimation error. The selection of a hypothesis by timing decision circuit 260 represents the position in the burst of symbols where the midamble is estimated to begin. Data processor 270 then processes the received symbols based upon this estimated timing, and outputs the data corresponding to the received symbols.
According to one aspect of the present invention, the foregoing semi-coherent timing estimation method is very robust under strong interference conditions. Accordingly, in a frame with multiple time slots, the timing estimation may be performed on one time slot, and the estimated timing can be propagated to the subsequent slots, providing exceptional savings in computational loads at the receiver, while still delivering a very robust timing estimation. Since each time slot is of the same duration (e.g., in GSM, 156.25 symbols long or 577 μs), propagation of the timing estimation is computationally trivial. According to one aspect, the timing of a timeslot TSn+1 can simply be determined by adding the duration of the time slots in that communication format to the timing of the previous time slot: Timing(TSn+1)=Timing(TSn)+156.25 Ts. According to one aspect, the foregoing method for timing estimation may be performed for the first time slot in a frame, and the resultant estimated timing may be propagated to every subsequent time slot in the same frame. Alternately, timing estimation may be performed for any one of the time slots in a frame, including but not limited to the first slot, and the resultant timing estimation may be propagated to any subsequent time slot in the same frame, whether or not the time slots are contiguous (e.g., a timing estimate could be propagated to a non-contiguous time slot by merely adding the appropriate duration to the timing estimate, such as the duration of two time slots, the duration of three time slots, etc.). For example, in accordance with one aspect, multiple time slots within a frame may be assigned to the same user, and it may be desirable to propagate a timing estimate determined according to the foregoing method for a first time slot assigned to that user to subsequent time slots assigned to the same user within the same frame.
Rather than utilizing a determined correlation energy to select which hypothesis regarding the midamble timing is accurate, timing estimator 230 performs single antenna interference cancellation (“SAIC”) to provide an estimate of the symbols making up the training sequence, which are compared against the previously-known symbols of that training sequence to determine an estimation error therefor.
To begin the search for the first midamble symbol, timing estimator 230 opens a “window” around the estimated beginning of the midamble sequence. The position of the first symbol of the midamble sequence can be estimated for a given burst, based upon the known structure of each burst. For example, as illustrated in FIG. 1, the beginning of midamble 104 in burst 103 begins in the 62nd bit of the burst. Based upon this known structure, timing estimator 230 selects a window 105 of bits representing a series of hypotheses regarding where the first midamble symbol may be located. Exemplary window 105 is illustrated in greater detail in FIG. 3.
As can be seen with reference to FIG. 3, exemplary window 105 comprises 11 symbols, labeled Δ=0 to Δ=10. Each Δ value represents the position of the symbol in the window. With reference to the position of a symbol in the entire burst, however, the Δ value is offset by an offset value (e.g., Δ=5 may be offset by 61 to represent the position of this symbol in the entire burst). For the first seven symbols in window 105, timing estimator 230 generates a channel estimate from a sequence of five contiguous symbols (representing the five-tap channel format of GSM). For example, symbol Δ=0 corresponds to channel estimate ĥ(t0), symbol Δ=1 corresponds to channel estimate ĥ(t1), etc. Each of these channel estimates is then processed by interference suppressor 240 and midamble estimator 250 to determine estimated midamble symbols corresponding thereto, in order to determine a midamble estimation error therefor.
While in the present exemplary aspect, window 105 has been illustrated as consisting of exactly 11 symbols, the scope of the present invention is not limited to such an arrangement. Rather, as will be readily apparent to one of skill in the art, any window size (up to the size of the entire data burst) may be selected. For example, in accordance with one aspect of the subject technology, the size of the search window may be chosen to be twice the size of the expected minimum propagation delay. Alternatively, the search window size may be parameterized based on any other metric known to those of skill in the art.
According to one aspect, a channel estimate ĥ is generated by timing estimator 230 by correlating the received samples (corresponding to the hypothesized delay) with the reference samples (i.e., the known midamble sequence) for each hypothesis. Based on the correlation Rys(Δ) between received signal y and midamble sequence s for a hypothesized delay Δ, the channel estimate may be calculated as follows:




  
    
      
        
          
            h
            
              (
              δ
              )
            
          
          =
          
            
              
                [
                
                  
                    
                      R
                      ys
                    
                    ⁡
                    
                      (
                      δ
                      )
                    
                  
                  ,
                  
                    
                      R
                      ys
                    
                    ⁡
                    
                      (
                      
                        δ
                        +
                        1
                      
                      )
                    
                  
                  ,
                  ...
                  ⁢
                  
                    
                  
                  ,
                  
                    
                      R
                      ys
                    
                    ⁡
                    
                      (
                      
                        δ
                        +
                        4
                      
                      )
                    
                  
                
                ]
              
              ⁢
              
                
              
              ⁢
              for
              ⁢
              
                
              
              ⁢
              δ
            
            =
            0
          
        
        ,
        1
        ,
        ...
        ⁢
        
          
        
        ,
        6
      
    
    
      
        (
        1
        )
      
    
  
  
    
      
        
          δ
          *
        
        =
        
          
            
              arg
              ⁢
              
                
              
              ⁢
              max
            
            δ
          
          ⁢
          
            {
            
              
                
                
                  h
                  1
                  
                    (
                    δ
                    )
                  
                
                
              
              2
            
            }
          
        
      
    
    
      
        (
        2
        )
      
    
  
  
    
      
        
          h
          ^
        
        =
        
          
            [
            
              
                
                  R
                  ys
                
                ⁡
                
                  (
                  
                    δ
                    *
                  
                  )
                
              
              ⁢
              
                
                  R
                  ys
                
                ⁡
                
                  (
                  
                    
                      δ
                      *
                    
                    +
                    1
                  
                  )
                
              
              ⁢
              
                
              
              ⁢
              ...
              ⁢
              
                
              
              ⁢
              
                
                  R
                  ys
                
                ⁡
                
                  (
                  
                    
                      δ
                      *
                    
                    +
                    4
                  
                  )
                
              
            
            ]
          
          .
        
      
    
    
      
        (
        3
        )
      
    
  




To test the hypothesis corresponding to each channel estimate, interference suppressor 240 performs SAIC on each estimated channel. SAIC is a method by which oversampled and/or real/imaginary decomposition of a signal is used to provide virtual antennas with separate sample sequences, such that weights may be applied to the virtual antennas to form a beam in the direction of a desired transmitter and a beam null in the direction of an undesired interference source. In general, SAIC may be achieved with one or multiple actual antennas at the receiver by using space-time processing, where “space” may be virtually achieved with inphase and quadrature components, and “time” may be achieved using late and early samples.
For example, given a set of spatial and temporal samples at a time k:




  
    
      
        x
        _
      
      k
    
    =
    
      [
      
        
          
            
              
                x
                k
              
              ⁡
              
                (
                1
                )
              
            
          
        
        
          
            
              
                x
                k
              
              ⁡
              
                (
                2
                )
              
            
          
        
        
          
            ⋮
          
        
        
          
            
              
                x
                k
              
              ⁡
              
                (
                M
                )
              
            
          
        
      
      ]
    
  
  ,
  
    
      
        s
        _
      
      k
    
    =
    
      [
      
        
          
            
              s
              k
            
          
        
        
          
            
              s
              
                k
                -
                1
              
            
          
        
        
          
            ⋮
          
        
        
          
            
              s
              
                k
                -
                υ
              
            
          
        
      
      ]
    
  




where sk is the midamble/quasi-midamble signal at time k, sk is a (ν+1)×1 midamble/quasi-midamble vector, and xk is a M×1 received midamble/quasi-midamble vector, a set of spatial temporal samples can be defined as





  
    
      X
      k
    
    =
    
      [
      
        
          
            
              
                x
                _
              
              k
            
          
        
        
          
            
              
                x
                _
              
              
                k
                -
                1
              
            
          
        
        
          
            ⋮
          
        
        
          
            
              
                x
                _
              
              
                k
                -
                L
              
            
          
        
      
      ]
    
  
  ,




where Xk is a M×(L+1)×1 vector of spatial temporal samples with a spatial length of M and a temporal length of L+1. Accordingly, a spatial/temporal structured matrix can be constructed, such that

[X]=[XkXk+1 . . . Xk+p−ν],

where [X] is a M (L+1)×p−ν matrix, and p is the length of the midamble or quasi-midamble (data aided).

Accordingly, given [X] and {tilde over (s)}k=[sk, sk+1, . . . sk+p−ν], (ν+1)×p−ν, a suppression filter WSAIC can be computed according to one aspect of the subject disclosure by estimating a reference sequence of symbols at the channel output:

WSAIC=arg min∥W[X]−{tilde over (Z)}∥2  (4)

where W=(ν+1)×M(L+1) and {tilde over (Z)}={tilde over (s)}k,(ν+1)×(p−ν).

The foregoing equation can be rewritten as

WSAIC={tilde over (Z)}[X]†,(ν+1)×M(L+1)  (5)

or, more particularly, as

WSAIC={tilde over (s)}k[X]T{[X][X]T}−1.  (6)

The output of interference suppressor 240 is in the form Ŝ, where Ŝ represents an estimate of the midamble sequence. The difference between the estimated and known midamble sequences is determined according to Equation 7, below:

∥S−Ŝ∥2=em(ti)  (7)

to obtain a midamble estimation error em(ti) for each time ti. Each time ti is equal to the hypothesized position Δi plus an offset Ts from the beginning of the burst:

ti=Δi+Ts  (8)

Once the midamble estimation error em(ti) for each time ti is determined, timing decision block 260 determines which hypothesis corresponds to the lowest estimation error em, and the other hypothesized timing values are discarded.
According to one aspect of the subject disclosure, data processor 270 comprises a soft output generator that receives the signal from timing decision block 260 and generates soft decisions that indicate the confidence in the detected bits. A soft output generator may implement an Ono algorithm, as is well known to those of skill in the art. Data processor 270 may further comprise a de-interleaver that de-interleaves the soft decisions, and passes the soft decisions to a Viterbi decoder that decodes the deinterleaved soft decisions and outputs decoded data.
According to one aspect of the present invention, the foregoing semi-coherent timing estimation method is very robust under strong interference conditions. Accordingly, in a frame with multiple time slots, the timing estimation may be performed on one time slot, and the estimated timing can be propagated to the subsequent slots. Since each time slot is of the same duration (e.g., in GSM, 156.25 symbols long or 577 μs), propagation of the timing estimation is computationally trivial. According to one aspect, the timing of a timeslot TSn+1 can simply be determined by adding the duration of the time slots in that communication format to the timing of the previous time slot: Timing (TSn+1)=Timing (TSn)+156.25 Ts.
FIG. 4 is a flow chart illustrating a method for interference suppression in accordance with one aspect of the subject technology. The method begins with step 401, in which a plurality of symbol bursts are received. The plurality of symbol bursts correspond to a plurality of time slots, such as, for example, the time slots in a GSM EDGE radio network (GERAN) format wireless communication. In step 402, a subset of symbols are selected from a first symbol burst of the plurality of symbol bursts. The subset comprises a first midamble symbol of the first symbol burst. For each symbol in the subset, an estimated channel corresponding to the symbol is determined in step 403. Single antenna interference cancellation is performed on each estimated channel in step 404 to obtain an estimated midamble sequence for each symbol in the subset. In step 405, the estimated midamble sequence is compared with a previously-known midamble sequence to determine the midamble estimation error for each symbol in the subset. The lowest calculated midamble estimation error is determined in step 406 to determine a timing for the first symbol burst. In step 407, the first symbol burst is processed (e.g., soft decisions generated, de-interleaved and decoded) utilizing the timing determined for the first symbol burst. In step 408, a second symbol burst of the plurality of symbol bursts is decoded utilizing the timing determined for the first symbol burst. The second symbol burst corresponds to a time slot in the same frame as and subsequent to the time slot corresponding to the first symbol burst. The second time slot may be assigned to carry data traffic for the same user as the first time slot, as discussed in greater detail above.
FIG. 5 illustrates a receiver for use in a wireless communication system in accordance with one aspect of the subject technology. Receiver 500 includes an antenna module 510 configured to receive a wireless signal comprising a plurality of symbol bursts in a plurality of time slots such as, for example, an RF modulated GSM signal in a GSM EDGE radio network (GERAN). One of the symbol bursts of the received signal is provided to a pre-processor module 520 which demodulates the signal to generate received samples. Pre-processor module 520 may also include a GMSK-to-BPSK rotator that performs phase rotation on the received samples. Timing estimation module 530 receives the samples from pre-processing module 520 and makes several hypotheses regarding where a training sequence of symbols (midamble) begins in the burst of symbols, to provide several hypothetical channel estimates. Interference suppression module 540 performs single antenna interference cancellation by calculating a plurality of filter weights for each hypothesis and then applying the filter, with the calculated weights, to each channel estimate hypothesis. Midamble estimation module 550 generates a midamble estimation error for each hypothesis, and timing decision module 560 compares the midamble estimation errors for each hypothesis and selects the hypothesis with the lowest midamble estimation error. The selection of a hypothesis by timing decision module 560 represents the position in the burst of symbols where the midamble is estimated to begin. Utilizing the selected timing hypothesis, the received samples are provided to processor module 570, which processes the received symbols based upon the selected timing hypothesis, and outputs the data corresponding to the received symbols. Utilizing the same selected timing hypothesis, processor module 570 also processes the received symbols from additional bursts of symbols corresponding to additional time slots in the same frame. The additional time slots may, according to one aspect, be assigned to a same user.
While in the foregoing exemplary embodiments, the interference suppression filter has been described as a single antenna interference cancellation filter, the scope of the present invention is not limited to such an embodiment. Rather, as will be apparent to those of skill in the art, the subject technology has application to systems with more than one antenna, which may perform, for example, dual antenna interference cancellation (“DAIC”), or any other multiple-antenna interference cancellation method, well known to those in the art.
FIG. 6 is a block diagram that illustrates a computer system 600 upon which an aspect may be implemented. Computer system 600 includes a bus 602 or other communication mechanism for communicating information, and a processor 604 coupled with bus 602 for processing information. Computer system 600 also includes a memory 606, such as a random access memory (“RAM”) or other dynamic storage device, coupled to bus 602 for storing information and instructions to be executed by processor 604. Memory 606 may also be used for storing temporary variable or other intermediate information during execution of instructions to be executed by processor 604. Computer system 600 further includes a data storage device 610, such as a magnetic disk or optical disk, coupled to bus 602 for storing information and instructions.
Computer system 600 may be coupled via I/O module 608 to a display device (not illustrated), such as a cathode ray tube (“CRT”) or liquid crystal display (“LCD”) for displaying information to a computer user. An input device, such as, for example, a keyboard or a mouse may also be coupled to computer system 600 via I/O module 608 for communicating information and command selections to processor 604.
According to one aspect, timing estimation is performed by a computer system 600 in response to processor 604 executing one or more sequences of one or more instructions contained in memory 606. Such instructions may be read into memory 606 from another machine-readable medium, such as data storage device 610. Execution of the sequences of instructions contained in main memory 606 causes processor 604 to perform the process steps described herein. One or more processors in a multi-processing arrangement may also be employed to execute the sequences of instructions contained in memory 606. In alternative aspects, hard-wired circuitry may be used in place of or in combination with software instructions to implement various aspects. Thus, aspects are not limited to any specific combination of hardware circuitry and software.
The term “machine-readable medium” as used herein refers to any medium that participates in providing instructions to processor 604 for execution. Such a medium may take many forms, including, but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical or magnetic disks, such as data storage device 610. Volatile media include dynamic memory, such as memory 606. Transmission media include coaxial cables, copper wire, and fiber optics, including the wires that comprise bus 602. Transmission media can also take the form of acoustic or light waves, such as those generated during radio frequency and infrared data communications. Common forms of machine-readable media include, for example, floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASH EPROM, any other memory chip or cartridge, a carrier wave, or any other medium from which a computer can read.
Those of skill in the art would appreciate that the various illustrative blocks, modules, elements, components, methods, and algorithms described herein may be implemented as electronic hardware, computer software, or combinations of both. Furthermore, these may be partitioned differently than what is described. To illustrate this interchangeability of hardware and software, various illustrative blocks, modules, elements, components, methods, and algorithms have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application.
It is understood that the specific order or hierarchy of steps or blocks in the processes disclosed is an illustration of exemplary approaches. Based upon design preferences, it is understood that the specific order or hierarchy of steps or blocks in the processes may be rearranged. The accompanying method claims present elements of the various steps in a sample order, and are not meant to be limited to the specific order or hierarchy presented.
The previous description is provided to enable any person skilled in the art to practice the various aspects described herein. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects. Thus, the claims are not intended to be limited to the aspects shown herein, but is to be accorded the full scope consistent with the language claims, wherein reference to an element in the singular is not intended to mean “one and only one” unless specifically so stated, but rather “one or more.” Unless specifically stated otherwise, the term “some” refers to one or more. Pronouns in the masculine (e.g., his) include the feminine and neuter gender (e.g., her and its) and vice versa. All structural and functional equivalents to the elements of the various aspects described throughout this disclosure that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims. Moreover, nothing disclosed herein is intended to be dedicated to the public regardless of whether such disclosure is explicitly recited in the claims. No claim element is to be construed under the provisions of 35 U.S.C. §112, sixth paragraph, unless the element is expressly recited using the phrase “means for” or, in the case of a method claim, the element is recited using the phrase “step for.”

## Claims

1. A method for estimating timing in a wireless communication by a receiver, comprising the steps of:
receiving a plurality of symbol bursts corresponding to a plurality of time slots;
selecting a subset of symbols from a first symbol burst of the plurality of symbol bursts, the subset comprising a first midamble symbol;
calculating, for each symbol in the subset, a corresponding midamble estimation error;
determining the lowest calculated midamble estimation error to determine a timing for the first symbol burst;
processing the first symbol burst utilizing the timing determined for the first symbol burst; and
processing a second symbol burst of the plurality of symbol bursts utilizing the timing determined for the first symbol burst.

2. The method according to claim 1, wherein the calculating the midamble estimation error for each symbol in the subset comprises:
determining an estimated channel corresponding to the symbol;
performing single antenna interference cancellation on the estimated channel to obtain an estimated midamble sequence; and
comparing the estimated midamble sequence with a previously-known midamble sequence to determine the midamble estimation error.

3. The method according to claim 2, wherein the calculating the midamble estimation error for each symbol in the subset further comprises:
performing single antenna interference cancellation on the estimated channel to obtain an estimated data sequence for the first symbol burst; and
comparing the estimated data sequence with a previously-determined data sequence to determine the midamble estimation error.

4. The method according to claim 2, wherein the determining the estimated channel corresponding to each symbol comprises selecting a predetermined number of adjacent symbols in the subset corresponding to a number of taps in the estimated channel.

5. The method according to claim 1, wherein the selecting a subset of the first symbol burst comprises estimating a position of the first midamble symbol in the first symbol burst and selecting a plurality of symbols centered around the estimated position.

6. The method according to claim 1, wherein the first symbol burst and the second symbol burst correspond to first and second time slots assigned to a single user.

7. A receiver comprising:
an antenna configured to receive a plurality of symbol bursts corresponding to a plurality of time slots;
a timing estimator configured to select a subset of symbols from a first symbol burst of the plurality of symbol bursts, the subset comprising a first midamble symbol;
a midamble estimator configured to calculate, for each symbol in the subset, a corresponding midamble estimation error; and
a processor configured to:
determine the lowest calculated midamble estimation error to determine a timing for the first symbol burst,
process the first symbol burst utilizing the timing determined for the first symbol burst, and
process a second symbol burst of the plurality of symbol bursts utilizing the timing determined for the first symbol burst.

8. The receiver according to claim 7, wherein the midamble estimator is configured to calculate the midamble estimation error for each symbol in the subset by:
determining an estimated channel corresponding to the symbol;
performing single antenna interference cancellation on the estimated channel to obtain an estimated midamble sequence; and
comparing the estimated midamble sequence with a previously-known midamble sequence to determine the midamble estimation error.

9. The receiver according to claim 8, wherein the midamble estimator is further configured to calculate the midamble estimation error for each symbol in the subset by:
performing single antenna interference cancellation on the estimated channel to obtain an estimated data sequence for the first symbol burst; and
comparing the estimated data sequence with a previously-determined data sequence to determine the midamble estimation error.

10. The receiver according to claim 8, wherein the processor is configured to determine the estimated channel corresponding to each symbol by selecting a predetermined number of adjacent symbols in the subset corresponding to a number of taps in the estimated channel.

11. The receiver according to claim 7, wherein the timing estimator is configured to select a subset of the first symbol burst by estimating a position of the first midamble symbol in the first symbol burst and selecting a plurality of symbols centered around the estimated position.

12. The receiver according to claim 7, wherein the first symbol burst and the second symbol burst correspond to first and second time slots assigned to a single user.

13. A receiver comprising:
means for receiving a plurality of symbol bursts corresponding to a plurality of time slots;
means for selecting a subset of symbols from a first symbol burst of the plurality of symbol bursts, the subset comprising a first midamble symbol;
means for calculating, for each symbol in the subset, a corresponding midamble estimation error;
means for determining the lowest calculated midamble estimation error to determine a timing for the first symbol burst;
means for processing the first symbol burst utilizing the timing determined for the first symbol burst; and
means for processing a second symbol burst of the plurality of symbol bursts utilizing the timing determined for the first symbol burst.

14. The receiver according to claim 13, wherein the means for calculating the midamble estimation error for each symbol in the subset comprise:
means for determining an estimated channel corresponding to the symbol;
means for performing single antenna interference cancellation on the estimated channel to obtain an estimated midamble sequence; and
means for comparing the estimated midamble sequence with a previously-known midamble sequence to determine the midamble estimation error.

15. The receiver according to claim 14, wherein the means for calculating the midamble estimation error for each symbol in the subset further comprise:
means for performing single antenna interference cancellation on the estimated channel to obtain an estimated data sequence for the first symbol burst; and
means for comparing the estimated data sequence with a previously-determined data sequence to determine the midamble estimation error.

16. The receiver according to claim 14, wherein the means for determining the estimated channel corresponding to each symbol comprise means for selecting a predetermined number of adjacent symbols in the subset corresponding to a number of taps in the estimated channel.

17. The receiver according to claim 13, wherein the means for selecting a subset of the first symbol burst comprise means for estimating a position of the first midamble symbol in the first symbol burst and means for selecting a plurality of symbols centered around the estimated position.

18. The receiver according to claim 13, wherein the first symbol burst and the second symbol burst correspond to first and second time slots assigned to a single user.

19. A non-transitory machine-readable medium comprising instructions for estimating timing in a wireless communication, the instructions comprising code for:
receiving a plurality of symbol bursts corresponding to a plurality of time slots;
selecting a subset of symbols from a first symbol burst of the plurality of symbol bursts, the subset comprising a first midamble symbol;
calculating, for each symbol in the subset, a corresponding midamble estimation error;
determining the lowest calculated midamble estimation error to determine a timing for the first symbol burst;
processing the first symbol burst utilizing the timing determined for the first symbol burst; and
processing a second symbol burst of the plurality of symbol bursts utilizing the timing determined for the first symbol burst.

20. The non-transitory machine-readable medium according to claim 19, wherein the code for calculating the midamble estimation error for each symbol in the subset comprises code for:
determining an estimated channel corresponding to the symbol;
performing single antenna interference cancellation on the estimated channel to obtain an estimated midamble sequence; and
comparing the estimated midamble sequence with a previously-known midamble sequence to determine the midamble estimation error.

21. The non-transitory machine-readable medium according to claim 20, wherein the code for calculating the midamble estimation error for each symbol in the subset further comprises code for:
performing single antenna interference cancellation on the estimated channel to obtain an estimated data sequence for the first symbol burst; and
comparing the estimated data sequence with a previously-determined data sequence to determine the midamble estimation error.

22. The non-transitory machine-readable medium according to claim 20, wherein the code for determining the estimated channel corresponding to each symbol comprises code for selecting a predetermined number of adjacent symbols in the subset corresponding to a number of taps in the estimated channel.

23. The non-transitory machine-readable medium according to claim 19, wherein the code for selecting a subset of the first symbol burst comprises code for estimating a position of the first midamble symbol in the first symbol burst and code for selecting a plurality of symbols centered around the estimated position.

24. The non-transitory machine-readable medium according to claim 19, wherein the first symbol burst and the second symbol burst correspond to first and second time slots assigned to a single user.