Abstract:
System and method for mean phase compensation of code and carrier phase distortions induced by Space Time Adaptive Processing (STAP) filters used for removing interferences from received GPS signals. The phase distortion is mitigated (without the use of beamforming) using a single STAP filter for processing the GPS satellite channels in which appropriate bundling of constraints is applied to the filter weights. The complete solution can be contained in the antenna electronics with no required changes to the legacy GPS receiver.

Description:
This application claims the benefit of U.S. Provisional Application No. 61/778,675, filed on Mar. 13, 2013. 
    
    
     The present invention was made with U.S. Government support under Contract No. N68335-11-C-0228 awarded by the U.S. Naval Air Warfare Center. The U.S. Government has certain rights to this invention. 
    
    
     FIELD OF THE INVENTION 
     This invention deals generally with the Global Positioning System and other Global Navigation Satellite Systems (hereinafter collectively “GPS”) navigation data measurements using a GPS receiver in a continuously or intermittently jammed environment. 
     BACKGROUND OF THE INVENTION 
     In this specification, including its claims, the term GPS is to be construed broadly, and must be read to include not only the Global Positioning System, but all Global Navigation Satellite Systems (“GNSS”) using CDMA (“Code Division Multiple Access”) technology. Likewise, the terms “jamming” and “interference signals,” which are used interchangeably, are to be construed broadly as well, and include without limitation interference signals emitted by both narrowband and wideband jammers. 
     Space Time Adaptive Processing (STAP) for antijam has been used to suppress jamming (interfering) signals that may corrupt GPS navigation. The most basic STAP filter design goal is to compute the STAP filter weights vector to do no more than minimize the output power of the filter while avoiding the null weight vector solution. As a convenience, we refer to this herein as Unconstrained Nulling. As the GPS signals are below the receiver system noise floor while jamming signals are commonly above the noise floor, the STAP filter tends to suppress the jammer signal(s) with little attenuation of the GPS signal, unless the GPS signals and jammer signals arrive at the antenna array from the same or similar direction(s). However, in achieving the basic design goal of minimizing the STAP filter output power, the prior art STAP filter typically induces phase (carrier and code) distortion to the GPS signals. 
     The current industry solution for compensating for STAP-induced code phase and carrier phase bias distortions in a jamming environment involves use of a beamforming-with-nulling architecture to form individual beams toward specific satellites used in the navigation solution; this procedure is large, costly, and complicated. The digital beamforming-with-nulling antijam electronics solution introduces minimum GPS code phase and carrier phase bias errors, as compared to the digital “nulling only” solution. This traditional beamforming approach to suppressing interference and mitigating phase distortion to the desired GPS signals employs beamforming with constraints. The optimal design goal is to minimize the STAP filter array output power while simultaneously fixing the gain and producing an overall linear phase response in the direction of the desired GPS signal. Mathematically, this is posed as a Quadratic Programming Problem (“QPP”) with constraints, usually in the form of equality constraints. 
     Digital beamforming, however, requires extensive antenna calibrations, a large antenna array, additional digital signal processing complexity for forming individual beams toward specific satellites used for obtaining the navigation solution, changes to the receiver design, and a high speed digital interface between the digital receiver and the digital antenna electronics. This solution ordinarily requires a separate STAP filter for each GPS satellite signal desired to be tracked, resulting in a complex and undesirable signal processing architecture that requires the parallel implementation of multiple STAP filters where the filter order might be high (tens of taps or more), and has multiple independent signal paths (one from each STAP filter) to the GPS receiver. 
     Since the beamforming solution adds significant complexity to the antenna electronics and requires major modifications to the platform GPS receiver, it is not desirable for SWAP-constrained platforms (SWAP=size, weight, and power), such as ‘small’ unmanned aerial vehicles (UAVs) and rotary wing aircraft. While the digital beamforming antenna electronics and receiver solution with its attended complexity may be acceptable on a large platform, such as a ship or fixed wing aircraft, it does not meet the tight SWAP constraints of a rotary wing aircraft. The rotary wing aircraft application presents additional technology challenges to the digital beamforming anti-jam antenna electronics because of rotor blade jammer reflections and modulation of GPS signals on such platforms, which need to be addressed. 
     For the above reasons, innovative antenna signal processing solutions are required to address this technology gap for rotary wing aircraft. An effective SWAP optimized antijam solution that works for rotary wing aircraft is needed. Specifically, innovative antenna antijam signal processing solutions are required that work in the rotary wing aircraft environment of rotor blade modulation and jammer reflection, employ a small antenna, for example (and not by way of any limitation) a small Controlled Reception Pattern Antenna array (s-CRPA), mitigate the effect of potential code delay and carrier phase bias introduced by STAP filter antenna nulling solutions, and require minimum to no changes to the platform&#39;s legacy GPS receiver. 
     SUMMARY OF THE INVENTION 
     The present invention overcomes the disadvantages of the previous antijam methods based on an innovative modification of the STAP-based antijam concept described in A. J. O&#39;Brien, I. J. Gupta, “An Optimal Adaptive Filtering Algorithm with Zero Antenna-Induced Bias for GNSS Antenna Arrays,” Navigation, 57(2), Summer 2010, pp. 87-100 (hereinafter “O&#39;Brien1”). The beamforming concept therein maximizes carrier-to-noise ratio (CNR) at the STAP array output, subject to enforcing a distortionless response to desired signals in a mean (i.e. average) sense. However, the resulting STAP filter only applies to a single GPS signal, and so multiple STAP filters are required to handle multiple simultaneous GPS signals. Thus, the solution in O&#39;Brien1 follows the traditional beamforming architecture. 
     The STAP filter disclosed and claimed herein uses an algorithm, referred to as Constrained Nulling, that minimizes jammer power with appropriate constraints for removing the STAP filter induced channel phase distortions, thereby reducing the effects of GPS carrier phase and code-phase (pseudo-range) biases. The significance of the instant invention&#39;s adaptive weighting algorithm for compensating the code phase and carrier phase biases introduced by the STAP antenna nulling system in jamming is that it mitigates the complexity, size, and cost concerns of the current beamforming-with-nulling solutions and allows operation on rotary wing platforms. The compensation algorithm solution can be readily implemented as an enhancement to existing low cost STAP-based antijam solutions. 
     An important aspect of this antijam code phase and carrier phase bias error compensation solution is that it is fully contained within the antenna electronics and requires little, if any, change to the platform&#39;s legacy GPS receiver (although including the compensation solution in the receiver is an option that can be exercised if desired). In contrast, as discussed above, the current beamforming-with-nulling antijam solutions, e.g. (O&#39;Brien1; See also, J. Capon, “High-Resolution Frequency-Wavenumber Spectrum Analysis,” Proc. IEEE, 57(8), Aug. 1969, pp. 1408-1418 (hereinafter “Capon”)), or other proposed nulling solutions to mitigate the bias errors (See, e.g., A. J. O&#39;Brien, I. J. Gupta, “Mitigation of Adaptive Antenna Induced Bias Errors in GNSS Receivers,” IEEE Trans. on Aerospace and Electronic Systems, 47(1), Jan. 2011, pp. 524-538, hereinafter “O&#39;Brien2”), require significant changes to the platform receiver. 
     As mentioned above, the original O&#39;Brien1 algorithm is a beamforming solution having the unfavorable architecture of  FIG. 1 , i.e. requiring parallel implementation of multiple STAP filters, e.g. 12, 14, and thereby having multiple independent signal paths, e.g. 11, 15, i.e. one path from each STAP filter to the GPS receiver. Thus, the instant invention&#39;s improvement upon the O&#39;Brien1 approach arrives at the desired non-beamforming architecture in  FIG. 2  through the process of bundling/stacking (See, K. M. Buckley, “Broad-Band Beamforming and the Generalized Sidelobe Canceller,” IEEE Trans. on Acoust., Speech, and Signal Proc., vol. ASSP-34, no. 5, October 1986, pp. 1322-1323) N S  distortionless response constraints for N S  different GPS satellites so that only one STAP filter  22  ( FIG. 2 ) is needed to null the interference and mitigate the GPS signal distortion, instead of N S  such filters as in the prior art beamforming approach discussed above. The main limitation of the instant invention&#39;s constraint bundling approach is that the resulting single STAP filter  22  can only be applied to N S ≦M satellite signals at the same time, where M is the number of signal channels output from the antenna array. 
     Moreover, the process of constraint bundling can give rise to an ill-conditioned linear system of equations that need to be solved for the desired STAP weights. To mitigate this ill-conditioning, a novel regularization procedure has been devised to improve the condition number of the weight computation problem. The resulting algorithm provides a distortionless non-beamforming, mean carrier/code-phase compensation antijam capability, which, for brevity, is referred to herein as Constrained Nulling. 
     Simulations have been performed, assuming GPS L1 band signals, for comparing the nulling performance of Unconstrained Nulling (“UN”) with that of Constrained Nulling (“CN”) and for confirming that the CN system frequency response is indeed distortionless on the average in the desired GPS signal directions. The STAP-5 (five-tap STAP) filter design used for the simulations was based on bundling distortionless response constraints for five GPS satellites and an assumed five-element ideal uniform circular antenna array. Modeling efforts have shown that the Code/Carrier Phase Compensation (hereinafter “CPC”) constrained STAP nulling not only suppresses jammer signals, but also simultaneously constrains the STAP weights to mitigate distortion to the satellite signals of interest with little loss of antijam protection. 
     In the simulation scenario considered herein, the jammers are at a low elevation angle in relation to the satellites. These deployments modeled antijam on an airborne platform with jammers on the ground. Three jammers were active, either all three were broadband (BB) jammers with power uniformly spread over the L1 band or all three were narrow-band (CW) jammers (frequencies at L1 band center and offsets ±10 MHz from L1 band center). Jammer-to-noise ratios were about 45 dB in all cases. Mean null depths were compared based on 100 Monte Carlo runs, and ±1σ values displayed to indicate run-to-run variation. Considering the null depth differences and accounting for the run-to-run variation, it was demonstrated that the nulling performance of Constrained Nulling, despite the application of the distortionless response constraints, is comparable to that of Unconstrained Nulling. 
     The modeling and simulation efforts have demonstrated via 500 run Monte Carlo simulations of the phase response and group delay in GPS signal directions that the Constrained Nulling phase is much more linear and the group delay much ‘flatter’ over the P(Y)-code band than for Unconstrained Nulling. Thus, the performance simulations have shown that the STAP-based Constrained Nulling suppresses the jammer signals even as it simultaneously constrains the STAP filter weights to mitigate distortion of the satellite signals of interest with little loss of antijam protection. 
     A major advantage of the Constrained Nulling solution is that it can be implemented entirely within the antijam antenna electronics and, therefore, does not require customized multichannel modification of the GPS receiver, thereby representing a SWAP-optimized solution for easy integration onto space-constrained platforms. 
     The features and advantages of the present invention are better understood when considered in conjunction with the accompanying drawings. The drawings are primarily for illustration and must not be construed as limiting. Other embodiments of the present invention apparent to those of ordinary skill in the art are within the present invention&#39;s scope. The scope of the invention is to be limited only by the claims, and not by the drawings or description herein. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram of the basic architecture of a beamforming (beamsteering) solution for anti-jamming with or without constraints to mitigate distortion to desired signals (e.g., GPS/GNSS), where the smallest boxes containing labels of the form w k,n   (l)  represent weights (coefficients) for N-tap FIR filters composing a STAP filter branch. 
         FIG. 2  is a block diagram of the basic non-beamforming (non-beamsteering) solution for anti-jamming with or without constraints to mitigate distortion to desired signals (e.g., GPS/GNSS), where the smallest boxes containing labels of the form w k,n  represent weights (coefficients) for N-tap FIR filters composing a STAP filter branch. 
         FIG. 3  is a plot depicting the relative location in azimuth and elevation of three jammers and five GPS SVs, where a null in the jammer J 2  direction is depicted for illustration, and the jammers are at a low elevation angle in relation to GPS SV elevations typical of the anti-jamming algorithm use on an airborne platform where the jammers are in fixed locations on the ground. 
         FIG. 4  is a plot of the mean unwrapped phase and group delay responses in the GPS SV 1  direction in the case of both UN and CN. 
         FIG. 5  is a plot of the mean unwrapped phase and group delay responses in the GPS SV 2  direction in the case of both UN and CN. 
         FIG. 6  is a plot of the mean unwrapped phase and group delay responses in the GPS SV 3  direction in the case of both UN and CN. 
         FIG. 7  is a plot of the mean unwrapped phase and group delay responses in the GPS SV 4  direction in the case of both UN and CN. 
         FIG. 8  is a plot of the mean unwrapped phase and group delay responses in the GPS SV 5  direction in the case of both UN and CN. 
         FIG. 9  is a plot of the mean null patterns and ±1σ curves of the nulling patterns for CN and UN in the direction of CW Jammer J 1 . 
         FIG. 10  is a plot of the mean null patterns and ±1σ curves of the nulling patterns for CN and UN in the direction of CW Jammer J 2 . 
         FIG. 11  is a plot of the mean null patterns and ±1σ curves of the nulling patterns for CN and UN in the direction of CW Jammer J 3 . 
         FIG. 12  is a plot of the mean null patterns and ±1σ curves of the nulling patterns for CN and UN in the direction of BB Jammer J 1 . 
         FIG. 13  is a plot of the mean null patterns and ±1σ curves of the nulling patterns for CN and UN in the direction of BB Jammer J 2 . 
         FIG. 14  is a plot of the mean null patterns and ±1σ curves of the nulling patterns for CN and UN in the direction of BB Jammer J 3 . 
         FIG. 15  is a table summarizing null depths and ±1σ values based on the 100 run results for both CW and BB jamming comparing CN to UN for all three jammers. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The mathematical models used to assess the distortion of the GPS signals by a STAP-based anti-jamming algorithm as well as its nulling performance are presented below, followed by a detailed description of the Constrained Nulling algorithm. Together they form the underpinnings of the present invention and provide the basis for the simulation results discussed in this specification. 
     Transfer Function Model for Distortion and AJ Null Depth 
     From first principles linear system analysis, the Fourier domain transfer function from the antenna to the output sample sequence denoted as y n  in  FIG. 2  may be stated as 
                     H   ⁡     (     θ   ,   φ   ,   f     )       =       ∑     k   =   1     M     ⁢           ⁢         W   k     ⁡     (   f   )       ⁢       F   k     ⁡     (   f   )       ⁢       A   k     ⁡     (     θ   ,   φ   ,   f     )                   (   1   )               
where Equation (1) fully characterizes the system response due to the combined effects of the STAP filter, antenna electronics, and antenna array in the direction (azimuth, elevation=) (θ, φ) which is the direction-of-arrival (DOA) of the signal-of-interest (SOI).
 
     It is apparent that the system directional response can only be due to the antenna array for which A k (θ, φ, f) is the directional and frequency response for antenna element (or mode, if mode-forming of some kind is employed) indexed “k.” The antenna electronics transfer function for the element “k” signal path is denoted as F k  (f). The summation in Equation (1) implies that there are “M” signal paths corresponding to the “M” antenna elements (or modes) in the system. For a STAP-N filter (i.e., N-tap STAP filter), the transfer function for the STAP filter signal path of branch “k” is: 
     
       
         
           
             
               
                 
                   
                     
                       W 
                       k 
                     
                     ⁡ 
                     
                       ( 
                       f 
                       ) 
                     
                   
                   = 
                   
                     
                       ∑ 
                       
                         n 
                         = 
                         0 
                       
                       
                         N 
                         - 
                         1 
                       
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       
                         w 
                         
                           k 
                           , 
                           n 
                         
                       
                       ⁢ 
                       
                         ⅇ 
                         
                           
                             - 
                             j2π 
                           
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             fT 
                             n 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
         
       
     
     This is the transfer function for a N-tap FIR filter running at the data converter sampling period denoted T. The transfer function model in Equation (1) above is well known (e.g., O&#39;Brien2; See also, R. L. Fante, J. J. Vaccaro, “Wideband Cancellation of Interference in a GPS Receive Array,” IEEE Trans. on Aerospace and Electronic Systems, 36(2), Apr. 2000, pp. 549-564). It may be noted that the transfer function model of Equation (1) implicitly assumes that the STAP weights w k,n  are fixed in time. In reality, the STAP weights are computed and updated by some adaptive scheme, and so this stationary weights assumption is strictly valid only for a limited time. Nevertheless, the model in Equation (1) is invaluable for analysis, simulation and design. 
     The signal of interest, SOI might be the jammer signal or it might instead be the GPS signal, depending upon whether we are considering the quality of the antijam (“AJ”) protection or the distortion to the GPS signal. In fact, for a jammer possessing the DOA (θ, φ) (θ, φ) the plot of 20 log 10 |H(θ, φ, f)| (dB) is often called the “nulling pattern.” It may be used to assess the level of AJ protection offered by any algorithm that computes the STAP weights w k,n  for such a purpose. As well, 20 log 10 |H(θ, φ, f)| (dB) is the gain offered to a GPS signal having DOA (θ, φ). The phase response in DOA (θ, φ) is the argument of H(θ, φ, f) given by 
     
       
         
           
             
               
                 
                   
                     ϕ 
                     ⁡ 
                     
                       ( 
                       
                         θ 
                         , 
                         φ 
                         , 
                         f 
                       
                       ) 
                     
                   
                   = 
                   
                     
                       Tan 
                       
                         - 
                         1 
                       
                     
                     ⁢ 
                     
                       
                         Im 
                         ⁡ 
                         
                           [ 
                           
                             H 
                             ⁡ 
                             
                               ( 
                               
                                 θ 
                                 , 
                                 φ 
                                 , 
                                 f 
                               
                               ) 
                             
                           
                           ] 
                         
                       
                       
                         Re 
                         ⁡ 
                         
                           [ 
                           
                             H 
                             ⁡ 
                             
                               ( 
                               
                                 θ 
                                 , 
                                 φ 
                                 , 
                                 f 
                               
                               ) 
                             
                           
                           ] 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   3 
                   ) 
                 
               
             
           
         
       
     
     The corresponding group delay is the derivative 
     
       
         
           
             
               
                 
                   
                     
                       τ 
                       g 
                     
                     ⁡ 
                     
                       ( 
                       
                         θ 
                         , 
                         φ 
                         , 
                         f 
                       
                       ) 
                     
                   
                   = 
                   
                     
                       - 
                       
                         ⅆ 
                         
                           ⅆ 
                           f 
                         
                       
                     
                     ⁢ 
                     
                       ϕ 
                       ⁡ 
                       
                         ( 
                         
                           θ 
                           , 
                           φ 
                           , 
                           f 
                         
                         ) 
                       
                     
                   
                 
               
               
                 
                   ( 
                   4 
                   ) 
                 
               
             
           
         
       
     
     Equations (3) and (4) can be used to characterize the distortion to the GPS signal. Corresponding to the transfer function (1) is a filter with unit sample response sequence h(θ, φ, n)=h n (θ, φ) such that 
     
       
         
           
             
               
                 
                   
                     H 
                     ⁡ 
                     
                       ( 
                       
                         θ 
                         , 
                         φ 
                         , 
                         f 
                       
                       ) 
                     
                   
                   = 
                   
                     
                       ∑ 
                       
                         n 
                         = 
                         0 
                       
                       ∞ 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       
                         
                           h 
                           n 
                         
                         ⁡ 
                         
                           ( 
                           
                             θ 
                             , 
                             φ 
                           
                           ) 
                         
                       
                       ⁢ 
                       
                         ⅇ 
                         
                           
                             - 
                             j 
                           
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           2 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           π 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           f 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           Tn 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   5 
                   ) 
                 
               
             
           
         
       
     
     This model assumes that the distortion model is that for a causal system. It also assumes that h n (θ, φ) corresponds to an infinite impulse response (IIR) filter. The IIR filter model may, however, be more practically approximated as a finite impulse response (FIR) filter possessing the transfer function: 
     
       
         
           
             
               
                 
                   
                     H 
                     ⁡ 
                     
                       ( 
                       
                         θ 
                         , 
                         φ 
                         , 
                         f 
                       
                       ) 
                     
                   
                   = 
                   
                     
                       ∑ 
                       
                         n 
                         = 
                         0 
                       
                       
                         Q 
                         - 
                         1 
                       
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       
                         
                           h 
                           n 
                         
                         ⁡ 
                         
                           ( 
                           
                             θ 
                             , 
                             φ 
                           
                           ) 
                         
                       
                       ⁢ 
                       
                         ⅇ 
                         
                           
                             - 
                             j 
                           
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           2 
                           ⁢ 
                           π 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           fTn 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   6 
                   ) 
                 
               
             
           
         
       
     
     In this event, the STAP-based antijam system would be distortionless in the GPS signal direction (θ, φ) only if the distortion model unit sample response is either conjugate symmetric or conjugate anti-symmetric about the center tap. This corresponds to the filter of Equation (6) possessing a linear phase response. The group delay will then be a constant with respect to frequency and so the system will be non-dispersive offering no phase distortion to a desired signal from direction (θ, φ). 
     The severity of the distortion behavior of the STAP-based antijam algorithm, therefore, depends on how much the transfer function H(θ, φ, f) deviates from a linear phase (i.e. distortionless) response, or equivalently how much it deviates from a constant group delay (i.e., dispersionless) response. 
     Uniform Circular Array (“UCA”) Antenna Model 
     The simulation studies performed involved working with an idealized antenna pattern, namely, the uniform circular array (“UCA”) model. The UCA model is superficially similar to small CRPA antenna patterns, excepting that the UCA model has no mode forming and neglects antenna element interactions. Use of the UCA pattern, however, allows the gaining of important analytical insight into the development of distortionless antijam algorithms. The modeling methodology below follows M. P. Moody, “Resolution of Coherent Sources Incident on a Circular Antenna Array,” Proc. IEEE, 68(2), Feb. 1980, pp. 276-277, hereinafter “Moody.” 
     Following Moody, it is assumed that the M elements of the UCA are placed on a circle at the following azimuth positions: 
     
       
         
           
             
               
                 
                   
                     
                       θ 
                       k 
                     
                     = 
                     
                       
                         
                           2 
                           ⁢ 
                           π 
                         
                         M 
                       
                       ⁢ 
                       k 
                     
                   
                   ⁢ 
                   
                     
 
                   
                   ⁢ 
                   where 
                   ⁢ 
                   
                     
 
                   
                   ⁢ 
                   
                     
                       k 
                       = 
                       0 
                     
                     , 
                     1 
                     , 
                     … 
                     ⁢ 
                     
                         
                     
                     , 
                     
                       M 
                       - 
                       1 
                     
                   
                 
               
               
                 
                   ( 
                   7 
                   ) 
                 
               
             
           
         
       
     
     These UCA elements are assumed (for simulation purposes) to be located on a circle of radius D=0.1 meters to roughly emulate a small CRPA. The center of the circle comprises the center of the body-frame reference system for the antenna wherein the DOA is defined. 
     The UCA antenna frequency response for wavelength λ (meters) is 
                       A   k     ⁡     (     θ   ,   φ   ,   f     )       =     exp   ⁢     {     j   ⁢       π   ⁢           ⁢   D     λ     ⁢     sin   ⁡     (       π   2     -   φ     )       ⁢     cos   ⁡     (           2   ⁢   π     M     ⁢   k     -   θ     )         }               (   8   )               
where (j=√{square root over (−1)}m) and λf=c, where c is the speed of light (meters/second).
 
     According to Moody, M&gt;2 πD/λ should hold. The simulation work herein simplifies matters further by assuming that λ always corresponds to L1 band center, which eliminates the frequency dependence otherwise present in Equation (8). 
     In this event, the time-domain model for the UCA antenna pattern is specified by:
 
 a   k (θ, φ,  t )= A   k (θ, φ)δ( t )  (9)
 
which is the impulse response of the antenna array in all directions, and so δ(t) is the Dirac distribution generalized function. The antenna now has a directional response that is implicitly assumed to be the same over the entire L 1  band. In discrete-time modeling, Equation (9) is replaced by:
 
 a   k,n (θ, φ)= A   k (θ, φ)δ n   (10)
 
where δ n  is the unit sample sequence (i.e. Kronecker delta sequence).
 
     The simulation modeling herein also assumes perfect antenna electronics, i.e., F k (f)=1 for all elements and all frequencies hence f k,n =δ n . Therefore, the time-domain model for the distortion experienced by a GPS signal due to STAP simplifies to: 
     
       
         
           
             
               
                 
                   
                     
                       h 
                       n 
                     
                     ⁡ 
                     
                       ( 
                       
                         θ 
                         , 
                         φ 
                       
                       ) 
                     
                   
                   = 
                   
                     
                       
                         ∑ 
                         
                           k 
                           = 
                           1 
                         
                         M 
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         
                           w 
                           
                             k 
                             , 
                             n 
                           
                         
                         * 
                         
                           f 
                           
                             k 
                             , 
                             n 
                           
                         
                         * 
                         
                           
                             A 
                             k 
                           
                           ⁡ 
                           
                             ( 
                             
                               θ 
                               , 
                               φ 
                             
                             ) 
                           
                         
                         ⁢ 
                         
                           δ 
                           n 
                         
                       
                     
                     = 
                     
                       
                         ∑ 
                         
                           k 
                           = 
                           1 
                         
                         M 
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         
                           
                             A 
                             k 
                           
                           ⁡ 
                           
                             ( 
                             
                               θ 
                               , 
                               φ 
                             
                             ) 
                           
                         
                         ⁢ 
                         
                           w 
                           
                             k 
                             , 
                             n 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   11 
                   ) 
                 
               
             
           
         
       
     
     The asterisks in Equation (11) denote discrete-time convolution. It is apparent from the simplified model of Equation (11) that the directional dependence of the STAP-based signal distortion is due to the antenna pattern but the frequency dependence is due primarily to the STAP weights. The antenna pattern does, however, modify the frequency response for each branch in the STAP filter by a scaling and a phase shift. In view of Equations (2) and (11), Equation (1) can be simplified as follows: 
     
       
         
           
             
               
                 
                   
                     H 
                     ⁡ 
                     
                       ( 
                       
                         θ 
                         , 
                         φ 
                         , 
                         f 
                       
                       ) 
                     
                   
                   = 
                   
                     
                       ∑ 
                       
                         k 
                         = 
                         1 
                       
                       M 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       
                         
                           A 
                           k 
                         
                         ⁡ 
                         
                           ( 
                           
                             θ 
                             , 
                             φ 
                           
                           ) 
                         
                       
                       ⁢ 
                       
                         
                           ∑ 
                           
                             n 
                             = 
                             0 
                           
                           
                             N 
                             - 
                             1 
                           
                         
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           
                             w 
                             
                               k 
                               , 
                               n 
                             
                           
                           ⁢ 
                           
                             ⅇ 
                             
                               
                                 - 
                                 j 
                               
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               2 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               π 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               fTn 
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   12 
                   ) 
                 
               
             
           
         
       
     
     Equations (11) and (12) comprise a Discrete-Time Fourier Transform (“DTFT”) pair. Also, Equation (12) represents a FIR filter which is an instance of the general form in Equation (6) above. 
     Unconstrained Nulling (“UN”) 
     As noted earlier, the STAP weights are computed as the result of the solution to an optimization problem. The basic optimization problem in UN merely aims to minimize the STAP filter output power P( w ) with respect to  w  the vector of STAP weights w k,n . However P( w )= w   H {circumflex over (R)} w , (where {circumflex over (R)}εC NM×NM  is the complex-valued sample covariance matrix) is a positive definite quadratic form for which the unique global minimizing solution is the degenerate solution {circumflex over ( w )}=0. To avoid this ‘degeneracy’ it is necessary to apply a constraint upon the weights. In this case the optimization problem may be stated as follows: 
     
       
         
           
             
               
                 
                   
                     
                       
                         w 
                         ^ 
                       
                       _ 
                     
                     = 
                     
                       
                         
                           
                             
                               arg 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               min 
                             
                           
                         
                         
                           
                             
                               w 
                               _ 
                             
                           
                         
                       
                       ⁢ 
                       
                         
                           w 
                           _ 
                         
                         H 
                       
                       ⁢ 
                       
                         R 
                         ^ 
                       
                       ⁢ 
                       
                         w 
                         _ 
                       
                     
                   
                   ⁢ 
                   
                     
 
                   
                   ⁢ 
                   
                     subject 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     to 
                   
                   ⁢ 
                   
                     
 
                   
                   ⁢ 
                   
                     
                       
                         
                           w 
                           _ 
                         
                         H 
                       
                       ⁢ 
                       
                         u 
                         _ 
                       
                     
                     = 
                     1 
                   
                 
               
               
                 
                   ( 
                   13 
                   ) 
                 
               
             
           
         
       
     
     The solution to QPP of Equation (13) requires that  u  is a constant (but non-zero) vector that acts to prevent the weight vector of the solution from being identically zero-valued. The simplest choice is a so-called pseudo-steering vector which is a unit vector. The unity-valued element is typically selected to correspond to a branch center tap. Where mode forming is employed, the branch of choice is usually that corresponding to the omni (reference) mode. From the well-known method of Lagrange multipliers it is trivial to prove that the solution to Equation (13) is: 
     
       
         
           
             
               
                 
                   
                     
                       w 
                       _ 
                     
                     ^ 
                   
                   = 
                   
                     
                       
                         
                           R 
                           ^ 
                         
                         
                           - 
                           1 
                         
                       
                       ⁢ 
                       
                         u 
                         _ 
                       
                     
                     
                       
                         
                           u 
                           _ 
                         
                         H 
                       
                       ⁢ 
                       
                         
                           R 
                           ^ 
                         
                         
                           - 
                           1 
                         
                       
                       ⁢ 
                       
                         u 
                         _ 
                       
                     
                   
                 
               
               
                 
                   ( 
                   14 
                   ) 
                 
               
             
           
         
       
     
     Unconstrained beamforming, by comparison, uses the solution  ŵ = a (θ, φ, f) where  a (θ, φ, f) is the steering vector in the signal-of-interest direction (e.g., GPS/GNSS) at frequency f where a constant gain is desired. However, this particular solution offers no nulling of interference. 
     As yet another contrast, the Capon beamforming solution minimizes P( w ) and also imposes the constraint  w   H    a (θ, φ, f)=1 at a signal frequency f of interest, and the solution to the resulting QPP will have a unity gain and a zero-phase response in the (θ, φ) direction. That is, we obtain H(θ, φ, f)=1. Thus, this Capon minimum variance distortionless response (MVDR) beamforming is a particular version of Constrained Nulling due to the imposition of this distortionless constraint. 
     In any case, we see that beamforming solutions of any sort need the antenna array pattern, and so calibration issues inevitably arise. 
     Constrained Nulling: Beamforming Architecture 
     Capon&#39;s MVDR Beamforming algorithm mentioned above is a version of Constrained Nulling that nominally results in a perfectly distortionless response for each STAP weight vector that is generated. However, this perfection is obtained at a high cost as the application to nulling with a distortionless response over many signal directions and over a band of frequencies (the broadband (BB) formulation) results in working with multiple filters (one per GPS satellite in our considerations; See  FIG. 1 ), with each filter of potentially high order often being defined in the Fourier domain to improve implementation efficiency (See, e.g., N. L. Owsley,  Systolic Array Adaptive Beamforming , NUSC Tech. Rep. 7981, Naval Underwater Systems Center, Newport, R.I., and New London, Conn., 21 Sep. 1987). And so here we introduce the alternative beamforming solution first considered in O&#39;Brien1, which permits working with STAP filters of rather low order (e.g., 5-tap, or N=5). In the next sub-section we will show how to bundle (stack) the constraints in a manner so as to arrive at a single low order STAP filter applicable to multiple GPS satellites at the same time, and one that is implemented in accordance with the architecture in  FIG. 2  instead of that in  FIG. 1 . 
     Formally, the QPP optimization problem solved in O&#39;Brien1 is: 
                       {         w   _     ^     ,     α   ^       }     =             arg   ⁢             ⁢             ⁢   min               {       w   _     ,   α     }           ⁢       w   _     H     ⁢       R   ~     ^     ⁢     w   _         ⁢     
     ⁢     subject   ⁢           ⁢   to     ⁢     
     ⁢         C   H     ⁢     w   _       =       f   _     ⁡     (   α   )                 (   15   )               
where
 
 C=[ s   (0) {dot over ( s )} (0)]ε C   NM×2   (16a)
 
   f   (α)=[1  jα]   T    εC   2×1 , but αε             (16b)

     The sample covariance matrix in QPP of Equation (15), denoted {tilde over ({circumflex over (R)})} and explained in the next paragraph, is different from the previously discussed sample covariance matrix {circumflex over (R)}, and the tilde ‘˜’ notation is used to emphasize this important distinction. It may be noted that {tilde over ({circumflex over (R)})} in QPP of Equation (15) has been substituted for Ψ u  in O&#39;Brien1. The column vectors denoted as  s (0) (s-vector) and  {dot over (s)} (0) (sdot-vector) within the constraint matrix C play a role analogous to the steering vectors of Capon&#39;s method discussed earlier. These vectors are defined below. 
     The method in O&#39;Brien1 requires that the samples be subjected to chip-matched filtering before forming the sample covariance matrix, according to the traditional procedure used to get {circumflex over (R)}. This, in turn, implies that the beamforming concept in O&#39;Brien1 by contrast to Capon&#39;s method is GPS signal dependent in the following way. For example, if the method is intended to be applied to the P(Y)-code, then the chip-matched filter will have a unit sample response that is a sampled square pulse of duration equal to one P(Y)-code chip. For binary offset carrier (BOC) codes, such as the M-code, the chip-matched filter unit sample response will be more complicated, typically being some form of sampled non-return-to-zero (NRZ) pulse. 
     The weight calculation part of the optimization problem in Equation (15) is provided by the “Frost” calculation; See, O. L. Frost, III, “An Algorithm for Linearly Constrained Adaptive Array Processing,” Proc. IEEE, 60(8), Aug. 1972, pp. 926-935:
 
 {circumflex over ( w )} = {tilde over ({circumflex over (R)})}   −1   C[C   H   {tilde over ({circumflex over (R)})}   −1   C]   −1     f   ({circumflex over (α)})  (17)
 
where, from O&#39;Brien1
 
     
       
         
           
             
               
                 
                   
                     α 
                     ^ 
                   
                   = 
                   
                     
                       Im 
                       ⁢ 
                       
                         { 
                         
                           
                             
                               
                                 
                                   s 
                                   . 
                                 
                                 _ 
                               
                               H 
                             
                             ⁡ 
                             
                               ( 
                               0 
                               ) 
                             
                           
                           ⁢ 
                           
                             
                               
                                 R 
                                 ~ 
                               
                               ^ 
                             
                             
                               - 
                               1 
                             
                           
                           ⁢ 
                           
                             
                               s 
                               _ 
                             
                             ⁡ 
                             
                               ( 
                               0 
                               ) 
                             
                           
                         
                         } 
                       
                     
                     
                       
                         
                           
                             s 
                             _ 
                           
                           H 
                         
                         ⁡ 
                         
                           ( 
                           0 
                           ) 
                         
                       
                       ⁢ 
                       
                         
                           
                             R 
                             ~ 
                           
                           ^ 
                         
                         
                           - 
                           1 
                         
                       
                       ⁢ 
                       
                         
                           s 
                           _ 
                         
                         ⁡ 
                         
                           ( 
                           0 
                           ) 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   18 
                   ) 
                 
               
             
           
         
       
     
     The s-vector in the constraint matrix C of Equation (16a) is the so-called “reference correlation vector” (O&#39;Brien1) given by a Fourier integral 
                       [       s   k     ⁡     (   τ   )       ]     n     =         P   d       ⁢       ∫     -   ∞     ∞     ⁢         S   dd     ⁡     (   f   )       ⁢       F   k     ⁡     (   f   )       ⁢       A   k     ⁡     (     θ   ,   φ   ,   f     )       ⁢     ⅇ       -   j     ⁢           ⁢   2   ⁢           ⁢   π   ⁢           ⁢     f   ⁡     [     nT   +   τ   -     τ   r       ]           ⁢     ⅆ   f                   (   19   )               
and its first derivative with respect to code-phase error τ, i.e.,  {dot over (s)} (τ)=d {dot over (s)} (τ)/dτ, with both cases evaluated at τ=0.
 
     The time-delay 
                     τ   r     =       ⌊     N   2     ⌋     ⁢   T             (   20   )               
associates with the delay at a STAP-N filter branch center tap, where T is the data converter sampling period, and the coefficient [s k (τ)] n  associates with the branch k, tap n, STAP weight w k,n . The function S dd (f) is the power spectral density (PSD) for the spreading code of interest (e.g. C/A, P(Y), M, MBOC(6,1,1/11), etc.). Thus, the solution for the STAP filter weights depends upon the choice of the spreading code. P d  is the received signal power; however, for the weight calculation this is normally set to unity.
 
     It is necessary in practice to be able to compute the Fourier integral of Equation (19). A numerical quadrature rule would be used in most cases as the integral is analytically intractable in general. However, for the UCA antenna modeling discussed earlier, the Fourier integrals of Equation (19) have simple, illustrative closed-form expressions. Based on the earlier assumptions, Equation (19) simplifies to: 
                       [       s   k     ⁡     (   τ   )       ]     n     =         P   d       ⁢       A   k     ⁡     (     θ   ,   φ     )       ⁢       ∫     -   ∞     ∞     ⁢         S   dd     ⁡     (   f   )       ⁢     ⅇ       -   j     ⁢           ⁢   2   ⁢           ⁢   π   ⁢           ⁢     f   ⁡     [     nT   +   τ   -     τ   r       ]           ⁢           ⁢     ⅆ   f                   (   21   )               
which is the inverse Fourier transform of the ranging code PSD
 
                       R   dd     ⁡     (   τ   )       =         ∫     -   ∞     ∞     ⁢         S   dd     ⁡     (   f   )       ⁢     ⅇ     j   ⁢           ⁢   2   ⁢           ⁢   π   ⁢           ⁢   f   ⁢           ⁢   τ       ⁢           ⁢     ⅆ   f         =       R   dd     ⁡     (     -   τ     )                 (   22   )               
where R dd (τ) represents the statistical autocorrelation function for the ranging code related to its PSD.
 
     To illustrate, for the P(Y)-code, Equation (22) simply evaluates to 
                         R   dd     ⁡     (   τ   )       =     1   -          τ          T   c           ⁢     
     ⁢   for   ⁢     
     ⁢          τ        ≤       T   c     ⁢           ⁢     (     and   ⁢           ⁢   is   ⁢           ⁢   zero   ⁢           ⁢   otherwise     )                 (   23   )               
where T c  is the chip duration.
 
     Equation (21) then reduces to
 
[ s   k (τ)] n =√{square root over ( P   d )} A   k (θ,φ) R   dd (τ+ nT−τ   r )  (24)
 
     But since we are only interested in τ=0, this becomes
 
[ s   k (0)] n =√{square root over ( P   d )} A   k (θ, φ) R   dd ( nT−τ   r )  (25)
 
     Besides Equation (25), we also need the derivatives of [s k (τ)] n  with respect to τ, also evaluated at τ=0. Since the tent (triangle) pulse in Equation (23) is piecewise linear, 
     
       
         
           
             
               
                 
                   
                     
                       
                         R 
                         . 
                       
                       dd 
                     
                     ⁡ 
                     
                       ( 
                       τ 
                       ) 
                     
                   
                   = 
                   
                     { 
                     
                       
                         
                           
                             0 
                             , 
                           
                         
                         
                           
                             τ 
                             ≥ 
                             
                               T 
                               c 
                             
                           
                         
                       
                       
                         
                           
                             
                               
                                 - 
                                 1 
                               
                               ⁢ 
                               
                                 / 
                               
                               ⁢ 
                               
                                 T 
                                 c 
                               
                             
                             , 
                           
                         
                         
                           
                             0 
                             &lt; 
                             τ 
                             &lt; 
                             
                               T 
                               c 
                             
                           
                         
                       
                       
                         
                           
                             0 
                             , 
                           
                         
                         
                           
                             τ 
                             = 
                             0 
                           
                         
                       
                       
                         
                           
                             
                               
                                 + 
                                 1 
                               
                               ⁢ 
                               
                                 / 
                               
                               ⁢ 
                               
                                 T 
                                 c 
                               
                             
                             , 
                           
                         
                         
                           
                             
                               - 
                               
                                 T 
                                 c 
                               
                             
                             &lt; 
                             τ 
                             &lt; 
                             0 
                           
                         
                       
                       
                         
                           
                             0 
                             , 
                           
                         
                         
                           
                             τ 
                             ≤ 
                             
                               - 
                               
                                 T 
                                 c 
                               
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   26 
                   ) 
                 
               
             
           
         
       
     
     However, here we define the derivative at τ=0 to be zero on the basis that practical system band limiting (from antenna effects and antenna electronics) will blur any sharp edges and round off the otherwise sharp peak at τ=0 in R dd (τ). Therefore, 
     
       
         
           
             
               
                 
                   
                     
                       
                         
                           ⅆ 
                           
                             ⅆ 
                             τ 
                           
                         
                         ⁡ 
                         
                           [ 
                           
                             
                               s 
                               k 
                             
                             ⁡ 
                             
                               ( 
                               τ 
                               ) 
                             
                           
                           ] 
                         
                       
                       n 
                     
                     ⁢ 
                     
                       | 
                       
                         τ 
                         = 
                         0 
                       
                     
                   
                   = 
                   
                     
                       
                         P 
                         d 
                       
                     
                     ⁢ 
                     
                       
                         A 
                         k 
                       
                       ⁡ 
                       
                         ( 
                         
                           θ 
                           , 
                           φ 
                         
                         ) 
                       
                     
                     ⁢ 
                     
                       
                         
                           R 
                           . 
                         
                         dd 
                       
                       ⁡ 
                       
                         ( 
                         
                           nT 
                           - 
                           
                             τ 
                             r 
                           
                         
                         ) 
                       
                     
                   
                 
               
               
                 
                   ( 
                   27 
                   ) 
                 
               
             
           
         
       
     
     Assuming N=M=5 (STAP-5 for a 5-element antenna array) for illustration, we obtain: 
     
       
         
           
             
               
                 
                   
                     
                       [ 
                       
                         
                           s 
                           k 
                         
                         ⁡ 
                         
                           ( 
                           0 
                           ) 
                         
                       
                       ] 
                     
                     n 
                   
                   = 
                   
                     
                       
                         A 
                         k 
                       
                       ⁡ 
                       
                         ( 
                         
                           θ 
                           , 
                           φ 
                         
                         ) 
                       
                     
                     ⁢ 
                     
                       
                         R 
                         dd 
                       
                       ⁡ 
                       
                         ( 
                         
                           
                             ( 
                             
                               n 
                               - 
                               2 
                             
                             ) 
                           
                           ⁢ 
                           T 
                         
                         ) 
                       
                     
                   
                 
               
               
                 
                   ( 
                   28 
                   ) 
                 
               
             
             
               
                 
                   
                     
                       
                         
                           ⅆ 
                           
                             ⅆ 
                             τ 
                           
                         
                         ⁡ 
                         
                           [ 
                           
                             
                               s 
                               k 
                             
                             ⁡ 
                             
                               ( 
                               τ 
                               ) 
                             
                           
                           ] 
                         
                       
                       n 
                     
                     ⁢ 
                     
                       | 
                       
                         τ 
                         = 
                         0 
                       
                     
                   
                   = 
                   
                     
                       
                         A 
                         k 
                       
                       ⁡ 
                       
                         ( 
                         
                           θ 
                           , 
                           φ 
                         
                         ) 
                       
                     
                     ⁢ 
                     
                       
                         
                           R 
                           . 
                         
                         dd 
                       
                       ⁡ 
                       
                         ( 
                         
                           
                             ( 
                             
                               n 
                               - 
                               2 
                             
                             ) 
                           
                           ⁢ 
                           T 
                         
                         ) 
                       
                     
                   
                 
               
               
                 
                   ( 
                   29 
                   ) 
                 
               
             
           
         
       
     
     As mentioned earlier, we have used P d =1. 
     We now have a specific example of how to populate the constraint array C, albeit only for an idealized antenna model. 
     It is again noted that the distortionless constraints method in O&#39;Brien1 produces a distortionless response only on the average. For a given weight vector update, the distortion model transfer function may not in fact be linear in phase. This is obvious from the detailed theory in O&#39;Brien1, and has been observed in simulations. Another observation, not noted in O&#39;Brien1, is that for a given branch  k , the sequence [s k (0)] n is symmetric about the center tap index  n  =2. On the other hand, the sequence [{dot over (S)} k (0)] n  is anti-symmetric about the center tap index. These symmetries are inherited from the structure of the code autocorrelation function and its derivative. The overall impact of this is that the unit sample response corresponding to the distortion model transfer function H(θ, φ, f) on the average has conjugate symmetry, and so is linear phase on the average. 
     Constrained Nulling: Non-beamforming Architecture 
     The algorithm in O&#39;Brien1, discussed in the previous section, gives STAP weights that are dependent upon the GPS signal direction-of-arrival (DOA) and so Equation (17) must be computed separately for each GPS satellite of interest, leading to an implementation of N S  different STAP-N filters according to  FIG. 1 . We, on the other hand, consider bundling together the linear equality constraints in (16a) to provide the instant invention&#39;s Constrained Nulling algorithm in a non-beamforming formulation. This then has the implementation implied by  FIG. 2  and, thus, requires only one STAP-N filter, e.g.  22 , for anti-jamming and preventing distortion for as many as N S  GPS signals (provided that N S ≦M) at the same time. 
     The desired Constrained Nulling algorithm is obtained by solving the revised QPP: 
     
       
         
           
             
               
                 
                   
                     { 
                     
                       
                         
                           w 
                           ^ 
                         
                         _ 
                       
                       , 
                       
                         
                           α 
                           ^ 
                         
                         _ 
                       
                     
                     } 
                   
                   = 
                   
                     
                       
                         
                           
                             
                               arg 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               min 
                             
                           
                         
                         
                           
                             
                               { 
                               
                                 
                                   w 
                                   _ 
                                 
                                 , 
                                 
                                   α 
                                   _ 
                                 
                               
                               } 
                             
                           
                         
                       
                       ⁢ 
                       
                         w 
                         H 
                       
                       ⁢ 
                       
                         
                           
                             R 
                             ⁢ 
                             
                                 
                             
                           
                           ~ 
                         
                         ^ 
                       
                       ⁢ 
                       
                         w 
                         _ 
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       subject 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       to 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         C 
                         H 
                       
                       ⁢ 
                       
                         w 
                         _ 
                       
                     
                     = 
                     
                       
                         f 
                         _ 
                       
                       ⁡ 
                       
                         ( 
                         
                           α 
                           _ 
                         
                         ) 
                       
                     
                   
                 
               
               
                 
                   ( 
                   30 
                   ) 
                 
               
             
           
         
       
     
     where
 
C=[ s   1  . . .  s   N     S  {dot over (s)}       1  . . .  {dot over (s)}   N     S   ]εC NM×2N     S     (31a)
 
   f   ( α )=[1 . . . 1  jα   1    . . . jα   N     S   ] T   εC   2N     S     ×1   (31b)
 
     Due to bundling, however, a complication arises in that the vector  f  now depends on a vector of alpha-parameters, where these parameters are not the same for each satellite. Hence, the equation for scalar {circumflex over (α)} in Equation (18) does not apply anymore. To solve this new revised problem, the derivation in the Appendix of O&#39;Brien1 is generalized as follows. 
     It is useful to define the vectors
 
 e =[1 1 . . . 1] T ε             N     S    
 
and,  α =[α 1 α 2  . . . α N     S   ] T ε           N     S     (32)

     Solving the revised optimization problem (30) requires working with Lagrange multipliers. For the present problem, the relevant objective function is
 
 V (   w   , α )=   w     H   {tilde over ({circumflex over (R)})} w   +(   w     H   C− f     H ( α )) λ + λ   H ( C   H     w − f   ( α ))  (33)
 
     Because the Frost solution applies, this expression reduces to
 
 V ( α )=   f     H ( α )[ C   H {tilde over ({circumflex over ( R )})} −1   C]   −1     f   ( α )  (34)
 
by substituting  w ={tilde over ({circumflex over (R)})} −1 C[C H {tilde over ({circumflex over (R)})} −1 C] −1   f (α) into Equation (33), where the equality constraints are now satisfied and hence the terms involving Lagrange multipliers become null.
 
     We next determine the vector  α  that minimizes the positive definite quadratic form of Equation (34), and this will replace the  {circumflex over (α)}  of Equation (18), which represents a special case. For this, we partition 
     
       
         
           
             
               
                 
                   F 
                   = 
                   
                     
                       
                         [ 
                         
                           
                             C 
                             H 
                           
                           ⁢ 
                           
                             
                               
                                 R 
                                 ~ 
                               
                               ^ 
                             
                             
                               - 
                               1 
                             
                           
                           ⁢ 
                           C 
                         
                         ] 
                       
                       
                         - 
                         1 
                       
                     
                     = 
                     
                       [ 
                       
                         
                           
                             
                               F 
                               11 
                             
                           
                           
                             
                               F 
                               12 
                             
                           
                         
                         
                           
                             
                               F 
                               21 
                             
                           
                           
                             
                               F 
                               22 
                             
                           
                         
                       
                       ] 
                     
                   
                 
               
               
                 
                   ( 
                   35 
                   ) 
                 
               
             
           
         
       
     
     The sub-matrices F nm  are all N S ×N S  and F nn  are of full rank, and the following symmetries apply:
 
F 21 =F 12   H ,
 
F 11 =F 11   H ,
 
     and 
     F 22 =F 22   H  since F is Hermitian, and also positive definite. 
     Using the above definitions, Equation (34) may be rewritten as
 
 V ( α )=   e     H   F   11     e + 2 Re{ b     H   α }+ α   H   F   22   α   (36)
 
where
 
 b   H =j e   H F 12  
 
     Since Equation (36) is a positive definite quadratic form in the unknown vector  α , the minimizing solution can be shown to be the solution to the linear system of equations below:
 
 F   22   {circumflex over (α)} =− Re{ b }   (37)
 
     The objective function minimization to get this solution is achieved either by working with gradient operations or completing the square of the quadratic form of Equation (36). Equations (37) and (38) below:
 
   ŵ ={tilde over ({circumflex over (R)})}   −1   C[C   H   {tilde over ({circumflex over (R)})}   −1   C]   −1     f   ( {circumflex over (α)} )  (38)
 
comprise the Constrained Nulling algorithm. The weight vector given by Equation (38) applies to N S ≦M satellites for the antijam system implemented with the desired structure of  FIG. 2 .
 
     Regularization 
     A practical concern over the bundling of constraints is that although C H {tilde over ({circumflex over (R)})} −1 CεC 2N     S     ×2N     S    has a mathematical inverse, it may be very poorly conditioned for inversion with practical computing machinery. The risk of ill-conditioning arises because the condition number of a product of matrices is approximately a product of the condition numbers of the individual factors. Thus, even if the condition numbers of C and {tilde over ({circumflex over (R)})} −1  are not very big, their product may possess an intolerably large condition number. We have devised a general approach to preventing this problem by regularizing the inverse problem using a suitable diagonal scaling matrix transformation. 
     The risk of ill-conditioning is observed in the algorithm for obtaining C assuming the UCA antenna modeling approach, which has the elements of C according to Equations (28) and (29). Equation (26) shows that because the chip duration T c  is very small, the elements of [{dot over (S)} k (0)] n  will be huge in relation to those of [S k (0) n , leading to C with a fairly large condition number (e.g., cond(C)˜10 8 ) and the sample covariance matrix with a somewhat less large, condition number of, say, 10 6 . The condition number of the product C H {tilde over ({circumflex over (R)})} −1 CεC 2N     S     ×2N     S    is then usually unacceptably large, even for computations performed in double-precision floating-point arithmetic. However, upon recognizing that the problem is due to poor scaling of the columns of C, we can change the calculation as follows to prevent ill-conditioning. 
     We define  {dot over (s)} ′ via: 
     
       
         
           
             
               
                 
                   
                     
                       s 
                       . 
                     
                     _ 
                   
                   = 
                   
                     
                       1 
                       
                         T 
                         c 
                       
                     
                     ⁢ 
                     
                       
                         
                           s 
                           _ 
                         
                         . 
                       
                       ′ 
                     
                   
                 
               
               
                 
                   ( 
                   39 
                   ) 
                 
               
             
           
         
       
     
     The bundled constraint matrix CεC NM×2N     S    may now be now expressed as
 
C=[ s   1  . . .  s   N     S     {dot over (s)}   1 ′ . . .  {dot over (s)}   N     S   ′]D=C′D  (40)
 
where the re-scaling diagonal matrix D is
 
     
       
         
           
             
               
                 
                   D 
                   = 
                   
                     
                       diag 
                       ⁢ 
                       
                         { 
                         
                           
                             
                               1 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               … 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               1 
                             
                             
                               ︸ 
                               
                                 
                                   
                                     N 
                                     s 
                                   
                                   ⁢ 
                                   ones 
                                 
                                 ⁢ 
                                 
                                     
                                 
                               
                             
                           
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             
                               
                                 T 
                                 c 
                                 
                                   - 
                                   1 
                                 
                               
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               … 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 T 
                                 c 
                                 
                                   - 
                                   1 
                                 
                               
                             
                             
                               ︸ 
                               
                                 
                                   N 
                                   s 
                                 
                                 ⁢ 
                                 values 
                               
                             
                           
                         
                         } 
                       
                     
                     ∈ 
                     
                       
                         2 
                         ⁢ 
                         
                           N 
                           s 
                         
                         × 
                         2 
                         ⁢ 
                         
                           N 
                           s 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   41 
                   ) 
                 
               
             
           
         
       
     
     Thus, the equality constraints C H   w = f  now become
 
 D ( C ′) H     w   =   f   
 
or, alternatively,
 
( C ′) H     w =D   −1     f = f   ′(42)
 
     Although F of Equation (35) is now expressed in terms of C′ rather than C, the subsequent calculation for the alpha parameters is not changed and will yield  f ′. 
     The revised Frost calculation for the optimal weight vector of the regularized problem then becomes
 
 {circumflex over ( w )} ={tilde over ({circumflex over ( R )})} −1   C ′[( C ′) H {tilde over ({circumflex over ( R )})} −1   C′]   −1     f ′   (43)
 
     Mathematically, the re-scaled problem is identical to the original one, but numerically the two problems are entirely different. The efficacy of the above regularization has been verified in simulation (e.g., MATLAB). 
     A re-scaling-based regularization procedure for real antenna data would be based on considering the norms of “s” and “sdot” vectors prior to regularizing in order to assess their dynamic range, and hence an appropriate choice of diagonal elements for D. This procedure would be obvious to a person of ordinary skill in the art and is well within such person&#39;s capability. 
     Implementation of the Frost Calculation 
     The central computational problem of Constrained Nulling is to determine the inverse of C H {tilde over ({circumflex over (R)})} −1 C εC 2N     S     ×2N     S    which is core to the Frost calculation, and which inverse exists provided that we enforce N S ≦M and we avoid any ill-conditioning. In principle, the matrix C may be pre-computed and saved in memory, though the memory requirements may be rather substantial. We must begin with a review of how to implement the Unconstrained Nulling (UN) calculation. 
     UN, as in Equation (14), is computationally “nice” because we do not actually need to explicitly form the inverse of the sample covariance matrix. We may proceed by performing the QR-factorization of the data matrix followed by forward elimination and back-substitution to obtain the final desired weight vector. This process is described in detail as follows, but is already known to those with skill in the art. 
     The sample covariance matrix possesses a particular block structure. Specifically, 
                       R   ^     =       [             0   ,   0               0   ,   1           …           0   ,     M   -   1                     1   ,   0               1   ,   1           …           1   ,     M   -   1                 ⋮       ⋮                   ⋮                 M   -   1     ,   0                 M   -   1     ,   1           …             M   -   1     ,     M   -   1               ]     ∈     C     NM   ×   NM           ⁢     
     ⁢   where           (   44   )                   i   ,   j       =         1   K     ⁢     X   i     ⁢     X   j   H       ∈     C     N   ×   N                 (   45   )               
for which x i (n)(in Equation (46) below) is the complex-valued sample sequence for antenna element i at sample time n, and we assume the collection of K samples per antenna element.
 
                     X   i     =     [             x   i     ⁡     (   0   )               x   i     ⁡     (   1   )               x   i     ⁡     (   2   )           …           x   i     ⁡     (     K   -   2     )               x   i     ⁡     (     K   -   1     )               0           x   i     ⁡     (   0   )               x   i     ⁡     (   1   )           …           x   i     ⁡     (     K   -   3     )               x   i     ⁡     (     K   -   2     )               ⋮       ⋮       ⋮                   ⋮       ⋮           0       0       0       …           x   i     ⁡     (     K   -   N     )               x   i     ⁡     (     K   -   N   +   1     )               0       0       0       …           x   i     ⁡     (     K   -   N   -   1     )               x   i     ⁡     (     K   -   N     )             ]             (   46   )               
and for which X i εC N×K  is a Toeplitz matrix, but is generally rectangular. We may also rewrite (44) in yet another way in terms of data matrices. If we define the data matrix as
 
     
       
         
           
             
               
                 
                   Y 
                   = 
                   
                     
                       
                         [ 
                         
                           
                             
                               
                                 X 
                                 0 
                               
                             
                           
                           
                             
                               
                                 X 
                                 1 
                               
                             
                           
                           
                             
                               ⋮ 
                             
                           
                           
                             
                               
                                 X 
                                 
                                   M 
                                   - 
                                   1 
                                 
                               
                             
                           
                         
                         ] 
                       
                       ∈ 
                       
                         
                           C 
                           
                             NM 
                             × 
                             K 
                           
                         
                         ⇒ 
                         
                           Y 
                           H 
                         
                       
                     
                     = 
                     
                       
                         [ 
                         
                           
                             X 
                             0 
                             H 
                           
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             X 
                             1 
                             H 
                           
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           … 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             X 
                             
                               M 
                               - 
                               2 
                             
                             H 
                           
                           ⁢ 
                           
                             X 
                             
                               M 
                               - 
                               1 
                             
                             H 
                           
                         
                         ] 
                       
                       ∈ 
                       
                         C 
                         
                           K 
                           × 
                           N 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           M 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   47 
                   ) 
                 
               
             
           
         
       
     
     Then, 
     
       
         
           
             
               
                 
                   
                     R 
                     ^ 
                   
                   = 
                   
                     
                       1 
                       K 
                     
                     ⁢ 
                     
                       YY 
                       H 
                     
                   
                 
               
               
                 
                   ( 
                   48 
                   ) 
                 
               
             
           
         
       
     
     It may, therefore, be noted that the sample covariance matrix is constructible by a block outer-product of the data matrix with itself. 
     Now, suppose that the QR-factorization of the data matrix Y is
 
Y H =QU  (49)
 
where Q is a unitary matrix and can be obtained by Givens rotations practically implementable using CORDIC arithmetic units, or by Householder transformations for which CORDIC-like operations may also be applied, S.-F. Hsiao, J.-M. Delosme, “Householder CORDIC Algorithms,” IEEE Trans. on Computers, 44(8), Aug. 1995, pp. 990-1001. The MUSE algorithm (See, C. M. Rader, D. L. Allen, D. B. Glasco, C. E. Woodward,  MUSE—A Systolic Array for Adaptive Nulling with  64  Degrees of Freedom, Using Givens Transformations and Wafer Scale Integration , MIT Lincoln Laboratory, Tech. Report 886, 18 May 1990, 86 pages; See also, C. M. Rader, “VLSI Systolic Arrays for Adaptive Nulling,” IEEE Signal Proc. Magazine, July 1996, pp. 29-49) actually uses the Givens rotations approach due to its ready realization in the form of a systolic array, and where STAP weight computation is achieved without direct matrix inversion via the QR-factorization of the data matrix followed by forward elimination/back-substitution computations.
 
     The matrix factor U in Equation (49) is upper triangular. By substituting for Y H  from Equation (49) into Equation (48) we obtain 
     
       
         
           
             
               
                 
                   
                     R 
                     ^ 
                   
                   = 
                   
                     
                       
                         1 
                         K 
                       
                       ⁢ 
                       
                         YY 
                         H 
                       
                     
                     = 
                     
                       
                         
                           1 
                           
                             K 
                           
                         
                         ⁢ 
                         
                           1 
                           
                             K 
                           
                         
                         ⁢ 
                         
                           U 
                           H 
                         
                         ⁢ 
                         
                           Q 
                           H 
                         
                         ⁢ 
                         QU 
                       
                       = 
                       
                         LL 
                         H 
                       
                     
                   
                 
               
               
                 
                   ( 
                   50 
                   ) 
                 
               
             
           
         
       
     
     We have Q H Q=I (identity matrix) because Q is unitary. Also, 
             L   =       1     K       ⁢     U   H             
is lower triangular.
 
     For the UN calculation in Equation (14), we, therefore, work with
 
LL H   ŵ = u   (51)
 
     If we define 
                 z   _     =         L   H     ⁢       w   ^     _       =       1     K       ⁢   U   ⁢           ⁢       w   _     ^           ,         
equation L z = u  can be solved for  z  via forward elimination. The desired weight vector,  ŵ , may then be determined using U ŵ =√{square root over (K)} z  by back-substitution of the calculated  z  value. Using this approach {circumflex over (R)} −1  is simply never formed.
 
     However, determining the matrix product C H {tilde over ({circumflex over (R)})} −1 C in the Frost calculation requires knowing {tilde over ({circumflex over (R)})} −1 . A possible way to determine this inverse matrix is by the use of Equation (50) which means that we use the aforementioned MUSE approach (implementation) first to find the lower triangular factor  L  in {tilde over ({circumflex over (R)})}=LL H εC NM×NM . 
     The inverse of the sample covariance matrix here can be written as a column-wise partition:
 
{tilde over ({circumflex over (R)})} −1 =[ r   1    r   2  . . .  r   NM ]  (52)
 
     The column vectors  r   k  in Equation (52) may be obtained using forward elimination and back-substitution as follows. Following Equation (50) 
                     L   ⁢           ⁢         L   H     ⁢         R   ~     ^       -   1           ︸     =   Y           =     I   =     [         e   _     1     ⁢           ⁢       e   _     2     ⁢           ⁢   …   ⁢           ⁢       e   _     NM       ]               (   53   )               
where  e   k  is a unit vector composing the identity matrix column k. Similarly, matrix Y indicated in Equation (53) (not the data matrix) too could be partitioned into its constituent columns according to
 
Y=[ y   1   y   2  . . .  y   NM ]  (54)
 
     Therefore,
 
L[ y   1   y   2  . . .  y   NM ]=[ e   1   e   2  . . .  e   NM ]  (55)
 
     By executing NM forward elimination steps, we can obtain the columns of matrix Y. Finally, since as defined in Equation (53)
 
L H [ r   1    r   2  . . .  r   NM ]=[ y   1   y   2  . . .  y   NM ]  (56)
 
the columns of the inverse of {tilde over ({circumflex over (R)})} can, therefore, be obtained by executing NM back-substitution steps. This approach has the advantage that the multiple forward eliminations and back-substitutions are implementable as systolic array calculations.
 
     An alternative to getting {tilde over ({circumflex over (R)})} −1  is to realize a system (hardware) that computes L −1  directly since, if the triangular factorization {tilde over ({circumflex over (R)})}=LL H  were available, we would have
 
{tilde over ({circumflex over ( R )})} −1 =( L   −1 ) H   L   −1   =UU   H   (57)
 
     We note that the inverse of a nonsingular lower triangular matrix is lower triangular, and then its Hermitian transpose is upper triangular. 
     If we now have the triangular factorization of Equation (57), the Frost calculation takes the form
 
 {circumflex over ( w )} = UU   H   C[C   H   UU   H   C]   −1     f   ( {circumflex over (α)} )= UV[V   H   V]   −1     f   ( {circumflex over (α)} )  (58)
 
where V=U H C. Another MUSE-like calculation, as above, may be performed to obtain F=[V H V] −1 , from which the weight vector  ŵ  can be calculated.
 
     Constrained Nulling vs Unconstrained Nulling Performance Simulations 
     Using Monte Carlo simulations, we have verified that Constrained Nulling prevents phase distortion. We then modeled the antijam performance to determine if there was any significant loss of antijam protection with Constrained Nulling as compared with Unconstrained Nulling. 
       FIG. 3  shows the deployment scenario for the satellites (SV 1 , SV 2 , SV 3 , SV 4 , SV 5 ) and jammers (JAM 1 , JAM 2 , JAMS) used in the simulation work. 
     A STAP-5 filter for a five-element L1-band UCA was assumed. Consistent with the earlier discussion, five satellite constraints were used for Constrained Nulling. The satellites SV 1  through SV 5  were used for investigating antijam performance. 
     The sample block size used for the simulations was K=250 samples. The mean null depths and ±1-sigma uncertainties were determined based on 100 Monte Carlo runs. The three jammers were either (a) all Continuous Wave, CW, or (b) all Broadband, BB, (phase-randomized tone model). For the CW case, the three jammers were respectively centered about the following frequencies: L1, L1+10 MHz, and L1−10 MHz (‘L1’ means GPS L1 band center frequency of 1575.42 MHz). The jammer-to-noise ratio (JNR) was 45 dB in all cases. Only one STAP weight vector was produced by Constrained Nulling as also by Unconstrained Nulling (for reference comparison purposes); both weight vectors were normalized to possess a unit 2-norm (Euclidean norm). The Constrained Nulling assumed chip-matched filtering for the P(Y)-code. 
     Verification of Distortionless Response 
     The verification of the distortionless response in the five GPS SV directions is shown in  FIGS. 4 through 8 , which show the phase responses (Equation (3)) and group delays (Equation (4)) of the distortion model transfer function (Equation (1)) along each of the five satellite directions. Since satellites SV 1  and SV 2  are close together in azimuth and elevation, the plots for these two satellites are expected to be very similar, as shown in  FIG. 4  (for SV 1 ) and  FIG. 5  (for SV 2 ). Moreover, these two satellites are at greater distances from the jammers than the other satellites, and are, therefore, in what is likely to be a “good” part of the antenna pattern in relation to the jammers. Hence the distortion due to STAP for UN is not expected to be much worse than for CN for these SV 1  and SV 2  satellites. The phase and group delay plots in  FIG. 4  and in  FIG. 5  appear to generally agree with this expectation. 
     The  FIG. 4  plots serve as a useful reference with which to compare the plots for the other satellites, namely, SV 3  ( FIG. 6 ), SV 4  (in  FIG. 7 ) and SV 5  (in  FIG. 8 ), where the distortion due to unconstrained nulling is noticeably worse than for the constrained milling case in the P(Y)-code band. Since, as noted above, satellites SV 3 , SV 4 , and SV 5  are closer to the jammers than satellites SV 1  and SV 2 , and, thus, in less favorable parts of the antenna pattern, the distortion mitigating benefits of CN versus UN are expected to be clearer (for satellites SV 3 , SV 4 , and SV 5 ). 
     It is, therefore, clear that for Constrained Nulling the phase is much more linear and the group delay much ‘flatter’ over the P(Y)-code band than for Unconstrained Nulling. 
     Verification of Nulling Performance 
       FIG. 9  through  FIG. 11  show the nulling performance for both UN and CN against each of the three CW jammers (J 1 , J 2 , and J 3 ). 
     Nulling plots in this sub-section are plots of 20 log 10 |H(θ, φ, f)| versus frequency f over the band of interest (here the L 1  band) for the jammer DOA (θ, φ), as has been noted earlier. The solid lines represent mean values from the 100 Monte Carlo runs and the dashed lines the ±1σ uncertainties. 
     Similarly,  FIG. 12  through  FIG. 14  show the nulling performance of the UN and CN algorithms against each of the three BB jammers. 
     A summary of the null-depth performance simulation results for Unconstrained and Constrained Nulling versus CW and BB jammers is presented in the table of  FIG. 15 . 
     It is to be expected that the null depth for Constrained Nulling will occasionally be better than for Unconstrained Nulling. The reason is that the probability distributions of null depths for the two cases overlap significantly. From nulling plots we see that the 1-σ distribution variances are fairly large and the mean values are not far apart. There is a slight loss (about 0.75 dB) of antijam protection for Constrained Nulling relative to Unconstrained Nulling, if the results of the Table ( FIG. 15 ) are averaged. Thus, any loss of antijam associated with Constrained Nulling is within acceptable limits. 
     We have disclosed a Constrained Nulling code/carrier phase compensation (CPC) method that is executed entirely within the antenna electronics, and for which the algorithm has been fully specified. Examples of alternative embodiments include execution of this procedure in the GPS receiver electronics or other standalone electronics, and all such alternative embodiments are within the scope of the invention claimed herein. The simulation results confirm that the claimed invention prevents distortion to both the average carrier phase and the average code phase of the received GPS signals by enforcing a distortionless response of the STAP filter&#39;s distortion model transfer function, even as any degradation to the nulling performance is seen to be insignificant. 
     The words “including,” “comprising,” “having,” and “with” as used herein are to be interpreted broadly. Moreover, any embodiments disclosed herein must not be taken as the only possible embodiments. Other embodiments will occur to those skilled in the art and are within the scope of the claims herein.