Table of contents
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. 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.
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:
- reference FITS visibility data set, to be able to compare ASC results against DiFX
- clocks and rates used for the ground stations in the ASC reference correlation
- EOPs used in the ASC reference correlation
- 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.
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 | ? | ? | none yet |
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, |
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
Delay polynomials
Produced by DiFX calcif2 from .calc --> .im:
- starts at integer second
- defaults to 5th order, 6 coefficients
- coeffs seem to be given in order of a0, a1, a2, a3, a4, a5 (for p(t) = a0 + a1*t + a2*t^2 + ...)
- .im SCAN 0 NUM POLY: 9 total number of coefficients sets over the scan
- .im SCAN 0 POLY <0..8> MJD: 58045 valid from MJD
- .im SCAN 0 POLY <0..8> SEC: 32400 valid from second-of-day
- .im SRC 0 ANT <n> DELAY (us): coefficients for antenna n
- .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:
- starts at integer second, valid over a start/stop time region
- .txt start = 19/10/2017 09h00m00s stop = 19/10/2017 09h01m00s
- defaults to "6th order" (.txt: order = 6), 6 coefficients given
- coeffs seem to be given in order of a0, a1, ..., a5 just like in DiFX .im file
- .txt P0 = -5.28201618845368e-001 ... P5 = -1.67944819726498e-019
- delays are given in seconds (vs DiFX/calc in microseconds), sign might differ from DiFX
- 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.