Inputs: |
kx[l] – x navigator trajectory of length L
|
|
|
s0[l] – reference signal evaluated at kx[l] |
|
|
s[l] – navigator signal evaluated at kx[l] |
|
|
w[l] – weights |
|
|
∊1 – stopping criteria 1 |
|
|
∊2 – stopping criteria 2 |
|
Outputs: |
cφ – bulk phase difference |
|
|
dx – motion estimate as linear translation |
|
|
Algorithm: |
cφ = 0, dx = 0, sj [l] = s[l] |
Initialization |
|
do{ |
|
|
Construct r: r[l] = w[l] × (s0[l] − sj[l]) |
Weighted residual |
|
Construct a1: a1[l] = w[l] × i2πkx[l]sj[l] |
|
|
Construct a2: a2[l] = w[l] × i2πsj [l] |
|
|
|
Using weighted least-squares |
|
dx = dx + dj, cφ = cφ + cj
|
Update |
|
sj [l] = s[l]e−i2π(kx[l]dx+cφ)
|
|
|
}while |dj| > ∊1 and |cj| > ∊2
|
|