# Patent

## Title
Adaptive interference cancellation algorithm using speech mode dependent thresholds

## Abstract

The present invention provides a method of processing radio frequency (RF) bursts dependent on a speech mode associated with data contained within the RF burst. Different voice modes, full rate, half rate, and adaptive multi-channel rates each may require different signal to noise ratio (SNR) conditions in order to be successfully processed. To improve the equalization of the received RF burst(s), the SNR associated with the burst is estimated. Then based on the SNR or other related conditions (i.e. the presence or absence of colored noise, and the estimated channel profile) a decision can be made as to whether or not an interference cancellation burst process should be implemented. For example, the presence of colored noise may indicate the presence of interference requiring the cancellation of such interference, the channel profile as described by the channel length and other associated properties may help determine when an interference cancellation process should be utilized as well, and if there is insufficient SNR, i.e. the SNR is below the predetermined threshold, all indicate that it may be desirable to implement interference cancellation to improve the processing of the received burst(s).

## Background
CROSS REFERENCES TO RELATED APPLICATIONS
This application claims the benefit of priority to and incorporates herein by reference in its entirety for all purposes, U.S. Provisional Patent Application No. 60/657,564 entitled “SINGLE ANTENNA INTERFERENCE CANCELLATION IN A CELLULAR TELEPHONE,” by Hanks Zeng, et al. filed on Mar. 1, 2005. This application also claims the benefit of priority to and incorporates herein by reference in its entirety for all purposes, U.S. Provisional Patent Application No. 60/679,105 entitled “ADAPTIVE INTERFERENCE CANCELLATION ALGORITHM USING SPEECH MODE DEPENDENT THRESHOLDS,” by Arkady Molev-Shteiman, et al. filed on May 9, 2005.


TECHNICAL FIELD OF THE INVENTION
The present invention relates generally to cellular wireless communication systems, and more particularly to the cancellation of interference, which may include colored noise, associated with received data communications processed by a wireless terminal within a wireless communication system.
BACKGROUND OF THE INVENTION
Cellular wireless communication systems support wireless communication services in many populated areas of the world. While cellular wireless communication systems were initially constructed to service voice communications, they are now called upon to support data communications as well. The demand for data communication services has exploded with the acceptance and widespread use of the Internet. While data communications have historically been serviced via wired connections, cellular wireless users now demand that their wireless units also support data communications. Many wireless subscribers now expect to be able to “surf” the Internet, access their email, and perform other data communication activities using their cellular phones, wireless personal data assistants, wirelessly linked notebook computers, and/or other wireless devices. The demand for wireless communication system data communications continues to increase with time. Thus, existing wireless communication systems are currently being created/modified to service these burgeoning data communication demands.
Cellular wireless networks include a “network infrastructure” that wirelessly communicates with wireless terminals within a respective service coverage area. The network infrastructure typically includes a plurality of base stations dispersed throughout the service coverage area, each of which supports wireless communications within a respective cell (or set of sectors). The base stations couple to base station controllers (BSCs), with each BSC serving a plurality of base stations. Each BSC couples to a mobile switching center (MSC). Each BSC also typically directly or indirectly couples to the Internet.
In operation, each base station communicates with a plurality of wireless terminals operating in its cell/sectors. A BSC coupled to the base station routes voice communications between the MSC and the serving base station. The MSC routes the voice communication to another MSC or to the PSTN. BSCs route data communications between a servicing base station and a packet data network that may include or couple to the Internet. Transmissions from base stations to wireless terminals are referred to as “forward link” transmissions while transmissions from wireless terminals to base stations are referred to as “reverse link” transmissions.
Wireless links between base stations and their serviced wireless terminals typically operate according to one (or more) of a plurality of operating standards. These operating standards define the manner in which the wireless link may be allocated, setup, serviced, and torn down. One popular cellular standard is the Global System for Mobile telecommunications (GSM) standard. The GSM standard, or simply GSM, is predominant in Europe and is in use around the globe. While GSM originally serviced only voice communications, it has been modified to also service data communications. GSM General Packet Radio Service (GPRS) operations and the Enhanced Data rates for GSM (or Global) Evolution (EDGE) operations coexist with GSM by sharing the channel bandwidth, slot structure, and slot timing of the GSM standard. The GPRS operations and the EDGE operations may also serve as migration paths for other standards as well, e.g., IS-136 and Pacific Digital Cellular (PDC).
In order for EDGE to provide increased data rates within a 200 KHz GSM channel, it employs a higher order modulation, 8-PSK (octal phase shift keying), in addition to GSM's standard Gaussian Minimum Shift Keying (GMSK) modulation. EDGE allows for nine different (autonomously and rapidly selectable) air interface formats, known as Modulation and Coding schemes (MCSs), with varying degrees of error control protection. Low MCS modes, (MCS 1-4) use GMSK (low data rate) while high MCS modes (MCS 5-9) use 8-PSK (high data rate) modulation for over the air transmissions, depending upon the instantaneous demands of the application.
To a cellular telephone operating in a receive mode, co-channel and adjacent channel GMSK/8PSK signals may appear as colored noise. Additionally, low SNR, noise-limited scenarios, and poor channel profiles may negatively impact the received signal. In order to better receive and process the information intended for the cellular telephone, the cellular telephone must attempt to cancel these interference signals. Prior techniques for canceling such interference included channel equalization for received symbols. However, existing channel equalization techniques fail to typically remove co-channel and adjacent channel interference sufficiently. Additionally, attempts to universally address these issues may actually result in worse performance than would be delivered by a conventional receiver in some instances. Thus, a need exists for improvements in interference cancellation.
SUMMARY OF THE INVENTION
The present invention is directed to apparatus and methods of operation that are further described in the following Brief Description of the Drawings, the Detailed Description of the Invention, and the claims. Other features and advantages of the present invention will become apparent from the following detailed description of the invention made with reference to the accompanying drawings.



BRIEF DESCRIPTION OF THE DRAWINGS
For a more complete understanding of the present invention and the advantages thereof, reference is now made to the following description taken in conjunction with the accompanying drawings in which like reference numerals indicate like features and wherein:
FIG. 1 is a system diagram illustrating a portion of a cellular wireless communication system that supports wireless terminals operating according to the present invention;
FIG. 2 is a block diagram functionally illustrating a wireless terminal constructed according to the present invention;
FIG. 3 is a block diagram illustrating the general structure of a GSM frame and the manner in which data blocks are carried by the GSM frame;
FIG. 4 is a block diagram illustrating the formation of down link transmissions;
FIG. 5 is a block diagram illustrating the stages associated with recovering a data block from a series of RF bursts;
FIG. 6 is a block diagram illustrating the stages associated with recovering a voice data from a series of RF bursts;
FIG. 7 is a block diagram illustrating the stages associated with recovering a burst from a data or voice frame;
FIGS. 8A and 8B are flow charts illustrating operation of a wireless terminal in receiving and processing a RF burst;
FIG. 9 is a block diagram illustrating components of a multi-branch burst equalization component according to an embodiment of the present invention;
FIG. 10 is a block diagram illustrating components of a burst equalization component; and
FIG. 11 is a block diagram illustrating components of a burst equalization component;
FIG. 12 is a flow chart illustrating the universal cancellation of interfering signals; and
FIGS. 13A and 13B are flow charts illustrating operations in accordance with an embodiment of the present invention.



DETAILED DESCRIPTION OF THE DRAWINGS
Preferred embodiments of the present invention are illustrated in the FIGS., like numerals being used to refer to like and corresponding parts of the various drawings.
Gaussian Minimum Shift Keying (GMSK) modulation systems can be modeled as a single-input two-output system in real domain. This model is a virtual single transmit 2 receive system. Interference cancellation techniques for multiple antennas can be applied to GMSK systems as provided by embodiments of the present invention that substantially addresses the above identified needs as well as other needs. The present invention provides a multi-branch equalizer processing module operable to selectively cancel interference associated with received radio frequency (RF) burst(s). This multi-branch equalizer processing module includes multiple equalizer processing branches. One equalizer processing branch is operable to be trained based upon known training sequences and equalize the received RF burst. These results are then further processed and used to train a second equalizer processing branch when interference cancellation is selectively enabled. The second equalizer processing branch then equalizes the received RF burst to produce an output based on canceling the interfering signals that results in improved processing of the received RF bursts.
FIG. 1 is a system diagram illustrating a portion of a cellular wireless communication system 100 that supports wireless terminals operating in accordance with embodiments of the present invention. Cellular wireless communication system 100 includes a Mobile Switching Center (MSC) 101, Serving GPRS Support Node/Serving EDGE Support Node (SGSN/SESN) 102, base station controllers (BSCs) 152 and 154, and base stations 103, 104, 105, and 106. The SGSN/SESN 102 couples to the Internet 114 via a GPRS Gateway Support Node (GGSN) 112. A conventional voice terminal 121 couples to the PSTN 110. A Voice over Internet Protocol (VOIP) terminal 123 and a personal computer 125 couple to the Internet 114. The MSC 101 couples to the Public Switched Telephone Network (PSTN) 110.
Each of the base stations 103-106 services a cell/set of sectors within which it supports wireless communications. Wireless links that include both forward link components and reverse link components support wireless communications between the base stations and their serviced wireless terminals. These wireless links can result in co-channel and adjacent channel signals that may appear as noise which may be colored or white. As previously stated, this noise may interfere with the desired signal of interest. Hence, the present invention provides techniques for canceling such interference in poor signal-to-noise ratio (SNR) or low signal-to-interference ratio (SIR) environments.
These wireless links may support digital data communications, VoIP communications, and other digital multimedia communications. The cellular wireless communication system 100 may also be backward compatible in supporting analog operations as well. The cellular wireless communication system 100 may support the Global System for Mobile telecommunications (GSM) standard and also the Enhanced Data rates for GSM (or Global) Evolution (EDGE) extension thereof. The cellular wireless communication system 100 may also support the GSM General Packet Radio Service (GPRS) extension to GSM. However, the present invention is also applicable to other standards as well, e.g., TDMA standards, CDMA standards, etc. In general, the teachings of the present invention apply to digital communication techniques that address the identification and cancellation of interfering communications.
Wireless terminals 116, 118, 120, 122, 124, 126, 128, and 130 couple to the cellular wireless communication system 100 via wireless links with the base stations 103-106. As illustrated, wireless terminals may include cellular telephones 116 and 118, laptop computers 120 and 122, desktop computers 124 and 126, and data terminals 128 and 130. However, the cellular wireless communication system 100 supports communications with other types of wireless terminals as well. As is generally known, devices such as laptop computers 120 and 122, desktop computers 124 and 126, data terminals 128 and 130, and cellular telephones 116 and 118, are enabled to “surf” the Internet 114, transmit and receive data communications such as email, transmit and receive files, and to perform other data operations. Many of these data operations have significant download data-rate requirements while the upload data-rate requirements are not as severe. Some or all of the wireless terminals 116-130 are therefore enabled to support the EDGE operating standard. These wireless terminals 116-130 also support the GSM standard and may support the GPRS standard.
FIG. 2 is a block diagram functionally illustrating wireless terminal 200. The wireless terminal 200 of FIG. 2 includes an RF transceiver 202, digital processing components 204, and various other components contained within a housing. The digital processing components 204 includes two main functional components, a physical layer processing, speech COder/DECoder (CODEC), and baseband CODEC functional block 206 and a protocol processing, man-machine interface functional block 208. A Digital Signal Processor (DSP) is the major component of the physical layer processing, speech COder/DECoder (CODEC), and baseband CODEC functional block 206 while a microprocessor, e.g., Reduced Instruction Set Computing (RISC) processor, is the major component of the protocol processing, man-machine interface functional block 208. The DSP may also be referred to as a Radio Interface Processor (RIP) while the RISC processor may be referred to as a system processor. However, these naming conventions are not to be taken as limiting the functions of these components.
RF transceiver 202 couples to an antenna 203, to the digital processing components 204, and also to battery 224 that powers all components of wireless terminal 200. The physical layer processing, speech COder/DECoder (CODEC), and baseband CODEC functional block 206 couples to the protocol processing, man-machine interface functional block 208 and to a coupled microphone 226 and speaker 228. The protocol processing, man-machine interface functional block 208 couples to various components such as, but not limited to, Personal Computing/Data Terminal Equipment interface 210, keypad 212, Subscriber Identification Module (SIM) port 213, a camera 214, flash RAM 216, SRAM 218, LCD 220, and LED(s) 222. When camera 214 and LCD 220 are present, these components may support either/both still pictures and moving pictures. Thus, the wireless terminal 200 of FIG. 2 may be operable to support video services as well as audio services via the cellular network.
FIG. 3 is a block diagram illustrating the general structure of a GSM frame and the manner in which data blocks are carried by the GSM frame. The GSM frame, 20 ms in duration, is divided into quarter frames, each of which includes eight time slots, time slots 0 through 7. Each time slot is approximately 625 us in duration, includes a left side, a right side, and a midamble. The left side and right side of an RF burst of the time slot carry data while the midamble is a training sequence.
RF bursts of four time slots of the GSM frame carry a segmented RLC block, a complete RLC block, or two RLC blocks, depending upon a supported Modulation and Coding Scheme (MCS) mode. For example, data block A is carried in slot 0 of quarter frame 1, slot 0 of quarter frame 2, slot 0 of quarter frame 3, and slot 0 of quarter frame 3. Data block A may carry a segmented RLC block, an RLC block, or two RLC blocks. Likewise, data block B is carried in slot 1 of quarter frame 1, slot 1 of quarter frame 2, slot 1 of quarter frame 3, and slot 1 of quarter frame 3. The MCS mode of each set of slots, i.e., slot n of each quarter frame, for the GSM frame is consistent for the GSM frame but may vary from GSM frame to GSM frame. Further, the MCS mode of differing sets of slots of the GSM frame, e.g., slot 0 of each quarter frame vs. any of slots 1-7 of each quarter frame, may differ. The RLC block may carry voice data or other data.
FIG. 4 generally depicts the various stages associated with mapping data into RF bursts. Data is initially uncoded and maybe accompanied by a data block header. Block coding operations perform the outer coding for the data block and support error detection/correction for data block. The outer coding operations typically employ a cyclic redundancy check (CRC) or a Fire Code. The outer coding operations are illustrated to add tail bits and/or a Block Code Sequence (BCS), which is/are appended to the data. In CS-1, the header and data are coded together using block coding and convolutional coding. In non-CS-1 coding schemes, the header and data information are often coded separately.
Fire codes allow for either error correction or error detection. Fire Codes are a shortened binary cyclic code that appends redundancy bits to bits of the data Header and Data. The pure error detection capability of Fire Coding may be sufficient to let undetected errors go through with only a probability of 2−40. After block coding has supplemented the Data with redundancy bits for error detection, calculation of additional redundancy for error correction to correct the transmissions caused by the radio channels. The internal error correction or coding scheme is based on convolutional codes.
Some redundant bits generated by the convolutional encoder may be punctured prior to transmission. Puncturing increases the rate of the convolutional code and reduces the redundancy per data block transmitted. Puncturing additionally lowers the bandwidth requirements such that the convolutional encoded signal fits into the available channel bit stream. The convolutional encoded punctured bits are passed to an interleaver, which shuffles various bit streams and segments the interleaved bit streams into the 4 bursts shown.
FIG. 5 is a block diagram that generally depicts the various stages associated with recovering a data block from a RF burst(s). Four RF bursts typically make up a data block. These bursts are received and processed. Once all four RF bursts have been received, the RF bursts are combined to form an encoded data block. The encoded data block is then depunctured (if required), decoded according to an inner decoding scheme, and then decoded according to an outer decoding scheme. The decoded data block includes the data block header and the data. Depending on how the data and header are coded, partial decoding may be possible to identify data
FIG. 6 is a block diagram that depicts the various stages associated with recovering data from a transmitted voice frame. This is similar to the process described with reference to FIG. 5. Typically a 20 millisecond voice frame is transmitted, wherein the first half of the 20 millisecond voice frame is transmitted within a first series of RF bursts and the second half of the voice frame is transmitted with a second series of RF bursts. A series of four RF bursts is shown as being off-set by 10 milliseconds from the first voice frame, Voice Framen, wherein the second half of Voice Framen and the first half of the subsequent voice frame, Voice Framen+1, are coded and interleaved into the series of four RF bursts. When the four RF bursts are processed, the coded block produced produces a data stream that comprises the second half of Voice Framen and the first half of Voice Framen+1. The first half of Voice Framen, stored within memory, may be combined with the second half of Voice Framen to produce the data associated with a valid Voice Framen.
Re-encoding the data associated with a valid Voice Framen, as described with reference to FIG. 7, may result in an at least partially re-encoded data bursts that may be used to train the second equalizer processing branch. As previously stated, the first half of the voice frame recovered from a previous set of RF bursts and the second half of the voice frame recovered from the current set of RF bursts are combined to produce the data associated with a voice frame. This voice frame may be validated and corrected using cycle redundancy checks in order to produce a valid voice frame. This valid voice frame may then be re-encoded. However, only the second half of the re-encoded Voice Framen is used to partially recreate the burst(s). The second half of re-encoded Voice Framen may be segmented and interleaved to produce a series of partially encoded RF bursts. Since the processing of the second half of the Voice Framen+1, has not occurred, the RF bursts are only partially re-encoded. Since Voice Framen+1 has not been validated, the first half of a re-encoded Voice Framen+1 is not possible and is not used to recreate the burst(s). The partially re-encoded burst(s), based on Voice Framen, taken together with the known training sequences are operable to better train the second equalizer-processing branch in accordance with an embodiment of the present invention.
FIGS. 8A and 8B are flow charts illustrating operation of a wireless terminal 200 in receiving and processing a RF burst. The operations illustrated in FIGS. 8A and 8B correspond to a single RF burst in a corresponding slot of GSM frame. The RF front end, the baseband processor, and the equalizer processing module perform these operations. These operations are generally called out as being performed by one of these components. However, the split of processing duties among these various components may differ without departing from the scope of the present invention.
Referring particular to FIG. 8A, operation commences with the RF front end receiving an RF burst in a corresponding slot of a GSM frame (step 802). The RF front end then converts the RF burst to a baseband signal (step 804). Upon completion of the conversion, the RF front end sends an interrupt to the baseband processor (step 806). Thus, as referred to in FIG. 8A, the RF front end performs steps 802-806.
Operation continues with the baseband processor receiving the baseband signal (step 808). In a typical operation, the RF front end, the baseband processor, or modulator/demodulator will sample the analog baseband signal to digitize the baseband signal. After receipt of the baseband signal (in a digitized format), the baseband processor performs blind detection of a modulation format of the baseband signal of step 810. This blind detection of the modulation format determines the modulation format of the corresponding baseband signal. In one particular embodiment according to the GSM standard, the modulation format will be either Gaussian Minimum Shift Keying (GMSK) modulation or Eight Phase Shift Keying (8PSK) modulation. The baseband processor makes the determination (step 812) and proceeds along one of two branches based upon the detected modulation format.
For GMSK modulation, the baseband processor performs de-rotation and frequency correction of the baseband signal at step 814. Next, the baseband processor performs burst power estimation of the baseband signal at step 816. Referring now to FIG. 11 via off page connector A, the baseband processor next performs timing, channel, noise, and signal-to-noise ratio (SNR) estimation at step 820. Subsequently, the baseband processor performs automatic gain control (AGC) loop calculations (step 822). Next, the baseband processor performs soft decision scaling factor determination on the baseband signal (step 824). After step 824, the baseband processor performs matched filtering operations on the baseband signal at step 826.
Steps 808-826 are referred to hereinafter as pre-equalization processing operations. With the baseband processor performing these pre-equalization processing operations on the baseband signal it produces a processed baseband signal. Upon completion of these pre-equalization processing operations, the baseband processor issues a command to the equalizer module.
The equalizer module, whose operation as a multi-branch equalizer will be discussed in further detail with reference to FIG. 9 and following, upon receiving the command, prepares to equalize the processed baseband signal based upon the modulation format, e.g., GMSK modulation or 8PSK modulation. The equalizer module receives the processed baseband signal, settings, and/or parameters from the baseband processor and performs Maximum Likelihood Sequence Estimation (MLSE) equalization on the left side of the baseband signal at step 828. As was shown previously with reference to FIG. 3, each RF burst contains a left side of data, a midamble, and a right side of data. Typically, at step 828, the equalizer module equalizes the left side of the RF burst to produce soft decisions for the left side. Then, the equalizer module equalizes the right side of the processed baseband signal at step 830. The equalization of the right side produces a plurality of soft decisions corresponding to the right side. The burst equalization is typically based of known training sequences within the bursts. However, the embodiments of the present invention may utilize re-encoded or partially re-encoded data to improve the equalization process. This may take the form of an iterative process wherein a first branch performs burst equalization and a second module performs a second equalization based on the result obtained with the first branch over a series of RF bursts.
The equalizer module then issues an interrupt to the baseband processor indicating that the equalizer operations are complete for the RF burst. The baseband processor then receives the soft decisions from the equalizer module. Next, the baseband processor determines an average phase of the left and right sides based upon the soft decisions received from the equalizer module at step 832. The baseband processor then performs frequency estimation and tracking based upon the soft decisions received from the equalizer module at step 836. The operations of step 832, or step 854 and step 836 are referred to herein as “post-equalization processing.” After operation at step 836, processing of the particular RF burst is completed.
Referring again to FIG. 8A, the baseband processor and equalizer module take the right branch from step 812 when an 8PSK modulation is blindly detected at step 810. In the first operation for 8PSK modulation, the baseband processor performs de-rotation and frequency correction on the baseband signal at step 818. The baseband processor then performs burst power estimation of the baseband signal at step 820. Referring now to FIG. 8B via off page connector B, operation continues with the baseband processor performing timing, channel, noise, and SNR estimations at step 840. The baseband processor then performs AGC loop calculations on the baseband signal at step 842. Next, the baseband processor calculates Decision Feedback Equalizer (DFE) coefficients that will be used by the equalizer module at step 844. The process to produce these coefficients will be described in further detail. This determination when using a multi-branch equalizer will be discussed with reference to FIG. 9 and following. The baseband processor then performs pre-equalizer operations on the baseband signal at step 846. Finally, the baseband processor determines soft decision scaling factors for the baseband signal at step 848. Steps 818-848 performed by the baseband processor 30 are referred to herein as “pre-equalization processing” operations for an 8PSK modulation baseband signal. Upon completion of step 648, the baseband processor issues a command to equalizer module to equalize the processed baseband signal.
Upon receipt of the command from the baseband processor, the equalizer module receives the processed baseband signal, settings, and/or parameters from the baseband processor and commences equalization of the processed baseband signal. The equalizer module first prepares state values that it will use in equalizing the 8PSK modulated processed baseband signal at step 850. In the illustrated embodiment, the equalizer module uses a Maximum A posteriori Probability (MAP) equalizer. The equalizer module then equalizes the left and right sides of the processed baseband signal using the MAP equalizer to produce soft decisions for the processed baseband signal at step 852. Upon completion of step 854, the equalizer module issues an interrupt to the baseband processor indicating its completion of the equalizing the processed baseband signal corresponding.
The baseband processor then receives the soft decisions from the equalizer module. Next, the baseband processor determines the average phase of the left and right sides of the processed baseband signal based upon the soft decisions (step 854). Finally, the baseband processor performs frequency estimation and tracking for the soft decisions (step 836). The operations of steps 854 and 836 are referred to as post-equalization processing operations. From step 836, operation is complete for the particular RF burst depicts the various stages associated with recovering a data block from an RF Burst.
While the operations of FIGS. 8A and 8B are indicated to be performed by particular components of the wireless terminal, such segmentation of operations could be performed by differing components. For example, the equalization operations could be performed by the baseband processor or system processor in other embodiments. Further, decoding operations could also be performed by the baseband processor or the system processor in other embodiments.
FIGS. 9, 10 and 11 are block diagrams illustrating the structure of one embodiment of a multi-branch equalizer processing module 900 operable to perform single antenna interference cancellation (SAIC) in accordance with embodiments of the present invention. There are two types of SAIC equalizer methods: (1) joint-detection (JD); and (2) blind interference cancellation (BIC). According to one aspect of the present invention, BIC method is selected. The components illustrated in FIGS. 9, 10 and 11 may be hardware components, software components executed by a processor, e.g., 206 or 208 of FIG. 2, or a combination of hardware components and software components. Multi-branch equalizer processing module 900 includes a first equalizer processing branch 902 and second equalizer processing branch 904. Derotation block 906 receives In phase (I) and Quadrature (Q) components of a baseband burst. This baseband burst corresponds to RF burst(s), which were described with reference to FIGS. 3-7. Derotation block derotates received I and Q burst samples and produces I and Q burst samples (“bursts”). These bursts may be examined by a noise discriminator to determine the presence of colored noise. Within another embodiment, the discriminator may determine whether the received burst(s) are noise limited or interference limited. In the noise-limited scenario, the use of the interference cancellation within multi-branch equalizer processing module 900 may result in actual performance worse than that of a conventional receiver. Thus, switches S1 and S2 may be positioned to place conventional receiver 901 in service as opposed to the multi-branch equalizer. In addition, channels with long delay such as in a hilly terrain scenario may also experience large degradation due to the short pre-filter length. To solve these problems, switches S1 and S2, are operable to select conventional receiver 901, or the multi-branch equalizer. When the multi-branch equalizer is selected switch S3 is operable to enable or disable the second equalizer processing branch.
In FIG. 9, mode selection module 907 directs switches S1, S2 and S3 to selectively enable interference cancellation when the SNR associated with the RF burst(s) compares unfavorably with a predetermined SNR threshold, and wherein the predetermined SNR threshold may be based on an operational mode associated with the RF burst(s). Mode selection module 907 may logically examine and combine factors such as, but not limited to SNR, the presence of colored noise, the determination whether the received burst(s) are noise limited or interference limited, the channel profile, and associated predetermined thresholds in order to determine whether or not to enable interference cancellation.
As previously stated the predetermined SNR threshold may be based on an operational mode associated with the RF burst(s). The operational mode may also determine other predetermined thresholds that are adjusted depending on the operational mode. For example, if the operational mode of the RF burst supports voice or speech, a voice mode associated with the RF burst may be identified. For example, such voice modes may include an adapted multi-rate encoded speech, a full-rate encoded speech, a half-rate encoded speech, an enhanced full-rate encoded speech, an adaptive half-rate encoded speech, an adaptive full-rate encoded speech, or other like voice modes known to those having skill in the art. These different voice modes each may require different SNR, interference or channel conditions in order to be successfully processed. Therefore, the predetermined SNR thresholds, colored noise thresholds, or channel profile thresholds may be dependant on the voice mode associated with the RF burst.
Mode selection module 907 may use one of several known algorithms to determine the SNR, the presence of colored noise, the determination whether the received burst(s) are noise limited or interference limited, and the channel profile. For example, in the case of colored noise, one such algorithm analyzes the diagonality coefficient of the noise autocorrelation (Rnn) matrix to determine the “diagonality” of the matrix. Based on the diagonality coefficient, the noise discriminator may determine on a per burst basis the presence of colored noise or if the burst is noise limited or interference limited. Another method may analyze the average Rnn of previous burst(s) and then hold the decision for the next burst(s). For example a prior set of four bursts may be analyzed to determine how a subsequent set of four bursts are to be processed. The determination of the Rnn is as in the previous case. However, in such a case, the results of the four bursts are averaged or otherwise combined to provide the result.
The following derives the detail of the colored noise detector. Since Interference Noise is Stationary Process, the Autocorrelation Matrix R(k,m) has a property:



  
    
      R
      ⁡
      
        (
        
          k
          ,
          m
        
        )
      
    
    =
    
      
        R
        ⁡
        
          (
          
            
              k
              +
              n
            
            ,
            
              m
              +
              n
            
          
          )
        
      
      =
      
        Acor
        ⁡
        
          (
          
            k
            ⁢
            
              -
            
            ⁢
            m
          
          )
        
      
    
  




  
    Where
    ⁢
    
      :
    
  




  
    
      Acor
      ⁡
      
        (
        k
        )
      
    
    =
    
      
        1
        N
      
      ·
      
        
          ∑
          
            n
            =
            0
          
          
            N
            -
            1
          
        
        ⁢
        
          Noise
          ⁢
          
            
          
          ⁢
          
            
              (
              
                n
                -
                k
              
              )
            
            ·
            
              Noise
              ⁡
              
                (
                n
                )
              
            
          
        
      
    
  



For complex process exist for Matrixes:




  
    
      R_real
      ⁢
      _real
      ⁢
      
        (
        
          k
          ,
          m
        
        )
      
    
    =
    
      Acor_real
      ⁢
      _real
      ⁢
      
        (
        
          k
          ⁢
          
            -
          
          ⁢
          m
        
        )
      
    
  




  
    
      R_real
      ⁢
      _imag
      ⁢
      
        (
        
          k
          ,
          m
        
        )
      
    
    =
    
      Acor_real
      ⁢
      _imag
      ⁢
      
        (
        
          k
          ⁢
          
            -
          
          ⁢
          m
        
        )
      
    
  




  
    
      R_imag
      ⁢
      _real
      ⁢
      
        (
        
          k
          ,
          m
        
        )
      
    
    =
    
      Acor_imag
      ⁢
      _real
      ⁢
      
        (
        
          k
          ⁢
          
            -
          
          ⁢
          m
        
        )
      
    
  




  
    
      R_imag
      ⁢
      _imag
      ⁢
      
        (
        
          k
          ,
          m
        
        )
      
    
    =
    
      Acor_imag
      ⁢
      _imag
      ⁢
      
        (
        
          k
          ⁢
          
            -
          
          ⁢
          m
        
        )
      
    
  




  
    
      Acor_real
      ⁢
      _real
      ⁢
      
        (
        k
        )
      
    
    =
    
      
        1
        N
      
      ·
      
        
          ∑
          
            n
            =
            0
          
          
            N
            -
            1
          
        
        ⁢
        
          Noise_real
          ⁢
          
            
              (
              
                n
                -
                k
              
              )
            
            ·
            Noise_real
          
          ⁢
          
            (
            n
            )
          
        
      
    
  




  
    
      Acor_real
      ⁢
      _imag
      ⁢
      
        (
        k
        )
      
    
    =
    
      
        1
        N
      
      ·
      
        
          ∑
          
            n
            =
            0
          
          
            N
            -
            1
          
        
        ⁢
        
          Noise_real
          ⁢
          
            
              (
              
                n
                -
                k
              
              )
            
            ·
            Noise_imag
          
          ⁢
          
            (
            n
            )
          
        
      
    
  




  
    
      Acor_imag
      ⁢
      _real
      ⁢
      
        (
        k
        )
      
    
    =
    
      
        1
        N
      
      ·
      
        
          ∑
          
            n
            =
            0
          
          
            N
            -
            1
          
        
        ⁢
        
          Noise_imag
          ⁢
          
            
              (
              
                n
                -
                k
              
              )
            
            ·
            Noise_real
          
          ⁢
          
            (
            n
            )
          
        
      
    
  




  
    
      Acor_imag
      ⁢
      _imag
      ⁢
      
        (
        k
        )
      
    
    =
    
      
        1
        N
      
      ·
      
        
          ∑
          
            n
            =
            0
          
          
            N
            -
            1
          
        
        ⁢
        
          Noise_imag
          ⁢
          
            
              (
              
                n
                -
                k
              
              )
            
            ·
            Noise_imag
          
          ⁢
          
            (
            n
            )
          
        
      
    
  



Since Interference Noise is Stationary Process, the Autocorrelation has next properties:

Acor_real_real (k)=Acor_real_real(−k)

Acor_imag_imag (k)=Acor_imag_imag (−k)

Acor_real_imag (k)=Acor_imag_real (−k)

This means that to define all Rnn Matrix enough to know:

Acor_real_real (k) k=0,1,2,3

Acor_imag_imag (k) k=0,1,2,3

Acor_real_imag (k) k=0,1,2,3

Acor_imag_real (k) k=1,2,3

The diagonal value may be defined as:





  Em
  =
  
    
      1
      2
    
    ·
    
      (
      
        
          Acor_real
          ⁢
          _real
          ⁢
          
            (
            0
            )
          
        
        +
        
          Acor_imag
          ⁢
          _imag
          ⁢
          
            (
            0
            )
          
        
      
      )
    
  




and side value as:




  
    Es
    =
    
      
        
          
            Es
            ⁢
            
              
            
            ⁢
            0
          
          +
          
            Es
            ⁢
            
              
            
            ⁢
            1
          
        
        15
      
    
  




  
    where
    ⁢
    
      :
    
  




  
    
      Es
      ⁢
      
        
      
      ⁢
      0
    
    =
    
      
        
          (
          
            
              Acor_real
              ⁢
              _real
              ⁢
              
                (
                0
                )
              
            
            -
            
              Em
              ⁡
              
                (
                0
                )
              
            
          
          )
        
        2
      
      +
      
        
          (
          
            
              Acor_imag
              ⁢
              _imag
              ⁢
              
                (
                0
                )
              
            
            -
            
              Em
              ⁡
              
                (
                0
                )
              
            
          
          )
        
        2
      
      +
      
        
          (
          
            Acor_real
            ⁢
            _imag
            ⁢
            
              (
              0
              )
            
          
          )
        
        2
      
    
  




  
    
      Es
      ⁢
      
        
      
      ⁢
      1
    
    =
    
      
        
          ∑
          
            k
            =
            1
          
          3
        
        ⁢
        
          
            (
            
              Acor_real
              ⁢
              _real
              ⁢
              
                (
                k
                )
              
            
            )
          
          2
        
      
      +
      
        
          (
          
            Acor_imag
            ⁢
            _imag
            ⁢
            
              (
              k
              )
            
          
          )
        
        2
      
      +
      
        
          (
          
            Acor_real
            ⁢
            _imag
            ⁢
            
              (
              k
              )
            
          
          )
        
        2
      
      +
      
        
          (
          
            Acor_imag
            ⁢
            _imag
            ⁢
            
              (
              k
              )
            
          
          )
        
        2
      
    
  



The diagonality coefficient may be defined as:





  
    E
    S
  
  Em




For White Noise, when (N→∞) Autocorrelation Matrix is 1





  
    R
    ⁡
    
      (
      
        k
        ,
        m
      
      )
    
  
  =
  
    {
    
      
        
          Em
        
        
          
            k
            =
            m
          
        
      
      
        
          0
        
        
          else
        
      
    
  




Such Matrix satisfies to condition Es=0. Therefore, the Diagonality Coefficient express the presence and amount of Color component in Noise or a measure as to whether the received burst(s) are noise limited or interference limited.

Returning to the description of FIG. 9, in one embodiment, first equalizer processing branch 902 may include a conventional burst equalizer. These samples may be later equalized in accordance with the embodiments of the present invention with other samples making up a data packet, e.g., RLC packet. The iterative processes of the second equalizer processing branch may be performed in addition to the burst level equalization during certain operating conditions.
Burst equalizers, include I and Q Finite Impulse Response (FIR) filters 908 and 910 and Minimum Least Squares Estimation (MLSE) equalizer 912 that operate upon each burst received from derotation block 906. These components are trained by training module 913 using known Training Sequence(s) (TS), within the midamble received with each burst. Alternately, these components could be trained over multiple bursts. First equalizer processing branch 902 produces soft decisions wherein multiple soft decisions represent each data bit prior to decoding. Each soft sample is provided to deinterleaver 914 which in turn provides the deinterleaved soft samples to channel decoder 916. Channel decoder 916 decodes a data frame from the soft samples (i.e. the multiple soft sample(s) that represent each data bit are decoded by the channel decoder to produce hard bits after decoding).
The data frame produced by channel decoder 916 may be validated and re-encoded using re-encoder 918 in order to produce re-encoded data bits. Interleaver 920 receives the re-encoded data bits to produce a re-encoded data burst(s). The re-encoded data burst(s), along with known training sequence(s), may then be used to train second equalizer processing branch 904.
Second equalizer processing branch 904 includes a buffer 922 operable to store multiple bursts in memory as well as an I and Q FIR filters 924 and 926, respectively. I and Q filters 924 and 926 are operable to be trained by training module 928 using known training sequence and at least partially re-encoded bursts. In this way, the second equalizer processing branch takes at least partially re-encoded data and known training sequences to train the I and Q RF filters. This results in an improved SNR for the burst(s) processed from buffer 922 when switches S1, S2 and S3 enable the second equalizer processing branch based on the output of mode selection module 907. After the I and Q filters have been trained and used to process the stored burst(s). The results are combined with adder 930. This creates an alternate set of soft samples which are provided to deinterleaver 914 and channel Decoder 916 to produce an alternate set of data bits.
FIG. 10 may be used to describe the first branch of the multi-branch equalizer of FIG. 9 in more detail. Since there are only 26 training symbols, the first processing branch as shown may train feed-forward filters 908 and 910 with 4 taps each and 4 taps feedback filter DFEs.
The following discussion further describes the indirect training method that may be based on the least-square channel estimation (LS-CE) and is similar to that used in EDGE. First the channel is estimated using the training sequence. Then the pre-filter and MLSE parameters are calculated as if they are the feed-forward and feedback filters of a DFE. A problem of the indirect method is poor CE since SAIC is usually operated at low SIR. The CE error propagates in the calculation filter coefficients.
The signal model at the MLSE input in FIG. 10 can be viewed as an ISI channel plus noise. Suppose the DFE feedback filter impulse response is {b(0),b(1), . . . ,b(Lb−1)}. The objective of training is to obtain pre-filter coefficients {f1(0), . . . . f1(Lf−1), f2(0), . . . f2(Lf−1)}, and the MLSE parameters b for the given training symbols and corresponding received signal.
Based on above mode, the noise at the MLSE input is given by




  
    n
    ⁡
    
      (
      k
      )
    
  
  =
  
    
      
        ∑
        
          i
          =
          0
        
        
          
            L
            f
          
          -
          1
        
      
      ⁢
      
        
          
            f
            1
          
          ⁡
          
            (
            i
            )
          
        
        ⁢
        
          
            x
            1
          
          ⁡
          
            (
            
              k
              +
              d
              -
              i
            
            )
          
        
      
    
    +
    
      
        ∑
        
          i
          =
          0
        
        
          
            L
            f
          
          -
          1
        
      
      ⁢
      
        
          
            f
            2
          
          ⁡
          
            (
            i
            )
          
        
        ⁢
        
          
            x
            2
          
          ⁡
          
            (
            
              k
              +
              d
              -
              i
            
            )
          
        
      
    
    -
    
      
        ∑
        
          i
          =
          0
        
        
          
            L
            b
          
          -
          1
        
      
      ⁢
      
        
          b
          ⁡
          
            (
            i
            )
          
        
        ⁢
        
          s
          ⁡
          
            (
            
              k
              -
              i
            
            )
          
        
      
    
  




where x1 and x2 are de-rotation output I & Q, respectively, s is the training symbol, d is the system delay. In vector form:





  
    [
    
      
        
          
            n
            ⁡
            
              (
              k
              )
            
          
        
      
      
        
          
            n
            ⁡
            
              (
              
                k
                +
                1
              
              )
            
          
        
      
      
        
          ⋮
        
      
      
        
          
            n
            ⁡
            
              (
              
                k
                +
                N
              
              )
            
          
        
      
    
    ]
  
  =
  
     
    
      
        [
        
          
            
              
                
                  x
                  1
                
                ⁡
                
                  (
                  
                    k
                    +
                    d
                  
                  )
                
              
            
            
              ⋯
            
            
              
                
                  x
                  1
                
                ⁡
                
                  (
                  
                    k
                    +
                    d
                    -
                    
                      L
                      f
                    
                    +
                    1
                  
                  )
                
              
            
            
              
                
                  x
                  2
                
                ⁡
                
                  (
                  
                    k
                    +
                    d
                  
                  )
                
              
            
            
              ⋯
            
            
              
                
                  x
                  2
                
                ⁡
                
                  (
                  
                    k
                    +
                    d
                    -
                    
                      L
                      f
                    
                    +
                    1
                  
                  )
                
              
            
          
          
            
              
                
                  x
                  1
                
                ⁡
                
                  (
                  
                    k
                    +
                    d
                    +
                    1
                  
                  )
                
              
            
            
              ⋯
            
            
              
                
                  x
                  1
                
                ⁡
                
                  (
                  
                    k
                    +
                    d
                    +
                    1
                    -
                    
                      L
                      f
                    
                    +
                    1
                  
                  )
                
              
            
            
              
                
                  x
                  2
                
                ⁡
                
                  (
                  
                    k
                    +
                    d
                    +
                    1
                  
                  )
                
              
            
            
              ⋯
            
            
              
                
                  x
                  2
                
                ⁡
                
                  (
                  
                    k
                    +
                    d
                    +
                    1
                    -
                    
                      L
                      f
                    
                    +
                    1
                  
                  )
                
              
            
          
          
            
              
                
              
            
            
              ⋮
            
            
              
                
              
            
            
              
                
              
            
            
              ⋮
            
            
              
                
              
            
          
          
            
              
                
                  x
                  1
                
                ⁡
                
                  (
                  
                    k
                    +
                    d
                    +
                    N
                  
                  )
                
              
            
            
              ⋯
            
            
              
                
                  x
                  1
                
                ⁡
                
                  (
                  
                    k
                    +
                    d
                    +
                    N
                    -
                    
                      L
                      f
                    
                    +
                    1
                  
                  )
                
              
            
            
              
                
                  x
                  
                    
                      
                    
                    ⁢
                    2
                  
                
                ⁡
                
                  (
                  
                    k
                    +
                    d
                    +
                    N
                  
                  )
                
              
            
            
              ⋯
            
            
              
                
                  x
                  2
                
                ⁡
                
                  (
                  
                    k
                    +
                    d
                    +
                    N
                    -
                    
                      L
                      f
                    
                    +
                    1
                  
                  )
                
              
            
          
        
        ]
      
      ⁢
      
        

      
      ⁢
      
         
        
          
            [
            
              
                
                  
                    
                      f
                      1
                    
                    ⁡
                    
                      (
                      0
                      )
                    
                  
                
              
              
                
                  ⋮
                
              
              
                
                  
                    
                      f
                      1
                    
                    ⁡
                    
                      (
                      
                        
                          L
                          f
                        
                        -
                        1
                      
                      )
                    
                  
                
              
              
                
                  
                    
                      f
                      2
                    
                    ⁡
                    
                      (
                      0
                      )
                    
                  
                
              
              
                
                  ⋮
                
              
              
                
                  
                    
                      f
                      2
                    
                    ⁡
                    
                      (
                      
                        
                          L
                          f
                        
                        -
                        1
                      
                      )
                    
                  
                
              
            
            ]
          
          -
          
            
              [
              
                
                  
                    
                      s
                      ⁡
                      
                        (
                        k
                        )
                      
                    
                  
                  
                    ⋯
                  
                  
                    
                      s
                      ⁡
                      
                        (
                        
                          k
                          -
                          
                            L
                            b
                          
                          +
                          1
                        
                        )
                      
                    
                  
                
                
                  
                    
                      s
                      ⁡
                      
                        (
                        
                          k
                          +
                          1
                        
                        )
                      
                    
                  
                  
                    ⋯
                  
                  
                    
                      s
                      ⁡
                      
                        (
                        
                          k
                          +
                          1
                          -
                          
                            L
                            b
                          
                          +
                          1
                        
                        )
                      
                    
                  
                
                
                  
                    
                      
                    
                  
                  
                    ⋮
                  
                  
                    
                      
                    
                  
                
                
                  
                    
                      s
                      ⁡
                      
                        (
                        
                          k
                          +
                          N
                        
                        )
                      
                    
                  
                  
                    ⋯
                  
                  
                    
                      s
                      ⁡
                      
                        (
                        
                          k
                          +
                          N
                          -
                          
                            L
                            b
                          
                          +
                          1
                        
                        )
                      
                    
                  
                
              
              ]
            
            ⁡
            
              [
              
                
                  
                    
                      b
                      ⁡
                      
                        (
                        0
                        )
                      
                    
                  
                
                
                  
                    ⋮
                  
                
                
                  
                    
                      b
                      ⁡
                      
                        (
                        
                          
                            L
                            b
                          
                          -
                          1
                        
                        )
                      
                    
                  
                
              
              ]
            
          
        
      
    
  




For convenience, boldface low-case letters are used for vectors, and boldface upper-case letter for matrix to represent the above equation:

n=Xf−Sb 

The criterion of equalizer is to find f and b that minimizes the MLSE input noise,

min ∥n∥2 

Since the number of training symbols is limited, joint optimization of f and b is sensitive to noise. The following discussion derives a sub-optimal approach that reduces the estimated parameter to pre-filer f only.
Cross-correlation between the pre-filter outputs (Xf) and training symbol may be modeled as an ISI channel at the MLSE input (b). Thus b can be represented by f. Using LS CE at the pre-filter output, and let b be the channel estimate provides:

b=S+Xf

where ()+ represents the pseudo-inverse. Substituting above will minimization the function, to yield:

min ∥X f−S S+X f∥2=min ∥(I−S S+)X f∥2=min f′Af 

where A=X′(I−S S+)X, and ()′ is the transpose operation. To avoid trivial solution, constraints are applied. Two types commonly used constraints are Unit-norm constraint and the Linear constraint. When this constrains the norm of 1, then the optimization solution is the eigen-vector of A corresponding to the least eigenvalue Provides:

f=eigvec(A)

A linear constraint may also be chosen for f. For example, we can fix i-th element of b to 1. In another word, the i-th tap of MLSE channel b is 1. When c is the i-th row vector of S+X. Then the linear constraint is given by:

cf=1

This results in an optimization solution given by:

f=A−1c′

The linear constraint is often better than the unit-norm constraint. In the linear constraint, if the first tap is chosen to be one, the above minimization criterion is equivalent to the DFE criterion. Diagonal loading also helps when matrix A is close to singular.

FIG. 11 may be used to describe the second branch of the multi-branch equalizer of FIG. 9 in more detail. After channel decoding, the data is re-encoded and used to train 7 tap LEs 924 and 926. The reason to choose LE for the second branch is because of the inter-frame interleaving. The re-encoded bits that relate to a voice frame may only provide half of the burst (even data bits). DFEs need consecutive samples for the feedback filter. In addition, LE is simpler than DFE (MLSE). Other embodiments that use fully re-encoded bits may chose DFEs over LEs for the second branch. Although buffer 922 is shown here as being located downstream of switching mechanism 907. The buffer may be placed upstream of the switches S1, S2 and S3. This ensures that the received RF bursts are stored in memory no matter the state of the mode selection module 907. Thus the bursts are immediately available to the second branch of the multi-branch equalizer when the second branch of the multi-branch equalizer is enabled by the output of the mode selection module 907.
FIG. 12 provides a logic flow diagram illustrating equalizing received RF burst(s) when no switching mechanism is employed. This involves a step 1200 receiving a number of burst(s), which are then de-rotated as previously described in step 1202. In step 1204, processing the RF burst(s) with a first equalizer, such as the first equalizer processing branch, of FIG. 9 which is trained using the known training sequence in step 1206. The received RF bursts may be supplied to both the first equalizer processing branch and second equalizer processing branch. Within the second equalizer processing branch, a buffer or other memory location stores the received RF burst(s), for further processing. The first equalizer processing branch equalizes the received RF burst in step 1208 using filters that have been trained based on a known training sequence. This equalized RF burst produces a series of samples or soft decisions which are de-interleaved in step 1210 and decoded in step 1212 to yield extracted data bits. A data frame may be decoded from the extracted data bits in step 1214, which in turn may be re-encoded to produce re-encoded data bits in step 1216. In the case of a voice frame, this requires that the data from the current set of RF burst(s) be combined with that of a previous set of RF bursts to produce a valid voice frame. The voice frame may them be re-encoded to produce re-encoded data bits. The re-encoded data bits may be interleaved in step 1218 to produce a re-encoded data burst. This re-encoded data burst may comprise partially re-encoded bits when applied to voice frames.
Step 1220 retrieves RF burst(s) from memory for processing using a second equalizer processing branch. This may involve the retrieval of one or more RF bursts, which are processed using the second equalizer branch. The re-encoded data burst is provided as a signal to train the second equalizer processing branch in step 1222. This allows the RF burst stored in memory to be equalized in step 1224 using the second equalizer processing branch, wherein the second equalizer processing branch is trained not only on the known training sequence, but also at least some partially re-encoded data bits produced from the original output of the channel decoder. This allows the second processing branch to provide an improved output over the first processing branch by utilizing not only the known training sequence but also re-encoded data bits in order to better equalize or train the second equalizer processing branch. The second equalizer processing branch produces an alternate set of soft decisions, which may be de-interleaved in step 1226 and decoded in step 1228 in order to produce an alternate date frame in step 1230.
In noise-limited scenarios, the single antenna interface cancel action may perform worse than the conventional receiver. Thus, it may be desirable to place the conventional 901 receiver in service. In addition, channels having long delays such as those having hilly terrain can also cause large degradation due to the short pre-filter length. To solve the problem, a switches may be added to enable the interactive single antenna cancellation process. The switch may be based on any combination of SNR, Colored noise discriminator and Channel profile detector.
FIGS. 13A and 13B provide a logic flow diagram for a method of equalizing RF burst in accordance with an embodiment of the present invention. This logic flow uses logic to selectively enable via switches or other like mechanisms the interference cancellation process. In step 1302, the received RF burst is stored in a buffer for additional processing as will be discussed with reference to FIG. 13B. In step 1304, a burst SNR estimation is performed to provide an estimate of the SNR associated with the received RF burst. At decision point 1306, a determination is made as to whether or not a signal indicating that the transmission will be discontinued has been received. If no signal that the transmission will be discontinued is received, steps 1308 through 1312 will examine parameters associated with received RF burst. These parameters may include a determination of the SNR associated with the received RF burst in step 1308 to provide a more accurate measure than that provided by the burst estimation in step 1304, a determination of a measure of the amount of colored noise associated with the received RF burst in step 1310, and a determination of the channel profile is made in step 1312. Decision point 1314 compares the SNR as determined in step 1308, the measure of colored noise as determined in step 1310, and the channel profile estimation as determined in step 1312 to predetermined thresholds. These thresholds are a predetermined SNR threshold, a predetermined colored noise threshold, and a predetermined channel profile threshold. This comparison is made to determine whether or not interference cancellation processing is to be enabled. One embodiment may require all of the identified parameters compare unfavorably to their associated predetermined thresholds. Other embodiments may merely require a single or majority of the parameters to compare unfavorably to the predetermined thresholds. If at decision point 1314 it is determined that interference cancellation is not to be enabled, the burst will be processed according to conventional burst processing in step 1318. Otherwise, step 1316 will perform interference cancellation burst processing.
While FIG. 13A primarily describes the processing of the bursts, FIG. 13B primarily discusses the processing of data frames. At decision point 1320, it is determined whether or not a discontinued transmission signal was received. If a discontinued transmission signal was received, processing may cease. Otherwise, in step 1322 deinterleaving of the bursts will occur and be followed by channel decoding of the burst in step 1324. Decision point 1326 uses the similar criteria as decision point 1314 to determine whether or not interference cancellation should be enabled. The thresholds used in 1326 may be different from that in 1314 If the interference cancellation is enabled, the data frame produced in step 1324 will be re-encoded in step 1328 and interleaved in step 1330. This will be done in order to produce an at least partially re-encoded burst which may be used in step 1332 for the training and equalization of the interference cancellation burst process of step 1316. The results of the burst process may then be deinterleaved in step 1334 and decoded in step 1336. Step 1338 decodes the content contained within the data frame whether or not interference cancellation was enabled from decision point 1326. For example, if voice information is contained within the data frame, voice decoding occurs as illustrated in step 1338.
Decision points 1314 and 1326, which determine whether or not interference cancellation is to be enabled, may utilize predetermined thresholds that are adjusted depending on the data mode associated with the data contained in the RF burst. For example, if the operational mode of the RF burst supports voice or speech, a voice mode associated with the RF burst may be identified. For example, such voice modes may include an adapted multi-rate encoded speech, a full-rate encoded speech, a half-rate encoded speech, an enhanced full-rate encoded speech, an adaptive half-rate encoded speech, or other like voice modes known to those having skill in the art. These different voice modes each may require different SNR, interference or channel conditions in order to be successfully processed. Therefore, the predetermined SNR thresholds, colored noise thresholds, or channel profile thresholds may be dependant on the voice mode associated with the RF burst. Thus, decision points 1314 and 1326 may use thresholds that are defined by the operating mode associated with the RF bursts. In this way, interference cancellation is able to be selectively enabled based on the logical relationships of measured parameters and predetermined thresholds.
In summary, the present invention provides a method of processing RF burst(s) dependent on a speech or data mode associated with data contained within the RF burst. For example, different voice modes, full rate, half rate, and adaptive multi-channel rates each may require different SNR conditions in order to be successfully processed. To improve the equalization of the received RF burst(s), the SNR associated with the burst is estimated. Then based on the SNR or other related conditions (i.e. the presence or absence of colored noise, and the estimated channel profile) a decision can be made as to whether or not an interference cancellation process should be implemented. For example, the presence of colored noise may indicate the presence of interference requiring the cancellation of such interference, the channel profile as described by the channel length and other associated properties may help determine when an interference cancellation process should be utilized as well, and if there is insufficient SNR, i.e. the SNR is below the predetermined threshold, all indicate that it may be desirable to implement interference cancellation to improve the processing of the received burst(s).
As one of average skill in the art will appreciate, the term “substantially” or “approximately”, as may be used herein, provides an industry-accepted tolerance to its corresponding term. Such an industry-accepted tolerance ranges from less than one percent to twenty percent and corresponds to, but is not limited to, component values, integrated circuit process variations, temperature variations, rise and fall times, and/or thermal noise. As one of average skill in the art will further appreciate, the term “operably coupled”, as may be used herein, includes direct coupling and indirect coupling via another component, element, circuit, or module where, for indirect coupling, the intervening component, element, circuit, or module does not modify the information of a signal but may adjust its current level, voltage level, and/or power level. As one of average skill in the art will also appreciate, inferred coupling (i.e., where one element is coupled to another element by inference) includes direct and indirect coupling between two elements in the same manner as “operably coupled”. As one of average skill in the art will further appreciate, the term “compares favorably”, as may be used herein, indicates that a comparison between two or more elements, items, signals, etc., provides a desired relationship. For example, when the desired relationship is that signal 1 has a greater magnitude than signal 2, a favorable comparison may be achieved when the magnitude of signal 1 is greater than that of signal 2 or when the magnitude of signal 2 is less than that of signal 1.
The foregoing description of a preferred embodiment of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention. The embodiment was chosen and described in order to explain the principles of the invention and its practical application to enable one skilled in the art to utilize the invention in various embodiments and with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the claims appended hereto, and their equivalents. Further, it should be understood that various changes, substitutions and alterations can be made hereto without departing from the spirit and scope of the invention as described by the appended claims.

## Claims

1. A multi-branch equalizer processing module operable to selectively enable interference cancellation for the processing of received radio frequency (RF) burst(s), comprising:
a mode selection module operable to selectively enable interference cancellation when a signal to noise ratio (SNR) associated with the RF burst(s) compares unfavorably with a predetermined SNR threshold, and wherein the predetermined SNR threshold is based on a operational mode associated with the RF burst(s);
a first equalizer operable to be trained based upon a known training sequence, to equalize RF burst(s), and to extract data bits from the RF burst(s); and
a second equalizer operable to be trained based upon at least the known training sequence, to equalize the RF burst(s), and to extract alternate data bits from RF burst(s), when the SNR associated with the RF burst(s) compares unfavorably with a predetermined SNR threshold.

2. The multi-branch equalizer processing module of claim 1, wherein the second equalizer is operable to also be trained based upon re-encoded data bits extracted from the RF burst(s).

3. The multi-branch equalizer processing module of claim 1, wherein the mode selection module is operable to selectively enable interference cancellation when:
a measure of the colored noise associated with the RF burst(s) compares unfavorably with a predetermined colored noise threshold; and
a channel profile associated with the RF burst(s) compares unfavorably with a predetermined channel profile threshold.

4. The multi-branch equalizer processing module of claim 3, wherein the predetermined channel profile threshold and predetermined colored noise threshold are based on operational mode associated with the RF burst(s).

5. The multi-branch equalizer processing module of claim 3, wherein the predetermined SNR threshold, the predetermined channel profile threshold, and predetermined colored noise threshold are based on the operational mode associated with the RF burst(s), and wherein the operational mode associated with the RF burst(s) comprises a voice mode selected from the group consisting of:
adaptive multi-rate encoded speech;
full rate encoded speech;
half rate encoded speech;
enhanced full rate encoded speech; and
half rate adaptive multi-rate encoded speech.

6. The multi-branch equalizer processing module of claim 1, further comprising:
a deinterleaver operable to deinterleave the extracted data bits from the first equalizer;
a channel decoder operable to decode a frame comprised of the extracted data bits;
a re-encoder operable to re-encode the frame to produce re-encoded data bits;
an interleaver operable to interleave the re-encoded data bits and the known training sequence to produce a re-encoded burst, wherein the second equalizer is operable to also be trained based upon the re-encoded burst(s);
the deinterleaver operable to deinterleave the alternate data bits; and
the channel decoder operable to decode an alternate frame comprised of at least some of the alternate data bits.

7. The multi-branch equalizer processing module of claim 1, wherein:
the received RF bursts that the mode selection module examines to determine when to selectively enable interference cancellation comprises a first set of RF bursts; and
the received RF bursts that the first equalizer and second equalizer process comprise a second set of RF bursts, wherein the first set of RF bursts preceded the second set of RF bursts.

8. The multi-branch equalizer processing module of claim 7, wherein:
the first set of RF bursts comprise:
4 RF bursts; or
2 RF burst for half rate adaptive multi-rate encoded speech; and the second set of RF bursts comprise:
4 RF bursts; or
2 RF burst for half rate adaptive multi-rate encoded speech.

9. A wireless terminal that comprises:
a Radio Frequency (RF) front end operable to receive RF burst(s);
a baseband processor communicatively coupled to the RF front end, wherein the baseband processor and RF front end are operable to produce a baseband signal from the RF burst(s); and
a mode selection module operable to selectively enable interference cancellation when a signal to noise ratio (SNR) associated with the RF burst(s) compares unfavorably with a predetermined SNR threshold, and wherein the predetermined SNR threshold is based on a operational mode associated with the RF burst(s);
a multi-branch equalizer processing module operably coupled to the baseband processor and mode selection module, wherein the multi-branch equalizer processing module receives the baseband signal from the baseband processor, and wherein the multi-branch equalizer processing module further comprises:
a first equalizer processing branch operable to:
be trained based upon known training sequence(s);
equalize the received RF burst(s); and
extract data bits from the received RF burst(s);

a second equalizer processing branch operable to:
be trained based upon an at least partially re-encoded burst comprising the known training sequence(s) and re-encoded data bits, wherein the at least partially re-encoded burst are produced by processing a decoded frame;
equalize the received RF burst(s); and
extract alternate data bits from the received RF burst(s);


wherein the combination of the baseband processor and multi-branch equalizer processing module are operable to produce a data block from:
soft decisions; or
alternative soft decisions when the SNR associated with the RF burst(s) compares unfavorably with a predetermined SNR threshold;

a de-interleaver operable to deinterleave the data block;
a decoder operable to decode a data frame from the data block;
a re-encoder operable to re-encode the data frame to produce at least a partially re-encoded data block; and
an interleaver operable to interleave the at least partially re-encoded data block to produce the at least partially re-encoded burst.

10. The wireless terminal of claim 9, wherein the mode selection module is operable to selectively enable interference cancellation when:
a measure of the colored noise associated with the RF burst(s) compares unfavorably with a predetermined colored noise threshold; and
a channel profile associated with the RF burst(s) compares unfavorably with a predetermined channel profile threshold.

11. The wireless terminal of claim 10, wherein the predetermined channel profile threshold and predetermined colored noise threshold are based on operational mode associated with the RF burst(s).

12. The wireless terminal of claim 10, wherein the predetermined SNR threshold, the predetermined channel profile threshold, and predetermined colored noise threshold are based on the operational mode associated with the RF burst(s), and wherein the operational mode associated with the RF burst(s) comprises a voice mode selected from the group consisting of:
adaptive multi-rate encoded speech;
full rate encoded speech;
half rate encoded speech;
enhanced full rate encoded speech; and
half rate adaptive multi-rate encoded speech.

13. The wireless terminal of claim 10, wherein the predetermined SNR threshold, the predetermined channel profile threshold, and predetermined colored noise threshold are based on the operational mode associated with the RF burst(s), and wherein the operational mode associated with the RF burst(s) comprises a data mode.

14. The wireless terminal of claim 10, wherein the measure of colored noise being represented by a diagonality coefficient of a noise auto correlation matrix.

15. The wireless terminal of claim 9, wherein the RF burst(s) include Gaussian Minimum Shift Keying (GMSK) symbols carrying the data bits and interfering GMSK/8PSK symbols.

16. A method for equalizing received radio frequency (RF) burst(s), comprising:
examining the received RF bursts to determine an operational mode associated with the RF burst(s);
establishing a predetermined signal to noise ratio (SNR) threshold for selectively enabling interference cancellation, wherein the predetermined SNR threshold is based on the operational mode associated with the RF burst(s);
determining a SNR associated with the RF burst(s);
comparing the SNR associated with the RF burst(s) with the predetermined SNR threshold, wherein interference cancellation is enabled when the SNR associated with the RF burst(s) compares unfavorably with the predetermined SNR threshold;
training a first equalizer with a known training sequence;
equalizing the received RF bursts with the first equalizer;
deinterleaving the RF burst;
decoding the RF burst(s) to yield extracted data bits;
decoding a frame from the extracted data bits;
wherein interference cancellation comprises:
re-encoding the frame to produce re-encoded data bits;
interleaving the re-encoded data bits;
training a second equalizer with the known training sequence and the re-encoded data bits;
equalizing the received RF bursts to extract alternative data bits with the second equalizer;
deinterleaving the alternative extracted data bits; and
decoding an alternate frame from the deinterleaved alternative extracted data bits.

17. The method of claim 16, further comprising:
determining a measure of the colored noise associated with the RF burst(s); and determining a channel profile associated with the RF burst(s).

18. The method of claim 17, further comprising enabling interference cancellation when:
the measure of the colored noise associated with the RF burst(s) compares unfavorably with a predetermined colored noise threshold; and
the channel profile associated with the RF burst(s) compares unfavorably with a predetermined channel profile threshold.

19. The method of claim 18, wherein the predetermined SNR threshold, the predetermined channel profile threshold, and predetermined colored noise threshold are based on the operational mode associated with the RF burst(s), and wherein the operational mode associated with the RF burst(s) comprises a voice mode selected from the group consisting of:
adaptive multi-rate encoded speech;
full rate encoded speech;
half rate encoded speech;
enhanced full rate encoded speech, and
half rate adaptive multi-rate encoded speech.

20. The method of claim 16, wherein the operational mode associated with the RF burst(s) comprises a data mode.

21. The method of claim 16, wherein received RF bursts are associated with an interfering GMSK/8PSK wireless communication.