WO2003090387A1 - Systeme et procede d'analyse spectrale en temps reel - Google Patents

Systeme et procede d'analyse spectrale en temps reel Download PDF

Info

Publication number
WO2003090387A1
WO2003090387A1 PCT/US2003/012376 US0312376W WO03090387A1 WO 2003090387 A1 WO2003090387 A1 WO 2003090387A1 US 0312376 W US0312376 W US 0312376W WO 03090387 A1 WO03090387 A1 WO 03090387A1
Authority
WO
WIPO (PCT)
Prior art keywords
pulse
signal
ofthe
frequency band
radio frequency
Prior art date
Application number
PCT/US2003/012376
Other languages
English (en)
Inventor
Gary L. Sugar
Karl A. Miller
Jong Sup Baek
Original Assignee
Cognio, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/246,365 external-priority patent/US6714605B2/en
Application filed by Cognio, Inc. filed Critical Cognio, Inc.
Priority to AU2003234166A priority Critical patent/AU2003234166A1/en
Publication of WO2003090387A1 publication Critical patent/WO2003090387A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1664Details of the supervisory signal the supervisory signal being transmitted together with payload signals; piggybacking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/02Details
    • H04B3/46Monitoring; Testing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/08Testing, supervising or monitoring using real traffic

Definitions

  • the present invention is directed to technology used in a radio communication device to derive information about the signals active in a radio frequency band where the radio communication device is operating, such as an unlicensed radio frequency band shared by many different devices.
  • an unlicensed radio frequency band is, by its nature, free to be used by any device that emits radio energy within certain power levels in that part ofthe allocated spectrum. It is possible that many devices would share the unlicensed frequency band at the same time, potentially causing interference with each other. Under these circumstances, what would be useful is to provide the capability of processing signals that represent activity in the frequency spectrum over a time interval to derive information about the basic characteristics of those signals in order to identify or classify them.
  • a real-time spectrum analysis engine (SAGE) is provided that generates information about the signal activity in a frequency band.
  • SAGE has several components to produce generalized spectrum information as well as specific information concerning the type of signal pulses in the frequency band at any given time.
  • the SAGE is, for example, a hardware accelerator that resides in a communication device and comprises a spectrum analyzer component, a signal detector component, a universal signal synchronizer component and a snapshot buffer component.
  • the spectrum analyzer component generates data representing a real-time spectrogram of a bandwidth of radio frequency (RF) spectrum.
  • the signal detector detects signal pulses in the frequency band and outputs pulse event information entries which include the start time, duration, power, center frequency and bandwidth of each detected pulse.
  • the signal detector also provides pulse trigger outputs which may be used to enable/disable the collection of information by the spectrum analyzer and the snapshot buffer components.
  • the snapshot buffer collects a set of raw digital signal samples useful for signal classification and other purposes.
  • the universal signal synchronizer synchronizes to periodic signal sources, useful for instituting schemes to avoid interference with those signals.
  • FIG. 1 is a block diagram showing the spectrum analysis engine (SAGE).
  • FIG. 2 is a block diagram of a radio transceiver interface that interfaces the SAGE to a radio transceiver or radio receiver.
  • FIG. 3 is a more detailed block diagram ofthe SAGE.
  • FIG. 4 is schematic diagram of the spectrum analyzer component ofthe spectrum analysis engine.
  • FIG. 5 is a graphical diagram showing a representation ofthe FFT data generated by the spectrum analyzer.
  • FIG. 6 is a more detailed block diagram of the peak detector and pulse detector components ofthe spectrum analysis engine.
  • FIG. 7 is a graphical plot showing a signal peak that is detected by the peak detector.
  • FIG. 8 is a schematic diagram of the components ofthe pulse detector.
  • FIG. 9 is a graphical plot showing exemplary signal pulses and pulse event information generated by the signal detector for the exemplary signal pulses.
  • FIG. 10 is a schematic diagram ofthe stats module ofthe spectrum analyzer component ofthe SAGE.
  • FIG. 11 is a diagram showing exemplary stats that are accumulated by the stats logic module.
  • FIG. 12 is a diagram showing the exemplary peak stats that are accumulated by the stats logic module.
  • FIG. 13 is a block diagram showing the dual port RAM (DPR) storage used to store data generated by the spectrum analysis engine, and from which a microprocessor control unit (MCU) may obtain output ofthe SAGE.
  • DPR dual port RAM
  • MCU microprocessor control unit
  • FIG. 14 is a diagram showing the addressing scheme for data stored in the DPR.
  • FIG. 15 is a diagram showing the circular list structure ofthe data stored in the DPR.
  • FIG. 16 is a diagram showing the position list format ofthe circular list for data stored in the DPR.
  • FIG. 17 is a block diagram of a universal clock module component of the universal signal synchronizer.
  • FIG. 18 is a timing diagram showing how a universal clock module is used to synchronize to an exemplary pulse detected in the frequency band.
  • FIG. 19 is a block diagram of a clock update process to update the frequency offset between the clock of a detected signal and a local clock.
  • FIG. 20 is a diagram showing how the SAGE may be operated.
  • FIG. 21 is a block diagram showing another environment in which the
  • SAGE may be deployed.
  • FIG. 22 is a diagram showing an application ofthe SAGE in an unlicensed frequency band wireless environment.
  • FIG. 23 is a block diagram showing use ofthe SAGE in a spectrum management system that manages activity in a frequency band.
  • FIGs. 24 through 27 are graphical diagram showing how SAGE output may be displayed.
  • FIG. 28 is a ladder diagram illustrating how messages are generated to access SAGE data through a network spectrum interface (NSI).
  • NSI network spectrum interface
  • FIG. 1 is a block diagram showing the SAGE 10 together with other hardware components that SAGE interacts with during operation.
  • the SAGE 10 and related components may be implemented in a variety of ways. One way is with digital logic gates on a single or multiple semiconductor chips configured to perform the functions described herein. Another way is in one or more semiconductor devices using a CMOS process. For example, the majority of the SAGE 10 can be implemented as part of or the entirety of an application specific integrated circuit (ASIC) by digital logic gates.
  • ASIC application specific integrated circuit
  • the SAGE 10 comprises a spectrum analyzer (SA) 100, a signal detector
  • the SA 100 generates data representing a real-time spectrogram of a bandwidth of radio frequency (RF) spectrum, such as, for example, up to 100 MHz. As such, the SA 100 may be used to monitor all activity in a frequency band, for example, the 2.4-2.483 GHz ISM band, or the 5.15-5.35 GHz and 5.725-5.825 GHz UNII bands.
  • Power vs. frequency information generated by SAGE 10 is stored in a dual-port RAM (DPR) 500 and is also used by the signal detector 200.
  • DPR dual-port RAM
  • the signal detector 200 detects signal pulses in the frequency band and outputs pulse event information entries, which include one or more ofthe start time, duration, power, center frequency and bandwidth of each detected pulse.
  • the signal detector 200 also provides pulse trigger outputs which may be used to enable/disable the collection of information by the spectrum analyzer 100 and the snapshot buffer 300 components.
  • the snapshot buffer 300 collects a set of raw digital signal samples useful for signal classification and other purposes, such as time of arrival location measurements.
  • the snapshot buffer 300 can be triggered to begin sample collection from either the signal detector 200 or from an external trigger source using the snapshot trigger signal SB TRIG.
  • the universal signal synchronizer 400 synchronizes to periodic signal sources, such as Bluetooth SCO headsets and cordless phones.
  • the USS 400 interfaces with medium access control (MAC) logic 750 that manages scheduling of packet transmissions in the frequency band according to a MAC protocol, such as, for example, the IEEE 802.11 protocols.
  • MAC logic 750 may be implemented in DSP firmware, or in higher level software.
  • the SAGE 10 is useful in a radio communication device where a radio transceiver 600 (or a radio receiver) is used to process received RF signals and convert them to baseband signals.
  • a microprocessor control unit (MCU) 700 interfaces with the SAGE 10 to receive spectrum information output by SAGE 10, and to control certain operational parameters of SAGE 10 for particular functions described in detail hereinafter.
  • the MCU 700 may be any suitable microprocessor that resides either on the same semiconductor chip as the SAGE 10, or on another chip.
  • the MCU interfaces with SAGE 10 through the DPR 500 and the control registers 560.
  • the SAGE 10 interfaces with the MCU 700 through a memory interface (I/F) 550 that is coupled to the DPR 500.
  • I/F memory interface
  • the control registers 560 include registers to enable the MCU 700 to configure control and monitor the SAGE 10. There is a control/status register, an interrupt enable register, an interrupt flags register, spectrum analyzer control registers, signal detector control registers, snapshot buffer control registers and USS control registers.
  • the control/status register includes a field to perform a reset ofthe SAGE components.
  • the interrupt enable register is used to indicate one or more pending interrupt conditions to the MCU 700.
  • the MCU 700 also uses the interrupt flags register to clear any processed interrupts.
  • the main clock signal, CLK runs at the sampling rate of the ADC 810 and controls most of the SAGE logic.
  • the other clock, BUSCLK is used to control the MCU side of DPR 500, interface to the control registers 560, the global timer interfaces (GFIs), and the lower medium access control (LMAC) interfaces.
  • the DPR 500 is driven using a separate clock on each port: CLK on the SAGE side and BUSCLK on the MCU side.
  • the control registers 560 may be double-buffered to avoid synchronization problems between SAGE and MCU control logic.
  • the SAGE 10 operates on digital signals derived from the baseband signals output by the radio transceiver 600.
  • An RF interface 800 is provided that pre- processes the baseband signals for processing by the SAGE 10. Turning to FIG. 2, the RF interface 800 will be described.
  • ADC analog-to-digital converter
  • ADC automatic gain control
  • DC direct current
  • amplitude/phase correction block 840 an amplitude/phase correction block 840.
  • the radio transceiver 600 that generates the received (Rx) baseband signals may have an RF receiver in which the local oscillator (LO) for the quadrature downconverter is placed at the center ofthe band of interest.
  • LO local oscillator
  • DC, amplitude and phase offset compensation circuits are provided before the Fast Fourier Transform (FFT) to maximize LO and sideband suppression.
  • the Rx baseband signals are sampled at the CLK frequency using two ADCs, one for the in-phase signal (I), and another for the quadrature signal (Q). Only one ADC is shown in FIG. 2 for simplicity.
  • An example of a CLK and ADC frequency is 120 MHz, which is sufficient to digitize the entire 2.4 GHz ISM band. Consequently, the maximum FFT rate is 468.8 kHz (2.13 microseconds per FFT) at
  • CLK 120 MHz, though faster or slower rates may be suitable for other applications.
  • the AGC block 820 dynamically adjusts the gain ofthe receiver to optimize the placement ofthe Rx signal within the dynamic range ofthe ADC 810.
  • T 1 second
  • the use of a "slow" AGC algorithm is beneficial because it prevents the ADC 810 from saturating when sampling the entire frequency band of interest (wideband mode) whenever strong signals appear suddenly in the band, without requiring rapid adjustments in gain which can cause distortion and discontinuities in Rx signal pulses.
  • the output of the AGC 820 is an AGCcomp signal, the use of which is described hereinafter.
  • the DC correction and amplitude/phase correction blocks 830 and 840 compensate for LO leakage and amplitude/phase imbalance in the quadrature mixer ofthe radio transceiver.
  • DC correction is performed adaptively by estimating the DC offset at the ADC output and updating a correction DAC to remove large DC offsets. Any residual DC offset after course correction is removed after the ADC via digital subtraction.
  • the MCU estimates the amplitude and phase imbalance and programs the correction values into the appropriate control registers.
  • the output ofthe RF interface 800 comprises a digital signal Datal representing the in-phase received signal and a digital signal DataQ representing the quadrature phase received signal.
  • the signals Datal' and DataQ' represent the output ofthe summer 835, uncorrected for DC and amplitude/phase, and can be supplied as the raw data to the snapshot buffer 300.
  • the SAGE 10 can be used in a radio communication device that includes a RF receiver capable of operating in a wideband mode or narrowband mode.
  • the RF receiver may downconvert an entire or a substantial portion of a frequency band in which the radio communication device operates.
  • the RF interface 800 supplies digital signals representing activity in the entire frequency band for successive time intervals as input to the SAGE 10.
  • the RF receiver may downconvert only a single RF channel or portion ofthe frequency band, in which case, the RF interface 800 would supply digital signals representing activity in that single RF channel or portion ofthe frequency band.
  • the RF receiver may be tuned to different portions ofthe frequency band so as to scan across the frequency band.
  • An example of a radio receiver having a wideband mode as part of a radio transceiver is disclosed in commonly assigned U.S. Provisional Application No. 60/319,434 filed July 30,
  • the spectrum analyzer 100 performs realtime FFT-based spectrum analysis on the Datal and DataQ signals.
  • the SA 100 is capable of providing real-time spectrum analysis information of a frequency band (whether from wideband radio receiver or a scanning narrowband receiver), and as such can be used to monitor all activity in either the 2.4 GHz or 5.7 GHz unlicensed bands, for example. Other applications for monitoring smaller or greater bandwidths are also possible using similar techniques.
  • the data path leading to the SA 100 comprises a windowing block 110, a Fast Fourier Transform (FFT) block 120 and a spectrum correction block 125. These components are external to the SA 100 because they can be shared with other components in a system.
  • the SA 100 itself comprises a power calculation block 130, a lowpass filter block 140, a linear-to-log converter (dB conversion) block 150, a history buffer 160, stats logic 170 and a SA memory controller 190.
  • the windowing block 110 performs pre-FFT windowing on the I and Q data using either a Harming or rectangular window with a multiplier 112 and a ROM 114 that stores slope coefficients for the windowing process.
  • the FFT block 120 is, for example, a 256 frequency bin FFT block that provides (I and Q) FFT data for each of 256 frequency bins that span the bandwidth of frequency band of interest.
  • An example ofthe FFT data field is shown in FIG. 5.
  • M such as 10 bits of data for each FFT frequency bin, for example, 256 bins.
  • the output ofthe FFT block 120 is coupled to the spectrum correction block 125.
  • the spectrum correction block 125 corrects for I and Q channel imbalance by estimating an I-Q channel imbalance parameter related to phase error and amplitude offset between the I and Q channels. To suppress a side tone resulting from the RF downconversion process, the following relationship is used:
  • the spectrum correction block 125 collects at least 8 samples from the output ofthe FFT 120 and optimizes the vectors using the following recursive algorithm.
  • the power calculation block 130 comprises two multipliers 132 and 134 and an adder 136.
  • the multipliers 132 and 134 compute (FFTdatal) and (FFTdataQ) , respectively, and the adder 136 adds them together, to output a power value.
  • the lowpass filter block 140 comprises a multiplier 142, multiplier 144, an adder 145, a flip-flop 146 and a history RAM 148.
  • the lowpass filter block 140 performs a unity-gain, single-pole lowpass filtering operation on the power values ofthe signal at each FFT frequency bin.
  • the history RAM 148 stores the FFT power data for the previous FFT interval that is used with multiplier 144 according to the mathematical relationship described above.
  • the ROM 152 stores a table used for the dB conversion computation and the adder 152 subtracts the gain compensation AGCcomp output by the AGC 820, calibrated by RSSI0.
  • RSSI0 is input signal power, RX(dBm), when dBFS equals 0 dB with setting GC as 0 dB.
  • stats logic block 170 will be described hereinafter in conjunction with FIG. 10.
  • the spectrum analyzer 100 has two operating modes for writing data into the DPR 500.
  • N decimation factor
  • a transitional mode a power vs. frequency value is written whenever a pulse event is detected by the signal detector 200, in response to a spectrum analyzer trigger event signal SD SAENT, described hereinafter.
  • the transitional mode generally improves
  • control registers for the spectrum analyzer include a control field, a register for the lowpass filter parameter a, registers for the DPR address of the DPR buffers that store the spectrum analyzer stats, a register that counts the number of times the stats have been updated, a register that stores a value that determines the number of FFT intervals for a statistic update cycle, a register that stores the power threshold value for the duty cycle stats (described hereinafter), and a register for the structure for the power vs. frequency circular list.
  • the spectrum analyzer control register includes fields to, among other things, indicate received signal strength indicator (RSSI) mode, absolute or relative.
  • RSSI received signal strength indicator
  • the relative mode means that power measurements are in units of dB full scale; absolute mode means the measurements are in units of dBm.
  • the signal detector 200 identifies signal pulses in the Rx data path, filters these signals based on their spectral and temporal properties, and passes characteristic information about certain detected pulses to the MCU 700 via the DPR 500.
  • the signal detector 200 also provides pulse timing information to the universal signal synchronizer 400 to allow it to synchronize its clocks to transmissions to/from other devices operating in the frequency band, for example, to eliminate interference with QoS-sensitive devices such as cordless phones, BluetoothTM headsets, video-over-802.11 devices, etc.
  • the signal detector 200 comprises a peak detector 210 and a one or more pulse detectors 220.
  • the peak detector 210 looks for spectral peaks in the FFT sequence at its input, and reports the bandwidth, center frequency and power for each detected peak.
  • the output ofthe peak detector is one or more peaks and related information.
  • the pulse detectors 220 detect and characterize signal pulses based on input from the peak detector 210.
  • the peak detector 210 detects a peak as a set of FFT points in contiguous
  • the peak detector 210 outputs data describing those frequency bins that had a FFT value above a peak threshold and which frequency bin of a contiguous set of frequency bins has a maximum value for that set.
  • the peak detector 210 comprises a comparator 212, a register file 214, a FIFO 216 and a FIFO 218.
  • the comparator 212 compares the dB power value PDB(k) with the peak threshold (SD_PEAKTH).
  • the FIFO 216 stores a data word that indicates which frequency bins k had a power value above the peak threshold, and which did not. For example, if the FFT outputs 256 FFT values, the FIFO 216 stores a 256 bit word, with 1 's indicating FFT values that exceed the peak threshold and 0's indicating FFT values that do not exceed the peak threshold.
  • the register file 214 stores the maximum peak power value in any set of contiguous FFT values that exceed the peak threshold. This maxpeak information is used in the pulse detector.
  • the FIFO 218 stores the PDB(k) data field corresponding to the data stored in the register file 214 and FIFO 216.
  • FIG. 7 shows an example where a peak is detected at the frequency bin 130 by a contiguous set of points above a peak threshold shown in the dotted line.
  • NFFT 256
  • fs 120 MHz
  • min power level - 80 dBm
  • fs is the sampling rate ofthe ADC (FIG. 2), which will depend on the width ofthe frequency band to be processed. Narrowband and wideband operation ofthe radio transceiver is described above.
  • the signal detector 200 has one or more pulse detectors 220 (such as 4), allowing several pulses to be detected and characterized simultaneously.
  • a pulse detector calculates relative thresholds based on configured information, and checks whether pdB exceeds the relative threshold. If pdB exceed 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 power, center frequency, and bandwidth (defined by the pulse detector configuration information). After matching pulse candidate with a defined pulse, it checks the defined pulse duration. If it is the first time to detect (which means pulse duration counter is zero), it registers current pulse candidate information as a DETECTED PULSE. If duration counter is not zero, it increases pulse duration count.
  • pulse detector After increasing pulse duration count, if it is greater than a minimum required pulse duration, it triggers start of pulse. If it is greater than a maximum allowed pulse duration, it triggers termination of pulse.
  • the pulse detector does not detect a pulse at a given time slot, and there is a non-zero value of the pulse duration counter, then it triggers termination of pulse as well.
  • each pulse detector 220 comprises a pulse identifier block 230, a pulse finder block 250, a pulse tracking block 270 and a detect buffer 290.
  • These components are operated with configurable parameters to execute a set of rules:
  • Pulse Shaping Rules How should pulse information be extracted from raw peak information — performed by the pulse identifier 230. Pulse Detection Rules: Under what conditions is the start of a pulse detected — erformed by the pulse finder 250. Pulse Termination Rules: Under what conditions should an individual pulse be considered complete — performed by the pulse tracker 270. Pulse Shaping Rules.
  • the bandwidth ofthe peak is defined as the length ofthe largest interval over which the FFT power level is at least a certain value below the peak FFT power level.
  • This definition of center frequency locates the signal in the Nyquist band only.
  • the pulse identifier 230 shown in FIG. 8 comprises components to perform the pulse shaping rules using the bandwidth threshold (BW THRESH) parameter to identify those pulses that have a bandwidth that is greater than or exceeds the bandwidth threshold. Pulse Detection Rules.
  • the pulse detection rules specify the conditions under which the start of a pulse is to be detected and these rules are performed by the pulse finder 250.
  • a pulse is considered DETECTED if there is a peak from the pulse shaping rules that satisfies ALL ofthe following conditions: 1 ) Estimated power is between the peak detector minimum power and the peak detector maximum power. The pulse power level DETECTJPOWER which triggered the detection of this specific pulse is used by the pulse termination rules. 2) Center frequency ofthe peak is between a center frequency minimum and a center frequency maximum. The detected center frequency DETECT_CFREQ is used in pulse termination rules.
  • Bandwidth ofthe peak is within a bandwidth minimum and a bandwidth maximum.
  • a pulse may be considered TERMINATED if, for example, the pulse duration exceeds a duration maximum, or NONE ofthe detected peaks from the peak detector satisfies ALL ofthe following conditions:
  • Estimated power of the peak is within +/- a power hold value of the power of the pulse when it was originally detected.
  • Center frequency ofthe peak is within +/- a frequency hold value of the center frequency ofthe peak when it was originally detected.
  • Bandwidth of the peak is within a bandwidth hold value of the bandwidth ofthe peak when it was originally detected.
  • the pulse tracker 270 comprises components to detect the termination of a pulse according to these rules.
  • the pulse tracker 270 When a pulse terminates, the pulse tracker 270 writes a pulse event entry into the pulse event list if the pulse duration exceeds a pulse duration threshold value. Otherwise, the pulse event entry is discarded.
  • the conditions which terminate the pulse are stored in a bit field which is included in the pulse event structure for the pulse.
  • the pulse event structure will be described hereinafter.
  • a finite state machine may be used in a pulse detector to assist determining and tracking a pulse event.
  • Each pulse detector has its own configuration register (as part ofthe signal detector control registers) that stores values for each ofthe pulse parameters (described above) within which a pulse detector will process peak information.
  • PWRMIN Minimum power threshold (1 dBm)
  • PWRMAX Maximum power threshold (1 dBm)
  • BWTHRESH Bandwidth threshold (1 dBm)
  • CFREQMIN Min center frequency (fs/NFFT Hz)
  • CFREQMAX Max center frequency (fs/NFFT Hz)
  • BWMIN Min pulse bandwidth (fs/NFFT Hz)
  • BWMAX Max pulse bandwidth (fs/NFFT Hz)
  • DURMAX Max pulse duration (TMR_PULSE)
  • TURMIN Min pulse duration (TMR PULSE)
  • PWRHOLD Power hold value ( 1 dB)
  • FRQHOLD Frequency hold value (fs/NFFT Hz)
  • BWHOLD Bandwidth hold value (fs/NFFT Hz)
  • FPCENTER Current pulse center frequency (fs/NFFT Hz)
  • FPBW Current pulse bandwidth (fs/NFFT Hz)
  • PWR Current pulse power estimate (1 dBm)
  • Each pulse detector can be configured by the MCU 700.
  • the MCU 700 writes appropriate values to the configuration registers) ofthe signal detector to configure one or more pulse detectors to look for and characterize a certain type of pulse in the frequency band.
  • the control register controls clearing and resetting of a pulse detector so that it can be reconfigured to look for a different type of pulse.
  • the pulse detector control register includes a field that identifies which, if any, universal clock module ofthe universal signal synchronizer 400 is to be associated with the pulse detector.
  • the universal clock module (UCM) is described hereinafter.
  • the pulse detector stores the counter value of that universal clock module into the pulse event list whenever it detects a pulse.
  • the counter values can be used by the MCU 700 to phase lock a universal clock module to a periodic interference source, as described hereinafter.
  • Each pulse detector outputs pulse event data for storage in the DPR 500.
  • SDID Pulse detector identifier.
  • TERMCODE Pulse termination codes: Bit 0 (LSB): Pulse power outside of hold range
  • Bit 1 Center frequency outside of hold range Bit 2: Bandwidth outside of hold range Bit 3: Duration exceeds durMax
  • DUR Pulse duration in TMR_PULSE cycles.
  • the pulse duration value is given by t off - t on , where t off and t onaut denote the
  • TMR_TSTMP values latched at the FFT_START pulse associated with the first and last FFT of a detected pulse, respectively.
  • TIMEON Timestamp for start of pulse event.
  • TIMEON contains the TMR TSTMP value latched at the FFT_START pulse associated with the first FFT that produces a pulse detection match.
  • UCMCNT Counter values from an associated universal clock module (UCM, described hereinafter) in the USS.
  • the low-order 16 bits contain the UCM down counter value at the beginning ofthe pulse event.
  • the least-significant 2 bits in the upper half-word contain the mod(N) counter value (also in the associated UCM) at the beginning ofthe pulse event. If there is no associated UCM with a pulse detector, this field is set to all zeros.
  • PWR Pulse power estimate (at beginning of pulse, 1 dBm)
  • the signal detector 200 outputs descriptions of detected pulses as pulse events, containing the data described in the table above for example, into a circular list called the pulse event list in the DPR 500. A single list is used by all ofthe pulse detectors. The source pulse detector of an individual pulse event in the list is indicated by the pulse event "SDID" field.
  • FIG. 9 illustrates exemplary signals and the corresponding pulse event data.
  • IEEE 802.1 lb signal activity consisting of pulses 1-6.
  • Pulses 1, 3 and 5 are the forward channel 802.1 lb transmissions and pulses 2, 4 and 6 are acknowledgement signals.
  • BluetoothTM SCO signal comprising pulses 7-14. The timing, strength and duration ofthe signals are not shown at precise scale. Two pulse detectors are configured in a device where it is expected that an
  • a first pulse detector is configured to detect signals, such as the 802.11 signals, and would have the following parameters:
  • Pulse Bandwidth 10 to 20 MHz Center Frequency: 36-38 MHz (To cover channel 6—2437 MHz) Pulse Duration: 70 microsec to 20 msec Power: -30 dBm to -80 dBm
  • the first pulse detector could be configured to detect a pulse on any frequency, but through prior general knowledge that can be acquired by looking at the spectrum statistics, it is possible to determine that an 802.11 signal pulse is occurring at a particular frequency in the frequency band.
  • a second pulse detector is configured to detect signals such as the frequency hopping signal and would have, for example, the following parameters:
  • Center Frequency 0 to 83 MHz (i.e., anywhere in the 2.4 GHz band)
  • Exemplary pulse event data for these pulses are listed below. For simplicity, the time-on data associated with these pulses is omitted.
  • SDID 1 (identifying
  • pulse event data for pulses 7-14 are very similar to each other, with the exception ofthe center frequency.
  • pulses 7-14 may have a pulse bandwidth of 1 MHz, a pulse duration of 350 microsec, whereas the center frequency will vary across nearly all ofthe 2400 MHz to 2483 MHz frequency band.
  • the SDID for pulses 7-14 is 2, since pulse detector 2 is configured to detect these types of pulses.
  • One or more pulse detectors in the signal detector 200 may be configured to monitor pulse activity and the signal detector 200 may send a snapshot buffer trigger signal (SD_SBENT) to the snapshot buffer 300 when a pulse event occurs corresponding to a configured pulse detector.
  • SD_SBENT snapshot buffer trigger signal
  • the signal detector will monitor all pulse detectors and if any one of them detects such an event, the snapshot trigger signal SD SBENT is generated, either on the rising edge or falling edge ofthe detected pulse.
  • the snapshot buffer trigger signal SD SBEVT will cause the snapshot buffer 300 to capture samples of the Datal and DataQ signals, as described hereinafter.
  • the signal detector may be configured to monitor activity on each pulse detector and send a spectrum analyzer trigger signal (SD S AEVT) to the spectrum analyzer 100 (presumed to be in the transitional mode) when a desired pulse event is detected by any one ofthe pulse detectors.
  • SD S AEVT spectrum analyzer trigger signal
  • This spectrum analyzer trigger signal is generated either on the rising edge or falling edge ofthe detected pulse.
  • the SD_SAEVT signal is coupled to the SA memory controller 190 which will output to the DPR 500 samples (snapshots) ofthe PDB(k) data fields.
  • the stats logic block 170 has modules to accumulate statistics for power, duty cycle, maximum power and a peaks histogram. Statistics are accumulated in the DPR over successive FFT time intervals. After a certain number of FFT intervals, determined by a configurable value stored in the spectrum analyzer control registers, an interrupt is generated to the MCU so that the MCU reads out the stats from the DPR into its memory. For example, the stats are maintained in the DPR for 10,000 FFT intervals before the MCU reads out the values from the DPR.
  • FIG. 11 illustrates an example of stats that are accumulated by the stats logic module shown in FIG. 10.
  • the table on the left side of dB power values for exemplary frequencies during time intervals t 0 through 5.
  • the table on the right represents values updated in the DPR for the SumPwr, DutyCnt and MaxPwr statistics at those frequencies.
  • the peak threshold is -50, and it is assumed that there are essentially three peaks: a first from frequency bin 0 to frequency bin 20; a second from frequency bin 125 to frequency bin 175; and a third from frequency bin 200 to frequency bin 255. All other frequency bins are assumed to be at -100 dB.
  • the SumPwr statistic may be averaged by the MCU or another processor, and the DutyCnt may be converted to a percentage number.
  • the PDB(k) data field is supplied to the stats logic block 170. It may be decimated by an optional decimator 172.
  • the power at each frequency bin for a previous time interval is added by the adder 174 to the power at that frequency bin for the current time interval.
  • the running power sum at each frequency bin is output to the DPR 500 as a SumPwr stat, also referred to hereinafter as the average power stat.
  • a duty count stat is generated by comparing the PDB at each frequency bin k with a power threshold (SA_PWRTHRESH) at the adder 176 and MSB block
  • the previous duty count statistic for that frequency bin is incremented by the increment block 180.
  • the output ofthe increment block 180 is the duty count stat (DutyCnt), which again, is a running count ofthe number of times the power at a FFT frequency exceeds the power threshold.
  • a maximum power stat (MaxPwr) is tracked at each frequency bin.
  • the current maximum power value at each frequency k is compared to the new power value at each frequency k by the adder 182 and MSB block 183.
  • the multiplexer 184 selects for output either the current power maximum or the new PDB(k), depending on whether the new PDB(k) exceeds the current power maximum at the frequency.
  • the number of peaks that are detected by the peak detector during each FFT time interval is counted by the counter 185, buffered in the flip-flop (FF) 186 and stored in the histogram registers 187 for output to the DPR 500.
  • the PEAKEN signal is the output ofthe peak detector that goes high when a peak is detected.
  • FIG. 12 shows exemplary content ofthe histogram registers 187 including a running count ofthe number of time intervals (i.e., stats update cycles) that have 0 peaks, 1 peak, 2 peaks, ... up to 9 peaks.
  • This histogram is useful to estimate the number of different devices or networks operating simultaneously at different frequencies in the frequency band. As shown in FIG. 12, up until stats update cycle 5, there are two with no peaks, one stats update cycle with one peak and three stats update cycles with three peaks.
  • the snapshot buffer 300 is a flexible data storage and triggering mechanism used to collect a set of raw ADC samples (Datal and DataQ or Datal' and DataQ', FIG. 2) for post-processing by the MCU 700.
  • the snapshot buffer 300 buffers up a set of ADC samples and asserts an interrupt to the MCU 700.
  • the MCU 700 may then perform background-level processing on the ADC samples for the purposes of identifying or locating another device operating in the frequency band, or these samples may be passed to a different processor at for processing.
  • the snapshot buffer 300 writes continuously to the DPR 500 and stops writing and interrupts the MCU when a snapshot trigger signal is detected.
  • a post-store mode the DPR write operation begins only after a trigger is detected.
  • a combination pre and post store scenario may be created (using the DELAYSTART and DELAYEND control registers) to capture samples of the receive data signals both before and after a snapshot trigger condition.
  • the snapshot trigger signal SD_SBEVT is sourced from the signal detector 200 as described above, and the SB_TRIG signal is sourced from a module external to the SAGE 10, such as a location measurement module.
  • the MCU 700 may be programmed to collect raw ADC samples when a particular signal pulse is detected for signal classification processes.
  • the MCU 700 configures a pulse detector to generate the snapshot trigger signal SD SBEVT upon detecting a pulse that meets a certain set of characteristics, as described above.
  • the snapshot buffer 300 clears this bit when it has finished its processing (usually within one clock).
  • the snapshot buffer 300 samples may be stored in a variety of formats.
  • One example of a format is one complex sample per 32-bit word.
  • the high-order 16 bits contain the real part ofthe sample; the low-order 16-bits contain the imaginary part.
  • the real and imaginary parts may be stored in a Q15 format, where 0 represents ON on the ADC in the RF Interface 800, and 0x7FFF and 0x8000 represent positive and negative full-scale, respectively.
  • control registers (and what they do) for the snapshot buffer are described below.
  • DELAYSTART Number of samples to wait after the SB_TRIG signal before starting to write into DPR. Only valid if
  • DELAYEND Number of samples to write into DPR before DPR writes are disabled and a "snapshot complete" interrupt is posted to the MCU. The count begins (1) when a trigger condition is asserted in prestore mode, or (2) DELAYSTART samples after a trigger condition in poststore mode.
  • START ADDR Address in DPR of first word of snapshot buffer.
  • END ADDR Address in DPR of last word of snapshot buffer.
  • WADDR is incremented and after a write to END ADDR, WADDR wraps back to STARTADDR.
  • MCU may use this register to determine the address ofthe most recent write into the DPR.
  • TSTMP Contains the TMR TSTMP value latched immediately after the most recent snapshot trigger condition was asserted.
  • the control register includes the fields described below.
  • 0 Poststore mode (samples written to DPR DELAY START samples after trigger detected).
  • GO Begin snapshot buffering operation. When GO is set to 0, SB is idle and does not look for a trigger. When the MCU sets GO to 1, SB starts looking for a trigger signal and prestoring samples in DPR
  • 11 SD SBEVT detected in one shot mode and snapshot buffering operation complete.
  • the SDID field indicates which pulse detector (1-4) caused the trigger.
  • SDID Indicates which pulse detector caused the trigger condition.
  • the DPR 500 will be described with reference to FIGs. 13-16.
  • the DPR 500 is partitioned into several buffers or storage areas to store information generated by the spectrum analyzer 100, signal detector 200 and snapshot buffer 300.
  • a power vs. frequency circular buffer (PF Buf) 510 stores real-time power vs. frequency information output by the spectrum analyzer 100.
  • the table on the left in generally resembles the PF Buffer 510.
  • a stats buffer 520 stores SumPwr, DutyCnt, MaxPwr and peaks statistics output by stats logic module.
  • FIGs. 11 and 12 show represented data that is stored by the stats buffer 520.
  • a pulse event circular buffer 530 stores pulse event data output by the signal detector 200 and a snapshot circular buffer 540 stores raw ADC samples from the snapshot buffer 300.
  • Information is exchanged between elements ofthe SAGE 10 and the DPR 500 via the RAM interface (I/F) 550.
  • the DPR 500 is, for example, a 32-bit wide, synchronous DPR. Different clocks are used to drive the logic at each port.
  • the CLK signal is used on SAGE components side and the BUSCLK signal is used on the MCU side.
  • the DPR 500 is word addressable from the SAGE side and byte addressable from the MCU side.
  • An AHB bus interface maps an internal MCU byte address into the corresponding word addresses (MDADDR) and byte enable (MDBYTEN) signals attached to the MDADDR
  • MDBYTEN byte enable
  • the data structures used to manage the DPR buffers 510-540 are stored in the control registers associated with DPR.
  • the MCU 700 is responsible for configuring the addresses and relative sizes of each buffer using these control registers after reset.
  • the SAGE 10 uses circular lists to manage some ofthe data stored in the DPR 500. As indicated above, buffers 510, 530 and
  • a circular list (Clist) consists of a list of fixed sized entries (ClistEntries) and a management structure (ClistMgt).
  • the ClistEntries portion of the list is stored in the DPR 500.
  • Each Clist has an associated ClistMgt structure which resides within the peripheral address space.
  • the DPR location ofthe ClistEntries is held within ClistMgt.
  • the entry size (ClistMgt. sizeofEntry) ofthe list is configurable.
  • the Clist is essentially a circular buffer, i.e., a first-in-first-out (FIFO) buffer.
  • read and write indices are maintained to indicate the next entry to be read or written. Whenever the end of the list is reached the index is wrapped back to the starting position (i.e., circular list). Whenever a read or write index is wrapped to the starting position, a corresponding read pass number or write pass number is incremented. This combination of index and pass number is called a "position" or ClistPosition.
  • the ClistPosition is, for example, a 32-bit quantity consisting of a 16-bit "pass" and a 16-bit "index.” When the pass number is updated, the entire 32-bit ClistPosition is written out as a single "atomic" operation. Similarly, a read operation reads the entire 32-bit ClistPosition to ensure the pass number and index components are consistent when wrap occurs.
  • the Universal Signal Synchronizer is, for example, a 32-bit quantity consisting of a 16-bit "pass" and a 16-bit "index.”
  • the universal signal synchronizer 400 is useful to lock to interfering periodic signal sources.
  • the USS 400 consists of multiple programmable clock generators referred to as USS clock modules (UCMs) 410.
  • the MCU 700 can detect interference from a periodic signal source such as a BluetoothTM headset, a cordless phone, etc., by examining traffic statistics gathered by the host communication device. For example, the MAC logic 750 will accumulate traffic statistics indicating how successful the host communication device has been in transmitting to and receiving information from other devices according to a MAC protocol, such as IEEE 802.1 lx, employed by the device.
  • a MAC protocol such as IEEE 802.1 lx
  • Traffic statistics that may reveal the presence of an interferer are: (1 ) un-acknowledged messages; (2) repeated cyclic redundancy code (CRC) errors; (3) low received signal strength, etc.
  • CRC repeated cyclic redundancy code
  • the MCU determines to look for the cause ofthe interference, it configures the appropriate frequency and phase parameters corresponding to the interference source into a UCM 410, and, using pulse timing information from the signal detector 200, phase/frequency locks the UCM timing to the transmit timing for the interference source. After phase/frequency lock has taken place, the UCM can be used as a timing reference to prevent data transmissions to/from the MAC logic 750 (FIG. 1) from overlapping and interfering with data exchanges with the interference source.
  • a block diagram of a UCM 410 is shown in FIG. 17.
  • a timing diagram for an exemplary interferer, such as a BluetoothTM signal, is shown in FIG. 18.
  • the two segment UCM clock scheme is used to accommodate interference sources such as Bluetooth SCO links that exchange bidirectional data using two unequally-spaced pulses, as shown in FIG. 18.
  • a multiplexer 420 selects input from one ofthe registers 412 through 418, where selection from register 418 is via an adder 422 coupled between the register 418 and an input to the multiplexer 420.
  • a down counter 424 is connected to the output ofthe multiplexer 420 and counts down from the duration of each duration segment.
  • a mod(N) counter 426 is connected to the down counter 424 and is used to reload the down counter 424 with the duration ofthe next segment after the down counter 424 counts down to zero.
  • the mod(N) counter 426 is a mod4 counter.
  • An accumulator 428 is coupled to the mod4 counter 424 and has a carry output that is coupled back to the adder 422. The most significant bit (MSB) output ofthe mod4 counter 426 is used to drive the count input ofthe accumulator 428.
  • the accumulator 428 is a Z bit accumulator used to offset the UCM clock frequency, advancing or delaying the UCM clock by one TMR_CLK cycle every 2 /freqOffset UCM cycles, where the freqOffset parameter is configurable by the MCU via an adder 430 coupled to the accumulator 428.
  • the clock module comprises at least N registers, each of which stores a programmable duration value associated with one of two states of a pulse ofthe communication signal, where N is equal to 2 times the number of pulses in a cycle ofthe communication signal, and the mod(N) counter coupled to the down counter counts up to N-l by one in response to the down counter reaching zero and when reaching N-l, causing content ofthe next ofthe N registers to be loaded into the down counter.
  • the count input ofthe Z-bit accumulator 428 is coupled to an output ofthe mod(N) counter, and the adder 430 adds an output ofthe accumulator 428 with the frequency offset value and supplies the sum to an input ofthe accumulator, wherein a carry output ofthe accumulator is coupled to the Nth register to increment or decrement the value ofthe Nth register before it is loaded into the counter, thereby extending or contracting the length of a cycle ofthe clock signal used to drive the down counter by one clock pulse every 2 z /(frequency offset value) clock cycles.
  • a UCM TMR_CLK frequency of rMR_CLK 2 MHz provides sub- microsecond timing granularity on the pulse duration intervals.
  • An 18-bit register size for the duration registers 412-418 accommodates transmission frequencies as low as 10 Hz.
  • Output frequency f CL ⁇ /[(M + ⁇ f CL ⁇ /M ⁇ l-
  • the MCU 700 When the MCU 700 detects and classifies a periodic interference source, it takes the following steps to lock the UCM timing to the transmission timing associated with the interference source.
  • the MCU initializes and configures a UCM 410 to the appropriate
  • the MCU writes values to the duration registers based on knowledge gained about the interferer from pulse events output by a pulse detector 220 (FIG. 3) and/or from snapshot buffer data supplied to the MCU that lead to the MCU determine that there is an interference event.
  • the MCU also associates a pulse detector with the UCM 410 and configures the pulse detector to measure the phase offset between the interference source and the UCM 410.
  • information about the timing ofthe interferer signal is obtained from pulse events generated by the assigned pulse detector, and the MCU compares them against the duration values written into the duration registers.
  • the pulse events include the count values ofthe down counter and the mod(N) counter at the detection of a pulse, as described above in connection with the description ofthe signal detector.
  • the MCU examines the count values ofthe down counter and the mod(N) counter to measure a phase error between the clock signal that drives the down counter and the occurrence ofthe pulse ofthe communication signal.
  • the MCU removes the initial phase offset/error between the UCM 410 and the interference source by loading a phase adjustment value into the PhaseOffset register 425. This causes the UCM 410 to retard the phase by the value specified in the PhaseOffset register 425 the next time the down counter 424 and mod4 counter 426 cycle to zero.
  • the MCU After removing the initial phase offset, the MCU periodically monitors the phase count values ofthe down counter and the mod(N) counter in the pulse event data to measure the phase error.
  • the MCU generates a frequency offset between the interference source (from the pulse detector) and the UCM clock and updates the FreqOffset register 427 to compensate for frequency drift between the two signals.
  • a block diagram of an update technique using a second order phase lock loop (PLL) is shown in FIG. 19, which will be described hereinafter.
  • the MCU writes a value into the FreqOffset register that causes the accumulator 428 to retard or advance (depending on the sign ofthe adder 422) the frequency a certain number of times per UCM clock cycles.
  • the UCM is said to be phase/frequency locked to the interference source. Once the loop is locked, the
  • the MCU may let the UCM clock "flywheel” for a period of time without monitoring the phase offset from the interference source.
  • the MCU may continue to periodically monitor the phase offset and update the loop parameters since the clocks will eventually drift (primarily due to temperature changes in the near and far end reference oscillators).
  • Step 442 represents the pulse detector 220, associated with the particular interfering signal, generating phase information by reading the states of down counter 424 and mod(N) counter 426, and step 444 represents retrieving of information from the pulse event circular list in the pulse event buffer 530 ofthe DPR 500. Multiple pulse events from the signal detector 200 may be buffered up in the DPR 500 before the MCU has time to retrieve them.
  • step 446 the phase detection information is updated depending on the value ofthe down counter 424 relative to the value ofthe DurOnl register 412.
  • step 448 output of step 446 is averaged to reduce noise effects.
  • a filter or phase-lock-loop (PLL) process 449 is performed to lock to the phase and frequency ofthe interfering signal clock. Any suitable first-order or second-order filtering or PLL process can be used.
  • FIG. 19 shows a second order PLL process comprising two scaling operations 450 and 452, an adder 454, a z "1 block 456 and an accumulator 458.
  • the parameters kl and k2 are PLL constants that depend on the UCM clock rate and a buffering factor ofthe pulse event circular list in the DPR.
  • the output ofthe process 440 is a frequency offset value that is stored for later use in synchronizing to the near clock and the far-end clock (that ofthe particular interfering signal). Once the frequency offset value is computed, the interfering signal can be ignored for a period of time, and the UCM can more quickly lock to the interfering signal by loading the stored frequency offset (FreqOffset) into the FreqOffset register 427 ofthe UCM as shown in FIG. 17.
  • DURON 1 Duration in TMR_PULSE cycles of first "on" interval of a UCM clock cycle. The MCU may update this value anytime (regardless of whether the UCM is enabled).
  • DUROFF 1 Duration in TMR PULSE cycles of first "off" interval of a UCM clock cycle. The MCU may update this value anytime (regardless of whether the UCM is enabled).
  • DURON2 Duration in TMR PULSE cycles of second "on" interval of a UCM clock cycle. The MCU may update this value anytime (regardless of whether the UCM is enabled).
  • DUROFF2 Duration in TMR_PULSE cycles of second "off interval of a UCM clock cycle. The MCU may update this value anytime (regardless of whether the UCM is enabled).
  • FREQOFFSET Creates a frequency offset of (F TMR _ P U LSE *FREQOFFSET) / (M 2 *2 16 ) Hz relative to the nominal clock frequency (F TMR _ PULS E/M) on the UCM clock.
  • the CNTRL.FOFFSET bit specifies the sense ofthe offset. If
  • CNTRL.FOFFSET 1, a positive frequency offset is applied, otherwise a negative frequency offset is applied (a positive frequency offset corresponds to a higher-than-nominal UCM clock frequency).
  • the MCU may update this value anytime (regardless of whether the UCM is enabled).
  • PHASEOFFSET Retards the phase ofthe UCM clock by PHASEOFFSET TMR_PULSE cycles by loading the value
  • the fields ofthe control register for a UCM are defined below. ENABLE: UCM enable. Setting the ENABLE bit for 1 TMR_PULSE cycle causes the clock to start counting in the Durl Off state. Clearing ENABLE for 1 or more TMR_PULSEs causes the UCM clock to stop counting.
  • PHADJUST Writing a 1 to this bit causes the UCM to retard its clock phase by PHASEOFFSET TMR_PULSE cycles by loading the value PHASEOFFSET into the Down Counter at the end ofthe next Durl Off clock segment. The UCM clears this bit after the phase change has taken place.
  • the USS 400 passes UCM timing information to an external component, such as the MAC logic 750, using the NEXTINTFDUR and NEXTINTFTIME signals described hereinafter.
  • the USS_SELECT signals also described in the table above, allow for selection of which UCMs to include in next event calculation.
  • the global timer interfaces are used by the spectrum analyzer 100 and signal detector 200 to timestamp transmission events in the sampled frequency band.
  • TMR TSTMP the timestamp signal
  • the GTI logic runs at the BUSCLK clock frequency.
  • the SAGE 10 communicates timing information for periodic interference sources (such as Bluetooth headsets or cordless phones) to another hardware element (external to the SAGE 10), such as the MAC logic 750.
  • periodic interference sources such as Bluetooth headsets or cordless phones
  • another hardware element such as the MAC logic 750.
  • NEXTINTFDUR is the duration in TMR_PULSEs ofthe next interference event among the selected UCM clocks via USS SELECT.
  • the interference condition is said to be active (due to an interferer's transmission) when any ofthe selected UCM clocks is high.
  • NEXTINTFDUR indicates the duration ofthe next interference event in TMR_PULSEs.
  • NEXTINTFDUR indicates the time in TMR_PULSEs until the end ofthe current interference transmission, and is updated once per TMR_PULSE.
  • NEXTINTFTIME is the time remaining in TMR_PULSEs until the next interference event among the selected UCM clocks via USS SELECT.
  • the interference condition is said to be active (due to an interferer's transmission) when any ofthe selected UCM clocks is high.
  • NEXTINTFTIME indicates the time until the next interference event and is updated once per TMR_PULSE.
  • NEXTINTFTIME reads zero.
  • USS_SELECT is a signal that selects which USS UCMs 410 to include in the next interference event calculations, as reported to the MAC logic 750 through the NEXTINTFXXX signals.
  • USS_SELECT[i] 1 means include UCM(i) in the calculation. Examples of MCU interface signals are described below. Some of these signals are identified in FIGs. 1, 3 and 6.
  • BUSCLK Clock used to control the MCU side ofthe DPR, USS,
  • IRQ Level-triggered interrupt request to MCU. Whenever an enabled interrupt condition becomes active, SAGE 10 asserts an interrupt to the MCU by setting IRQ to 0. The MCU clears the interrupt by clearing the appropriate bits in the IF register. SAGE automatically sets IRQ to 1 when all active interrupt conditions have been cleared in the IF register.
  • MDADDR DPR word address - MCU side
  • MDBYTEEN DPR byte enable - MCU side
  • MDRD DPR read strobe - MCU side
  • MDRDATA DPR read data - MCU side
  • MDWDATA DPR write data - MCU side
  • the SAGE 10 may reside in a communication device that comprises the radio transceiver 600 and a MCU 700.
  • a host processor 900 may also be provided that is coupled to the MCU
  • the MCU 700 and host processor 900 may share responsibility for configuring the SAGE 10 and the radio transceiver 600.
  • the host processor 900 may be responsible for more complex functions. However, it should be understood that the functions ofthe MCU 700 and the host processor 900 may be executed by a single processor of suitable processing capability and power consumption characteristics.
  • the radio transceiver 600 is shared by the SAGE 10 and other communication device functions, such as receiving signals from or transmitting signals to another communication device.
  • the receiver ofthe radio transceiver 600 cannot be used by the SAGE 10 when the communication device is receiving a signal, and in some cases, the same is true when the communication device is transmitting a signal to another device.
  • the MCU 700 or the host processor 900 may be programmed to configure the receiver portion ofthe radio transceiver 600 to operate in a wideband mode, thereby sampling activity in an entire frequency band for a time period, such as 100 msec or longer.
  • the MCU 700 or host processor 900 may configure certain basic parameters ofthe SAGE 10, such as the decimator factor, the cycle count ofthe number of spectrum analyzer updates (i.e., FFT intervals) before forwarding the stats to the MCU 700, the minimum power threshold for duty counting, the lowpass filter parameter ofthe spectrum analyzer.
  • the receiver portion ofthe radio transceiver 600 may also be configured to operate in a narrowband mode at a configurable center frequency.
  • the SAGE 10 is activated to "sniff" the spectrum with the spectrum analyzer component ofthe SAGE 10.
  • the spectrum analyzer stats such as those shown in FIGs.11 and 12, are accumulated in the DPR and read by the MCU 700 and further processed by the host processor 900.
  • the pulse detectors ofthe signal detector component may be configured in a default mode to look for signal pulses of commonly expected signals in the frequency band. In the case of an unlicensed frequency band, such signals may include an IEEE 802.11 signal, a cordless phone signal, or a BluetoothTM frequency hopping signal.
  • the host processor 900 or MCU 700 may configure one or more pulse detectors ofthe SAGE 10 to look for certain types of signal pulses in the frequency band using the pulse detector configuration parameters described above.
  • Still another possibility is to iteratively change the configuration of one or more pulse detectors so as to cycle through pulse detector configurations over time. For example, the center frequency, bandwidth, pulse duration and/ or time between pulses parameters can be changed to process incoming signal data.
  • the incoming signals are processed during each cycle with the one or more pulse detectors.
  • the goal is to eventually find a pulse detector configuration that fits the type of signal activity occurring in the frequency band. This is useful, for example, in a signal classification process.
  • the SAGE to gather output from the signal detector may occur while the radio is in a wideband mode or a narrowband mode, depending on the demands ofthe radio for communication services and the type of signals suspected to be present in the frequency band.
  • the pulse detectors will generate pulse event information that is output to the MCU 700, together with spectrum analyzer stats and any snapshot buffered data.
  • the universal signal synchronizer component ofthe SAGE 10 may be operated by the MCU to synchronize to the clocks of potentially interfering communication signals in the frequency band. This synchronization information can be used in an interference mitigation or coexistence algorithm executed by the MCU 700 or the host processor 900 to schedule transmissions by the communication device so as to avoid collisions with other communication signals in the frequency band.
  • the output ofthe SAGE 10 can be used in a signal classification process to identify/classify signals in a frequency band, such as for example: a wireless headset operating with a frequency hopping communication protocol (e.g., BluetoothTM); wireless file/print services; radar systems; microwave ovens, an IEEE 802.11 wireless local area network; a HomeRFTM network; a frequency hopping cordless phone; an analog cordless phone; wireless infant/security monitors; devices operating using the IEEE 802.15.3 communication protocol.
  • a signal classification process is disclosed in the aforementioned commonly assigned patent application.
  • FIG. 21 illustrates an exemplary block diagram of a device, called a spectrum sensor, which employs the SAGE 10.
  • the spectrum sensor is a device that receives signals in the frequency band of interest. In this sense, the spectrum sensor is a spectrum monitor of a sort.
  • the spectrum sensor comprises at least one radio receiver capable of downconverting signals in the frequency band of interest, either in a wideband mode or scanning narrowband mode. It is possible, as shown in FIG. 21, that the spectrum sensor comprises one or more radio receivers 610 and 620 (dedicated to different unlicensed bands) or a single dual band radio receiver.
  • a DAC 650 may be useful to supply control signals to the radio receiver via a switch 630.
  • An interface 570 such as a Cardbus, universal serial bus (USB), mini-PCI, etc., interfaces the output ofthe SAGE 10 to a host device 3000 or another device.
  • an optional embedded processor 572 to perform local processing
  • an Ethernet block 574 to interface to a wired network
  • FLASH memory 576 and SDRAM 578 There are also an optional lower MAC (LMAC) logic block 4080 associated with a particular communication protocol or standard ("protocol X") and a modem 4090 associated with protocol X.
  • Protocol X may be any communication protocol that operates in the frequency band, such as an IEEE 802.1 lx protocol. Multiple protocols may be supported by the device. Many of the blocks may be integrated into a gate array ASIC. The larger block around the radio(s) and other components is meant to indicate that the spectrum sensor device may be implemented in a NIC form factor for PCI or mini-PCI deployment.
  • the host device 3000 may be a computer (e.g., PC) having a processor
  • the memory 3004 may store software to enable the host processor 3002 to execute processes based on the output ofthe SAGE 10, including signal classification, location measurement, etc., as further described hereinafter.
  • a display monitor
  • the 3010 may be coupled to the host device 3000.
  • the host device 3000 may be a desktop or notebook personal computer or personal digital assistant, or any other computer device local to or remote from the spectrum sensor.
  • the memory 3004 in the host device may also store driver software for the host device, such as drivers for operating systems such as Windows operating systems (Windows® XP,
  • Either the embedded processor 4040 or the host processor 3002 may implement upper MAC logic associated with Protocol X. For example, if Protocol X is an IEEE 802.1 lx protocol, the processor 404 or processor 3002 may generate
  • Examples of IEEE 802.11 MIB Global Extensions that may be provided are: Rx Bad Ver/Type; Rx Too Long; Rx Bad Multicast; Rx Self; Rx CTS other
  • Rx CCA (802.11 , non); Rx Filtered by Cause; Rx Forwarded by Type; Rx No
  • Examples of IEEE 802.11 MIB Extensions that maybe provided for STAs are: Tot Chan Disable Time Last Rx Tx; Rx Undefined Key; Rx RTS other STA; Rx CTS expected; Tx ACK/CTS; Tx Dropped (retries); Rx Timeout ACK/CTS; Rx
  • Still another variation is to implement the functions ofthe SAGE 10 in software on the host processor 3002.
  • the output ofthe ADC 640 of any one or more device(s) operating in the frequency band can be supplied to a host processor where the SAGE and other functions described herein are performed entirely in software, such as the measurement engine, classification engine, etc.
  • the output ofthe ADC 640 may be coupled across any one ofthe interfaces shown in FIG. 21 to the host processor 3002.
  • the spectrum sensor may be deployed in any device that resides in a region where operation in an unlicensed or shared frequency band is occurring. For example, it can reside in a consumer device such as a camera, home stereo, peripheral to a PC, etc. Any other device connected to a spectrum sensor may obtain the spectrum knowledge that the spectrum sensor acquires.
  • FIG. 22 an environment is shown where there are signals of multiple types that may be simultaneously occurring. For example, at some point in their modes of operation, there are multiple devices that may transmit signals within a common frequency band. When these devices are sufficiently close in proximity to each other, or transmit signals at sufficiently high power levels, there will inevitably be interference between signals of one or more devices.
  • the dotted-line shown in FIG. 22 is meant to indicate a region where activity from any ofthe devices shown may impact other devices.
  • cordless phones 1000 may operate in an unlicensed frequency band, including cordless phones 1000, frequency hopping communication devices 1010, microwave ovens 1020, A wireless local area network (WLAN) comprised of a WLAN station (STAl) 1030 and a WLAN STA2 1040 associated with a WLAN access point (AP) 1050, infant monitor devices 1060 as well as any other existing or new wireless devices 1070.
  • the WLAN AP 1050 may be connected to a wired network (e.g., Ethernet network) to which also connected is a server 1055 computer that exchanges data with the WLAN STAs 1030 and 1040 using, for example, an IEEE 802.1 lx communication standard.
  • Cordless phones 1000 may be analog, digital and frequency hopping devices, depending on the type.
  • Frequency hopping communication devices 1010 may include devices operating in accordance with the BluetoothTM wireless communication protocol, the HomeRFTM wireless communication protocol, as well as cordless phones.
  • radar devices 1080 may operate in an unlicensed frequency band.
  • spectrum sensor devices 1200, 1210 and 1220 that are positioned at various locations in the frequency band and include the SAGE to monitor activity in the frequency band. Any one or more ofthe other devices shown in FIG. 22 may also include the SAGE, such as a
  • WLAN STA or WLAN AP WLAN STA or WLAN AP.
  • the network management station 1090 may play a role in the spectrum management system described hereinafter.
  • the network management station 1090 need not physically reside in the region where the other devices are operating.
  • the network management station 1090 may be connected to the same wired network as the server 1055 and may receive spectrum activity information from the WLAN AP 1050 and or from a spectrum sensor 1210.
  • the network management station 1090 has, for example, a processor 1092, a memory 1094 that stores one or more software programs executed by the processor and a display monitor 1096.
  • the network management station 1090 may also execute one or more software programs that manage wired networks as well as wireless networks.
  • the unlicensed frequency bands are in the unlicensed frequency bands.
  • an "unlicensed" frequency band generally means that no one user has any preferred rights to use that frequency band over another. No one party has purchased exclusive rights to that spectrum.
  • There are a set of basic power and bandwidth requirements associated with the unlicensed band but any user that operates within those requirements is free to use it at any time.
  • a consequence of the "unlicensed" character of these frequency bands is that devices operating in them will inevitably interfere with the operation of each other. When interference occurs, a signal from one device to another may not be received properly, causing the sending device to retransmit (and therefore reducing throughput), or possibly entirely destroying the communication link between two communication devices.
  • FIG. 23 is diagram illustrating how the SAGE 10 may be part of a larger spectrum management system.
  • the SAGE 10 in cooperation with the radio 600 generates spectrum activity information that is used by one or more software programs.
  • SAGE drivers 5000 are used by the one or more software applications to configure and access information from the SAGE 10. Examples of software the software programs that may use information from the SAGE 10 including a measurement engine 5100, a classification engine 5120, a location engine 5130 and a spectrum expert 5140. These processes may be executed by an embedded processor or host processor (see FIG. 21).
  • Controls generated by the spectrum expert 5140, network expert 5210 or other applications are coupled to a device through the spectrum aware drivers 5020, which in turn may control the baseband signal processing (e.g., modem) 5010 and/or the radio 600.
  • the baseband signal processing e.g., modem
  • a network spectrum interface (NSI) 5150 serves as an application programming interface between the higher level application services 5200 and the processes on the other side ofthe NSI 5150.
  • the measurement engine 5100 collects and aggregates output from the
  • the measurement engine 5100 accumulates statistics for time intervals of output data from the SAGE 10 to track, with respect to each of a plurality of frequency bins that span the frequency band, average power, maximum power and duty cycle.
  • the measurement engine 5100 accumulates pulse events for signal pulses output by the SAGE that fit the configured criteria. Each pulse event may include data for power level, center frequency, bandwidth, start time, duration and termination time.
  • the measurement engine 5100 may build histograms of signal pulse data that are useful for signal classification.
  • the measurement engine 5100 accumulates raw received signal data (from the snapshot buffer ofthe SAGE 10) useful for location measurement in response to commands from higher levels in the architecture.
  • the measurement engine 5100 may maintain short-term storage of spectrum activity information. Furthermore, the measurement engine 5100 may aggregate statistics related to performance of a wireless network operating in the radio frequency band, such as an IEEE 802.11 WLAN. In response to requests from other software programs or systems (via the network spectrum interface described hereinafter), the measurement engine 5100 responds with one or more of several types of data generated by processing the data output by the SAGE 10.
  • the classification engine 5120 compares the outputs ofthe SAGE 10 against data templates and related information of known signals in order to classify signals in the frequency based on energy pulse information detected by the SAGE.
  • the classification engine 5120 can detect, for example, signals that interfere with the operation of one or more devices (e.g., occupy or occur in the same channel of the unlicensed band as a device operating in the band).
  • the output ofthe classification engine 5120 includes classifiers of signals detected in the frequency band.
  • a classification output may be, for example, "cordless phone”, “frequency hopper device”, “frequency hopper cordless phone”, “microwave oven”, "802.1 lx WLAN device”, etc.
  • the classification engine 5120 may compare signal data supplied to it by the measurement engine against a database of information of known signals or signal types.
  • the signal classification database may be updated for new devices that use the frequency band.
  • the classification engine 52 may output information describing one or more ofthe center frequency, bandwidth, power, pulse duration, etc. ofthe classified signal, which is easily obtained directly from the signal detector output ofthe SAGE. This may particularly useful for a classified signal that is determined to interfere with operation of other devices in the frequency band.
  • the location engine 5130 computes the physical location of devices operating in the frequency band.
  • One example of a location measurement technique involves using snapshot buffer data collected by the measurement engine 5100 to perform time difference of arrival measurements at known locations of a signal transmitted by the device to be located and another reference signal to determine a location of a variety of devices (such as interferers) operating in the region ofthe frequency band. Sometimes simply moving an interferer to a different location can resolve transmission problems that another device or network of devices may be experiencing.
  • the location engine 5130 may coordinate measurements obtained from multiple locations in the network.
  • An example of a location engine is disclosed in commonly assigned co-pending U.S. Application No. 60/319,737, filed November 27, 2002, entitled “System and Method for Locating Wireless Devices in an Unsynchronized Wireless Network,” the entirety of which is incorporated herein by reference.
  • the location engine 5130 may alternatively reside in software "above" the NSI 5150.
  • the spectrum expert 5140 may command the location engine 5130 to locate the source ofthe interferer.
  • the output ofthe location engine 5130 may include position information, power level, device type and/or device (MAC) address.
  • MAC device type
  • a network security application below or above the NSI may command the location engine 5130 to locate a rogue device that may present a possible security problem.
  • the spectrum expert 5140 is a process that optimizes operation of devices operating in the frequency band, given knowledge about the activity in the frequency band obtained by the measurement and classification engines.
  • the spectrum expert 5140 processes data from the SAGE 10 and optionally statistics from a particular wireless network operating in the frequency band, such as an IEEE 802.1 lx network, in order to make recommendations to adjust parameters of a device, or to automatically perform those adjustments in a device.
  • the spectrum expert 5140 may be a software program that is executed, for example, by a network management station. Parameters that can be adjusted
  • the spectrum expert 5140 may operate on triggers for alert conditions in the frequency band, such as detection of a signal that interferes with the operation of a device or network of devices operating in the frequency band, to automatically report an alert, and/or adjust a parameter in a device in response thereto.
  • the spectrum expert 5140 may operate to control or suggest controls for a single WLAN AP.
  • the NSI 5150 may be fransport independent (e.g., supports Sockets, SNMP,
  • the higher level application services 5200 may include software and systems that perform broader analysis of activity in a frequency band, such as managing multiple WLANs, managing a WLAN associated with one or more wireless LANs, network security for both wired and wireless LANs, etc. These applications may call upon the services of any one or more ofthe software processes shown on the other side of the NSI 5150. For example, there may be a network expert 5210, security services 5220, location services 5230, user interfaces
  • the network management application 5260 may be executed by the network management station 1090 that is located in a central monitoring or control center
  • a security application use ofthe SAGE 10 is to identify a particular device for security pu ⁇ oses based on its pulse signature.
  • a network management system may manage a wireless network, such as an IEEE 802.11 network. Security ofthe wireless network is one function ofthe network management system. Each device authorized to operate in the wireless network may be assigned an address used to associate and operate in the network.
  • An IEEE 802.11 access point may also require authorization to operate.
  • a device goes active in the wireless network, whether it is a station (STA) or AP, its pulse characteristics are captured when it transmits (by a device operating in the network having a SAGE 10) to verify whether it is an authorized device (i.e., not a fraudulent device masquerading as an authorized device).
  • STA station
  • AP access point
  • the network management system may store a database of pulse characteristics against addresses (e.g., MAC addresses or IP addresses) for each device. When a device transmits, it will inevitably include an address that is recognized by an AP in the network.
  • the pulse characteristics (captured by a SAGE enabled device, such as an AP operating in the band) associated with a signal transmitted by a device on an address are compared to the data in the database for that address. If there is a substantial match, the device is said to be authorized. If there is not a match, the device is declared to be unauthorized and steps can be taken to investigate that device further.
  • the NSI 70 may be embodied by instructions stored on a computer/processor readable medium and executed by the processor
  • server 1055 or network management station 1090 that executes the one or more application program or systems.
  • this processor would execute instructions for an NSI "client” function that generates the request and configurations for spectrum analysis functions and receives the resulting data for the application program.
  • the processors) that execute(s) the measurement engine, classification engine, location engine and/or spectrum expert will execute instructions stored on an associated computer/processor readable medium (shown in FIGs. 20-22) to execute an NSI "server” function that responds to requests from the NSI client to generate configuration parameters and initiate spectrum analysis functions by the measurement engine, classification engine, location engine and/or spectrum expert to perform the requested spectrum analysis function and return the resulting data.
  • the measurement engine may in turn generate confrols for the SAGE drivers 5000 to configure the SAGE 10 and/or radio 600.
  • classification engine, location engine and spectrum expert can be viewed as a client to the measurement engine and would generate requests to, and receive data from, the measurement engine similar to the manner in which an application program would interact with the measurement engine.
  • spectrum expert can be viewed as a client to the classification engine and location engine and request analysis services of those engines.
  • the NSI 5150 may be transport independent (e.g., supports Sockets, SNMP, RMON, etc.) and may be designed for implementation in a wired or wireless format, such as by TCP/IP traffic from an 802.11 AP to a PC which is running software designed to accept the traffic for further analysis and processing.
  • the TCP/IP traffic (or traffic using some other network protocol) could also be carried by a PCI bus inside a laptop PC, provided the PC has built-in 802.11 technology, or an 802.11 NIC. If the source ofthe spectrum information data stream is a TCP/IP connection, the application program would implement a socket, and access the correct port, to read the data stream.
  • a sample of typical code for this pu ⁇ ose is shown below. (The sample is in Java, and shows client-side code.) Once the port connection to the data stream is established, the use ofthe data stream is determined by the network management software itself.
  • the class DatalnputStream has methods such as read.
  • the class DataOutputStream allows one to write Java primitive data types; one of its methods is writeBytes. These methods can be used to read data from, and write data to, the NSI 5150.
  • the information provided by the NSI to an application program corresponds to data generated by the measurement engine 5100 (through the SAGE), classification engine 5120, location engine 5130, and/or the spectrum expert 5140.
  • the NSI In acting as the API, the NSI has a first group of messages that identify (and initiate) the spectrum analysis function (also called a service or test) to be performed and provide configuration information for the function. These are called session control messages and are sent by the application program to the NSI. There is a second group of messages, called informational messages, that are sent by the NSI (after the requested spectrum analysis functions are performed) to the application program containing the test data of interest.
  • the spectrum analysis function also called a service or test
  • Most ofthe spectrum analysis functions i.e., tests have various configuration parameters, which are sent via session control messages, and which determine specific details ofthe test. For example, in monitoring the spectrum, session control messages tell the NSI how wide the bandwidth should be (narrowband or wideband), and the center frequency of the bandwidth being monitored. In many cases, detailed test configuration parameters for a spectrum analysis function can be omitted from the session control messages. In those cases, the NSI uses default settings.
  • Examples of spectrum analysis functions that the measurement engine 5100 (in conjunction with the services ofthe SAGE 10) may perform, and the resulting data that is returned, include:
  • Pulse Event Data This data describes characteristics on individual RF pulses detected by the SAGE 10. The characteristics for (and thus the types of pulses) detected by the SAGE 10 can be configured.
  • Pulse Histogram Data This data describes the distribution of pulses per unit of time, in terms ofthe percentage of pulses distributed among different frequencies, energy levels, and bandwidths.
  • Snapshot Data This data contain portions of raw digital data ofthe RF spectrum captured by the snapshot buffer ofthe SAGE 10. The data can help identify the location of devices, and can also be used to extract identifier information which can determine the brand of certain devices operating in the frequency band, for example. Snapshot data may also be useful for signal classification.
  • the classification engine 5120 may perform spectrum analysis functions to determine and classify the types of signals occurring in the frequency band, and together with optional recommendation or descriptive information that may be provided by the classification engine or spectrum expert 5140, the resulting data that is returned are called spectrum event data, which describe specific events, such as detecting a particular signal type as going active or inactive in the frequency band.
  • the spectrum expert 5140, as well as the network expert 5120 and other applications or processes may use the output ofthe classification engine 5120. There are numerous ways to format the NSI messages to provide the desired
  • API functionality in connection with the spectrum analysis functions.
  • the following are examples of message formats that are provided for the sake of completeness, but it should be understood that other API message formats may be used to provide the same type of interface between an application program and spectrum analysis functions pertaining to activity in a frequency band where signals of multiple types maybe simultaneously occurring.
  • a common message header may be used by both session control messages and information messages.
  • the common header called the sml StdHdr_t header, comes at the very beginning of all messages and provides certain general identifying information for the message.
  • An example ofthe general format ofthe common header is explained in the table below.
  • Informational messages are started with two headers: the common header (smlStdHdr t), followed by the Info Header (smllnfoHdrJ).
  • the smllnfoHdrJ header provides specific identifying parameters for information messages:
  • the SAGE 10 will analyze a frequency band centered at a frequency which may be controlled. Moreover, the bandwidth ofthe frequency band analyzed may be controlled. For example, a portion, such as 20 MHz (narrowband mode), of an entire frequency band may be analyzed, or substantially an entire frequency band may be analyzed, such as 100 MHz (wideband mode).
  • the selected frequency band is divided into a plurality of frequency "bins" (e.g., 256 bins), or adjacent frequency sub-bands. For each bin, and for each sample time interval, a report is made from the output ofthe SAGE 10 on the power detected within that bin as measured in dBm.
  • the measurement engine 5100 supplies the configuration parameters to the SAGE drivers 15 and accumulates the output ofthe SAGE 10 (FIG. 1).
  • FIG. 24 illustrates a graph that may be created from power measurements taken at a given time interval.
  • the vertical bars do not represent the distinct frequency bins.
  • the lower line represents a direct graph ofthe data in a single snapshot ofthe spectrum at a given instant in time. It corresponds to the data in one, single sapfLisfEntries field, described below.
  • a spectrum analysis message may contain multiple sapfListEntries fields; each such field corresponding to a single snapshot ofthe spectrum.
  • the upper jagged line was constructed by a software application. It represents the peak values seen in the RF spectrum over the entire testing period to the present instant.
  • the msgType is 46 to identify the message as an informational message
  • the sessType is 10 (SM L1 SESS SAPF) to identify that data results from a session that is a spectrum analyzer power vs. frequency test.
  • the field below is the standard information header for spectrum analyzer power vs. frequency data.
  • the radio receiver being used to monitor the bandwidth need not actually span the full bandwidth. As a result, some ofthe frequency bins at either end ofthe spectrum will typically show zero (0) RF power.
  • the sapfListEntries field explained below contains the information of primary interest, namely, the power level in dBm for each ofthe frequency bins.
  • the spectrum analyzer statistics data/messages provide a statistical analysis ofthe data in the frequency spectrum.
  • a single message is built from a specified number of FFT cycles, where a single FFT cycle represents an, e.g., 256 frequency bin output ofthe FFT. For example, 40,000 successive FFTs ofthe RF spectrum, taken over a total time of 1/10 of a second, are used to construct the statistics for a single message.
  • FIG. 25 shows the kind of information that can be conveyed in the spectrum analyzer statistics data.
  • the bottom line shows the average power over the sampling period (i.e., over the 40,000 FFTs, or 1/10 second).
  • the top line represents the "absolute maximum power" over all spectrum analyzer statistics messages received so far.
  • This message header smlSaStatsMsgHdrJ field contains parameters which describe the sampling process, examples of which are below.
  • statsBins there are, for example, 256 consecutive statsBins, each with four sub-fields as shown in the table below.
  • Each statsBin, with its four subfields, contains the statistical data for a particular bandwidth.
  • binWidth smlSaStatsMsgHdrJ. bwkHz / 256
  • the lower and upper bandwidth for each bin is giving by the following formulas:
  • the bins may be viewed as being indexed consecutively, from 0 to 9. For each bin, the value in the bin should be inte ⁇ reted as follows. In the Nth bin, if the value in the bin is X, then for (X/2)% ofthe time, there were N peaks in the RF spectrum during the sampling period, except for the special case below for the 10th bin, called bin 9.
  • peaks are spikes, or very brief energy bursts in the RF spectrum. If a burst persists for a certain period of time (e.g., approximately 2.5 ⁇ sec), the SAGE 10 will detect the peak, and the peak will be included in the statistics described in this subsection. Such brief peaks are generally not included in pulse data or pulse statistics. Also as described above, if a series of consecutive peaks are seen over a continuous time period, all at the same frequency, this series — once it reaches some minimum time threshold — it will be counted as a pulse. FIG. 25 also shows how the number of peaks may be displayed associated with activity in the frequency band.
  • the exact minimum duration of a pulse, for testing pu ⁇ oses, is configurable by the application program, but a typical time may be 100 ⁇ sec. Since the SAGE lOcan detect RF events as brief as 2.5 ⁇ sec, a typical pulse would need to persist through at least 40 FFTs before being acknowledged as being a pulse.
  • a signal pulse is a sustained emission of RF energy in a specific bandwidth starting at a specific time.
  • the SAGE 10 detects pulses in the radio frequency band that satisfy certain configurable characteristics (e.g., ranges) for bandwidth, center frequency, duration and time between pulses (also referred to as "pulse gap").
  • certain configurable characteristics e.g., ranges
  • center frequency e.g., center frequency
  • duration e.g., duration
  • time between pulses also referred to as "pulse gap”
  • Center Frequency The center frequency of the pulse.
  • PEVT pulse event
  • This information header field is the standard information header for pulse event messages.
  • pulse histogram data While it is possible to access information about individual pulses, it may also be useful to work with the statistical information about pulses detected and occurring in the frequency band over time. That information is provided by pulse histogram data.
  • the pulse histograms track distributions of: duration ofthe pulses (the percentage of pulses with short, medium, and long durations); gaps in time between the pulses (the percentage of pulses with short time gaps between them, medium time gaps, and long time gaps); bandwidth of pulses; frequency of pulses; and power of pulses.
  • FIG. 26 illustrates graphical displays for exemplary pulse histograms.
  • This PhistMsgHdr field describes the frequency spectrum which is being monitored, and some other parameters ofthe overall sampling process.
  • the pulse duration histogram fields contain a series of bytes. Each ofthe data bytes, or bins — in sequence — indicates the percentage (multiplied by two) of pulses that fall into a given range of durations.
  • the table below categorizes data into smallBins, mediumBins, and largeBins and are only examples of how to track pulse duration.
  • the first bin (bin 0) contains the percentage (x2) of pulses that were between 0 ⁇ sec and 9 ⁇ sec.
  • the second bin (bin 1) contains the percentage, multiplied by 2, of pulses that were between 10 ⁇ sec and 19 ⁇ sec in duration. Each of these "bins" is 10 ⁇ sec wide. This continues up to the 20th bin (bin 19), whose value is the percentage, multiplied times 2, of pulses that were between 190 and 199 ⁇ sec in length.
  • the next twenty-six bins are similar, except they are wider; specifically, they are 50 ⁇ sec wide.
  • Bin 20 has a value which indicates the percentage (x2) of pulses that were between 200 ⁇ sec and 249 ⁇ sec in length. Again, there are twenty-six bins which are 50 ⁇ sec wide.
  • Bin number 45 has a value which indicates the percentage (times 2) of pulses that were between 1450 ⁇ sec and 1499 ⁇ sec in length.
  • the final set of 27 bins each indicate the percentage (x2) of pulses that are wider still, specifically 500 ⁇ sec wide.
  • Bin number 46 includes pulses whose duration was between 1500 ⁇ sec and 1999 ⁇ sec in length.
  • Bin 72 includes pulses whose duration was between 14499 and 14999 ⁇ sec. Pulse Duration Histogram Bins
  • the pulse gap histogram indicates the percentage (multiplied by two) of gaps between pulses, where the duration ofthe gap falls within a given time range.
  • Each bin contains the percentage (x2) of gaps whose duration fell within a 500 ⁇ sec range. Gaps whose duration was between 2500 ⁇ sec to 2999 ⁇ sec are reflected in the first bin; each consecutive bin increases the duration by 5000 ⁇ sec.
  • the final bin which is the 27th bin ofthe largeBins, the 73rd bin overall, numbered as bin 72 — covers gaps with widths between 14499 to 14999 ⁇ sec.
  • each data bin reflects a progressively wider bandwidth. For example, if the first bin represents pulses from 0 to 9.999 kHz in width, then the second bin represents pulses from 10 kHz to 19.999 kHz, the third bin pulses from 20 kHz to 29.999 kHz in width, etc.
  • the value stored in the bin is the percentage (x2) ofthe pulses that had a bandwidth somewhere within the indicated range. For example, assume the size of each bin is 80 kHz. Suppose also that the SAGE 10 detected 1000 pulses and there are 256 frequency bins. The pulses with a bandwidth between 0 and 20,480 kHz.
  • the bandwidth bins may have exactly the same width. For example, if the first bin is 80 kHz wide (and includes data for pulses with bandwidths from 0 to 79.999 kHz), then all successive bins will be 80 kHz wide.
  • the second bin includes pulses from 80 kHz to 159.999 kHz; and the 256th bin— still 80 kHz wide— includes pulses with bandwidths from 20,400 kHz to 20,479.999 kHz.
  • each data bin reflects a range of frequencies.
  • the value stored in the bin is the percentage, multiplied times two, of the pulses whose center frequency fell within the indicated range of frequencies. All frequency bins may be exactly the same width. However, in general, the lowest bin (byte number 0) does not start with the frequency 0 Hz.
  • the pulse histogram message header (PhistMsgHdr J) has a sub-field histCenterFreqkHz, which is measure in kHz. This field defines the center frequency for the pulse center frequency histogram.
  • the following formulae give the actual frequency range covered by each bin of this histogram, indicating both the low frequency and the high frequency of the range.
  • the number N is the bin number, where bin numbers are counted from freqBins 0 to freqBins 255:
  • each bin in kHz, is 100 kHz, and that the bandwidth is 2.4 GHz. Frequencies are actually being monitored in the range from 2,387,200 kHz to 2,412,800 kHz..
  • the field structure for the pulse center frequency histogram is indicated in the table below.
  • each bin reflects a certain power range, measured in dBm.
  • the value of each bin reflects the percentage (x2) of those pulses whose power level fell within the indicated range.
  • Snapshot data unlike other data provided by the NSI, is not based on data analysis by the SAGE or software. Rather, this data provide raw data from the ADC which precedes the SAGE and that converts the received signal analog signal to digital data.
  • the raw ADC data may be expressed in n-bit I/Q format, where 'n' is indicated by 'bitsPerSample'.
  • the snapshot samples can be used for location measurements, or for detailed pulse classification (such as identifying the exact model of a device).
  • the size ofthe sample data contained in 'snapshotSamples' is typically 8 K bytes.
  • the overall structure ofthe message is shown in the following table.
  • snapshot message smSnapshotMsgJ field An example of a snapshot message smSnapshotMsgJ field is defined below.
  • the msgType for spectrum event data is 46 and the sessType is 14 (SM_L1_SESS_EVENT).
  • a format for the smEventMsgJ spectrum event message field is described in the table below.
  • EventMsg This is a brief character string message, null terminated, which identifies the event that caused the message. For example, it may say "Microwave oven has started", or "Cordless phone”. The content ofthe message is essentially redundant with the Eventld (above), except that it provides text instead of a numeric identifier.
  • EventDescription The event description will typically contain more detailed information, and will often include advisory and/or recommendation information as to how to resolve interference or other situation caused by the event source.
  • EventDetail The event detail will generally include pertinent technical parameters, such as power levels or frequency bandwidth associated with the event. Newline characters delimit individual lines.
  • Typical information elements provide data such as the SAGE configuration data, radio configuration data, and service specific data (e.g., pulse data, spectrum data, etc.). Examples of NSI information elements are provided in the table below:
  • the network management software would be coded with the expectation of specific data structures for each ofthe session confrol messages. Any time the session control messages were changed or enhanced, changes would be required in the code for the network management software, and the code would need to be recompiled.
  • Session control messages are processed as follows.
  • the requesting software or system reads the message header, and determines what kind of message it is receiving.
  • Additional information elements may be added to some ofthe session control messages. However, during the "looping" process the requesting software ignores any information elements which are not of interest to it, so the additional information elements in the control messages do not require any changes in the software code. Of course, it may be desirable to upgrade a software program to take advantage of additional types of information; but again, until that new software is in place, existing software continues to function.
  • the software program can send an information element which fine-tunes the behavior ofthe SAGE.
  • SAGE's default operating modes are satisfactory, and there is no need to make changes.
  • this information element can simply be omitted.
  • a handshaking type protocol may be used to setup, initiate and terminate a session between the application and the NSI.
  • the NSI responds with messages indicating that the test has started successfully; that it was rejected; or that the test is pending (the test is queued behind other requests for the same service).
  • the four possible session control reply messages are Started, Pending, Rejected, and Stop.
  • This field may come first.
  • the sessType value of 12 is used
  • a sessType value of 13 is used
  • a spectrum analyzer power vs. frequency test a sessType value of 10 is used, etc.
  • An optional common session configuration information element This configures parameters which are of interest for all the possible tests, described below.
  • An optional, vendor-specific information element typically (but not necessarily) related to further configurations to the radio.
  • An optional session-type specific information element with configuration information for the particular test (PEVT, PHIST, SAPF, etc.).
  • the general/common session configuration element IE_Session_CFG is optional when starting tests, i.e., with SESS_START_REQ. If it is not sent, the default values are used.
  • Sub-Field Name Description infoElementType IE SESSION CFG 2 infoElemenfBody pendingTimeout Number of milliseconds before "START" times out.
  • a Ms value of '0' (default) indicates that the START request should NOT be queued (that is, no SESS_PENDING_RSP, or session pending response, is allowed).
  • configStopFlags This field has an Offset of 8 / 36; it has a size of 4 bytes.
  • OxFFFFFFFF Use Default Value (depends on service type, see sub-table below)
  • SAPF Spectrum Analyzer vs. Power Frequency
  • Flags can be combined. For example, 0x00000003 flags both SAGE and Radio Config
  • the radio is configured to a starting bandwidth (either 2.4 GHz or one of the 5 GHz bands, for example) before the NSI can begin any testing.
  • a starting bandwidth either 2.4 GHz or one of the 5 GHz bands, for example
  • pulse test services at least one (if not more) of SAGE's four pulse detectors need to be configured at least once. These services include Pulse Events, Pulse Histograms, Snapshot Data, and Spectrum Analyzer Power vs. Frequency (but only if this test is to be triggered by pulse events). Once the pulse detectors are configured, they can be left in their initial configuration for subsequent tests, although the application program can reconfigure them.
  • the radio configuration element IE_Radio_CFG is described in the table below. It is used to fine-tune the performance of the radio. If the information element is not sent as part ofthe message, the radio is configured to the default values.
  • the SAGE configuration information element IE SAGE CFG is optional. It fine-tunes the performance ofthe SAGE 10. If the information element is not sent as part ofthe message, the SAGE 10 is configured to the default values.
  • An example ofthe SAGE configuration element is set forth below.
  • the IE_VENDOR_CFG information element contains vendor specific configuration information. Typically this is a configuration that is specific to the particular radio in use.
  • the NSI provides a pulse detector configuration element (IE PD CFG) which is used to configure the pulse detectors. This element must be used the first time the pulse detectors are configured. It is also used if and when the pulse detectors are reconfigured (which may be infrequent).
  • IE PEVT CFG pulse events test configuration element
  • Configuring the pulse detectors involves selecting which pulse detector(s) to use for a test. It also involves providing parameters which indicate the kind of signal pulse (for example, ranges for signal power, pulse duration, pulse center frequency, etc.) will, in fact, be inte ⁇ reted as being a pulse. There are a variety of options when dealing with pulse detectors:
  • the header field will first be sent with a particular msgType. This will be followed by the pulse detector configuration element, IE PD CFG, described in the table below. (Other information elements may be included in the message as well.) Pulse detectors are selected using PD ID sub- field values from 0 to 3. These do not correspond to physical pulse detectors; rather, they are a logical reference to a pulse detector that is used by that transport connection supporting the sessions.
  • the field bwThreshDbm takes a signed dBm value that helps determine which RF signals will be counted as pulses.
  • a pulse is defined by a series of time- contiguous, and bandwidth continuous "peaks", or brief spikes, which determine the overall bandwidth ofthe pulse (thus the reference to "bandwidth threshold”).
  • a “peak floor” is established to determine which spikes of radio energy qualify as a valid “peak”. Energy spikes below this "peak floor” do not qualify, whereas those above the "peak floor” do qualify.
  • the bwThreshDbm parameter determines the "peak floor" based on whether 'bwThreshDbm' is positive or negative: If bwThreshDbm is negative (ex : -65 dBm), then the peak floor is the same as the value of bwThreshDbm.
  • peak floor dBm noise floor dBm + bwThreshDbm.
  • the noise floor based mechanism (bwThreshDbm is positive) is used almost exclusively because it responds well to changes in the radio spectrum environment.
  • This following short pulse profile is suitable for detecting short pulse frequency hoppers, such as BluetoothTM headsets and many cordless phones.
  • the following long pulse profile is suitable for detecting long pulses output by Microwave Ovens and television transmissions (infant monitors, surveillance cameras, X-10 cameras, etc.).
  • the pulse detectors Before running a pulse histogram test for the first time, the pulse detectors need to be configured. This is done by first running a pulse event test, described above. A session control message is sent containing a header field with a sessType value of '13'. That is followed by the optional information elements, as shown in the table below detailing the optional pulse histogram test configuration element (IE PHIST CFG). If it is not sent, the default values (shown in the table) are used.
  • IE PHIST CFG optional pulse histogram test configuration element
  • the spectrum analyzer power vs. frequency test is started by sending a session control message containing a header field with a sessType value of '10'; that is followed by the optional information elements, as shown below.
  • the spectrum analyzer statistics test is started by send a session confrol message containing a header field with a sessType value of '11 '. That is followed by the optional information elements, as described below.
  • the field pwrThreshDbm takes a signed dBm value that helps determine the minimum power level for the "duty cycle” and the "peak count.”
  • the pwrThreshDbm parameter determines the "floor”, or minimum energy level for these measurements, based on whether pwrThreshDbm is positive or negative:
  • pwrThreshDbm is negative (e.g., : -65 dBm)
  • the floor is the same as the value of pwrThreshDbm.
  • pwrThreshDbm is positive (e.g., : 24 dBm)
  • a noise floor based mechanism (pwrThreshDbm is positive) is used almost exclusively because it responds well to changes in the radio spectrum environment.
  • the spectrum event data test is started by sending a message containing a header field with a sessType value of '14'.
  • the snapshot message test is started by sending a message containing a header field with a sessType value of '17', followed by the optional configuration elements.
  • the optional snapshot message configuration element (IE_SNAP_CFG) follows. If it is not sent, default values are used for the test.
  • the NSI may reply to test start messages to inform the requesting software application ofthe status ofthe test, and the ability ofthe underlying applications to deliver data for the requested tests. It is also possible to stop a test that has been requested.
  • the table below summarizes the session control status messages which may be sent via the NSI.
  • FIGs. 24-27 illustrate exemplary screens to display spectrum activity information.
  • An exemplary graphs panel consists ofthe graphs or plots on the right ofthe screen and plot type on the left tree view. When the tree view is opened and any plot type is clicked, the corresponding plot will be added and displayed on the right side. Any plot on the right side ofthe screen can be removed by clicking on the close icon on the plot. As soon as the "Start" button is hit and data is available on the socket the spectrum analyzer plots will be plotted. If the "Stop” button is pressed the plotting action is disabled and the spectrum analyzer plots will no longer be updated with incoming data. The spectrum activity information is displayed on the spectrum analyzer graphs, pulse histograms and pulse plots.
  • the spectrum analyzer graph in FIG. 24 contains spectrum analyzer power vs. frequency information, described above.
  • the spectrum analyzer stats are shown in FIG. 25 and include the spectrum analyzer stats graph, the duty cycle graph, and number of peaks bar chart.
  • This SA stats graph displays statistical data on the frequency spectrum. It is based on spectrum messages, where a single message is built from a specific number of successive FFT cycles. Typically, 40,000 successive FFTs ofthe RF spectrum, taken over a total time of 1/10 of a second, are used to construct the statistics for a single message. A first line shows the average power over the sampling period (i.e., over the 40,000 FFTs, or 1/10 second).
  • a second line which can change rapidly from 1/10 of a second to the next, represents the "maximum power per single sampling period.” It shows the maximum power achieved in each of 256 frequency bins, during the 1/10 second sampling period.
  • a third line represents the "absolute maximum power" over all messages received so far.
  • the Duty Cycle graph shows the percentage of the time that, for a given frequency, the power in the RF spectrum is above a specified threshold.
  • the Number of Peaks chart shows the percentage of time that there are "N" peaks in the RF spectrum. For example, if the "0" bar is hovering around 50%, then 50% ofthe time there are no peaks at all. If the "1" bar is hovering at around 20%, then 20% ofthe time there is just 1 peak in the RF spectrum. If the "2" bar hovers at 5%, then 5% ofthe time SAGE is detecting 2 peaks in the RF spectrum. (The “9” bar is a special case: If the "9” bar is hovering at, say, 3%, then 3% ofthe time SAGE is seeing 9 or more peaks in the RF spectrum.
  • FIG. 26 shows exemplary pulse histogram plots for center frequency, bandwidth, pulse duration, pulse gap, pulse power and pulse count.
  • Center Frequency shows the distribution ofthe central frequencies ofthe pulses.
  • the graph spans a bandwidth of 100 MHz.
  • the actual cenfral frequency is determined by combining the central frequency shown on the graph with the overall RF center frequency (2.4 GHz). Also, both ends ofthe graph are typically flat, since the actual bandwidth captured by the radio is 83 MHz.
  • Bandwidth shows the distribution ofthe bandwidths ofthe pulses.
  • Pulse Duration shows the distribution ofthe duration ofthe pulses. For example, a peak at around 200 ⁇ sec indicates that many ofthe pulses persist for about 200 ⁇ sec.
  • Pulse Gap shows the distribution ofthe gap times. A peak at about 1500 ⁇ sec indicates that many ofthe pulses are separated in time by gaps that are about
  • Pulse Power indicates the distribution ofthe power ofthe pulses.
  • Pulse Count indicates, on a logarithmic scale, the number of pulse events counted per sample interval. Colors may be used indicate that the number of pulses poses little risk, some risk, or significant risk, for example, to a particular type of communications occurring in the radio frequency band, such as 802.11 communications.
  • FIG. 27 shows a pulse chart/plot for various pulses detected in the frequency band.
  • the GUI application will capture the pulses and display them on the pulse chart.
  • Each pulse is defined in three dimensions and presents a single dot for each pulse. It is intended to show the time at which each pulse occurred (horizontal axis), the center frequency
  • a zooming action can be performed by dragging the mouse on a specified area in the plot below the area to be zoomed, in order to magnify that area.
  • Step 6000 represents a software application sending to the NSI a start message.
  • the message includes a message header with a particular msgType value that indicates it is a start message and a sessType value to indicate that it is a pulse event test. If it is the first message request sent, the start message includes either the IE_Radio_CFG element, or the IE_VENDOR_CFG element. Two IE_PD_CFG elements are sent to configure pulse detector 0 to detect short pulses and pulse detector 1 to detector long pulses.
  • a pulse event information element IE PEVT CFG is also sent to indicate which ofthe configured pulse detectors to use.
  • the applicable data from the SAGE is generated and made available to the NSI.
  • the NSI replies with a message confirming that the service was started and the status ofthe service in process.
  • a series of informational messages are sent with data. Each message includes indicates that it is an informational message and includes one or more ofthe ClassPevt fields which hold the actual data that described the measured properties of pulses that are detected within the configured parameters. Further information messages are sent as shown at step 6030.
  • a method for generating information pertaining to activity occurring in a radio frequency band, comprising steps of receiving energy in the radio frequency band in which activity associated with a plurality of signal types may occur; and generating spectrum activity information for activity in the radio frequency band from the received radio frequency energy.
  • a device is provided for generating information pertaining to activity occurring in a radio frequency band, comprising a spectrum analyzer that computes power values for radio frequency energy received in at least part ofthe radio frequency band for a time interval; and a signal detector coupled to the spectrum analyzer that detects signal pulses of radio frequency energy that meet one or more characteristics.
  • a processor readable medium is provided that is encoded with instructions that, executed by a processor, cause the processor to perform steps of computing power spectral information for radio frequency energy received during a time interval in at least part of a radio frequency band in which activity associated with a plurality of signal types may occur; and detecting from the power spectral information signal pulses of radio frequency energy that have meet one or more characteristics.
  • a system is provided that monitors activity in a radio frequency band where signals of multiple types may be occurring, comprising a process for analyzing radio frequency energy occurring in the radio frequency band and accumulating data associated with activity in the radio frequency band, wherein the process is responsive to a request containing parameters associated with spectrum analysis to be performed by the process.
  • a system that monitors activity in a radio frequency band where signals of multiple types may be occurring, comprising a process that generates spectrum activity information for activity in the radio frequency band based on received radio frequency energy from the radio frequency band; an application program that processes spectrum activity information pertaining to activity in the radio frequency band; and an application programming interface that presents messages the process and returns spectrum activity information to the application program.

Abstract

L'analyse concerne un moteur d'analyse spectrale en temps réel (SAGE) (10) qui comprend un composant analyseur (100) de spectre, un composant détecteur (200) de signaux, un composant synchronisateur (400) de signaux universel et un composant tampon (300) sélectif. Le composant analyseur de spectre génère des données qui représentent un spectrogramme d'une largeur de bande de spectre des fréquences radioélectriques (RF). Le détecteur de signaux détecte des impulsions de signaux dans la bande de fréquence et sort le résultat des entrées des informations sur les événements des impulsions, qui comportent notamment l'heure de démarrage, la durée, la puissance, la fréquence centrale et la largeur de bande de chaque impulsion détectée. Le détecteur de signaux donne également des sorties de déclenchement susceptibles d'être utilisées pour activer/désactiver la collection d'informations par les composants analyseur de spectre et tampon sélectif. Le tampon sélectif recueille un ensemble d'échantillons de signaux numériques bruts pouvant être utilisé pour classer les signaux, mais aussi à d'autres fins. Le synchronisateur de signaux universel se synchronise avec des sources de signaux périodiques, ce qui permet d'établir des programmes destinés à éviter des interférences avec ces signaux.
PCT/US2003/012376 2002-04-22 2003-04-22 Systeme et procede d'analyse spectrale en temps reel WO2003090387A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2003234166A AU2003234166A1 (en) 2002-04-22 2003-04-22 System and method for real-time spectrum analysis

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US60/374,365 2002-04-22
US60/380,890 2002-05-16
US60/319,435 2002-07-30
US60/319,542 2002-09-11
US10/246,365 2002-09-18
US10/246,365 US6714605B2 (en) 2002-04-22 2002-09-18 System and method for real-time spectrum analysis in a communication device
US60/319,714 2002-11-20
US60/453,385 2003-03-10
US60/320,008 2003-03-14

Publications (1)

Publication Number Publication Date
WO2003090387A1 true WO2003090387A1 (fr) 2003-10-30

Family

ID=29250285

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2003/012376 WO2003090387A1 (fr) 2002-04-22 2003-04-22 Systeme et procede d'analyse spectrale en temps reel

Country Status (1)

Country Link
WO (1) WO2003090387A1 (fr)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2424636C2 (ru) * 2006-01-17 2011-07-20 Конинклейке Филипс Электроникс, Н.В. Способы и системы для синхронизации перекрывающихся беспроводных систем
CN113626540A (zh) * 2021-08-26 2021-11-09 深圳市科立讯数据技术有限公司 超短波无线电信号监测数据分析系统
CN117768013A (zh) * 2024-02-22 2024-03-26 成都戎星科技有限公司 一种卫星地面站链路的智能运维系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4839582A (en) * 1987-07-01 1989-06-13 Anritsu Corporation Signal analyzer apparatus with automatic frequency measuring function
US5706202A (en) * 1995-03-08 1998-01-06 Anritsu Corporation Frequency spectrum analyzing apparatus and transmitter characteristics measuring apparatus using the same
US5808463A (en) * 1995-11-15 1998-09-15 Advantest Corporation Method and apparatus for measuring adjacent channel power using complex fourier transform
US6512788B1 (en) * 1998-11-02 2003-01-28 Agilent Technologies, Inc. RF output spectrum measurement analyzer and method
US20030067662A1 (en) * 2001-10-09 2003-04-10 Tony M. Brewer Fast decision threshold controller for burst-mode receiver

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4839582A (en) * 1987-07-01 1989-06-13 Anritsu Corporation Signal analyzer apparatus with automatic frequency measuring function
US5706202A (en) * 1995-03-08 1998-01-06 Anritsu Corporation Frequency spectrum analyzing apparatus and transmitter characteristics measuring apparatus using the same
US5808463A (en) * 1995-11-15 1998-09-15 Advantest Corporation Method and apparatus for measuring adjacent channel power using complex fourier transform
US6512788B1 (en) * 1998-11-02 2003-01-28 Agilent Technologies, Inc. RF output spectrum measurement analyzer and method
US20030067662A1 (en) * 2001-10-09 2003-04-10 Tony M. Brewer Fast decision threshold controller for burst-mode receiver

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2424636C2 (ru) * 2006-01-17 2011-07-20 Конинклейке Филипс Электроникс, Н.В. Способы и системы для синхронизации перекрывающихся беспроводных систем
CN113626540A (zh) * 2021-08-26 2021-11-09 深圳市科立讯数据技术有限公司 超短波无线电信号监测数据分析系统
CN113626540B (zh) * 2021-08-26 2024-04-12 深圳市科立讯数据技术有限公司 超短波无线电信号监测数据分析系统
CN117768013A (zh) * 2024-02-22 2024-03-26 成都戎星科技有限公司 一种卫星地面站链路的智能运维系统
CN117768013B (zh) * 2024-02-22 2024-05-03 成都戎星科技有限公司 一种卫星地面站链路的智能运维系统

Similar Documents

Publication Publication Date Title
US7254191B2 (en) System and method for real-time spectrum analysis in a radio device
US7292656B2 (en) Signal pulse detection scheme for use in real-time spectrum analysis
US6714605B2 (en) System and method for real-time spectrum analysis in a communication device
US7171161B2 (en) System and method for classifying signals using timing templates, power templates and other techniques
US7116943B2 (en) System and method for classifying signals occuring in a frequency band
EP1502369B1 (fr) Appareil et procede de gestion de bande de frequence partagee
US7424268B2 (en) System and method for management of a shared frequency band
US7408907B2 (en) System and method for management of a shared frequency band using client-specific management techniques
US7664465B2 (en) Robust coexistence service for mitigating wireless network interference
US7460837B2 (en) User interface and time-shifted presentation of data in a system that monitors activity in a shared radio frequency band
US7142108B2 (en) System and method for monitoring and enforcing a restricted wireless zone
US7269151B2 (en) System and method for spectrum management of a shared frequency band
US7444145B2 (en) Automated real-time site survey in a shared frequency band environment
US9456366B2 (en) Alert-triggered recording of spectrum data
US8111783B2 (en) Capturing and using radio events
US20060178145A1 (en) Monitoring for radio frequency activity violations in a licensed frequency band
US20070173199A1 (en) Systems and methods for wireless intrusion detection using spectral analysis
JP2005523616A5 (fr)
US20070223525A1 (en) Transmission of packets in a csma wireless network
WO2003090387A1 (fr) Systeme et procede d'analyse spectrale en temps reel
Lakshminarayanan et al. Wimed: An infrastructure-less approach to wireless diagnosis
Feghhi et al. WiFo: A diagnostic tool for IEEE 802.11 MAC
Liu et al. CR-GRT: A Novel SDR Platform Optimized for Real-time Cognitive Radio Applications

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP