Source: https://patents.google.com/patent/WO2004095758A2/en
Timestamp: 2019-12-15 13:57:36
Document Index: 641754630

Matched Legal Cases: ['Application No. 60', 'Application No. 60', 'Application No. 10', 'Application No. 10', 'Application No. 10', 'Application No. 10', 'Application No. 10']

WO2004095758A2 - Signal classification methods for scanning receiver and other applications - Google Patents
Signal classification methods for scanning receiver and other applications Download PDF
WO2004095758A2
WO2004095758A2 PCT/US2004/012403 US2004012403W WO2004095758A2 WO 2004095758 A2 WO2004095758 A2 WO 2004095758A2 US 2004012403 W US2004012403 W US 2004012403W WO 2004095758 A2 WO2004095758 A2 WO 2004095758A2
PCT/US2004/012403
WO2004095758A3 (en
David F. Mason
Cognio, Inc.
2003-04-22 Priority to US10/420,362 priority Critical
2003-04-22 Priority to US10/420,362 priority patent/US7116943B2/en
2003-07-28 Priority to US10/628,603 priority patent/US7171161B2/en
2003-07-28 Priority to US10/628,603 priority
2003-10-10 Priority to US60/510,495 priority
2003-10-10 Priority to US51049503P priority
2003-11-26 Priority to US48170603P priority
2003-11-26 Priority to US60/481,706 priority
2004-04-22 Application filed by Cognio, Inc. filed Critical Cognio, Inc.
2004-11-04 Publication of WO2004095758A2 publication Critical patent/WO2004095758A2/en
2005-11-24 Publication of WO2004095758A3 publication Critical patent/WO2004095758A3/en
238000001228 spectrum Methods 0 abstract description 36
238000010183 spectrum analysis Methods 0 description 6
Signal classification techniques for classifying signals occurring in a frequency band using a plurality of classifier procedures each dedicated to identify a particular signal or signal type. The classification procedures operate on spectrum activity data that may include pulse event data describing particular types of signal pulses occurring in the frequency band, power versus frequency data for sampling intervals of activity in a frequency band and/or raw analog-to-digital converter samples take of a received signal. The signal classification techniques are useful to identify wireless radio signals or other radio emissions occurring in an unlicensed radio frequency band. On type of classification procedure is a pulse timing template that is compared against accumulated signal pulse data to determine occurrence of a particular signal type. To enhance the pulse timing template signal classifier, techniques are provided to examine the center frequency distribution of signal pulses that match the timing template in order to confirm that certain signal pulses are associated with a particular frequency hopping signal type. This is particularly useful when the accumulated signal pulse data is obtained from a scanning radio receiver that is tuned to different portions/channels of the frequency band in which the frequency hopping signal is expected to hop.
Application No. 60/510,495, filed October 10, 2003.
Application No. 60/481,706, filed November 26, 2003.
This application is related to the following commonly assigned and co- pending U.S. Patent Applications (each of which is incorporated herein by reference):
Application No. 10/246,364, filed September 18, 2002;
Application No. 10/420,362, filed April 22, 2003; and Application No. 10/628,603, filed July 28, 2003. This application is also a continuation-in-part of U.S. Application No. 10/628,603, filed July 28, 2003.
In certain radio communication environments, it is desirable to know whether and what types of signals or devices are active. For example, an unlicensed radio frequency band is, by its nature, free to be used by any device that emits signals within certain power levels in that part ofthe allocated spectrum. It is possible that many diverse devices may share the unlicensed frequency band at the same time, potentially causing interference with each other. Under these circumstances, it would be useful to identify or classify signals detected in the frequency band in order to know, for example, whether a device should take certain actions to avoid interfering with other devices operating in the frequency band.
One type of classification procedure is a pulse timing template that is compared against accumulated signal pulse data to determine occurrence of a particular signal type. To enhance the pulse timing template signal classification procedure, techniques are provided to examine the center frequency distribution of signal pulses that match the timing template in order to confirm that certain signal pulses are associated with a particular frequency hopping signal type. This is particularly useful when the accumulated signal pulse data is obtained from a scanning radio receiver that is tuned to different portions/channels ofthe frequency band in which the frequency hopping signal is expected to hop.
FIG. 5 is a graphical diagram illustrating exemplary signals that may occur in a frequency band and how data related to those signals is accumulated for analysis by the signal classification process. FIG. 6 is a diagram showing how the output ofthe spectrum analysis component is processed by a plurality of classifiers.
FIG. 9 is a table showing how pulse event data for detected pulses may be assigned "ownership" to one or more classifier algorithms.
FIG. 10 is a diagram showing how a radio receiver may be scanned across a frequency band, dwelling on a channel or portion ofthe frequency band for a period of time during which spectral analysis is performed.
FIG. 12 is a flow chart depicting how a classifier is run only against data obtained for a relevant portion ofthe frequency band.
FIG. 21 is a diagram showing a classifier that identifies a signal based on FFT samples obtained for a portion (e.g., preamble) or substantially an entire signal pulse. DETAILED DESCRIPTION OF THE DRAWINGS
The communication device 1000 has a radio receiver (or transceiver) 200 coupled to one or more antemias 100. An RF interface 300 is coupled to the radio transceiver 200. A spectrum analysis engine (SAGE) 400 is coupled to the radio transceiver 200. The SAGE 400 is a hardware peripheral that generates real-time spectrum activity information. The output ofthe SAGE 400 is the raw information used in the classification process. The SAGE 400 will be generally described hereinafter with reference to FIG. 2. It should be understood that any device capable of detecting signals in the frequency band and supplying raw information about those signals can be used in a classification process as described herein.
Though not specifically shown, the SAGE 400 may reside in a baseband section of a communication device in a VLSI implementation. A processor 600 executes a classification software program, called the classification engine 500, that may comprise processor readable instructions encoded or stored in a processor readable memory 620. Information used by the classification engine 500 to classify signals may be stored locally in a device fingerprint database 610 (also referred to as a profile or reference database). The concept of a fingerprint will be described hereinafter. In addition, new and updated device fingerprints may be downloaded to the communication device 1000 from another communication device 2060 (or other device) that stores a more comprehensive and updated database 2070 of fingerprint definitions. The processor 600 executing the classification engine 500 may be an on-chip processor in the baseband section, or may be a host processor external to the baseband section, but in the communication device 1000 itself. Alternatively, the classification engine 500 may be executed on another device entirely separate from communication device 1000, in which case communication device 1000 would transmit spectrum information generated by the
SAGE 400 via a wireless or wired link to the other device, such as to the server
2055 where the classification engine would be executed. For example, the classification engine 500 could be executed on a server computer that communicates by wire or wirelessly to communication device 1000.
Alternatively, if the communication device 1000 is a WLAN station or client, it may transmit the raw spectrum activity information to WLAN device 2045 which may be an access point with greater processing power and capable of overseeing communications in the WLAN. Data output by the SAGE 400 is stored in a memory 620 that the processor 600 accesses when performing the classification operations. The memory 620 may contain the fingerprint database 610 as well.
The communication device 1000 receives radio frequency energy in the frequency band in which it is operating via the radio transceiver 200. The radio transceiver 200 may downconvert the entire frequency band of interest for a given time interval or a portion of it at a given time interval. In addition, the radio transceiver 200 may scan to different portions ofthe frequency band, stopping to dwell on those portions of a period of time before moving to another portion, thereby gathering information about the entire frequency band. The SAGE 400 processes received energy from the radio transceiver 200 to output first level spectrum information, described hereinafter. The classification engine 500 processes the first level spectrum information with the use of device fingerprints to output information characterizing the activity in the RF spectrum and which classifies/identifies devices operating in the spectrum. When a signal is "classified," data that describes the spectral parameters ofthe signal are determined sufficiently to know generally what type of signal it is. The parameters may include the bandwidth, center frequency, frequency hopping rate (if it hops), pulse duration, time between pulses, etc. A signal that is classified can also be "identified" such as by the brand ofthe chipset that transmits its signal, or perhaps so specific as to identify the brand and model ofthe device that transmits the signal. As a means to confirm a signal classification or identification result, a sync word correlation process may be executed by, for example, a digital signal processor 630. The DSP 630 is capable of invoking a plurality of sync word correlation processes for signals that are expected to be in the frequency band. The DSP 630 would initiate the appropriate sync word correlation after a signal has first been classified based on the spectrum analysis data supplied by the SAGE 400. This sync word correlation process is useful for signals that have distinctive synchronization fields, for example.
With reference to FIG. 2, the SAGE 400 comprises a spectrum analyzer 410, a signal detector 420 and a snapshot buffer 430. The outputs of these components are read out to the memory 620 from a temporary memory 460, which may be a dual port RAM. The processor 600 accesses the output ofthe SAGE 400 via the memory 620 and controls the SAGE 400 by writing configuration information to the control registers 450 that configures operation ofthe SAGE components. More details on the SAGE 400 are disclosed in commonly assigned U.S. Patent No. 6,714,605, entitled "System and Method for Real-Time Spectrum Analysis in a Communication Device," and U.S. Application No. 10/420,511, filed April 22, 2003, the entirety of each of which is incorporated herein by reference. The memory 460 may comprise circular buffers to store data (for a sampling interval or sampling event) output by the various components ofthe SAGE 400. The processor 600 may have its own working memory (e.g., RAM) from which it reads data from the memory 620 and operates on data in that working memory to perform the signal classification techniques described herein. As described in the aforementioned U.S. patent, the SA 410 generates data representing a real-time spectrogram of a bandwidth of RF spectrum, such as, for example, up to 100 MHz using a Fast Fourier Transform (FFT) process. As such, the SA 410 may be used to monitor all activity in a firequency band, such as the 2.4
GHz or 5 GHz bands. As shown in FIG. 4, the data path leading into the SA 410 comprises an automatic gain control block (AGC) block, a windowing block, a
NFFT = 256-point complex FFT block, and a spectrum correction block. The windowing and FFT blocks may support sampling rates as high as 120 Msps
(complex). The windowing block performs pre-FFT windowing on the I and Q data using either a Harming or rectangular window. The FFT block provides (I and
Q) FFT data for each of 256 frequency bins that span the bandwidth of frequency band of interest. For each FFT sampling time interval, the FFT block outputs M
(such as 10) bits of data for each FFT frequency bin, for example, 256 bins.
Internal to the SA 410 are a lowpass filter (LPF), a linear-to-log converter, a decimator and a statistics block. The LPF performs a unity-gain, single-pole lowpass filtering operation on the power values ofthe signal at each FFT frequency. The linear-to-log block at the output ofthe FFT computes the decibel value for each FFT value (in dBFS, i.e., dB from full-scale on the ADC); the decibel value is subsequently converted to an absolute power level (in dBm) by subtracting the receiver gain control from the dBFS value. The stats logic block accumulates and stores the following statistics in the stats buffer ofthe memory
620: duty cycle vs. frequency during a period of time; average (or running sum of) power vs. frequency during a period of time; maximum (max) power vs. frequency during a period of time; and number of peaks during a period of time. The stats block gives the basic information about other signals surrounding a device operating a SAGE 400. Duty cycle is a running count ofthe number of times the power at a FFT frequency bin exceeds a power threshold. The max power statistic for each FFT frequency bin is the maximum power at that FFT frequency bin during a sampling interval. The average power statistic is actually tracked as a running sum ofthe power at each FFT for all FFT intervals, and a software program translates the running sum into an average statistic by accounting for the number of FFT intervals in a single sampling interval. The peaks histogram tracks the number of peaks detected over time intervals. A sampling interval comprises a plurality of FFT intervals, such as 40,000 successive FFTs of (a portion or the entirety) ofthe frequency band, taken over a total time of 1/10 of a second, for example.
A pulse detector 424 calculates relative thresholds based on configuration information, and checks whether a peak exceeds the relative thresholds. If a peak exceeds the relative threshold, it defines the peak as a pulse candidate. Once a pulse candidate is found, the pulse detector compares the identified pulse candidate with a pulse definition such as ranges for power, center frequency, bandwidth and duration (defined by the pulse detector configuration information). After matching a pulse candidate with a defined pulse associated with the configuration information, the pulse detector declares that a pulse has been detected and outputs ' pulse event data (start time, power, center frequency, bandwidth, duration and start time) associated with the detected pulse.
The spectrum analyzer 410 outputs duty cycle statistics such as the percentage of time of energy at each frequency in a frequency band and the average power and maximum power at each frequency (for example, at each ofthe 256 FFT frequency bins processed by the spectrum analyzer 410). A pulse detector 424 in the signal detector 420 can also be configured by the processor 600 to trigger the snapshot buffer to store raw analog-to-digital (ADC) samples ofthe received signal when a pulse of a particular type is detected. Other devices or processes may be used to generate raw spectrum information useful by a signal classification process.
In essence, two or more pulse detectors function to simultaneously compare the spectral information with at least two sets of signal pulse characteristics, where each set of signal pulse characteristics comprises ranges for at least one of center frequency, duration and bandwidth of signal pulses, such that pulse data is output for any pulses that meet any one ofthe sets of signal pulse characteristics.
The snapshot buffer 430 is a flexible data storage and triggering mechanism used to collect a set of raw ADC samples for post-processing. When a snapshot trigger condition is detected, the SB 430 buffers a set of ADC samples (Datal and DataQ) and asserts an interrupt to a processor, e.g., processor 600. The processor 600 may then perform background-level processing on the ADC samples for the purposes of signal classification. One use ofthe snapshot buffer function for signal classification is to capture a synchronization word portion of a signal to confirm a classification of identification of that signal using a sync word correlation process implemented, for example, by the digital signal processor 630 shown in FIG. 1.
In a prestore mode, the SB 430 writes continuously to a circular buffer in the memory 620 and stops writing and interrupts the processor when a snapshot trigger signal is detected. In a poststore mode, the write operation begins only after a trigger is detected. SB_DELAYSTART and SB_DELAYEND control signals may be used to create a combination pre and post store scenario. The trigger signal is sourced from either the signal detector 420 (SD_SBEVT) or from a module external to the SAGE 400 (SBJTRIG). A 0-1-0 pulse for one CLK cycle on SD_SBEVT or SBJTRIG signals a snapshot trigger condition to the SB 430. The snapshot buffer samples may be stored, for example, as two complex samples per 32-bit word. The user may use configure the SB component to perform either a single snapshot buffering operation or to run continuously.
1. Signal pulse data (called pulse events): a list of pulse center frequencies, bandwidths, power, duration and time between pulses, for pulses detected by each ofthe pulse detectors.
4. Raw analog-to-digital samples ofthe received energy. Information used to build or compile a fingerprint definition is obtained from one or more ofthe following sources:
1. Industry standards or protocols, such as IEEE 802.11 , Bluetooth™, IEEE 802.15.3, HomeRF™, etc.
5. Operation ofthe SAGE 400 to obtain pulse event duty cycle and spectrum analyzer output information representative of various signals.
Turning to FIGs. 3 and 4, a generalized description of a classification procedure 3200 is provided. This procedure selects a subset of a plurality of classifiers that are relevant to the spectrum activity being observed in the frequency band by the SAGE 400. In step 3210, histograms are built based on output ofthe SAGE 400 over successive cycles of pulse event data. These histograms provide more general trend information about the pulses of radio frequency energy occurring in the frequency band. Examples of useful histograms are center frequency, pulse duration, time between consecutive pulses (pulse gap), pulse bandwidth, and pulse power. Other useful histograms may include an active transmissions histogram. In addition, histograms for duty cycle, maximum power and average power may be built from the output ofthe SAGE 400.
In step 3330, a subset ofthe plurality of classifiers is selected that most likely pertain to the signals occurring in the frequency band based on the histogram analysis. In step 3340, only those selected (subset ofthe total) classifiers are run against the spectrum activity information to identify signals occurring in the band, e.g., pulse event data analysis, etc. When a match to a signal type by a classifier occurs, a declaration of an identified/classified signal is made in step 3350. Then, in step 3360, a sync word correlation process for the corresponding signal type is executed to confirm the signal classification as depicted in FIG. 3. Step 3360 may be an optional or unnecessary step for certain signal types.
FIG. 6 shows a process by which pulse event data produced by the pulse detectors 424(1) to 424(N) is output into a pulse event buffer memory 432. The pulse event buffer memory 432 is, for example, a circular buffer, and may reside with the SAGE 400 and buffers data for the various components ofthe SAGE 400, including the pulse detectors, spectrum analyzer and snapshot buffer. The content ofthe pulse event buffer 432 is read out into a working memory of a processor or other logic that operates on that data for performing signal classification. A data structure referred to as a pulse history table may be produced from the pulse event data, whereby for each pulse detected by a pulse detector, the associated pulse event data is provided, including the center frequency, duration, bandwidth and power (pulse power is not shown in FIG. 6). The pulse event data may not necessarily be loaded in chronological order of occurrence because a pulse detector will not output the data until the pulse is completed. However, the data can be reordered in the pulse history table.
A plurality of classification procedures (also called classifiers) 510(1) through 510(N) some of which operate on the data contained in the pulse history table and others which operate on pulse event data and/or spectrum analyzer stats data including maximum power, sum power, FFT power vs. frequency data and snapshot data. Many types of signals can be identified based on information contained in, or derived from, the pulse history table, while others are better classified/identified using additional or other data. One classifier at a time accesses the data in the pulse history table, as explained hereinafter in connection with FIG. 7. After all ofthe classifiers which operate on data in the pulse history table have been executed, new pulse event data is read from the pulse event buffer into the pulse history table, and the old pulse event data is moved out ofthe pulse history table and maybe saved in another memory location for subsequent processing or for archival purposes. Similarly, one classifier at a time accesses the spectrum analyzer statistics data output by the spectrum analyzer that is stored in a suitable working memory. Thus, signal pulse data is accumulated for a series of time intervals and the plurality of classification procedures are executed against the accumulated signal pulse data for each time interval one time interval at a time.
Referring to FIG. 7, a procedure 3300 is shown in which multiple classifiers operate on pulse event data in the pulse history table. The pulse history table is updated with new pulse events on a periodic basis, for example, for a new time interval of spectrum activity information covering a predetermined period of time. Those classifiers (indicated by classifiers 1 to N in FIG. 6) that operate on the data in the pulse history table are given access to the table on a sequential basis, e.g., one at a time, to execute their analysis against the accumulated signal pulse data in the pulse history table. In step 3310, a first classifier operates on pulse event data in the pulse history table. If the first classifier finds one or more matches in the pulse history table in step 3320, the process jumps to step 3370 described hereinafter. If no match is found, then in step 3330, a determination is made whether there are any pulse events in the pulse history table that have not yet been found to match with (hereinafter said to be "owned" by any classifier). If so, and if the classifier uses a pulse time signature template, then in step 3340, the pulse time signature template is shifted in time (forwards and/or backwards) and compared against the pulse history table to determine whether a match exists against the pulse event data. If a match is found in step 3350, then the process proceeds to step 3370. Otherwise, the next classifier is retrieved in step 3360 and the process of steps 3310 - 3350 is repeated. When a match is found in steps 3320 or 3340, a match score (how close of a match is it) is computed and a classifier test(s) is/are updated (for that classifier) with the new match data in step 3370. In addition, in step 3380, an identifier for a particular classification procedure is associated with (or designated for) the one or more signal pulses in the accumulated signal pulse data that match the particular classifier, thereby establishing "ownership" of those signal pulses by the corresponding classifier. Moreover, if a strong match confidence score (greater than, e.g., 80%) occurs, then that pulse (or those pulses) may be designated as "primarily owned" by the corresponding classifier, whereas if a lower match confidence score occurs, then that pulse (or those pulses) may be designated as being "secondarily owned" by the corresponding classifier. The index i is incremented to perform the same process with the next classifier. This process is repeated each time the pulse history table is updated with new pulse event data.
As described further hereinafter in conjunction with FIGs. 8 and 9, designating "ownership" of pulses by a classifier (using an identifier as shown in FIG. 9) is also useful in determining multiple (not necessarily related) instances of the same signal type occurring close in time in the frequency band, for example, multiple Bluetooth™ piconets. For example, the Bluetooth™ classifier will recognize, from the ownership designation information associated with pulse events, timing patterns associated with two or more piconets because the timing of one piconet will be out of phase (because it will be positioned in different
Bluetooth time slots) from the other(s).
FIG. 8 shows how pulse time signature templates are compared against the pulse event data in the pulse history table. For example, one template, template 1, may involve detecting pulses of a particular duration and bandwidth separated in time by Tl μs. For a microwave oven signal, a template similar to template 1 may be sufficient, where the duration and bandwidth ranges ofthe template are sufficient to capture a pulse 7000 μs long and 4000 kHz wide, repeating every Tl = 16000 μs.
Template 2 may be designed to detect a 1000 kHz wide and 700 μs long pulse that repeats every T2 = 5000 μs, where, for example, a first pulse is associated with a cordless phone base unit and the next pulse is associated with the cordless phone hand-set (or vice versa). This may be, for example, a frequency hopping system such as a cordless telephone system. This pattern repeats every 4000 μs and if another cordless phone system ofthe same type occurs, it will follow the same timing, but offset in time from the other system. Thus, Template 2 can be used to identify more than one cordless phone system ofthe same type occurring in the frequency band.
Template 3 is representative of a template that is useful to detect a frequency hopping system such as Bluetooth™ SCO signal traffic. Template 3 is designed to detect 1000 kHz wide and 400 μs long pulses that may occur at different frequencies, but with a common timing pattern. The template will detect a pair of pulses occurring, wherein the second pulse ofthe pair begins T4 μs after the leading edge ofthe first pulse, followed by a subsequent pair of pulses, the first of which begins T3 μs after the leading edge ofthe second pulse ofthe previous pair of pulses. The timing pattern is indicative of a single Bluetooth master-slave piconet, but is also useful for other frequency hopping systems. Other Bluetooth piconets (or other frequency hopping systems) occurring in the frequency band will have a similar timing pattern and Template 3 can be used to detect multiple instances of frequency hopping system, such as multiple and different Bluetooth piconets, occurring closely in time in a frequency band. Template 3 may have rigorous match requirement such that if the second pulse of a pair of pulses does not begin precisely T4 μs after the leading edge ofthe first pulse, a match is not declared. Furthermore, if the two pairs of pulses are separated such that the time between the leading edge ofthe second pulse in the previous pair and the leading edge ofthe first pulse ofthe subsequent pair by a time period other than T3 μs, a match will not be declared.
The templates are compared against the pulse event entries in the pulse history table to determine if there is alignment with respect to any two or more pulses in the pulse history table. This may involve shifting the templates forward and/or backwards in time in the table to determine if there is an alignment assuming the duration and bandwidth parameters of each pulse also match. In this manner, the pulse time signature templates take into account the time between consecutive pulses. Moreover, by adjusting the timing templates forwards and/or backwards in time when compared against the signal pulse event data in the pulse history table, the occurrence of multiple systems ofthe same or different types may be detected because the pulse timing patterns of each system (ofthe same or different type) may be offset, but nevertheless detectable. That is, a timing template is compared against the accumulated signal pulse data multiple iterations, each iteration at a different time offset with respect to the accumulated signal pulse data in order to detect multiple occurrences ofthe same signal type.
As shown in FIG. 9, classification/identification information may be indicated for each pulse event entry in the pulse history table. The correspondence between other pulses can be identified as well. FIG. 9 also shows that some pulse events may have "primary" and "secondary" ownership information indicated for a corresponding classifier. For example, the pulse event at time 15000 μs may yield a match to a sufficient degree with classifier 2 and some other classifier, designated classifier Z. This could be the case, for example, for a type of cordless phone system that may have pulse characteristics similar to a cordless phone system of another type for which there is another classifier.
The advantage of using multiple classifiers in this manner is that as new devices become available, a new classifier can be added to detect it. Moreover, the pulse characteristic differences between some devices may be subtle enough that one classifier may match to more than one type of pulse event data. The ability to dedicate a separate classifier to certain devices makes it easier to distinguish between otherwise similar devices. Furthermore, accurately identifying, and distinguishing between, signals occurring in the frequency band may be important for security reasons. Certain types of systems operating in a particular region may indicate a security breach or other unauthorized use ofthe frequency band in an otherwise secure location. A precise signal identification system as described herein can be used to alert a network administrator of potential security breaches.
Referring first to FIGs. 10 and 11, a technique is described for building information regarding the center frequency distribution of matches to a classification test, such as a pulse signature timing template. Some devices that operate in a shared radio frequency band, e.g., an unlicensed band, use a frequency hopping protocol that hops in a pseudo-random fashion throughout a frequency band, such as Bluetooth™ and other cordless phone devices. These systems follow a very rigid pulse timing template. Moreover, for Bluetooth™ devices, the pseudorandom frequency hopping pattern is generally equally distributed across at least a portion ofthe 2.4 GHz unlicensed frequency band.
The process 4000 involves gathering the spectrum information using a radio receiver that is scanned across the frequency band. In step 4010, the receiver stops to dwell on a channel for a period of time and for the spectrum information gathered during that dwell, a classifier is executed, such as a pulse timing template classifier. In step 4020, each time a match to the pulse timing template is made, the corresponding center frequency bucket in which the match occurred is noted and a hit count for that bucket is incremented. In step 4030, after a period of time (or a sufficient number of total hits are accumulated), the number of hits in the frequency buckets is used to determine if the number of hits across the frequency band is sufficiently (e.g., evenly) distributed. For example, the average hits per bin and a standard deviation is computed. If the standard deviation exceeds a threshold, then the center frequency distribution analysis denies an overall match to a signal as, for example, a Bluetooth™ signal, because the data did not reflect the necessary even center frequency distribution of hits. By contrast, if the standard deviation is less than the threshold, then the center frequency distribution analysis is useful to confirm the overall match to a Bluetooth™ signal, for example. It should be understood that the center frequency distribution analysis is useful to filter out false positives. That is, it is used on top of, or in addition to, the pulse timing template tests to verify that the signal matching the pulse timing templates really is a frequency hopper ofthe particular variety, such as Bluetooth™.
To summarize the technique depicted by FIGs. 10 and 11, a method is provided for verifying the presence of a signal in a radio frequency band, comprising steps of comparing pulse event data derived from radio frequency energy received in the frequency band with a pulse timing template defining time between consecutive pulses; tracking the center frequencies of pulse events that are determined to match the pulse timing template; over time, examining a distribution ofthe center frequencies for pulse events determined to match the pulse timing template; and declaring a classification match to the known signal type when the distribution of center frequencies for matches to the pulse timing template are consistent with the center frequency distribution ofthe known signal type.
With reference to FIGs. 10 and 12, a process 4100 is described that is useful to increase the performance and speed when classifying certain types of signals using a scanning radio receiver. Some signals, such as microwave oven emissions, are known to occur in only a portion ofthe 2.4 GHz unlicensed frequency band. In step 4110, spectrum activity information is gathered while the radio is scanned across the frequency band and that information is examined to make a preliminary determination ofthe presence of certain types of signals. In step 4120, a further determination is made as to which channel or channels in the band are most relevant to the candidate signal types determined in step 4120 based on knowledge ofthe spectral properties ofthe candidate signals. Next, in step 4130, the classification tests are applied with a set of match requirements or expectation percentages for data obtained when the radio receiver is tuned to those relevant channels, whereas the classification tests are not applied for data obtained when the radio receiver is tuned to channels that are not relevant to that signal type.
To summarize the technique depicted by FIG. 12, a method is provided for analyzing data derived from received radio frequency energy in a frequency band obtained from a radio receiver that scans across the radio frequency band, comprising steps of examining the data derived from received radio frequency energy; making a preliminary determination ofthe presence of a particular signal occurring in the frequency band; and applying a classification procedure for the particular signal against data obtained while a radio receiver is tuned to only those portions ofthe radio frequency band in which the particular signal is known to typically occur.
FIG. 13 is a flow chart that depicts a classification procedure that uses distribution of center frequency coupled with pulse time signature template analysis that is particularly useful for identifying Bluetooth™ ACL traffic. One or more pulse detectors are configured to output pulse event data for signal pulses that fit the general profile for Bluetooth ACL pulse traffic, relatively narrow bandwidth pulses of potentially longer duration than Bluetooth SCO traffic. The flow chart and pulse detector data below assumes that the radio receiver ofthe sampling device is a scanning receiver, but the algorithm may be applicable to data derived from a wideband receiver. Bluetooth ACL traffic may occur in any Bluetooth slot and, unlike SCO traffic, may occupy multiple 3 or 5 adjacent slots. A pulse detector is configured with the following parameters, for example: Min Power = -85 dBm Min Duration = 165 usecs
Max Power = 0 dBm Max Duration = 3125 usecs
Power Hold = 3 dB Min Center Freq = 2402 KHz
Min Bandwidth = 350 KHz Max Center Freq = 2480 KHz Max Bandwidth = 1 MHz Center Freq Hold = 500 KHz Bandwidth Threshold = 6 dBm Bandwidth Hold = 500 KHz
In step 4230, the time between candidate pulses is measured. In step 4240, the time between pulses is compared with a value that represents the typical time between Bluetooth ACL pulses, i.e., mod(625 μsecs) plus or minus a timing error allowance. If the time between candidate pulses is equal to this value, then the process continues to step 4250, otherwise it increments a "miss" counter and returns to step 4220. Step 4250 increments a "hit" counter that tracks the number of candidate pulses that meet the condition of step 4240. Next, in step 4260, a bin is marked in a center frequency histogram corresponding to the center frequency of the candidate pulse that was determined to meet the condition in step 4240. The frequency histogram keeps track ofthe distribution across possible center frequencies ofthe pulses that are counted as a hit.
In step 4290, the frequency histogram is examined to determine whether the "hit" pulses have a reasonably good distribution across the various possible frequencies for Bluetooth ACL traffic. This test helps to filter out other pulses that otherwise satisfy the criteria ofthe prior steps, but do not hop across various center frequencies with a desired distribution. If the frequency histogram does not have the desired distribution, then the process returns to step 4220. When the frequency histogram has the desired distribution, then the process continues to step 4300 in which a Bluetooth ACL device is declared to be ON.
With reference to FIG. 14, an enhanced process 4400 that is useful for identifying/classifying signals using pulse signature templates is described. It is a variation on the concepts depicted in FIG. 13. This process comprises 3 phases: a START-PENDING phase 4410, an ON-PENDING PHASE 4420 and a STAY-ON phase 4430. In the START-PENDING phase 4410, a comparison is made ofthe pulse signature template against the pulse event data to detect a "start signature" associated with a particular signal type. A "start signature" may be a limited number of pulses, such as less than or equal to 4, which all match the template in order to establish a "start signature" to a particular signal type.
In the ON-PENDING phase 4420, the next (first) NI number of pulses are checked to determine if there is at least a certain percentage of hits. If this test passes, then the process continues to the STAY-ON phase 4430, otherwise, it returns to the START-PENDING phase.
During the STAY-ON phase, a rolling total of at least a (second) N2 number of pulses are checked to ensure that the hit percentage stays above a minimum level. This is a rolling procedure because each time the hit percentage exceeds the threshold for the N2 number of pulses, the process stays in the STAY- ON state and examines the next N2 number of pulses. If the test in the STAY-ON phase fails, then the process returns to the START-PENDING phase 4410. A variation for the STAY-ON phase 4430 is to periodically check for the "start signature" from the STAY-ON phase, and if the pulse event data does not pass the "start signature" test within N3 seconds, it is declared that the signal is OFF and the process returns to the START-PENDING phase 4410.
FIG. 15 depicts how for each classifier, there may be two or more test criteria (not necessarily limited to characteristics of a pulse time signature template classifier) that are made before an actual declaration is made that a signal of a particular type is occurring in the frequency band. This involves tracking the number of matches and misses of signal pulses with respect to signal pulses that are expected to occur. For example, for some classifiers and classification situations, an initial trigger test may be used whereby for a relative low number of expected successive pulse matches (spanning a relatively short period of time), a very high percentage of those expected pulses must be found to match. If, after the defined number of pulses have occurred, the threshold is not achieved, then the initial trigger test fails, and it is run anew. For example, an initial trigger test may require that 80% of 10 successive pulses (that should match) must match. If the initial trigger test passes, then a second test of medium strictness (called the "stricter test") is applied, whereby a somewhat lower percentage of a relatively greater number of pulses must match. For example, a stricter test may require that 60% of the next 40 expected pulses must match. In any event, once the stricter test is passed, an alert and/or report is made that a signal of a particular type is occurring in the frequency band. This alert/report will continue to be valid until the longer term least strict test fails, at which time the alert/report may indicate that that signal lias terminated. To summarize, the results ofthe signal pulse data comparisons are made with respect to test requirements that are initially relatively more rigorous to provide initial indications that a corresponding particular signal is occurring and become less rigorous after the initial indications are met. The more rigorous testing requirements may involve a first threshold that requires a greater number of matches of signal pulses with respect to a timing template. Subsequently a second threshold is used after the first threshold has been met or exceeded, in which the second threshold requires a lesser number of matches. Thus, the second threshold is less rigorous than the first. A declaration that the corresponding particular signal is occurring may be made only after the second threshold is achieved or exceeded, or alternatively, after the first threshold is achieved or exceeded. For some classifiers, the stricter test is not applied until and unless the initial trigger test is satisfied, while for other classifiers, there is no initial trigger test.
The initial phase, referred to as the ON phase, searches for a match of 65% hits across 10 pulses ofthe template. When a match is found to this test, it is declared that a Bluetooth™ SCO device is ON and the STAY-ON phase begins. During the STAY-ON phase, the template is compared and the results tested for a match of at least 35% hits across 25 possible pulses. If the hit rate is less than 25%, the device is declared to be OFF and the debounce timeout begins. If there is no further match activity during the next 1000 msec, then the device is said to be OFF and the process restarts with the initial ON phase.
An enhancement for the STAY-ON phase is to apply techniques to compensate for drifts over time between the pulse event data and a pulse signature template. The drift compensation technique is described hereinafter with reference to FIG. 17.. There is drift in the clocks ofthe devices transmitting the signals to be classified and the device that is receiving the radio frequency energy used for performing the signal classification. It is possible that the pulse event data of a signal that has been correctly identified will over time be missed (or an OFF condition will be falsely triggered) because the time offset caused by the drift will go beyond the tolerances ofthe pulse signature template. Accordingly, it may be desirable to adjust the template to account for the drift. Drift compensation may be applied during, for example, the STAY-ON state.
As shown in FIG. 17, adjustment ofthe template may be made by measuring, over time, the offset ofthe pulse events with respect to the template. Using the measured offset and knowledge ofthe drift (e.g., 20 PPM) ofthe device in which the SAGE component is operating, a drift amount can be estimated, e.g., x number of μsec/sec. The estimated drift is fed back to adjust the template to account for the drift. The adjustments for the drift are made over time to avoid missing pulses that are otherwise consistent with the previously detected and classified/identified signal. The amount ofthe drift should converge as it is estimated, similar to operation of a phase locked loop. Clock drift is generally linear with respect to time. For example, if the estimated clock drift is 6 μs per second and the template was 4 seconds off from when the device was first identified, the (pulse occurrences in the) template would be shifted (advanced or delayed) by 24 μs (6 μs/sec * 4 seconds). This type of shift ofthe template to account for the drift continues into the future.
Turning to FIG. 18, another type of classifier is shown. This classifier is a power template, such as an average power or maximum power template, and it operates on the average power or maximum power versus frequency data output by the spectrum analyzer stats logic block ofthe SAGE. The average power template describes average power versus frequency characteristics (in a plurality of FFT frequency bins, for example) for a relevant time interval and across a relevant bandwidth for a particular signal to be identified. Likewise, the maximum power template describes maximum power versus frequency characteristics (in a plurality of FFT frequency bins) for a relevant time interval and across a relevant bandwidth for a particular signal to be identified. For example, as shown in FIG. 18, for a particular signal or signal type, there is a corresponding known average power or maximum power profile (shape) and can be used as a template to compare against similar data derived from received radio frequency energy in the frequency band. This power template analysis is also referred to as waveform/waveshape analysis, and average or maximum power templates are useful to identify certain signals that are on constantly, or otherwise have large duty cycles. FIG. 18 shows the average power (or maximum power) profile for two signals one that matches a power template, and one that does not.
FIGs. 19 and 20 illustrate ways in which these power templates may be used. In FIG. 19, for a particular classifier, several power (either average or maximum) templates are defined to account for different antenna orientations of the source device or ofthe receive device, that may affect the power profile. The measured power data is compared against each ofthe templates, and if a match occurs to any one of them, an overall match is declared. A match may be declared if, for example, the standard deviation between the measured data and the template is less than a threshold. The classifier may require that there be a match to any one ofthe templates during each of several chronologically related (e.g., consecutive) time intervals of power versus frequency data.
FIG. 20 illustrates another use of a power template as a classifier, where the power profile must match each of multiple templates for multiple sampling events. For example, for some signals or signal types, the average or maximum power profile will take on more than one shape during each of two or more active intervals due to the nature ofthe communication protocol or other requirement of that system. Therefore, a classifier may consist of multiple power templates each of which must have a match over two or more active intervals of that signal. For example, during one active time period of a signal, the measured data may look like measured power data 1, and then during another active time period, the measured power data may look like measured power data 2. If measured power data 1 matches one ofthe templates and measured power data 2 matches the other ofthe templates (during another time interval), then a classifier match is declared. Thus, in the process of FIG. 20, there must be a match to all ofthe power templates over multiple chronological related (e.g., consecutive) time intervals for an indication of a match to be declared, and in particular that there may be a match to a different one ofthe plurality of power templates during each ofthe multiple time intervals. Moreover, it may be required that there be a match to power templates in particular time sequence, e.g., to a first particular power template during a first time interval, a second particular power template during a second time interval, etc.
FIG. 21 shows still another classification procedure where a classifier template consists of raw FFT samples (output by the spectrum analyzer ofthe SAGE) collected during sampling intervals associated with the beginning portion of a signal pulse, or for the duration of short pulse bursts. A template of the FFT samples for known signals can be used to compare against collected FFT samples of time intervals of FFT data collected by the spectrum analyzer component ofthe SAGE. Using data from the pulse detectors to signify the beginning of a pulse of a particular type, the snapshot buffer feature ofthe spectrum analyzer can be used to collect FFT samples for a predetermined number of time intervals that span a sufficient portion ofthe beginning ofthe signal pulse to encompass, for example, a signal preamble. The classifier template is compared against the samples. The shape ofthe classifier template is compared with the shape ofthe FFT samples, and a measure of deviation can be generated to determine if there is a match. When this technique is applied to the beginning portion of certain signals, it may be useful to identify a signal and/or to distinguish a signal from other signal types having otherwise similar characteristics.
A variation ofthe techniques shown in FIG. 21 can be applied to the snapshot buffer portion ofthe SAGE, where raw baseband modulated (e.g., I and Q) digital samples (for the beginning portion of signals, or the duration of short pulse signals) are captured and modulated data classifier templates of known signals are compared against the captured digital samples.
In sum, several methods are provided, any of which can also be embodied by instructions encoded on a processor readable medium that, when executed, :ause a processor to perform the corresponding steps. A method is provided for classifying signals occurring in a frequency band, comprising steps of generating data for one or more attributes of radio frequency energy received in the frequency band over time; and executing against the data a alurality of classification procedures to classify signals occurring in the frequency
Dand, wherein each classification procedure is associated with a particular signal ype. Similarly, a processor readable medium encoded with instructions that, when sxecuted by a processor, cause the processor to classify signals occurring in a frequency band, comprising a step of executing against data for one or more attributes for radio frequency energy a plurality of classification procedures each of which is dedicated to identifying a particular signal occurring in a frequency band.
A method is provided for classifying signals occurring in a firequency band, comprising steps of: comparing a pulse timing template defining a period between at least two signal pulses against data representing signal pulses detected in the frequency band and declaring that a particular signal is occurring when a percentage of matches to the pulse timing template occur over a first time interval exceed a first threshold; subsequent to the step of declaring, continuing to compare the pulse timing template against the data over a second time interval; and declaring termination ofthe particular signal when a percentage of matches to the pulse signature template over the second time interval do not exceed a second threshold, and otherwise continuing to maintain that the particular signal is occurring, wherein the first threshold is greater than the second threshold.
A method for is provided for classifying signals occurring in a radio frequency band comprising steps of: accumulating over time signal pulse data for signal pulses detected in the frequency band, wherein the accumulated signal pulse data comprises the start time, center frequency, bandwidth and duration for each detected signal pulse; executing a classification procedure against the accumulated signal pulse data, wherein the classification procedure compares comparing against the accumulated signal pulse data a timing template describing at least one time period between signal pulses that satisfy defined ranges for bandwidth, duration and center frequency, to determine whether a particular signal is occurring in the frequency band; and designating for one or more signal pulses in the accumulated signal pulse data an identifier associated with the classification procedure when a match is determined with respect to the one or more signal pulses, thereby tracking which signal pulses in the accumulated signal pulse data are associated with a match to the particular signal.
A method is provided for determining occurrence of a signal in a radio frequency band comprising steps of: comparing pulse event data derived from radio frequency energy received in the frequency band with a pulse timing template defining time between consecutive signal pulses of a known type; tracking the center frequencies of pulse events that are determined to match the pulse timing template; over time, examining a distribution ofthe center frequencies for pulse events determined to match the pulse timing template; and declaring a match to the known signal type when the distribution of center frequencies for matches to the pulse timing template are consistent with the center frequency distribution ofthe known signal type.
A method is provided for classifying signals occurring in a radio frequency band, comprising steps of: generating data derived from received radio frequency snergy in a frequency band when a radio receiver is scanned across the radio frequency band and dwells for a period of time at portions ofthe frequency band; sxamining the data derived from received radio frequency energy; preliminarily ietermining occurrence of a particular signal type in the frequency band based on ;he data; and applying a classification procedure for the particular signal against iata obtained when a radio receiver is tuned to only those portions ofthe radio frequency band in which the particular signal type is known to occur.
A method is provided for classifying signals occurring in a radio frequency jand, comprising steps of: generating power versus frequency data derived from •eceived radio frequency energy in the radio frequency band; and comparing a power template describing power versus frequency characteristics for a particular signal against the power versus frequency data derived from the received radio frequency energy to determine whether the particular signal is occurring in the radio frequency band.
A method is provided for classifying signals occurring in a radio frequency band, comprising steps of: accumulating over time signal pulse data for signal pulses detected in the frequency band, wherein the accumulated signal pulse data comprises the start time, center frequency, bandwidth and duration for each detected signal pulse; and executing a classification procedure against the accumulated signal pulse data, wherein the classification procedure compares against the accumulated signal pulse data a timing template describing at least one time period between signal pulses that satisfy defined ranges of at least one or bandwidth, duration and center frequency, to determine whether multiple instances ofthe same signal type are occurring in the frequency band.
1. A method for classifying signals occurring in a frequency band, comprising steps of: a. generating data for one or more attributes of radio frequency energy received in the frequency band over time; and b. executing against the data a plurality of classification procedures to classify signals occurring in the frequency band, wherein each classification procedure is associated with a particular signal type.
2. The method of claim 1, wherein the step of generating data comprises generating signal pulse data for pulses of radio frequency energy detected in the frequency band over time.
3. The method of claim 2, wherein the step of generating signal pulse data comprises computing spectral information representing the radio frequency energy and comparing the spectral infoπnation with a set of signal pulse characteristics that comprises ranges for center frequency, duration and bandwidth, and outputting signal pulse data for pulses that meet the set of signal pulse characteristics.
4. The method of claim 3, and further comprising the step of accumulating over a time interval signal pulse data for signal pulses detected in the frequency band, wherein the accumulated signal pulse data comprises the start time, center frequency, bandwidth and duration for each detected signal pulse.
5. The method of claim 4, wherein the step of executing comprises executing each ofthe plurality ofthe classification procedures against the accumulated signal pulse data.
6. The method of claim 5, and further comprising the step of designating for one or more signal pulses in the accumulated signal pulse data an identifier corresponding to the classification procedure that achieves a match to the one or more signal pulses.
7. The method of claim 5, wherein the step of executing each of the plurality of classification procedures comprises determining multiple instances ofthe same signal type.
8. The method of claim 4, wherein the step of accumulating comprises accumulating signal pulse data for a plurality of time intervals, and wherein the step of executing comprises executing each ofthe plurality of classification procedures against the accumulated signal pulse data for each time interval, one time interval at a time.
9. The method of claim 8, wherein the step of executing comprises executing a classification procedure that compares a timing template describing at least one time period between signal pulses that satisfy defined ranges of bandwidth, duration and center frequency against the accumulated data to classify a particular signal occurring in the frequency band.
10. The method of claim 9, and further comprising the step of tracking the number of matches and misses of signal pulses with respect to the timing template.
11. The method of claim 10, and further comprising the step of declaring that a particular signal is classified when the number of matches of signal pulses with respect to a timing template achieves a first threshold and subsequently determining that the number of matches of signal pulses with respect to the timing template achieves a second threshold, wherein the second threshold is less rigorous than the first threshold.
12. The method of claim 9, and further comprising the step of tracking the center frequency of each signal pulse that satisfies the timing template.
13. The method of claim 12, and further comprising the step of analyzing a distribution of center frequency for signal pulses that satisfy the timing template in order for the classification procedure to declare a match.
14. The method of claim 13, wherein one of the plurality of classification procedures comprises a timing template that analyzes signal pulse data to determine occurrence of Bluetooth™ ACL signals.
15. The method of claim 11 , wherein the step of generating data comprises generating data for received radio frequency energy as a receiver is scanned across the frequency band and dwells at a particular frequency channel for a period of time.
16. The method of claim 9, and further comprising the step of adjusting the timing template to account for drift over time between the template and the signal pulses that have been determined to match the template.
17. The method of claim 16, and further comprising the step of estimating the drift between the signal pulses and the template.
18. The method of claim 4, and further comprising the step of accumulating one or more histograms from the accumulated signal pulse data that represent trends over time for the center frequency, bandwidth, duration and time between signal pulses detected in the frequency band.
19. The method of claim 18, wherein the step of accumulating one or more histograms comprises building one or more histograms selected from the group consisting of: a center frequency histogram that tracks a percentage of time a given center frequency was observed for detected signal pulses, a bandwidth histogram that tracks the percentage of time a given bandwidth was observed for detected signal pulses, a pulse duration histogram that tracks a percentage of time a given duration or durations was observed for detected signal pulses, a time between pulses histogram that tracks a percentage of time that a given time duration or durations was observed between signal pulses and a number of active transmissions histogram that tracks when several different signal pulses simultaneously occur.
20. The method of claim 18, and further comprising the step of selecting a subset ofthe plurality of classification procedures that coπespond to signals that are likely occurring in the frequency band based on the histograms, and wherein the step of executing comprises executing the subset of plurality of classification procedures against the data. \
21. The method of claim 1 , wherein when a particular classification procedure has determined a match against the data, further comprising the step of executing a sync word correlation process for a known signal corresponding to the particular classification procedure against data derived from received radio frequency energy to verify a match to the known signal.
22. The method of claim 1, wherein the step of executing comprises executing a classification procedure that compares a power template describing power versus frequency characteristics against power versus frequency data derived from the received radio frequency energy to classify a signal occurring in the frequency band.
23. The method of claim 22, wherein the step of executing comprises executing a classification procedure that compares each of a plurality of power templates describing power versus frequency characteristics against the power versus frequency data, wherein a particular signal is declared to be occurring when the power versus frequency data matches any one ofthe plurality of power templates.
24. The method of claim 22, wherein the step of executing comprises executing a classification procedure that compares each ofthe plurality of power templates against power versus frequency data for multiple sampling intervals, and wherein the particular signal is determined to be occurring when the power versus frequency data matches at least one ofthe plurality of power templates for each of a predetermined number of time intervals of power versus frequency data.
25. The method of claim 22, wherein the step of executing comprises executing a classification procedure that compares each of a plurality of power templates against power versus frequency data for multiple time intervals, and wherein the particular signal is determined to be occurring when the power versus frequency data matches all ofthe power templates over the multiple time intervals.
26. The method of claim 25, wherein the step of executing comprises executing a classification procedure that requires a match to a different one ofthe plurality of power templates during each ofthe multiple time intervals.
27. The method of claim 22, wherein the step of executing a classification procedure comprises comparing a power template describing average power versus frequency characteristics against average power versus frequency data for a time interval derived from the radio frequency energy occurring in the frequency band.
28. The method of claim 22, wherein the step of executing comprises comparing a power template describing maximum power versus frequency characteristics against maximum power versus frequency data for a time interval derived from the radio frequency energy occurring in the frequency band.
29. The method of claim 22, wherein the step of executing comprises executing a classification procedure that compares a template of Fast Fourier Transform (FFT) data for a portion of a known signal pulse against spectral information for a portion of a signal pulse determined to occur in the frequency band.
30. The method of claim 29, wherein the step of executing comprises comparing a template describing spectral information for a beginning portion ofthe known signal against FFT data for the beginning portion of a detected signal pulse.
31. The method of claim 1 , wherein the step of generating data comprises capturing baseband modulated digital samples associated with received radio frequency energy.
32. The method of claim 31, wherein the step of executing comprises executing a classification procedure that compares a template of baseband modulated digital samples for a portion of a signal pulse for a known signal against the captured baseband modulated digital samples.
33. A processor readable medium encoded with instructions that, when executed by a processor, cause the processor to classify signals occurring in a frequency band, comprising a step of executing against data for one or more attributes for radio frequency energy a plurality of classification procedures each of which is dedicated to classifying a particular signal occurring in a frequency band.
34. A method for classifying signals occurring in a frequency band, comprising steps of: a. comparing a pulse timing template defining a period between at least two signal pulses against data representing signal pulses detected in the frequency band and declaring that a particular signal is occurring when a percentage of matches to the pulse timing template occur over a first time interval exceed a first threshold; b. subsequent to the step of declaring, continuing to compare the pulse timing template against the data over a second time interval; and c. declaring termination of the particular signal when a percentage of matches to the pulse signature template over the second time interval do not exceed a second threshold, and otherwise continuing to maintain that the particular signal is occurring; d. wherein the first threshold is greater than the second threshold.
35. The method of claim 34, and further comprising the step of adjusting the pulse timing template to account for drift over time between the template and the signal that has been determined to match the template.
36. The method of claim 34, and further comprising the step of estimating the drift between the signal and the template.
37. The method of claim 34, and further comprising the step of generating the data derived from radio frequency energy simultaneously received across the entire frequency band for intervals of time.
38. The method of claim 34, and further comprising the step of generating the data derived from radio frequency energy received by a receiver scanned across portions ofthe frequency band, and dwelling on each portion for a time interval.
39. A method for adjusting a timing template that defines at least one time period between at least two signal pulses of a signal to be classified based on data representing signal pulses occurring in a radio frequency band, the method comprising steps of: a. estimating the drift between the signal and the template; and b. adjusting the template by an amount based on the estimate to account for drift over time between the template and the signal that has been determined to match the template.
40. A method for classifying signals occurring in a radio frequency band comprising steps of: a. accumulating over time signal pulse data for signal pulses detected in the frequency band, wherein the accumulated signal pulse data comprises the start time, center frequency, bandwidth and duration for each detected signal pulse; b. executing a classification procedure against the accumulated signal pulse data, wherein the classification procedure compares comparing against the accumulated signal pulse data a timing template describing at least one time period between signal pulses that satisfy defined ranges for bandwidth, duration and center frequency, to determine whether a particular signal is occurring in the frequency band; and c. designating for one or more signal pulses in the accumulated signal pulse data an identifier associated with the classification procedure when a match is determined with respect to the one or more signal pulses, thereby tracking which signal pulses in the accumulated signal pulse data are associated with a match to the particular signal.
41. The method of claim 40, and further comprising the step of determining multiple instances ofthe same signal type occurring in the frequency band.
42. A method for determining occuπence of a signal in a radio frequency band comprising steps of: a. comparing pulse event data derived from radio frequency energy received in the frequency band with a pulse timing template defining time between consecutive signal pulses of a known type; b. tracking the center frequencies of pulse events that are determined to match the pulse timing template; c. over time, examining a distribution of the center frequencies for pulse events determined to match'the pulse timing template; and d. declaring a match to the known signal type when the distribution of center frequencies for matches to the pulse timing template are consistent with the center frequency distribution ofthe known signal type.
43. The method of claim 42, and further comprising the step of determining that the distribution of center frequencies ofthe pulse events that match the pulse timing template are substantially equally distributed across part or the entire the frequency band.
44. A method for classifying signals occurring in a radio frequency band, comprising steps of: a. generating data derived from received radio frequency energy in a frequency band when a radio receiver is scanned across the radio frequency band and dwells for a period of time at portions ofthe frequency band; b . examining the data derived from received radio frequency energy; c. preliminarily determining occuπence of a particular signal type in the frequency band based on the data; and d. applying a classification procedure for the particular signal against data obtained when a radio receiver is tuned to only those portions ofthe radio frequency band in which the particular signal type is known to occur.
45. The method of claim 44, wherein the step of generating data comprises generating spectral data derived from the received radio frequency energy, and the step of examining comprises examining the spectral data.
46. The method of claim 44, wherein the step of generating data comprises generating signal pulse data for pulses of radio frequency energy detected in the frequency band over time.
47. The method of claim 46, wherein the step of generating signal pulse data comprises computing spectral information representing received radio frequency energy and comparing the spectral information with a set of signal pulse characteristics that comprises ranges for center frequency, duration and bandwidth, and outputting signal pulse data for pulses that meet the set of signal pulse characteristics.
48. A method for classifying signals occurring in a radio frequency band, comprising steps of: a. generating power versus frequency data derived from received radio frequency energy in the radio frequency band; and b. comparing a power template describing power versus frequency characteristics for a particular signal against the power versus frequency data derived from the received radio frequency energy to determine whether the particular signal is occurring in the radio frequency band.
49. The method of claim 48, wherein the step of comparing comprises comparing each of a plurality of power templates describing power versus frequency characteristics associated with the particular signal against the power versus frequency data derived from the received radio frequency energy, wherein the particular signal is declared to be occurring when the power versus frequency data matches any one ofthe plurality of power templates.
50. The method of claim 48, wherein the step of comparing comprises comparing each of a plurality of power templates against power versus frequency data obtained during multiple time intervals, and wherein the particular signal is determined to be occurring when the power versus frequency data matches at least one ofthe plurality of power templates for each of a predetermined number of time intervals of power versus frequency data.
51. The method of claim 48, wherein the step of comparing comprises comparing each of a plurality of power templates against power versus frequency data for multiple time intervals, and wherein the particular signal is determined to be occurring when the power versus frequency data matches all ofthe power templates over the multiple time intervals.
52. The method of claim 51 , wherein the step of executing comprises executing a classification procedure that requires a match to a different one ofthe plurality of power templates during each ofthe multiple time intervals.
53. The method of claim 48, wherein the power template describes average power versus frequency characteristics for the particular signal, and wherein the step of comparing comprises comparing the power template with average power versus frequency data derived from the received radio frequency energy for a time interval.
54. The method of claim 48, wherein the power template describes maximum power versus frequency characteristics for the particular signal, and wherein the step of comparing comprises comparing the power template with maximum power versus frequency data derived from the received radio frequency energy for a time interval.
55. A method for classifying signals occurring in a radio frequency band, comprising steps of: a. accumulating over time signal pulse data for signal pulses detected in the frequency band, wherein the accumulated signal pulse data comprises the start time, center frequency, bandwidth and duration for each detected signal pulse; and b. executing a classification procedure against the accumulated signal pulse data, wherein the classification procedure compares against the accumulated signal pulse data a timing template describing at least one time period between signal pulses that satisfy defined ranges of at least one or bandwidth, duration and center frequency, to determine whether multiple instances ofthe same signal type are occurring in the frequency band.
56. The method of claim 55, and further comprising the step of comparing the timing template against the accumulated signal pulse data multiple iterations, each iteration at a different time offset with respect to the accumulated signal pulse data in order to detect multiple occmrences ofthe same signal type.
57. The method of claim 55, and further comprising the step of designating for one or more signal pulses in the accumulated signal pulse data an identifier associated with the classification procedure when a match is determined with respect to the one or more signal pulses, thereby tracking which signal pulses in the accumulated signal pulse data are associated with a match to the particular signal.
PCT/US2004/012403 2002-04-22 2004-04-22 Signal classification methods for scanning receiver and other applications WO2004095758A2 (en)
US10/420,362 2003-04-22
US10/420,362 US7116943B2 (en) 2002-04-22 2003-04-22 System and method for classifying signals occuring in a frequency band
US10/628,603 US7171161B2 (en) 2002-07-30 2003-07-28 System and method for classifying signals using timing templates, power templates and other techniques
US10/628,603 2003-07-28
US51049503P true 2003-10-10 2003-10-10
US60/510,495 2003-10-10
US48170603P true 2003-11-26 2003-11-26
US60/481,706 2003-11-26
WO2004095758A2 true WO2004095758A2 (en) 2004-11-04
WO2004095758A3 WO2004095758A3 (en) 2005-11-24
ID=34119775
PCT/US2004/012403 WO2004095758A2 (en) 2002-04-22 2004-04-22 Signal classification methods for scanning receiver and other applications
US (1) US7035593B2 (en)
WO (1) WO2004095758A2 (en)
CN102508025A (en) * 2010-05-13 2012-06-20 特克特朗尼克公司 Signal recognition and triggering using computer vision techniques
EP1305923B1 (en) * 2000-08-01 2010-06-30 Itron Inc. Frequency hopping spread spectrum system with high sensitivity tracking and synchronization for frequency unstable signals
AU2003225262A1 (en) * 2002-04-22 2003-11-03 Cognio, Inc. System and method for classifying signals occuring in a frequency band
JP4908410B2 (en) * 2004-07-30 2012-04-04 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Method and apparatus for providing fair spectrum sharing in wireless systems with multiple physical transmission rates
US7230566B2 (en) * 2004-08-03 2007-06-12 Cisco Technology, Inc. Radar protection device for wireless networks
US7630687B2 (en) * 2004-12-03 2009-12-08 Microsoft Corporation Extensible framework for mitigating interference problems in wireless networking
US8619909B2 (en) * 2006-06-20 2013-12-31 Southwest Research Institute Signal detector using matched filter for training signal detection
US20080031386A1 (en) * 2006-08-02 2008-02-07 Mediatek Inc. Method and device for robust signal detection in wireless communications
US7640123B2 (en) * 2007-10-30 2009-12-29 Broadcom Corporation Method and system for detecting bluetooth signals utilizing a wideband receiver
FR2939989B1 (en) * 2008-12-16 2010-12-31 Thales Sa Digital broadband digital receiver comprising a signal detection mechanism
DE102009035524B4 (en) * 2009-07-31 2012-11-29 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method for detecting one or more useful signals within a source signal
AU2011325822B2 (en) 2010-11-03 2015-06-04 Linn-Mahler Holdings Inc. Phase detector
DE102011081072A1 (en) 2011-08-17 2013-02-21 Rohde & Schwarz Gmbh & Co. Kg Method and apparatus for automatically assigning a signal to a measurement application
US9113364B2 (en) * 2012-08-09 2015-08-18 Microsoft Technology Licensing, Llc Extended access point
DE102016205341A1 (en) * 2016-03-31 2017-10-05 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Device for recognizing a communication standard and corresponding method
FR3072234A1 (en) * 2017-10-09 2019-04-12 Centre National D'etudes Spatiales Method, system and computer program for monitoring a radio frequency band
US3609553A (en) * 1969-07-30 1971-09-28 Marvin J Frazier Detection and classification of nonlinearly generated environment interference sources by use of a verifier system
US4845707A (en) * 1988-02-29 1989-07-04 Motorola, Inc. Frequency division multiplex/FM modulation recognition system
US5832038A (en) * 1996-07-03 1998-11-03 Motorola, Inc. Method and apparatus for classifying a multi-level signal
DE60119567T2 (en) * 2000-11-16 2007-05-03 Broadcom Corp., Irvine Method and device for detecting and classifying interference in an rf-modulated network
KR100821821B1 (en) * 2000-12-20 2008-04-11 텔레폰악티에볼라겟엘엠에릭슨(펍) Method and apparatus for classifying interference
US6466614B1 (en) * 2001-03-22 2002-10-15 Motorola, Inc. Method and apparatus for classifying a baseband signal
2004-04-22 US US10/830,414 patent/US7035593B2/en active Active
2004-04-22 WO PCT/US2004/012403 patent/WO2004095758A2/en active Application Filing
EP2386867A3 (en) * 2010-05-13 2013-07-03 Tektronix, Inc. Signal recognition and triggering using computer vision techniques
CN102508025B (en) * 2010-05-13 2015-12-02 特克特朗尼克公司 Using computer vision techniques to identify and trigger signal
WO2004095758A3 (en) 2005-11-24
US7035593B2 (en) 2006-04-25
US20050032479A1 (en) 2005-02-10
CN102474667B (en) 2015-05-13 White space spectrum sensor for television band devices
CN101262288B (en) 2011-08-17 Systems and methods for determining sensing thresholds of a multi-resolution spectrum sensing (MRSS) technique for cognitive radio (CR) systems
JP4485695B2 (en) 2010-06-23 Method and system for detecting in-band jammer in spread spectrum wireless base station
US7254191B2 (en) 2007-08-07 System and method for real-time spectrum analysis in a radio device
TWI392891B (en) 2013-04-11 A configurable radar detection and avoidance system for wireless ofdm transceivers and wireless access device using the same
KR20110042100A (en) 2011-04-22 Methods and apparatus for sensing the presence of a transmission signal in a wireless channel
EP2457339B1 (en) 2019-07-10 Methods and apparatus for spectrum sensing of signal features in a wireless channel
EP2495881B1 (en) 2015-07-08 Dynamic frequency selection and radar detection with a wireless lan