RadioAstron Closed Loop for DiFX

    Version as of 01:54, 19 May 2024

    to this version.

    Return to Version archive.

    View current version

    Introduction

    RadioAstron has two modes of synchronization: 1) local synchronization with a H-maser reference and an on-board rubidium reference, and 2) "closed-loop" with synchronization using the H-maser references at Pushchino and Greenbank ground stations.

    The H-maser reference was depleted in July 2017. This left the rubidium as the only on-board reference.

    Astro Space Center (ASC) reports in RadioAstron Newsletter #33 that the synchronization mode with the on-board reference produced interferometric fringes, but best results were achieved in the closed-loop mode. 

    Closed-loop mode of synchronization is the default for AO5 and AO6 observations.

    The ASC has a dedicated software correlator for RadioAstron experiments. The ASC correlator already implements a delay model that incorporates closed-loop mode.

    The DiFX software correlator supports space VLBI ("RA-DiFX"). It too is used for correlating RadioAstron experiments. However, currently RA-DiFX does not support the closed-loop mode (01/2019).

    Source code location

    This page keeps track of implementing closed-loop support into the existing DiFX RadioAstron source code branch.

    The current not yet modified RA-DiFX source code resides in https://svn.atnf.csiro.au/difx/master_tags/DiFX-RA-1.0.0/ and is installed in /cluster/difx/DiFX-RA-1.0.0/, selectable on the cluster with 'dra100'.

    The new script for applying closed-loop corrections to DiFX/CALC IM files before the actual correlation run resides in https://svn.atnf.csiro.au/difx/sites/MPIfR/oneoff/raPatchClosedloop.py

    Updates

    22Nov2018 : brief exchange with J. Anderson (RA-DiFX) on patching closed-loop delays into DiFX CALC model .im files

    17Dec2018 : test data set RK18CJ received at Bonn, no documentation

    07Jan2019 : first look at raw data and .vex; created v2d and vex.obs; ground-only, no fringes yet in K nor C band; no station clock infos

    15Jan2019 : created 'raPatchClosedloop.py' script to apply closed-loop corrections to DiFX/CALC IM prior to running actual DiFX correlation job. Script in DiFX Trunk ./sites/MPIfR/oneoff/

    25Jan2019 : Mikhail found RadioAstron fringes in the rubidium-mode scans! Had to set GT delays in VEX to zero, and include them (in units of usec) in .v2d clockfudge. Strong fringe in C-band (fringe_RA_Yebes_Cband_rubidium.pdf). For the closed-loop scans and poly, might need to combine zeroth order coeff of ASC with CALC, replace rest with the higher order coeffs from ASC.

    28Jan2019 : Closed-loop fringes K-band first scan (fringe_RA_GBT_Kband_closedloop.pdf). Not as strong as anticipated. Not stable over time, strong fringe mainly in 75 sec towards end of first scan (fringe_RA_GBT_Kband_closedloop_sec600-675.pdf).

    Test data set

    Data are on the cluster under /data/rk18cj/ and /Exps2/rk18cj/

    Raw data

    /data/rk18cj/rdf/GBTS_20172920*.rdf RadioAstron raw 4-channel 1-bit data in RDF(?) format
    /data/rk18cj/ra/GBTS_20172920*.m5b RadioAstron raw RDF converted to raw Mark5B
    /data/rk18cj/gb/NRAO+312_005?_RK18CJ_GB_No000? GBT, 4-thread 1-channel 2-bit VDIF
    /data/rk18cj/{ys,mc,ir,nt}/* Yebes and others stations, 1-thread 4-channel 2-bit VDIF
    /data/rk18cj/tr/* Torun, unknown format

    Extra files

    README "This is a RadioAstron experiment raks18cj to test the RadioAstron correlation for the closed-loop (coherent mode) observations."
    filelist_RA_v2d.txt spacecraft / ground station clock breaks in undocumented notation
    rdf/GBTS_2017_292_rk18cj.txt RDF file 1-bit statistics in 4-channels for all four scans
    RA_C_COH.TXT RadioAstron delay polynomials for each scan
    RA_C_COH_uvw.txt RadioAstron polynomials for u, v, and w

    Missing information:

    1. reference FITS visibility data set, to be able to compare ASC results against DiFX
    2. clocks and rates used for the ground stations in the ASC reference correlation
    3. EOPs used in the ASC reference correlation
    4. details on the polynomials; is RA_C_COH.TXT in seconds, does it include ground-to-space delay?

    Correlation details

    Details of DiFX correlation are below.

    Scans

    Source ra1cm2 ra6cm2 RadioAstron reference
    0716+714 @ 292-0900 GT GB M TR GT IR NT YS free-running
    0716+714 @ 292-0915 GT GB M TR GT IR NT YS free-running
    0716+714 @ 292-0930 GT GB M TR GT IR NT YS onboard rubidium
    0716+714 @ 292-0945 GT GB M TR GT IR NT YS onboard rubidium

    Freq setup of RA: four channels, all are LCP polarization, frequencies and sidebands as below:

    def RA4Freq;
         sample_rate =  32.000 Ms/sec;  * (1bits/sample)
         chan_def = :  4836.00 MHz : U :  16.00 MHz : &CH01 : &BBC01 : &NoCal; *Lcp
         chan_def = :  4836.00 MHz : L :  16.00 MHz : &CH02 : &BBC01 : &NoCal; *Lcp
         chan_def = : 22236.00 MHz : U :  16.00 MHz : &CH03 : &BBC03 : &NoCal; *Lcp
         chan_def = : 22236.00 MHz : L :  16.00 MHz : &CH04 : &BBC03 : &NoCal; *Lcp
    enddef;
    

    Delays for GT/RA: Mikhail found that delays in earlier VEX attempts should be set to zero in the VEX, and instead have to be included in the .v2d under the clockfudge entries in units of microseconds:

    SC_GS_clock_break=start@2017y292d07h56m06s/sync@2017y292d07h56m06s/clockfudge@0.0 # To do
    SC_GS_clock_break=start@2017y292d09h00m00s/sync@2017y292d09h00m00s/clockfudge@0.0 # To do, closed loop
    SC_GS_clock_break=start@2017y292d09h15m00s/sync@2017y292d09h15m00s/clockfudge@0.0 # To do, closed loop
    SC_GS_clock_break=start@2017y292d09h30m00s/sync@2017y292d09h30m00s/clockfudge@-3.30469 # Fringes, rubidium
    SC_GS_clock_break=start@2017y292d09h45m00s/sync@2017y292d09h45m00s/clockfudge@-3.25000 # Fringes, rubidium
    

     

    Status

    Station Format Delay Rate Notes
    Noto @6cm VDIF/8032

    fs log "gps-fmout/-48.48e-06"

    fringe: -37.48us

    ? ground fringes
    Yebes @6cm VDIF/8032 fringe: +6.0us ? ground fringes
    Irbene @6cm VDIF/8032 fringe: 0.0us (ref) ? ground fringes
    RadioAstron/GBTS @6cm  Mark5B-128-4-1 ? ? 6cm fringes in rubidium scan
    GBT @1.3cm (automatic, multi-threaded VDIF) fringe: 0.0us (ref) ? ground fringes
    Medicina @1.3cm VDIF/8032 fringe: -21.0us ? ground fringes
    Torun @1.3cm MKIV1_4-256-4-2 fringe: -13.5us ?

    ground fringes,
    in RR but not in LL

    Delay polynomials

    Produced by DiFX calcif2 from .calc --> .im:

    1. starts at integer second
    2. defaults to 5th order, 6 coefficients
    3. coeffs seem to be given in order of a0, a1, a2, a3, a4, a5 (for p(t) = a0 + a1*t + a2*t^2 + ...)
    4. .im SCAN 0 NUM POLY:    9    total number of coefficients sets over the scan
    5. .im SCAN 0 POLY <0..8> MJD: 58045   valid from MJD
    6. .im SCAN 0 POLY <0..8> SEC: 32400   valid from second-of-day
    7. .im SRC 0 ANT <n> DELAY (us): coefficients for antenna n
    8. .im SRC 0 ANT <n> U (m): coefficients for antenna n; similarly for V (m) and W (m)

    DiFX calcif2 divides the day (sec 0...86399) into fixed intervals. The intervals start from second 0 of the day. In non-RA DiFX Trunk the length of each interval is 120 seconds. VEX scan start times do not affect the placement of the polynomial intervals. In other words, polynomials are valid in 2-minute intervals, and these are not necessary aligned with the VEX scans.

    Provided by ASC in RA_C_COH.txt and RA_C_COH_uvw.txt:

    1. starts at integer second, valid over a start/stop time region
    2. .txt start = 19/10/2017 09h00m00s  stop = 19/10/2017 09h01m00s
    3. defaults to "6th order" (.txt: order = 6), 6 coefficients given
    4. coeffs seem to be given in order of a0, a1, ..., a5 just like in DiFX .im file
    5. .txt P0 = -5.28201618845368e-001   ...  P5 = -1.67944819726498e-019
    6. delays are given in seconds (vs DiFX/calc in microseconds), sign might differ from DiFX
    7. polynomial coeffs are for direct replacement of CALC .im coeffs; "This are final values of the delay model, accounting for additives (but without accounting for the signal travel time from the satellite to the tracking station - this one should be [or should not be, if DiFX calculates it] be added to the first term of the polynomial)"

    The current set of files (without documentation) would suggest that if RA-DiFX produces 1-minute intervals as seen in RA_C_COH.txt, then the 6 polynomial coefficients can simply be summed element-wise to those in the .im file.

     

     

    Details on implementation in DiFX