Frama-C API - Linear_filter
Compute filters invariants, i.e bounds for each of the filter's state dimensions when the iterations goes to infinity.
A filter corresponds to the following recursive equation :
X[t + 1] = AX[t] + ∑B(ω)ε(ω)[k + 1] + C
where :
n
is the filter's order ;ω
is a measure's source (for instance, a specific sensor in a cyberphysical system) ;m(ω)
is the delay for the sourceω
;X[t] ∈ 𝕂^n
is the filter's state at iterationt
;ε(ω)[t] ∈ 𝕂^{m(ω)}
is the measure at iterationt
for the sourceω
;A ∈ 𝕂^{nxn}
is the filter's state matrix ;B(ω) ∈ 𝕂^{nxm(ω)}
is the source matrix for the sourceω
;C ∈ 𝕂^n
is the filter's center.
To compute filter invariants, each measure of a given source is supposed bounded by the same interval, represented as a center and a deviation. Each source can thus be bounded by a different interval.
Linear_filter_test
is an example using this module.