Routines for flutter shutter code optimization, gaussian model. The functions in this file implement equation (17). More...
Go to the source code of this file.
Macros | |
#define | eps 0.001 |
#define | ABS(x) (((x) > 0) ? (x) : (-(x))) |
#define | M_PI 3.14159265358979323846 |
Functions | |
void | gaussian_optimiser (double *code, double sigma, int code_length, double deltat) |
Computes the a_k coefficients of the code; gaussian motion model. More... | |
double | gaussian_integrand (double sigma, double deltat, double xi, int k) |
Function to integrate in order to compute the a_k coefficient of the code; gaussian motion model. This is the integrand in equation (17): {[4]{{}^{4{ N}} ({{-v^2}{2{ N}^2}}) {{1}_{[-|v|,|v| ]} ({}{ t} )}{|v|} dv} (k) } {{{sinc}({}{2 })}} (Recall that: sinc(x):={( x)}{ x}.) More... | |
double | gaussian_w (double sigma, double xi) |
Computes the W() function; gaussian motion model. This is equation (15): W():={}^{4{ N}} ({{-v^2}{2{ N}^2}}) {{1}_{[-|v|,|v| ]}()}{|v|} dv. More... | |
double | gaussian_w_integrand (double velocity, double sigma, double xi) |
Function to integrate in velocity to get the W function; gaussian motion model. This is the integrand in equation (13): ({{-v^2}{2{ N}^2}}) {{1}_{[-|v|,|v| ]}()}{|v|}. More... | |
Routines for flutter shutter code optimization, gaussian model. The functions in this file implement equation (17).
Definition in file flutter_optimiser_gaussian.cpp.
#define ABS | ( | x | ) | (((x) > 0) ? (x) : (-(x))) |
absolute value definition.
Definition at line 39 of file flutter_optimiser_gaussian.cpp.
#define eps 0.001 |
epsilon definition.
Definition at line 33 of file flutter_optimiser_gaussian.cpp.
#define M_PI 3.14159265358979323846 |
M_PI is a POSIX definition for Pi
Definition at line 47 of file flutter_optimiser_gaussian.cpp.
gaussian_integrand | ( | double | sigma, |
double | deltat, | ||
double | xi, | ||
int | k | ||
) |
Function to integrate in order to compute the a_k coefficient of the code; gaussian motion model. This is the integrand in equation (17): {[4]{{}^{4{ N}} ({{-v^2}{2{ N}^2}}) {{1}_{[-|v|,|v| ]} ({}{ t} )}{|v|} dv} (k) } {{{sinc}({}{2 })}} (Recall that: sinc(x):={( x)}{ x}.)
double | s : motion model parameter (sdt-dev here); |
double | deltat : the temporal sampling of the flutter shutter function; |
double | xi : frequency; |
int | k : the k-th coefficient of the code; |
Definition at line 156 of file flutter_optimiser_gaussian.cpp.
gaussian_optimiser | ( | double * | code, |
double | s, | ||
int | code_length, | ||
double | deltat | ||
) |
Computes the a_k coefficients of the code; gaussian motion model.
Functions for the gaussian case :
double* | code : array of doubles where code[k] contains the This function implements equation (17): = {0}^{4{ N} t } {[4]{{}^{4{ N}} ({{-v^2}{2{ N}^2}}) {{1}_{[-|v|,|v| ]} ({}{ t} )}{|v|} dv} (k)} {{{sinc}({}{2 })}}d. (Recall that: sinc(x):={( x)}{ x}.) |
double | sigma : motion model parameter (sdt-dev here); |
int | code_length : length of the code L; |
double | deltat : double deltat : the temporal sampling of the flutter shutter function; |
This function calls "gaussian_integrand" with the approriate parameters : k, deltat, velocity_{max}, etc.
Main loop for the computation of a_k (code coefficient)
Initalization for integral evaluation
init so the first iteration of the main loop is always done.
Main loop for the integral evaluation
Definition at line 75 of file flutter_optimiser_gaussian.cpp.
gaussian_w | ( | double | sigma, |
double | xi | ||
) |
Computes the W() function; gaussian motion model. This is equation (15): W():={}^{4{ N}} ({{-v^2}{2{ N}^2}}) {{1}_{[-|v|,|v| ]}()}{|v|} dv.
double | sigma : motion model parameter (sdt-dev here); |
double | xi : frequency; |
init so the first iteration of the main loop is always done.
Definition at line 198 of file flutter_optimiser_gaussian.cpp.
gaussian_w_integrand | ( | double | velocity, |
double | sigma, | ||
double | xi | ||
) |
Function to integrate in velocity to get the W function; gaussian motion model. This is the integrand in equation (13): ({{-v^2}{2{ N}^2}}) {{1}_{[-|v|,|v| ]}()}{|v|}.
double | velocity : velocity; |
double | s : motion model parameter (sdt-dev here); |
double | xi : frequency; |
Notice that the normalization is
not required since the code is defined up to a constant multiplication. See also the integrand of (13) and remark 2, page 8.
Definition at line 258 of file flutter_optimiser_gaussian.cpp.