Index of /~data/acoustic
      Name                    Last modified       Size  Description

[DIR] Parent Directory 12-Oct-2007 15:14 - [DIR] expt-9-13/ 12-Jan-2006 10:34 - [DIR] expt-9-19/ 12-Jan-2006 10:35 - [   ] expt-9-13.tgz 18-Jan-2006 21:38 258M [   ] expt-9-19.tgz 18-Jan-2006 21:43 73.2M [TXT] README.html 19-Jan-2006 09:49 32k [DIR] expt-9-28/ 30-Jan-2006 10:39 - [DIR] expt-9-22/ 30-Jan-2006 10:39 - [   ] expt-9-22.tgz 03-Feb-2006 20:28 689M [   ] expt-9-28.tgz 31-Mar-2006 07:55 2048M

Acoustic ENSBox Datasets

This directory contains datasets collected during testing of the Acoustic ENSBox system. These tests were performed to assess the effectiveness of the ranging and position estimation systems.

Raw File Format

The raw signal files are a binary format defined by the following C structures.  An example of reading this data in can be found in ar_offline.c.

 

#define CHIRP_CHIPS  1024

#define MOD_FACTOR      8

#define RANGE_FACTOR    2

#define EXTRACT_LEN  (CHIRP_CHIPS*MOD_FACTOR*RANGE_FACTOR)

#define SAMPLE_TYPE  int16_t

 

#define QUEUE_ELEMENT_DECL(name,type) \

type *name##_next; \

type *name##_prev; \

int name##_flags

 

typedef struct buf buf_t;

typedef uint32_t node_id_t;

typedef uint32_t comp_id_t;

 

/* "Sync ID" -- a node ID and component ID */

typedef struct sync_id_t_s {

  node_id_t node;               /* ID of the node */

  comp_id_t comp:16;            /* component */

  int index:16;                 /* for padding, and convenience */

} sync_id_t;

 

/* "remote timestamp" structure */

typedef struct remote_ts {

  sync_id_t timebase;

  struct timeval stamp;

  uint32_t sum_errors;

} remote_ts_t;

 

typedef struct range_notify_pkt {

  remote_ts_t chirp_time;

  remote_ts_t chirp_time_end;

  int32_t seqno;

  uint8_t modulation:4;

  uint8_t skip_computation:1;  

  uint8_t reserved:3;

  uint32_t seed:24;

  int32_t chirp_index;

  char notation[20];

} __attribute__ ((packed)) range_notify_pkt_t;

 

struct chirp_record {

  node_id_t source;

  float timing_error;

  int64_t start_sample;

  range_notify_pkt_t notify;

  float sample_fraction;

  float observed_len;

  float temperature;

  int priority;

  int status;

  buf_t *stamplog;

  SAMPLE_TYPE raw_data[EXTRACT_LEN][4];

  QUEUE_ELEMENT_DECL(_,chirp_record_t);

};

 

Most of these fields are not necessarily important to the detection algorithm; the key field is the raw_data field. Each raw file consists of one chirp_record structure followed by an array representing the modulated reference signal:

 
int16_t bpsk[EXTRACT_LEN];
 

The raw_data field begins at byte offset 112, and is 131072 bytes.

The bpsk array begins at byte offset 131196, and is 32768 bytes.

9/13/2005: Angular component testing

The angular component test rotated a receiver through 360 degrees to test azimuth angles, and then flipped the receiver on its side and rotated through 360 degrees to test zenith angles. The results of our analysis of the tests data are in the file filtered. The relevant columns in this file are (irrelevant columns are skipped):

 

102 7076 270.0 269.7 0.3 0.5 7400.0 517.8 6882.2 16.7 112218 0.0 359.6 mod=0 OK ok,ar-raw-7076-104-102

# column 2 is the experiment sequence number (7076)
# column 4 is our algorithm's azimuth estimate (269.7 deg)
# column 6 is a confidence value (0.5)
# column 8 is the range estimate (517.8 cm)
# column 10 is the range SNR (16.7)
# column 13 is our algorithm's zenith estimate (359.6 deg)
# column 15 indicates that the estimation succeeded (OK)
# column 16 indicates the name of the raw file used in this estimates (ar-raw-7076-104-102)
 

The ground truth measurements are in the file asendlog.  The relvant columns in this file are:

  
104 7076 271.052338 0.000000 0.000000 19.139999 62.000000 OK
# column 2 is the experiment sequence number, matching to the other file (7076)
# column 3 is the ground truth azimuth or zenith value (271.052338 deg) 
# column 3 is azimuth for experiments 7076-7586, zenith for 7587-8082
 

The experimental data consists of azimuth tests and zenith tests.  Experiments 7076-7586 are azimuth tests starting at 270 degrees and rotating through 359, then from 0 to 270.  Each location is performed about 5 times.  The zenith tests start at 0 and rotate though to -90, then back through 0 to +90, then back to 0.  (This is a continuous rotation, with the zenith angles having a range of -90 to +90).

 

The raw data is in the files named ar-raw-XXXX-104-102, where XXXX is the experiment number. The files ar-raw-XXXX-104-104 are the “self range” data, that is only needed to compute the correct emission time for the purpose of measuring distance; they are not important for estimating angle of arrival.

 

The files are in a tarball expt-9-13.tgz and as separate files in expt-9-13.

 
9/19/2005: Range component testing
 

The range component test was performed in Lot 9, varying ranges from 1 meter to 90 meters. There was significant background noise at the receiver from a ventilation system that ran off and on.  To compute the range from the raw files, you must detect the signal in both the “104-102” and “104-104” files, and subtract the lag detected in the “104-104” file from the lag in the “104-102” file.  The “104-104” file represents the “self-range” measurement that defines the exact time at which the signal was emitted.

 

The results computed by our estimator are reported in the fixed-17.75-65-filt file.  The relevant columns of this file are:

 
102 5659 270.0 268.4 1.6 0.6 100.0 98.4 1.6 19.3 679808 0.0 358.0 mod=0 OK ok,ar-raw-5659-104-102
# Column 2: Experiment number (5659)
# Column 3: Ground truth azimuth (270.0 deg)
# Column 4: Estimated azimuth (268.4 deg)
# Column 6: Azimuth confidence (0.6)
# Column 7: Ground truth range (100.0 cm)
# Column 8: Estimated range (98.4 cm)
# Column 10: SNR (19.3)
# Column 12: Ground truth zenith (0.0 deg)
# Column 13: Estimated zenith (358.0 deg)
# Column 15: Estimation success indicator (OK)
# Column 16: Name of raw data file (ar-raw-5659-104-102)
 

The tests were performed at a variety of distances, doing 5 trials at each distance. 

The files are in a tarball expt-9-19.tgz and as separate files in expt-9-19.

 
9/22/2005: Court of Sciences System Tests
 

We performed a system test in the court of sciences.  In this test, we deployed 10 nodes in the court of sciences, laid down in a grid.  The approximate coordinates of the nodes is given in the file map. In this file, each node's X Y and Z coordinates are given in meters:

 
# Node ID     X     Y      Z   (meters)
108           0    46   -2.4    0
 

Each node saved raw data for each experiment.  The experiment sequence numbers are defined by the sending node and are not coherent across the nodes.  The raw files are named “ar-raw-XXXX-SEND-RECV” where SEND is the sender's node ID and RECV is the receiver's node ID, and are formatted as described above.

 

We performed 14 separate trials.  In each trial, each node sent 5 chirps, and all nodes recorded all received chirps.

 

In the ranges directory we have the results of our range estimation algorithms.  Each trial is represented by a file systestfilt-HH.MM where HH.MM represents the time of the trial (in hours and minutes i.e. HH:MM).  The format of each of these files is the same as that described above for the ranging component testing, although the ground truth azimuth angles may not correspond perfectly if there is a rotation of the ground truth map relative to the node.  However, for any given node, the ground truth values should differ from the estimates by a consistent offset.

 

Note that the raw data file name tells you the sending and receiving nodes in the filename.  The receiving node ID is also listed in column 1 but the sending node ID is only available in the column 16 filename.  This can be fixed using awk:

 
cat expt-9-22/ranges/systestfilt-25.59 | awk -F- '{print $1"-"$2"-"$3" "$4" "$5}'
 

The files are in a tarball expt-9-22.tgz and as separate files in expt-9-22.

 
9/28/2005: James Reserve System Tests
 

In the ranges directory we have the results of our range estimation algorithms.  Each trial is represented by a file systestfilt-SECS.USEC where SECS.USEC represents the time of the trial.  The format of each of these files is the same as that described above for the ranging component testing.  Note that the raw data file name tells you the sending and receiving nodes in the filename.  The receiving node ID is also listed in column 1 but the sending node ID is only available in that column 16 filename.  The precise positions of the nodes, taken with survey equipment, is located in the file map.

 

The files are in a tarball expt-9-28.tgz and as separate files in expt-9-28.