# Patent

## Title
Systems, methods, and devices for electronic spectrum management

## Abstract

Systems, methods, and devices enable spectrum management by identifying, classifying, and cataloging signals of interest based on radio frequency measurements. In an embodiment, signals and the parameters of the signals may be identified and indications of available frequencies may be presented to a user. In another embodiment, the protocols of signals may also be identified. In a further embodiment, the modulation of signals, data types carried by the signals, and estimated signal origins may be identified.

## Background
CROSS REFERENCE TO RELATED APPLICATIONS
This application is a continuation of U.S. application Ser. No. 14/082,930 entitled “Systems, methods, and devices for electronic spectrum management” filed Nov. 18, 2013, which is a continuation of U.S. application Ser. No. 13/913,013 entitled “Systems, Methods, and Devices for Electronic Spectrum Management” filed Jun. 7, 2013, which claims the benefit of priority to U.S. Provisional Patent Application No. 61/789,758 entitled “System and Method for Electronic Spectrum Management” filed Mar. 15, 2013, each of which are hereby incorporated by reference in their entirety.


BACKGROUND OF THE INVENTION
A problem faced in effective spectrum management is the various numbers of devices emanating wireless signal propagations at different frequencies and across different technological standards. Coupled with the different regulations relating to spectrum usage around the globe effective spectrum management becomes difficult to obtain and at best can only be reached over a long period of time.
Another problem facing effective spectrum management is the growing need from spectrum despite the finite amount of spectrum available. Wireless technologies have exponentially grown in recent years. Consequently, available spectrum has become a valuable resource that must be efficiently utilized. Therefore, systems and methods are needed to effectively manage and optimize the available spectrum that is being used.
Most spectrum management devices may be categorized into two primary types. The first type is a spectral analyzer where a device is specifically fitted to run a ‘scanner’ type receiver that is tailored to provide spectral information for a narrow window of frequencies related to a specific and limited type of communications standard, such as cellular communication standard. Problems arise with these narrowly tailored devices as cellular standards change and/or spectrum use changes impact the spectrum space of these technologies. Changes to the software and hardware for these narrowly tailored devices become too complicated, thus necessitating the need to purchase a totally different and new device. Unfortunately, this type of device is only for a specific use and cannot be used to alleviate the entire needs of the spectrum management community.
The second type of spectral management device employs a methodology that requires bulky, extremely difficult to use processes, and expensive equipment. In order to attain a broad spectrum management view and complete all the necessary tasks, the device ends up becoming a conglomerate of software and hardware devices that is both hard to use and difficult to maneuver from one location to another.
While there may be several additional problems associated with current spectrum management devices, the problems may be summed up as two major problems: 1) most devices are built to inherently only handle specific spectrum technologies such as 900 MHz cellular spectrum while not being able to mitigate other technologies that may be interfering or competing with that spectrum, and 2) the other spectrum management devices consist of large spectrum analyzers, database systems, and spectrum management software that is expensive, too bulky, and too difficult to manage for a user's basic needs.
SUMMARY OF THE INVENTION
The systems, methods, and devices of the various embodiments enable spectrum management by identifying, classifying, and cataloging signals of interest based on radio frequency measurements. In an embodiment, signals and the parameters of the signals may be identified and indications of available frequencies may be presented to a user. In another embodiment, the protocols of signals may also be identified. In a further embodiment, the modulation of signals, data types carried by the signals, and estimated signal origins may be identified.



BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated herein and constitute part of this specification, illustrate exemplary embodiments of the invention, and together with the general description given above and the detailed description given below, serve to explain the features of the invention.
FIG. 1 is a system block diagram of a wireless environment suitable for use with the various embodiments.
FIG. 2A is a block diagram of a spectrum management device according to an embodiment.
FIG. 2B is a schematic logic flow block diagram illustrating logical operations which may be performed by a spectrum management device according to an embodiment.
FIG. 3 is a process flow diagram illustrating an embodiment method for identifying a signal.
FIG. 4 is a process flow diagram illustrating an embodiment method for measuring sample blocks of a radio frequency scan.
FIGS. 5A-5C are a process flow diagram illustrating an embodiment method for determining signal parameters.
FIG. 6 is a process flow diagram illustrating an embodiment method for displaying signal identifications.
FIG. 7 is a process flow diagram illustrating an embodiment method for displaying one or more open frequency.
FIG. 8A is a block diagram of a spectrum management device according to another embodiment.
FIG. 8B is a schematic logic flow block diagram illustrating logical operations which may be performed by a spectrum management device according to another embodiment.
FIG. 9 is a process flow diagram illustrating an embodiment method for determining protocol data and symbol timing data.
FIG. 10 is a process flow diagram illustrating an embodiment method for calculating signal degradation data.
FIG. 11 is a process flow diagram illustrating an embodiment method for displaying signal and protocol identification information.
FIG. 12A is a block diagram of a spectrum management device according to a further embodiment.
FIG. 12B is a schematic logic flow block diagram illustrating logical operations which may be performed by a spectrum management device according to a further embodiment.
FIG. 13 is a process flow diagram illustrating an embodiment method for estimating a signal origin based on a frequency difference of arrival.
FIG. 14 is a process flow diagram illustrating an embodiment method for displaying an indication of an identified data type within a signal.
FIG. 15 is a process flow diagram illustrating an embodiment method for determining modulation type, protocol data, and symbol timing data.
FIG. 16 is a process flow diagram illustrating an embodiment method for tracking a signal origin.



DETAILED DESCRIPTION OF THE PRESENT INVENTION
The various embodiments will be described in detail with reference to the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts. References made to particular examples and implementations are for illustrative purposes, and are not intended to limit the scope of the invention or the claims.
The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any implementation described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other implementations.
The systems, methods, and devices of the various embodiments enable spectrum management by identifying, classifying, and cataloging signals of interest based on radio frequency measurements. In an embodiment, signals and the parameters of the signals may be identified and indications of available frequencies may be presented to a user. In another embodiment, the protocols of signals may also be identified. In a further embodiment, the modulation of signals, data types carried by the signals, and estimated signal origins may be identified.
Embodiments are directed to a spectrum management device that may be configurable to obtain spectrum data over a wide range of wireless communication protocols. Embodiments may also provide for the ability to acquire data from and sending data to database depositories that may be used by a plurality of spectrum management customers.
In one embodiment, a spectrum management device may include a signal spectrum analyzer that may be coupled with a database system and spectrum management interface. The device may be portable or may be a stationary installation and may be updated with data to allow the device to manage different spectrum information based on frequency, bandwidth, signal power, time, and location of signal propagation, as well as modulation type and format and to provide signal identification, classification, and geo-location. A processor may enable the device to process spectrum power density data as received and to process raw I/Q complex data that may be used for further signal processing, signal identification, and data extraction.
In an embodiment, a spectrum management device may comprise a low noise amplifier that receives a radio frequency (RF) energy from an antenna. The antenna may be any antenna structure that is capable of receiving RF energy in a spectrum of interest. The low noise amplifier may filter and amplify the RF energy. The RF energy may be provided to an RF translator. The RF translator may perform a fast Fourier transform (FFT) and either a square magnitude or a fast convolution spectral periodogram function to convert the RF measurements into a spectral representation. In an embodiment, the RF translator may also store a timestamp to facilitate calculation of a time of arrival and an angle of arrival. The In-Phase and Quadrature (I/Q) data may be provided to a spectral analysis receiver or it may be provided to a sample data store where it may be stored without being processed by a spectral analysis receiver. The input RF energy may also be directly digital down-converted and sampled by an analog to digital converter (ADC) to generate complex I/Q data. The complex I/Q data may be equalized to remove multipath, fading, white noise and interference from other signaling systems by fast parallel adaptive filter processes. This data may then be used to calculate modulation type and baud rate. Complex sampled I/Q data may also be used to measure the signal angle of arrival and time of arrival. Such information as angle of arrival and time of arrival may be used to compute more complex and precise direction finding. In addition, they may be used to apply geo-location techniques. Data may be collected from known signals or unknown signals and time spaced in order to provide expedient information. I/Q sampled data may contain raw signal data that may be used to demodulate and translate signals by streaming them to a signal analyzer or to a real-time demodulator software defined radio that may have the newly identified signal parameters for the signal of interest. The inherent nature of the input RF allows for any type of signal to be analyzed and demodulated based on the reconfiguration of the software defined radio interfaces.
A spectral analysis receiver may be configured to read raw In-Phase (I) and Quadrature (Q) data and either translate directly to spectral data or down convert to an intermediate frequency (IF) up to half the Nyquist sampling rate to analyze the incoming bandwidth of a signal. The translated spectral data may include measured values of signal energy, frequency, and time. The measured values provide attributes of the signal under review that may confirm the detection of a particular signal of interest within a spectrum of interest. In an embodiment, a spectral analysis receiver may have a referenced spectrum input of 0 Hz to 12.4 GHz with capability of fiber optic input for spectrum input up to 60 GHz.
In an embodiment, the spectral analysis receiver may be configured to sample the input RF data by fast analog down-conversion of the RF signal. The down-converted signal may then be digitally converted and processed by fast convolution filters to obtain a power spectrum. This process may also provide spectrum measurements including the signal power, the bandwidth, the center frequency of the signal as well as a Time of Arrival (TOA) measurement. The TOA measurement may be used to create a timestamp of the detected signal and/or to generate a time difference of arrival iterative process for direction finding and fast triangulation of signals. In an embodiment, the sample data may be provided to a spectrum analysis module. In an embodiment, the spectrum analysis module may evaluate the sample data to obtain the spectral components of the signal.
In an embodiment, the spectral components of the signal may be obtained by the spectrum analysis module from the raw I/Q data as provided by an RF translator. The I/Q data analysis performed by the spectrum analysis module may operate to extract more detailed information about the signal, including by way of example, modulation type (e.g., FM, AM, QPSK, 16QAM, etc.) and/or protocol (e.g., GSM, CDMA, OFDM, LTE, etc.). In an embodiment, the spectrum analysis module may be configured by a user to obtain specific information about a signal of interest. In an alternate embodiment, the spectral components of the signal may be obtained from power spectral component data produced by the spectral analysis receiver.
In an embodiment, the spectrum analysis module may provide the spectral components of the signal to a data extraction module. The data extraction module may provide the classification and categorization of signals detected in the RF spectrum. The data extraction module may also acquire additional information regarding the signal from the spectral components of the signal. For example, the data extraction module may provide modulation type, bandwidth, and possible system in use information. In another embodiment, the data extraction module may select and organize the extracted spectral components in a format selected by a user.
The information from the data extraction module may be provided to a spectrum management module. The spectrum management module may generate a query to a static database to classify a signal based on its components. For example, the information stored in static database may be used to determine the spectral density, center frequency, bandwidth, baud rate, modulation type, protocol (e.g., GSM, CDMA, OFDM, LTE, etc.), system or carrier using licensed spectrum, location of the signal source, and a timestamp of the signal of interest. These data points may be provided to a data store for export. In an embodiment and as more fully described below, the data store may be configured to access mapping software to provide the user with information on the location of the transmission source of the signal of interest. In an embodiment, the static database includes frequency information gathered from various sources including, but not limited to, the Federal Communication Commission, the International Telecommunication Union, and data from users. As an example, the static database may be an SQL database. The data store may be updated, downloaded or merged with other devices or with its main relational database. Software API applications may be included to allow database merging with third-party spectrum databases that may only be accessed securely.
In the various embodiments, the spectrum management device may be configured in different ways. In an embodiment, the front end of system may comprise various hardware receivers that may provide In-Phase and Quadrature complex data. The front end receiver may include API set commands via which the system software may be configured to interface (i.e., communicate) with a third party receiver. In an embodiment, the front end receiver may perform the spectral computations using FFT (Fast Fourier Transform) and other DSP (Digital Signal Processing) to generate a fast convolution periodogram that may be re-sampled and averaged to quickly compute the spectral density of the RF environment.
In an embodiment, cyclic processes may be used to average and correlate signal information by extracting the changes inside the signal to better identify the signal of interest that is present in the RF space. A combination of amplitude and frequency changes may be measured and averaged over the bandwidth time to compute the modulation type and other internal changes, such as changes in frequency offsets, orthogonal frequency division modulation, changes in time (e.g., Time Division Multiplexing), and/or changes in I/Q phase rotation used to compute the baud rate and the modulation type. In an embodiment, the spectrum management device may have the ability to compute several processes in parallel by use of a multi-core processor and along with several embedded field programmable gate arrays (FPGA). Such multi-core processing may allow the system to quickly analyze several signal parameters in the RF environment at one time in order to reduce the amount of time it takes to process the signals. The amount of signals computed at once may be determined by their bandwidth requirements. Thus, the capability of the system may be based on a maximum frequency Fs/2. The number of signals to be processed may be allocated based on their respective bandwidths. In another embodiment, the signal spectrum may be measured to determine its power density, center frequency, bandwidth and location from which the signal is emanating and a best match may be determined based on the signal parameters based on information criteria of the frequency.
In another embodiment, a GPS and direction finding location (DF) system may be incorporated into the spectrum management device and/or available to the spectrum management device. Adding GPS and DF ability may enable the user to provide a location vector using the National Marine Electronics Association's (NMEA) standard form. In an embodiment, location functionality is incorporated into a specific type of GPS unit, such as a U.S. government issued receiver. The information may be derived from the location presented by the database internal to the device, a database imported into the device, or by the user inputting geo-location parameters of longitude and latitude which may be derived as degrees, minutes and seconds, decimal minutes, or decimal form and translated to the necessary format with the default being ‘decimal’ form. This functionality may be incorporated into a GPS unit. The signal information and the signal classification may then be used to locate the signaling device as well as to provide a direction finding capability.
A type of triangulation using three units as a group antenna configuration performs direction finding by using multilateration. Commonly used in civil and military surveillance applications, multilateration is able to accurately locate an aircraft, vehicle, or stationary emitter by measuring the “Time Difference of Arrival” (TDOA) of a signal from the emitter at three or more receiver sites. If a pulse is emitted from a platform, it will arrive at slightly different times at two spatially separated receiver sites, the TDOA being due to the different distances of each receiver from the platform. This location information may then be supplied to a mapping process that utilizes a database of mapping images that are extracted from the database based on the latitude and longitude provided by the geo-location or direction finding device. The mapping images may be scanned in to show the points of interest where a signal is either expected to be emanating from based on the database information or from an average taken from the database information and the geo-location calculation performed prior to the mapping software being called. The user can control the map to maximize or minimize the mapping screen to get a better view which is more fit to provide information of the signal transmissions. In an embodiment, the mapping process does not rely on outside mapping software. The mapping capability has the ability to generate the map image and to populate a mapping database that may include information from third party maps to meet specific user requirements.
In an embodiment, triangulation and multilateration may utilize a Bayesian type filter that may predict possible movement and future location and operation of devices based on input collected from the TDOA and geolocation processes and the variables from the static database pertaining to the specified signal of interest. The Bayesian filter takes the input changes in time difference and its inverse function (i.e., frequency difference) and takes an average changes in signal variation to detect and predict the movement of the signals. The signal changes are measured within 1 ns time difference and the filter may also adapt its gradient error calculation to remove unwanted signals that may cause errors due to signal multipath, inter-symbol interference, and other signal noise.
In an embodiment the changes within a 1 ns time difference for each sample for each unique signal may be recorded. The spectrum management device may then perform the inverse and compute and record the frequency difference and phase difference between each sample for each unique signal. The spectrum management device may take the same signal and calculates an error based on other input signals coming in within the 1 ns time and may average and filter out the computed error to equalize the signal. The spectrum management device may determine the time difference and frequency difference of arrival for that signal and compute the odds of where the signal is emanating from based on the frequency band parameters presented from the spectral analysis and processor computations, and determines the best position from which the signal is transmitted (i.e., origin of the signal).
FIG. 1 illustrates a wireless environment 100 suitable for use with the various embodiments. The wireless environment 100 may include various sources 104, 106, 108, 110, 112, and 114 generating various radio frequency (RF) signals 116, 118, 120, 122, 124, 126. As an example, mobile devices 104 may generate cellular RF signals 116, such as CDMA, GSM, 3G signals, etc. As another example, wireless access devices 106, such as Wi-Fi® routers, may generate RF signals 118, such as Wi-Fi® signals. As a further example, satellites 108, such as communication satellites or GPS satellites, may generate RF signals 120, such as satellite radio, television, or GPS signals. As a still further example, base stations 110, such as a cellular base station, may generate RF signals 122, such as CDMA, GSM, 3G signals, etc. As another example, radio towers 112, such as local AM or FM radio stations, may generate RF signals 124, such as AM or FM radio signals. As another example, government service provides 114, such as police units, fire fighters, military units, air traffic control towers, etc. may generate RF signals 126, such as radio communications, tracking signals, etc. The various RF signals 116, 118, 120, 122, 124, 126 may be generated at different frequencies, power levels, in different protocols, with different modulations, and at different times. The various sources 104, 106, 108, 110, 112, and 114 may be assigned frequency bands, power limitations, or other restrictions, requirements, and/or licenses by a government spectrum control entity, such as a the FCC. However, with so many different sources 104, 106, 108, 110, 112, and 114 generating so many different RF signals 116, 118, 120, 122, 124, 126, overlaps, interference, and/or other problems may occur. A spectrum management device 102 in the wireless environment 100 may measure the RF energy in the wireless environment 100 across a wide spectrum and identify the different RF signals 116, 118, 120, 122, 124, 126 which may be present in the wireless environment 100. The identification and cataloging of the different RF signals 116, 118, 120, 122, 124, 126 which may be present in the wireless environment 100 may enable the spectrum management device 102 to determine available frequencies for use in the wireless environment 100. In addition, the spectrum management device 102 may be able to determine if there are available frequencies for use in the wireless environment 100 under certain conditions (i.e., day of week, time of day, power level, frequency band, etc.). In this manner, the RF spectrum in the wireless environment 100 may be managed.
FIG. 2A is a block diagram of a spectrum management device 202 according to an embodiment. The spectrum management device 202 may include an antenna structure 204 configured to receive RF energy expressed in a wireless environment. The antenna structure 204 may be any type antenna, and may be configured to optimize the receipt of RF energy across a wide frequency spectrum. The antenna structure 204 may be connected to one or more optional amplifiers and/or filters 208 which may boost, smooth, and/or filter the RF energy received by antenna structure 204 before the RF energy is passed to an RF receiver 210 connected to the antenna structure 204. In an embodiment, the RF receiver 210 may be configured to measure the RF energy received from the antenna structure 204 and/or optional amplifiers and/or filters 208. In an embodiment, the RF receiver 210 may be configured to measure RF energy in the time domain and may convert the RF energy measurements to the frequency domain. In an embodiment, the RF receiver 210 may be configured to generate spectral representation data of the received RF energy. The RF receiver 210 may be any type RF receiver, and may be configured to generate RF energy measurements over a range of frequencies, such as 0 kHz to 24 GHz, 9 kHz to 6 GHz, etc. In an embodiment, the frequency scanned by the RF receiver 210 may be user selectable. In an embodiment, the RF receiver 210 may be connected to a signal processor 214 and may be configured to output RF energy measurements to the signal processor 214. As an example, the RF receiver 210 may output raw In-Phase (I) and Quadrature (Q) data to the signal processor 214. As another example, the RF receiver 210 may apply signals processing techniques to output complex In-Phase (I) and Quadrature (Q) data to the signal processor 214. In an embodiment, the spectrum management device may also include an antenna 206 connected to a location receiver 212, such as a GPS receiver, which may be connected to the signal processor 214. The location receiver 212 may provide location inputs to the signal processor 214.
The signal processor 214 may include a signal detection module 216, a comparison module 222, a timing module 224, and a location module 225. Additionally, the signal processor 214 may include an optional memory module 226 which may include one or more optional buffers 228 for storing data generated by the other modules of the signal processor 214.
In an embodiment, the signal detection module 216 may operate to identify signals based on the RF energy measurements received from the RF receiver 210. The signal detection module 216 may include a Fast Fourier Transform (FFT) module 217 which may convert the received RF energy measurements into spectral representation data. The signal detection module 216 may include an analysis module 221 which may analyze the spectral representation data to identify one or more signals above a power threshold. A power module 220 of the signal detection module 216 may control the power threshold at which signals may be identified. In an embodiment, the power threshold may be a default power setting or may be a user selectable power setting. A noise module 219 of the signal detection module 216 may control a signal threshold, such as a noise threshold, at or above which signals may be identified. The signal detection module 216 may include a parameter module 218 which may determine one or more signal parameters for any identified signals, such as center frequency, bandwidth, power, number of detected signals, frequency peak, peak power, average power, signal duration, etc. In an embodiment, the signal processor 214 may include a timing module 224 which may record time information and provide the time information to the signal detection module 216. Additionally, the signal processor 214 may include a location module 225 which may receive location inputs from the location receiver 212 and determine a location of the spectrum management device 202. The location of the spectrum management device 202 may be provided to the signal detection module 216.
In an embodiment, the signal processor 214 may be connected to one or more memory 230. The memory 230 may include multiple databases, such as a history or historical database 232 and characteristics listing 236, and one or more buffers 240 storing data generated by signal processor 214. While illustrated as connected to the signal processor 214 the memory 230 may also be on chip memory residing on the signal processor 214 itself. In an embodiment, the history or historical database 232 may include measured signal data 234 for signals that have been previously identified by the spectrum management device 202. The measured signal data 234 may include the raw RF energy measurements, time stamps, location information, one or more signal parameters for any identified signals, such as center frequency, bandwidth, power, number of detected signals, frequency peak, peak power, average power, signal duration, etc., and identifying information determined from the characteristics listing 236. In an embodiment, the history or historical database 232 may be updated as signals are identified by the spectrum management device 202. In an embodiment, the characteristic listing 236 may be a database of static signal data 238. The static signal data 238 may include data gathered from various sources including by way of example and not by way of limitation the Federal Communication Commission, the International Telecommunication Union, telecom providers, manufacture data, and data from spectrum management device users. Static signal data 238 may include known signal parameters of transmitting devices, such as center frequency, bandwidth, power, number of detected signals, frequency peak, peak power, average power, signal duration, geographic information for transmitting devices, and any other data that may be useful in identifying a signal. In an embodiment, the static signal data 238 and the characteristic listing 236 may correlate signal parameters and signal identifications. As an example, the static signal data 238 and characteristic listing 236 may list the parameters of the local fire and emergency communication channel correlated with a signal identification indicating that signal is the local fire and emergency communication channel.
In an embodiment, the signal processor 214 may include a comparison module 222 which may match data generated by the signal detection module 216 with data in the history or historical database 232 and/or characteristic listing 236. In an embodiment the comparison module 222 may receive signal parameters from the signal detection module 216, such as center frequency, bandwidth, power, number of detected signals, frequency peak, peak power, average power, signal duration, and/or receive parameter from the timing module 224 and/or location module 225. The parameter match module 223 may retrieve data from the history or historical database 232 and/or the characteristic listing 236 and compare the retrieved data to any received parameters to identify matches. Based on the matches the comparison module may identify the signal. In an embodiment, the signal processor 214 may be optionally connected to a display 242, an input device 244, and/or network transceiver 246. The display 242 may be controlled by the signal processor 214 to output spectral representations of received signals, signal characteristic information, and/or indications of signal identifications on the display 242. In an embodiment, the input device 244 may be any input device, such as a keyboard and/or knob, mouse, virtual keyboard or even voice recognition, enabling the user of the spectrum management device 202 to input information for use by the signal processor 214. In an embodiment, the network transceiver 246 may enable the spectrum management device 202 to exchange data with wired and/or wireless networks, such as to update the characteristic listing 236 and/or upload information from the history or historical database 232.
FIG. 2B is a schematic logic flow block diagram illustrating logical operations which may be performed by a spectrum management device 202 according to an embodiment. A receiver 210 may output RF energy measurements, such as I and Q data to a FFT module 252 which may generate a spectral representation of the RF energy measurements which may be output on a display 242. The I and Q data may also be buffered in a buffer 256 and sent to a signal detection module 216. The signal detection module 216 may receive location inputs from a location receiver 212 and use the received I and Q data to detect signals. Data from the signal detection module 216 may be buffered and written into a history or historical database 232. Additionally, data from the historical database may be used to aid in the detection of signals by the signal detection module 216. The signal parameters of the detected signals may be determined by a signal parameters module 218 using information from the history or historical database 232 and/or a static database 238 listing signal characteristics. Data from the signal parameters module 218 may be stored in the history or historical database 232 and/or sent to the signal detection module 216 and/or display 242. In this manner, signals may be detected and indications of the signal identification may be displayed to a user of the spectrum management device.
FIG. 3 illustrates a process flow of an embodiment method 300 for identifying a signal. In an embodiment the operations of method 300 may be performed by the processor 214 of a spectrum management device 202. In block 302 the processor 214 may determine the location of the spectrum management device 202. In an embodiment, the processor 214 may determine the location of the spectrum management device 202 based on a location input, such as GPS coordinates, received from a location receiver, such as a GPS receiver 212. In block 304 the processor 214 may determine the time. As an example, the time may be the current clock time as determined by the processor 214 and may be a time associated with receiving RF measurements. In block 306 the processor 214 may receive RF energy measurements. In an embodiment, the processor 214 may receive RF energy measurements from an RF receiver 210. In block 308 the processor 214 may convert the RF energy measurements to spectral representation data. As an example, the processor may apply a Fast Fourier Transform (FFT) to the RF energy measurements to convert them to spectral representation data. In optional block 310 the processor 214 may display the spectral representation data on a display 242 of the spectrum management device 202, such as in a graph illustrating amplitudes across a frequency spectrum.
In block 312 the processor 214 may identify one or more signal above a threshold. In an embodiment, the processor 214 may analyze the spectral representation data to identify a signal above a power threshold. A power threshold may be an amplitude measure selected to distinguish RF energies associated with actual signals from noise. In an embodiment, the power threshold may be a default value. In another embodiment, the power threshold may be a user selectable value. In block 314 the processor 214 may determine signal parameters of any identified signal or signals of interest. As examples, the processor 214 may determine signal parameters such as center frequency, bandwidth, power, number of detected signals, frequency peak, peak power, average power, signal duration for the identified signals. In block 316 the processor 214 may store the signal parameters of each identified signal, a location indication, and time indication for each identified signal in a history database 232. In an embodiment, a history database 232 may be a database resident in a memory 230 of the spectrum management device 202 which may include data associated with signals actually identified by the spectrum management device.
In block 318 the processor 214 may compare the signal parameters of each identified signal to signal parameters in a signal characteristic listing. In an embodiment, the signal characteristic listing may be a static database 238 stored in the memory 230 of the spectrum management device 202 which may correlate signal parameters and signal identifications. In determination block 320 the processor 214 may determine whether the signal parameters of the identified signal or signals match signal parameters in the characteristic listing 236. In an embodiment, a match may be determined based on the signal parameters being within a specified tolerance of one another. As an example, a center frequency match may be determined when the center frequencies are within plus or minus 1 kHz of each other. In this manner, differences between real world measured conditions of an identified signal and ideal conditions listed in a characteristics listing may be accounted for in identifying matches. If the signal parameters do not match (i.e., determination block 320=“No”), in block 326 the processor 214 may display an indication that the signal is unidentified on a display 242 of the spectrum management device 202. In this manner, the user of the spectrum management device may be notified that a signal is detected, but has not been positively identified. If the signal parameters do match (i.e., determination block 320=“Yes”), in block 324 the processor 214 may display an indication of the signal identification on the display 242. In an embodiment, the signal identification displayed may be the signal identification correlated to the signal parameter in the signal characteristic listing which matched the signal parameter for the identified signal. Upon displaying the indications in blocks 324 or 326 the processor 214 may return to block 302 and cyclically measure and identify further signals of interest.
FIG. 4 illustrates an embodiment method 400 for measuring sample blocks of a radio frequency scan. In an embodiment the operations of method 400 may be performed by the processor 214 of a spectrum management device 202. As discussed above, in blocks 306 and 308 the processor 214 may receive RF energy measurements and convert the RF energy measurements to spectral representation data. In block 402 the processor 214 may determine a frequency range at which to sample the RF spectrum for signals of interest. In an embodiment, a frequency range may be a frequency range of each sample block to be analyzed for potential signals. As an example, the frequency range may be 240 kHz. In an embodiment, the frequency range may be a default value. In another embodiment, the frequency range may be a user selectable value. In block 404 the processor 214 may determine a number (N) of sample blocks to measure. In an embodiment, each sample block may be sized to the determined of default frequency range, and the number of sample blocks may be determined by dividing the spectrum of the measured RF energy by the frequency range. In block 406 the processor 214 may assign each sample block a respective frequency range. As an example, if the determined frequency range is 240 kHz, the first sample block may be assigned a frequency range from 0 kHz to 240 kHz, the second sample block may be assigned a frequency range from 240 kHz to 480 kHz, etc. In block 408 the processor 214 may set the lowest frequency range sample block as the current sample block. In block 409 the processor 214 may measure the amplitude across the set frequency range for the current sample block. As an example, at each frequency interval (such as 1 Hz) within the frequency range of the sample block the processor 214 may measure the received signal amplitude. In block 410 the processor 214 may store the amplitude measurements and corresponding frequencies for the current sample block. In determination block 414 the processor 214 may determine if all sample blocks have been measured. If all sample blocks have not been measured (i.e., determination block 414=“No”), in block 416 the processor 214 may set the next highest frequency range sample block as the current sample block. As discussed above, in blocks 409, 410, and 414 the processor 214 may measure and store amplitudes and determine whether all blocks are sampled. If all blocks have been sampled (i.e., determination block 414=“Yes”), the processor 214 may return to block 306 and cyclically measure further sample blocks.
FIGS. 5A, 5B, and 5C illustrate the process flow for an embodiment method 500 for determining signal parameters. In an embodiment the operations of method 500 may be performed by the processor 214 of a spectrum management device 202. Referring to FIG. 5A, in block 502 the processor 214 may receive a noise floor average setting. In an embodiment, the noise floor average setting may be an average noise level for the environment in which the spectrum management device 202 is operating. In an embodiment, the noise floor average setting may be a default setting and/or may be user selectable setting. In block 504 the processor 214 may receive the signal power threshold setting. In an embodiment, the signal power threshold setting may be an amplitude measure selected to distinguish RF energies associated with actual signals from noise. In an embodiment the signal power threshold may be a default value and/or may be a user selectable setting. In block 506 the processor 214 may load the next available sample block. In an embodiment, the sample blocks may be assembled according to the operations of method 400 described above with reference to FIG. 4. In an embodiment, the next available sample block may be an oldest in time sample block which has not been analyzed to determine whether signals of interest are present in the sample block. In block 508 the processor 214 may average the amplitude measurements in the sample block. In determination block 510 the processor 214 may determine whether the average for the sample block is greater than or equal to the noise floor average set in block 502. In this manner, sample blocks including potential signals may be quickly distinguished from sample blocks which may not include potential signals reducing processing time by enabling sample blocks without potential signals to be identified and ignored. If the average for the sample block is lower than the noise floor average (i.e., determination block 510=“No”), no signals of interest may be present in the current sample block. In determination block 514 the processor 214 may determine whether a cross block flag is set. If the cross block flag is not set (i.e., determination block 514=“No”), in block 506 the processor 214 may load the next available sample block and in block 508 average the sample block 508.
If the average of the sample block is equal to or greater than the noise floor average (i.e., determination block 510=“Yes”), the sample block may potentially include a signal of interest and in block 512 the processor 214 may reset a measurement counter (C) to 1. The measurement counter value indicating which sample within a sample block is under analysis. In determination block 516 the processor 214 may determine whether the RF measurement of the next frequency sample (C) is greater than the signal power threshold. In this manner, the value of the measurement counter (C) may be used to control which sample RF measurement in the sample block is compared to the signal power threshold. As an example, when the counter (C) equals 1, the first RF measurement may be checked against the signal power threshold and when the counter (C) equals 2 the second RF measurement in the sample block may be checked, etc. If the C RF measurement is less than or equal to the signal power threshold (i.e., determination block 516=“No”), in determination block 517 the processor 214 may determine whether the cross block flag is set. If the cross block flag is not set (i.e., determination block 517=“No”), in determination block 522 the processor 214 may determine whether the end of the sample block is reached. If the end of the sample block is reached (i.e., determination block 522=“Yes”), in block 506 the processor 214 may load the next available sample block and proceed in blocks 508, 510, 514, and 512 as discussed above. If the end of the sample block is not reached (i.e., determination block 522=“No”), in block 524 the processor 214 may increment the measurement counter (C) so that the next sample in the sample block is analyzed.
If the C RF measurement is greater than the signal power threshold (i.e., determination block 516=“Yes”), in block 518 the processor 214 may check the status of the cross block flag to determine whether the cross block flag is set. If the cross block flag is not set (i.e., determination block 518=“No”), in block 520 the processor 214 may set a sample start. As an example, the processor 214 may set a sample start by indicating a potential signal of interest may be discovered in a memory by assigning a memory location for RF measurements associated with the sample start. Referring to FIG. 5B, in block 526 the processor 214 may store the C RF measurement in a memory location for the sample currently under analysis. In block 528 the processor 214 may increment the measurement counter (C) value.
In determination block 530 the processor 214 may determine whether the C RF measurement (e.g., the next RF measurement because the value of the RF measurement counter was incremented) is greater than the signal power threshold. If the C RF measurement is greater than the signal power threshold (i.e., determination block 530=“Yes”), in determination block 532 the processor 214 may determine whether the end of the sample block is reached. If the end of the sample block is not reached (i.e., determination block 532=“No”), there may be further RF measurements available in the sample block and in block 526 the processor 214 may store the C RF measurement in the memory location for the sample. In block 528 the processor may increment the measurement counter (C) and in determination block 530 determine whether the C RF measurement is above the signal power threshold and in block 532 determine whether the end of the sample block is reached. In this manner, successive sample RF measurements may be checked against the signal power threshold and stored until the end of the sample block is reached and/or until a sample RF measurement falls below the signal power threshold. If the end of the sample block is reached (i.e., determination block 532=“Yes”), in block 534 the processor 214 may set the cross block flag. In an embodiment, the cross block flag may be a flag in a memory available to the processor 214 indicating the signal potential spans across two or more sample blocks. In a further embodiment, prior to setting the cross block flag in block 534, the slope of a line drawn between the last two RF measurement samples may be used to determine whether the next sample block likely contains further potential signal samples. A negative slope may indicate that the signal of interest is fading and may indicate the last sample was the final sample of the signal of interest. In another embodiment, the slope may not be computed and the next sample block may be analyzed regardless of the slope.
If the end of the sample block is reached (i.e., determination block 532=“Yes”) and in block 534 the cross block flag is set, referring to FIG. 5A, in block 506 the processor 214 may load the next available sample block, in block 508 may average the sample block, and in block 510 determine whether the average of the sample block is greater than or equal to the noise floor average. If the average is equal to or greater than the noise floor average (i.e., determination block 510=“Yes”), in block 512 the processor 214 may reset the measurement counter (C) to 1. In determination block 516 the processor 214 may determine whether the C RF measurement for the current sample block is greater than the signal power threshold. If the C RF measurement is greater than the signal power threshold (i.e., determination block 516=“Yes”), in determination block 518 the processor 214 may determine whether the cross block flag is set. If the cross block flag is set (i.e., determination block 518=“Yes”), referring to FIG. 5B, in block 526 the processor 214 may store the C RF measurement in the memory location for the sample and in block 528 the processor may increment the measurement counter (C). As discussed above, in blocks 530 and 532 the processor 214 may perform operations to determine whether the C RF measurement is greater than the signal power threshold and whether the end of the sample block is reached until the C RF measurement is less than or equal to the signal power threshold (i.e., determination block 530=“No”) or the end of the sample block is reached (i.e., determination block 532=“Yes”). If the end of the sample block is reached (i.e., determination block 532=“Yes”), as discussed above in block 534 the cross block flag may be set (or verified and remain set if already set) and in block 535 the C RF measurement may be stored in the sample.
If the end of the sample block is reached (i.e., determination block 532=“Yes”) and in block 534 the cross block flag is set, referring to FIG. 5A, the processor may perform operations of blocks 506, 508, 510, 512, 516, and 518 as discussed above. If the average of the sample block is less than the noise floor average (i.e., determination block 510=“No”) and the cross block flag is set (i.e., determination block 514=“Yes”), the C RF measurement is less than or equal to the signal power threshold (i.e., determination block 516=“No”) and the cross block flag is set (i.e., determination block 517=“Yes”), or the C RF measurement is less than or equal to the signal power threshold (i.e., determination block 516=“No”), referring to FIG. 5B, in block 538 the processor 214 may set the sample stop. As an example, the processor 214 may indicate that a sample end is reached in a memory and/or that a sample is complete in a memory. In block 540 the processor 214 may compute and store complex I and Q data for the stored measurements in the sample. In block 542 the processor 214 may determine a mean of the complex I and Q data. Referring to FIG. 5C, in determination block 544 the processor 214 may determine whether the mean of the complex I and Q data is greater than a signal threshold. If the mean of the complex I and Q data is less than or equal to the signal threshold (i.e., determination block 544=“No”), in block 550 the processor 214 may indicate the sample is noise and discard data associated with the sample from memory.
If the mean is greater than the signal threshold (i.e., determination block 544=“Yes”), in block 546 the processor 214 may identify the sample as a signal of interest. In an embodiment, the processor 214 may identify the sample as a signal of interest by assigning a signal identifier to the signal, such as a signal number or sample number. In block 548 the processor 214 may determine and store signal parameters for the signal. As an example, the processor 214 may determine and store a frequency peak of the identified signal, a peak power of the identified signal, an average power of the identified signal, a signal bandwidth of the identified signal, and/or a signal duration of the identified signal. In block 552 the processor 214 may clear the cross block flag (or verify that the cross block flag is unset). In block 556 the processor 214 may determine whether the end of the sample block is reached. If the end of the sample block is not reached (i.e., determination block 556=“No” in block 558 the processor 214 may increment the measurement counter (C), and referring to FIG. 5A in determination block 516 may determine whether the C RF measurement is greater than the signal power threshold. Referring to FIG. 5C, if the end of the sample block is reached (i.e., determination block 556=“Yes”), referring to FIG. 5A, in block 506 the processor 214 may load the next available sample block.
FIG. 6 illustrates a process flow for an embodiment method 600 for displaying signal identifications. In an embodiment, the operations of method 600 may be performed by a processor 214 of a spectrum management device 202. In determination block 602 the processor 214 may determine whether a signal is identified. If a signal is not identified (i.e., determination block 602=“No”), in block 604 the processor 214 may wait for the next scan. If a signal is identified (i.e., determination block 602=“Yes”), in block 606 the processor 214 may compare the signal parameters of an identified signal to signal parameters in a history database 232. In determination block 608 the processor 214 may determine whether signal parameters of the identified signal match signal parameters in the history database 232. If there is no match (i.e., determination block 608=“No”), in block 610 the processor 214 may store the signal parameters as a new signal in the history database 232. If there is a match (i.e., determination block 608=“Yes”), in block 612 the processor 214 may update the matching signal parameters as needed in the history database 232.
In block 614 the processor 214 may compare the signal parameters of the identified signal to signal parameters in a signal characteristic listing 236. In an embodiment, the characteristic listing 236 may be a static database separate from the history database 232, and the characteristic listing 236 may correlate signal parameters with signal identifications. In determination block 616 the processor 214 may determine whether the signal parameters of the identified signal match any signal parameters in the signal characteristic listing 236. In an embodiment, the match in determination 616 may be a match based on a tolerance between the signal parameters of the identified signal and the parameters in the characteristic listing 236. If there is a match (i.e., determination block 616=“Yes”), in block 618 the processor 214 may indicate a match in the history database 232 and in block 622 may display an indication of the signal identification on a display 242. As an example, the indication of the signal identification may be a display of the radio call sign of an identified FM radio station signal. If there is not a match (i.e., determination block 616=“No”), in block 620 the processor 214 may display an indication that the signal is an unidentified signal. In this manner, the user may be notified a signal is present in the environment, but that the signal does not match to a signal in the characteristic listing.
FIG. 7 illustrates a process flow of an embodiment method 700 for displaying one or more open frequency. In an embodiment, the operations of method 700 may be performed by the processor 214 of a spectrum management device 202. In block 702 the processor 214 may determine a current location of the spectrum management device 202. In an embodiment, the processor 214 may determine the current location of the spectrum management device 202 based on location inputs received from a location receiver 212, such as GPS coordinates received from a GPS receiver 212. In block 704 the processor 214 may compare the current location to the stored location value in the historical database 232. As discussed above, the historical or history database 232 may be a database storing information about signals previously actually identified by the spectrum management device 202. In determination block 706 the processor 214 may determine whether there are any matches between the location information in the historical database 232 and the current location. If there are no matches (i.e., determination block 706=“No”), in block 710 the processor 214 may indicate incomplete data is available. In other words the spectrum data for the current location has not previously been recorded.
If there are matches (i.e., determination block 706=“Yes”), in optional block 708 the processor 214 may display a plot of one or more of the signals matching the current location. As an example, the processor 214 may compute the average frequency over frequency intervals across a given spectrum and may display a plot of the average frequency over each interval. In block 712 the processor 214 may determine one or more open frequencies at the current location. As an example, the processor 214 may determine one or more open frequencies by determining frequency ranges in which no signals fall or at which the average is below a threshold. In block 714 the processor 214 may display an indication of one or more open frequency on a display 242 of the spectrum management device 202.
FIG. 8A is a block diagram of a spectrum management device 802 according to an embodiment. Spectrum management device 802 is similar to spectrum management device 202 described above with reference to FIG. 2A, except that spectrum management device 802 may include symbol module 816 and protocol module 806 enabling the spectrum management device 802 to identify the protocol and symbol information associated with an identified signal as well as protocol match module 814 to match protocol information. Additionally, the characteristic listing 236 of spectrum management device 802 may include protocol data 804, environment data 810, and noise data 812 and an optimization module 818 may enable the signal processor 214 to provide signal optimization parameters.
The protocol module 806 may identify the communication protocol (e.g., LTE, CDMA, etc.) associated with a signal of interest. In an embodiment, the protocol module 806 may use data retrieved from the characteristic listing, such as protocol data 804 to help identify the communication protocol. The symbol detector module 816 may determine symbol timing information, such as a symbol rate for a signal of interest. The protocol module 806 and/or symbol module 816 may provide data to the comparison module 222. The comparison module 222 may include a protocol match module 814 which may attempt to match protocol information for a signal of interest to protocol data 804 in the characteristic listing to identify a signal of interest. Additionally, the protocol module 806 and/or symbol module 816 may store data in the memory module 226 and/or history database 232. In an embodiment, the protocol module 806 and/or symbol module 816 may use protocol data 804 and/or other data from the characteristic listing 236 to help identify protocols and/or symbol information in signals of interest.
The optimization module 818 may gather information from the characteristic listing, such as noise figure parameters, antenna hardware parameters, and environmental parameters correlated with an identified signal of interest to calculate a degradation value for the identified signal of interest. The optimization module 818 may further control the display 242 to output degradation data enabling a user of the spectrum management device 802 to optimize a signal of interest.
FIG. 8B is a schematic logic flow block diagram illustrating logical operations which may be performed by a spectrum management device according to an embodiment. Only those logical operations illustrated in FIG. 8B different from those described above with reference to FIG. 2B will be discussed. As illustrated in FIG. 8B, as received time tracking 850 may be applied to the I and Q data from the receiver 210. An additional buffer 851 may further store the I and Q data received and a symbol detector 852 may identify the symbols of a signal of interest and determine the symbol rate. A multiple access scheme identifier module 854 may identify whether a the signal is part of a multiple access scheme (e.g., CDMA), and a protocol identifier module 856 may attempt to identify the protocol the signal of interested is associated with. The multiple access scheme identifier module 854 and protocol identifier module 856 may retrieve data from the static database 238 to aid in the identification of the access scheme and/or protocol. The symbol detector module 852 may pass data to the signal parameter and protocol module which may store protocol and symbol information in addition to signal parameter information for signals of interest.
FIG. 9 illustrates a process flow of an embodiment method 900 for determining protocol data and symbol timing data. In an embodiment, the operations of method 900 may be performed by the processor 214 of a spectrum management device 802. In determination block 902 the processor 214 may determine whether two or more signals are detected. If two or more signals are not detected (i.e., determination block 902=“No”), in determination block 902 the processor 214 may continue to determine whether two or more signals are detected. If two or more signals are detected (i.e., determination block 902=“Yes”), in determination block 904 the processor 214 may determine whether the two or more signals are interrelated. In an embodiment, a mean correlation value of the spectral decomposition of each signal may indicate the two or more signals are interrelated. As an example, a mean correlation of each signal may generate a value between 0.0 and 1, and the processor 214 may compare the mean correlation value to a threshold, such as a threshold of 0.75. In such an example, a mean correlation value at or above the threshold may indicate the signals are interrelated while a mean correlation value below the threshold may indicate the signals are not interrelated and may be different signals. In an embodiment, the mean correlation value may be generated by running a full energy bandwidth correlation of each signal, measuring the values of signal transition for each signal, and for each signal transition running a spectral correlation between signals to generate the mean correlation value. If the signals are not interrelated (i.e., determination block 904=“No”), the signals may be two or more different signals, and in block 907 processor 214 may measure the interference between the two or more signals. In an optional embodiment, in optional block 909 the processor 214 may generate a conflict alarm indicating the two or more different signals interfere. In an embodiment, the conflict alarm may be sent to the history database and/or a display. In determination block 902 the processor 214 may continue to determine whether two or more signals are detected. If the two signal are interrelated (i.e., determination block 904=“Yes”), in block 905 the processor 214 may identify the two or more signals as a single signal. In block 906 the processor 214 may combine signal data for the two or more signals into a signal single entry in the history database. In determination block 908 the processor 214 may determine whether the signals mean averages. If the mean averages (i.e., determination block 908=“Yes”), the processor 214 may identify the signal as having multiple channels in determination block 910. If the mean does not average (i.e., determination block 908=“No”) or after identifying the signal as having multiple channels in determination block 910, in block 914 the processor 214 may determine and store protocol data for the signal. In block 916 the processor 214 may determine and store symbol timing data for the signal, and the method 900 may return to block 902.
FIG. 10 illustrates a process flow of an embodiment method 1000 for calculating signal degradation data. In an embodiment, the operations of method 1000 may be performed by the processor 214 of a spectrum management device 202. In block 1002 the processor may detect a signal. In block 1004 the processor 214 may match the signal to a signal in a static database. In block 1006 the processor 214 may determine noise figure parameters based on data in the static database 236 associated with the signal. As an example, the processor 214 may determine the noise figure of the signal based on parameters of a transmitter outputting the signal according to the static database 236. In block 1008 the processor 214 may determine hardware parameters associated with the signal in the static database 236. As an example, the processor 214 may determine hardware parameters such as antenna position, power settings, antenna type, orientation, azimuth, location, gain, and equivalent isotropically radiated power (EIRP) for the transmitter associated with the signal from the static database 236. In block 1010 processor 214 may determine environment parameters associated with the signal in the static database 236. As an example, the processor 214 may determine environment parameters such as rain, fog, and/or haze based on a delta correction factor table stored in the static database and a provided precipitation rate (e.g., mm/hr). In block 1012 the processor 214 may calculate and store signal degradation data for the detected signal based at least in part on the noise figure parameters, hardware parameters, and environmental parameters. As an example, based on the noise figure parameters, hardware parameters, and environmental parameters free space losses of the signal may be determined. In block 1014 the processor 214 may display the degradation data on a display 242 of the spectrum management device 202. In a further embodiment, the degradation data may be used with measured terrain data of geographic locations stored in the static database to perform pattern distortion, generate propagation and/or next neighbor interference models, determine interference variables, and perform best fit modeling to aide in signal and/or system optimization.
FIG. 11 illustrates a process flow of an embodiment method 1100 for displaying signal and protocol identification information. In an embodiment, the operations of method 1100 may be performed by a processor 214 of a spectrum management device 202. In block 1102 the processor 214 may compare the signal parameters and protocol data of an identified signal to signal parameters and protocol data in a history database 232. In an embodiment, a history database 232 may be a database storing signal parameters and protocol data for previously identified signals. In block 1104 the processor 214 may determine whether there is a match between the signal parameters and protocol data of the identified signal and the signal parameters and protocol data in the history database 232. If there is not a match (i.e., determination block 1104=“No”), in block 1106 the processor 214 may store the signal parameters and protocol data as a new signal in the history database 232. If there is a match (i.e., determination block 1104=“Yes”), in block 1108 the processor 214 may update the matching signal parameters and protocol data as needed in the history database 232.
In block 1110 the processor 214 may compare the signal parameters and protocol data of the identified signal to signal parameters and protocol data in the signal characteristic listing 236. In determination block 1112 the processor 214 may determine whether the signal parameters and protocol data of the identified signal match any signal parameters and protocol data in the signal characteristic listing 236. If there is a match (i.e., determination block 1112=“Yes”), in block 1114 the processor 214 may indicate a match in the history database and in block 1118 may display an indication of the signal identification and protocol on a display. If there is not a match (i.e., determination block 1112=“No”), in block 1116 the processor 214 may display an indication that the signal is an unidentified signal. In this manner, the user may be notified a signal is present in the environment, but that the signal does not match to a signal in the characteristic listing.
FIG. 12A is a block diagram of a spectrum management device 1202 according to an embodiment. Spectrum management device 1202 is similar to spectrum management device 802 described above with reference to FIG. 8A, except that spectrum management device 1202 may include TDOA/FDOA module 1204 and modulation module 1206 enabling the spectrum management device 1202 to identify the modulation type employed by a signal of interest and calculate signal origins. The modulation module 1206 may enable the signal processor to determine the modulation applied to signal, such as frequency modulation (e.g., FSK, MSK, etc.) or phase modulation (e.g., BPSK, QPSK, QAM, etc.) as well as to demodulate the signal to identify payload data carried in the signal. The modulation module 1206 may use payload data 1221 from the characteristic listing to identify the data types carried in a signal. As examples, upon demodulating a portion of the signal the payload data may enable the processor 214 to determine whether voice data, video data, and/or text based data is present in the signal. The TDOA/FDOA module 1204 may enable the signal processor 214 to determine time difference of arrival for signals or interest and/or frequency difference of arrival for signals of interest. Using the TDOA/FDOA information estimates of the origin of a signal may be made and passed to a mapping module 1225 which may control the display 242 to output estimates of a position and/or direction of movement of a signal.
FIG. 12B is a schematic logic flow block diagram illustrating logical operations which may be performed by a spectrum management device according to an embodiment. Only those logical operations illustrated in FIG. 12B different from those described above with reference to FIG. 8B will be discussed. A magnitude squared 1252 operation may be performed on data from the symbol detector 852 to identify whether frequency or phase modulation is present in the signal. Phase modulated signals may be identified by the phase modulation 1254 processes and frequency modulated signals may be identified by the frequency modulation 1256 processes. The modulation information may be passed to a signal parameters, protocols, and modulation module 1258.
FIG. 13 illustrates a process flow of an embodiment method 1300 for estimating a signal origin based on a frequency difference of arrival. In an embodiment, the operations of method 1300 may be performed by a processor 214 of a spectrum management device 1202. In block 1302 the processor 214 may compute frequency arrivals and phase arrivals for multiple instances of an identified signal. In block 1304 the processor 214 may determine frequency difference of arrival for the identified signal based on the computed frequency difference and phase difference. In block 1306 the processor may compare the determined frequency difference of arrival for the identified signal to data associated with known emitters in the characteristic listing to estimate an identified signal origin. In block 1308 the processor 214 may indicate the estimated identified signal origin on a display of the spectrum management device. As an example, the processor 214 may overlay the estimated origin on a map displayed by the spectrum management device.
FIG. 14 illustrates a process flow of an embodiment method for displaying an indication of an identified data type within a signal. In an embodiment, the operations of method 1400 may be performed by a processor 214 of a spectrum management device 1202. In block 1402 the processor 214 may determine the signal parameters for an identified signal of interest. In block 1404 the processor 214 may determine the modulation type for the signal of interest. In block 1406 the processor 214 may determine the protocol data for the signal of interest. In block 1408 the processor 214 may determine the symbol timing for the signal of interest. In block 1410 the processor 214 may select a payload scheme based on the determined signal parameters, modulation type, protocol data, and symbol timing. As an example, the payload scheme may indicate how data is transported in a signal. For example, data in over the air television broadcasts may be transported differently than data in cellular communications and the signal parameters, modulation type, protocol data, and symbol timing may identify the applicable payload scheme to apply to the signal. In block 1412 the processor 214 may apply the selected payload scheme to identify the data type or types within the signal of interest. In this manner, the processor 214 may determine what type of data is being transported in the signal, such as voice data, video data, and/or text based data. In block 1414 the processor may store the data type or types. In block 1416 the processor 214 may display an indication of the identified data types.
FIG. 15 illustrates a process flow of an embodiment method 1500 for determining modulation type, protocol data, and symbol timing data. Method 1500 is similar to method 900 described above with reference to FIG. 9, except that modulation type may also be determined. In an embodiment, the operations of method 1500 may be performed by a processor 214 of a spectrum management device 1202. In blocks 902, 904, 905, 906, 908, and 910 the processor 214 may perform operations of like numbered blocks of method 900 described above with reference to FIG. 9. In block 1502 the processor may determine and store a modulation type. As an example, a modulation type may be an indication that the signal is frequency modulated (e.g., FSK, MSK, etc.) or phase modulated (e.g., BPSK, QPSK, QAM, etc.). As discussed above, in block 914 the processor may determine and store protocol data and in block 916 the processor may determine and store timing data.
In an embodiment, based on signal detection, a time tracking module, such as a TDOA/FDOA module 1204, may track the frequency repetition interval at which the signal is changing. The frequency repetition interval may also be tracked for a burst signal. In an embodiment, the spectrum management device may measure the signal environment and set anchors based on information stored in the historic or static database about known transmitter sources and locations. In an embodiment, the phase information about a signal be extracted using a spectral decomposition correlation equation to measure the angle of arrival (“AOA”) of the signal. In an embodiment, the processor of the spectrum management device may determine the received power as the Received Signal Strength (“RSS”) and based on the AOA and RSS may measure the frequency difference of arrival. In an embodiment, the frequency shift of the received signal may be measured and aggregated over time. In an embodiment, after an initial sample of a signal, known transmitted signals may be measured and compared to the RSS to determine frequency shift error. In an embodiment, the processor of the spectrum management device may compute a cross ambiguity function of aggregated changes in arrival time and frequency of arrival. In an additional embodiment, the processor of the spectrum management device may retrieve FFT data for a measured signal and aggregate the data to determine changes in time of arrival and frequency of arrival. In an embodiment, the signal components of change in frequency of arrival may be averaged through a Kalman filter with a weighted tap filter from 2 to 256 weights to remove measurement error such as noise, multipath interference, etc. In an embodiment, frequency difference of arrival techniques may be applied when either the emitter of the signal or the spectrum management device are moving or when then emitter of the signal and the spectrum management device are both stationary. When the emitter of the signal and the spectrum management device are both stationary the determination of the position of the emitter may be made when at least four known other known signal emitters positions are known and signal characteristics may be available. In an embodiment, a user may provide the four other known emitters and/or may use already in place known emitters, and may use the frequency, bandwidth, power, and distance values of the known emitters and their respective signals. In an embodiment, where the emitter of the signal or spectrum management device may be moving, frequency deference of arrival techniques may be performed using two known emitters.
FIG. 16 illustrates an embodiment method for tracking a signal origin. In an embodiment, the operations of method 1600 may be performed by a processor 214 of a spectrum management device 1202. In block 1602 the processor 214 may determine a time difference of arrival for a signal of interest. In block 1604 the processor 214 may determine a frequency difference of arrival for the signal interest. As an example, the processor 214 may take the inverse of the time difference of arrival to determine the frequency difference of arrival of the signal of interest. In block 1606 the processor 214 may identify the location. As an example, the processor 214 may determine the location based on coordinates provided from a GPS receiver. In determination block 1608 the processor 214 may determine whether there are at least four known emitters present in the identified location. As an example, the processor 214 may compare the geographic coordinates for the identified location to a static database and/or historical database to determine whether at least four known signals are within an area associated with the geographic coordinates. If at least four known emitters are present (i.e., determination block 1608=“Yes”), in block 1612 the processor 214 may collect and measure the RSS of the known emitters and the signal of interest. As an example, the processor 214 may use the frequency, bandwidth, power, and distance values of the known emitters and their respective signals and the signal of interest. If less than four known emitters are present (i.e., determination block 1608=“No”), in block 1610 the processor 214 may measure the angle of arrival for the signal of interest and the known emitter. Using the RSS or angle or arrival, in block 1614 the processor 214 may measure the frequency shift and in block 1616 the processor 214 may obtain the cross ambiguity function. In determination block 1618 the processor 214 may determine whether the cross ambiguity function converges to a solution. If the cross ambiguity function does converge to a solution (i.e., determination block 1618=“Yes”), in block 1620 the processor 214 may aggregate the frequency shift data. In block 1622 the processor 214 may apply one or more filter to the aggregated data, such as a Kalman filter. Additionally, the processor 214 may apply equations, such as weighted least squares equations and maximum likelihood equations, and additional filters, such as a non-line-of-sight (“NLOS”) filters to the aggregated data. In an embodiment, the cross ambiguity function may resolve the position of the emitter of the signal of interest to within 3 meters. If the cross ambiguity function does not converge to a solution (i.e., determination block 1618=“No”), in block 1624 the processor 214 may determine the time difference of arrival for the signal and in block 1626 the processor 214 may aggregate the time shift data. Additionally, the processor may filter the data to reduce interference. Whether based on frequency difference of arrival or time difference of arrival, the aggregated and filtered data may indicate a position of the emitter of the signal of interest, and in block 1628 the processor 214 may output the tracking information for the position of the emitter of the signal of interest to a display of the spectrum management device and/or the historical database. In an additional embodiment, location of emitters, time and duration of transmission at a location may be stored in the history database such that historical information may be used to perform and predict movement of signal transmission. In a further embodiment, the environmental factors may be considered to further reduce the measured error and generate a more accurate measurement of the location of the emitter of the signal of interest.
The processor 214 of spectrum management devices 202, 802 and 1202 may be any programmable microprocessor, microcomputer or multiple processor chip or chips that can be configured by software instructions (applications) to perform a variety of functions, including the functions of the various embodiments described above. In some devices, multiple processors may be provided, such as one processor dedicated to wireless communication functions and one processor dedicated to running other applications. Typically, software applications may be stored in the internal memory 226 or 230 before they are accessed and loaded into the processor 214. The processor 214 may include internal memory sufficient to store the application software instructions. In many devices the internal memory may be a volatile or nonvolatile memory, such as flash memory, or a mixture of both. For the purposes of this description, a general reference to memory refers to memory accessible by the processor 214 including internal memory or removable memory plugged into the device and memory within the processor 214 itself.
The foregoing method descriptions and the process flow diagrams are provided merely as illustrative examples and are not intended to require or imply that the steps of the various embodiments must be performed in the order presented. As will be appreciated by one of skill in the art the order of steps in the foregoing embodiments may be performed in any order. Words such as “thereafter,” “then,” “next,” etc. are not intended to limit the order of the steps; these words are simply used to guide the reader through the description of the methods. Further, any reference to claim elements in the singular, for example, using the articles “a,” “an” or “the” is not to be construed as limiting the element to the singular.
The various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
The hardware used to implement the various illustrative logics, logical blocks, modules, and circuits described in connection with the aspects disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but, in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Alternatively, some steps or methods may be performed by circuitry that is specific to a given function.
In one or more exemplary aspects, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored as one or more instructions or code on a non-transitory computer-readable medium or non-transitory processor-readable medium. The steps of a method or algorithm disclosed herein may be embodied in a processor-executable software module which may reside on a non-transitory computer-readable or processor-readable storage medium. Non-transitory computer-readable or processor-readable storage media may be any storage media that may be accessed by a computer or a processor. By way of example but not limitation, such non-transitory computer-readable or processor-readable media may include RAM, ROM, EEPROM, FLASH memory, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that may be used to store desired program code in the form of instructions or data structures and that may be accessed by a computer. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above are also included within the scope of non-transitory computer-readable and processor-readable media. Additionally, the operations of a method or algorithm may reside as one or any combination or set of codes and/or instructions on a non-transitory processor-readable medium and/or computer-readable medium, which may be incorporated into a computer program product.
The preceding description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the following claims and the principles and novel features disclosed herein.

## Claims

1. A method for using a spectrum analysis and management device, comprising steps of:
providing a device including a housing, at least one radio frequency (RF) receiver coupled with at least one processor, and a memory;
receiving RF energy measurements from the RF receiver, the RF energy measurements corresponding to at least one signal of interest;
determining a geographic location of the signal of interest based on location input data;
determining a time associated with the RF energy measurements and converting the received RF energy measurements into spectral representation data;
processing spectrum power density data as received and processing in-phase quadrature (I/Q) data by fast parallel adaptive filter processes to generate a power spectrum;
analyzing the spectral representation data to identify the signal of interest above a power threshold and to determine at least one signal parameter of the signal of interest;
comparing the signal parameter of the signal of interest to signal characteristic listing data in the memory to determine whether the signal parameter of the signal of interest matches corresponding signal parameters in the signal characteristic listing data;
calculating signal degradation using hardware parameters, environment parameters and terrain data;
identifying the signal of interest in near real-time for the location input data and the RF energy measurements based upon whether the signal parameter of the signal of interest, in combination with the signal degradation, matches any signal parameters in the signal characteristic listing data;
determining a modulation type, a protocol, and a symbol rate for each of the identified signal(s) of interest;
storing the signal parameter data, the modulation type, the protocol, the symbol rate, the location of the device, and the time associated with the RF energy measurements in a history database in the memory;
generating a visual representation of the signal of interest.

2. The method of claim 1, further comprising steps of:
identifying a payload scheme associated with the identified signal of interest from the characteristic listing data in the memory based on the determined signal parameter data, the modulation type, the protocol, and the symbol rate;
identifying at least one data type communicated by the identified signal of interest by using the payload scheme.

3. The method of claim 1, further comprising steps of:
demodulating a portion of payload data;
determining whether voice data, video data, and/or text based data is present in the identified signal of interest using the demodulated payload data portion.

4. The method of claim 1, further comprising steps of:
sampling the received RF data by fast analog down-conversion of the RF signals received;
processing the down-converted RF signals using fast convolution filters;
determining the power spectrum including translated spectral data including measured values of signal energy, frequency, and time for each signal of interest.

5. The method of claim 1, further comprising a step of processing the received or measured data to provide attributes of the signal of interest.

6. The method of claim 1, wherein the power spectrum includes signal power, bandwidth, center frequency, and time of arrival (TOA) measurement data for the signal of interest.

7. The method of claim 1, wherein the device further includes a spectrum analysis module within the housing for determining the spectral components of each signal of interest.

8. The method of claim 7, further comprising a step of the spectrum analysis module generating a query to a static database to classify each signal of interest.

9. The method of claim 8, wherein the static database includes information used for determining spectral density, center frequency, bandwidth, baud rate, modulation type, protocol, system or carrier using licensed spectrum, source location of the signal of interest, and timestamp of the signal of interest.

10. The method of claim 1, wherein the device further includes a multi-core processor for near-real time analysis and identification of the signal of interest.

11. The method of claim 1, further comprising a step of selecting the signal power threshold and a frequency range.

12. The method of claim 1, wherein the characteristic listing includes protocol data, environment data, and noise data.

13. The method of claim 1, wherein the fast parallel adaptive filter processes include determining a mean correlation value of a spectral decomposition and/or signals mean averaging to analyze the signal data, where more than two signals of interest are detected in a spectrum of interest, thereby determining whether the signals of interest are interrelated.

14. The method of claim 1, wherein the fast parallel adaptive filter processes include near real-time analyzing of a plurality of signal parameters at one time for each signal of interest.

15. The method of claim 14, wherein the fast parallel adaptive filter processes further include cyclic processes averaging and correlating information from the signal of interest by extracting changes associated with the signal of interest.

16. The method of claim 15, further comprising a step of:
wherein the changes include a combination of amplitude and frequency changes that are averaged over bandwidth and time;
computing a modulation type, changes in frequency offsets, orthogonal frequency division modulation, changes in time, and/or changes in I/Q phase rotation using the changes.

17. The method of claim 15, further comprising a step of storing the changes in the memory.

18. The method of claim 15, further comprising a step of analyzing the signal data to identify the signal of interest using the changes.

19. The method of claim 15, wherein the changes are included in the signal parameter.

20. A method of using a spectrum analysis and management device comprising steps of:
providing a device including at least one processor and at least one memory operable for parallel processing by modules included within a housing;
a signal detection module receiving signal data from a radio frequency (RF) receiver;
a spectrum analysis module determining spectral components of at least one signal of interest;
the spectrum analysis module providing the spectral components to a data extraction module;
the data extraction module determining bandwidth and protocol information;
a modulation module determining modulation type, including frequency or phase, demodulating the signal of interest, identifying payload data and data types;
a spectrum management module generating queries to a static database to classify the signal of interest based upon the spectral components of the signal of interest in comparison to static data in the static database, and to historical data stored on the memory, wherein the memory further includes hardware parameters, environment parameters and terrain data for calculating signal degradation of the signal of interest;
a comparison module matching data generated by the signal detection module with the historical data, the static data, and/or the characteristic listing data.

21. The method of claim 20, wherein the parallel processing includes near real-time analysis of a plurality of signal parameters at one time for each signal of interest.

22. The method of claim 20, wherein the parallel processing includes cyclic processes averaging and correlating information from the signal of interest by extracting changes associated with the signal of interest.

23. The method of claim 22, further comprising a step of:
wherein the changes include a combination of amplitude and frequency changes that are averaged over bandwidth and time;
computing a modulation type, changes in frequency offsets, orthogonal frequency division modulation, changes in time, and/or changes in I/Q phase rotation using the changes.

24. The method of claim 20, wherein the device further includes a multi-core processor for near-real time analysis and identification of the signal of interest.

25. The method of claim 20, further comprising a step of the signal detection module receiving signal data and generating signal parameters, including a modulation, a protocol, a symbol timing, and a payload scheme, which are provided to the comparison module for determining identification of the signal of interest and type of payload data of the signal of interest.

26. The method of claim 20, wherein the signal parameters include center frequency, bandwidth, power, frequency peak, peak power, average power, and signal duration for the signal of interest.

27. The method of claim 20, wherein the static data includes information used to determine spectral density, center frequency, bandwidth, baud rate, modulation type, protocol, system or carrier using licensed spectrum, source location of the signal of interest, and timestamp of the signal of interest.

28. The method of claim 20, further comprising a step of storing changes associated with the signal of interest in the memory and using the changes for near real-time processing of the signal data for signal identification.

29. The method of claim 20, wherein the signal identification for the signal of interest includes factors of modulation type, protocol, symbol timing data, frequency repetition interval, and/or type of data being transported in the at least one signal of interest, wherein the type of data is selected from voice, video, and/or text data.

30. The method of claim 20, further comprising a step of apply a Fast Fourier Transform to the signal data for transforming the signal data into spectral representation data, including I/Q data.