Search code examples
kalman-filterwso2-cep

What is the meanings of the input and output parameters of Kalman Filter in WSO2 CEP?


I would like to have some information about the input (named: measuredValue, measuredChangingRate, measurementNoiseSD and timestamp) and output (2 values) of Kalman Filter Extension in WSO2 CEP 4.2.0. I can't find any kind of documentation. I suppose that measuredValue is the value to filter, timestamp is a numerical label about the instant of acquisition of measuredValue; and about measuredChangingRate and measurementNoiseSD? Furthermore I noticed a problem: when I try to use this function, Siddhi says:

No extension exist for StreamFunctionExtension{namespace='kf'} in execution plan "ExecutionPlan"

Is it possible that there isn't any extension for kalmanFilter function?

My fragment query is that:

@Import('InputStream:1.0.0')
define stream InStream (energy double, timestamp long);

define stream ResKalmanFilterStream (energyEstimated double, x double);

from InStream#kf:kalmanFilter(energy)
select *
insert into ResKalmanFilterStream;

Solution

    1. Regarding following error:

    No extension exist for StreamFunctionExtension{namespace='kf'} in execution plan "ExecutionPlan"

    kf:kalmanFilter(energy) is a function which takes an attribute (energy in this case) as a parameter and outputs a new value. In other words, it produces a new attribute, therefore it has to be used in the select statement.

    from InStream
    select kf:kalmanFilter(energy) as filteredEnergy
    insert into ResKalmanFilterStream;
    
    1. Regarding parameters; I could find following information on the parameters in the Kalman Filter extension source code (refer the class-level comment).
    • measuredValue - measured value eg:40.695881
    • measuredChangingRate - Changing rate. eg: Velocity of the point which describes from measured value - 0.003d meters per second
    • measurementNoiseSD - standard deviation of the noise. eg: 0.01
    • timestamp - the timestamp at the measured time eg: 1445234861l