![]() |
The Santa Barbara Channel Experiment (SBCX) |
One of the prime ingredients in source localization is the cross spectral density matrix (otherwise known as the covariance matrix). A covariance matrix is estimated as follows:
Of course, if you do not want to go through all the trouble, then there are pre-packaged covariance matrices available here. Ranges and bearings are given from the center of the FFP array.
The original data which made up these matrices is available here.
| Date | Time | Range (m) | Bearing (radians) | Bearing (degrees) | Speed, relative |
| YYMMDD | (UTC) | from array center | (east is 0) | (north is 0) | to array (m/sec) |
| 980411 | 22:47:05 | 1205.0383 | -1.572409 | 180.0924 | 0.3853 |
| 980411 | 22:47:20 | 1210.4598 | -1.609104 | 182.1949 | 0.3614 |
| 980411 | 22:47:35 | 1218.5559 | -1.644620 | 184.2298 | 0.5397 |
| 980411 | 22:47:50 | 1227.3850 | -1.682698 | 186.4115 | 0.5886 |
| 980411 | 22:48:06 | 1238.0834 | -1.720919 | 188.6014 | 0.6687 |
| 980411 | 22:48:20 | 1249.9575 | -1.755517 | 190.5837 | 0.8481 |
155 snapshots
| Freq/Array | 1 | 2 | 3 | 4 | 5 | Freq/Array | 1 | 2 | 3 | 4 | 5 |
| 64.0 | 35.17 | 35.17 | 35.17 | 35.17 | 35.17 | 67.0 | 35.17 | 35.17 | 35.17 | 35.17 | 35.17 |
| 79.0 | 35.17 | 35.17 | 35.17 | 35.17 | 35.17 | 82.0 | 35.17 | 35.17 | 35.17 | 35.17 | 35.17 |
| 94.0 | 35.17 | 35.17 | 35.17 | 35.17 | 35.17 | 97.0 | 35.17 | 35.17 | 35.17 | 35.17 | 35.17 |
| 112.0 | 35.17 | 35.17 | 35.17 | 35.17 | 35.17 | 115.0 | 35.17 | 35.17 | 35.17 | 35.17 | 35.17 |
| 130.0 | 35.17 | 35.17 | 35.17 | 35.17 | 35.17 | 133.0 | 35.17 | 35.17 | 35.17 | 35.17 | 35.17 |
| 148.0 | 35.17 | 35.17 | 35.17 | 35.17 | 35.17 | 151.0 | 35.17 | 35.17 | 35.17 | 35.17 | 35.17 |
| 166.0 | 35.17 | 35.17 | 35.17 | 35.17 | 35.17 | 169.0 | 35.17 | 35.17 | 35.17 | 35.17 | 35.17 |
| 201.0 | 35.17 | 35.17 | 35.17 | 35.17 | 35.17 | 204.0 | 35.17 | 35.17 | 35.17 | 35.17 | 35.17 |
| 235.0 | 35.17 | 35.17 | 35.17 | 35.17 | 35.17 | 238.0 | 35.17 | 35.17 | 35.17 | 35.17 | 35.17 |
| 283.0 | 35.17 | 35.17 | 35.17 | 35.17 | 35.17 | 286.0 | 35.17 | 35.17 | 35.17 | 35.17 | 35.17 |
| 338.0 | 35.17 | 35.17 | 35.17 | 35.17 | 35.17 | 341.0 | 35.17 | 35.17 | 35.17 | 35.17 | 35.17 |
| 388.0 | 35.17 | 35.17 | 35.17 | 35.17 | 35.17 | 391.0 | 35.17 | 35.17 | 35.17 | 35.17 | 35.17 |
| Freq/Array | 1 | 2 | 3 | 4 | 5 | all | Freq/Array | 1 | 2 | 3 | 4 | 5 | all |
| 64.0 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 67.0 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 |
| 79.0 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 82.0 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 |
| 94.0 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 97.0 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 |
| 112.0 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 115.0 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 |
| 130.0 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 133.0 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 |
| 148.0 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 151.0 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 |
| 166.0 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 169.0 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 |
| 201.0 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 204.0 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 |
| 235.0 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 238.0 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 |
| 283.0 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 286.0 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 |
| 338.0 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 341.0 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 |
| 388.0 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 391.0 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 | 36.7 |
Now that you have a covariance matrix, you probably want to do something with it. These matlab scripts (read_cov.m and read_complex_matrix.m) should help. The format of the file is listed below.
| data type | description |
| long long int (8 bytes) | Byte-swapping flag. When reading this flag in, this should equal 1. If it does not, then you must close the file, re-open it with byte-swapping turned on, and verify the value is 1. |
| IEEE double (8 bytes) | Frequency (Hz) |
| long long int (8 bytes) | Number of arrays (num_aco) represented by this covariance matrix |
| long long int (8 bytes * num_aco) | Arrays (1, 2, 3, 4, or 5) represented in this file. |
| long long int (8 bytes) | Another byte-swapping flag, identical to the first. (Sorry, long story...) |
| long long int (8 bytes) | Number of rows in matrix |
| long long int (8 bytes) | Number of columns in matrix |
| Last updated: 990917
Comments/Questions: pmd@alum.mit.edu |
![]() |
