Sequence Diagram
Scroll down (bug in rendering)
%%{init: {'theme':'forest'}}%%
sequenceDiagram
autonumber
activate relpos()
relpos()->>relpos(): satposs() compute satellite positions, velocities and clocks
note over zdres(): Base station
relpos()->>zdres(): undifferenced phase/code residuals (apriori/misclosure)
zdres()->>relpos(): .
relpos()->>relpos(): intpres() time-interpolation of residuals
relpos()->>relpos(): selsat() select common satellites between rover and base-station
relpos()->>relpos(): udstate() update kalman filter states (state propagation)
note over zdres(): Rover station
loop (niter)
relpos()->>zdres(): undifferenced phase/code residuals (apriori/misclosure)
zdres()->>relpos(): .
relpos()->>relpos(): ddres() calculate double-differenced residuals
relpos()->>relpos(): filter() kalman filter measurement update
end
note over zdres(): calc zero diff residuals again after kalman filter update
relpos()->>zdres(): undifferenced phase/code residuals (apriori/misclosure)
zdres()->>relpos(): .
relpos()->>relpos(): ddres() calc double diff residuals again after kalman filter update for float solution
relpos()->>relpos(): valpos() validation of float solution (post-fit residual test)
relpos()->>relpos(): valid satellite count by L1
relpos()->>relpos(): manage_amb_LAMBDA() resolve integer ambiguity by LAMBDA
note over zdres(): Fixed solution
relpos()->>zdres(): undifferenced phase/code residuals (apriori/misclosure)
zdres()->>relpos(): .
relpos()->>relpos(): valpos() validation of fixed solution
relpos()->>relpos(): holdamb() hold integer ambiguity if meet minfix count
Reference : https://mermaid.js.org/syntax/sequenceDiagram.html