Compute Doppler Centroid from Abstracted Metadata

Dear SNAP developers (and users),

For some reason, I need to compute the Doppler Centroid on my image. Original image contains metadata to compute it. The thing is, it is a bit boring because many steps are involved.


The Doppler Frequency in TOPSAR SLC images is given by

f_{DC} = k_t \cdot t_{az}

The Doppler centroid rate k_t is a function of the Doppler rate k_a and the Doppler centroid rate in raw data k_{rot}. The Doppler centroid rate is given by :

k_t = \dfrac{k_{rot} - k_a}{k_{rot} \cdot k_a}

And k_{rot} is a function of the satellite velocity v_s, the wavelength \lambda and the steering rate of the sensor \omega_r :

k_{rot} = -\dfrac{2 \cdot v_s}{\lambda} \cdot \omega_r

v_s is computed from orbits. Here we took the central velocity estimate are assumed it as valid for the whole scene. If needed, we can draw a polynomial through all velocity estimates and interpolate the velocity at the the very precise mid-burst time.

  • v_ s : …/product/generalAnnotation/orbitList/velocity[x y z]

Which gives us the absolute velocity of 7566.93 m/s.

  • f_c : …/product/generalAnnotation/productInformation/radarFrequency

\longrightarrow 5 405 000 459 Hz.

  • \omega_r : …/product/generalAnnotation/productInformation/azimuthSteeringRate

\longrightarrow 0.0349 rad/sec.

  • c : 299 792 458 m/s

Putting all together in equation \ref{eq:carotte2}, we find k_{rot} equal to 9522.48 Hz./sec

This allows to compute the Doppler rate k_a. It is range variant in TOPSAR acquisition. It is computed from a polynom given in the metadata.

k_a(i) = c_0 + c_1 \cdot (\tau(i) - \tau_0) + c_2 \cdot (\tau(i) - \tau_0)^2

Where i denotes the range dimension (in pixel) and \tau (i) is its related slant-range acquisition time.

  • c_i : …/product/generalAnnotation/azimuthFmRateList/azimuthFmRate/ \ azimutFmRatePolynomial[c_0 c_1 c_2]

Note that the value of these coefficients doesn’t change a lot between bursts (relative difference of about \approx e-5).

  • \tau_0 : …/product/imageAnnotation/imageInformation/slantRangeTime

\longrightarrow 0.00505182323 sec.

  • \tau(i) : given in the Tie-Point Grids in SNAP

Putting all together, k_a is a range varying variable going from -2455.28 Hz/sec (near range) to -2318.39 Hz/sec (far range). This is coherent with Nuno Miranda’s results (Sentinel-1 Data Quality Manager).

Then, we can compute the Doppler centroid rate in the focused SLC TOPSAR data is given by the formula

The Doppler centroid rate in the focused SLC TOPSAR data is given by the formula

k_t = \dfrac{k_a \cdot k_{rot}}{k_a - k_{rot}}

Since k_a is range varying and k_{rot} is almost constant, the Doppler centroid rate is also range varying ang here goes from 1953 Hz/sec (near range) to 1861 Hz/sec (far range). This is coherent with Nuno Miranda’s results. The doppler Frequency is simply computed from first equation.

However, as soon as a product is create by SNAP, the .data/.dim “combo”, Abstracted metada are created, from which we can find some parameters not present in the original metadata. More specificaly, the Doppler Centroid Coefficients are directly present for each burst as a second degree polynomial.

How should I use them to directly get the f_{DC} ?

Thanks in advance, it would greatly help me gain some time.


1 Like

I just wanted to appreciate your elaborate use of the formatting options!

1 Like

Thank you :slight_smile: Unfortunately, there are still some troubles with some symbols.

This symbol for example " \longrightarrow " works perfectly here but not when you open a “summary” box (at least for me).

that’s true - I noticed this as well.

But it’s still much nicer to read and I hope you will get a helpful respsonse.

Following expressions for Doppler centroid calculation are mentioned in Sentinel-1 Product Specification document :

Can somebody tell me how these polynomials are calculated from orbit or data? @qglaude can you guide me in this?

I can’t tell you exactly how these polynomials are computed. However, we found quite important difference between computing the doppler centroid from the metadata (by replacing the value of the slant range) and computing the doppler centroid from the data (by digital signal processing).

Thank you for your response sir @qglaude