text: as disclosed in detail hereinafter , a system and / or a method for detecting , identifying , extracting and reporting interference may be used in a communication system . in particular , such a system or method may be employed in a wideband communication system to protect against , or to report the presence of , narrowband interference , which has deleterious effects on the performance of the wideband communication system . as shown in fig2 , the signal reception path of the base station 16 , which was described as receiving narrowband interference from the mobile unit 12 in conjunction with fig1 , includes an antenna 20 that provides signals to a low noise amplifier ( lna ) 22 . the output of the lna 22 is coupled to a splitter 24 that splits the signal from the lna into a number of different paths , one of which may be coupled to an adaptive notch filter ( anf ) module 26 and another of which may be coupled to a narrowband receiver 28 . the output of the anf module 26 is coupled to a wideband receiver 30 , which may , for example , be embodied in a cdma receiver or any other suitable wideband receiver . the narrowband receiver 28 may be embodied in a 15 khz bandwidth receiver or in any other suitable narrowband receiver . although only one signal path is shown in fig2 , it will be readily understood to those having ordinary skill in the art that such a signal path is merely exemplary and that , in reality , a base station may include two or more such signal paths that may be used to process main and diversity signals received by the base station 16 . the outputs of the narrowband receiver 28 and the wideband receiver 30 are coupled to other systems within the base station 16 . such systems may perform voice and / or data processing , call processing or any other desired function . additionally , the anf module 26 is also communicatively coupled , via the internet , telephone lines or any other suitable media , to a reporting and control facility that is remote from the base station 16 . in some networks , the reporting and control facility may be integrated with the switching station 18 . the narrowband receiver 28 is communicatively coupled to the switching station 18 and may respond to commands that the switching station 18 issues . each of the components 20 - 30 of the base station 16 shown in fig2 , except for the anf module 26 , may be found in a conventional wideband cellular base station , the details of which are well known to those having ordinary skill in the art . it will also be appreciated by those having ordinary skill in the art that fig2 does not disclose every system or subsystem of the base station 16 and , rather , focuses on the systems and subsystems of the base station 16 that are relevant to the description of the present invention . in particular , it will be readily appreciated that , while not shown in fig2 , the base station 16 includes a transmission system or subsystem . during operation of the base station 16 , the antenna 20 receives wideband signals that are broadcast from the mobile unit 13 and couples such signals to the lna 22 , which amplifies the received signals and couples the amplified signals to the splitter 24 . the splitter 24 splits the amplified signal from the lna 22 and essentially puts copies of the amplified signal on each of its output lines . the anf module 26 receives the signal from the splitter 24 and , if necessary , filters the wideband signal to remove any undesired narrowband interference and couples the filtered wideband signal to the wideband receiver 30 . fig3 illustrates a frequency spectrum 40 of a wideband signal that may be received at the antenna 20 , amplified and split by the lna 22 and the splitter 24 and coupled to the anf module 26 . if the wideband signal received at the antenna 20 has a frequency spectrum 40 as shown in fig3 , the anf module 26 will not filter the wideband signal and will simply couple the wideband signal directly through the anf module 26 to the wideband receiver 30 . however , as noted previously , it is possible that the wideband signal transmitted by the mobile unit 13 and received by the antenna 20 has a frequency spectrum 42 as shown in fig4 . such a frequency spectrum 42 includes not only the wideband signal from the mobile unit 13 having a frequency spectrum similar to the frequency spectrum 40 of fig3 , but includes three narrowband interferers 44 , 46 , 48 , as shown in fig4 , one of which may be from the mobile unit 12 . if a wideband signal having a frequency spectrum 42 including narrowband interferers 44 , 46 , 48 is received by the antenna 20 and amplified , split and presented to the anf module 26 , the anf module 26 will filter the frequency spectrum 42 to produce a filtered frequency spectrum 50 as shown in fig5 . the filtered frequency spectrum 50 has the narrowband interferers 44 , 46 , 48 removed , therefore leaving a frequency spectrum 50 that is very similar to the frequency spectrum 40 , which does not include any interference . the filtered wideband signal is then coupled from the anf module 26 to the wideband receiver 30 , so that the filtered wideband signal spectrum 50 may be demodulated . although some of the wideband signal was removed during filtering by the anf module 26 , sufficient wideband signal remains to enable the wideband receiver 30 to recover the information that was broadcast by a mobile unit . accordingly , in general terms , the anf module 26 selectively filters wideband signals to remove narrowband interference therefrom . further detail regarding the anf module 26 and its operation is provided below in conjunction with fig6 - 17 . in general , one embodiment of an anf module 60 , as shown in fig6 , scans the frequency spectrum of the signal provided by the splitter 24 and looks for narrowband interference therein . such scanning may be implemented by scanning to various known narrowband channels that exist within the bandwidth of the wideband signal . for example , the anf module 60 may scan to various amps channels that lie within the bandwidth of the wideband signal . alternatively , all of the frequency spectrum encompassed by the wideband signal may be scanned . either way , when narrowband interference is detected in the wideband signal , the anf module 60 moves the narrowband interference into the notch of a notch filter , thereby filtering the wideband signal to remove the narrowband interference . in particular , as shown in fig6 , the signal from the splitter 24 is coupled to a first mixer 62 , which receives an additional input from a voltage controlled oscillator ( vco ) 64 . the first mixer 62 mixes the signal from the splitter 26 with the signal from the vco 64 , thereby shifting the frequency spectrum of the signal from the splitter 24 and putting a portion of the shifted frequency spectrum located at intermediate frequency ( if ) into a notch frequency of a notch filter 66 . accordingly , the component of the frequency shifted signal that is at the if is removed by the notch filter 66 having a notch frequency set at the if . the resulting filtered signal is coupled from the notch filter 66 to a second mixer 68 , which is also driven by the vco 64 . the second mixer 68 mixes the notch filter output with the signal from the vco 64 to shift the frequency spectrum of the filtered signal back to an original position that the signal from the splitter 24 had . the output of the second mixer 68 is coupled to a band pass filter 70 , which removes any undesired image frequencies created by the second mixer 68 . in the system of fig6 , the narrowband interference present in the wideband signal is mixed to the if , which is the notch frequency of the notch filter 66 , by the first mixer 62 and is , therefore , removed by the notch filter 66 . after the narrowband interference has been removed by the notch filter 66 , the second mixer 68 restores the signal to its original frequency position , except that the narrowband interference has been removed . collectively , the first mixer 62 , the vco 64 , the notch filter 66 , the second mixer 68 and the band pass filter may be referred to as an “ up , down filter ” or a “ down , up filter .” the signal from the splitter 24 is also coupled to a bypass switch 72 so that if no narrowband interference is detected in the wideband signal from the splitter 24 , the bypass switch 72 may be enabled to bypass the notch filter 66 and the mixers 62 , 68 , thereby passing the signal from the splitter 24 directly to the wideband receiver 30 . alternatively , if narrowband interference is detected , the bypass switch 72 is opened and the signal from the splitter 24 is forced to go through the notch filter 66 . to detect the presence of narrowband interference and to effectuate frequency scanning , a number of components are provided . a discriminator 74 receives the output signal from the first mixer 62 and detects signal strength at the if using a received signal strength indicator ( rssi ) that is tuned to the if . the rssi output of the discriminator 74 is coupled to a comparator 76 , which also receives a threshold voltage on a line 78 . when the rssi signal from the discriminator 74 exceeds the threshold voltage on the line 78 , the comparator 76 indicates that narrowband interference is present at the if , which is the notch frequency of the notch filter 66 . when narrowband interference is detected , the sweeping action of the vco 64 is stopped so that the notch filter 66 can remove the interference at the if . to affect the sweeping action of the vco 64 , the output of the comparator 76 is coupled to a sample and hold circuit 80 , which receives input from a voltage sweep generator 82 . generally , when no interference is detected by the comparator 76 , the output of the voltage sweep generator 82 passes through the sample and hold circuit 80 and is applied to a summer 84 , which also receives input from a low pass filter 86 that is coupled to the output of the discriminator 74 . the summer 84 produces a signal that drives the vco 64 in a closed loop manner . as the voltage sweep generator 82 sweeps its output voltage over time , the output of the summer 84 also sweeps , which causes the frequency output of the vco 64 to sweep over time . the sweeping output of vco 64 , in conjunction with the discriminator 74 and the comparator 76 , scan the signal from the splitter 24 for interference . as long as the comparator 76 indicates that narrowband interference is not present , the switch 72 is held closed , because there is no need to filter the signal from the splitter 24 . however , when the comparator 76 detects narrowband interference in the signal from the splitter 24 ( i . e ., when the rssi exceeds the voltage on the line 78 ), the sample and hold circuit 80 samples the output of the voltage sweep generator 82 and holds the sampled voltage level , thereby providing a fixed voltage to the summer 84 , which , in turn , provides a fixed output voltage to the vco 64 . because a fixed voltage is provided to the vco 64 , the frequency output by the vco 64 does not change and the signal from the splitter 24 is no longer scanned , but is frequency shifted so that the narrowband interference is moved to the if , which is the notch frequency of the notch filter 66 . additionally , when the comparator 76 indicates that narrowband interference is present , the switch 72 opens and the only path for the signal from the splitter 24 to take is the path through the mixers 62 , 68 and the notch filter 66 . the threshold voltage on the line 78 may be hand tuned or may be generated by filtering some received signal strength . either way , the voltage on the line 78 should be set so that the comparator 76 does not indicate that interference is present when only a wideband signal , such as the signal shown in fig3 , is present , but only indicates interference when a signal having narrowband interference is present . for example , the frequency spectrum 42 shown in fig4 , shows three narrowband interferers 44 , 46 , 48 , only one of the interferers would be needed for the comparator 76 to indicate the presence of narrowband interference . as will be readily appreciated , the embodiment shown in fig6 is only able to select and filter a single narrowband interferer within a wideband signal . as shown in fig7 , a second embodiment of an anf module 100 , which may filter a number of narrowband interferers , generally includes a scanner 102 , an analog to digital converter ( a / d ) 104 , a microcontroller 106 , an operations , alarms and metrics ( oa & amp ; m ) processor 108 and notch modules , two of which are shown in fig7 at reference numerals 110 and 112 . the microcontroller 106 and the oa & amp ; m processor 108 may be embodied in a model pic 16c77 - 20p microcontroller , which is manufactured by microchip technology , inc ., and a model 80386 processor , which is manufactured by intel corp ., respectively . 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 106 and the oa & amp ; m processor 108 may be merged into a single processing device . additionally , the second embodiment of the anf module 100 may include a built in test equipment ( bite ) module 114 and a bypass switch 116 , which may be embodied in a model as239 - 12 gallium arsenide single - pole , double - throw switch available from hittite . the microcontroller 106 and the oa & amp ; m processor 108 may be coupled to external memories 118 and 120 , respectively . in general , the scanner 102 , which includes a mixer 130 , a discriminator 132 and a programmable local oscillator 134 , interacts with the a / d 104 and the microcontroller 106 to detect the presence of narrowband interference in the signal provided by the splitter 24 . the mixer 130 and the programmable local oscillator 134 may be embodied in a model md - 54 - 0005 mixer available from m / a - com and a model ad9831 direct digital synthesizer , which is manufactured by analog devices , inc ., respectively . additionally , the a / d 104 may be completely integrated within the microcontroller 106 or may be a stand alone device coupled thereto . as described in further detail below , once narrowband interference is detected in the signal from the splitter 24 , the microcontroller 106 , via serial bus 136 , controls the notch modules 110 , 112 to remove the detected narrowband interference . although the second embodiment of the anf module 100 , as shown in fig7 , includes two notch modules 110 , 112 , additional notch modules may be provided in the anf module 100 . the number of notch modules that may be used in the anf module 100 is only limited by the signal degradation that each notch module contributes . because multiple notch modules are provided , multiple narrowband interferers may be removed from the wideband signal from the splitter 24 . for example , if three notch modules were provided , a wideband signal having the frequency spectrum 42 , as shown in fig4 , may be processes by the anf module 110 to produce a filtered wideband signal having the frequency spectrum 50 , as shown in fig5 . the scanner 102 performs its function as follows . the signal from the splitter 24 is coupled to the mixer 130 , which receives an input from the programmable local oscillator 134 . the mixer 130 mixes the signals from the splitter 24 down to an if , which is the frequency that the discriminator 132 analyses to produce an rssi measurement that is coupled to the a / d 104 . the a / d 104 converts the rssi signal from an analog signal into a digital signal that may be processed by the microcontroller 106 . the microcontroller 106 compares the output of the a / d 104 to an adaptive threshold that the microcontroller 106 has previously determined details regarding how the microcontroller 106 determines the adaptive threshold are provided hereinafter . if the microcontroller 106 determines that the output from the a / d 104 , which represents rssi , exceeds the adaptive threshold , one of the notch modules 110 , 112 may be assigned to filter the signal from the splitter 24 at the if having an rssi that exceeds the adaptive threshold . the microcontroller 106 also programs the programmable local oscillator 134 so that the mixer 130 moves various portions of the frequency spectrum of the signal from the splitter 24 to the if that the discriminator 132 processes . for example , if there are 59 narrowband channels that lie within the frequency band of a particular wideband channel , the microcontroller 106 will sequentially program the programmable local oscillator 134 so that each of the 59 channels is sequentially mixed down to the if by the mixer 132 so that the discriminator 132 can produce rssi measurements for each channel . accordingly , the microcontroller 106 uses the programmable local oscillator 134 , the mixer 130 and the discriminator 132 to analyze the signal strengths in each of the 60 narrowband channels lying within the frequency band of the wideband signal . by analyzing each of the channels that lie within the frequency band of the wideband signal , the microcontroller 106 can determine an adaptive threshold and can determine whether narrowband interference is present in one or more of the narrowband channels . once channels having narrowband interference are identified , the microcontroller 106 may program the notch modules 110 , 112 to remove the most damaging interferers , which may , for example , be the strongest interferers . as described in detail hereinafter , the microcontroller 106 may also store lists of channels having interferers , 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 108 , and may be used for system diagnostic purposes . diagnostic purposes may include , but are not limited to , controlling the narrowband receiver 28 to obtain particular information relating to an interferer and retasking the interferer by communicating with its base station . for example , the reporting and control facility may use the narrowband receiver 28 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 and may request the infrastructure to change the transmit frequency of 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 all together . additionally , diagnostic purposes may include using the narrowband receiver 28 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 narrowband receiver 28 to determine that the user of the mobile unit was dialing 911 , or any other emergency number , and may , therefore , decide that the narrowband receiver 28 should be used to handle the emergency call by routing the output of the narrowband receiver 28 to a telephone network . fig8 reveals further detail of one of the notch modules 110 , it being understood that any other notch modules used in the anf module 100 may be substantially identical to the notch module 110 . in general , the notch module 110 is an up , down or down , up filter having operational principles similar to the anf module 60 described in conjunction with fig6 . in particular , the notch module 110 includes first and second mixers 150 , 152 , each of which receives an input signal from a phase locked loop ( pll ) 154 that is interfaced through a logic block 156 to the serial bus 136 of the microcontroller 106 . disposed between the mixers 150 , 152 is a notch filter block 158 , further detail of which is described below . in practice , the mixers 150 , 152 may be embodied in model md54 - 0005 mixers that are available from m / a - com and the pll 154 may be embodied in a model lmx2316tm frequency synthesizer that is commercially available from national semiconductor . during operation of the anf module 100 , the microcontroller 106 controls the pll 154 to produce an output signal that causes the first mixer 150 to shift the frequency spectrum of the signal from the splitter 24 to an if , which is the notch frequency of the notch filter block 158 . alternatively , in the case of cascaded notch modules , the notch module may receive its input from another notch module and not from the splitter 24 . the output of the pll 154 is also coupled to the second mixer to shift the frequency spectrum of the signal from the notch filter block 158 back to its original position as it was received from the splitter 24 after the notch filter block 158 has removed narrowband interference therefrom . the output of the second mixer 152 is further coupled to a filter 160 to remove any undesired image frequencies that may be produced by the second mixer 152 . the output of the filter 160 may be coupled to an additional notch module ( e . g ., the notch module 112 ) or , if no additional notch modules are used , may be coupled directly to the wideband receiver 30 . additionally , the notch module 110 includes a bypass switch 164 that may be used to bypass the notch module 110 in cases where there is no narrowband interference to be filtered or in the case of a notch module 110 failure . for example , the microcontroller 106 closes the bypass switch 164 when no interference is detected for which the notch module 110 is used to filter . conversely , the microcontroller 106 opens the bypass switch 164 when interference is detected and the notch module 110 is to be used to filter such interference . as shown in fig8 , the notch filter block 158 includes a filter 165 , which may be , for example a filter having a reject band that is approximately 15 khz wide at − 40 db . the reject band of the filter 165 may be fixed at , for example , a center frequency of 150 mhz or at any other suitable frequency at which the if of the mixer 150 is located . although the notch filter block 158 of fig8 shows only a single filter 165 , as shown in fig9 , a second embodiment of a notch filter block 166 may include a switch 170 and multiple filters 172 - 178 . in such an arrangement , each of the filters 172 - 178 has a notch frequency tuned to the if produced by the first mixer 150 . additionally , each of the filters 172 - 178 may have a different reject bandwidth at − 40 db . for example , as shown in fig9 , the filters 172 - 178 have reject bandwidths of 15 khz to 120 khz . the use of filters having various reject bandwidths enables the anf module 100 to select a filter having an optimal reject bandwidth to best filter an interferer . during operation , of the second embodiment of the notch filter block 166 , the microcontroller 106 controls the switch 170 to route the output signal from the first mixer 150 to one of the filters 172 - 178 . the microcontroller 106 , via the switch 170 , selects the filter 172 - 178 having a notch switch best suited to filter interference detected by the microcontroller 106 . for example , if the microcontroller 106 determines that there is interference on a number of contiguous channels , the microcontroller 106 may use a filter 172 - 178 having a notch width wide enough to filter all such interference , as opposed to using a single filters to filter interference on each individual channel . additionally , a single filter having a wide bandwidth may be used when two narrowband channels having interference are separated by a narrowband channel that does not have narrowband interference . although the use of a single wide bandwidth filter will filter a narrowband channel not having interference thereon , the wideband signal information that is lost is negligible . having described the detail of the hardware aspects of the system , attention is now turned to the software aspects of the system . of course , it will be readily understood by those having ordinary skill in the art that software functions may be readily fashioned into hardware devices such as , for example , application specific integrated circuits ( asics ). accordingly , while the following description pertains to software , such a description is merely exemplary and should not be considered limiting in any way . that being said , fig1 - 15 include a number of blocks representative of software or hardware functions or routines . if such blocks represent software functions , instructions embodying the functions may be written as routines in a high level language such as , for example , c , or any other suitable high level language , and may be compiled into a machine readable format . alternatively , instructions representative of the blocks may be written in assembly code or in any other suitable language . such instructions may be stored within the microcontroller 106 or may be stored within the external memory 118 and may be recalled therefrom for execution by the microcontroller 106 . a main routine 200 , as shown in fig1 , includes a number of blocks or routines that are described at a high level in connection with fig1 and are described in detail with respect to fig1 - 15 . the main routine 200 begins execution at a block 202 at which the microcontroller 102 sets up default values and prepares to carry out the functionality of the anf module 100 . after the setup default values function is complete , control passes to a block 204 , which performs a built - in test equipment ( bite ) test of the anf module 100 . after the bite test has been completed , control passes from the block 204 to a block 206 , which performs signal processing and interference identification . after the interference has been identified at the block 206 , control passes to a block 208 where the identified interference is extracted from the wideband signal received by the anf module 100 . after the interference has been extracted at the block 208 , control passes to a block 210 at which a fail condition check is carried out . the fail condition check is used to ensure that the anf module 100 is operating in a proper manner by checking for gross failures of the anf module 100 . after the fail condition check completes , control passes from the block 210 to a block 212 , which performs interference data preparation that consists of passing information produced by some of the blocks 202 - 210 from the microcontroller 106 to the oa & amp ; m 108 . upon completion of the interference data preparation , the main routine 200 ends its execution . the main routine 200 may be executed by the microcontroller 106 at time intervals such as , for example , every 20 ms . as shown in fig1 , the setup default values routine 202 begins execution at a block 220 at which the microcontroller 106 tunes the programmable local oscillator 134 to scan for interference on a first channel designated as f1 . for example , as shown in fig1 , f1 may be 836 . 52 megahertz ( mhz ). alternatively , as will be readily appreciated by those having ordinary skill in the art , the first channel to which the anf module 100 is tuned may be any suitable frequency that lies within the frequency band or guard band of a wideband channel . after the microcontroller 106 is set up to scan for interference on a first frequency , control passes from the block 220 to a block 222 , which sets up default signal to noise thresholds that are used to determine the presence of narrowband interference in wideband signals received from the splitter 24 of fig2 . although subsequent description will provide detail on how adaptive thresholds are generated , the block 222 merely sets up an initial threshold for determining presence of narrowband interference . after the default thresholds have been set at the block 222 control passes to a block 224 at which the microcontroller 106 reads various inputs , establishes serial communication with the notch modules 110 , 112 and any other serial communication devices , as well as establishes communications with the oa & amp ; m processor 108 . after the block 224 completes execution , the setup default values routine 202 returns control to the main program and the block 204 is executed . fig1 reveals further detail of the bite test routine 204 , which begins execution after the routine 202 completes . in particular , the bite test routine 204 begins execution at a block 240 , at which the microcontroller 106 puts the notch modules 110 , 112 in a bypass mode by closing their bypass switches 190 . after the notch modules 110 , 112 have been bypassed , the microcontroller 106 programs the bite module 114 to generate interferers that will be used to test the effectiveness of the notch modules 110 , 112 for diagnostic purposes . after the notch modules 110 , 112 have been bypassed and the bite module 114 is enabled , control passes from the block 240 to a block 242 . at the block 242 , the microcontroller 106 reads interferer signal levels at the output of the notch module 112 via the a / d 104 . because the notch modules 110 , 112 have been bypassed by the block 240 , the signal levels at the output of the notch module 112 should include the interference that is produced by the bite module 114 . after the interferer signal levels have been read at the block 242 , a block 244 determines whether the read interferer levels are appropriate . because the notch modules 110 , 112 have been placed in bypass mode by the block 240 , the microcontroller 106 expects to see interferers at the output of the notch module 112 . if the levels of the interferer detected at the output of the notch module 112 are not acceptable ( i . e ., are too high or too low ), control passes from the block 244 to a block 246 where a system error is declared . declaration of a system error may include the microcontroller 106 informing the oa & amp ; m processor 108 of the system error . the oa & amp ; m processor 108 , in turn , may report the system error to a reporting and control facility . additionally , declaration of a system error may include writing the fact that a system error occurred into the external memory 118 of the microcontroller 106 . alternatively , if the block 244 determines that the interferer levels are appropriate , control passes from the block 244 to a block 248 at which the microcontroller 106 applies one or more of the notch modules , 110 , 112 . after the notch modules 110 , 112 have been applied ( i . e ., not bypassed ) by the block 248 , control passes to a block 250 , which reads the signal level at the output of the notch module 112 . because the bite module 114 produces interference at frequencies to which the notch filters are applied by the block 248 , it is expected that the notch modules 110 , 112 remove such interference . after the signal levels are read by the block 250 , control passes to a block 252 , which determines if interference is present . if interference is present , control passes from the block 252 to the block 246 and a system error is declared because one or more of the notch modules 110 , 112 are not functioning properly because the notch modules 110 , 112 should be suppressing the interference generated by the bite module 114 . alternatively , if no interference is detected at the block 252 , the anf module 100 is functioning properly and is , therefore , set to a normal mode of operation at a block 254 . after the block 254 or the block 246 have been executed , the bite test routine 204 returns control to the main program 200 , which begins executing the block 206 . as shown in fig1 , the signal processing and interference identification routine 206 begins execution at a block 270 . at the block 270 , the microprocessor 106 controls the programmable local oscillator 134 so that the microcontroller 106 can read signal strength values for each of the desired channels via the discriminator 132 and the a / d 104 . in particular , the microcontroller 106 may control the programmable local oscillator 134 to tune sequentially to a number of known channels . the tuning moves each of the known channels to the if so that the discriminator 132 can make an rssi reading of the signal strength of each channel . optionally , if certain channels have a higher probability of having interference than other channels , the channels having the higher probability may be scanned first . channels may be determined to have a higher probability of having interference based on historical interference patters or interference data observed by the anf module 100 . additionally , at the block 270 , the microcontroller 106 controls the programmable local oscillator 134 to frequency shift portions of the guard bands to the if so that the discriminator 132 can produce rssi measurements of the guard bands . because the guard bands are outside of a frequency response of a filter disposed within the wideband receiver 30 , the block 270 compensates guard band signal strength reading by reducing the values of such readings by the amount that the guard bands will be attenuated by a receiver filter within the wideband receiver 30 . compensation is carried out because the anf module 100 is concerned with the deleterious effect of narrowband signals on the wideband receiver 30 . accordingly , signals having frequencies that lie within the passband of the filter of the wideband receiver 30 do not need to be compensated and signals falling within the guard band that will be filtered by the receive filter of the wideband receiver 30 need to be compensated . essentially , the guard band compensation has a frequency response that is the same as the frequency response of the wideband receiver filter . for example , if a wideband receiver filter would attenuate a particular frequency by 10 db , the readings of guard bands at that particular frequency would be attenuated by 10 db . after the block 270 is completed , control passes to a block 272 , which selects a number of channels having the highest signal levels . commonly , the number of channels that will be selected by the block 272 corresponds directly to the number of notch modules , 110 , 112 that are employed by a particular anf module 100 . after the channels having the highest signal levels are selected by the block 272 , control passes from the block 272 to a block 274 . at the block 274 , the microcontroller 106 determines an adaptive threshold by calculating an average signal strength value for the desired channels read by the block 270 . however , the average is calculated without considering the channels having the highest signal levels that were selected by the block 272 . alternatively , it would be possible to calculate the average by including the signal levels selected by the block 272 . the block 274 calculates an average that will be compensated by an offset and used to determine whether narrowband interference is present on any of the desired channels read by the block 270 . after the block 274 completes execution control passes to a block 276 , which compares the signal strength values of the channels selected by the block 272 to the adaptive threshold , which is the sum of the average calculated by the block 274 threshold and an offset . if the selected channels from the block 272 have signal strengths that exceeds the adaptive threshold , control passes to a block 278 . the block 278 indicates the channels on which interference is present based on the channels that exceeded the adaptive threshold . such an indication may be made by , for example , writing information from the microcontroller 106 to the external memory 118 , which is passed to the oa & amp ; m processor 108 . after the interferers have been indicated by the block 278 , control passes to a block 280 . additionally , if none of the channels selected by the block 272 have signal strengths that exceed the adaptive threshold , control passes from the block 276 to the block 280 . at the block 280 , the microcontroller 106 updates an interference data to indicate on which channels interferers were present . in particular , each frame ( e . g ., 20 ms ) the microcontroller 106 detects interferers by comparing power levels ( rssi ) on a number of channels to the threshold level . when an inteferer is detected , data for that interferer is collected for the entire time that the interferer is classified as an interferer ( i . e ., until the rssi level of the channel falls below the threshold for a sufficient period of time to pass the hang time test that is described below ). all of this information is written to a memory ( e . g ., the memory 118 or 120 ), to which the oa & amp ; m processor 108 has access . as described below , the oa & amp ; m processor 108 processes this information to produce the interference report . additionally , the block 280 reads input commands that may be received from the oa & amp ; m processor 108 . generally , such commands may be used to perform anf module 100 configuration and measurement . in particular , the commands may be commands that put the anf module 100 in various modes such as , for example , a normal mode , a test mode in which built in test equipment is employed or activated , or a bypass mode in which the anf module 100 is completely bypassed . additionally , commands may be used to change identifying characteristics of the anf module 100 . for example , commands may be used to change an identification number of the anf module 100 , to identify the type of equipment used in the anf module 100 , to identify the geographical location of the anf module 100 or to set the time and date of a local clock within the anf module 100 . further , commands may be used to control the operation of the anf module 100 by , for example , adding , changing or deleting the narrowband channels over which the anf module 100 is used to scan or to change manually the threshold at which a signal will be classified as an interferer . further , the attack time and the hang time , each of which is described below , may be changed using commands . additionally , a command may be provided to disable the anf module 100 . after the block 280 has completed execution , the signal processing and interference identification routine 260 returns control back to the main routine 200 , which continues execution at the block 208 . as shown in fig1 , the interference extraction routine 208 begins execution at a block 290 , which compares the time duration that an interferer has been present with a reference time called “ duration time allowed ,” which may also be referred to as “ attack time .” if the interferer has been present longer than the attack time , control passes to a block 292 . alternatively , if the interferer has not been present longer than the duration time allowed , control passes to a block 296 , which is described in further detail below . essentially , the block 290 acts as a hysteresis function that prevents filters from being assigned to temporary interferers immediately as such interferers appear . typically , the duration time allowed may be on the order of 20 milliseconds ( ms ), which is approximately the frame rate of a cdma communication system . as will be readily appreciated by those having ordinary skill in the art , the frame rate is the rate at which a base station and a mobile unit exchange data . for example , if the frame rate is 20 ms , the mobile unit will receive a data burst from the base station every 20 ms . the block 90 accommodates mobile units that are in the process of initially powering up . as will be appreciated by those having ordinary skill in the art , mobile units initially power up with a transmit power that is near the mobile unit transmit power limit . after the mobile unit that has initially powered up establishes communication with a base station , the base station may instruct the mobile unit to reduce its transmit power . as the mobile unit reduces its transmit power , the mobile unit may cease to be an interference source to a base station having an anf module . accordingly , the block 290 prevents the anf module 100 from assigning a notch module 110 , 112 to an interferer that will disappear on its own within a short period of time . at the block 292 , the microcontroller 106 determines whether there are any notch modules 110 , 112 that are presently not used to filter an interferer . if there is a notch module available , control passes from the block 292 to a block 294 , which activates an available notch module and tunes that notch module to filter the interferer that is present in the wideband signal from the splitter 24 . after the block 294 has completed execution , control passes to the block 296 , which is described below . if , however , the block 292 determines that there are no notch modules available , control passes from the block 292 to a block 298 , which determines whether the present interferer is stronger than any interferer to which a notch module is presently assigned . essentially , the block 298 prioritizes notch modules so that interferers having the strongest signal levels are filtered first . if the block 298 determines that the present interferer is not stronger than any other interferer to which a notch module is assigned , control passes from the block 298 to the block 296 . alternatively , if the present interferer is stronger than an interferer to which a notch module is assigned , control passes from the block 298 to a block 300 . the block 300 determines whether the interferer that is weaker than the present interferer passes a hang time test . the hang time test is used to prevent the anf module 100 from deassigning a notch module 110 , 112 from an interferer when the interferer is in a temporary fading situation . for example , if a mobile unit is generating interference and a notch module 110 , 112 has been assigned to filter that interference , when the mobile unit enters a fading situation in which the interference level is detected at an anf module 100 becomes low , the anf module 100 does not deassign the notch module being used to filter the fading interference until the interference has not been present for a time referred to as hang time . essentially , hang time is a hysteresis function that prevents notch modules from being rapidly deassigned from interferers that are merely temporarily fading and that will return after time has passed . hang time may be on the order of milliseconds of seconds . accordingly , if the interferer that is weaker than the present interferer passes hang time , control passes to a block 302 . alternatively , if the interferer weaker than the present interferer does not pass hang time , the block 300 passes controlled to the block 296 . at the block 302 , the microcontroller 106 deactivates the notch module being used to filter the weaker interferer and reassigns that same notch module to the stronger interferer . after the block 302 has completed the reassignment of the notch module , control passes to the block 296 . at the block 296 , the microcontroller 106 rearranges interferers from lowest level to highest level and assigns notches to the highest level interferers . as with the block 298 , the block 296 performs prioritizing functions to ensure that the strongest interferers are filtered with notch modules . additionally , the block 296 may analyze the interference pattern detected by the anf module 100 and may assign filters 172 - 178 having various notch widths to filter interferers . for example , if the anf module 100 detects interference on contiguous channels collectively have a bandwidth of 50 khz , the 50 khz filter 176 of the notch filter block 158 may be used to filter such interference , rather than using four 15 khz filters . such a technique essentially frees up notch filter modules 110 , 112 to filter additional interferers . after the block 296 has completed execution , control passes to a block 304 , which updates interference data by sending a list of channels and their interference status to a memory ( e . g ., the memory 118 or 120 ) that may be accessed by the oa & amp ; m processor 108 . after the block 304 has completed execution , the interference extraction routine 208 returns control to the main module 200 , which continues execution at the block 210 . at the block 210 , as shown in fig1 , the microcontroller 106 determines if a gross failure has occurred in the anf module 100 . such a determination may be made by , for example , determining if a voltage output from a voltage regulator of the anf module 100 has an appropriate output voltage . alternatively , gross failures could be determined by testing to see if each of the notch modules 110 , 112 are inoperable . if each of the notch modules is inoperable , it is likely that a gross failure of the anf module 100 has occurred . either way , if a gross failure has occurred , control passes from the block 320 to a block 322 at which point the microcontroller 106 enables the bypass switch 116 of fig7 to bypass all of the notch modules 110 , 112 of the anf module 100 , thereby effectively connecting the splitter 24 directly to the wideband receiver 30 . after the execution of the block 322 , or if the block 320 determines that a gross failure has not occurred , control passes back to the main routine 200 , which continues execution at the block 212 . at the block 212 , the interference data that was written to the memory 118 or 120 , is passed to the oa & amp ; m processor 108 . having described the functionality of the software that may be executed by the microcontroller 106 , attention is now turned to the oa & amp ; m processor 108 of fig7 . if the blocks shown in fig1 represent software functions , instructions embodying the functions may be written as routines in a high level language such as , for example , c , or any other suitable high level language , and may be compiled into a machine readable format . alternatively , instructions representative of the blocks may be written in assembly code or in any other suitable language . such instructions may be stored within the oa & amp ; m processor 108 or may be stored within the external memory 120 and may be recalled therefrom for execution by the oa & amp ; m controller 108 . in particular , as shown in fig1 a and 16b , which are referred to herein collectively as fig1 , a main routine 340 executed by the oa & amp ; m processor 108 may begin execution at a block 342 , at which the oa & amp ; m processor 108 is initializes itself by establishing communication , checking alarm status and performing general housekeeping tasks . at the block 342 , the oa & amp ; m processor 108 is initialized and passes control to a block 344 . at the block 344 , the oa & amp ; m processor 108 determines whether there is new data to read from an oa & amp ; m buffer ( not shown ). if the block 344 determines that there is new data to read , control passes to a block 346 , which determines if the new data is valid . if the new data is valid , control passes from the block 346 to a block 348 , which read the data from the oa & amp ; m buffer . alternatively , if the block 346 determines that the new data is not valid , control passes from the block 346 to a block 350 , which resets the oa & amp ; m buffer . after the execution of either the block 348 or the block 350 , control passes to a block 352 , which is described in further detail hereinafter . returning to the block 344 , if the block 344 determines that there is no new data to be read , control passes to a block 360 , which calculates power levels of each of the channels scanned by the anf module 100 . the oa & amp ; m processor 108 is able to calculate power levels at the block 360 because the data generated as the microcontroller 106 of the anf module 100 scans the various channels is stored in a buffer that may be read by the oa & amp ; m processor 108 . after the power levels have been calculated at the block 360 , control passes to a block 362 , which determines if the any of the calculated power levels exceed a predetermined threshold . if the calculated power levels do exceed the predetermined threshold , control passes from the block 362 to a block 364 , which tracks the duration and time of the interferer before passing control to a block 366 . alternatively , if the block 362 determines that none of the power levels calculated to the block 360 exceed the predetermined threshold , control passes from the block 362 directly to the block 366 . the block 366 determines whether the interferer being evaluated was previously denoted as an interferer . if the block 366 determines that the interferer being evaluated was not previously an interferer , control passes to the block 352 . alternatively , the block 366 passes control to a block 368 . at the block 368 , the oa & amp ; m processor 108 determines whether the present interferer was a previous interferer that has disappeared , if so , the oa & amp ; m processor 108 passes control to a block 370 . alternatively , if the present interferer has not disappeared , control passes from the block 368 to a block 372 . at the block 370 , the oa & amp ; m processor 108 stores the interferer start time and duration . such information may be stored within the oa & amp ; m processor 108 itself or may be stored within the external memory 120 of the oa & amp ; m processor 108 . after the block 370 has completed execution , control passes to the block 352 . at the block 372 , the duration of the interferer is incremented to represent the time that the interferer has been present . after the execution of block 372 , control passes to the block 352 . the block 352 determines whether a command has been received at the oa & amp ; m processor 108 from the reporting and control facility . if such a command has been received , control passes from the block 352 to a block 380 . at the block 380 , the oa & amp ; m processor 108 determines if the command is for the microcontroller 106 of the anf module 100 , or if the command is for the oa & amp ; m processor 108 . if the command is for the microcontroller 106 , control passes from the block 380 to a block 382 , which sends the command to the microcontroller 106 . after the execution of the block 382 , the main routine 340 ends . alternatively , if the command received by the oa & amp ; m processor 108 is not a command for the microcontroller 106 , control passes from the block 380 to a block 384 , which prepares a response to the command . responses may include simple acknowledgments or may include responses including substantive data that was requested . further detail on the block 384 is provided in conjunction with fig1 . after the block 384 has prepared a response , a block 386 activates the serial interrupt of the oa & amp ; m processor 108 and ends execution of the main routine 340 . alternatively , if the block 352 determines that a command was not received , control passes from the block 352 to a block 390 , which determines if the bypass switch 116 of fig7 is closed ( i . e ., the bypass is on ). if the block 390 determines that the bypass is not on , the execution of the main routine 340 ends . alternatively , if the block 390 determines that the bypass is on , control passes from the block 390 to a block 392 . at the block 392 , the oa & amp ; m processor 108 determines whether there was a prior user command to bypass the anf module 100 using the bypass switch 116 . if such a user command was made , execution of the main routine 340 ends . alternatively , if there was no prior user command bypass the anf module 100 , control passes from the block 392 to a block 394 , which compares the bypass time to a hold time . if the bypass time exceeds the hold time , which may be , for example , one minute , control passes from the block 394 to a block 396 . at the block 396 , an alarm is generated by the oa & amp ; m processor 108 and such an alarm is communicated to a reporting and control facility by , for example , pulling a communication line connected to the reporting and control facility to a 24 volt high state . after the execution of the block 396 , the main routine 340 ends . alternatively , if the block 394 determines that the bypass time has not exceeded the hold time , control passes from the block 394 to a block 398 , which counts down the hold time , thereby bringing the bypass time closer to the hold time . eventually , after the block 398 sufficiently decrements the hold time , the block 394 will determine that the bypass time does exceed the hold time and pass control to the block 396 . after the block 398 has completed execution , the main routine 340 ends . as shown in fig1 , the prepare response routine 384 begins execution at a block 400 . at the block 400 , the oa & amp ; m processor 108 reads information that the microcontroller 106 has written into a buffer ( e . g ., the memory 118 or 120 ) and calculates the duration of the interferers that are present , calculates interferer power levels and calculates the average signal power . this information may be stored locally within the anf module 100 or may be reported back to a network administrator in real time . such reporting may be performed wirelessly , over dedicated lines or via an internet connection . the interferer power levels and the average signal power may be used to evaluate the spectral integrity of a geographic area to detect the presence of any fixed interferers that may affect base station performance . additionally , such information may be used to correlate base station performance with the interference experienced by the base station . after the block 400 completes execution , control passes through a block 402 . at the block 402 , the oa & amp ; m processor 108 adds real time markers to the information calculated in the block 400 and stores the report information including the real time markers and the information calculated in the block 400 . such information may be stored within the oa & amp ; m processor 108 itself or may be stored within the external memory 120 of the oa & amp ; m processor 108 . after the block 402 has completed execution , control passes to a block 404 , which determines whether a command has been received by the anf module 100 . such commands would be received from a reporting and control facility . if the block 404 determines that no command has been received by the oa & amp ; m processor 108 , control passes from the block 404 back to the main routine 340 , which continues execution at the block 386 . alternatively , if the block 404 determines that a command has been received by the oa & amp ; m processor 108 , control passes from the block 404 to a block 406 , which determines if the received command is a control command that would be used to control the operation of the anf module 100 from a remote location , such as the reporting and control facility . if the block 406 determines that the command received is a control command , the block 406 transfers control to a block 408 which takes the action prescribed by the command . commands may include commands that , for example , commands that enable or disable remote control of the anf module 100 , or may include any other suitable commands . after the execution of the block 408 , control passes from the prepare response routine 384 back to the main routine 340 , which then ends execution . alternatively , if the block 406 determines that the command received by the oa & amp ; m processor 108 is not a control command , control passes from the block 406 to a block 410 , which determines if the received command is a report command . if the command was not a report command , the block 410 passes control back to the main routine 340 . alternatively , if the block 410 determines that the received command is a report command , control passes from the block 410 to a block 412 , which prepares and sends out the interference report . the interference report may include information that shows the parameters of the most recent 200 interferers that were detected by the anf module 100 and the information on which the microcontroller 106 wrote to a memory 118 , 120 that the oa & amp ; m processor 108 accesses to prepare the interference report . the interference report may include the frequency number ( channel ) on which interference was detected , the rf level of the interferer , the time the interferer appeared , the duration of the interferer and the wideband signal power that was present when the interferer was present . in addition to the interference report , the oa & amp ; m processor 108 may prepare a number of different reports in addition to the interference report . such additional reports may include : mode reports ( report the operational mode of the anf module 100 ), status reports ( reports alarm and system faults of the anf module 100 ), software and firmware version reports , header reports ( reports base station name , wideband carrier center frequency , antenna number and base station sector ), date reports , time reports , activity reports ( reports frequency number , rf level , interferer start time , interferer duration , and wideband channel power ) and summary reports . the interference report may be used for network system diagnostic purposes including determining when the network administrator should use a narrowband receiver 28 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 narrowband receiver 28 to determine that the user of the mobile unit was dialing 911 , or any other emergency number , and may , therefore , decide that the narrowband receiver 28 should be used to handle the emergency call by routing the output of the narrowband receiver 28 to a telephone network . additionally , the interference report may be used to determine when a network administrator should control the narrowband receiver 28 to obtain particular information relating to an interferer and retasking the interferer by communicating with its base station . for example , the reporting and control facility may use the narrowband receiver 28 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 and may request the infrastructure to change the transmit frequency of 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 all together . further , the interference reports may be used by a network administrator to correlate system performance with the information provided in the interference report . such correlations could be used to determine the effectiveness of the anf module 100 on increasing system capacity . after the block 412 has completed execution , control passes back to the main routine 340 , which continues execution at the block 386 . referring now to fig1 , a data buffer interrupt function 500 is executed by the oa & amp ; m processor 108 and is used to check for , and indicate the presence of , valid data . the function 500 begins execution at a block 502 , which checks for data . after the execution of the block 502 , control passes to a block 504 , which checks to see if the data is valid . if the block 504 determines that the data is valid , control passes from the block 504 to a block 506 , which sets a valid data indicator before the function 500 ends . alternatively , if the block 504 determines that the data is not valid , control passes from the block 504 to a block 508 , which sets a not valid data indicator before the function 500 ends . numerous modifications and alternative embodiments of the invention will be apparent to those skilled in the art in view of the foregoing description . for example , while the foregoing description specifically addressed the concept of eliminating interference from signals on 30 khz narrowband channels interfering with a 1 . 25 mhz wideband signal , it will be readily appreciated that such concepts could be applied to wideband channels having , for example , 5 , 10 or 15 mhz bandwidths or to contiguous channels that have an aggregate bandwidth of , for example , 5 , 10 or 15 mhz . to accommodate such wider bandwidths , banks of downconverters may be operated in parallel to cover 1 . 25 mhz block of the channel . accordingly , this description is to be construed as illustrative only and not as limiting to the scope of the invention . the details of the structure 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 .