An entity may intentionally attempt to “jam” one or more frequency bands that the entity believes other entities are using to communicate.
In one embodiment a method is provided. The method includes sending, by a first mobile device to a radio communicatively coupled to the first mobile device, an instruction to monitor a frequency band. The method further includes determining that the frequency band is jammed by a jamming source. The method further includes receiving, by the first mobile device from the radio, signal waveform information corresponding to the frequency band that is received by the radio from a 360 span about the radio. The method further includes determining, by the first mobile device based on the signal waveform information, a direction of the jamming source. The method further includes presenting, by the first mobile device on a display device, information that indicates that the frequency band is being jammed, and a direction of the jamming source.
In another embodiment a mobile computing device is provided. The mobile computing device includes a memory, and a processor device coupled to the memory configured to send, to a radio communicatively coupled to the first mobile device, an instruction to monitor a frequency band. The processor device is further configured to determine that the frequency band is jammed by a jamming source. The processor device is further configured to receive, from the radio, signal waveform information corresponding to the frequency band that is received by the radio from a 360 span about the radio. The processor device is further configured to determine, based on the signal waveform information, a direction of the jamming source. The processor device is further configured to present, on the display device, information that indicates that the frequency band is being jammed, and a direction of the jamming source.
In another embodiment another method is provided. The method includes receiving, by a first mobile device from a second mobile device, a first message that a first frequency band is being jammed, a first direction of a jamming source, and a first location of the second mobile device. The method further includes receiving, by the first mobile device from a third mobile device, a second message that the first frequency band is being jammed, a second direction of the jamming source, and a second location of the second mobile device. The method further includes generating, by the first mobile device, user interface imagery that depicts a map of a geographic area that encompasses the first mobile device, the second mobile device and the third mobile device. The method further includes overlaying, on the map, location indicators that identify locations of the first mobile device, the second mobile device and the third mobile device with respect to the geographic area. The method further includes overlaying, on the map, direction indicators that indicate a direction of the jamming source with respect to the first location and the second location. The method further includes presenting the user interface imagery on a display device.
Individuals will appreciate the scope of the disclosure and realize additional aspects thereof after reading the following detailed description of the examples in association with the accompanying drawing figures.
The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the disclosure and, together with the description, serve to explain the principles of the disclosure.
The examples set forth below represent the information to enable individuals to practice the examples and illustrate the best mode of practicing the examples. Upon reading the following description in light of the accompanying drawing figures, individuals will understand the concepts of the disclosure and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.
Any flowcharts discussed herein are necessarily discussed in some sequence for purposes of illustration, but unless otherwise explicitly indicated, the examples are not limited to any particular sequence of steps. The use herein of ordinals in conjunction with an element is solely for distinguishing what might otherwise be similar or identical labels, such as “first message” and “second message,” and does not imply an initial occurrence, a quantity, a priority, a type, an importance, or other attribute, unless otherwise stated herein. The term “about” used herein in conjunction with a numeric value means any value that is within a range of ten percent greater than or ten percent less than the numeric value. As used herein and in the claims, the articles “a” and “an” in reference to an element refers to “one or more” of the element unless otherwise explicitly specified. The word “or” as used herein and in the claims is inclusive unless contextually impossible. As an example, the recitation of A or B means A, or B, or both A and B. The word “data” may be used herein in the singular or plural depending on the context.
The term “frequency band” as used herein refers to one frequency or a consecutive series of frequencies that range from a first frequency to a second frequency. An entity may intentionally attempt to “jam” a frequency band that the entity believes other entities are using to communicate. The term “jamming” as used herein refers to the wireless transmission of energy in an attempt to limit or disrupt wireless communications.
When frequency bands used for communications are jammed (e.g., energy being transmitted on the frequency band inhibits or otherwise disrupts communications using the frequency bands), it may be desirable to determine which frequency bands are being jammed and which frequency bands are not being jammed, and it may also be desirable to determine a direction of the jamming source. It may be even more desirable to determine a location of the jamming source.
The embodiments disclosed herein include a jamming detection system (JDS), that includes a mobile device, such as a laptop computer, a tablet computer, a mobile phone (such as an Android or iOS smart phone), or the like, that interfaces with a radio, such as a software defined radio (SDR), to detect frequency bands that are being jammed and the direction of the jamming source. The mobile device may be a special-purpose mobile device, or the mobile device may be a generally available mobile device such as an Android or iPhone mobile device that has software installed (sometimes referred to herein as “InstaJam”, “the plugin”, or the “controller”) that implements the functionality described herein. The mobile device receives signal information from the SDR and monitors desired frequency bands to detect those frequency bands that are being jammed. In some embodiments, the mobile device identifies a direction of the jamming source. In some embodiments, the mobile device may communicate with other mobile devices via, for example, a mesh network that facilitates message propagation among the plurality of mobile devices, such that the mobile device can identify a location of the jamming source via, for example, triangulation.
In some embodiments, user interfaces (UIs) provide information to identify jammed frequency bands and unjammed frequency bands, as well as direction and/or locations of one or more jamming sources may be presented to the user. The UIs may also display a heatmap, which includes the presentation of a map of a geographic area and points that correspond to the current and recent previous locations of JDSs that are connected to the mesh network. The heatmap may also include information that indicates where jamming has been detected, direction finding points (such as an arrow pointing in the direction of a jamming source), and/or jammer localization points (such as an indicator of a location of a jamming source). The points indicating where jamming has been detected may fade over time as points get older.
The controller 24 may also, as described in greater detail below, present user interfaces (UIs) on the display device 20 to obtain information from a user 26 and present information to the user 26. As an example, the UI may allow the user 26 to add, edit, or delete frequency bands that the user 26 wishes to monitor or no longer monitor.
The controller 24 may use digital signal processing such as, by way of non-limiting example, a Fast Fourier Transform (FFT) on the received signal waveform information or, in some implementations, a machine learning model, to detect jamming information across various frequency bands. The controller 24 may store quadrature (IQ) samples and jamming information for each frequency band to the storage device 18.
The environment 8 may also include a plurality of other JDSs 10-2-10-4, each of which may have a mobile device 12 and radio 22 and be substantially configured as described herein with regard to the JDS 10-1. The JDSs 10-1-10-4 may be referred to collectively or generally as the JDSs 10. While for purposes of illustration only four JDSs 10 are illustrated, it will be apparent that the environment 8 may comprise any number of JDSs 10, such as, for example, tens, hundreds, or thousands of JDSs 10.
In some implementations, the JDSs 10 can connect to one another over a mesh network topology to aggregate directional and RF signal information from any number of JDSs 10. Each mobile device 12 in a JDS 10 may include a mesh node to implement the aspects of a mesh network 27 described herein. The mobile devices 12 can also, if desired, relay information to a central control device 28 to collectively monitor the frequency bands individually monitored by each mobile device 12. In some embodiments, a mobile device 12 in one of the JDSs 10 may be designated as the central control device 28. The mesh network 27 may also propagate new frequency bands to monitor for each JDS 10.
The mesh network 27 may facilitate the distribution of jamming information determined by each JDS 10 among all the JDSs 10. In some implementations a JDS 10 may utilize a combination of Line-of-Sight (LOS) and Beyond-Line-of-Sight (BLOS)/satellite communication (SATCOM) devices to send messages quickly to other JDSs 10 in close proximity and those beyond radio signal ranges. By way of non-limiting example, a LOS device may be a GoTenna Pro X LOS device and a BLOS device may be a SomeWear puc device. As a JDS 10 receives a message via the mesh network 27, the JDS 10 propagates the message to nearby JDSs 10 such that a message is ultimately propagated to each JDS 10. Each message may include a unique identifier and be stored locally, such as in a data structure, such as a database, on each respective JDS 10. Duplicate messages may therefore be identified and dropped.
In some embodiments, each JDS 10 may broadcast out to other JDSs 10 messages (sometimes referred to herein as “markers”) that contain information that identifies the message type, the frequency bands that the JDS 10 has determined as being jammed, and for each such frequency band, if available, a direction or a location of the jamming source. The term jamming source refers to an electromagnetic radiation transmitter that transmits energy on one or more frequency bands. The information may also include, for each message, a frequency band identifier that identifies a frequency band, a jamming status, a timestamp, a latitude and longitude of the JDS 10, direction information (e.g., degrees with respect to north, sometimes referred to herein as “direction find” data points) of a determined direction of the jamming source, and an icon identifier that identifies an icon to be presented on the heatmap. When a JDS 10 receives this information from other JDSs 10, the receiving JDS 10 may store the information in a data structure, such as a database. The JDS 10 may also plot on a map the status of frequency bands analyzed at the locations of the other JDSs 10. The receiving JDS 10 may also determine if a localization that identifies a jammer's location can be performed. Typically, three independent direction samples are needed. If the JDS 10 has the direction of a jammer from three locations, the JDS 10 may perform a triangulation operation to identify a location of the jamming source.
A jam status message type also includes metadata about the frequency, jam status determination, and if a direction find was completed, a direction angle. A predicted jammer message type includes metadata about the predicted latitude and longitude of the jamming source and the individual direction find data points used to create the triangulation prediction. Each direction find data point may include the timestamp of the direction find and the degrees with respect to north that were calculated.
If a JDS 10 receives three initial messages that include direction find data points, the JDS 10 may perform a triangulation calculation to predict the location of a jamming source. If the JDS 10 subsequently receives additional direction find data points from a JDS 10, or generates its own direction find data points using the antenna on the corresponding radio 22 (as will be described in greater detail below), the JDS 10 performs a new triangulation calculation to increase the accuracy of the predicted location of the jamming source. The JDS 10 may also utilize only those direction find data points that have been generated by a JDS 10 within a predetermined timeframe, such as only those generated in the previous 30 minutes. Such timeframe may be user configurable. The JDS 10 may also rebroadcast the newly predicted location of the jamming source to other JDSs 10, and update the heatmap with the newly estimated location of the jamming source.
In some embodiments, the mobile device 12 presents a UI via which the user 26 can identify frequency bands for monitoring. The mobile device 12 may then instruct the radio 22 to monitor the identified frequency bands. The radio 22 may sample the waveforms of the identified frequency bands and provide the signal waveform information in the form of sampled waveforms to the mobile device 12. The mobile device 12 may perform a Fast Fourier transform on the samples to convert the raw IQ samples received from the radio 22 into amplitude and power information.
As discussed above, the embodiments also facilitate the creation of the mobile mesh network 27 to monitor the defined radio frequency communications spectrum. The plurality of mobile devices 12 in the JDSs 10 can choose to form an IP-based mesh network connection, enabling the JDSs 10 to collectively monitor the entire communications spectrum, wherein some JDSs 10 may monitor different frequency bands. In some embodiments, the mesh network node on a mobile device 12 in a JDS 10 may request another mobile device 12 in another JDS 10 to monitor one or more frequency bands, to distribute workload across the JDSs 10. The mesh network node in one mobile device 12 may determine that the mobile device 12 is reaching a processing capacity limit and direct another mobile device 12 to begin monitoring a frequency band previously monitored by the mobile device 12 to reduce the processing load on the mobile device 12. The mesh network 27 can also distribute the jamming information computed from each JDS 10 to each other JDS 10. The mesh network 27 propagates a message to nearby JDSs 10, eventually propagating each message to the entire operating zone of JDSs 10. A singular message update may be distributed to every JDS 10 in the network exactly once, discarding duplicates of the same message identifier. A UI can be generated that visualizes the jamming record for each frequency band over time to visualize the extent and direction of jamming source(s) using, for example, a heatmap display.
The controller 24 may receive raw amplitude and power values generated by the radio 22, or may receive signal waveform information in any other suitable format, such as signal waveform information in an in-phase and quadrature (IQ) format. Such information may be received via any suitable mechanism, including, by way of non-limiting example, a websocket or inter-process communication (IPC) mechanism, to make a jamming determination based on the below discussed algorithms.
In the latter situation, radio 22 samples the waveform in in-phase and quadrature (IQ) format and provides signal waveform information in the form of IQ samples to the controller 24 at a particular sample rate. The controller 24 may perform a Fast Fourier transform (FFT) over the samples to convert the IQ samples into amplitude and power values. The controller 24 may use a spectral flatness detection system that receives the list of amplitude and power values. Flatness may be defined as the geometric mean divided by the arithmetic mean of all features, over the Fourier spectrum as the measure. The resulting flatness measure is a number within the range of 0 to 1. 1 is denoted as flat noise and 0 is denoted as pure tone.
This flatness measure is then compared to a list of non-overlapping ranges which represent each jamming status (no signal, not jammed, and jammed). Such ranges may be determined based on captured experimental data and manual visual determination of the plotted information into classified categories of Jammed, Unjammed, and No Signal. The range the measure fits into is the determined jamming status.
In another embodiment, the controller 24 may check each frequency band's amplitude and power values to see if it exceeds the user-defined threshold for what is considered jamming. The controller 24 may determine an additional threshold for noise by sampling the environment and typical usage of the frequency band (this basically determines a baseline normal “noise level” in an environment. Anything that exceeds this baseline by a certain threshold is determined to be “jamming”).
The controller 24 may also perform a machine learning model waveform classification based on IQ samples as a means to filter out friendly communication and target enemy jamming more easily. This model is utilized when the input data stream consists of IQ samples. The machine learning model is trained to receive IQ samples and frequency band identifiers and outputs a jamming status. The machine learning model is capable of transfer learning so that users can tune the existing model weights with samples from specialized environments to optimize performance of the machine learning model.
The controller 24 may also perform a machine learning model waveform classification based on the amplitude and power data for each frequency band as a means to filter out friendly communication and target enemy jamming more easily. This machine learning model is utilized when the input data stream consists of raw amplitude and power data rather than IQ samples.
The machine learning model is trained to receive raw amplitude and power data as identifiers and outputs a jamming status. The machine learning model is capable of transfer learning so that users can tune the existing model weights with samples from specialized environments to optimize performance of the machine learning model.
The controller may generate and present UI imagery 32 on the display device 20 that contains three frequency band controls 34-1-34-3, which correspond, respectively, to the three frequency bands 30-1-30-3. Each of the three frequency band controls 34-1-34-3 may be given a particular visual characteristic, such as a size, a shape, a textual color, a background color, or any other suitable characteristic based on whether the corresponding frequency bands 30-1-30-3 are jammed, not jammed, or are undetermined. In this example the visual characteristic is a color and a particular color may be used to indicate which of the frequency bands 30-1-30-3 are jammed, not jammed, or are undetermined.
In this example, a background of the frequency band control 34-1 is colored red to indicate that the frequency band 30-1 is jammed. The backgrounds of the frequency band controls 34-2 and 34-3 are colored green to indicate that the frequency bands 30-2 and 30-3 are not jammed.
The user 26 selects the frequency band 30-1 by touching the corresponding frequency band control 34-1 on the display device 20 to cause the controller 24 to enter a jamming direction mode. The user 26 may then rotate an antenna 36, such as a non-azimuth (non-omnidirectional) antenna, that is coupled to the radio 22 360 degrees. As the user 26 is rotating the antenna 36, the radio 22 provides signal waveform information that corresponds to the frequency band 30-1, such as a signal waveform to the controller 24 that is received by the radio 22 from a 360 span about the radio.
The controller 24 determines a signal extrema of the signal waveform, and may generate and present, on the display device 20, user interface imagery that indicates a direction of the jamming source. In one implementation, the controller 24 may measure signal amplitude as a function of angle to determine a direction of the jamming source. The mobile device 12 may provide this information (sometimes referred to herein as direction find data point(s)), for example, to the central control device 28 for tactical decision making, and to other JDSs 10 via the mesh network. The mobile device 12 may also generate a UI that depicts a heatmap with jamming direction and present the UI on the display device 20.
The user 26 has defined four other frequency bands and stored them in a BDE folder represented by a BDE folder control 910. The user 26 has defined two additional frequency bands and stored them in a STRIKE folder represented by a STRIKE folder control 912. The user 26 may interact with the UI 900 by one or more controls 914. The user 26 may also select a particular folder control 904, 910 or 912 to expand or collapse the view of the frequency controls that correspond to the frequency bands stored in the corresponding folders. In this example, the user 26 has selected the JARN folder control 904, and upon doing so, the controller 24 presented the frequency controls 902, 906 and 908 in the UI 900.
Each folder control 904, 910, 912 may include a visual characteristic that visually indicates a particular condition, or jamming status, of the frequency bands stored in the folder. A first condition is that no frequency band of the plurality of frequency bands stored in the corresponding folder is being jammed, the second condition is that at least one frequency band of the plurality of frequency bands stored in the corresponding folder is being jammed and at least another frequency of the plurality of frequency bands is not being jammed, and a third condition is that all frequency bands stored in the corresponding folder are being jammed.
The visual characteristic may comprise any desired visually distinguishing feature, such as shape of the folder control 904, 910, 912, size, outline thickness, background color, textual explanation, or the like. In this example, color-coding is used to visually distinguish the three different conditions. In this example, a red dot icon 916 indicates that all frequency bands (two) stored in the STRIKE folder are being jammed. A green dot icon 918 indicates that all (four) frequency bands in the BDE folder are not jammed. The user 26 can also filter frequency bands by name, date added, and jamming status to view the relevant frequency bands on the home screen.
A frequency control may also be given a visual characteristic to allow the user 26 to see the jamming status of any particular frequency band. In this example, the HF/BLUE21 frequency control 902 is given a green background color to indicate that the frequency band that corresponds to the HF/BLUE21 frequency control 902 (214 MHz) is not jammed. The SATCOM frequency control 906 is given a red background color to indicate that the frequency band that corresponds to the SATCOM frequency control 906 (3 GHz) is jammed.
In this example, the controller 24 includes in the UI 1100 a plurality of dots 1106, each of which corresponds to a location of the JDS 10-2 according to the location information provided in messages from the JDS 10-2 at previous points in time. The dots 1106 may be color coded according to a jamming status of a particular frequency band. In this example, the dots 1106 are green, indicating that the particular frequency band is not jammed at the location of the JDS 10-2. One of the dots 1106 may have a visual characteristic that identifies that dot 1106 as the most recent location of the JDS 10-2. The visual characteristic may, for example, be a deeper shade of green than the other dots 1106, a thicker outline, or any other desirable distinguishing visual characteristic. As the dots 1106 “age”, their color may fade, eventually disappearing from the map.
In this example, the controller 24 also includes in the UI 1100 a plurality of dots 1108, each of which corresponds to a location of the JDS 10-3 according to the location information provided in messages from the JDS 10-3 at previous points in time. Again, the dots 1108 may be color coded, or have some other distinguishing visual characteristic, based on a jamming status of a particular frequency band. In this example, the dots 1108 are red, indicating that the particular frequency band is jammed at the location of the JDS 10-3. One of the dots 1108 may have a visual characteristic that identifies that dot 1108 as the most recent location of the JDS 10-3. The JDS 10-1 has received a jamming direction from the JDS 10-3, which is depicted in the UI 1100 via an arrow 1109.
The controller 24 presents a plurality of dots 1110 that correspond to the location of the JDS 10-1 over the period of time.
In some embodiments, the heatmap can be filtered for an individual frequency band or a set of frequency bands. If the direction of the jamming is reported from detection (using the non-azimuth antenna method described above), the source of jamming can be determined by refining the direction (angular range) detection aggregated in jamming detection. If an abundance of directional information is found, a finer location can be triangulated.
The JDS 10-1 generates the UI imagery 1200 that depicts a map of a geographic area that encompasses the JDSs 10. The JDS 10-1 overlays, on the map, location indicators, in this example in the form of circles, that identify locations of the other JDSs 10. The JDS 10-1 also overlays, on the map, the direction indicators 1202 and 1204 that indicate a direction of the location 1208 of the jamming source with respect to the locations of the other JDSs 10, and presents the UI imagery 1201 on the display device 20.
It is noted that, because the controller 24 is a component of the JDS 10-1 and the mobile device 12, functionality implemented by the controller 24 may be attributed to the mobile device 12 or the JDS 10-1 generally. Moreover, in examples where the controller 24 comprises software instructions that program the processor device 14 to carry out functionality discussed herein, functionality implemented by the controller 24 may be attributed herein to the processor device 14.
The system bus 40 may be any of several types of bus structures that may further interconnect to a memory bus (with or without a memory controller), a peripheral bus, and/or a local bus using any of a variety of commercially available bus architectures. The memory 16 may include non-volatile memory 42 (e.g., read-only memory (ROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), etc.), and volatile memory 44 (e.g., random-access memory (RAM)). A basic input/output system (BIOS) 46 may be stored in the non-volatile memory 42 and can include the basic routines that help to transfer information between elements within the mobile device 12. The volatile memory 44 may also include a high-speed RAM, such as static RAM, for caching data. The mobile device 12 may further include or be coupled to a non-transitory computer-readable storage medium such as the storage device 18.
A number of modules can be stored in the storage device 18 and in the volatile memory 44, including an operating system and one or more program modules, such as the controller 24, which may implement the functionality described herein in whole or in part. All or a portion of the examples may be implemented as a computer program product 48 stored on a transitory or non-transitory computer-usable or computer-readable storage medium, such as the storage device 18, which includes complex programming instructions, such as complex computer-readable program code, to cause the processor device 14 to carry out the steps described herein. Thus, the computer-readable program code can comprise software instructions for implementing the functionality of the examples described herein when executed on the processor device 14. The processor device 14, in conjunction with the controller 24 in the volatile memory 44, may serve as a controller, or control system, for the mobile device 12 that is to implement the functionality described herein.
An operator, such as the user 26, may also be able to enter one or more configuration commands through a keyboard (not illustrated), a pointing device such as a mouse (not illustrated), or a touch-sensitive surface such as the display device 20. The mobile device 12 may also include one or more communications interfaces 50 suitable for communicating with the network 27 as appropriate or desired and the radio 22. The radio 22 may include an antenna 52. The radio 22 may be communicatively coupled to the mobile device 12 via any suitable wired or wireless communications interface, such as a USB or USB-C connector, Wi-Fi®, Bluetooth, ZigBee or the like.
Individuals will recognize improvements and modifications to the preferred examples of the disclosure. All such improvements and modifications are considered within the scope of the concepts disclosed herein and the claims that follow.
This application claims the benefit of U.S. Provisional Application No. 63/249,376, filed on Sep. 28, 2021, entitled “MOBILE DEVICE FOR DETECTING AND DISPLAYING RADIO FREQUENCY JAMMING,” the disclosure of which is hereby incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63249376 | Sep 2021 | US |