| fx_cor_new | 
|---|
| DESCRIPTION | 
|---|
"fx_cor_new" is an FX-type software correlator supporting a variety of data formats, 
such as Mark5B, Mark5(Mark-IV, VLBA), VDIF, ADS, OCTAD, RAW besides K5/VSSP,
and carries out cross correlation processing using an apriori file. 
Correlated data are output to a file with a "cout" format.
Ver.2019-11-20 and after supports multi-thread VDIF data consisting of single-channel/thread.
| SYNOPSIS | 
|---|
fx_cor_new afile [options]
| afile | a-priori file name created by "apri_calc" | ||||||||||||||||||||||||||||||||||||||||
| OPTIONS | |||||||||||||||||||||||||||||||||||||||||
| --version | show program version | ||||||||||||||||||||||||||||||||||||||||
| --help | show how to execute | ||||||||||||||||||||||||||||||||||||||||
| -integ integration_time | set integration period (sec). Default is a scheduled scan period. | ||||||||||||||||||||||||||||||||||||||||
| -coffset clock_offset | set clock offset (sec) applied for fringe search purpose. Positive value menas Y clock tic earlier than X clock tic. Default is 0.0 | ||||||||||||||||||||||||||||||||||||||||
| -crate clock_rate | set clock rate (s/s) difference between X and Y station clock applied for fringe search purpose. Default is 0.0 | ||||||||||||||||||||||||||||||||||||||||
| -soffset start_offset | set start time offset (integer sec). Default is 0. | ||||||||||||||||||||||||||||||||||||||||
| -t1pp t1pp | set unit integration period (parameter period) (sec) for correlation processing. Default is BT1PP in "cor_head.h" (usually 1) | ||||||||||||||||||||||||||||||||||||||||
| -pp_nosync | turns off the synchronization mode of PP (parameter period) (default is that PP synchronize to second tic) | ||||||||||||||||||||||||||||||||||||||||
| -lag lagsize | set the size of delay lag window. lagsize can be 16, 32, 64, 128, 256, 512, .. Default is DELAYSIZE in cor_head.h | ||||||||||||||||||||||||||||||||||||||||
| -pmode pmode | set plot device mode. 0 : XWINDOW (env PGDISP can change PGPLOT display device) and PostScript file (pgplot.ps or gnuplot.ps) out (dfault) 1 : PostScript file (pgplot.ps or gnuplot.ps) out only 2 : XWINDOW only -1 : no graphic output | ||||||||||||||||||||||||||||||||||||||||
| -comment "any_comment" | |||||||||||||||||||||||||||||||||||||||||
| set comment appeared in a correlation function plot when pmode=0,1,2 | |||||||||||||||||||||||||||||||||||||||||
| -nopcal | suppress PCAL (phase calibration) signal detection | ||||||||||||||||||||||||||||||||||||||||
| -pchx1 ch1 | define pickup chanel# as CH# 1 of X data (Ver.2018-12-17 or later) | ||||||||||||||||||||||||||||||||||||||||
| -pchx2 ch2 | define pickup chanel# as CH# 2 of X data | ||||||||||||||||||||||||||||||||||||||||
| ......... | |||||||||||||||||||||||||||||||||||||||||
| -pchx16 ch16 | define pickup chanel# as CH# 16 of X data | ||||||||||||||||||||||||||||||||||||||||
| -pchy1 ch1 | define pickup chanel# as CH# 1 of Y data (Ver.2018-12-17 or later) | ||||||||||||||||||||||||||||||||||||||||
| -pchy2 ch2 | define pickup chanel# as CH# 2 of Y data | ||||||||||||||||||||||||||||||||||||||||
| ......... | |||||||||||||||||||||||||||||||||||||||||
| -pchy16 ch16 | define pickup chanel# as CH# 16 of Y data | ||||||||||||||||||||||||||||||||||||||||
| -ch1 ch1Y | define Y channel for X CH# 1 (default 1). | ||||||||||||||||||||||||||||||||||||||||
| -ch2 ch2Y | define Y channel for X CH# 2 (default 2). | ||||||||||||||||||||||||||||||||||||||||
| ......... | |||||||||||||||||||||||||||||||||||||||||
| -ch16 ch16Y | define Y channel for X CH# 16 (default 16). | ||||||||||||||||||||||||||||||||||||||||
| -orule naming_rule | set naming rule of output file name 0 : use program default (cout.txt) 1 : coutNNNNtxt (deflt) where NNNN is 4 digit serial number 2 : coutEXP_CODE/coutYYDDDNNNNXYG.txt | ||||||||||||||||||||||||||||||||||||||||
| where   EXP_CODE -- experiment code YY -- 2 digit year DDD -- 3 digit day of year NNNN -- 4 digit scan number XY -- baseline id (2 char or 4 char) G -- Frequency group (a|b|c|d) 3 : coutYYDDDNNNNXYG.txt | |||||||||||||||||||||||||||||||||||||||||
| where   YY   -- 2 digit year DDD -- 3 digit day of year NNNN -- 4 digit scan number XY -- baseline id (2 char or 4 char) G -- Frequency group (a|b|c|d) (default is COUT_NAMING_RULE in cor_head.h) | |||||||||||||||||||||||||||||||||||||||||
| -odir outdir | set output file directory. System default is environmental variable K5COUT. If K5COUT is not defined, program default defined by COUTDFLT in "cor_head.h" is used (usually "../cout"). | ||||||||||||||||||||||||||||||||||||||||
| -rfoffset rf_offset | set RF frequency difference between Y and X (RFy-RFx)(Hz) | ||||||||||||||||||||||||||||||||||||||||
| -cout cout_file | set output file name compulsory. If this parameter is set, naming rule and out directory are ignored. | ||||||||||||||||||||||||||||||||||||||||
| -frstep frstep | set fringe phase calculation step in samples 0: automatic calculation 1: every 1 sample 8: every 8 samples N: every N samples. (Note: N can be any number, but 1000/N must be integer) default is FRSTEP_FX_COR (in cor_head.h) | ||||||||||||||||||||||||||||||||||||||||
| -frauto | set frstep=0 (automatic calculation mode) | ||||||||||||||||||||||||||||||||||||||||
| -fall pcalf | set PCAL frequency of all channels compulsory (kHz) | ||||||||||||||||||||||||||||||||||||||||
| -f1 pcalf1 | set CH1 PCAL frequency compulsory(kHz) | ||||||||||||||||||||||||||||||||||||||||
| -f2 pcalf2 | set CH2 PCAL frequency compulsory(kHz)(kHz) | ||||||||||||||||||||||||||||||||||||||||
| ................ | |||||||||||||||||||||||||||||||||||||||||
| -f16 pcalf16 | set CH16 PCAL frequency compulsory(kHz)(kHz) | ||||||||||||||||||||||||||||||||||||||||
| -iq2r | If this option is set, I/Q data are converted to real data at first, then correlated (default: correlation without conversion) | ||||||||||||||||||||||||||||||||||||||||
| -sdelay | execute "sdelay" after correlation processing (search function are displayed instead of correlation function) | ||||||||||||||||||||||||||||||||||||||||
| === options below are dedicated to fx cor and fx cor new === | |||||||||||||||||||||||||||||||||||||||||
| -modefr modefr | set fringe stopping approximation mode 0: no approximation (exact calculation) 9: 9 level approximation (default) 2: 2 level approximation 3: 3 level approximation | ||||||||||||||||||||||||||||||||||||||||
| -hanning | use Hanning lag window | ||||||||||||||||||||||||||||||||||||||||
| -hamming | use Hamming lag window | ||||||||||||||||||||||||||||||||||||||||
| -bpf flow:fhigh[:fact][,flow:fhigh[:fact][,flow:fhigh[:fact][,.....]]] | |||||||||||||||||||||||||||||||||||||||||
| set BPF lower and higher frequencies flow -- BPF lower cut off frequency in a video band (MHz) fhigh -- BPF higher cut off frequency in a video band (MHz) fact -- factor (0.0-1.0), default is 1.0 | |||||||||||||||||||||||||||||||||||||||||
| -bpf2 fc:bw[:fact][,fc:[bw][:fact][,fc:[bw]:fact][,.....]]] | |||||||||||||||||||||||||||||||||||||||||
| set BPF parameters fc -- BPF center frequency in a video band (MHz) bw --- pass band width (MHz) fact -- factor (0.0-1.0), default is 1.0 | |||||||||||||||||||||||||||||||||||||||||
| -fres fres | set frequency resolution (MHz) (deflt 0.0 means AUTO) | ||||||||||||||||||||||||||||||||||||||||
| -delpcal ch#:fs[:fi][,ch#:fs[:fi][,....]]]} | |||||||||||||||||||||||||||||||||||||||||
| set PCAL signal frequencies to reject by channel ch# -- channel number (starting from 1) fs -- lowest frequency of PCAL signals in baseband (MHz) fi -- interval of PCAL signals (MHz) | |||||||||||||||||||||||||||||||||||||||||
| frequencies of PCAL signals removed are 
      fs, fs+fi, fs+2fi, fs+3fi, ... when fi is omitted, only fs is removed  | bandwidth of rejection filter is double the resolution of FFT.
this can be changed by option `-pcalbw' below | or |  | -delpcal delpcal_file | set file name which describes PCAL signal rejection information | -pcalbw bwmhz | set bandwidth of PCAL rejection filter (MHz) |  | default bandwidth is double the resolution of FFT | -e2bit mode | set 2-bit decoding method for X and Y data | -e2bitx mode | set 2-bit decoding method for X data | -e2bity mode | set 2-bit decoding method for Y data |  | where mode is | 0: default 1: (0, 1, 2, 3) offset binary (VDIF default) 2: (0, 2, 1, 3) Mark-5B default 3: (1, 0, 2, 3) singed integer Note: This option is valid for VDIF or Mark-5B data === options below are for Ver.2020-05-27 and after === | -pulsar period:duty:phase_ch1[,phase_ch2[ .... ]] |  | set Plusar gate parameters at X station | period -- pulsar period (sec) duty -- duty ratio (0.0-1.0) phase_ch1 -- phase of pulsar gate at reference time for ch1(deg) phase_ch2 -- for ch2 if phase is omitted, set by ch1's phase -prt_pulsar HH:MM:SS | set reference time for pulsar gate (default is PRT of apriori values) | === options below are for Ver.2020-07-30 and after === | -nodm | disable dispersion correction mode described in an a-priori file | -nopulsar | disable pulsar mode described in an a-priori file | -new_method | use coherence spectrum method for correlation processing | -coh[erence] | same as '-new_method' | -plspp | set PP length to the same as the pulsar period. When this option is set, '-coh' is also set automatically. | -frmid | make reference frequency for fringe stopping to the middle of baseband width (default is baseband RF frequency) |  | ||||
Contents of file set by the option -delpcal delpcal_file is as follows
        *** PCAL signal rejection filter file  ***
        **    for option '-delpcal' of fx_cor_new
        **
        **    usage   -delpcal DELPCAL.txt
        **
        **  Format Ver. 2019-08-27
        **
        **    ch#  sFreq(MHz) intFreq(MHz)
        **      where
        **        ch#  :  channel # (starting from 1)
        **                0 means for all channel
        **        sFreq  :  lowest PCAL frequency in channel (MHz)
        **        intFreq  :  interval of PCAL signal (MHz)
        **       Note-- rejected PCAL frequency is sFreq, sFreq+intFreq, sFreq+2*intFreq, ....
        **    [example]
        **      ch#  sFreq(MHz)   intFreq (MHz)  
        **       0     0.01          5.0
        **      set for all channel same parameter
        **
        **      or
        **      1      1.4           5.0
        **      2      8.4           5.0
        **      3      2.4           5.0
        **      4      4.4           5.0
        **      set different start frequency for every channel
        **
        **
        *  CH#  sFreq(MHz)  intFreq(MHz)   
            1     0.4          5.0
            2     3.4          5.0
            3     4.4          5.0
            4     0.4          5.0
            5     4.4          5.0
            6     1.4          5.0
            7     4.4          5.0
            8     2.4          5.0
        *
An example of pulsar mode parameters in an a-priori file.
        $PULSAR_GATE
        1.3373:0.06:215@04:15:00    ** period:duty:phase@HH:MM:SS  if HH:MM:SS is omitted PRT is used instead
        $PULSAR_DM      ** dispersion correction parameters
        **Type-1
        DM= 12.43       **  Dispersion Measure (pc/cm^3)
        frf= 316.0      **  reference RF frequency (MHz)
        phs0= 218.0     **  phase at frf (deg)
        dphs0= 11.0     **  pulse width (deg)
        
        **Type-2
        *f1=  0.0       ** band lowest frequency (MHz)
        *f2= 16.0       ** band edge frequency (MHz)
        *phs1= 218.0    ** phs1 parameter (deg)
        *phs2= 204.0    ** phs2 parameter (deg)
        *dphs= 11.0     ** Delta phs (deg)
===== t1pp allowed for less than 1 sec is as follows ====
          (this is due to the algorythm)
| t1pp | |||||||
| fsampl | 0.01 | 0.02 | 0.04 | 0.05 | 0.1 | 0.2 | 0.5 | 
| 40kHz | X | OK | OK | X | OK | OK | OK | 
| 100kHz | X | X | OK | X | X | OK | X | 
| 200kHz | X | OK | OK | X | OK | OK | OK | 
| 500kHz | X | X | OK | X | X | OK | X | 
| 1MHz | X | OK | OK | X | OK | OK | OK | 
| 2MHz | OK | OK | OK | OK | OK | OK | OK | 
| 4MHz | OK | OK | OK | OK | OK | OK | OK | 
| 8MHz | OK | OK | OK | OK | OK | OK | OK | 
| 16MHz | OK | OK | OK | OK | OK | OK | OK | 
| 32MHz | OK | OK | OK | OK | OK | OK | OK | 
fx_cor_new afile [sekibun [soffset [coffset [crate [t1pp [smode [pp_mode [lag_size [tzoom [pmode [comment]]]]]]]]]]]
| afile | a-priori file name created by "apri_calc" | 
| sekibun | integration period (sec). Default is a scheduled scan period. | 
| soffset | start time offset (integer sec). Default is 0. | 
| coffset | clock offset (sec) | 
| crate | clock rate offset (s/s) | 
| t1pp | unit integration period (parameter period) (sec) | 
| smode | search mode 0: Wide 1: Mid 2:Narrow (default 2) (no more use) | 
| pp_mode | PP synchronization mode 0: synchronized to second tic (default) 1: not synchronized to second tic | 
| lag_size | lag window size. 16,32,64,128,256,512,.. 0 means lag_size set to DELAYSIZE in "cor_head.h" | 
| tzoom | time axis zoom ratio in graphics (int) 0 : full scale (default) as same as 1 -VE : Max position is automatically centered | 
| pmode | plot device selection 0: XWINDOW (env PGDISP can change PGPLOT display device) and PostScript file (pgplot.ps or gnuplot.ps) out (default) 1: PostScript file (pgplot.ps or gnuplot.ps) out only 2: XWINDOW only -1: No graphic output | 
| comment | comment appeared in a correlation function plot | 
[Monitoring Environmental Variables]
fx_cor_new env
check environmental variables used in "fx_cor_new"
 K5APRIDIR -- default directory for apriori file
 K5COUT -- default directory for correlation data out
 PGDISP -- PGPLOT display device name when plot