Recording one scan with Phase Cal ON for 19 minutes using vgos_recorder.py. Followed by another scan of just a couple of minutes with Phase Cal off for comparison. Inifile configured as:
First need to change PythonPath every-time you open a new terminal, otherwise is using DifX defaults one:
export PYTHONPATH=/usr/lib/python3.4 cd /home/observer/PcalTests
I recommend using the program call screen in order to have the processing in the background. A short description on how to use screen is below:
observer@flexbuffhb DiFX-2.5.2 ~> screen YourName - You can recognise the screen later observer@flexbuffhb DiFX-2.5.2 ~> screen -raAD
There are several suitable screens on:
14835.pts-4.flexbuffhb (28/05/19 17:39:31) (Detached) 18325.pts-4.flexbuffhb (14/05/19 13:53:38) (Detached) Type "screen [-d] -r [pid.]tty.host" to resume one of them. observer@flexbuffhb DiFX-2.5.2 ~> screen -raAD 18325 - Check if that is the screen you were using last!!
Commands to use inside a screen:
ctrl+a c - creates ctrl+a p - previous ctrl+a n - next ctrl+a d - leaves the current screen
You should find most of the necessary files inside of the folder
The processing takes 3 steps:
1- Running the software spectrometer to see the spectrum of the signal recorded (swspec)
2- Making a first estimate of the pcal measurements (calculatePcalCpp)
3- Running the tracking software (sctracker).
1. Take the inifile.ini that is in the directory and prepare it for the scan you want to process. There are basically 2 settings you can modify:
Channel from 1 to 8. I did the recording with 8 channels
IF from A to F. We recorded the data from the 6 boards in the dbbc3. So for a total of 6×8 channels = 48.
UseFile1Channel = 1
BaseFilename1 = p190522_Hb_VDIF_If000A_%fftpoints%pt_%integrtime%s_ch%channel%
Notes:
# Change then channel value from 1 to 8, one per channel
# Change IF000A to A/B/C/D/E/F to cover all boards
We run the program by executing this program. If we process the 8 channels per each of the 6 files (6 IFs), You should end up with 48 spectra data files.
swspectrometer inifile.ini /mnt/vbsPcal/pcal_on_2205_Hb_No0001_46227
2. Check the quality of the spectrum. I have written several Python scripts to provide a quick validation of the recorded data.
-bw sets the bandwidth
-f0 sets the minimum frequency to search for the peak
-f1 sets the maximum frequency to search for the peak
-p plots the output - don't put anything if you don't need
python3 checkSpectra.py p190522_Hb_VDIF_If000A_320000pt_5s_ch1_swspec.bin -bw 32e6 -f0 4e6 -f1 6e6 -p python3 calculatePcalCpp.py p190522_Hb_VDIF_If000A_320000pt_5s_ch1_swspec.bin -bw 32e6 -f0 4.9e6 -f1 5.1e6
The calculatePcalCpp will provide a set of polynomials that will be used for the tracking software to study the Phase Cal tone. Example:
3. Configure and run sctracker
Edit inifileHb and modify the following fields
# Input file . InputSource = /mnt/vbsPcal/pcal_on_2205_Hb_No0001_46227
# Here you select channel 1 to 8 UseChannel = 1
# Select Cpp text file . PhasePolyCpmFile = p190522_Hb_VDIF_If000A_320000pt_5s_ch1.poly2.txt
# Select Cpp text file . PhasePolyCppFile = p190522_Hb_VDIF_If000A_320000pt_5s_ch1.poly2.txt
# Output file name . . BaseFilename = p190519_Hb_VDIF_If000A_%fftpoints%pt_%integrtime%s_ch%channel%
Run the sctracker as:
sctracker inifileHb
Once sctracker has finished, which can take several hours, it produces several output files. The most important one is
p190519_Hb_VDIF_If000A_3200000pt_5s_ch1_tone0.bin
Once it has finished please remove the scscec.bin because it is very large and we better save some storage space.
rm p190519_Hb_VDIF_If000A_3200000pt_5s_ch1_scspec.bin
Next step will be to run tone file into the PLL script.
1. Process all 6 scans (3 IFs x 2 pols) and extract the spectra for each channel. We will have 48 spectra at the end.
2. Calculate the Polynomials for one of the phase cal at the beginning of the band, the tone at f=5 MHz.
3. Run sctracker (48 times) for each spectra.
4. To decide if we want to repeat with another cal tone at the end of the frequency band, f=25 MHz (?)