t6 Features > Data Fusion

Data Fusion

t6 Data Fusion is a phase during the integration.

Tagged on #Data-fusion, #feature,

Phase 5 : Sensor Data Fusion

Sensor Fusion is the process of merging multiple values together. Data Fusion on t6 allows to combine multiple measures from several Flows (Tracks) onto another Flow (Primary). This “Fusion” will be made according to an algorithm defined directly on the Primary Flow. Data Fusion is working after the preprocessor engine is transforming the value. And after the Fusion, the value can optionaly be saved to the Primary Flow before it goes to the Decision Rule engine.

Data Fusion preprocessor is at an early stage (means beta version). Please contact us for more details.

The current Data Fusion implementation is working on the following: a timed buffer is storing the measurements values from each tracks until TTL it expired. And TTL is customizable for each Flows/Tracks distinctively. When a Datapoints is sent to t6, the Data Fusion compute the fusion from all values in buffer. Smaller the Buffer is, accurate the time-based-fusion will be. :-) A TTL of 60 (seconds) should be good enough ; but it may vary according to your measurements needs.

Note : A Fusion is processed only when at least one measurement is available (and not expired) in Buffer.

t6 Data Fusion

Data Fusion requirements

Data Fusion require few settings on your resources :

Note : When the Track is having multiple Datapoints on Buffer, a simple average is calculated prior to the Fusion.

Extra attributes in Data Fusion payload

When fusion is processed during the add Datapoints Api call, the following extra node is outputed to json payload:

E.g:

"fusion": {
    "algorithm": "average",
    "messages": [
        "Fusion is elligible.",
        "Fusion processed."
    ],
    "measurements": [
        {
            "id": "aea1a21a-97f0-467d-b062-180ae7154b86",
            "count": 4
        },
        {
            "id": "c25d3f9f-37eb-4d9a-a168-259af480b111",
            "count": 6
        }
    ],
    "initialValue": 939.346,
    "primary_flow": "ea8a2d07-3318-4eb0-a63c-7a66aa10a1c9",
    "correction": 203.7756875
}

In this example, we can see the algorithm being used in the Data Fusion as well as an Array of messages (to debug and clarify). Then, the initial Value is the injected value coming from the preprocessor before it enter the Fusion (so this value does incude the sanitization ; and the primary_flow correspond to the Flow where data are saved (provided the generic attribute save = true). The node measurements contains a list of Tracks with their relative number of available values. The latest attributes correction is the difference between the initialValue and the Fused value.

Note : The attribute value from the output payload after a Fusion is modified according to the computed Fusion value.

Note : The attribute time from the output payload after a Fusion is modified according to the computed Fusion time (a date exatcly in the middle of the buffer range).

Fusion algorithms

Sending Datapoint with the attribute fusion is allowing to set the algorithm to be used in the Fusion.

E.g:

"fusion": {
    "algorithm": "weighted_average"
}

The available algorithms list is the following:

Algorithms Name Expected Data-Type Fusion processing
average Float This will use a uniform 1 weight on each measure
average_weighted Float This will use a custom weight from the Flow
mht
mmse
nn
nearest_neighbors
pda
jpda

Phase 6 : Automate

Described into dedicated Decision-Rule section as well as in Data-annotation section.

Phase 7,8 : Saving measures

There are 2 options to store measures on t6:

Phase 9 : Analyse

Analysing measures is not actually part of Preprocessor. It is described into dedicated EDA section

Tagged on #Data-fusion, #feature,