SAF
|
Files | |
file | saf_cdf4sap.c |
Public source for the Covariance Domain Framework module (SAF_CDF4SAP_MODULE) | |
file | saf_cdf4sap.h |
Main header for the Covariance Domain Framework module (SAF_CDF4SAP_MODULE) | |
Functions | |
void | cdf4sap_create (void **const phCdf, int nXcols, int nYcols) |
Creates an instance of the Covariance Domain Framework. | |
void | cdf4sap_cmplx_create (void **const phCdf, int nXcols, int nYcols) |
Creates an instance of the Covariance Domain Framework. | |
void | cdf4sap_destroy (void **const phCdf) |
Destroys an instance of the Covariance Domain Framework. | |
void | cdf4sap_cmplx_destroy (void **const phCdf) |
Destroys an instance of the Covariance Domain Framework. | |
void | formulate_M_and_Cr (void *const hCdf, float *Cx, float *Cy, float *Q, int useEnergyFLAG, float reg, float *M, float *Cr) |
Computes the optimal mixing matrices. | |
void | formulate_M_and_Cr_cmplx (void *const hCdf, float_complex *Cx, float_complex *Cy, float_complex *Q, int useEnergyFLAG, float reg, float_complex *M, float_complex *Cr) |
Computes the optimal mixing matrices. | |
Covariance domain framework processing module
void cdf4sap_cmplx_create | ( | void **const | phCdf, |
int | nXcols, | ||
int | nYcols ) |
Creates an instance of the Covariance Domain Framework.
[in] | phCdf | The address (&) of the CDF4SAP handle |
[in] | nXcols | Number of columns/rows in square input matrix 'Cx' |
[in] | nYcols | Number of columns/rows in square input matrix 'Cy' |
Definition at line 139 of file saf_cdf4sap.c.
void cdf4sap_cmplx_destroy | ( | void **const | phCdf | ) |
Destroys an instance of the Covariance Domain Framework.
[in] | phCdf | The address (&) of the CDF4SAP handle |
Definition at line 233 of file saf_cdf4sap.c.
void cdf4sap_create | ( | void **const | phCdf, |
int | nXcols, | ||
int | nYcols ) |
Creates an instance of the Covariance Domain Framework.
[in] | phCdf | The address (&) of the CDF4SAP handle |
[in] | nXcols | Number of columns/rows in square input matrix 'Cx' |
[in] | nYcols | Number of columns/rows in square input matrix 'Cy' |
Definition at line 84 of file saf_cdf4sap.c.
void cdf4sap_destroy | ( | void **const | phCdf | ) |
Destroys an instance of the Covariance Domain Framework.
[in] | phCdf | The address (&) of the CDF4SAP handle |
Definition at line 196 of file saf_cdf4sap.c.
void formulate_M_and_Cr | ( | void *const | hCdf, |
float * | Cx, | ||
float * | Cy, | ||
float * | Q, | ||
int | useEnergyFLAG, | ||
float | reg, | ||
float * | M, | ||
float * | Cr ) |
Computes the optimal mixing matrices.
This function solves the problem of determining the optimal mixing matrices 'M' and 'Mr', such that the covariance matrix of the output: y_out = M*x + Mr*decorrelated(x), is aligned with the target matrix 'Cy', given the covariance matrix of input x, Cx=x*x^H, and a prototype mixing matrix Q. For the derivation and a more detailed description, the reader is referred to [1,2].
[in] | hCdf | Covariance Domain Framework handle |
[in] | Cx | Covariance matrix of input 'x'; FLAT: nXcols x nXcols |
[in] | Cy | Target covariance matrix; FLAT: nYcols x nYcols |
[in] | Q | Prototype matrix; FLAT: nYcols x nXcols |
[in] | useEnergyFLAG | Set to '0' to apply energy compensation to 'M' instead of outputing 'Cr'. Set to '1' to output 'Cr' |
[in] | reg | Regularisation term (suggested: 0.2f) |
[out] | M | Mixing matrix; FLAT: nYcols x nXcols |
[out] | Cr | Mixing matrix residual, set to NULL if not needed; FLAT: nYcols x nYcols |
Definition at line 272 of file saf_cdf4sap.c.
void formulate_M_and_Cr_cmplx | ( | void *const | hCdf, |
float_complex * | Cx, | ||
float_complex * | Cy, | ||
float_complex * | Q, | ||
int | useEnergyFLAG, | ||
float | reg, | ||
float_complex * | M, | ||
float_complex * | Cr ) |
Computes the optimal mixing matrices.
This function solves the problem of determining the optimal mixing matrices 'M' and 'Mr', such that the covariance matrix of the output: y_out = M*x + Mr*decorrelated(x), is aligned with the target matrix 'Cy', given the covariance matrix of input x, Cx=x*x^H, and a prototype mixing matrix Q. For the derivation and a more detailed description, the reader is referred to [1,2].
[in] | hCdf | Covariance Domain Framework handle |
[in] | Cx | Covariance matrix of input 'x'; FLAT: nXcols x nXcols |
[in] | Cy | Target covariance matrix; FLAT: nYcols x nYcols |
[in] | Q | Prototype matrix; FLAT: nYcols x nXcols |
[in] | useEnergyFLAG | Set to '0' to apply energy compensation to 'M' instead of outputing 'Cr'. Set to '1' to output 'Cr' |
[in] | reg | Regularisation term (suggested: 0.2f) |
[out] | M | Mixing matrix; FLAT: nYcols x nXcols |
[out] | Cr | Mixing matrix residual, set to NULL if not needed; FLAT: nYcols x nYcols |
Definition at line 406 of file saf_cdf4sap.c.