Skip to main content
. 2021 Jan 11;21(2):461. doi: 10.3390/s21020461
Algorithm A1 IPDATracker.
  • 1:

    ▹Inputs:Γ,Ψ

  • 2:

    ▹Output:Γ(Updated)

  • 3:

    ▹SectionVariables:Λ,α,αT,Ω

  • 4:

    ▹x¯:Priors

  • 5:

    ▹Ψ:Measurements

  • 6:

    ▹Γ:Compositedatastructurefortracks

  • 7:

    ▹Λ:AcopyofΓ

  • 8:

    ▹Ω:Asetcontainingassociatedtracks

  • 9:

    ▹α:Atemporaryvariable

  • 10:

    ▹αT:Atemporarysetoftracks

  • 11:

    Λ=Γ.Tracks

  • 12:

    Ω←∅

  • 13:

    if Λ.size()>0 then

  • 14:

        for i=0; i<size(Γ); i++ do

  • 15:

            x^kk−1i← Equation (34)

  • 16:

            Pkk−1i← Equation (35)

  • 17:

            Wki← Equation (43)

  • 18:

            z^kk−1← Equation (36)

  • 19:

            Sk← Equation (37)

  • 20:

            V(k,γ)← Equation (39)

  • 21:

            if V.size()>0 then

  • 22:

               for j=0 to V.size() do

  • 23:

                   Lki← Equation (40)

  • 24:

                   eki← Equation (41)

  • 25:

               end for

  • 26:

               βki← Equation (31)

  • 27:

               x^kki← Equation (42)

  • 28:

               Pkki← Equation (44)

  • 29:

            else

  • 30:

               Λi.xk←x^ki

  • 31:

               Λi.Pk←Pki

  • 32:

               Ω←Ω∪0

  • 33:

               α←getTrackType(Ω,Λi)

  • 34:

               Λi.ID←getTrackID(α,Λi)

  • 35:

               Λi.type←α

  • 36:

            end if

  • 37:

            Λi.xk←x^kki

  • 38:

            Λi.Pk←Pkki

  • 39:

            Ω←Ω∪1

  • 40:

            α←getTrackType(Ω,Λi)

  • 41:

            Λi.ID←getTrackID(α,Λi)

  • 42:

            Λi.type←α

  • 43:

        end for

  • 44:

        Γ.NonAsscociated←Ψ−Ω

  • 45:

        αT←mergeTracks(Λ)

  • 46:

        Γ.Tracks←cleanTracks(αT)

  • 47:

    else

  • 48:

        Γ.NonAsscociated←Ψ

  • 49:

    end if

  • 50:

    return Γ