isce3 0.25.0
Loading...
Searching...
No Matches
EdgeMethodCostFunc.h File Reference

Cost functions used in EL antenna pointing estimation via edge method. More...

#include <optional>
#include <tuple>
#include <isce3/core/Linspace.h>
#include <isce3/core/Poly1d.h>

Go to the source code of this file.

Namespaces

namespace  isce3
 base interpolator is an abstract base class
 

Typedefs

using isce3::antenna::poly1d_t = isce3::core::Poly1d
 

Functions

std::tuple< double, double, bool, int > isce3::antenna::rollAngleOffsetFromEdge (const poly1d_t &polyfit_echo, const poly1d_t &polyfit_ant, const isce3::core::Linspace< double > &look_ang, std::optional< poly1d_t > polyfit_weight={})
 Estimate roll angle offset via edge method from poly-fitted power patterns obtained from echo raw data and antenna pattern.
 
std::tuple< double, double, bool, int > isce3::antenna::rollAngleOffsetFromEdge (const poly1d_t &polyfit_echo, const poly1d_t &polyfit_ant, double look_ang_near, double look_ang_far, double look_ang_prec, std::optional< poly1d_t > polyfit_weight={})
 Estimate roll angle offset via edge method from poly-fitted power patterns obtained from echo raw data and antenna pattern.
 

Detailed Description

Cost functions used in EL antenna pointing estimation via edge method.

Function Documentation

◆ rollAngleOffsetFromEdge() [1/2]

std::tuple< double, double, bool, int > isce3::antenna::rollAngleOffsetFromEdge ( const poly1d_t & polyfit_echo,
const poly1d_t & polyfit_ant,
const isce3::core::Linspace< double > & look_ang,
std::optional< poly1d_t > polyfit_weight = {} )

Estimate roll angle offset via edge method from poly-fitted power patterns obtained from echo raw data and antenna pattern.

The cost function is solved via Newton method and final solution is the weighted average of individual solution within look (off-nadir) angles [near, far] with desired angle precision all defined by isce3 Linspace. See equations for cost function in section 1.1 of the reference [EdgeMethodElPointDoc] The only difference is that the look angles are in (rad) rather than in (deg). Note that the respective magnitudes for both echo and antenna can be either 2-way or 1-way power patterns.

Parameters
[in]polyfit_echoisce3 Poly1d object for polyfitted magnitude of either range compressed (preferred) or raw echo data. It must be third-order polynomial of relative magnitude/power in (dB) as a function of look angle in (rad)
[in]polyfit_antisce3 Poly1d object for antenna EL power pattern. It must be third-order polynomial of relative magnitude/power in (dB) as a function of look angle in (rad). It must have the same mean and std as that of "polyfit_echo"!
[in]look_angisce3 Linspace object to cover desired range of look angles (rad) with desired precision/spacing.
[in]polyfit_weight(optional) isce3 Poly1d object for weightings used in final weighted averaged of individual solutions over desired look angle coverage. It shall represent relative magnitude/power in (dB) as a function of look angle in (rad). The order of the polynomial must be at least 0 (constant weights).
Returns
roll angle offset (rad) Note that the roll offset shall be added to EL angles in antenna frame to align EL power pattern from antenna to the one extracted from echo given the cost function optimized for offset applied to polyfitted antenna data.
max cost function value among all iterations
overall convergence flag (true or false)
max number of iterations among all iterations
Exceptions
InvalidArgument

◆ rollAngleOffsetFromEdge() [2/2]

std::tuple< double, double, bool, int > isce3::antenna::rollAngleOffsetFromEdge ( const poly1d_t & polyfit_echo,
const poly1d_t & polyfit_ant,
double look_ang_near,
double look_ang_far,
double look_ang_prec,
std::optional< poly1d_t > polyfit_weight = {} )

Estimate roll angle offset via edge method from poly-fitted power patterns obtained from echo raw data and antenna pattern.

The cost function is solved via Newton method and final solution is the weighted average of individual solution within look (off-nadir) angles [near, far] with desired angle precision "look_ang_prec". See equations for cost function in section 1.1 of the reference [EdgeMethodElPointDoc] The only difference is that the look angles are in (rad) rather than in (deg). Note that the respective magnitudes for both echo and antenna can be either 2-way or 1-way power patterns.

Parameters
[in]polyfit_echoisce3 Poly1d object for polyfitted magnitude of either range compressed (preferred) or raw echo data. It must be third-order polynomial of relative magnitude/power in (dB) as a function of look angle in (rad)
[in]polyfit_antisce3 Poly1d object for antenna EL power pattern. It must be third-order polynomial of relative magnitude/power in (dB) as a function of look angle in (rad). It must have the same mean and std as that of "polyfit_echo"!
[in]look_ang_nearlook angle for near range in (rad)
[in]look_ang_farlook angle for far range in (rad)
[in]look_ang_preclook angle precision/resolution in (rad)
[in]polyfit_weight(optional) isce3 Poly1d object for weightings used in final weighted averaged of individual solutions over desired look angle coverage. It shall represent relative magnitude/power in (dB) as a function of look angle in (rad). The order of the polynomial must be at least 0 (constant weights).
Returns
roll angle offset (rad) Note that the roll offset shall be added to EL angles in antenna frame to align EL power pattern from antenna to the one extracted from echo given the cost function optimized for offset applied to polyfitted antenna data.
max cost function value among all iterations
overall convergence flag (true or false)
max number of iterations among all iterations
Exceptions
InvalidArgument

Generated for ISCE3.0 by doxygen 1.13.2.