GNSS interferometry with ATA

In this notebook we explore a GNSS interferometry recording done at Allen Telescope Array on 2020-10-04. The recording is only 15 seconds long and was done starting at 2020-10-04 13:57:11 UTC approximately with antennas 1h and 4g pointing to the Galileo satellite E31. The recording consists of complex baseband voltages for each antenna and polarization.

LO d from the RFCB was used on both antennas and was tuned to 1575.42 MHz.

Two USRP N32x were used to record IF signals at the LO output at 629 MHz with 30.72 Msps sample rate. The first USRP recorded both polarizations from antenna 1h (1hx, 1hy), and the second USRP recorded both polarizations from antenna 4g (4gx, 4gy). The USRPs were synchronized using an external 10 MHz reference and PPS coming from ATA installation. LO sharing was not enabled, so random phase offsets between the four channels are to be expected.

Dask setup

We use Dask to perform FFTs in parallel and load the large IQ recording to RAM in chunks on demand.

Stations, baselines and triangles

Here we set up the list of stations, which correspond to each antenna and polarization and calculate the list of possible baselines to correlate and triangles to perform phase closures.

FX correlator

We perform the correlations in an FX correlator that uses a 4096 point FFT, giving channels of 7.5 kHz.

The delay between the antennas is small, on the order of 19 samples. Therefore, it can be corrected by multiplication by a suitable complex exponential in the frequency domain without incurring much correlation losses.

Coarse baseline delay

For this short recording, the delay in integer samples corresponding to the 1h-4g baseline is always 19 samples. This simplifies the caculations. We correct by a delay of 19 samples by multiplying with a complex exponential in the frequency domain.

Then we can begin averaging across the frequency axis without incurring significant losses. We can use this averaging to estimate the baseline delay rate, correct for it, and then estimate the initial fractional delay (smaller than 0.5 samples) in the frequency domain and correct for it.

Baseline delay rate

We use a coherent averaging period of 0.1 seconds and also coherently average across the frequency axis. With this, we obtain the phase rate over time, and estimate the baseline delay rate from that.

There is a single baseline rate, the one for 1h-4g. We estimate it as the average of the phase rates for the 4 baselines involving this pair of antennas. The other 2 baselines are zero baselines and have no drift.

The baseline rate correction is done differently on each frequency bin according to its corresponding sky frequency.

Fractional delay estimation

With the baseline delay rate corrected, now we can average coherently over the time axis and estimate and correct the initial fractional delay (smaller than 0.5 samples) for the 1h-4g baseline by estimating the linear phase drift accross frequency.

In order to do so, we first subtract the average phase to each baseline correlation. This is just an intermediate step. A proper phase calibration of the visibilities will be done later, after the fractional delay has been corrected.

Here we show that correlation phase averages have been subtracted and the phase over frequency doesn't do a full cycle, which would mess with a linear fit.

There is a single baseline fractional delay, the one for 1h-4g. We estimate it as the average of the phase drift over frequency for the 4 baselines involving this pair of antennas. The other 2 baselines are zero baselines and have delay.

Here we show that our linear fit is able to correct the linear phase drift across frequency.

Uncalibrated visibilities

The uncalibrated visiblities over frequency are computed by applying the fractional delay correction we have just computed. By averaging over the frequency axis, we obtain the uncalibrated visibilities.

Phase closures

We examine that the phase closures are close to 0, as expected for a point source target.

Phase calibration

We perform phase calibration by choosing a reference station (1hx) and multiplying the complex voltages of each of the other stations by a suitable phasor so that the baselines involving the reference station are real and positive.

Ampitude calibration

We perform amplitude calibration by assuming that each antenna and polarization should collect the same flux from the satellite signal. This is reasonable, because the dishes should have nearly the same performance and the GNSS signal is circularly polarized, so both polarizations should collect the same power.

We compute the average power collected by each station, and use that to derive amplitude calibrations that give normalized correlations (so that the maximum correlation would be 1).

Calibrated visibilities

We apply the phase and amplitude calibrations to the visibilities over frequency and to the visibilities. We show that calibrated visibility amplitudes are close to 1 and calibrated visibility phases are close to 0, as expected for a point source.

Calibrations

Here we summarized the calibrations that we have applied to the data.

Visibilities across frequency

By examining the visibilities across frequency, we can see frequency dependent effects on the receiver chain in each of the channels.

The calibrated visbility phase shows frequency-dependent phase delays in the receiver chain.

The calibrated visibility amplitudes show basically the PSD of the GNSS signal, and are not very useful to study the receiver chain.

Weigthing the uncalibrated visibility amplitudes using the inverse PSD of the signal is equivalent to performing a separate amplitude calibration by frequency, which calibrates out the fact that the source is not spectrally flat.

Thus, we get an amplitude smaller than one that indicates the correlation losses for that baseline.

It is remarkable that baselines involving 4gy have worse losses than the others. The reason is that 4gy has much less SNR than the other stations. This can be seen in the PSD, by noting that the signal nulls are not so deep as for the other channels.

In the same way, the weaker sidelobes have noticeable correlation losses (amplitude around 0.9) for all baselines.

To study the frequency dependent amplitude behaviour of the receiver chain we first compute the calibrated PSD for each channel, using the amplitude calibration. Here we can see that channel 4gx has the best SNR (it has the deepest nulls), so we will use that as a reference for the source PSD.

If we weight the PSD of each channel with the inverse of the PSD for channel 4gx, we see that the channels for antenna 1h have a noticeable slope over frequency.

Next, we can plot the calibrated visibility amplitudes, weigthed with the inverse of the reference PSD to correct for the source non-flat PSD. Here the slope caused by 1hx and 1hy is clearly visible.

Goodness of baseline delay rate estimation

To check the goodness of the baseline delay rate estimation, we go back to the correlations over time and apply all the calibrations to obtain calibrated visibilities over time.

We observe no significant drift in any of the calibrated visibilities. The standard deviations of the visibility phases over time are on the order of 1 degree.

Even though we don't have many measurements for phase over time, their distributions do not show any significant bias from being normally distributed.

With a variance of $\sigma = 1\ \textrm{deg}^2$, we have a variance of $\sigma^2/\sum{(t_j - \overline{t_j})^2}$ for the baseline drift rate obtained by linear regression. This works out to about 10um/s of standard deviation.

We have estimated the delay drift from measurements of 4 baselines. The standard deviation of these 4 measurements is actually on the order of 4um/s.

Comparison with simulated calculation

Theoretical delay rate for 1h-4g baseline using broadcast ephemerides, timestamp 2020-10-04 13:57:18 UTC (13:57:36 GST), which is the mipoint of the recording.

Note that the precise timestamp of the recording is not know; the timestamp comes from stat modify time.

We use WGS84 positions for the antennas:

These come from Google satellite, so they are not very precise.

The error between simulation and measurements (in m/s) is:

This is completely within our 10um/s error budget.

Visibilitiy amplitudes over time

The following plot shows the evolution of calibrated visibility amplitudes over time.