Data processing on MATLAB - GiulioRomualdi/DecaWaveEVB1000Experiments GitHub Wiki

In order to process data in MATLAB this set of scripts for MATLAB is required.
In the following it is assumed that the scripts have been downloaded and extracted in a directory $SCRIPTS_HOME.
To start processing data

  1. Change directory to $SCRIPTS_HOME within MATLAB and run

    init
    
  2. Change directory to $SCRIPTS_HOME/trilateration and run

    compile
    

    in order to compile the trilateration algorithms written in C.

How to evaluate the position of the anchors from autoranging data

Run the following command

anchor_position = eval_anch_pos(autoranging)

where:

The anchor_position struct will contain the following fields

  • joined: (if autoranging.joined is present) is a matrix containing the position of the anchors evaluated from the ranges collected during the autoranging procedure;
  • laser: (if autoranging.laser is present) is a matrix containing the position of the anchors evaluated from the ranges measured manually using a laser distance measurer.

How to evaluate the trilateration from the ranges collected during a trilateration experiment

Run the following command

trilateration = trilateration_all_types(path, anchor_position)

where:

The trilateration struct will contain the following fields:

  • joined: (if anchor_position.joined is present) is a struct that contains the results of trilateration evaluated using the position of the anchors anchor_position.joined;
  • laser: (if anchor_position.laser is present) is a struct that contains the results of trilateration evaluated using the position of the anchors anchor_position.laser.

Each of the fields above contains the following fields:

  • dw: is a struct containing the results of the trilateration performed with the DecaWave algorithm;
  • dw_cycle: is a struct containing the results of the trilateration performed with a modified DecaWave algorithm;
  • algebraic: is a struct containing the results of the trilateration performed with the algebraic algorithm.

Each of the fields above contains the following fields:

  • x: x components of the path;
  • y: y components of the path;
  • z: z components of the path.