User Tools

Site Tools


We know trunk DiFX works for the following cases (I'm sure not all combinations have been tested, but most of the extremes have):

  • Real samples, 1,2,8 bit single thread, legacy or non-legacy headers with data payloads up to 40000 bytes, up to 8 channels; 16, 32 channels tested to 8000 data bytes.
  • Real samples, 1,2,8 bit multi-thread, non-legacy headers with data payloads up to 5000 bytes per thread, 1,2,4,8 threads
  • Real samples, 2 bit multi-thread/multi-channel non-legacy data with power of two channels per thread

Some things probably work but may never have seen data to test:

  • Real samples, 4 bits
  • nChan*nBit ⇐ 64 (e.g., up to 32 channels with 2 bits)

Large number of bits (e.g. 16) may have some normalisation issues which should calibrate out (ie the raw correlations are huge).

Complex samples seems to work but still should be considered beta quality. Only 2bit has been tested. Note that there are two ways of representing complex data - DIFX calls these single and double sideband (single sideband has no negative frequencies and is just the analytic signal created from real sampling). More testing is needed to be sure fringe rotation and delay tracking is done correctly in the double sideband case).

We know certain cases are not supported:

  • Legacy headers, multi-threaded
  • Multi-threaded, non-power of two number of channels (though this should be fairly easy to make work…)
  • Multi-threaded, different properties on different threads (num bits, packet size, bandwidth, …)
  • Data with large (hundreds of frames) time gaps (might work in some cases)
  • Data where the first frame is marked Invalid, or in case of multi-threaded VDIF, data of one thread starts slightly later or earlier than the other threads (leading to Invalid frames at the start of the data during internal multiplexing from multi- to single-thread in DiFX).

Known VDIF variants for some antennas

    • 2 bits per sample
    • 1, 2, 4 or 8 channels
    • One thread per channel; threadIds increment by one per channel from zero
    • Non-legacy headers
    • 5000 data bytes per frame
    • Bandwidth from 1 MHz to 128 MHz in powers of 2
    • All variants work with DiFX
    • vex2difx format notation INTERLACEDVDIF/0:1:2:3/5032/2 (4 channel case)
    • VLBA and GBT make use of Extended Data Version 3. VLA keeps EDV and corresponding data set to zero.
  • VLITE (real-time VLA correlated with DiFX)
    • 8 bits per sample
    • 2 channels
    • One thread per channel; threadIds are 0 (for Y polarization) and 1 (for X polarization)
    • Non-legacy headers
    • 5000 data bytes per frame
    • 64 MHz bandwidth
    • Only one variant; works with DiFX
    • vex2difx format notation INTERLACEDVDIF/0:1/5032/8
difx/vdif.txt · Last modified: 2017/10/18 02:17 by walterbrisken