Multistatic Radar Tutorial
In this tutorial we will collect FM radio signals at two sites and process them as passive radar signals. We will use a single antenna each site and two frequencies per antenna.
The data collection will obtain a reference signal using the Haystack ISIS node (007) and the remote signals using Siena (004). This data will be processed to look for meteor trails. The transmitter used for this analysis will be a 100 kW local FM station (89.7 MHz ; WGBH) and a 50 kW Providence Rhode Island station (94.1 MHz ; WHJY). Siena has a near backscatter geometry for distant ranges. Siena will collect data using the North antenna.
Steps :
Login to your Linux tutorial workstation using the guest account and the provided password.
Open a bash shell terminal window by clicking the Multistatic Radar Tutorial icon on the desktop.
In the terminal window, change directory to the multistatic_radar/group# directory. It is important to use a separate directory from the other groups. That way there will not be a conflict in processing the data.
-
[guest@circe ~]$ cd multistatic_radar_tutorial/ [guest@circe multistatic_radar_tutorial]$
-
Determine the data acquisition time for the data set. Choose a time in coordination with the other groups. The data collection will last 10 minutes.
Issue the following data collection command. These command uses a python scripts which communicate with the remote servers via XMLRPC. A configuration file name is provided for each data collection. A UTC time is provided as well as a URI that points at the remote isis system digital receiver daq_service script. The data collection will be for a duration of 120 seconds. The example below only uses 60 seconds of data (so I didn't have to wait too long...!).
-
[guest@circe multistatic_radar_tutorial]$ python /usr/local/midas/bin/daq_remote_collect.py -c workshop_tutorial_2a.ini -t "2009-05-26 01:03:00 UTC" -d 60 -u http://snc-isis004.siena.edu/isis-rx40/cgi-bin/daq_service -u http://hay-isis007/isis-rx70/cgi-bin/daq_service Collect data http://snc-isis004.siena.edu/isis-rx40/cgi-bin/daq_service at 2009-05-26 01:03:00 UTC for 60 seconds. Success for http://snc-isis004.siena.edu/isis-rx40/cgi-bin/daq_service at time 2009-05-26 01:03:00 UTC (1243299780) Collect data http://hay-isis007/isis-rx70/cgi-bin/daq_service at 2009-05-26 01:03:00 UTC for 60 seconds. Success for http://hay-isis007/isis-rx70/cgi-bin/daq_service at time 2009-05-26 01:03:00 UTC (1243299780)
-
Now it is necessary to transfer the data from the remote sites, first download the reference waveforms :
-
[guest@circe multistatic_radar_tutorial]$ wget http://hay-isis007/isis-rx70/isis/2009-05-26/ecdr_chip02_chan00@1243299780.bin --21:04:25-- http://hay-isis007/isis-rx70/isis/2009-05-26/ecdr_chip02_chan00@1243299780.bin Resolving hay-isis007... 192.52.65.191 Connecting to hay-isis007|192.52.65.191|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 36175872 (34M) [application/octet-stream] Saving to: `ecdr_chip02_chan00@1243299780.bin' 100%[====================================================================================================================>] 36,175,872 11.1M/s in 3.1s 21:04:28 (11.1 MB/s) - `ecdr_chip02_chan00@1243299780.bin' saved [36175872/36175872]
-
[guest@circe multistatic_radar_tutorial]$ wget http://hay-isis007/isis-rx70/isis/2009-05-26/ecdr_chip02_chan01@1243299780.bin --21:04:31-- http://hay-isis007/isis-rx70/isis/2009-05-26/ecdr_chip02_chan01@1243299780.bin Resolving hay-isis007... 192.52.65.191 Connecting to hay-isis007|192.52.65.191|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 36175872 (34M) [application/octet-stream] Saving to: `ecdr_chip02_chan01@1243299780.bin' 100%[====================================================================================================================>] 36,175,872 11.1M/s in 3.1s 21:04:34 (11.1 MB/s) - `ecdr_chip02_chan01@1243299780.bin' saved [36175872/36175872]
-
Now move them to the reference directory :
-
[guest@circe multistatic_radar_tutorial]$ mv *.bin x/
-
Next download the remote waveforms :
-
21:05:05 (3.28 MB/s) - `ecdr_chip01_chan01@1243299780.bin' saved [36175872/36175872] [guest@circe multistatic_radar_tutorial]$ wget http://snc-isis004.siena.edu/isis-rx40/isis/2009-05-26/ecdr_chip01_chan00@1243299780.bin --21:07:06-- http://snc-isis004.siena.edu/isis-rx40/isis/2009-05-26/ecdr_chip01_chan00@1243299780.bin Resolving snc-isis004.siena.edu... 66.194.178.64 Connecting to snc-isis004.siena.edu|66.194.178.64|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 36175872 (34M) [application/octet-stream] Saving to: `ecdr_chip01_chan00@1243299780.bin' 100%[====================================================================================================================>] 36,175,872 3.37M/s in 10s 21:07:16 (3.29 MB/s) - `ecdr_chip01_chan00@1243299780.bin' saved [36175872/36175872]
[guest@circe multistatic_radar_tutorial]$ wget http://snc-isis004.siena.edu/isis-rx40/isis/2009-05-26/ecdr_chip01_chan01@1243299780.bin --21:04:54-- http://snc-isis004.siena.edu/isis-rx40/isis/2009-05-26/ecdr_chip01_chan01@1243299780.bin Resolving snc-isis004.siena.edu... 66.194.178.64 Connecting to snc-isis004.siena.edu|66.194.178.64|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 36175872 (34M) [application/octet-stream] Saving to: `ecdr_chip01_chan01@1243299780.bin' 100%[====================================================================================================================>] 36,175,872 3.35M/s in 11s 21:05:05 (3.28 MB/s) - `ecdr_chip01_chan01@1243299780.bin' saved [36175872/36175872]
-
And move them to the remote directory :
-
[guest@circe multistatic_radar_tutorial]$ mv *.bin y/
-
10. Once the data has successfully downloaded we can process it using the appropriate correlator :
-
[guest@circe multistatic_radar_tutorial]$ python /usr/local/midas/bin/rawAmbi.py -c fm89.7.ini -x x/ecdr_chip02_chan00\@1243299780.bin -y y/ecdr_chip01_chan00\@1243299780.bin -o out/ ('processing ref(', 'x/ecdr_chip02_chan00@1243299780.bin', ') rem(', 'y/ecdr_chip01_chan00@1243299780.bin', ')') load reference block 0 0 500000 load remote block 0 0 500000 length : 500000 500000 integration time 5.0 integration length 500000.0 input range spacing is 1500.0 (m) rstart, rstop, res 0.0 1000000.0 1500.0 rstart_bin, rstop_bin 0 666 lag_bins 256 decimation : {'detected': 390, 'remote': 1, 'reference': 1} etc...[guest@circe multistatic_radar_tutorial]$ python /usr/local/midas/bin/rawAmbi.py -c fm94.1.ini -x x/ecdr_chip02_chan01\@1243299780.bin -y y/ecdr_chip01_chan01\@1243299780.bin -o out/ ('processing ref(', 'x/ecdr_chip02_chan01@1243299780.bin', ') rem(', 'y/ecdr_chip01_chan01@1243299780.bin', ')') load reference block 0 0 750000 load remote block 0 0 750000 length : 750000 750000 integration time 5.0 integration length 750000.0 input range spacing is 1000.0 (m) rstart, rstop, res 0.0 1000000.0 1000.0 rstart_bin, rstop_bin 0 1000 lag_bins 256 decimation : {'detected': 585, 'remote': 1, 'reference': 1} etc...
11. We can also process the self ambiguity of the reference waveform. This is useful for understanding the quality of the signal for resolving targets :
-
[guest@circe multistatic_radar_tutorial]$ python /usr/local/midas/bin/rawAmbi.py -c fm89.7.ini -x x/ecdr_chip02_chan00\@1243299780.bin -y x/ecdr_chip02_chan00\@1243299780.bin -o out/
[guest@circe multistatic_radar_tutorial]$ python /usr/local/midas/bin/rawAmbi.py -c fm94.1.ini -x x/ecdr_chip02_chan01\@1243299780.bin -y x/ecdr_chip02_chan01\@1243299780.bin -o out/
12. The output correlation result files have now been produced. Process them using the plotting software to make png plots :
-
[guest@circe multistatic_radar_tutorial]$ python /usr/local/midas/bin/plotAmbi.py -c fm89.7.ini -i 'out/*run001_89.7*.h5' -o out/ [guest@circe multistatic_radar_tutorial]$ python /usr/local/midas/bin/plotAmbi.py -c fm94.1.ini -i 'out/*run001_94.1*.h5' -o out/ [guest@circe multistatic_radar_tutorial]$ python /usr/local/midas/bin/plotAmbi.py -c fm89.7_self.ini -i 'out/*run002_89.7*.h5' -o out/ [guest@circe multistatic_radar_tutorial]$ python /usr/local/midas/bin/plotAmbi.py -c fm94.1_self.ini -i 'out/*run002_94.1*.h5' -o out/
13. Now convert the resulting plots to animated gif files :
-
[guest@circe multistatic_radar_tutorial]$ cd out [guest@circe out]$ convert -delay 100 *run001_89.7*.png fm89.7.gif [guest@circe out]$ convert -delay 100 *run002_89.7*.png fm89.7_self.gif [guest@circe out]$ convert -delay 100 *run001_94.1*.png fm94.1.gif [guest@circe out]$ convert -delay 100 *run002_94.1*.png fm94.1_self.gif
14. Rejoin the group. We can now copy the results to a common location and display the resulting images. We will see and discuss the resulting data.