Patent Publication Number: US-2023163804-A1

Title: Systems and methods for detecting, monitoring, and mitigating the presence of a drone using frequency hopping

Description:
CROSS-REFERENCE TO RELATED APPLICATION(S) 
     This application is a continuation application of U.S. patent application Ser. No. 17/454,477, filed Nov. 10, 2021, and entitled “SYSTEMS AND METHODS FOR DETECTING, MONITORING, AND MITIGATING THE PRESENCE OF A DRONE USING FREQUENCY HOPPING”, which is a continuation application of U.S. patent application Ser. No. 16/886,482, filed May 28, 2020, now U.S. Pat. No. 11,190,233, and entitled “SYSTEMS AND METHODS FOR DETECTING, MONITORING, AND MITIGATING THE PRESENCE OF A DRONE USING FREQUENCY HOPPING”, which claims the benefit of U.S. Provisional Application No. 62/921,033, filed May 29, 2019, each of which is hereby incorporated by reference in its entirety. Any and all priority claims identified in the Application Data Sheet, or any correction thereto, are hereby incorporated by reference under 37 CFR § 1.57. 
    
    
     BACKGROUND 
     Technological Field 
     The systems and methods disclosed herein are directed to detecting, monitoring, and mitigating the presence of a drone. More particularly, the systems and methods can be used to detect the presence of a plurality of drones employing radio-frequency (RF) communications. 
     Description of the Related Technology 
     In recent years, Unmanned Aircraft Systems (UAS), more commonly known as drones, have been used extensively in a large number of exciting and creative applications, ranging from aerial photography, agriculture, product delivery, infrastructure inspection, aerial light shows, and hobbyist drone racing. Despite the usefulness of drones in many applications they also pose increasing security, safety, and privacy concerns. Drones are being used to smuggle weapons and drugs across borders. The use of drones near airports presents safety concerns, which may require airports to shut down until the surrounding airspace is secured. Drones are also used as a tool of corporate and state espionage activities. Thus, there is demand for an effective Counter-Unmanned Aircraft System (CUAS) solution to detect and monitor drones and mitigate the threat of drones when necessary. 
     SUMMARY 
     The systems, methods and devices of this disclosure each have several innovative aspects, no single one of which is solely responsible for the desirable attributes disclosed herein. 
     In one aspect, there is provided a system for detecting presence of a one or more drones, the system comprising: a radio-frequency (RF) receiver configured to receive a first RF signal transmitted between a first drone and a first drone controller, the first RF signal including a first frequency hopping sequence defined by a plurality of first frequency hopping parameters; a processor; and a computer-readable memory in communication with the processor and having stored thereon computer-executable instructions to cause the at least one processor to: receive a sequence set of samples from the RF receiver for a time interval, the set of samples comprising samples of the first RF signal, obtain a parameter model of the first frequency hopping parameters, fit the parameter model to the sequence set of samples by iterating over the following: randomly selecting a first plurality of the samples from the sequence set of samples, estimating the plurality of first frequency hopping parameters based on the selected first plurality of the samples, constructing a first instance of the parameter model based on the estimated plurality of first frequency hopping parameters, and classifying the first plurality of the samples as inliers or outliers by evaluating fitting errors between the first plurality of the samples and the constructed first instance of the parameter model, selecting one of the first instances of the parameter model based on the inliers and outliers for each of the constructed first instances of the parameter model, and identifying the first drone based on the selected first instance of the parameter model. 
     In another aspect, there is provided a method for detecting presence of a drone, the method comprising: receiving a set of samples for a time interval, the set of samples comprising samples of a first RF signal transmitted between a first drone and a first drone controller, the first RF signal including a first frequency hopping sequence defined by a plurality of first frequency hopping parameters; obtaining a parameter model of the first frequency hopping parameters; fitting the parameter model to the set of samples by iterating over the following: randomly selecting a first plurality of the samples from the set of samples, estimating the plurality of first frequency hopping parameters based on the selected first plurality of the samples, constructing a first instance of the parameter model based on the estimated plurality of first frequency hopping parameters, and classifying the first plurality of the samples as inliers or outliers by evaluating fitting errors between the first plurality of the samples and the constructed first instance of the parameter model; selecting one of the first instances of the parameter model based on the inliers and outliers for each of the constructed first instances of the parameter model; and identifying the first drone based on the selected first instance of the parameter model. 
     In yet another aspect, there is provided a non-transitory computer readable storage medium having stored thereon instructions that, when executed, cause a computing device to: receive receiving a set of samples for a time interval, the set of samples comprising samples of a first RF signal transmitted between a first drone and a first drone controller, the first RF signal including a first frequency hopping sequence defined by a plurality of first frequency hopping parameters; obtain a parameter model of the first frequency hopping parameters; fit the parameter model to the set of samples by iterating over the following: randomly selecting a first plurality of the samples from the set of samples, estimating the plurality of first frequency hopping parameters based on the selected first plurality of the samples, constructing a first instance of the parameter model based on the estimated plurality of first frequency hopping parameters, and classifying the first plurality of the samples as inliers or outliers by evaluating fitting errors between the first plurality of the samples and the constructed first instance of the parameter model; select one of the first instances of the parameter model based on the inliers and outliers for each of the constructed first instances of the parameter model; and identify the first drone based on the selected first instance of the parameter model. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG.  1    illustrates an example environment including a drone detection system in accordance with aspects of this disclosure. 
         FIG.  2 A  illustrates an example drone detection system from  FIG.  1    which can be used to detect, monitor, and/or mitigate drones in accordance with aspects of this disclosure. 
         FIG.  2 B  illustrates an example drone from  FIG.  1    which can be detected with the drone detection system of  FIG.  2 A  in accordance with aspects of this disclosure. 
         FIG.  2 C  illustrates an example controller from  FIG.  1    which can be used to control the drone in accordance with aspects of this disclosure. 
         FIG.  2 D  illustrates another example drone detection system which can be used to detect the presence of one or more drones in accordance with aspects of this disclosure. 
         FIG.  2 E  illustrates an example of frequency hopping sequences used by two different drones in accordance with aspects of this disclosure. 
         FIG.  3    illustrates a method for detecting the presence of the drone in accordance with aspects of this disclosure. 
         FIG.  4    illustrates a method for estimating the parameters of the parameter model in accordance with aspects of this disclosure. 
         FIG.  5    is an example method which can be performed by the drone detection system to monitor the one or more drones. 
         FIG.  6    is an example method which can be performed by the drone detection system to mitigate the one or more drones. 
         FIG.  7    is a graph showing the detection probability for different numbers of input samples for HopSAC and LS estimators with no gross errors or timing errors. 
         FIG.  8    is a graph showing the detection probability under the impact of gross errors. 
         FIG.  9    shows the detection probability of the embodiment of the techniques disclosed herein and Least Squares (LS) estimators under the influence of timing errors in increasing variances of timing errors. 
         FIG.  10    shows the target detection probability for different numbers of targets appearing in the input samples. 
     
    
    
     DETAILED DESCRIPTION 
     The fast growth of drone applications in industrial, commercial and consumer domains in recent years has caused great security, safety and privacy concerns. For this reason, demand has been growing for systems and technique for drone detection, monitoring, and mitigation. 
     CUAS systems (or simply “drone detection systems”) may operate using multiple stages. In a first stage, the drone detection system detects the presence of a drone and determine whether the drone is a friend or a foe. The drone detection system can accomplish this by eavesdropping or monitoring the signals exchanged between the drone and the controller. Certain drones can be configured to wirelessly communicate with a controller using a frequency hopping protocol. Certain aspects of this disclosure may relate to detecting frequency hopping parameters which can be used to model frequency hopping-based communications between the drone and the controller. 
     Small drones, which are widely used in recreational and commercial applications, have caused alarming concerns of public safety and homeland security due to frequently reported unauthorized drone incidents in recent years. To effectively disable potential threats from frequency hopping drones and controllers, drone detection systems may be configured to estimate the parameters of the frequency hopping signals with high precision and low complexity for real-time responses. 
     Therefore, it is desirable to provide a model parameter estimation method to meet all these requirements for drone detection systems. Aspects of this disclosure relate to a hopping parameter estimation method based on random sample consensus (which can be referred to as “HopSAC”) to address the above described challenges. Advantageously, aspects of this disclosure can accurately estimate frequency hopping parameters using a relatively small set of samples (in some instances with as few as two samples) in real-time. In one example, the methods disclosed herein can estimate the parameters of a linear frequency hopping sequence and achieve high multiple target detection performance with low implementation complexity that can be realized in real time. Simulation results show that the estimation techniques described herein significantly outperform linear Least Squares methods in achieving exceptional accuracy of model parameter estimation under the impact of gross errors, timing errors, and/or multiple drone targets. 
       FIG.  1    illustrates an example environment  100  including a drone detection system  101  in accordance with aspects of this disclosure. In certain embodiments, the environment  100  includes the drone detection system  101 , one or more drones  103 A- 103 N, and one or more drone controllers  105 A- 105 N (or simply “controllers”). An example of the one or more drones  103 A- 103 N is illustrated in  FIG.  2 B . An example of the one or more controllers  105 A- 105 N is illustrated in  FIG.  2 C . 
     In certain embodiments, each of the drones  103 A- 103 N is configured to communicate to a corresponding one of the controllers  105 A- 105 N via an RF signal  107 A- 107 N. Although not illustrated, in some embodiments, a single one of the controllers  105 A- 105 N may be configured to control more than one of the drones  103 A- 103 N. 
     The drone detection system  101  is configured to receive monitor  109 A- 109 N the communications between the drones  103 A- 103 N and the controllers  105 A- 105 N in order to detect the presence of the drones  103 A- 103 N. For example, the drone detection system  101  may be configured to receive the RF signals  107 A- 107 N being sent between the drones  103 A- 103 N and the controllers  105 A- 105 N in order to monitor  109 A- 109 N the communication between the drones  103 A- 103 N and the controllers  105 A- 105 N. In certain embodiments, once the drone detection system  101  is able to decode the RF signals  107 A- 107 N, the drone detection system  101  may monitor the drones  103 A- 103 N and take certain actions in order to mitigate the potential threat of the drones  103 A- 103 N. For example, as is explained with respect to  FIG.  6   , the drone detection system  101  may transmit a jamming RF signal to disrupt communication between the detected drone  103 A- 103 N and the controller  105 A- 105 N, and/or spoof the controller  105 A- 105 N by sending a command to the drone  103 A- 103 N to land or otherwise leave the environment  100 . 
       FIG.  2 A  illustrates an example drone detection system  101  which can be used to detect the presence of the one or more drones  103 A- 103 N in accordance with aspects of this disclosure. In certain embodiments, the drone detection system  101  includes a processor  111 , a memory  113 , a front end  115 , a plurality of transmit antennae  117 A- 117 N, and a plurality of receive antennae  119 A- 119 N. In other embodiments, one or more of the antennae  117 A- 119 N can be used for both transmitting and receiving signals. 
     In certain embodiments, the drone detection system  101  is configured to receive an RF signal (e.g., the RF signals  107 A- 107 N of  FIG.  1   ) via one of the receive antennae  119 A- 119 N. The one of the receive antennae  119 A- 119 N provides the received RF signal to the front end  115 . In certain embodiments, the front end  115  can process the received RF signal into a format that can be read by the processor  111 . For example, in certain embodiments, the front end  115  may perform one or more of the following actions: filtering, amplifying, analog-to-digital conversion, etc. on the received RF signal. 
     In certain embodiments, the memory  113  can store computer readable instructions for causing the processor  111  to detect the presence of a drone (e.g., the drones  103 A- 103 N of  FIG.  1   ) based on the RF signals received via the receive antennae  119 A- 119 N. In addition, in certain embodiments, the drone detection system  101  can also be configured to provide a signal (e.g., a jamming signal or an RF communication signal) to the front end  115  to be transmitted to the detected drone(s). The front end  115  can then process the signal received from the processor  111  before providing the processed signal to one or more of the transmit antennae  117 A- 117 N. 
     There are a number of different techniques that the drone detection system  101  can use to detect the presence of the drones  103 A- 103 N. For example, the drone detection system  101  can scan the airwaves at frequencies known to be used by particular model(s) of the drones  103 A- 103 N. If a known protocol is identified, the drone detection system  101  can then decode the signal as if it was the intended receiver/controller  105 A- 105 N. Depending on the embodiment, these decoding steps can include: synchronization, channel estimation, deinterleaving, descrambling, demodulation, and error control decoding. In certain embodiments, the drone detection system  101  can be configured to perform some of the aforementioned steps blindly due to lack of knowledge (such as device id) on information known by the controller  105 A- 105 N. As described below, the blind detection of the drones  103 A- 103 N using certain communication protocols (e.g., a synchronization signal) are provided herein. Once detected, the drone detection system  101  can provide alert(s) regarding the presence of the one or more drones  103 A- 103 N. 
     The drone detection system  101  can monitor the presence of the one or more drones  103 A- 103 N. As part of monitoring, a position of the one or more drones  103 A- 103 N relative to the environment  100  can be monitored in real-time to determine if the position of the one or more drones  103 A- 103 N strays inside or outside acceptable airspace. 
     There are also a number of mitigation actions which can be taken by the drone detection system  101 . For example, after detecting the one or more drones  103 A- 103 N, the drone detection system  101  may take one or more of the actions described with reference to  FIG.  6   . For example, in certain embodiments, these actions can include do nothing/keep monitoring, drone-specific jamming, wideband jamming, and control takeover. 
       FIG.  2 B  illustrates an example drone  103  which can be detected with the drone detection system  101  in accordance with aspects of this disclosure. In certain embodiments, the drone  103  includes one or more propellers  121 , one or more motor controllers  123 , a battery or other power source  125 , a memory  127 , a processor  129 , a front end  131 , an antenna  133 , and a camera  135 . As described above, the antenna  133  may be configured to receive RF signals  107  from the controller  105  (see  FIG.  2 C ) and provide RF signals  107  back to the controller  105  (e.g., images obtained from the camera  135 ). In certain embodiments, the RF signals  107  sent/received from the antenna  133  are provided to/from the processor  129  and processed by the front end  131 . In certain embodiments, the propeller(s)  121  provide lift and control movement of the drone  103  as it maneuvers through airspace. The propeller(s)  121  may also include one or more motor(s) (not illustrate) configured to individually power each of the propeller(s)  121 . 
     In certain embodiments, the motor controller(s)  123  are configured to receive instructions from the processor  129  (e.g., based on instructions stored in the memory  127  and the RF signal  107  received from the controller  105 ) to move the drone  103  to a specific point in the airspace and translate the received instructions into motor position commands which are provided to the propeller(s)  121 . In certain embodiments, the battery  125  provides power to each of the components of the drone  103  and has sufficient power storage to enable the propellers  121  to maneuver the drone  103  for a predetermined length of time. The camera  135  can capture images in real-time and provide the captured images to the controller  105  via the antenna  133  which can aid a user in controlling movement of the drone  103 . 
       FIG.  2 C  illustrates an example controller  105  which can be used to control the drone  103  in accordance with aspects of this disclosure. In certain embodiments, the controller  105  comprises a memory  141 , a processor  143 , a front end  145 , an antenna  147 , an input device  149 , and a display  151 . As described above, the antenna  147  may be configured to receive RF signals  107  (e.g., images obtained from the camera  135 ) from the drone  103  (see  FIG.  2 B ) and provide RF signals  107  back to the drone  103  to control movement of the drone  103 . In certain embodiments, the RF signals  107  sent/received from the antenna  147  are provided to/from the processor  143  and processed by the front end  145 . In certain embodiments, the input device  149  is configured to receive input from a user which can be used by the processor  143  to generate commands for controlling movement of the drone  103 . In certain embodiments, the display  151  is configured to display images received from the drone  103  to the user to provide feedback on the current position of the drone  103  and its environment  100 . In some embodiments, the display can be implemented as a pair of goggles worn by the user to provide a first person view of images obtained by the camera  135 . 
       FIG.  2 D  illustrates another example drone detection system  101  which can be used to detect the presence of the one or more drones  103  in accordance with aspects of this disclosure. In particular, the drone detection system  101  illustrated in  FIG.  2 D  is a simplified system model. Depending on the implementation, the drone detection system  101  can include a greater or fewer number of components than shown in  FIG.  2 D . The drone detection system  101  includes a receive antenna  119 , a receiver  161 , a sensor/detector  163 , a HopSAC estimator  165 , a jammer  167 , a transmitter  169 , and a transmit antenna  117 . Although illustrated in separate blocks in  FIG.  2 D , one or more of the blocks  161 - 169  may be implemented together by the same component(s). For example, in one implementation the receiver  161 , the sensor/detector  163 , the jammer  167 , and the transmitter  169  can be implemented by the front end  115  illustrated in  FIG.  2 A , while the HopSAC estimator  165  can be implemented by the processor  111  illustrated in  FIG.  2 A . 
     In certain embodiments, the drone detection system  101  can receive wideband frequency-hopping signals from all of the drones  103  and/or controllers  105  within a detection range of the drone detection system  101 . In certain embodiments, the drone detection system  101  can then store signal parameters for each of the received frequency-hopping signal in the form of pulse descriptor words (PDW) after preprocessing. In some implementations, preprocessing may involve generating clusters of the frequency-hopping signals based on one or more of the following: emitter type or angle of arrival, level control with power squelch, and/or correlation by matched filtering. 
     In certain embodiments, the sensor/detector  163  can determine the presence of a given one of the frequency-hopping signals at time {tilde over (t)} n  and frequency {tilde over (f)} n , where n is the index of the time-frequency samples. In certain embodiments, the sensor/detector  163  can send a set of time-frequency samples {({tilde over (t)} n , {tilde over (f)} n )} every T s  seconds to the HopSAC estimator  165  for parameter estimation. In certain embodiments, the HopSAC estimator  165  can estimate the frequency-hopping parameters and provide the estimated parameters to configure the jammer  167 . In certain embodiments, the transmitter  169  can transmit interference signals for counterattack via the transmit antenna  117 . 
     Detection of Drone(s) Using Frequency Hopping 
     In recent years, the use of drones  103  has gained popularity due to their affordability and versatility. Drones  103  have been widely used in many applications from recreational flying such as drone racing to commercial uses such as package delivery and real estate photography. According to FAA Forecast, the use of non-model (commercial) drones  103  will grow three-fold from 2018 to 2023 whereas the use of model (recreational) drones 103 will increase from 1.25 to 1.39 million units in 5 years. However, unauthorized drone activities and incidents have been reported more and more frequently near airports, stadiums, and borders, which has caused growing concerns about public safety and homeland security. Therefore, an effective drone detection system  101  becomes an indispensable mechanism for law enforcement and military to detect, identify, and disable any potential and imminent threats caused by the improper and unauthorized uses of drones  103 . 
     In certain embodiments, the drone detection system  101  is capable of detecting any wireless signal transmitted from the drones  103  and the controllers  105  when they are in the detection range, and determining when in time and where in frequency the received signals are detected. Nevertheless, the time and frequency information are subject to errors, which can be caused by sensing and measurement errors, channel impairments such as fading and interference, and/or hardware limitations such as carrier frequency offsets and timing jitters. One of the main challenges in detecting the drones  103  is to identify the frequency hopping parameters from these noisy time-frequency samples. The estimation of these parameters is further complicated by multi-target scenarios where multiple drones  103  are present within the detection range. 
     There are many frequency hopping parameter estimation methods based on a variety of techniques: dynamic programming and low-rank trilinear decomposition, sparse linear regression, sparse Bayesian method, and orthogonal matching pursuit. The implementation complexity of these methods is generally too high to be performed in real-time. Thus, they are not suitable for real-time applications that have critical response time constraints. 
     Aspects of this disclosure relates to systems and methods for detection one or more drones  103  using a frequency hopping parameter estimation method (which may be referred to as “HopSAC”) based on the random sample consensus algorithm. Random sample consensus (RANSAC) is a technique for estimating parameters of a model by fitting the model to observation data. Similar to RANSAC, certain methods described herein outperform the linear Least Squares (LS) method for its excellent capability of rejecting gross errors with only a small subset of samples. Gross errors, also known as outliers, are data samples significantly deviating from the majority of observations. The ability of the methods described herein to discard gross errors allows the drone detection system  101  to tolerate a higher false alarm rate for detection at a lower signal-to-noise ratio (SNR). In addition, certain methods described herein are very robust to timing and frequency errors, enabling the jammer  167  to transmit much more precise pulses in time, and thus improving power efficiency and reducing collateral damage. 
     Aspects of the HopSAC techniques described herein provide effective ways for drone detection systems  101  to achieve high performance of estimation accuracy with low complexity in the real-time parameter estimation of frequency hopping drones and controllers. 
     Model of Frequency Hopping Communications 
     In order to describe the systems and techniques used for detection of frequency hopping parameters, the drone detection system  101  uses one or more models of the linear hopping sequences used by the drones  103  for communication. That is, the drone  103  communicate with the controller  105  using RF communications that hop between different frequencies (or channels) during communication. As previously discussed, there may be more than one drone  103  present within the detection range of the drone detection system  101 . 
       FIG.  2 E  illustrates an example of frequency hopping sequences used by two different drones  103  in accordance with aspects of this disclosure. In  FIG.  2 E , the red points illustrate a first frequency hopping sequence  181  and the blue points illustrate a second frequency hopping sequence  183 . As shown in  FIG.  2 E , the first and second frequency hopping sequences  181  and  183  each hop between a plurality of frequencies at regular time periods. 
     In certain embodiments, the frequency hopping sequences may be linear frequency hopping sequences, such as the first and second frequency hopping sequences  181  and  183  illustrated in  FIG.  2 E . Techniques for detecting the drones  103  using linear frequency hopping sequences are provided in detail herein, however, aspects of this disclosure can also be applied to other types of frequency hopping sequences, such as: pseudo random frequency hopping sequences (e.g., linear feedback shift register (LFSR)-based pseudo random hopping sequences), non-linear frequency hopping sequences, arbitrary linear frequency hopping sequences, etc. 
     A model of the linear frequency hopping sequences illustrated in  FIG.  2 E  can be described using x={x n } representing a sequence of 2-tuples and x n =({tilde over (t)} n , {tilde over (f)} n ) representing the time-frequency observations of frequency-hopping signals. Defining t n  and f n  as the time and the frequency, respectively, of drone  103  transmissions, the timing errors can be defined as t δ,n ={tilde over (t)} n −t n  and frequency errors f δ,n ={tilde over (f)} n −f n . The timing and frequency errors t δ,n  and f δ,n  can be assumed to be independent and identically distributed (i.i.d.) zero mean Gaussian variables with variance σ 2  and σ f   2 , respectively. That is, t δ,n ˜N(0, σ t   2 ) and f δ,n ˜N(0, σ f   2 ). In addition to measurement errors, the occurrence of gross errors can be assumed to follow a Poisson distribution with parameter λ, where λ is the average number of gross errors per time interval T s  which can be referred to as an outlier arrival rate. Therefore, each sample x n  could be the transmission of a real target drone or a false alarm caused by a spurious source or hardware impairments. It can be important to distinguish between the transmission of the real target drone  103  from a false alarm in order to effectively detect the presence of the drones  103  using frequency hopping. 
     As describe above, the techniques described herein can be applied to arbitrary frequency hopping models. However, certain linear hopping sequences such as linear feedback shift register (LFSR)-based pseudo random hopping sequences require a large number of samples for accurate fit due to a large number of hopping states. As an example, a linear hopping sequence fm can be modeled as: 
         f   m =( f   0   −f   b   +m·f   d  mol  B )+ f   b   , m= 0, 1, . . .   (1)
 
     where f 0  is the start frequency of the first hop after timestamp 0, f b  is the center frequency of the lowest channel, f d  is frequency difference or frequency spacing between two neighboring hops, B=N c ·b is the total bandwidth of all channels, N c  is the number of channels used in the hopping sequence, and b is the channel bandwidth, which may be known to the drone detection system  101  in certain embodiments. In some circumstances, not all hops may be observed and detected by the drone detection system  101 . If the channel center frequencies are mapped to channel numbers starting from channel 0, (1), the linear frequency hopping sequence f m  can be simplified to: 
         c   m   =c   0   +m·c   d  mod  N   c   , m= 0, 1, . . .   (2)
 
     where c m =(f m −f b )/b, c 0 =(f 0 −f b )/b, and c d =f d /b. c d  can also be referred to as hop number or hop count. The corresponding timestamp t m  of each hop can be given by: 
         t   m   =t   0   +m·t   d   , m= 0, 1, . . .   (3)
 
     where t 0  is the start time of the first hop and t d  is the time interval between two neighboring hops known as hop period. Hence, in some embodiments, the frequency hopping parameter model contains five parameters: i) time start t 0 , ii) frequency start f 0  or channel start c 0 , iii) hop period t d , iv) frequency spacing f d  or hop count c d , and v) number of channels N c . In the example of a of LFSR-based pseudo random sequence, the parameters can include the sequence length N (e.g., the number of LFSR stages L) and the polynomials (g 0 , . . . , g L−1 ), given the mapping from binary sequences to center frequencies of channels. 
     The operating frequencies of small model drones may be publicly known and published in FCC test reports. For example, 39 channels may be defined from 2404 MHz to 2480 MHz in 2.4 GHz band for DJI GL300A remote controller. The differences of operating frequencies can be derived from all possible center frequency of channels.  FIG.  2 E  shows an example of frequency hopping sequences from DJI remote controllers GL300A and GL300F. The first frequency hopping sequence  181  can be defined by the parameters: f b =2404 MHz, t 0 =0.012 s, f 0 =2456.7 MHz, t d =0.014 s, f d =32.3 MHz, N c =45, and b=1.7 MHz, and the second frequency hopping sequence  183  can be defined by the parameters: f b =2404 MHz, t 0 =0.007 s, f 0 =2414 MHz, t d =0.014 s, f d =10 MHz, N c =39, and b=2 MHz. 
     Overview of Techniques for Detecting Frequency Hopping Parameters 
       FIG.  3    illustrates a method  300  for detecting the presence of the drone  103 A- 103 N in accordance with aspects of this disclosure. Specifically, the method  300  involve detecting frequency hopping parameters for the one or more drones  103  within a detection range. In particular, the drone detection system  101  can detect the parameters that define the frequency hopping sequence used for communication between the one or more drones  103 A- 103 N and the controllers  105 A- 105 N in order to detect the presence of the one or more drones  103 A- 103 N. 
     The method  300  begins at block  301 . At block  302 , the method  300  involves receiving a set of samples from the RF receiver for a time interval. In some implementations, the method  300  can involve receiving a vector of time-frequency samples x of length ∥x∥=N s  from the sensor/detector  163  for each time interval T s . 
     At block  304 , the method  300  involves obtaining a parameter model of the frequency hopping parameters. For example, when detecting the one or more drones  103  using a linear frequency hopping sequence, the parameter model may correspond to one of the models defined by equations (1) and (2). However, aspects of this disclosure are not limited to the parameter models described in equations (1) and (2), and other parameter models can be used in other embodiments. 
     At block  306 , the method  300  involves fitting the parameter model to the samples. Aspects of this disclosure relate to using the RANSAC paradigm in fitting the parameter model to the samples. In some implementations, the fitting of the parameter model to the samples involves randomly selecting n s  samples from the set of samples x, using the selected samples n s  to estimate the parameters, constructing an instance of the parameter model using the estimated parameters, and classifying the samples n s  as inliers or outliers by evaluating fitting errors for each of the samples n s . Here inliers refer to the samples closely matching the parameter model with negligible or no fitting errors (e.g., with a fitting error less than a threshold error value) whereas outliers are samples resulting in large errors (gross errors) from the fitting (e.g., with a fitting error equal to or greater than the threshold error value). 
     The block  306  process of fitting the parameter model to the samples may be repeated for N r  trials to construct a plurality of instances of the parameter model. At block  308 , the method  300  involves selecting one of the first instances of the parameter model based on the inliers and outliers for each of the constructed first instances of the parameter model. In certain embodiments, for example, the “best” model, M, can be selected as the instance of the parameter model having the largest number of inliers |I| as the largest group of samples, I, reaches the consensus. 
     At block  310 , the method  300  can involve identifying a first target drone  103  based on the selected instance of the parameter model. After selecting the instance of the parameter model for the first target drone  103 , the instance of the parameter model can be stored in a target set T. The method  300  can further involve subtracting the set of inliers from the set of samples because these inliers already formed the consensus group associated with the first target drone  103 . As a result, the set of outliers, O, can be used as input samples x to find a best model of a second target drone  103 . Thus, the method  300  can be repeated starting from block  302  with the received set of samples being the subset of samples with the inliers from the first target drone  103  being removed. The method  300  can be repeated until no new target drone  103  is found or the number of outliers remaining in the set of samples is insufficient for performing the method  300 . Once the method  300  is completed, the target set T contains the instances of the parameter model for all of the detected target drones  103 . 
     Estimation of Model Parameters 
       FIG.  4    illustrates a method  400  for estimating the parameters of the parameter model in accordance with aspects of this disclosure. For example, the method  400  can be performed as a part of block  306  of method  300  for fitting the parameter model to the selected samples. 
     In certain embodiments, the model parameter estimation procedure estimates the model parameters using the randomly selected samples and the knowledge of define channel center frequencies F i . The drone detection device can store a set F=∪ i  F i  of publicly known and defined channel center frequencies F i  for frequency hopping device type i. The frequency differences of any two defined channel frequencies and the total number of channels for a given device type i may also be known based on the prior knowledge of F i . 
     With reference to  FIGS.  3  and  4   , in each trial r of the method  300 , the method  400  can be used to estimate the model parameters of each device type i using the prior knowledge of the channel center frequencies F i , and obtain a parameter model M′ of this device type. In certain embodiments, by using the model parameters in the device type parameter model M′, the drone detection system  101  can calculate the fitting errors of all samples from the set of samples and classify each sample as an inlier or an outlier depending on the fitting errors between the particular sample and the device type parameter model M′. 
     The device type parameter model M′ can be compared to the instance of the parameter model M selected in block  308  if the selected instance of the parameter model M was found in previous trials r. In certain embodiments, the selected instance of the parameter model M can be replaced with device type parameter model M′ if the number of inliers, |I′|, of the device type parameter model M′ is greater than the number of inliers of the selected instance of the parameter model M. That is, the device type parameter model M′ may be more likely to be the best estimate of the target drone  103  when a larger number of inliers reaching the consensus are associated with the device type parameter model M′ than the selected instance of the parameter model M. At the end of all trials r, the best model remaining in selected instance of the parameter model M will be the model of the detected target drone  103  with a specific set of estimated hopping parameters. 
     In certain embodiments, the model parameter estimation procedure estimates model parameters using randomly selected samples and the knowledge of the defined channel center frequencies F i . With reference to  FIG.  4   , at block  402  the method  400  involves randomly selecting n s  samples from the observations in time interval T s . For a linear hopping model such as the model defined in equations (1) and (2), as few as two samples (n s =2) randomly selected each time may be sufficient for parameter estimation. In certain embodiments, n s  samples are first randomly selected: ({tilde over (t)} j , {tilde over (f)} j ), j=1, 2, . . . , n s . The sets of time differences and frequency differences between any of two samples can be calculated as: D t ={D t,j,k ||{tilde over (t)} j −{tilde over (t)} k |j&lt;k} and D f ={D f,j,k ||{tilde over (f)} j −{tilde over (f)} k |, {tilde over (t)} j &lt;{tilde over (t)} k , j&lt;k}, respectively. There are n c =( 2   n     s   ) elements in D t  and in D f . 
     At block  404 , the method  400  involves estimating the frequency hopping parameters. For example, in one example, block  404  can involve first finding new estimates of the hop period t d  and the start time of the first hop t 0 . The sensor/detector  163  can provide a coarse estimate {tilde over (t)} d  of the hop period t d . For each d t,j,k ∈D t , the number of hop intervals between samples ({tilde over (t)} j , {tilde over (f)} j ) and ({tilde over (t)} k , {tilde over (f)} k ) can be found by: 
         n   h,j,k   =└d   t,j,k /{tilde over ( t )} d ┐  (4)
 
     where └·┐ denotes a rounding function. The hop period t d  estimate for each d t,j,k  can be obtained as: 
         {circumflex over (t)}   d,j,k   =d   t,j,k   /n   h,j,k    (5)
 
     The start time of the first hop to can then be estimated as: 
         {circumflex over (t)}   0,j,k =(( s   f   ·t   j ) mod ( s   f   ·{circumflex over (t)}   d,j,k ))/ s   f    (6)
 
     where s f  is the stability factor for numerical stability. 
     The drone detection system  101  can next find the new estimates of the frequency start f 0  and the frequency spacing f d . From the channel center frequencies F i , the set of differences of operating frequencies in the channel center frequencies F i  is D i ={|f j −f k |, j≠k, f j , f k , ∈F i }. For each d f,j,k ∈D f , if d f,j,k  matches any elements in D i  within a small error δ f , the estimate of frequency difference between hops, {circumflex over (f)} d,j,k , is the f d,j,k  that satisfies: 
         f   k =(( f   j   −f   b   +n   h,j,k   ·f   d,j,k ) mod  B )+ f   b .   (7)
 
     To find the start frequency f 0,j,k , the method  400  can involve first finding the number of hops from ({tilde over (t)} j , {tilde over (f)} j ) to the first sample, n 0,j,k , given by: 
         n   0,j,k =└( {tilde over (t)}   j   −{circumflex over (t)}   0,j,k )/{circumflex over (t)} d,j,k ┐  (8)
 
     The start frequency f 0,j,k  can be estimated as: 
         {circumflex over (f)}   0,j,k =(( f   j   −f   b   −n   0,j,k   ·{circumflex over (f)}   d,j,k ) mod  B )+ f   b .   (9)
 
     If the estimates in the same group are the same or only differ in a negligible value, they can be determined to be valid estimates and an instance of the parameter model can be created using the valid estimates. That is: 
         {circumflex over (t)}   0 =Σ j,k   {circumflex over (t)}   0,j,k   /n   c  if | {circumflex over (f)}   0,j,k   −{circumflex over (t)}   0,m,n |&lt; δ   t    (10)
 
         {circumflex over (t)}   d =Σ j,k   {circumflex over (t)}   d,j,k   /n   c  if | {circumflex over (t)}   d,j,k   −{circumflex over (t)}   d,m,n |&lt; δ   t    (11)
 
         {circumflex over (f)}   0 =Σ j,k   {circumflex over (f)}   0,j,k   /n   c  if | {circumflex over (f)}   0,j,k   −{circumflex over (f)}   0,m,n |&lt; δ   f    (12)
 
         {circumflex over (f)}   d =Σ j,k   {circumflex over (f)}   d,j,k   /n   c  if | {circumflex over (f)}   d,j,k   −{circumflex over (f)}   d,m,n |&lt; δ   f    (13)
 
     j≠m, k≠n∀j, k, n, m. In addition, {tilde over (t)} 0 ={tilde over (t)} 0,j,k , {tilde over (t)} d ={tilde over (t)} d,j,k , {tilde over (f)} 0 ={tilde over (f)} 0,j,k , {tilde over (f)} d ={tilde over (f)} d,j,k  if n c =1 (n s =2). The number of channels N c  may be simply |F i |. In block  406 , the method  400  can construct an instance of the parameter model as M′={{circumflex over (t)} d , {circumflex over (t)} 0 , {tilde over (f)} d , {tilde over (f)} 0 , {circumflex over (N)} c ,}. As described above, at block  408 , the method  400  can involve classifying the samples n s  as inliers or outliers by evaluating fitting errors for each of the samples n s . For example, the drone detection system  101  can compare the fitting error of each of the samples n s  to the threshold error value and classify the samples n s  that have a fitting error that is less than the threshold error value as inliers and the remaining samples n s  as outliers. The method  400  ends at block  410 . 
     Classification of Inliers and Outliers 
     An embodiment of the classification process of block  408  can begin with a fitting error evaluation, which involves calculates the fitting errors of all samples based on the current instance of the parameter model in M′. In some implementations, for each sample k, the drone detection system  101  can find a time fitting error ϵ t,k  and a frequency fitting error ϵ f,k  separately. The time fitting error ϵ t,k  can be calculated with the assistance of s f  for numerical stability as: 
       ϵ t,k =(└ {tilde over (t)}   k   ·s   f ┐ mod └ {circumflex over (t)}   d   ·s   f ┐)/( s   f   −{circumflex over (t)}   0 ).   (14)
 
     To find frequency fitting error ϵ f,k , the drone detection system  101  can first determine hop phase h p , which is the number of hop intervals from the beginning of the set of samples to the current sample ({tilde over (t)} k , {tilde over (f)} k ) given by: 
         h   p,k   =└{tilde over (t)}   k   −{circumflex over (t)}   0   ┐/{circumflex over (t)}   d    (15)
 
     The drone detection system  101  can then estimate the frequency of the current sample based on model parameters as: 
         {circumflex over (f)}   k =(( {circumflex over (f)}   0   −f   b   +h   p,k   ·f   d ) mod  B )+ f   b    (16)
 
     The frequency fitting error can then be determined as ϵ f,k ={circumflex over (f)} k −{tilde over (f)} k . The drone detection system  101  can then determine the combined fitting error ϵ by the square root of the sum of time error ϵ t,k  squared and frequency error ϵ f,k  squared. That is, ϵ k =√{square root over (ϵ t,k   2 +ϵ f,k   2 )}. 
     The fitting error of each sample, ϵ k , can be compared to a fitting error threshold  γ . If ϵ k  is smaller than  γ , sample x k  is an inlier and is included in the set of inliers, I′, otherwise, it is an outlier, which is included in the set of outliers, O′. 
     Example Method for Monitoring the Drone(s) 
     Once a drone  103  has been detected, for example, using one of the above metrics, the drone detection system  101  can monitor the drone  103  for a period of time before potentially taking mitigation actions against the drone  103 .  FIG.  5    is an example method  500  which can be performed by the drone detection system  101  to monitor one or more of the drones  103 . 
     The method  500  begins at block  501 . In certain implementations, the method  500  may be performed in response to detecting the drone  103  based on the method  300  of  FIG.  3   . At block  502 , the method  500  involves decoding the RF signal  107  transmitted between the drone  103  and the controller  105 . In the case where the frequency hopping parameters of the RF signal  107  are estimated in accordance with aspects of this disclosure, the decoding of the RF signal  107  may be performed by configuring the receiver  161  to follow the reconstructed frequency hopping sequence using these parameters and synchronize with the RF signal  107 . 
     At block  504 , the method  500  involves storing data associated with the drone  103  from the decoded RF signal  107 . For example, the data can include any activities performed by the drone  103  (e.g., flight data), drone behaviors that may indicate whether the drone  103  is a friend or foe, a unique drone identifier, etc. At block  506 , the method  500  involves determining whether to perform mitigation actions on the drone  103 . In response to determining that mitigation actions are warranted, the method  500  may end at block  506 , where a mitigation method  600  can be performed. In response to determining that mitigation actions are not warranted, the method  500  returns to block  502 . 
     Example Method for Mitigating the Drone(s) 
     After determining that mitigation of the drone  103  is appropriate and in certain embodiments, the drone detection system  101  performs one or more of a number of different mitigation actions in accordance with aspects of this disclosure.  FIG.  6    is an example method  600  which can be performed by the drone detection system  101  to mitigate one or more of the drones  103 . 
     The method  600  begins at block  601 . In certain implementations, the method  600  may be performed in response to determining that mitigation actions are warranted in block  506  of  FIG.  5   . At block  602 , the method  600  involves selecting a mitigation technique to perform. The method  600  then involves continuing to one of blocks  604 - 610  based on the mitigation technique selected in block  602 . 
     At block  604 , the method  600  involves continuing to monitor the drone  103 , which may involve returning to block  502  of method  500 . For example, if the drone  103  is determined to be friendly and/or if the drone detection system  101  does not have the legal authority to take more aggressive actions, the drone detection system  101  may only be authorized to continue monitoring the drone  103  while alerting a user to the presence of the drone  103 . 
     At block  606 , the method  600  involves performing drone specific jamming. For example, in the case that the drone detection system  101  has estimated the frequency hopping parameters used by the drone  103 , the drone detection system  101  can configured the jammer  167  with the estimated parameters. The jammer  167  can then generate a jamming signal and transmit the jamming signal to all drones  103  within the detection range via the transmit antenna  117  to disrupt the RF communications between the drones  103  and the controllers  105 . 
     At block  608 , the method  600  involves the drone detection system  101  performing wideband jamming. In certain embodiments, wideband jamming may be appropriate where the drone detection system  101  does not have sufficient knowledge of the communication protocol used by the RF signal  107  to perform drone specific jamming and where the wideband jamming will not affect other friendly drones  103  within the environment  100 . 
     At block  610 , the method involves the drone detection system  101  taking over control of the drone  103 . For example, and in certain embodiments, using the estimated frequency hopping parameters estimated in accordance with aspects of this disclosure to reconstruct the frequency hopping RF signal  107 , the drone detection system  101  can send commands to the drone  103  in order to have the drone  103  perform certain maneuvers, such as landing the drone  103  in a safe area. The method  600  ends at block  612 . 
     Simulations 
     The following description provides a verification of the above techniques for detecting the one or more drone  103 A- 103 N. The verification is performed for an embodiment of the techniques described herein for hopping parameter estimation using Monte Carlo simulation with N iter =10,000 iterations. The performance is also compared to the performance of linear LS estimation under the influence of gross errors, timing errors, and multiple targets. The parameter settings in simulations are tabulated in Table 1. 
     
       
         
           
               
               
               
               
             
               
                   
                 TABLE 1 
               
               
                   
                   
               
               
                   
                 Symbol 
                 Value 
                 Description 
               
               
                   
                   
               
             
            
               
                   
                 T s   
                 0.5 s 
                 Sample acquiring time interval 
               
               
                   
                 N s   
                 35 
                 Number of input samples in T s   
               
               
                   
                 n s   
                 2 
                 Number of randomly selected samples 
               
               
                   
                 N t   
                 1-10 
                 Number of targets 
               
               
                   
                 {tilde over (t)} d   
                 14 ± 0.1 ms 
                 Coarse hop period 
               
               
                   
                 
                   δ 
                   t 
                 
                 0.001 ms 
                 Hop period threshold 
               
               
                   
                 
                   δ 
                   f 
                 
                 100 Hz 
                 Frequency difference threshold 
               
               
                   
                 
                   γ 
                 
                 0.01 
                 Fitting error threshold 
               
               
                   
                 N r   
                 100 
                 Number of trials 
               
               
                   
                 N iter   
                 10,000 
                 Number of Monte Carlo iterations 
               
               
                   
                 s f   
                 1000 
                 Stability factor 
               
               
                   
                 F i   
                 — 
                 Channel definition of type i 
               
               
                   
                 N c   
                 — 
                 Number of channels 
               
               
                   
                   
               
            
           
         
       
     
     The following simulations are based on three linear frequency hopping devices (e.g., target drones  103 ). The spectrogram in 2.4 GHz band shows that the coarse time period {tilde over (t)} d  between hops is roughly 14 ms. In each iteration, the simulations generate N t  target drones by randomly selecting N t  devices from these three devices under consideration. The frequency hopping sequence of each target drone is configured by parameters t 0 ∈[0,0.014), t d ∈[0.01399, 0.0141], f 0 ∈F i , f d ∈F i , N c =|F i |, where F i  is determined by the selected device i. Note that the same device may be selected multiple times as multiple targets with different hopping parameters and hopping behavior. In the simulations, the hopping samples from all targets are combined, N 0  outliers are added where N 0  is determined by Poisson process with outlier arrival rate λ, and randomly placed in time interval T s  and in frequency range defined in F, and t k  is adjusted with timing error following Gaussian distribution N(0, σ t   2 ). Finally, all time-frequency samples are sorted in time domain to form the input samples. 
     The performance of the simulated embodiment and LS estimators is evaluated by using the metric: target detection probability P d  defined as: 
     
       
         
           
             
               
                 
                   
                     P 
                     d 
                   
                   = 
                   
                     
                       1 
                       
                         
                           N 
                           iter 
                         
                         · 
                         
                           N 
                           t 
                         
                       
                     
                     ⁢ 
                     
                       
                         ∑ 
                         
                           j 
                           = 
                           1 
                         
                         
                           N 
                           itoκ 
                         
                       
                       
                         
                           ∑ 
                           
                             k 
                             = 
                             1 
                           
                           
                             N 
                             t 
                           
                         
                         
                           
                             ∏ 
                             
                               ℓ 
                               = 
                               1 
                             
                             5 
                           
                           
                             I 
                             
                               j 
                               , 
                               k 
                               , 
                               ℓ 
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   17 
                   ) 
                 
               
             
           
         
       
     
     where I j,k,l {x} is an indicator function of iteration j for target k and test l that returns 1 when x is true and 0 otherwise, I j,k,1 ={|t 0   k −{circumflex over (t)} 0   j |&lt; δ   t }, I j,k,2 ={|t d   k −{circumflex over (t)} d   j |&lt; δ   f }, I j,k,3 ={c 0   k ≡ĉ 0   j }, I j,k,4 ={c d   k ≡ĉ d   j }, I j,k,5 ={N c   k ≡{circumflex over (N)} c   j } are the five test criteria, t 0   k , t d   k , c 0   k , c d   k , and N c   j  are true hopping parameters of target k, and {circumflex over (t)} 0   j , {circumflex over (t)} d   j , ĉ 0   j , ĉ d   j , and {circumflex over (N)} c   j  are best hopping parameter estimates of iteration j. Initially, the number of input samples required for satisfying target detection performance are found. Then the performance of single target detection (N t =1) under the impact of gross errors and timing errors are evaluated. Finally, the parameter estimation performance in multiple target scenarios is evaluated. 
     Number of Input Time-Frequency Samples 
     Initially, in certain embodiments, the process determines the number of samples required from the detector in each sensing/acquiring period T s  to achieve a certain level of model parameter estimation accuracy and target detection probability P d  found.  FIG.  7    is a graph showing the detection probability P d  for different numbers of input samples (N s ) for HopSAC and LS estimators with no gross errors (λ=0) or timing errors (σ t   2 =0). As shown in  FIG.  7   , the embodiment of the techniques described herein requires a slightly smaller number of samples to achieve P d =0.9 than Least Squares (LS). To achieve close to 100% accuracy, both methods require approximately 35 samples. For fair comparison, the acquiring period was set to T s =0.5 s for the remaining simulations unless stated otherwise, which generates about 35 time-frequency samples for coarse hop period {tilde over (t)} d =0.014 s. 
     Impact of Gross Errors 
     Next, the impact of gross errors on the accuracy of model parameter estimation was evaluated.  FIG.  8    is a graph showing the detection probability under the impact of gross errors.  FIG.  8    shows the detection probability for the embodiment of the techniques described herein and LS estimators with different degrees of outlier arrival rates λ in the input samples. For the same acquiring period (T s =0.5 s), the performance of the method according to aspects of this disclosure is virtually unaffected by increasing outlier arrival rates whereas the performance of LS degrades significantly and drops to less than 50% even with a single outlier. This result is expected because the disclosed techniques, like RANSAC, are capable of rejecting gross errors. LS, on the other hand, uses all samples including outliers for estimation. As a result, any outlier of large gross errors can considerably influence the accuracy of the fitting. In certain embodiments, since the target detection probabilities of the estimator in accordance with aspects of this disclosure are all above 0.996 for different levels of gross errors, this excellent ability to discard gross errors means that the impact of false positives is lower and a lower detection threshold can be used (e.g. a lower Constant False Alarm Rate (CFAR) threshold). Therefore, the detector is able to achieve better detection probability at a lower SNR. 
     Impact of Timing Errors 
     The effect of timing errors on the performance of hopping parameter estimation is considered next.  FIG.  9    shows the detection probability of the embodiment of the techniques disclosed herein and LS estimators under the influence of timing errors in increasing variances of timing errors. As shown in  FIG.  9   , the techniques described herein dramatically outperform LS with the same number of samples. Unlike LS, aspects of this disclosure are very robust to small timing errors with variance σ t   2 &lt;0.01. Since it is unlikely to observe huge timing errors with functional hardware (e.g. timing jitters are typically on the order of picoseconds), aspects of this disclosure are very robust to timing errors caused by timing jitters. The vastly improved robustness to timing errors also means that the pulses transmitted by the CUAS jammer can be much more precise in time. This improves the power efficiency of CUAS transmitters, which reduces collateral damage and unwanted interference to other legitimate UAS systems. 
     Multiple Target Scenarios 
     Finally, the performance of HopSAC and LS estimators for multiple target detection is evaluated.  FIG.  10    shows the target detection probability for different numbers of targets appearing in the input samples. The number of input samples N s  increases proportionally with the number of targets N t  in the same acquiring interval T s =0.5 s. In  FIG.  10   , it can be seen that certain embodiments in accordance with aspects of this disclosure achieve target detection probability greater than 0.994 for detecting up to 10 targets. The results confirm that HopSAC is consistent and performs well with multiple target detection. In contrast, LS is unable to detect anything in multiple target scenarios even with only two targets. In certain embodiments, the capability of techniques of this disclosure for detecting multiple targets lies in its ability to classify the outliers and inliers, associate each set of inlier samples to a specific target one by one, and extract outliers from all samples for the estimation of other targets. For this reason, the complexity of aspects of this disclosure grows linearly with the number of targets for detection. On the contrary, the LS estimator uses all samples for estimation regardless of the number of targets. The samples from transmissions of one target are outliers of other targets. Thus, the LS estimator is greatly affected by multiple target transmissions and is unable to accurately estimate the parameters in any multiple target scenarios. 
     In this disclosure, HopSAC frequency hopping parameter estimation methods and systems based on the RANSAC paradigm for drone detection systems  101  are disclosed. Aspects of this disclosure are shown to outperforms the LS method, and achieve virtually 100% estimation accuracy under the impact of gross errors, small timing errors, and the presence of multiple targets. The exceptional gross error rejection capability of this disclosure allows the drone detection system  101  to tolerate higher false positives with good detection performance in low SNR regions. Moreover, the robustness of aspects of this disclosure to timing errors significantly reduces response time and collateral damage while increasing the precision of transmissions and power efficiency. Finally, aspects of this disclosure excel in multiple target detection with exceptionally high detection probability at the expense of linearly increasing complexity. 
     Implementing Systems and Terminology 
     Implementations disclosed herein provide systems, methods and apparatus for detecting the presence of drones. It should be noted that the terms “couple,” “coupling,” “coupled” or other variations of the word couple as used herein may indicate either an indirect connection or a direct connection. For example, if a first component is “coupled” to a second component, the first component may be either indirectly connected to the second component via another component or directly connected to the second component. 
     The drone detection functions described herein may be stored as one or more instructions on a processor-readable or computer-readable medium. The term “computer-readable medium” refers to any available medium that can be accessed by a computer or processor. By way of example, and not limitation, such a medium may comprise 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 can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. It should be noted that a computer-readable medium may be tangible and non-transitory. As used herein, the term “code” may refer to software, instructions, code or data that is/are executable by a computing device or processor. 
     The methods disclosed herein comprise one or more steps or actions for achieving the described method. The method steps and/or actions may be interchanged with one another without departing from the scope of the claims. In other words, unless a specific order of steps or actions is required for proper operation of the method that is being described, the order and/or use of specific steps and/or actions may be modified without departing from the scope of the claims. 
     As used herein, the term “plurality” denotes two or more. For example, a plurality of components indicates two or more components. The term “determining” encompasses a wide variety of actions and, therefore, “determining” can include calculating, computing, processing, deriving, investigating, looking up (e.g., looking up in a table, a database or another data structure), ascertaining and the like. Also, “determining” can include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory) and the like. Also, “determining” can include resolving, selecting, choosing, establishing and the like. 
     The phrase “based on” does not mean “based only on,” unless expressly specified otherwise. In other words, the phrase “based on” describes both “based only on” and “based at least on.” 
     The previous description of the disclosed implementations is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these implementations will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other implementations without departing from the scope of the invention. For example, it will be appreciated that one of ordinary skill in the art will be able to employ a number corresponding alternative and equivalent structural details, such as equivalent ways of fastening, mounting, coupling, or engaging tool components, equivalent mechanisms for producing particular actuation motions, and equivalent mechanisms for delivering electrical energy. Thus, the present invention is not intended to be limited to the implementations shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.