Abstract:
A system that incorporates teachings of the subject disclosure may include, for example, a method for identifying a spectral region in a radio frequency spectrum for initiating a communication session having a transmission link and a reception link, determining a correlation factor from signals measured in the spectral region, detecting according to the correlation factor a foreign communication signal in the spectral region, generating coefficient data to prevent interference with the foreign communication signal while transmitting in the transmission link, filtering a first signal for transmission in the transmission link according to the coefficient data to generate a filtered signal, and causing a transmission of the filtered signal which prevents interference with the foreign communication signal while transmitting in the transmission link. Other embodiments are disclosed.

Description:
PRIOR APPLICATION 
       [0001]    This application is a continuation of U.S. patent application Ser. No. 13/617,720 filed Sep. 14, 2012 by Abdelmonem et al., entitled “Method and Apparatus for an Adaptive Filter Architecture”, which is a continuation of U.S. patent application Ser. No. 12/268,996 filed Nov. 11, 2008 by Abdelmonem et al., entitled “Self-Adaptive Digital RF Bandpass and Bandstop Filter Architecture.” All sections of the aforementioned application(s) are incorporated herein by reference in its entirety. 
     
    
     FIELD OF THE DISCLOSURE 
       [0002]    The subject disclosure is directed to a method and apparatus for an adaptive filter architecture. 
       BACKGROUND 
       [0003]    The increased presence of wireless-based communication systems has spurred substantial growth in the voice and data services available to customers. Wireless networks are now frequently installed in place of traditional wired networks in office as well as home environments, and in local as well as large area networks. Typically, these networks have a base station that is allocated a radio frequency (RF) spectrum which it divides into different channel frequencies that are then used to communicate with multiple remote (often mobile) communication devices. In a cellular system, the base station may be a cellular base station and the remote devices would then be mobile handset communicators, like cellular phones, walkie-talkies, personal data assistants, etc. In a local area network, the base station may be a wireless router, such as one compliant with one or more of the various IEEE 802.11 standards, and the remote devices may be a desktop or laptop computer, wireless printer, another wireless node, etc. In any event, over time as the number of remote devices increases, the allocated spectrum for each communication system has become increasingly more crowded and the available channel frequencies more scarce. 
         [0004]    Whereas traditional network solutions relied upon a top down approach, where the available frequency spectrum bandwidth was first identified and then channelized, more recently some have proposed bottom up approaches such as cognitive radios that proactively mine for “holes” in an available spectrum. Cognitive radios are, generally speaking, wireless communication devices that have transmission and reception characteristics that can change based on a measure of the RF environment of the device. A cognitive radio may scan a large frequency spectrum to determine what frequency bands are not in use, and then set up communications to transmit over only those identified, unused frequency bands. In other applications, cognitive radio operation may be based on environmental data such as operational rules for the network, user behavior data, user subscriber priority information, etc. Cognitive radio techniques can be used in remote stations or base stations, and generally differ from intelligent antenna systems (e.g., multiple input multiple output MIMO devices) which rely upon beamforming to avoid interference. For cognitive radios, accurate analysis of a spectral region is important to identify available bands. 
         [0005]    Analyzing spectral regions is difficult in general; and this difficulty can vary depending on the type of wireless communication network involved. Wireless systems are often classified according to their modulation scheme, such as Time Division Multiple Access System (TDMA), Code Division Multiple Access (CDMA), etc. CDMA is a type of Direct Sequence Spread Spectrum (DSSS) modulation scheme where channels are defined by complementary, orthogonal or pseudo-random spreading sequences or codes, with each user assigned a unique spreading sequence that has a frequency much higher than that of the user&#39;s data signal. DSSS signals have spectral characteristics of bandwidth limited white noise in the RF spectrum. A typical DSSS signal is likely to have one or more interference signals present, e.g., multipath, co-channel, etc. The task of identifying interference in a DSSS signal represents a classic detection-of-signals-in-noise problem, where the “noise” that needs to be detected is in fact a signal in a spectrum whose characteristics are similar to white noise. In other words, the white noise is the signal that needs to be preserved, and the interference signal is undesired. 
         [0006]    Cognitive radios typically employ modulations schemes such as Orthogonal Frequency-Division Multiple Access (OFDMA), which is popular for wideband digital communication and generally considered more robust than CDMA in avoiding co-channel interference. Proper analysis of the frequency spectrum is still difficult even in OFDMA-based system, because the conventional cognitive radios apply brute force algorithms to sense and manage a spectral range. For example, to save time, systems typically block out large portions of a spectral range if interference is detected there. The systems are based on avoidance algorithms. However, given the rapid growth in wireless communication systems, many of which overlap in coverage area, these avoidance algorithms “lose” too much available bandwidth to make cognitive radios practical in all situations. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0007]      FIG. 1  is an example illustration of a communication system; 
           [0008]      FIG. 2  is an example illustration of frequency spectrums of a DSSS signal and a narrowband digital carrier signal; 
           [0009]      FIG. 3  is an example adaptive front-end controller used in a cognitive radio. 
           [0010]      FIG. 4A  is an example illustration of frequency usage in a wireless network; 
           [0011]      FIG. 4B  is an example illustration of interference in an available frequency band; 
           [0012]      FIG. 4C  is an example illustration of an RF signal spectrum containing a first wireless communication band according to a first wireless communication standard and a second wireless communication band according to second wireless communication standard; 
           [0013]      FIG. 5  is an example system level block diagram of an interference detection system; 
           [0014]      FIG. 6  is an example signal processing module; 
           [0015]      FIG. 7  is an exemplary illustration of an interference detection program; and 
           [0016]      FIG. 8  is an exemplary illustration of a high strength channel detection program used by the interference detection program of  FIG. 4   
       
    
    
     DETAILED DESCRIPTION 
       [0017]    Various examples are detailed hereinafter for an adaptive, digital architectures that can be used in radio-frequency (RF) bandpass, bandstop (notch), and other filter applications. The techniques allow for the design of adaptable wireless communication devices with improved performance through intelligent RF signal reception that may quickly identify and correct for signal interference, improve frequency channel signal-to-noise ratios, collaboratively tune a receiver to optimum frequency channels, more accurately estimate signal strength, or perform other adaptive signal processing. In some applications discussed below, the techniques are implemented in a cognitive radio wireless system capable of identifying available frequency bands within a spectral range and then communicating exclusively within those bands, so as to avoid interference between remote devices or between entire wireless systems. 
         [0018]    By implementing the techniques in digital configurations as discussed in examples herein, wireless devices can be formed having any number of complex configurations of bandpass and bandstop (notch) filters, arranged in parallel or cascaded for sequential operation, e.g., having individual or groups of filters in series. Each of the filters may be controlled by generating coefficient data to set not only the frequency of the filter but also its bandwidth of operation. This allows for fully adaptive filters, for example, where depending on the RF environment detected by the wireless device, an adaptive filter may be changed from a bandpass to a bandstop (notch) filter and a bank of such filters may be modified from one configuration to another. 
         [0019]    In many of the examples to follow, the techniques are described in terms of an adaptive front end controller for a wireless communication device, although it will be appreciated that these techniques may be implemented elsewhere within a wireless device as desired. 
         [0020]      FIG. 1  illustrates an example telecommunication system  10  employing an adaptive digital filter apparatus. A plurality of remote units  12 ,  13 A,  13 B,  13 C, and  13 D, in this case mobile units, communicate through one of two base stations  14  and  16 , interfaced together through a switching station  18 . The illustrated configuration may represent a peer-to-peer topology in which remote units communicate directly with one another without the need of the base station as a central host, or (as described below) an infrastructure topology in which the base station routes all data communications. The system  10  may represent a short range or long range network. Any of the remote units  12  and  13 A- 13 D may be a portable digital assistant (PDA), cellular phone, vehicle, media player, laptop computer, wireless supported desktop computer, gaming system, wireless networking device such as a router, switch, etc., or any other portable computing device. The base stations  14 ,  16  and the switching station  18  may be collectively referred to as network infrastructure. 
         [0021]    Each base station  14 ,  16  includes an adaptive digital filter apparatus for intelligently analyzing an incoming RF signal (e.g., spectral region or a wideband communication signal). In this manner, the base stations  14  and  16  are considered cognitive wireless devices. However, any of the mobile units  12 ,  13 A,  13  B,  13 C, and  13 D and/or two base stations  14  and  16  may be designed as a cognitive wireless device, e.g., one capable of adaptively controlling transmission bands by mining for available frequencies in a particular RF spectrum. 
         [0022]    During data communications, the mobile units  12 ,  13 A,  13  B,  13 C, and  13 D may exchange voice, data or other information with one of the base stations  14 ,  16 , each of which may be connected to a conventional landline telephone network, another wireless cellular network, or other wired or wireless data network, e.g., any computer- or server-based network. As an example, information, such as voice information, transferred from the mobile unit  12  to one of the base stations  14 ,  16  may be coupled from the base station to a telephone network to thereby connect the mobile unit  12  with a land line telephone so that the land line telephone may receive the voice information. Conversely, information such as voice information may be transferred from a land line telephone to one of the base stations  14 ,  16 , wherein the base station in turn transfers the information to the mobile unit  12 . 
         [0023]    The mobile units  12 ,  13 A,  13 B,  13 C, and  13 D and the base stations  14 ,  16  may exchange information in a digital format and operate under narrowband or wideband communication protocols. For example, the mobile unit  12  may be a narrowband digital unit communicating with the base station  14  as a narrowband base station using a narrowband communication protocol such as a Groupe Special Mobile (GSM) cellular network, also known as a 2G cellular communication network, with implementations known as General Packet Radio Service (GPRS), Enhanced Data rates for GSM Evolution (EDGE) and Circuit Switched Data (CSD) that each have their own corresponding encoding schemes. The mobile units  13 A,  13  B,  13 C, and  13 D may be wideband digital units that communicate with the base station  16  as a wideband base station and using a wideband communication protocol such as a DSSS signal-based protocol like CDMA or Universal Mobile Telecommunications System (UMTS), also known as a 3G cellular network. CDMA digital communication takes place using spread spectrum techniques that broadcast signals having wide bandwidths, such as, for example, 1.2288 megahertz (MHz) bandwidths. Similarly, UMTS communication takes place using bandwidths that may range from 15-20 MHz, for example. Generally, a channel having a bandwidth that is substantially smaller than that of the wideband communication signal is referred to as a narrowband channel, which in this application also refers to narrowband sub-bands which are used depending on the coding scheme. 
         [0024]    Other examples of wideband communication protocols may be OFDMA systems that have spectral regions formed of sub-bands with varying widths, e.g., 1.25 MHz, 5 MHz, 10 MHz, or 20 MHz. The OFDMA systems may be used in applications such as cognitive radios communication in a wideband network. 
         [0025]    The optional switching station  18  is generally responsible for coordinating the activities of the base stations  14 ,  16  to ensure that the mobile units  12 ,  13 A,  13 B,  13 C, and  13 D are constantly in communication with the base station  14 ,  16  or with some other base stations that are geographically dispersed. For example, the switching station  18  may coordinate communication handoffs of the mobile unit  12  between the base stations  14  and another base station as the mobile unit  12  roams between geographical areas that are covered by the two base stations. 
         [0026]    Each base station  14 ,  16  has an adaptive front-end controller  20  that, as discussed further below, may contain a number of adaptive digital filters configurable into either a bandpass or bandstop configuration to modify the incoming and outgoing RF signals for the respective base station. The adaptive front-end controller  20  may perform any of a number of different intelligent functions. In some examples, the controller  20  operates as a high performance interference filter detecting interference in a spectral region and/or narrowband channel and properly tuning one or more digital filters to remove such interference. 
         [0027]      FIG. 2  illustrates a typical frequency bandwidth of a telecommunication system. In particular,  FIG. 2  illustrates a frequency spectrum  50  of a 1.288 MHz DSSS system that may used by the digital mobile units  13 A,  13 B,  13 C, and  13 D to communicate with the base station  16 , and a 200 kHz frequency spectrum  52  used by the module unit  12  using a narrowband digital communication system to communicate with the base station  14 . 
         [0028]    As would be understood, the digital signal shown in  52  may interfere with the frequency spectrum  50 . Therefore, the adaptive front-end controller  20  in the base station  16  contains adaptive digital filters that are digitally tuned to remove the interference caused by the 200 kHz signal  52  from the DSSS signal  50 , for example, by applying a transfer function given by: 
         [0000]    
       
         
           
             
               Φ 
                
               
                 ( 
                 f 
                 ) 
               
             
             = 
             
               
                 
                    
                   
                     S 
                      
                     
                       ( 
                       f 
                       ) 
                     
                   
                    
                 
                 2 
               
               
                 
                   
                      
                     
                       S 
                        
                       
                         ( 
                         f 
                         ) 
                       
                     
                      
                   
                   2 
                 
                 + 
                 
                   
                      
                     
                       N 
                        
                       
                         ( 
                         f 
                         ) 
                       
                     
                      
                   
                   2 
                 
               
             
           
         
       
     
         [0000]    where |S(ƒ) 2 | is the power spectral density (PSD) of the desired signal and |N(ƒ)| 2  is an estimate the PSD of the interference (noise) signal. If the nature of the interfering signal (noise term N) is assumed to be that given by the interference signal  52 , the shape of the filter may be given, at least theoretically, by the notch frequency spectrum  54  illustrated in  FIG. 2 . As discussed further below, with the adaptive front-end controllers discussed herein not only can a notch (or bandstop) filter be tuned to the particular frequency corresponding to the interference frequency channel  52 , the bandwidth of the notch frequency spectrum  54  can be adjusted to remove interface bands of any size. Herein, any type of interference or noise in an RF signal may be considered a type of RF characteristics that the front-end controller seeks to identify and filter before the underlying wireless device RF receiver receives that RF signal. RF characteristic also refers to any data signal that is to be identified a device, either for filtering out of an incoming RF signal or passing with an incoming RF signal, such as when the RF characteristic is a desired data signal. 
         [0029]    The adaptive front-end controller  20  of  FIG. 1  may contain a plurality of adaptive filters which would allow the base stations to filter multiple interference signals at the same time during a single clock cycle of operation. 
         [0030]    The adaptive front-end controller  20  is described as identifying and removing interference. However, the adaptive front-end controller can provide a number of different functions depending on the application and wireless device.  FIG. 3  illustrates another example application of an adaptive front-end controller used in a wireless device  60 , which may be a cellular phone, cognitive radio, or other wireless device. The radio  60  has two stages, a receiver stage  62  and a transmitter stage  64 , each coupled to an antenna assembly  66 , which may itself comprise one of more antennas for the radio  60 . The radio  60  has a first stage coupled to the antenna assembly  66  and includes an adaptive front-end controller  68  that receives the input RF signal from the antenna and performs adaptive signal processing on that RF signal before providing the modified RF signal to an analog-to-digital converter  70 , which then passes the adapted RF signal to a digital RF tuner  72 . 
         [0031]    The adaptive front-end controller  68  includes two RF signal samplers  74 ,  76  connected between an RF adaptive filter stage  78  that is controlled by controller  80 . The adaptive filter stage  78  may have a plurality of tunable digital filters that can sample an incoming signal and selectively provided bandpass or bandstop signal shaping of that incoming signal, whether an entire wideband communication signal or a narrowband signal or various combinations of both. A controller  80  is coupled to the samplers  74 ,  76  and filter stage  78  and serves as an RF link adapter that along with the sampler  74  monitors the input RF signal from the antenna and determines various RF signal characteristics such as the interferences and noise within the RF signal. The controller  80  is configured to execute any number of a variety of signal processing algorithms to analyze the received RF signal, and determine an optimal filter state for the filter stage  78 . 
         [0032]    By providing tuning coefficient data to the filter stage  78 , the adaptive front end controller  68  acts to pre-filter the received RF signal before that signal is sent to the RF tuner  72  (e.g., a radio tuner), which analyzes the filtered RF signal and in the case of a cognitive filter identifies available frequency bands in the filtered wideband communication (RF) signal, for tuning to a desired frequency band (or channel). Either way, after filtering, the tuner  72  may then perform its standard channel demodulation, data analysis, and local broadcasting functions. The RF tuner  72  may be considered the receiver side of an overall radio tuner, while RF tuner  72 ′ may be considered the transmitter side of the same radio tuner. 
         [0033]    Prior to sending the filtered RF signal (e.g., filter wideband communication signal), the sampler  76  may provide an indication of the filtered RF signal to the controller  80  in a feedback manner for further adjusting of the adaptive filter stage  78 . 
         [0034]    In some examples, the adaptive front-end controller  68  is synchronized with the RF tuner  72  by sharing a master clock signal communicated between the two. For example, cognitive radios operating on a 100 μs response time can be synchronized such that for every clock cycle the adaptive front end analyzes the input RF signal, determines an optimal configuration for the adaptive filter stage  78 , filters that RF signal into the filtered RF signal and communicates the same to the tuner  72  for cognitive analysis at the radio. By way of example, cellular phones have may be implemented with a 200 μs response time on filtering. By implementing the adaptive front end controller  68  using a field programmable gate array configuration for the filter stage, wireless devices may identify not only stationary interference, but also non-stationary interference, of arbitrary bandwidths on that moving interferer. 
         [0035]    In some examples, the controller  80  is connected directly with the tuner  72  to provide data from the signal processing algorithms directly to the radio tuner such as optimized channel specific SNR data, which the tuner may use to better identify available frequency bands within the filtered RF signal. 
         [0036]    In some implementations, the adaptive front-end controller  68  may filter interference or noise from the received incoming RF signal and pass that filtered RF signal to the tuner  72 . In other examples, such as cascaded configurations in which there are multiple adaptive filter stages, the adaptive front-end controller  68  may be configured to apply the filtered signal to an adaptive bandpass filter stage to create a passband portion of the filtered RF signal. For example, the tuner  72  may communicate information to the controller  68  to instruct the controller that the radio is only looking at a portion of an overall RF spectrum and thus to instruct the adaptive front-end controller  68  not filter only certain portions of the RF spectrum and bandpass only those portions. The integration between the tuner  72  and the adaptive front-end controller  68  may be particularly useful in dual-band and tri-band applications in which the tuner  72  is able to communicate over different wireless standards, such as both GSM or UMTS standards. 
         [0037]    The algorithms that may be executed by the controller  80  are not limited to particular ones, although primarily interference detection and elimination is desired for most radio applications. In any event, by way of example, in some configurations the controller  80  may execute a spectral blind source separation algorithm that looks to isolate two sources from their convolved mixtures. The controller  80  may execute a signal to interference noise ratio (SINR) output estimator for all or portions of the RF signal. The controller  80  may perform bidirectional transceiver data link operations for collaborative retuning of the adaptive filter stage  78  in response to instructions from the tuner  72  or from data the transmitter stage  64 . The controller  80  will of course determine the optimal filter tuning coefficient data for configuring the various adaptive filters of stage  78  to properly filter the RF signal. The controller  80  may also include a data interface communicating the tuning coefficient data to the tuner  72 . 
         [0038]    In the illustrated embodiment the filtered RF signal may be converted from a digital signal to an analog signal within the adaptive front-end controller  68 . This allows the controller  68  to integrate in a similar manner to conventional RF filters. In other examples, a digital interface may be used to connect the adaptive front-end controller  68  with the tuner  72 , in which case the ADC  70  would be removed. 
         [0039]    The above discussion is in the context of the receiver stage  62 . Similar elements are show in the transmitter stage  64 , but bearing a prime. The elements in the transmitter stage  64  may be identical to those of the receiver  62 , as shown, or different. Furthermore, some or all of these elements may in fact be executed by the same corresponding structure in the receiver stage  62 . For example, the RF receiver tuner  72  and the transmitter tuner  72 ′ may be the performed by the same single tuner device. The same may be true for the other elements, such as the adaptive filter stages  78  and  78 ′, which may both be implemented in a single FPGA, with different filter elements in parallel for full duplex (simultaneous) receive and transmit operation. 
         [0040]    The adaptive front-end controller configuration may be used in numerous applications, such as a cognitive radio system.  FIG. 4A  illustrates an example RF signal within which a cognitive radio is to communicate. A frequency spectrum  90  contains frequency regions that are currently in use, meaning that remote devices and base stations are communicating on frequency channels in those regions. One region is between 50 MHz and 200 MHz and another is between 450 MHz and 600 MHz. In contrast, the frequency region between 200 MHz and 450 MHz is not in use, and thus is available for communication by the cognitive radio. Under normal operations, the cognitive radio may scan the RF signal  90  and identify the entire frequency region between 200 MHz and 450 MHz as being available. However, turning to  FIG. 4B , an RF signal  92 , similar to the RF signal  90 , contains RF characteristics 94, which in this case are interference frequency signals  94 , within that available region. The signals  94  may be stationary or may hop around to different frequencies within that region. As RF characteristics, the signals  94  may represent noise or any other type of interference, including data carrying interfering signals from other wireless devices, data broadcast according to other wireless standards not currently in use a device, etc. Furthermore, these interference frequencies may be of similar or completely different bandwidths. 
         [0041]    Ordinarily, the cognitive radio would seek to avoid the entire frequency region from 200 MHz to 450 MHz because of these interferes. However, by using an adaptive front-end controller such as discussed herein, the RF signal  92  may be filtered to remove the interference signals  94  (thus forming a filtered RF signal that looks like signal  90 ) before the cognitive radio begins to analyze for available frequency bands. 
         [0042]    The spectral ranges provided in  FIGS. 4A and 4B  are by way of example. In many applications, adaptive front end controllers may be called upon to scan from the few MHz range to 3 GHz and higher. 
         [0043]    These techniques may be used in either single wireless communication systems or multiple band devices where multiple standards are supported. For example, some wireless communication devices known as dual- or tri-band and are capable of communicating over numerous standards, such as over GSM and UMTS depending on the available network. In some instances, operators even support and thus broadcast over multiple simultaneous systems, like GSM and UMTS. In such instances, interference may be self generated, that is, the network will inherently create interfering signals, which means that a wireless device communicating under one standard may experience data communicated simultaneously under the other standard as interference. In such instances, the techniques herein may be used to intelligently identify those interference signals (although they will contain data but from another wireless standard) and will either adaptively filter or pass those signals as not being interference signals and let the wireless device receive data from both standards. Furthermore, by having adaptive filters that may be programmed on the fly, as discussed in examples herein, a remote device can be adapted to identify and filter such interference irrespective of its current wireless standard, that is, as the device moves to a different coverage area and a different wireless standard, the same adaptive filters may be reconfigured to match the standards of that area. Of course, such configuration may be performed initially upon design as well, by having different banks of filter stages each designed for a different of the multiple supported standards. 
         [0044]      FIG. 4C  is a representation of an example RF spectrum in which heterogeneous networks are made to coexist in the same spectral range. This may occur when two different service providers have networks of the same communication standard, such as two different GSM networks, that cover the same area. In this case, the service providers are allocated different portions of the RF spectrum, for example portion  95  for one provider and portion  97  for another. Alternatively, the representation of  FIG. 4C  may reflect completely different heterogeneous networks, for example, where the portion  95  contains GSM signals in the coverage area and portion  97  contains UMTS signals. In either case, typically such spectral regions must be spaced far apart to avoid interference at border regions. However, with an adaptive filter stage device as discussed herein, the spectral regions can be expanded as shown in  95 ′ and  97 ′ because the adaptive filters can be programmed to intelligently filter interference signals at the borders of these regions so that when a device is operating under one band but receiving signals from both, the non-used any data in the non-used band adjacent the used band may be properly filtered. An example implementation is that the techniques herein will be able to prevent a 200 kHz GSM (2G) signal from interfering with a UMTS (3G) signal by using time-adaptive bandstop filters. 
         [0045]    While this filtering is described using the term interference, it is noted that any RF characteristic may be selectively filtered or passed. For example, in such heterogeneous network situations the adaptive filter stages can be tuned to bandpass desired signals and bandstop interference signals. 
         [0046]    In some examples, the wireless devices may identify the wireless standard themselves or be pre-programmed for particular standards. While in other cases, the wireless devices may determine the applicable standard based on header information in the received incoming RF signal, which may then identify to the wireless device the shaping or other configuration parameters for setting the adaptive filters. Such header information may already be applied for synchronizing the wireless device with the adaptive filter stage to the incoming RF signal. More broadly, the adaptive digital filter stage may be designed to any identify information in an RF signal that indicates the some characteristic of that RF signal, from which an adaptive front-end controller may use that information to generate tuning coefficients for the adaptive filters. That identification may occur solely at the front end controller or by having the front end controller coordinate with a receiver or other device coupled thereto for analysis of the identifying information. 
         [0047]      FIG. 5  illustrates an example implementation of an adaptive front-end controller  100 , e.g., as may be used for the controller  20  of  FIG. 1  or controller  60  of  FIG. 3 . Input RF signals are received at an antenna (not shown) and coupled to an initial analog filter  104 , such as low noise amplifier (LNA) block, then digitally converted via an analog to digital converter (ADC)  106 , prior to the digitized input RF signal being coupled to a field programmable gate array (FPGA)  108 . The adaptive filter stage described above may be implemented within the FPGA  108 , which has been programmed to contain a plurality of adaptive filter elements tunable to different operating frequencies and frequency bands, and at least some being adaptive from a bandpass to a bandstop configuration or vice versa, as desired. Although an FPGA is illustrated, it will be readily understood that other architectures such as an application specific integrated circuit (ASIC) or a digital signal processor (DSP) may also be used to implement a digital filter architecture described in greater detail below. 
         [0048]    A DSP  110  is coupled to the FPGA  108  and executes signal processing algorithms that may include a spectral blind source separation algorithm, a signal to interference noise ratio (SINR) output estimator, bidirectional transceiver data link operations for collaborative retuning of the adaptive filter stage in response to instructions from the tuner, and optimal filter tuning coefficients algorithm. 
         [0049]    FPGA  108  is also coupled to a PCI target  112  that interfaces the FPGA  108  and a PCI bus  114  for communicating data externally. A system clock  118  provides a clock input to the FPGA  108  and DSP  110 , thereby synchronizing the components. The system clock  118  may be locally set on the adaptive front-end controller, while in other examples the system claim  118  may reflect an external master clock, such as that of a radio tuner, when used in a cognitive radio application. The FPGA  108 , DSP  110 , and PCI target  112 , designated collectively as signal processing module  116 , will be described in greater detail below. 
         [0050]    In the illustrated example, the adaptive front-end controller  100  includes a microcontroller  120  coupled to the PCI bus  114  and an operations, alarms and metrics (OA&amp;M) processor  122 . Although they are shown and described herein as separate devices that execute separate software instructions, those having ordinary skill in the art will readily appreciate that the functionality of the microcontroller  120  and the OA&amp;M processor  122  may be merged into a single processing device. The microcontroller  120  and the OA&amp;M processor  122  are coupled to external memories  124  and  126 , respectively. The microcontroller  120  may include the ability to communicate with peripheral devices; and, as such, the microcontroller  120  may be coupled to a USB port, an Ethernet port, or an RS232 port, among others (though none shown). In operation, the microcontroller  120  may store lists of channels having interferers or a list of known typically available frequency spectrum bands, as well as various other parameters. Such a list may be transferred to the reporting and control facility or a base station, via the OA&amp;M processor  122 , and may be used for system diagnostic purposes. 
         [0051]    Diagnostic purposes may include, but are not limited to, controlling the adaptive front-end controller  100  to obtain particular information relating to an interferer and retasking the interferer. For example, the reporting and control facility may use the adaptive front-end controller  100  to determine the identity of an interferer, such as a mobile unit, by intercepting the electronic serial number (ESN) of the mobile unit, which is sent when the mobile unit transmits information on the narrowband channel. Knowing the identity of the interferer, the reporting and control facility may contact infrastructure that is communicating with the mobile unit (e.g., the base station) and may request the infrastructure to change the transmit frequency for the mobile unit (i.e., the frequency of the narrowband channel on which the mobile unit is transmitting) or may request the infrastructure to drop communications with the interfering mobile unit altogether. 
         [0052]    Additionally, in a cellular configuration (e.g., a system based on a configuration like that of  FIG. 1 ) diagnostic purposes may include using the adaptive front-end controller  100  to determine a telephone number that the mobile unit is attempting to contact and, optionally handling the call. For example, the reporting and control facility may use the adaptive front-end controller  100  to determine that the user of the mobile unit was dialing 911, or any other emergency number, and may, therefore, decide that the adaptive front-end controller  100  should be used to handle the emergency call by routing the output of the adaptive front-end controller  100  to a telephone network. 
         [0053]    The FPGA  108  provides a digital output coupled to a digital to analog converter (DAC)  128  that converts the digital signal to an analog signal which may be provided to a filter  130  to generate a clean RF output to be broadcast from the base station or mobile station. The digital output at the FPGA  108 , as described, may be one of many possible outputs. For example, the FPGA  108  may be configured to output signals based on a predefined protocol such as a Gigabit Ethernet output, an open base station architecture initiative (OBSAI) protocol, or a common public radio interface (CPRI) protocol, among others. 
         [0054]      FIG. 6  illustrates further details of an example implementation of the signal processing module  116 , it being understood that other architectures may be used to implement a signal detection algorithm. A decoder  150  receives an input from the ADC  106  and decodes the incoming data into a format suitable to be processed by the signal processing module  116 . A digital down converter  152 , such as a polyphase decimator, down converts the decoded signal from the decoder  150 . The decoded signal is separated during the digital down conversion stage into a complex representation of the input signal, that is, into I and Q components which are then are fed into a tunable infinite impulse response (IIR)/finite impulse response (FIR) filter  154 . The IIR/FIR filter  154  may be implemented as multiple cascaded or parallel IIR and FIR filters. For example, the IIR/FIR filter  154  may be used with multiple filters in series, such as initial adaptive bandpass filter followed by adaptive bandstop filter. For example, the bandpass filters may be implemented as FIR filters, while the bandstop filters may be implemented as IIR filters. In an embodiment, fifteen cascaded tunable IIR/FIR filters are used to optimize the bit width of each filter. Of course other digital down converters and filters such as cascaded integrator-comb (CIC) filters may be used, to name a few. By using complex filtering techniques, such as the technique described herein, the sampling rate is lowered thereby increasing (e.g., doubling) the bandwidth that the filter  154  can handle. In addition, using complex arithmetic also provides the signal processing module  116  the ability to perform higher orders of filtering with greater accuracy. 
         [0055]    In any case, the I and Q components from the digital down converter  152  are provided to the DSP  110  which implements a detection algorithm and in response provides the tunable IIR/FIR filter  154  with tuning coefficient data that tunes the IIR and/or FIR filters  154  to specific notch and/or bandpass frequencies, respectively, and specific bandwidths. The tuning coefficient data, for example, may include a frequency and a bandwidth coefficient pair for each of the adaptive notch filters, that instructs that corresponding filter what frequency is to be tuned for bandpass or bandstop operation and the bandwidth to be applied for that operation. In reference to  FIGS. 3 ,  4 A, and  4 B for example, in implementing a cognitive radio, the tuning coefficient data corresponding to a bandpass center frequency and bandwidth may be generated by the detection algorithm and passed to a tunable FIR filter within the IIR/FIR filter  154 . The filter  154  may then pass all signals located within a passband of the given transmission frequency. Tuning coefficient data corresponding to a notch filter may be generated by the detection algorithm and then applied to an IIR filter within the IIR/FIR filter  154  to remove any narrowband interference located within the passband of the bandpass filter. The tuning coefficient data generated by the detection algorithm are implemented by the tunable IIR/FIR filters  154  using mathematical techniques known in the art. For instance, the transfer function of a bandpass filter may be given by: 
         [0000]    
       
         
           
             
               H 
                
               
                 ( 
                 s 
                 ) 
               
             
             = 
             
               
                 
                   H 
                   O 
                 
                  
                 β 
                  
                 
                     
                 
                  
                 s 
               
               
                 
                   s 
                   2 
                 
                 + 
                 
                   β 
                    
                   
                       
                   
                    
                   s 
                 
                 + 
                 
                   ω 
                   O 
                   2 
                 
               
             
           
         
       
     
         [0000]    where ω O  is the center frequency, β is the bandwidth and H O  is the maximum amplitude of the filter. In the case of a cognitive radio, upon implementation of the detection algorithm, the DSP  110  may determine and return coefficients corresponding to a specific frequency and bandwidth to be implemented by the tunable IR/FIR filter  154  through a DSP/PCI interface  158 . Similarly, the transfer function of a notch (or bandstop) filter may also be implemented by the tunable IIR/FIR filter  154 . Of course other mathematical equations may be used to tune the IIR/FIR filters  154  to specific notch or bandpass frequencies and to a specific bandwidth. 
         [0056]    After the I and Q components are filtered to the appropriate notch or bandpass frequency and specific bandwidth, a digital upconverter  156 , such as a polyphase interpolator, converts the signal back to the original data rate; and the output of the digital upconverter is provided to the DAC  128 . 
         [0057]    A wireless communication device capable to be operated as a dual- or tri-band device communicating over multiple standards, such as over GSM and UMTS may use the adaptive digital filter architecture as described above. For example, a dual-band device (using both UMTS and GSM) may be preprogrammed within the DSP  10  to transmit first on UMTS, if available, and on GSM only when outside of a UMTS network. In such a case, the IIR/FIR filter  154  may receive tuning coefficient data from the DSP  110  to pass all signals within a UMTS range. That is, the tuning coefficient data may correspond to a bandpass center frequency and bandwidth adapted to pass only signals within the UMTS range. The signals corresponding to a GSM signal may be filtered, and any interference caused by the GSM signal may be filtered using tuning coefficients, received from the DSP  110 , corresponding to a notch frequency and bandwidth associated with the GSM interference signal. 
         [0058]    Alternatively, in some cases it may be desirable to keep the GSM signal in case the UMTS signal fades quickly and the wireless communication device may need to switch communication standards rapidly. In such a case, the GSM signal may be separated from the UMTS signal, and both passed by the adaptive front-end controller. Using the adaptive digital filter, two outputs may be realized, one output corresponding to the UMTS signal and one output corresponding to a GSM signal. The DSP  110  maybe programmed to again recognize the multiple standard service and may generate tuning coefficients corresponding to realize a filter, such as a notch filter, to separate the UMTS signal from the GSM signal. In such examples, an FPGA may be programmed to have parallel adaptive filter stages, one for each communication band. 
         [0059]    To implement the adaptive filter stages, in some examples, the signal processing module  116  is pre-programmed with general filter architecture code at the time of production, for example, with parameters defining various filter types and operation. The adaptive filter stages may then be programmed, through a user interface or other means, by the service providers, device manufactures, etc. to form the actual filter architecture (parallel filter stages, cascaded filter stages, etc.) for the particular device and for the particular network(s) under which the device is to be used. Of course, dynamic flexibility is achieved during runtime, where the filters may be programmed to different frequencies and bandwidths, each cycle, as discussed herein. 
         [0060]    One method of detecting a wideband signal having narrowband interference is by exploiting the noise like characteristic of a signal. Due to such noise like characteristics of the signal, a particular measurement of a narrowband channel power gives no predictive power as to what the next measurement of the same measurement channel may be. In other words, consecutive observations of power in a given narrowband channel are un-correlated. As a result, if a given measurement of power in a narrowband channel provides predictive power over subsequent measurements of power in that particular channel, thus indicating a departure from statistics expected of a narrowband channel without interference, such a narrowband channel may be determined to contain interference. A method of determining such a narrowband channel having interference is illustrated in the following  FIGS. 7 and 8  and is similar to the techniques described in U.S. application Ser. No. 11/217,717, filed Sep. 1, 2005, entitled “Method and Apparatus for Detecting Interference Using Correlation,” which is incorporated herein by reference in its entirety. 
         [0061]      FIG. 7  illustrates a flowchart of an interference detection program  200  that may be used by the DSP  110  to determine location of interference in a signal. A block  202  continuously scans for a series of signals and stores the observed values of the signal strengths that correspond to each of the various narrowband channels located in the signal. For example, the block  202  may continuously scan a 1.2288 MHz DSSS signal for each of forty one narrowband channels dispersed within it. Alternatively, the block  202  may continuously scan a wideband OFDMA signal for any narrowband signals which may be located within a given passband. The block  202  may be implemented by any well known DSPs used to scan and store signal strengths in a DSSS or OFDMA signal. The scanned values of narrowband signal strengths may be stored in a memory of the DSP or in any other computer readable memory. The block  202  may store the signal strength of a particular narrowband channel along with any information, such as a numeric identifier, identifying the location of that particular narrowband channel within the signal. 
         [0062]    Subsequently, a block  204  determines a number of sequences m of a signal that may be required to be analyzed to determine narrowband channels having interference. A user may provide such a number m based on any pre-determined criteria. For example, a user may provide m to be equal to four, meaning that four consecutive signals need to be analyzed to determine if any of the narrowband channels within that signal spectrum includes an interference signal. As one of ordinary skill in the art would appreciate, the higher the selected value of m, the more accurate will be the interference detection. However, the higher the number m is, the higher is the delay in determining whether a particular signal had an interference present in it, subsequently, resulting in a longer delay before a filter, such as the tunable IIR/FIR filter  154 , is applied to the signal to remove the interference signal. 
         [0063]    Generally, detection of an interference signal may be performed on a rolling basis. That is, at any point in time, m previous signals may be used to analyze presence of an interference signal. The earliest of such m interference signals may be removed from the set of signals used to determine the presence of an interference signal on a first-in-first-out basis. However, in an alternate embodiment, an alternate sampling method for the set of signals may also be used. 
         [0064]    Subsequently, a block  206  selects x narrowband channels having the highest signal strength from each of the m most recent signals scanned at the block  202 . The number x may be determined by a user. For example, if x is selected to be equal to three, the block  206  may select three highest channels from each of the m most recent signals. The methodology for selecting x narrowband channels having highest signal strength from a signal is described in further detail in  FIG. 8  below. For example, the block  206  may determine that the first of the m signals has narrowband channels  10 ,  15  and  27  having the highest signal strengths, the second of the m channels has narrowband channels  15  and  27  and  35  having the highest signal strengths, and the third of the m channels has the narrowband channels  15 ,  27  and  35  having the highest narrowband signal strength. 
         [0065]    After having determined the x narrowband channels having the highest signal strengths in each of the m signals, a block  208  compares these x narrowband channels to determine if any of these highest strength narrowband channels appear more than once in the m signals. In case of the example above, the block  208  may determine that the narrowband channels  15  and  27  are present among the highest strength narrowband channels for each of the last three signals, while channel  35  is present among the highest strength narrowband channels for at least two of the last three signals. 
         [0066]    Such consistent appearance of narrowband channels having highest signal strength over subsequent signals indicate that narrowband channels  15  and  27 , and probably the narrowband channel  35 , may have an interference signal super-imposed on them. A block  210  may use such information to determine which narrowband channels may have interference. For example, based on the number of times a given narrowband channel appears in the selected highest signal strength channels, the block  210  may determine the confidence level that may be assigned to a conclusion that a given narrowband channel contains an interference signal. 
         [0067]    Alternatively, the block  210  may determine a correlation factor for each of the various narrowband channels appearing in the x selected highest signal strength channels and compare the calculated correlation factors with a threshold correlation factor to determine whether any of the x selected channels has correlated signal strengths. Calculating a correlation factor based on a series of observations is well known to those of ordinary skill in the art. For digital signal processing, the correlation factors may be determined using autocorrelation, which is a mathematical tool for finding repeating patterns, such as the presence of a periodic signal which has been buried under noise, or identifying the missing fundamental frequency in a signal implied by its harmonic frequencies. Autocorrelation is used frequently in signal processing for analyzing functions or series of values, such as time domain signals. Informally, correlation determines the similarity between observations as a function of the time separation between them. More precisely, correlation may be achieved through the cross-correlation of a signal with itself. The threshold correlation factor may be given by the user of the interference detection program  200 . 
         [0068]    Note that while in the above illustrated embodiment, the correlation factors of only the selected highest signal strength channels are calculated, in an alternate embodiment, correlation factors of all the narrowband channels within the signals may be calculated and compared to the threshold correlation factor. 
         [0069]    Empirically, it may be shown that when m is selected to be equal to three, for a clean signal, the likelihood of having at least one match among the higher signal strength narrowband channels is 0.198, the likelihood of having at least two matches among the higher signal strength narrowband channels is 0.0106, and the likelihood of having at least three matches among the higher signal strength narrowband channels is 9.38.times.10 ̂−5 . Thus, the higher the number of matches, the lesser is the likelihood of having a determination that one of the x channels contains an interference signal (i.e., false positive interference detection). It may be shown that if the number of scans m is increased to, say four scans, the likelihood of having such matches in m consecutive scans is even smaller, thus providing higher confidence that if such matches are found to be present, they indicate presence of interference signal in those narrowband channels. 
         [0070]    To identify the presence of interference signals with even higher level of confidence, a block  212  may decide whether to compare the signal strengths of the narrowband channels determined to have an interference signal with a threshold. If the block  212  decides to perform such a comparison, a block  214  may compare the signal strength of each of the narrowband channels determined to have an interference with a threshold level. Such comparing of the narrowband channel signal strengths with a threshold may provide added confidence regarding the narrowband channel having an interference signal so that when a notch filter is positioned at that narrowband channel, the probability of removing a non-interfering signal is reduced. However, a user may determine that such added confidence level is not necessary and thus no such comparison to a threshold needs to be performed. In which case, the control passes to a block  216 , which stores the interference signals in a memory. 
         [0071]    After storing the information about the narrowband channels having interference signals, a block  218  selects the next signal from the signals scanned and stored at the block  202 . The block  218  may cause the first of the m signals to be dropped and the newly added signal is added to the set of m signals that will be used to determine presence of an interference signal (first-in-first-out). Subsequently, control is passed to the block  206  where the process of determining narrowband channels having interference signals is repeated. Finally, a block  220  may generate tuning coefficient data which may be passed to the IIR/FIR filters  154  to realize a particular filter structure. In one embodiment, the tuning coefficient data may correspond to specific notch frequencies. In an alternative embodiment, such as, for example, a cognitive radio implementation, the tunable coefficients may correspond to a bandpass frequency and bandwidth. The tuning coefficient data may be passed to the tunable IIR/FIR filter  154 , as shown in  FIG. 6  to select and activate one or more IIR and/or FIR filters that are located in the path of the signal to filter out any narrowband channel identified as having narrowband interference in it. 
         [0072]    Now referring to  FIG. 8 , a flowchart illustrates a high strength channels detection program  250  that may be used to identify various channels within a given scan of the DSSS signal that may contain an interference signal. The high strength channels detection program  250  may be used to implement the functions performed by the block  206  of the interference detection program  200 . In a manner similar to the interference detection program  200 , the high strength channels detection program  250  may also be implemented using software, hardware, firmware or any combination thereof. 
         [0073]    A block  252  may sort signal strengths of each of the n channels within a given DSSS signal. For example, if a DSSS signal has forty one narrowband channels, the block  252  may sort each of the 41 narrowband channels according to its signal strengths. Subsequently, a block  254  may select the x highest strength channels from the sorted narrowband channels and store information identifying the selected x highest strength channels for further processing. An embodiment of the high strength channels detection program  250  may simply use the selected x highest strength channels from each scan of the DSSS signals to determine any presence of interference in the DSSS signals. However, in an alternate embodiment, additional selected criteria may be used. 
         [0074]    Subsequently, a block  256  determines if it is necessary to compare the signal strengths of the x highest strength narrowband channels to any other signal strength value, such as a threshold signal strength, etc., where such a threshold may be determined using the average signal strength across the DSSS signal. For example, the block  256  may use a criterion such as, for example: “when x is selected to be four, if at least three out of four of the selected narrowband channels have also appeared in previous DSSS signals, no further comparison in necessary.” Another criterion may be, for example: “if any of the selected narrowband channels is located at the fringe of the DSSS signal, the signal strengths of such narrowband channels should be compared to a threshold signal strength.” Other alternate criteria may also be provided. 
         [0075]    If the block  256  determines that no further comparison of the signal strengths of the selected x narrowband channels is necessary, control is passed to a block  258 , which stores information about the selected x narrowband channels in a memory for further processing. If the block  256  determines that it is necessary to apply further selection criteria to the selected x narrowband channels, control is passed to a block  260 . The block  260  may determine a threshold value against which the signal strengths of each of the x narrowband channels are compared based on a predetermined methodology. 
         [0076]    For example, in an embodiment, the block  260  may determine the threshold based on the average signal strength of the DSSS signal. The threshold signal strength may be the average signal strength of the DSSS signal or a predetermined value may be added to such average DSSS signal to derive the threshold signal strength. 
         [0077]    Subsequently, a block  262  may compare the signal strengths of the selected x narrowband channels to the threshold value determined by the block  260 . Only the narrowband channels having signal strengths higher than the selected threshold are used in determining presence of interference in the DSSS signal. Finally, a block  264  may store information about the selected x narrowband channels having signal strengths higher than the selected threshold in a memory. As discussed above, the interference detection program  200  may use such information about the selected narrowband channels to determine the presence of interference signal in the DSSS signal. 
         [0078]    The interference detection program  200  and the high strength channel detection program  250  may be implemented by using software, hardware, firmware or any combination thereof. For example, such programs may be stored on a memory of a computer that is used to control activation and deactivation of one or more notch filters. Alternatively, such programs may be implemented using a digital signal processor (DSP) which determines the presence and location of interference channels in a dynamic fashion and activates/de-activates one or more notch filters. 
         [0079]    Accordingly, this description is to be construed as illustrative only and not as limiting to the scope of the invention. The details of the methodology may be varied substantially without departing from the spirit of the invention, and the exclusive use of all modifications, which are within the scope of the appended claims, is reserved.