A method, run on a processor, for determining position of a helicopter with respect to a combined phase difference array and phased array of receivers, the combined array including an inner array spaced at a first distance from a central receiver and an outer array spaced at a second distance from the central receiver larger than the first distance, the method comprising:
- transmitting a location signal from the helicopter to the combined receiver array, the location signal including a base frequency and a plurality of hop frequencies;
- determining time difference of arrival between pairs of receivers by determining phase difference with respect to frequency, the phase difference unwrapped when in excess of 2π;
- beamforming response of receivers in the inner array of receivers in the combined array to obtain a direction and elevation angle as an average of estimates made at each hop frequency;
- calculate a far field phase difference between each pair of receivers in the outer array of receivers;
- determine non-integer multipliers of 2π phase difference for phase difference with respect to frequency between pairs of receivers in both the inner array and the outer array;
- convert the non-integer multipliers to integer multipliers;
- determine fully unwrapped phase difference with respect to frequency for all pairs of receivers using the integer multipliers;
- determine a linear least squares best fit of phase difference with respect to frequency for all pairs of receivers, wherein the linear least squares best fit is constrained to pass through zero phase at zero frequency, thus determining corrected TDOA for each pair of receivers;
- determine whether the TDOA is greater than the far field delay, and if not adjust the TDOA by the equivalent of 2π change in the phase difference at the highest hop frequency;
- find an intercept of a least squares fit of the TDOA versus the far field TDOA for all pairs of receivers in the outer array;
- calculate a range of the helicopter from the central receiver using the intercept;
- determine the horizontal distances in orthogonal directions (X,Y) from the range and determined angle;
- calculate the elevation of the helicopter (Z) using the range, and X,Y;
- transmit X, Y, and Z values to the helicopter.