Abstract:
A system for data acquisition and processing includes a selector for obtaining samples from one or more sensors, each of which is configured to collect a sample during one or more sampling intervals forming a dwell period. The selector is configured to obtain only a subset of samples of a complete set of samples that can be collected during a dwell period. A solver is configured to solve an underdetermined system based on the collected samples and a mapping relation/phase function, to jointly determine one or more angles and one or more frequencies of transmissions received by the one or more sensors.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims priority to and benefit of U.S. Provisional Patent Application No. 61,985/782, entitled “Compressive Sensing,” that was filed on Apr. 29, 2014, the entire contents of which are incorporated herein by reference. 
       FIELD OF THE INVENTION 
       [0002]    This disclosure generally relates to signal processing techniques and, in particular, to low power/energy processing of electro-magnetic signals. 
       BACKGROUND 
       [0003]    Achieving significant (e.g., 5%, 10%, 25%, 30% or more) savings in the power needed to perform various signal processing tasks including, e.g., critical surveillance related functions, is an important goal. Savings in processor power may be achieved through innovative power-efficient microprocessor technology, and also by achieving improved utilization of the new power-efficient multicore signal processing environments that can perform embedded real-time signal-processing. Many applications, such as Electronic Intelligence (ELINT), processing of radar signals, processing of cellular communication signals, etc., are data intensive requiring acquisition and processing of hundreds of megabytes, a few gigabytes, or even more amounts of data in time periods as small as a few or tens of microseconds. Increasing computing power and/or using faster processors is one way to accomplish such processing. Additional power savings may be achieved through improvements in sensors and associated signal processing. 
         [0004]    Another approach is compressive sensing. Compressive sensing, in general, is a technique for reducing the bandwidth required for a signal, at the expense of more complex (and potentially power hungry) sparse optimization. As such, using compressive sensing, the amount of data acquired and/or processed can be reduced, though, the processing required generally increases. Therefore, using compressive sensing, though beneficial or even necessary in some situations, can adversely affect the goal of saving energy/power. 
         [0005]    In certain electro-magnetic signal processing applications (e.g., electronic intelligence (ELINT) applications, radar systems, cellular communication applications, etc.), where both power savings and performance may be important, it is necessary to detect and locate signals covering a wide bandwidth, and originating from a few sources in the far field of a linear phased array. For short coherent dwells, it is observed that these signals typically occupy a sparse set of frequencies, reflecting the fact that transmitters hop among frequencies and therefore occupy only a small subset of the full band at any given time. The signals also occupy a sparse set of angles, corresponding to the fact that there are typically only a few active transmitters. 
         [0006]    One approach is to try to locate the angles of the transmitters first, then apply wideband processing at those angles to retrieve the spectra. Another approach is to perform sparse reconstruction in the frequency domain, then perform narrowband angle determination only at the narrow bands that show up in the spectrum. In some situations, these approaches are too slow. Moreover, the energy consumed in this two-step techniques can make them unsuitable for some applications. 
       SUMMARY 
       [0007]    In various embodiments, power efficiency gains in data intensive signal processing applications can be realized by applying sparsity-based signal processing implemented as a convex optimization such as Second Order Cone Program (SOCP). In particular, various embodiments described herein feature joint determination of angle and frequency in a signal environment that is jointly sparse in the angle-frequency domain. This achieved, in part, using compressive sensing and a phase functional/relation mapping a representation of the collected samples in a time-distance space to an angle-frequency space. A new solver based on embedded convex optimization is then applied to determine angles and frequencies of transmission. In various embodiments, the joint determination of angle and frequency can reduce the number of computations relative to other techniques. As such, the combined sensing of the transmitted signals and the joint determination of angles and frequencies may require significantly lower power, and can be performed in a short time relative to other techniques. 
         [0008]    Accordingly, in one aspect a method is provided for determining angle and frequency of transmission from a transmitter. The method includes receiving during a current coherent dwell, sensor data including a first set of samples. The first set of samples includes N samples collected at each one of D sensors, where N, D, or both are greater than one. The method also includes selecting a second set of M samples from the first set of samples, where M is less than N times D. The method further includes determining angle and frequency of transmission of a transmitter by minimizing l1 norm of the second set of M samples. This includes applying a solver to a product of: (i) a phase functional representing a mapping between a time-distance representation of sensor samples and angle-frequency representation thereof, and (ii) the second set of M samples. 
         [0009]    In some embodiments, the first set of samples corresponds to a single coherent dwell. The number N may be number of Nyquist intervals in a single coherent dwell. In some embodiments, the first set of samples includes a first sample that is collected by a particular sensor from the D sensors, and that is associated with a transmission at a first frequency. The first set of samples also includes a second sample, also collected by that particular sensor, and that is associated with a transmission at a second, different frequency. 
         [0010]    Selecting the second set of M samples from the first set of samples may include filtering the first set of samples using a pseudorandom selector. Alternatively, selecting the second set of M samples from the first set of samples may include ranking the first set of samples according to respective signal-to-noise ratios (SNRs) associated with each sample, and selecting samples corresponding to the M highest ranks. 
         [0011]    In some embodiments, the solver includes a second order cone programming (SOCP) solver. Applying the SOCP solver may include providing to the SOCP solver a frequency angle solution obtained from samples collected during another coherent dwell prior to the current coherent dwell. 
         [0012]    In another aspect, a method is provided for determining angle and frequency of transmission from a transmitter. The method includes obtaining during a current coherent dwell, using a pseudorandom selector, a set of M samples. These samples are collected from a sensor array including D sensors, each of which is configured collect a sample during each one of N different sampling periods in one coherent dwell. At least one of N and D is greater than one, and, M is less than N times D. The method also includes determining angle and frequency of transmission of a transmitter by minimizing l1 norm of the set of M samples by applying a solver to a product of: (i) a phase functional representing a mapping between a time-distance representation of sensor samples and angle-frequency representation thereof, and (ii) the set of M samples. 
         [0013]    In some embodiments, obtaining the set of M samples includes selecting using the pseudorandom selector one or more of the N sampling periods. For each selected sampling period, the method includes obtaining a sample from one or more of the D sensors. The method also includes (i) selecting one or more of the N sampling periods during each of which a sample is not obtained, or (ii) during at least one of the selected sampling periods, selecting one or more of the D sensors from which a sample is not obtained, or both. Thus, collection of samples involves either: (a) having some sampling periods in which no samples are collected; or (b) in the sampling period(s) in which samples are collected, collecting samples from one or more but not all D sensors; or both (a) and (b). 
         [0014]    For each selected sampling period, obtaining a sample from one or more of the D sensors may include rejecting a sample from a sensor if a signal-to-noise ratio (SNR) associated with that sample is less than a specified threshold. In some embodiments, the set of M samples may include a first sample associated with a transmission at a first frequency, and a second sample associated with a transmission at a second, different frequency. The solver may include a second order cone programming (SOCP) solver, and applying the SOCP solver may include providing to the SOCP solver a frequency angle solution obtained from samples collected during another coherent dwell prior to the current coherent dwell. 
         [0015]    In another aspect, a system for determining angle and frequency of transmission from a transmitter includes a first processor and a first memory in electrical communication with the first processor. The first memory includes instructions which, when executed by a processing unit that may include the first processor and/or a second processor and that is coupled to a memory module include either the first memory or a second memory, or both, program the processing unit to receive in the memory module, during a current coherent dwell, sensor data including a first set of samples. The first set of samples includes N samples collected at each one of D sensors. At least one of N and D is greater than one. The processing unit is also programmed to select a second set of M samples from the first set of samples, where M is less than N times D. In addition, the processing unit is programmed to determine angle and frequency of transmission of a transmitter by minimizing l 1 -norm of the second set of M samples. To this end, the processing unit is programmed to solve an underdetermined linear system based on a product of: (i) a phase functional representing a mapping between a time-distance representation of sensor samples and angle-frequency representation thereof, and (ii) the second set of M samples. In various embodiments, the instructions can program the processing unit to perform one or more of the method steps described above. 
         [0016]    In another aspect, a system for determining angle and frequency of transmission from a transmitter includes a sensor array having D sensors, each of which is configured collect a sample during each one of N different sampling periods in one coherent dwell. At least one of N and D is greater than one. The system also includes a pseudorandom selector adapted to obtain, during a current coherent dwell, a set of M samples, where M is less than N times D. In addition, the system includes a processor configured for determining angle and frequency of transmission of a transmitter by minimizing l1 norm of the plurality of M samples by solving an underdetermined linear system based on a product of: (i) a phase functional representing a mapping between a time-distance representation of sensor samples and angle-frequency representation thereof, and (ii) the set of M samples. 
         [0017]    To obtain the plurality of M samples, the pseudorandom selector may be adapted to select at least one of the N sampling periods and, for each selected sampling period, obtain a sample from at least one of the D sensors. Moreover, the pseudorandom selector may (i) select one or more of the N sampling periods during each of which a sample is not obtained, and/or (ii) during at least one of the selected sampling periods, select one or more of the D sensors from which a sample is not obtained. In some embodiments, the pseudorandom selector is further adapted to reject a sample from a sensor if a signal-to-noise ratio (SNR) associated with that sample is less than a specified threshold. 
         [0018]    The set of M samples may include a first sample associated with a transmission at a first frequency, and/or a second sample associated with a transmission at a second, different frequency. To solve the underdetermined linear system the processor may be further programmed as a second order cone programming (SOCP) solver. In some embodiments, the processor is further programmed to provide to the SOCP solver a frequency angle solution obtained from samples collected during another coherent dwell prior to the current coherent dwell. 
         [0019]    In another aspect, an article of manufacture that includes a non-transitory storage medium has stored therein instructions which, when executed by a processing unit program the processing unit, which is in electronic communication with a memory module, to receive in the memory module, during a current coherent dwell, sensor data including a first set of samples. The first set of samples includes N samples collected at each one of D sensors. At least one of N and D is greater than one. The processing unit is also programmed to select a second set of M samples from the first set of samples, where M is less than N times D. In addition, the processing unit is programmed to determine angle and frequency of transmission of a transmitter by minimizing l 1 -norm of the second set of M samples. To this end, the processing unit is programmed to solve an underdetermined linear system based on a product of: (i) a phase functional representing a mapping between a time-distance representation of sensor samples and angle-frequency representation thereof, and (ii) the second set of M samples. In various embodiments, the instructions can program the processing unit to perform one or more of the method steps described above. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0020]    Various embodiments of the present invention taught herein are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings, in which: 
           [0021]      FIG. 1  schematically depicts an electromagnetic data acquisition and processing system, according to one embodiment; 
           [0022]      FIG. 2  depicts a table showing a baseline number of operations and corresponding energy consumption associated with analysis of signals in various bands; 
           [0023]      FIG. 3  illustrates a histogram of a number of operations associated with analysis of signals in X band, according to one embodiment; 
           [0024]      FIG. 4  illustrates a histogram of a number of solver iterations associated with analysis of signals in X band, according to one embodiment; 
           [0025]      FIG. 5  illustrates a histogram of a number of operations per solver iteration associated with analysis of signals in X band, according to one embodiment; 
           [0026]      FIG. 6  illustrates a histogram of a number of operations associated with analysis of signals in W band, according to one embodiment; 
           [0027]      FIG. 7  illustrates a histogram of a number of solver iterations associated with analysis of signals in W band, according to one embodiment; 
           [0028]      FIG. 8  illustrates a histogram of a number of operations per solver iteration associated with analysis of signals in W band, according to one embodiment; 
           [0029]      FIG. 9  depicts a table showing improvements in power consumption associated with analysis of signals in two bands, according to one embodiment; 
           [0030]      FIG. 10  shows a transmitted power spectrum of an example signal set to be analyzed using various embodiments; 
           [0031]      FIG. 11  shows a recovered power spectrum of the example signal set of  FIG. 10 , without using compressing sensing; and 
           [0032]      FIG. 12  shows a recovered power spectrum of the example signal set of  FIG. 10 , using compressing sensing according to one embodiment. 
       
    
    
     DETAILED DESCRIPTION 
     Sensor Subsystem of a Data Acquisition System 
       [0033]    In one embodiment, using a modified signal sampling approach, the entire processing chain of a conventional data acquisition system was replaced with a single compressive reconstruction operation over the operating band. This was facilitated, in part, due to an approximately 10:1 random undersampling of the time series. As an example of this advantage, the 1 GHz X-band complex sampling rate is effectively reduced to 100 MHz, a rate that can be accommodated with analog to digital converters (ADCs) that are within the state of the art. Another benefit of this sampling scheme from a sensor power perspective is that the entire array is used as a multi-element sensor. This development has a favorable impact on power consumption both at the sensor and in the signal processor. This benefit generally increases in proportion to the number of elements in the array. 
         [0034]    With reference to  FIG. 1 , rather than sampling with a separate ADC behind each sensor element, sampling is accomplished by receiving signals from each array element using a long pseudo-random permutation of the element indices. The result is that only one of the array elements provides a sample at a given Nyquist opportunity, these samples being recombined in the ADC to obtain a full spectrum. In addition to this, the entire sequence may be downsampled to about 10% of the Nyquist rate. This combination of effects, multi-element operation and compressed sensing can reduce the required number of analog to digital conversions from 400 in a baseline sub-banding design to as few as one analog to digital conversions per 1 GHz of bandwidth. 
       Signal Processing 
       [0035]    The signal processing according to one embodiment includes determining wideband ambient spectra at MHz rate, using all of the (e.g., 6, 8, 16, 20, etc.) sensor elements in a joint fashion. In some embodiments, this is accomplished using a fast embedded second-order cone solver (SOCP). It should be pointed out that the problem to be solved for complex spectral sparsity is different than the problem of real l 1  minimization typically addressed in conventional compressed sensing, because the l 1  norm of a complex signal is the sum of moduli √{square root over (I 2 +Q 2 )} of the complex signal, and not merely the sum of absolute values as in the case of conventional compressed sensing. The SOCP solver can perform convex optimization. 
       Measurement Basis 
       [0036]    The formal structure of coherent imaging is the same regardless of the physical space to be analyzed. Therefore, a physical model of the phase of the I&amp;Q data at the sensor in terms of certain physical parameters is employed. In general, the phase of an incoming signal depends on sample time and the array element at which the sample is collected, which forms a discrete measurement space, and on certain continuous model parameters, which include wideband frequency f and angle-of-arrival θ. 
       Notation 
       [0037]    The symbol |x          with any letter or some other descriptive label inside represents a complex column vector or ‘ket’. The corresponding symbol          x|, or ‘bra’ with the same label represents the Hermitian conjugate (row vector) formed by transposing the column vector |x          and taking the complex conjugate of each of the elements. A matrix is denoted by a capital letter (e.g., A or A). The complex conjugate transpose of a matrix A is denoted by A H , the complex conjugate by A* and the transpose by A T . In complex linear algebra, one most often sees A H . 
         [0038]    The product of vector |x          and matrix A is written A|x         . For the rules of bilinear algebra to hold, the matrices should be square. An exception is an expression in which we know that one column or row is longer than the other. The matrix is then non-square. We generally consider square matrices and row and column vectors of a particular dimension. The product of a row vector with a square matrix is another row vector          x|A. 
         [0039]    A vector space of dimension N has a standard basis {|1         , |2          . . . |n         :nε1 . . . N}. A ket |n          in the standard basis is just a column vector with a ‘1’ in position n and zeros in the other positions. Based on the definitions of the symbols, a symbol that looks like a closed bracket (a|b) represents a complex number. A symbol that looks like an open bracket |b                   a| represents a matrix. 
         [0040]    Two important identities are 
         [0000]    
       
      
               
       a|b 
               
       = 
               
       b|a 
               
       *  
      
     
         [0000]      and 
         [0000]      | b                       a|={|a                       b|}   H    
         [0000]    The n th  element of a column vector |x          can be written as          n|x         , and the element A(n, m) of a matrix A can be written as          m|A|n         . A useful formula that follows from the definition of the standard basis symbols is 
         [0000]    
       
         
           
             
               
                 ∑ 
                 
                   n 
                   = 
                   1 
                 
                 N 
               
                
               
                   
               
                
               
                 
                    
                   n 
                   〉 
                 
                  
                 
                   〈 
                   n 
                    
                 
               
             
             = 
             1 
           
         
       
     
         [0000]    where 1 denotes the unit matrix. 
       Analysis 
       [0041]    The complex measurement at a given Nyquist sampling interval in a given element can be denoted as: 
         [0000]      { z ( t,e ): t ε1 . . .  N,eε 1 . . .  D} 
 
         [0000]    where N is the number of Nyquist sampling intervals in the coherent dwell and D is the number of elements in the uniform linear array (ULA). Using the notation above, we can write: 
         [0000]        z ( t,e )=( t,e|z ) 
         [0000]    which can express the entire set of measurements as a vector |z          in a certain basis |t, e         . 
         [0042]    This basis is just a set of vectors of length N×D that contains a 1 in the position corresponding to a given pair (e, t) and a 0 otherwise. This definition of the basis can be written compactly as 
         [0000]    
       
         
           
             
               〈 
               
                 
                   t 
                   ′ 
                 
                 , 
                 
                   
                     e 
                     ′ 
                   
                    
                   t 
                 
                 , 
                 e 
               
               〉 
             
             = 
             
               
                 δ 
                  
                 
                   ( 
                   
                     
                       t 
                       ′ 
                     
                     , 
                     t 
                   
                   ) 
                 
               
                
               
                 δ 
                  
                 
                   ( 
                   
                     
                       e 
                       ′ 
                     
                     , 
                     e 
                   
                   ) 
                 
               
             
           
         
       
       
         
           
             
               
                 ∑ 
                 
                   t 
                   = 
                   1 
                 
                 N 
               
                
               
                 
                   ∑ 
                   
                     e 
                     = 
                     1 
                   
                   D 
                 
                  
                 
                     
                 
                  
                 
                   
                      
                     
                       t 
                       , 
                       e 
                     
                     〉 
                   
                    
                   
                     〈 
                     
                       t 
                       , 
                       e 
                     
                      
                   
                 
               
             
             = 
             1 
           
         
       
     
         [0043]    One point of view is that we are implicitly introducing a single index n that runs over all of the ordered pairs (t, e). In order to satisfy the equation above, it is only necessary that this index count each basis vector |t, e          exactly once, but this is determined by the equation above only up to a permutation of the indeces n. A common choice for this permutation is to number the N×D basis vectors          t, e|z          by starting with the first array element, going through all N sample times, moving to the next element, and so on. According to this prescription, the relationship between n and (t, e) is 
         [0000]        n ( t,e )= N ( e− 1)+ t    
         [0000]    With inverse 
         [0000]    
       
         
           
             
               t 
                
               
                 ( 
                 n 
                 ) 
               
             
             = 
             
               
                 mod 
                  
                 
                   ( 
                   
                     
                       n 
                       - 
                       1 
                     
                     , 
                     N 
                   
                   ) 
                 
               
               + 
               1 
             
           
         
       
       
         
           
             
               e 
                
               
                 ( 
                 n 
                 ) 
               
             
             = 
             
               
                 
                   n 
                   - 
                   
                     t 
                      
                     
                       ( 
                       n 
                       ) 
                     
                   
                 
                 N 
               
               + 
               1 
             
           
         
       
     
         [0044]    An alternate block enumeration of the basis vectors is to start with the first sample time, visit each of the array elements in turn, then move to the next sample time and continue in that pattern. The mapping is similar 
         [0000]        n ( t,e )= D ( t− 1)+ e    
         [0045]    With inverse 
         [0000]    
       
         
           
             
               e 
                
               
                 ( 
                 n 
                 ) 
               
             
             = 
             
               
                 mod 
                  
                 
                   ( 
                   
                     
                       n 
                       - 
                       1 
                     
                     , 
                     D 
                   
                   ) 
                 
               
               + 
               1 
             
           
         
       
       
         
           
             
               t 
                
               
                 ( 
                 n 
                 ) 
               
             
             = 
             
               
                 
                   n 
                   - 
                   
                     e 
                      
                     
                       ( 
                       n 
                       ) 
                     
                   
                 
                 D 
               
               + 
               1 
             
           
         
       
     
         [0046]    The basis vectors |t, e          can be put in any order, as long as the indeces (t, e) are carried along with the corresponding I&amp;Q measurement. An alternative permutation that is less arbitrary than the block styles of enumeration is to sort the list of complex measurements in descending order according to their absolute magnitudes λ (t, e)=         (z|t, e                   t, e|z          This ordering simplifies some of the bookkeeping, since it is now only necessary to place a zero in the list wherever a measurement is not present, prior to sorting and truncating the list at M×D entries. Even in the case where all N×D measurements are present, those with the smallest magnitudes, or with magnitudes smaller than a certain threshold (say zero dB relative to a noise floor) might reasonably be neglected. This procedure appears to be more satisfactory conceptually than eliminating pulses at random, but it requires that a given sample be examined before it is retained or dropped, so there is an impact on the sensor design. There is a physical impact, since in a batch application measurements with the highest single pulse SNR can be retained and those with lower SNR dropped. 
         [0047]    Once the order of the basis vectors |t, e          is chosen, as long as the function (t, e)&lt;=&gt;n is remembered, the equation (presented above) 
         [0000]    
       
         
           
             
               〈 
               
                 
                   t 
                   ′ 
                 
                 , 
                 
                   
                     e 
                     ′ 
                   
                    
                   t 
                 
                 , 
                 e 
               
               〉 
             
             = 
             
               
                 δ 
                  
                 
                   ( 
                   
                     
                       t 
                       ′ 
                     
                     , 
                     t 
                   
                   ) 
                 
               
                
               
                 δ 
                  
                 
                   ( 
                   
                     
                       e 
                       ′ 
                     
                     , 
                     e 
                   
                   ) 
                 
               
             
           
         
       
       
         
           
             
               
                 ∑ 
                 
                   t 
                   = 
                   1 
                 
                 N 
               
                
               
                 
                   ∑ 
                   
                     e 
                     = 
                     1 
                   
                   D 
                 
                  
                 
                     
                 
                  
                 
                   
                      
                     
                       t 
                       , 
                       e 
                     
                     〉 
                   
                    
                   
                     〈 
                     
                       t 
                       , 
                       e 
                     
                      
                   
                 
               
             
             = 
             1 
           
         
       
     
         [0000]    can be reduced to the standard form: 
         [0000]    
       
         
           
             
               〈 
               
                 
                   n 
                   ′ 
                 
                  
                 n 
               
               〉 
             
             = 
             
               δ 
                
               
                 ( 
                 
                   
                     n 
                     ′ 
                   
                   , 
                   n 
                 
                 ) 
               
             
           
         
       
       
         
           
             
               
                 ∑ 
                 
                   n 
                   = 
                   1 
                 
                 ND 
               
                
               
                   
               
                
               
                 
                    
                   n 
                   〉 
                 
                  
                 
                   〈 
                   n 
                    
                 
               
             
             = 
             1. 
           
         
       
     
         [0000]    The symbols |(n)          and |t, e          can be used interchangeably, since |(n)         =|t(n), e(n)         . 
         [0048]    This may be true regardless of how many indeces were needed to describe the measurement space. Additional indeces occur in applications involving wideband pulsed radar or multistatic radar, for example. 
       Phase Functional 
       [0049]    We express the phase at each antenna element and each sample time as a function of some set of model parameters. In the general case, we specify the physical phase as a function of the measurement index and some continuous parameters q. The parameters in this case are the wideband frequency f and the angle of incidence θ. 
         [0050]    Assume a uniform linear array consisting of D elements spaced at intervals Δ. If we choose coordinates such that the x-axis runs along the array and the y-axis is normal to the array, the center of coordinates lying at the geometrical center of the array, the vector positions e of the D array elements are: 
         [0000]    
       
         
           
             e 
             = 
             
               
                 Δ 
                  
                 
                   ( 
                   
                     e 
                     - 
                     
                       
                         D 
                         + 
                         1 
                       
                       2 
                     
                   
                   ) 
                 
               
                
               
                 x 
                 ^ 
               
             
           
         
       
     
         [0000]    Where {eε1 . . . D} are integer indeces corresponding to each of the array elements. The position of a source at range R and angle θ off boresight of the array is 
         [0000]        s=R (sin θ{circumflex over ( x )}+cos θ{circumflex over ( y )})
 
         [0051]    The phase of a plane wave of frequency f emitted from the source at Nyquist interval {tε1 . . . N} is 
         [0000]    
       
         
           
             
               φ 
                
               
                 ( 
                 
                   t 
                   , 
                   
                     e 
                      
                     f 
                   
                   , 
                   θ 
                 
                 ) 
               
             
             = 
             
               2 
                
               
                   
               
                
               π 
                
               
                   
               
                
               
                 f 
                  
                 
                   ( 
                   
                     
                       
                         ( 
                         
                           t 
                           - 
                           1 
                         
                         ) 
                       
                       B 
                     
                     - 
                     
                       
                          
                         
                           s 
                           - 
                           e 
                         
                          
                       
                       c 
                     
                   
                   ) 
                 
               
             
           
         
       
     
         [0052]    If the source is in the far-field of the array, |e|&lt;&lt;R. Expanding the distance to leading order in the small quantity |e|/R, 
         [0000]    
       
         
           
             
                
               
                 s 
                 - 
                 e 
               
                
             
             = 
             
               
                 
                   
                     ( 
                     
                       s 
                       - 
                       e 
                     
                     ) 
                   
                   · 
                   
                     ( 
                     
                       s 
                       - 
                       e 
                     
                     ) 
                   
                 
               
               = 
               
                 
                   
                     
                       R 
                       2 
                     
                     + 
                     
                       
                          
                         e 
                          
                       
                       2 
                     
                     - 
                     
                       2 
                        
                       
                         e 
                         · 
                         s 
                       
                     
                   
                 
                 ≅ 
                 
                   R 
                   + 
                   
                     
                       Δ 
                        
                       
                         ( 
                         
                           e 
                           - 
                           
                             
                               D 
                               + 
                               1 
                             
                             2 
                           
                         
                         ) 
                       
                     
                      
                     sin 
                      
                     
                         
                     
                      
                     
                       θ 
                       . 
                     
                   
                 
               
             
           
         
       
     
         [0000]    Neglecting an overall constant 
         [0000]    
       
         
           
             
               φ 
                
               
                 ( 
                 
                   t 
                   , 
                   
                     e 
                      
                     f 
                   
                   , 
                   θ 
                 
                 ) 
               
             
             = 
             
               2 
                
               
                   
               
                
               π 
                
               
                   
               
                
               
                 f 
                  
                 
                   [ 
                   
                     
                       
                         ( 
                         
                           t 
                           - 
                           1 
                         
                         ) 
                       
                       B 
                     
                     - 
                     
                       
                         Δ 
                         c 
                       
                        
                       
                         ( 
                         
                           e 
                           - 
                           
                             
                               D 
                               + 
                               1 
                             
                             2 
                           
                         
                         ) 
                       
                        
                       sin 
                        
                       
                           
                       
                        
                       θ 
                     
                   
                   ] 
                 
               
             
           
         
       
     
       Image in the (f, θ) Domain 
       [0053]    Define a complex phase correction vector with components 
         [0000]                  t,e|f ,θ)= e   −φ(t,e|f,θ)  
 
         [0000]    where the functional φ(t, e|f, θ) of the radar measurement |z          is given above as: 
         [0000]    
       
         
           
             
               φ 
                
               
                 ( 
                 
                   t 
                   , 
                   
                     e 
                      
                     f 
                   
                   , 
                   θ 
                 
                 ) 
               
             
             = 
             
               2 
                
               
                   
               
                
               π 
                
               
                   
               
                
               
                 f 
                  
                 
                   [ 
                   
                     
                       
                         ( 
                         
                           t 
                           - 
                           1 
                         
                         ) 
                       
                       B 
                     
                     - 
                     
                       
                         Δ 
                         c 
                       
                        
                       
                         ( 
                         
                           e 
                           - 
                           
                             
                               D 
                               + 
                               1 
                             
                             2 
                           
                         
                         ) 
                       
                        
                       sin 
                        
                       
                           
                       
                        
                       θ 
                     
                   
                   ] 
                 
               
             
           
         
       
     
         [0054]    The real, positive-definite function 
         [0000]    
       
         
           
             
               
                 σ 
                  
                 
                   ( 
                   
                     f 
                     , 
                     θ 
                   
                   ) 
                 
               
               = 
               
                 
                   〈 
                   
                     
                       z 
                        
                       f 
                     
                     , 
                     θ 
                   
                   〉 
                 
                  
                 
                   〈 
                   
                     f 
                     , 
                     
                       θ 
                        
                       z 
                     
                   
                   〉 
                 
               
             
             , 
             
               f 
               ∈ 
               
                 ( 
                 
                   
                     - 
                     
                       B 
                       2 
                     
                   
                   , 
                   
                     + 
                     
                       B 
                       2 
                     
                   
                 
                 ) 
               
             
             , 
             
               θ 
               ∈ 
               
                 ( 
                 
                   
                     - 
                     π 
                   
                   , 
                   
                     + 
                     π 
                   
                 
                 ) 
               
             
           
         
       
     
         [0000]    qualifies as the image of the measured data in the coordinate space (f, θ) in the following sense: If the data are consistent with the phase model and with the values (f, θ) of the parameters, the function will have a local maximum, on account of the coherent addition of terms. This property is not changed if a real-valued positive weighting function w (f, θ) is included on the right. The function σ(f, θ) can be normalized to represent a probability density, the likelihood p (z|f, θ) of the measurement given the model parameters (f, θ). 
         [0055]    These definitions are formal from the viewpoint of computation, since a continuous function of several variables cannot be computed or represented directly. However, there is no necessary relationship between the way the continuous function in the equation above is represented and the discrete character of the sensor measurements. One may represent a function as a set of coefficients corresponding to a linear superposition in some basis. According to the Shannon-Nyquist theorem, a function of finite bandwidth and finite duration can be represented exactly as a linear superposition in a finite basis of sine functions. A function with a different property might be represented compactly in a different way. For example, a function that admits an exact description in terms of an all-poles model of a definite order can be represented exactly via a set of autoregressive coefficients. A function that is known to be truly sparse in the image domain may likewise be represented more compactly than it would be via the coefficients of a Fourier expansion, as a superposition of impulse functions. 
       Jointly Sparse Reconstruction 
       [0056]    To carry out the algebraic sparse reconstruction program in the joint domain, a set of samples in the (f, θ) plane/space is computed using the equation above. These samples may be more numerous than the measurements. The number and locations of these samples are not fixed. A uniform sampling in both dimensions of the image space is taken, in various embodiments. We may take the number of samples in the frequency dimension to be F×N and the number of samples in the angle dimension E×D. This accounts for the possibility of superressolution in both dimensions of the image. The number of sample points in the image is K=F×N×E×D. We can associate each point with an index {kε1 . . . K}. As in the case of the basis n&lt;=&gt;(t, e), the order is not important, as long as the mapping k&lt;=&gt;(f k , θ k ) is remembered. 
         [0057]    Let the image vector be expressed as 
         [0000]                σ| k                       k |σ         =σ( f   k ,θ k )
 
         [0058]    The coefficient matrix can be          k|A|n         =         t, e|f k ,θ k           . We thus have a linear system as: 
         [0000]        {tilde over (z)}=A   H σ
 
         [0000]    where the dimension of |σ          is K×1, the dimension of A is K×M, and the dimension of |z is M×1, Here, {tilde over (z)} are samples that are actually collected and/or processed, and M is the actual number of samples selected for processing, where M&lt;N×D. In some embodiments, M is 10%, 15%, 20% etc., of the total number of available samples (N×D). The system of linear equations is underdetermined, but the sparsest solution in both frequency and angle can be found by minimizing the l 1 -norm of |σ subject to the equation above. This optimization can be cast as a Second-order cone program (SOCP), and solved for the jointly sparse spectrum.
 
Complex l 1 -Minimization
 
         [0059]    Modeling languages including CVX and YALMIP can solve complex l p -norm minimization programs by converting them to real Second Order Cone Programs (SOCP). These programs can then be solved with specialized SOCP solvers. The process of transforming the program into canonical SOCP form is transparent within the framework of the modeling language. But it is useful to make this transformation explicit when the need arises to use the SOCP solver source code directly. Let the complex-valued optimization program be 
         [0000]      Minimize∥ F|   1 subject to  A|F             =|z           
 
         [0000]    Define a real row vector 
         [0000]                  c|=[ 100 . . . 100] 
         [0000]    of length 3N, where N is the length of the complex vector |F         . Define a real column vector of length 3N 
         [0000]      | S             =[t   1   ReF   1   ImF   1    . . . t   N   ReF   N   hnF   N ] T    
         [0000]    where the N quantities {t n } represent bounds on the amplitudes of the N elements of the unknown spectrum |F         . 
         [0060]    Define a real coefficient matrix 
         [0000]    
       
         
           
             H 
             = 
             
               [ 
               
                 
                   
                     0 
                   
                 
                 
                   
                     
                       Re 
                        
                       
                         〈 
                         
                           
                             A 
                              
                             
                               ( 
                               1 
                               ) 
                             
                           
                            
                           
                              
                             
                               
                                 ∘ 
                                 Im 
                               
                                
                               
                                 〈 
                                 
                                   A 
                                    
                                   
                                     ( 
                                     1 
                                     ) 
                                   
                                 
                                  
                               
                             
                           
                         
                       
                     
                   
                 
                 
                   
                     
                       
                         - 
                         Im 
                       
                        
                       
                         〈 
                         
                           
                             A 
                              
                             
                               ( 
                               1 
                               ) 
                             
                           
                            
                           
                              
                             
                               
                                 ∘ 
                                 Re 
                               
                                
                               
                                 〈 
                                 
                                   A 
                                    
                                   
                                     ( 
                                     1 
                                     ) 
                                   
                                 
                                  
                               
                             
                           
                         
                       
                     
                   
                 
                 
                   
                     ⋮ 
                   
                 
                 
                   
                     0 
                   
                 
                 
                   
                     
                       Re 
                        
                       
                         〈 
                         
                           
                             A 
                              
                             
                               ( 
                               M 
                               ) 
                             
                           
                            
                           
                              
                             
                               
                                 ∘ 
                                 Im 
                               
                                
                               
                                 〈 
                                 
                                   A 
                                    
                                   
                                     ( 
                                     N 
                                     ) 
                                   
                                 
                                  
                               
                             
                           
                         
                       
                     
                   
                 
                 
                   
                     
                       
                         - 
                         Im 
                       
                        
                       
                         〈 
                         
                           
                             A 
                              
                             
                               ( 
                               M 
                               ) 
                             
                           
                            
                           
                              
                             
                               
                                 ∘ 
                                 Re 
                               
                                
                               
                                 〈 
                                 
                                   A 
                                    
                                   
                                     ( 
                                     N 
                                     ) 
                                   
                                 
                                  
                               
                             
                           
                         
                       
                     
                   
                 
               
               ] 
             
           
         
       
     
         [0000]    where          A(n)| denotes the n th  row of the matrix A, and two row vectors when written like          a|o          b| denote the row vector formed by appending the elements of          b| to the right of the elements of          a| to form a single long row vector. The new matrix H consists of 3N rows containing 2M columns each. 
         [0061]    Define a real column vector of length 2M using the same notation for appending two rows 
         [0000]      | X             =[Re             z|·Im             −z|]   T    
         [0000]    where          z|=|z           H , according to the usual rule. 
         [0062]    With these definitions, the complex norm minimization program has been converted to the real program 
         [0000]      Minimize            c|S            subject to  H|S             =|X           , and
 
         [0000]      √{square root over ( S   3n-1   2   +S   3n   2 )}≦ S   3n-2   2   , {nε 1 . . .  N}.  
 
         [0000]    The second set of N inequalities in the equation above express constraints on the absolute values of the complex spectrum |F         : 
         [0000]      | F   n |=√{square root over (( ReF   n ) 2 +( ImF   n ) 2 )}{square root over (( ReF   n ) 2 +( ImF   n ) 2 )}≦ t   n   , {nε 1 . . .  N} 
 
         [0000]    These constraints can be interpreted as a second order cone for each n. The problem has been converted into the canonical form of an SOCP, which can now be solved by using any one of several available SOCP solvers. 
       ELINT Example 
       [0063]    A ELINT application was implemented according to different embodiments using synthetic signal structures and an end-to-end sensing and reconstruction simulation. The simulation tracked the number of floating point operations performed. We also accounted for energy savings at the sensor, e.g., antenna inputs and Analog to Digital Converters (ADCs). We compared the results of the different implementations with those previously reported based on a conventional ELINT implementation (also called a baseline or proxy implementation). Improvements in the FLOPS required for the application were observed in implementation according to various embodiments described herein. We also show that power savings of between 5× and 9×, depending on the surveillance band, can be achieved. 
         [0064]    The ELINT application is handled in a baseline approach by first breaking the wide band signal behind each of (nominally 16) array elements into 50 MHz narrow bands using a bank of discrete Fourier transform operators (DFTs), then refocussing each of these to a common frequency to construct a single angle-estimation covariance that is used for super-resolved angle estimation using the MUSIC algorithm. The technique with analog subbanding of the wideband signals prior to sampling with a bank of analog-to-digital converters (ADC) behind each element in the uniform linear array is a representative proxy for the signal processing employed in current-generation ELINT systems. The associated signal processing approach is generally known. The roll-up of the estimated computations and associated power requirements for this approach, as shown in Table 1 depicted in  FIG. 1 , are also generally known. 
         [0065]    A useful computational performance metric when making comparisons is the number of floating point operations per complex sample, taken at the Nyquist rate. It is an observation from the baseline results that this number is very nearly constant over all of the frequency bands that were studied, around 20,000 FLOPS per complex sample. As shown in Table 1, estimated power was computed from operation count in GFLOPs/s and the resulting figure was derated to account for other power impacts within the processor. 
         [0066]    To establish that these computations can be accomplished in real-time with fewer computations than are required using the baseline approach, statistics were compiled on runtimes for complete optimizations and single iterations of a fast second-order cone program solver carrying out reconstructions of sparse spectra, according to various embodiments. 
       X-Band Operation Counts 
       [0067]      FIGS. 3 ,  4 , and  5 , respectively, are histograms showing the number of operations in MFLOPS associated with one complete spectral reconstruction in a Monte Carlo experiment including 1000 random spectra, the number of iterations of the solver, and number of operations in MFLOPS per iteration. For this analysis, we simulated X-band spectra at 1000 MHz bandwidth, a coherent dwell time of 0.64 microseconds (eight times the coherent integration time of 0.08 microseconds used in proxy example), 640 Nyquist intervals of coherent integration, a downsample factor of 10% and sparsity factor K=5 complex sinusoids. 
         [0068]    One of these super-resolved spectra is sufficient per direction-of-arrival computation, since an angular covariance for superressolution angle estimation can be formed from the 16 individual element returns at each detected frequency, rather than from multiple consecutive looks. In some embodiments, active frequencies within the band are isolated first. The time used for purposes of computing the number of Nyquist opportunities (angle-of-arrival time) was taken to be 64 times 0.08 microseconds or 5.12 microseconds, which is designated as the AOA computation time in the proxy. In other embodiments, angle and frequencies are jointly determined as described above. 
         [0069]    With reference to  FIG. 3 , the median operation count for one complete spectral reconstruction during this Monte-Carlo run was 131 MFLOPS, the mean was 133 MFLOPS and the standard deviation was 15.3 MFLOPS. The corresponding computations for the proxy were 19,473 GFLOPS, or 19,472 FLOPS/sample compared to 133 MFLOPS/(640 SAMPLES*64)=3247 FLOPS/sample in this experiment; an improvement factor of 6. 
       W-Band Operation Counts 
       [0070]      FIGS. 6 ,  7 , and  8  are histograms showing the number of operations in MFLOPS associated with one complete spectral reconstruction in a Monte Carlo experiment including 1000 random spectra at W-band 4.0 GHz bandwidth, the number of iterations of the solver, and number of operations in MFLOPS per iteration. For this analysis, we simulated W-band spectra at 4000 MHz bandwidth, a coherent dwell time of eight times the coherent integration time of 0.04 microseconds used in proxy example, which gives 1280 Nyquist intervals of coherent integration. As in the X-band case, we used a downsample factor of 10% and sparsity factor K=5 (complex sinusoids). The mean operation count for one complete spectral reconstruction during this Monte-Carlo run was 592 MFLOPS. The corresponding computations for the proxy were 81,090 GFLOPS, or 20,272 GFLOPS/sample compared to a mean of 7227 FLOPS/sample in this experiment; an improvement factor of 2.8. 
       Net Power Savings 
       [0071]    Various implementation described herein provided power savings in both the signal processor and the sensor. These total savings are summarized in Table 2 (depicted in  FIG. 9 ) based on the same assumptions that were used in the baseline. The total power savings factor on the right is computed as the ratio of net total power requirement of the baseline system to net total power requirement of the proposed system for each of two surveillance bands. 
       Warm Start 
       [0072]    Two SOCP solvers, namely, PDOS and SCS have an enhanced capability. Like a simplex solver or a hill-climbing algorithm, they can greatly benefit from prior knowledge in the form of a good initial estimate of the solution, i.e., angle/frequency, in order to converge in only a few iterations. Since the spectra are being computed back-to-back at MHz rates, the change in the spectrum can be slow in some situations, so that this warm start capability can further reduce the number of computations. 
         [0073]    Without warm start, the average number of iterations to solution at X-band and W-band are 63 and 114, respectively. The median operation count for a single iteration of PDOS at X-band is 2.1 MFLOPS, and the median operation count for a single iteration of PDOS at W-band is 9.7 MFLOPS. The solvers are likely to converge from a warm start in 10 iterations, resulting in an average speed up by an additional factor of 6 at X-band and an additional factor of 11 at W-band. 
       Numerical Example 
       [0074]    The spectral recovery program via SOCP is solved here for the case of five sinusoidal signals in white noise as an illustrative example. The frequencies and amplitudes of the true sinusoids are indicated in  FIG. 10 . In addition to the spectral power and frequency indicated in the figure, each signal was assigned a random phase. 
         [0075]    A complex IQ time function was formed by superposition of the five sinusoids. In order to simulate the time series for purposes of demonstrating sparse reconstruction, the complex time function was sampled at the Nyquist rate. The resulting time series was then downsampled at random by a factor of 0.1. This means that, in this illustration, 90% of the samples were dropped by the ADC. The effective sampling rate of the ADC was thus reduced to 10% of the Nyquist rate. The block of undecimented time samples was fixed at  1000 . 
         [0076]    The full Fourier spectrum of the time series was computed prior to decimation, in order to establish a baseline against which to evaluate the performance of sparse reconstruction. The power spectrum resulting from sampling the time signal at the Nyquist rate and calculating the discrete Fourier transform (DFT) (zero-padded by a factor of four to achieve 4:1 interpolation) is shown in  FIG. 9 . The integrated SNR was set at 20 dB for purposes of this example, and the samples were assumed to have 24 bits of precision, so both receiver noise and quantization noise are negligible in this case. The simulation allows the precision of the samples in bits and the receiver noise in dB to be set independently. 
         [0077]    The sinusoids were recovered accurately by Fourier analysis using the full Nyquist sample, as illustrated in  FIG. 11 . Next, the decimated samples were analyzed using three different versions of the SOCP optimization, namely, sedum, ECOS and PDOS. Similar results were obtained using all three versions.  FIG. 12  shows the reconstructed spectrum that resulted from the 90% downsampled data in this case. The spectrum was correctly recovered from the randomly downsampled data. The spectral lines are super-resolved when compared with the Fourier resolution exhibited in  FIG. 11 . 
         [0078]    It is clear that there are many ways to configure the device and/or system components, interfaces, communication links, and methods described herein. The disclosed methods, devices, and systems can be deployed on convenient processor platforms, including network servers, personal and portable computers, and/or other processing platforms. Other platforms can be contemplated as processing capabilities improve, including personal digital assistants, computerized watches, cellular phones and/or other portable devices. The disclosed methods and systems can be integrated with known network management systems and methods. The disclosed methods and systems can operate as an SNMP agent, and can be configured with the IP address of a remote machine running a conformant management platform. Therefore, the scope of the disclosed methods and systems are not limited by the examples given herein, but can include the full scope of the claims and their legal equivalents. 
         [0079]    The methods, devices, and systems described herein are not limited to a particular hardware or software configuration, and may find applicability in many computing or processing environments. The methods, devices, and systems can be implemented in hardware or software, or a combination of hardware and software. The methods, devices, and systems can be implemented in one or more computer programs, where a computer program can be understood to include one or more processor executable instructions. The computer program(s) can execute on one or more programmable processing elements or machines, and can be stored on one or more storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements), one or more input devices, and/or one or more output devices. The processing elements/machines thus can access one or more input devices to obtain input data, and can access one or more output devices to communicate output data. The input and/or output devices can include one or more of the following: Random Access Memory (RAM), Redundant Array of Independent Disks (RAID), floppy drive, CD, DVD, magnetic disk, internal hard drive, external hard drive, memory stick, or other storage device capable of being accessed by a processing element as provided herein, where such aforementioned examples are not exhaustive, and are for illustration and not limitation. 
         [0080]    The computer program(s) can be implemented using one or more high level procedural or object-oriented programming languages to communicate with a computer system; however, the program(s) can be implemented in assembly or machine language, if desired. The language can be compiled or interpreted. 
         [0081]    As provided herein, the processor(s) and/or processing elements can thus be embedded in one or more devices that can be operated independently or together in a networked environment, where the network can include, for example, a Local Area Network (LAN), wide area network (WAN), and/or can include an intranet and/or the Internet and/or another network. The network(s) can be wired or wireless or a combination thereof and can use one or more communication protocols to facilitate communication between the different processors/processing elements. The processors can be configured for distributed processing and can utilize, in some embodiments, a client-server model as needed. Accordingly, the methods, devices, and systems can utilize multiple processors and/or processor devices, and the processor/processing element instructions can be divided amongst such single or multiple processor/devices/processing elements. 
         [0082]    The device(s) or computer systems that integrate with the processor(s)/processing element(s) can include, for example, a personal computer(s), workstation (e.g., Dell, HP), personal digital assistant (PDA), handheld device such as cellular telephone, laptop, handheld, or another device capable of being integrated with a processor(s) that can operate as provided herein. Accordingly, the devices provided herein are not exhaustive and are provided for illustration and not limitation. 
         [0083]    References to “a processor”, or “a processing element,” “the processor,” and “the processing element” can be understood to include one or more microprocessors that can communicate in a stand-alone and/or a distributed environment(s), and can thus can be configured to communicate via wired or wireless communication with other processors, where such one or more processor can be configured to operate on one or more processor/processing elements-controlled devices that can be similar or different devices. Use of such “microprocessor,” “processor,” or “processing element” terminology can thus also be understood to include a central processing unit, an arithmetic logic unit, an application-specific integrated circuit (IC), and/or a task engine, with such examples provided for illustration and not limitation. 
         [0084]    Furthermore, references to memory, unless otherwise specified, can include one or more processor-readable and accessible memory elements and/or components that can be internal to the processor-controlled device, external to the processor-controlled device, and/or can be accessed via a wired or wireless network using a variety of communication protocols, and unless otherwise specified, can be arranged to include a combination of external and internal memory devices, where such memory can be contiguous and/or partitioned based on the application. For example, the memory can be a flash drive, a computer disc, CD/DVD, distributed memory, etc. References to structures include links, queues, graphs, trees, and such structures are provided for illustration and not limitation. References herein to instructions or executable instructions, in accordance with the above, can be understood to include programmable hardware. 
         [0085]    Although the methods and systems have been described relative to specific embodiments thereof, they are not so limited. As such, many modifications and variations may become apparent in light of the above teachings. Many additional changes in the details, materials, and arrangement of parts, herein described and illustrated, can be made by those skilled in the art. Accordingly, it will be understood that the methods, devices, and systems provided herein are not to be limited to the embodiments disclosed herein, can include practices otherwise than specifically described, and are to be interpreted as broadly as allowed under the law.