![]() |
![]() |
Functions | |
int_fast16_t | VCELPF3_cartesianToPolarVector (VCELPF3_ComplexVector *vec, VCELPF3_ComplexVector *result) |
VCE function for converting a complex vector in cartesian format to polar format. More... | |
int_fast16_t | VCELPF3_polarToCartesianVector (VCELPF3_ComplexVector *vec, float complex *temp, VCELPF3_ComplexVector *result) |
VCE function for converting a complex vector in polar format to cartesian format. More... | |
int_fast16_t | VCELPF3_sortVector (VCELPF3_ComplexVector *vec, VCELPF3_ComplexVector *result) |
VCE function for sorting the real parts of a complex vector in descending order. This function ignores the complex parts of each element and makes no guarantees to their contents after the operation is complete. More... | |
int_fast16_t | VCELPF3_covMatrixSpatialSmoothing (VCELPF3_ComplexVector *vec, uint16_t covMatrixSize, bool fbAveraging, VCELPF3_ComplexTriangleMatrix *result) |
VCE function for covariance matrix computation using spatial smoothing and optionally forward-backward averaging. More... | |
int_fast16_t | VCELPF3_computeFFT (VCELPF3_ComplexVector *vec, bool inverse, VCELPF3_ComplexVector *result) |
VCE function for computing the Discrete Fourier transform (DFT) of a complex vector using the Fast Fourier Transform (FFT) algorithm. Optionally, the Inverse DFT can be computed. Combines two VCE operations; first configuring the VCE for a fourier transform, then actually computing it. More... | |
int_fast16_t VCELPF3_cartesianToPolarVector | ( | VCELPF3_ComplexVector * | vec, |
VCELPF3_ComplexVector * | result | ||
) |
VCE function for converting a complex vector in cartesian format to polar format.
[in] | vec | a pointer to an input vector in cartesian format |
[out] | result | a pointer to the vector where the output will be placed. Its size should be the same as that of the inputs. |
VCELPF3_STATUS_SUCCESS | The call was successful. |
int_fast16_t VCELPF3_polarToCartesianVector | ( | VCELPF3_ComplexVector * | vec, |
float complex * | temp, | ||
VCELPF3_ComplexVector * | result | ||
) |
VCE function for converting a complex vector in polar format to cartesian format.
[in] | vec | a pointer to an input vector in cartesian format |
[in] | temp | a pointer to a temporary vector of the same length as vec to store temporary results. If the vec and result are not in VCE memory, this argument is ignored and the temp vector is placed after the result in VCE memory. |
[out] | result | a pointer to a vector where the output will be placed. Its size should be the same as that of the inputs. |
VCELPF3_STATUS_SUCCESS | The call was successful. |
VCELPF3_STATUS_ERROR | The temp vector was not in VCE space. |
int_fast16_t VCELPF3_sortVector | ( | VCELPF3_ComplexVector * | vec, |
VCELPF3_ComplexVector * | result | ||
) |
VCE function for sorting the real parts of a complex vector in descending order. This function ignores the complex parts of each element and makes no guarantees to their contents after the operation is complete.
[in] | vec | a pointer to an input vector to be sorted |
[out] | result | a pointer to a vector where the output will be placed. Its size should be the same as that of the inputs. |
VCELPF3_STATUS_SUCCESS | The call was successful. |
int_fast16_t VCELPF3_covMatrixSpatialSmoothing | ( | VCELPF3_ComplexVector * | vec, |
uint16_t | covMatrixSize, | ||
bool | fbAveraging, | ||
VCELPF3_ComplexTriangleMatrix * | result | ||
) |
VCE function for covariance matrix computation using spatial smoothing and optionally forward-backward averaging.
Given a received signal length N, a smaller matrix (LxL) with L < N is created by averaging (N-L+1) overlapped covariance matrices. When forward-backward averaging is applied, the output matrix becomes:
Where R is the spacially smoother matrix and J is the exchange matrix. R' signifies the conjugate transpose of R.
[in] | vec | a pointer to an input vector |
[in] | covMatrixSize | size of the output covariance matrix. The output triangular matrix will have rows and columns equal to this value. |
[in] | fbAveraging | whether or not to perform forward-backwards averaging |
[out] | result | a pointer to a upper triangle matrix where the output will be placed |
VCELPF3_STATUS_SUCCESS | The call was successful. |
int_fast16_t VCELPF3_computeFFT | ( | VCELPF3_ComplexVector * | vec, |
bool | inverse, | ||
VCELPF3_ComplexVector * | result | ||
) |
VCE function for computing the Discrete Fourier transform (DFT) of a complex vector using the Fast Fourier Transform (FFT) algorithm. Optionally, the Inverse DFT can be computed. Combines two VCE operations; first configuring the VCE for a fourier transform, then actually computing it.
[in] | vec | a pointer to an input vector. The vector needs to have a size equal to a power of two. |
[in] | inverse | whether or not to perform IFFT instead of DFT |
[out] | result | a pointer to a vector where the output will be placed |
VCELPF3_STATUS_SUCCESS | The call was successful. |