[Difx-users] Reg. Fringe Rotation in general..

Manikantan Ramadas mramadas at gmail.com
Mon Feb 19 13:26:05 EST 2018


Hi all,

I have a few questions on Fringe Rotation in general for the VLBI
correlation experts..

A brief paragraph background since it is relevant to some of the design
choices made:
I am working on a VLBI correlator in the context of Interplanetary
Spacecraft Navigation - Delta Differential One-Way Ranging. It is
essentailly a navigation scheme built upon Delta-VLBI where a session
comprises looking at the S/C, an angularly nearby Quasar, back to the same
or another nearby Quasar, etc. from two geographically separated antennas.
The Quasar scan is essentially to subtract away common error sources such
as clock offsets, station-specific effects, media effects etc., from the
S/C signal (near-field source’s) delay measurements.

I have implemented the Quasar (VLBI) correlator based on the XF
baseline-based model since it seemed most straight-forward and probably
sufficient for this context. Thanks to the email that I sent in this group
and the helpful pointers I got earlier, I have a good delay-model based on
DiFXCalc-11 - where I have the 5th order polynomial coefficients every 2
mins. I have also implemented the necessary algorithm to convert geocentric
theoretical delay to base-line theoretical delay with one of the stations
(Stn-A) as reference. I have model delays in the 10-20ns range of accuracy.

Our data-recording format is based on the CCSDS RDEF format - 2-bit complex
samples at 4 MHz sampling rate - and we have 5 such channels for bandwidth
synthesis in S-band.

In the correlator I do the following:
1. Take Station-A’s complex sample at time t: A_t
2. Get the model delay at time t:
    (a) The accurate double value obtained from DiFXCalc-11 for delay at
time t: T.
    (b) Rounded off to the nearest sample as per sampling time unit Ts of
1/4 micro-sec for 4 MHz sampling: T’
    (c) Fractional error at time t: T’-T = Tf
3. The correlator supports a configurable number of lags L:
    -L/2, …, 0, L/2-1.
    For each lag in -L/2, …, 0, …, L/2-1:
        (a) delay=T’+lag*(Ts);
        (b) fringeRotnVal=cexp(-i*2*PI*Vlo*delay)
where Vlo is the central local oscillator frequency of the channel used in
downconversion.
        (c) Station-B’s complex sample at time t+delay=B_td
        (d) Correlation value = A_t * fringeRotnVal * conjugate(B_td)

I keep doing this basic loop and accumulate the Correlation values
lag-wise. Every 64 samples, I do fractional bit-shift correction of the
averaged lag-wise correlation values by taking the L samples to frequency
domain, multiply by phasor cexp(-i*2*PI*Vlo*Tfc) where Tfc is the
fractional error for the central value of the 64 samples. Then I come back
to time-domain to have the 64 fractional error corrected samples. I also do
fractional bit shift correction even if 64 samples are not reached -
whenever a bit shift happens.
Our typical delay rates are in the 2 micro-sec per sec order, and since we
are dealing with a 2.3 GHz S-band sky frequency, the natural fringe-rate is
on the order of 4.6 KHz. Since fringe-rate changes at 2*PI*4600 radians per
sec., for 1 radian it would take aroundd 35 micro-second which at 1/4
micro-sec sampling is 140 samples. I could have chosen 128 samples for
fractional bit-shift correction / first-level averaging, but chose 64 to be
one-step more conservative to be within 1 radian.

The problem is that I am not seeing any correlation peaks in the lag  vs
time (accumulation-period) vs amplitude plane. I have done accumulation for
64 lags (clock-offsets are known to be within the 64/4 = 16 = +/- 8
micro-sec range), and further accumulated the first-level 1sec accumulation
period values, further upto 30 sec.
I have also implemented the FFT conversion from time-to-delay_rate so that
I have single-band Fringe-Search grids in the lag vs delay_rate vs
amplitude 3-D planes. Even here I am not able to see any peaks.

I know from our peer agency that the data is good and successfully
correlated. I have tested my correlator code for auto-correlation by
feeding it the same station files and by-passing the delay/fringe-rotation
steps alone; there are no blatant bugs, correlation peaks are visible in
this auto-correlation scenario.

My questions / confusions in this context are:
1. Am I doing Fringe-Rotation right? Are there any noticeable blunders here
or gotcha-s that I might have missed?
I have seen DiFX code in the mode.cpp file where fringe-rotation is done;
there are interpolators used - linear / quadratic / post-FFT modes. But I
thought that they may not be required for me since I am getting the
model-delay calculated for every sampling period from 5th order polynomials
directly without any further delay-modeling..
2. The 4 MHz bandwidth is only a small fraction of the sky-frequency at 2.3
GHz. I would not lose correlation amplitude right? Or should I consider
getting sub-channel-wise Fourier time-series and do Fringe-rotation
sub-channel-wise?

I have spent quite some time on this, but obviously I must be missing
something. I would be grateful for any suggestions that you may have. I
realise that this is not directly related to DiFX per se., but I don’t know
of any other active VLBI correlator community that I could discuss with. I
hope that it may still be of general interest for members of the mailing
list..If you have any helpful pointers / documents - kindly share it with
me. But I have already searched much of what Google could show me.. Thanks!

Thanks and Regards,
Manikantan

-- 
"By being pleasant always and smiling, it takes you nearer to God, nearer
than any prayer." - Sri Ramakrishna Paramahamsa
------------------------------------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listmgr.nrao.edu/pipermail/difx-users/attachments/20180219/28d46119/attachment-0003.html>


More information about the Difx-users mailing list