Abstract
Abstract. The implementation of a null-steering antenna array using dual polarised patch antennas is considered. Several optimality criterion for adjusting the array weights are discussed. The most effective criteria minimises the output power of the array subject to maintaining a right hand circular polarisation (RHCP) response on the reference antenna. An unconstrained form of this criteria is derived, in which the reference channel is the RHCP output of the reference antenna and the LHCP output of the reference antenna is included as one of the auxiliary channels. An FPGA implementation of the LMS algorithm is then described. To prevent weight vector drift a variant of the circular leakage LMS algorithm was used. The implementation details of a simplified circular leakage algorithm more suited to an FPGA implementation are presented. This simplified leakage algorithm was shown to have a similar steady state weight vector as the full algorithm.
Introduction
A GPS receiver is relatively susceptible to interference and a number of antenna and signal processing techniques have been investigated to overcome this deficiency. These include :
Introduction
• Fixed antenna enhancements: Manz (2000) , .
Introduction
• Single Channel Adaptive Filters: Dimos et al (1995) , Trinkle and Gray (2001) .
Introduction
• Adaptive Beamformers: Trinkle and Gray (2001) , Zoltowski and Gecan (1995) , Jian et al (1998) , Fante and Vaccaro (2000) .
Introduction
• Polarisation Cancellers: Brassch et al (1998), Trinkle and Cheuk (2003) .
Introduction
• Adaptive Beamformers with Polarisation Diversity: Nagai et al (2002) , Fante and Vaccaro (2002) , Compton (1981) .
Introduction
• Modifying the tracking loop of the GPS receivers: Manz et al(2000) , Legrand et al (2000) .
Introduction
• Integrating GPS and INS sensors: Soloviev and van Grass (2004) .
Introduction
In this paper combined spatial and polarisation null steering are considered.
Introduction
A single GPS antenna with an adaptive polarisation response can be used to reject interferences with polarisations other than the GPS signal. The GPS signal uses RHCP (right hand circular polarisation), i.e., it contains both horizontal and vertical polarizations 90 degrees out of phase; thus it is possible to remove any linearly polarised signal with only a 3 dB loss in GPS signal power see e.g. Brassch et al (1998) . The key idea of polarisation cancellers is thus to reject the interference by adaptively mismatching the polarisation response of the antenna to the polarisation of the interfering signal. Adaptive polarisation antennas can be implemented by adaptively combining the two outputs of a dual polarised patch antenna see e.g. Brassch et al (1998) , Compton (1981) . Clearly this technique becomes ineffective if the interference has the same polarisation as the GPS signal (i.e., RHCP).
Introduction
Single antenna polarisation cancellers operate purely in the polarisation domain, while adaptive beamformers operate only in the spatial (angle domain). It is possible to combine these two domains in a single algorithm by applying beamforming techniques to an antenna array with dual polarised antenna elements. Using a such an array, will approximately double the degrees of freedom available for interference cancellation compared with using a conventional antenna array see e.g. Jain (1998), Trinkle and Cheuk (2003) , Nagai et al (2002) , and it has recently been shown in Jian et al (1998) and Fante and Vaccaro (2002) that GPS polarimetric antenna arrays can cancel more interferences than a standard antenna array with the same number of antenna elements. Thus polarisation diversity can be used to significantly reduce the size of GPS antenna arrays, which is important in many applications.
Introduction
Field Programmable Gate Array, FPGA, technology has lately become an attractive alternative for the implementation of a wide range of DSP applications because of its flexibility and speed. An FPGA allows a large number of multipliers and accumulators to be configured and inter-connected in such a way as to suit a particular algorithm. This fine-grain parallelism allows most adaptive beamforming techniques to be implemented much more efficiently than on a standard DSP. Algorithms implemented on the largest of the current generation FPGAs can achieve several hundred Giga Operations per Seconds (GOPs)
Introduction
The FPGA implementation of an adaptively null-steering dual-polarised antenna array is proposed. The novelty of this approach lies in • The choice of the reference and auxiliary channels in the power minimisation algorithm.
Introduction
• The use of a modified version of the complex LMS algorithm to minimise computations.
Introduction
• The use of Hilbert transforms to generate the analytic signal.
Introduction
• The use of the circular leakage LMS algorithms rather than the standard leaky LMS to prevent weight vector drift.
Introduction
• A simplification of the circular leakage LMS algorithm more suited to FPGA implementation.
Digital Null-Steering Structure
System Architecture A polarimetric adaptive antenna array is placed in front of the GPS receiver. Each element of the array is a patch antenna with two outputs corresponding to the horizontal and vertical polarizations of the received signal. See Figure 1 for a four channel digital null-steering system using two dual-polarized antenna elements. In this example the horizontal component of the first antenna is used as a reference channel as originally proposed in Fante and Vaccaro (2002) . The subscript H denotes the horizontal polarization, V denotes the vertical polarization, I denotes the real part of the complex signal, and Q denotes the imaginary part of the complex signal.
Digital Null-Steering Structure
The output of each polarization channel is converted into a digital signal using an analog to digital (A/D) converter. Since the L1 band GPS signal is james75@example.com and most A/D converters do not have an input bandwidth large enough to sample the GPS signal, a down-converter is used to convert the incoming GPS signal to a lower intermediate frequency. The digital signal from the A/D converter is then fed into an FPGA, see Figure 1 , which implements further filtering and the complete adaptive antenna array processing. The single channel output, y, of the adaptive antenna array is then converted back to the analogue domain by a D/A converter and after further analogue filtering and mixing the signal can be played into a standard GPS receiver.
Adaptive Algorithm
Optimum null-steering algorithms are usually applied to antenna arrays by simply minimising the output power of a weighted sum of receiver outputs subject to one of the multiplier weights (the reference channel) being fixed at unity, see e.g. Trinkle and Gray (2001) . This leads to an optimum weight vector given by c R c c R w
Adaptive Algorithm
and R is the covariance matrix of the receiver outputs defined by For polarimetric antenna arrays, better performance may be achieved by choosing as the reference channel the right hand circularly polarized component of the reference antenna, thus avoiding a 3dB loss in SNR of desired GPS signals in the absence of interferences see e.g. Trinkle and Cheuk (2003) . To handle the dual channels of each polarised antenna the vector of complex receiver outputs is written as:
Adaptive Algorithm
For right hand circular polarisation the horizontal and vertical components of the electric field are -90 degrees out of phase with each other. Thus, for an ideal narrowband RHCP signal the complex vector of outputs from the first reference channel, is given by
Adaptive Algorithm
Combining, with complex weights, H w 1 and V w 1 , the outputs of the horizontal and vertical channels, such that the response due to a circularly polarised signal of unit amplitude is fixed at unity implies that the complex weights are constrained to satisfy . Generalising for the full array, the constraint becomes
Adaptive Algorithm
From Trinkle and Cheuk (2003) , the optimum weight vector becomes c R c c R w
Adaptive Algorithm
The advantage of this constraint, is that it allows, for an N channel receiver, N-1 nulls to be formed as opposed to the previous approaches which restricted the number of nulls to be N-2 see e.g. Trinkle and Cheuk (2003) . In order impose this constraint with an unconstrained LMS adaptive algorithm, an orthogonal projection matrix is used. This transformation takes the horizontally and the vertically polarized complex signals from the dual polarized antenna and converts them to a RHCP signal and another signal that is orthogonal to the RHCP signal (LHCP) as illustrated in Figure 2 below. The orthogonal projection matrix transformation is given by
Adaptive Algorithm
The outputs of the orthogonal projection matrix are then fed to the adaptive algorithm. The RHCP channel, ] [ 1 k u R , is the reference channel, as it has the same polarization as the GPS signal. The orthogonal projection of the RHCP channel, i.e., ]
Adaptive Algorithm
is the first auxiliary channel, which is multiplied by a weight determined by the adaptive algorithm. The other auxiliary channels are the vertical and horizontally polarised outputs of the second antenna. Note that there is no need to transform these outputs into right and left circularly polarised components as the signals are assumed narrow-band so the required phase shift can be incorporated into the adaptive algorithm.
Adaptive Algorithm
To estimate the weights we could first estimate R from the input data and then substitute into Eq. 2.2 to give the desired weights. This approach was not taken as it would require a matrix inversion which is not simple to implement in an FPGA. To avoid direct matrix inversion, gradient descent algorithms are used to iteratively minimise the mean square error.
Adaptive Algorithm
As the output of the beamformer needs to be converted back to a real signal, a simplified version, of the standard complex LMS algorithm was applied. The trade-off between this algorithm and the full complex LMS algorithm has been considered in Horowitz and Senne (1981) .
Implementation of the LMS Algorithm
The use of finite precision arithmetic in the LMS algorithm can cause drift in the weight vectors, Sethares et al (1986) , particularly in the presence of strong interferences. To overcome this a leakage factor can be incorporated into the LMS algorithm. An investigation of a number of leaky LMS algorithms is carried out below.
Leaky LMS Algorithm
The leaky LMS algorithm prevents weight vector drift in finite precision implementations by inserting a leakage factor, L α , into the weight vector update loop.
Leaky LMS Algorithm
This leakage factor avoids weight vector drift by containing the energy in the impulse response of the LMS adaptive filter see e.g. Haykin (2002) . The leaky LMS algorithm is given by :
Leaky LMS Algorithm
where ] [k e , the error signal, is given by
Leaky LMS Algorithm
The difference between the leaky LMS and the conventional LMS algorithm is the leakage factor ) 1 (
Leaky LMS Algorithm
, the first term on the right hand side of the Eq. 3.1. To stabilize the algorithm (i.e., to avoid overflows), the leakage factor, L α , must satisfy the
Leaky LMS Algorithm
The leakage factor can also prevent stalling in the LMS algorithm. Stalling occurs when the correction term
Leaky LMS Algorithm
) in the weight update equation is smaller than the least significant bit (LSB), thus the LMS algorithm will stop adapting. Stalling can also be prevented by dithering the error term. A disadvantage of the leaky LMS algorithm is that it requires more computational and hardware resources. It also biases the weight vector away from the optimal solution, which degrades the performance of the filter. Since the average weight vector noise in the leaky LMS will never converge to the zero, the MSE (Minimum Square Error) is normally larger than for the conventional LMS. Decreasing the value of L α will reduce this problem, but if it is too small then stalling will occur, as the estimation error is not noisy enough.
Circular Leakage LMS Algorithm
The circular leakage LMS described in Nascimento and Sayed (1999) is another leakage-based algorithm to prevent the drift problem. It has an advantage over the leaky LMS algorithm as it does not introduce a bias in the weight estimates. The circular leakage LMS algorithm is a modified version of the σ − switching algorithm described in Ioannou and Tsakalis (1986) , but uses less hardware resources while maintaining the same stabilization performance in the adaptive filter. The weight update equation for the circular leakage LMS can be written as
Circular Leakage LMS Algorithm
is a nonlinear and time-varying circular leakage term. It is defined as follows
Circular Leakage LMS Algorithm
In the above equation the 0 α is a pre-defined constant, 2 1 0 C C < < are pre-specified levels for the magnitudes of the components of the estimated weight vectors and
Circular Leakage LMS Algorithm
Their choice is not discussed here.
Circular Leakage LMS Algorithm
As indicted above the circular leakage term has four different regions which determine the value of the time-varying circular leakage term to be applied to the weight vector recursion It is also only applied to one channel at each iteration (i.e. in a multi-channel antenna array each channel has a single tap weight ) (k w n , where n is the channel number). At the first iteration, the magnitude of the weight vector component corresponding to the first channel, i.e., ) ( 1 k w is checked to determine into which of the ranges of Eq 3.4 it falls. The circular leakage term appropriate to that range is then applied to the weight vector update equation. In the next iteration, the magnitude of the weight vector component corresponding to the second channel, i.e., ) 1 ( 2 + k w is examined to determine which circular leakage term to apply to the update equation, etc. The procedure continues until the weights of all channels have been examined and then, in the next iteration, the process returns to the first channel and cycles around again.
Circular Leakage LMS Algorithm
A typical circular leakage function plot is illustrated in Figure 3 where the positive constants chosen are : 0 α = 0.3, 1 C = 0.6, 2 C = 0.9. These values can be calculated using the equations given in Nascimento and Sayed (1999) . When implementing the circular leakage in real time on the FPGA, one of the main factors that needs to be consider is latency. The standard LMS weight update loop has a delay of one clock cycle. From Eq. 3.3 and Eq. 3.4 the circular leakage algorithm requires six multiplications, two subtractions and two divisions per weight vector update. This introduces significant latency in the weight estimation loop, requiring it to take more than one clock cycle to complete all the calculations. Such a delay would cause the LMS algorithm to behave like the DLMS (Delayed Least Mean Square algorithm), resulting in increased convergence times and an overall loss in performance.
Modified Circular Leakage LMS Algorithm
As the adaptive null-steerer is to operate in real time, the above circular leakage algorithm was replaced by a simplified linear algorithm that required less arithmetic operations. The linear equations for determining the leakage factor C α are given by Eq. 3.5 has the same four regions as Eq. 3.3, but since the quadratic terms are replaced by linear ones the modified function uses less multiplications and no division and so its computational complexity is significantly reduced. As a result, the modified function can complete the weight update calculation in one clock cycle, making it more suitable for a real time implementation. The linear approximation has a slightly higher numerical value of leakage factor ( c α ) at the same weight value ( w ) compared with the standard one. This ensures stability of the algorithm. Figure 5 shows simulation results indicating that the modified circular leakage algorithm remains stable and behaves almost the same as the original one albeit at what appears to be a higher level of misadjustment noise.
FPGA Implementation
This section considers the FPGA implementation of the adaptive null-steerer. The FPGA has four main processing modules including, digital decimation filtering, Hilbert transform filtering and the implementation of the LMS adaptive algorithm using the simplified circular leakage algorithm. The signal flow diagram is illustrated in Figure 6 . In this section, the FPGA implementation of the circular leakage algorithm is discussed.
Simplified Circular Leakage LMS Algorithm FPGA Implementation
The Xilinx System Generator was used to implement the code for the adaptive null-steerer. A schematic block diagram which represents the structure of the code is shown in Figure 7 .
Simplified Circular Leakage LMS Algorithm FPGA Implementation
In Figure 7 , there are 8 inputs on the left hand side (these are from top to bottom: u1HI, u1HQ, u1VI, u1VQ, u2HI, u2HQ, u2VI and u2VQ) and one output on the right hand side. The top four inputs on the left hand side are fed to the orthogonal projection block, this block converts the horizontal polarization and vertical polarization to a RHCP and LHCP output signal. The RHCP channel is chosen to be the reference channel (i.e. u_RHCP_I), which is treated as the desired signal
Simplified Circular Leakage LMS Algorithm FPGA Implementation
. Then the next pair is the real part and imaginary part of the signal from the orthogonal projection of RHCP channel (i.e. u_RHCP(1+j)_I and u_RHCP(1+j)_Q), then the next pair is u2HI and u2HQ etc. So there are a total of one reference and three pairs of auxiliary channels.
Simplified Circular Leakage LMS Algorithm FPGA Implementation
Each of the real / imaginary signals are fed to the LMS based adaptive algorithm, shown in Figure 8 . Then all the outputs of each LMS block are fed into the adder and subtracted from the desired signal to give the error signal which is then is fed back to the LMS block to calculate the updated weights. The LMS loop operates continuously, at the input sample rate, and the optimum weights are continuously estimated. The circular leakage algorithm is implemented in VHDL, as shown in Figure 7 in the block called circular leakage. It has six inputs on the right hand side and same number of outputs in left hand side. It implements the if/then statement of Eq. 3.5. In each iteration, it measures the weight estimate for one channel, and outputs the leakage value according to the Eq. 3.5. This value is then fed back to the leak_out (Figure 8) , and subtracted from the current weight vector component. Then in the next iteration, the circular leakage block will check the w of the next channel.
Conclusions
The FPGA implementation of an adaptive LMS algorithm suitable for dual polarised GPS antenna arrays has been presented. The LMS algorithm minimises the output power of the array while maintaining unity gain for RHCP signals on the reference antenna. To prevent weight vector drift in the LMS algorithm a circular leakage algorithm was implemented. A simplified version of the leakage algorithm was derived which introduces minimal additional bias and allows the LMS updates to occur at the input data rate. The complete algorithm was implemented on an FPGA using the Xilinx System Generator.

{'paper_id': '269920', 'title': 'Null-Steering LMS Dual-Polarised Adaptive Antenna Arrays for GPS', 's2_url': 'https://api.semanticscholar.org/CorpusID:269920', 'source': 'S2ORC'}