NOEMA April 2019

    Version as of 13:13, 29 Apr 2024

    to this version.

    Return to Version archive.

    View current version

    Temporary page for filling in details on the NOEMA April 2019 setup.

    1. Systems Check

    RF-over-Fiber to R2DBE

    The RFoF receiver and IF processor unit currently receives Antenna 4, 2 polarizations x IF 4-12 GHz.

    The RFoF has an internal dual-LO chain (9.0 GHz +5.4 dBm,  4.0 GHz +16.9 dBm) that splits the RFoF signal into a selected 2 pol x 2 sideband x 2 GHz. In case of April 2019, the RX LSB is mixed LSB(1) LSB(2) so is Net LSB.

    R2DBE receives lower 2 GHz from boths pols into if0, if1.

    R2DBE power levels were checked to be within +-1 dBm of ideal after semi on-sky test; antenna stowed pointing at horizon due to snowfall i.e. ground contribution to Tsys, levels likely to drop a bit when actually on sky.

    R2DBE 2048 MHz clocking and the dual-LO clocking is somewhat adventurous. Timetech freq dist amp (in: H-maser 5 MHz) in the correlator room, one output sent to a stack of three synthesizers (R&S SMA 100B for 9 GHz, SMA 100A for 4 GHz and 2.048 GHz) with ext.ref. from this 5 MHz line shared by BNC-T. Oscilloscope shows distortion of sine. Spectrum analyzer shows still good phase noise. 

    GPS/Maser 1PPS

    R2DBE : HB_sma <-- GPS 1PPS; 1pps_sma <-- H-maser 1PPS

    GPS--Maser 1PPS offset currently +53.28 milliseconds by oscilloscope.

    Internal r2dbe post-sync 1pps vs. external GPS 1PPS very stable, zero to a few 256 MHz clock cycles.

    LO offsets

    On the RFoE receiver side in the correlator room it is readibly apparent from the synthesizer settings that there are no LO offsets.

    The 1st LO tuning is based on a R&S SMA 100A synthesizer in the correlator room. Its output feeds the "NOEMA LO system III" which is a coax-based LO distribution system to the ndividual antennas, and compensates for coax temperature etc related delay/phase changes.

    Olivier has taken care that there are no potential rounding-error induced LO offsets for the 1st LO synthesizer. Tested were 1823.0 MHz in engineering tests. And 1910.500 MHz chosen for GMVA VLBI and tested and verified, including inspection of freq setting on synthesizer screen when commanded by the NOEMA system. Hence it is extremely likely that there is no 1st LO offset

    Walsh switching

    The Walsh switching cycle is 32 Hz. New phases are loaded aligned to H-Maser 1PPS rather than GPS 1PPS due to drift/offset issues of GPS 1PPS relative to H-maser -derived frequencies.

    Olivier & co confirmed on the NOEMA LO System III bench directly on the inputs&outputs that for the selected Reference antenna (in VLBI it is Antenna 4) the Walsh switching is stationary (walshing is essentially off) and does not alter the phase of the reference antenna.

    Doppler correction

    Need to double check with operators but Doppler was off during Oct 2018 and is known required to be off for VLBI.

    Coherence test by tone injection

    Cannot test full RX chain coherence. Not possible at the moment at any antenna, also not the reference antenna. Considerations to in the future perhaps to have either a beacon system for a sky-freq tone for the whole array. Or injection at one antenna. Currently tone injection into 1st IF after the receiver is technically not possible. A further issue is how to transport the necessary "pristine" 5 MHz maser standard to the reference antenna instead of using derived frequencies from the phase/delay-compensated 1st LO distribution system.

    Tested however a partial coherence test was possible: LO2/LO3/R2DBE -chain coherence test. This does not verify "NOEMA LO System III" behaviour of 1st LO distribution to the telescopes i.e. receiver coherence and whatever the phase rotator might be introducing. 

    coherence test synthesizers forTone LO2 LO3 Clk.jpg coherence test RFoF analog tone coupling.jpg coherence test R2DBE spectrum.png m5tone_example.png

    Coherence test setup 04April2019:

    • R&S SMB 100A synthesizer used for a tone at 5.512 GHz -30 dBm
    • Tone coupled at IF1-level into the analog output of the RFoF receiver in the VLBI rack.
    • Noise comes from the actual antenna signal also present.
    • R&S SMA 100B for 9 GHz LO2
    • R&S SMB 100A for 4 GHz LO3
    • Marconi 2024 for R2DBE 2048 MHz (not enough SMB 100A synths available so had to use this one)
    • Recorded 30 seconds on Mark6 from R2DBE if0 & if1
    • m5tone.py on EHT-CC server used to extract tone phase and tone coherence
    • 100% coherence in 10 milliseconds
    • -120deg average phase with some erratic drifts within +-5 deg over the 30 sec

    H-maser rate

    Michael Bremer has checked the 1pps offset data of 30 past days.

    The rate is linear and approximately +4.52e-15 sec/sec.

    2. Pending checks

    1. Run DiFX correlation on the 30sec dual-pol recording

    2. Brief observation of an SiO maser source from the VEX schedule to make sure the R2DBE backend data contains the maser lines i.e. have correct sideband selections in all three mixing stages: schedule f191a.vex has 

    1. P-V1111OPH   -32.00 km/s LSR
    2. P-RCAS    ( SIO-RCAS )  +24.00 km/s LSR

    but these are scheduled to be observed only with the VLBA and only the 43 GHz SiO lines. Perhaps http://www.apex-telescope.org/observing/pointing/spectra/ something falls into the 86 GHz observed band (?)

    3. Michael Bremer has suggested before to test a 1st LO synth output comparison. One synth ("VLBI synthesizer"; R&S SMA 100A) is located jointly with the H-maser in a climate controlled housing and has about 10-15 meters of cable run to the correlator room to the LO Distribution units. Next to the LO Distribution units there is another 1st LO synthesizer in normal NOEMA use (R&S SMA 100A) that receives maser 5 MHz over a similar 10-15 meter cable run. Bremer suggests mixing both LO (with small tuning offset) to see thermal stability. Given that 5 MHz cable and "VLBI" LO cable run the same below-floor-tile route the comparison will probably compare phase stability of synthesizers between climate controlled vs correlator room aircon cooled.

    R2DBE setup

    Clock  2048 MHz clk, 0 +- 3 dBm 50 ohm

    Driven by R&S SMB 100A that is 5 MHz H-maser locked.

    "HB" SMA input from GPS 1PPS

    "1PPS" SMA ref input from Maser 1PPS. Connected in order to utilize internal counter-comparator in addition to separate external 1PPS GPS-MASER unit. This functionality seems however to have issues in the new r2dbe software (?).

    Control computer (re-)customizations

    Enabled ip4 NAT/masquerade to allow Mark6's to use further NTP, and access the internet for installing DiFX for zero baseline tests.

    Added jwagner as publickey-only auth (/etc/ssh/sshd_config section like "Match User daan").

    Installed DiFX-2.6 under /home/oper/difx/ in order to have m5tone, m5spec.py and source code of some important VDIF utilities (fuseMk6, vdiftimeUDP) that can be compiled on Mark6.

    The /home/oper/bin/vex2xml.py is broken for python 2.7. Modified it.

    Initially, reverted back to the R2DBE scripts from SAO-EHT https://github.com/sao-eht rather than Radbout written-from-scratch "vlbicontrol". We have not tested it, especially not for GMVA, and no earlier experience since neither NOEMA nor APEX were in the EHT dress rehersal. Testing 03Apr2019 showed that r2dbe_monitor.py does not work.

    Switched then to the new R2DBE scripts. Needed a new config file for it. Here, r2dbe_monitor.py works.

    Files: dnsmasq.conf ntp.conf

    Mark6 setup

    Installed vdifstream git repository utilities:
    vdiftimeUDP  : UTC vs realtime VDIF timestamp monitoring
    vdifsnapshotUDP : burst mode capture to memory then disk
    vdifcontinuitycheck.py : report VDIF frame continuity (threads, lost frames, reordered frames, thread misalignment)
    fuseMk6 : mount the disk module as readable proper gatheredVDIF files
     

    /etc/dhcp/dhclient.conf

        append domain-name-servers 193.48.252.22, 192.168.200.50;
     

    Practical details

    Mounting Mark6 modules for reading off files

    oper@recorder1:~> sudo mkdir -p /mnt/fuse/12
    oper@recorder1:~> sudo mkdir -p /mnt/fuse/34
    oper@recorder1:~> sudo chown oper:oper /mnt/fuse/12
    oper@recorder1:~> sudo chown oper:oper /mnt/fuse/34
     
    oper@recorder1:~> fuseMk6 -r "/mnt/disks/[1-2]/[0-7]/data/" /mnt/fuse/12
    oper@recorder1:~> fuseMk6 -r "/mnt/disks/[3-4]/[0-7]/data/" /mnt/fuse/34
    oper@recorder1:~> fusermount -u /mnt/fuse/12
    oper@recorder1:~> fusermount -u /mnt/fuse/34
     
    Note, a lot of utilities (e.g., m5spec, m5tone) could not be installed on the Mark6 because the ancient Debian Squeeze archive key is expired and keys cannot be refreshed by apt-key, so cannot install new packages such as the FFT library fftw  (maybe there is a way to get apt-get working again?).
     

    Access on EHT-CC server to Mark6 FUSE-mounted modules

    [root@cc-noema ~]# pacman -S sshfs
    [oper@cc-noema zerobaseline]$ mkdir -p zerobaseline/recorder1_fuse_12
    [oper@cc-noema zerobaseline]$ mkdir -p zerobaseline/recorder1_fuse_34
     
    [oper@cc-noema zerobaseline]$ sshfs recorder1:/mnt/fuse/12/ /home/oper/zerobaseline/recorder1_fuse_12/
    [oper@cc-noema zerobaseline]$ sshfs recorder1:/mnt/fuse/34/ /home/oper/zerobaseline/recorder1_fuse_34/
    [oper@cc-noema zerobaseline]$ m5spec recorder1_fuse_34/test_Na_tone512M.vdif VDIF_8192-8192-1-2 65536 2000 r2dbe_if1_65kpt.spec
    [oper@cc-noema zerobaseline]$ gnuplot
    > plot "r2dbe_if1_65kpt.spec" using 1:2 with lines
     

    Zero baseline test

    Scripts are under https://bitbucket.org/jwagner313/apex-tools in Correlation/DiFX_zerobaseline_generator/r2dbe_r2dbe/
    They use the program 'vsum' from DiFX library vdifio, DiFX vex2difx, and DiFX mpifxcorr. Additionally HOPS fourfit is required for the fringe fitting and fringe plot.

    Coherence test tone phase extraction

    Tone phase extraction script m5tone.py is part of DiFX library mark5access Python extensions and its examples.
    Prerequisite libraries, installation:
    [root@cc-noema ~]# pacman -S python-numpy
    
    [oper@cc-noema python]$ cd /home/oper/difx/svn/libraries/mark5access/python
    [oper@cc-noema python]$ python setup.py build
    [oper@cc-noema python]$ python setup.py install --prefix /home/oper/difx --install-lib=/home/oper/difx/lib/python/
    [oper@cc-noema python]$ cp examples/*.py $DIFXROOT/bin/
    Then with a test recording make 10 millisec integrations with tone expected at 512 MHz and using 8192k-point FFT:
    [oper@cc-noema zerobaseline]$ m5tone.py recorder1_fuse_34/test_Na_tone512M.vdif VDIF_8192-8192-1-2 \
        tone512m.m5s 1   0.010 512e6 $((8192*1024))
    Tone at 512000.000 kHz in the 2048.000 MHz wide band lands in 0.488 kHz-wide bin 1048576.
    Integrating for 10.24 milliseconds with 5 spectra per integration.
    58576.907001684 mjd : 0.005120 sec : 3.327136e-02 /_ -120.35 deg : r=1.000
    58576.907001802 mjd : 0.015360 sec : 3.352154e-02 /_ -120.04 deg : r=1.000
    58576.907001921 mjd : 0.025600 sec : 3.325227e-02 /_ -120.06 deg : r=1.000
    58576.907002039 mjd : 0.035840 sec : 3.340412e-02 /_ -119.87 deg : r=1.000
    58576.907002158 mjd : 0.046080 sec : 3.321879e-02 /_ -120.00 deg : r=1.000
    ...
    [oper@cc-noema zerobaseline]$ gnuplot
    > set yrange [-185:185] ; set y2range [0:1.05] ; set xlabel 'Time (s)'
    > set ylabel 'Tone phase (deg)' ; set y2label 'Coherence'
    > plot "tone512m.m5s" using 2:4 title 'tone phase' axes x1y1, \
      "tone512m.m5s" using 2:5 title 'tone coherence' axes x2y2
     
    m5tone_example.png