116 #ifndef ti_drivers_VCELPF3__include 117 #define ti_drivers_VCELPF3__include 127 #include <ti/devices/DeviceFamily.h> 128 #include DeviceFamily_constructPath(inc/hw_memmap.h) 263 #define VCELPF3_STATUS_SUCCESS 0 268 #define VCELPF3_STATUS_ERROR 1 274 #define VCELPF3_STATUS_RESOURCE_UNAVAILABLE 2 280 #define VCELPF3_RESULT_INPLACE 0 285 #define VCELPF3_MEM_BASE VCERAM_DATA0_BASE 290 #define VCELPF3_MEM_SIZE_MIRRORED VCERAM_DATA0_SIZE 366 float complex *result);
532 uint16_t covMatrixSize,
Definition: VCELPF3.h:229
VCELPF3_SchedulingMode schedulingMode
Definition: VCELPF3.h:253
VCELPF3_OperationMode operationMode
Definition: VCELPF3.h:251
uint16_t size
Definition: VCELPF3.h:159
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-backwar...
void * VCELPF3_loadArgMirrored(uint16_t argSize, uint16_t offset, float complex *src)
Load operation arguments into VCE memory, assuming the VCE is in mirrored mode. This means memory is ...
int_fast16_t VCELPF3_cartesianToPolarVector(VCELPF3_ComplexVector *vec, VCELPF3_ComplexVector *result)
VCE function for converting a complex vector in cartesian format to polar format. ...
VCELPF3 Matrix Struct.
Definition: VCELPF3.h:173
uint16_t rows
Definition: VCELPF3.h:178
uint16_t size
Definition: VCELPF3.h:202
uint16_t VCELPF3_prepareVectors(VCELPF3_ComplexVector *vecA, VCELPF3_ComplexVector *vecB)
Configure the VCE for vector operation inputs. If not in scratchpad mode, the vectors are loaded one ...
VCELPF3_OperationMode
Define the VCE memory operation modes, which are the ways the VCE expects data to be stored in its me...
Definition: VCELPF3.h:213
complex float * data
Definition: VCELPF3.h:200
uint16_t VCELPF3_prepareMatrices(VCELPF3_ComplexMatrix *matA, VCELPF3_ComplexMatrix *matB)
Configure the VCE for matrix operation inputs. If not in scratchpad mode, the matrices are loaded one...
void VCELPF3_startOperationSequence()
VCE function to prepare the start of an operation chain.
VCELPF3 Vector Struct.
Definition: VCELPF3.h:154
int_fast16_t VCELPF3_unitCircle(uint16_t numPoints, uint16_t constant, uint16_t phase, bool conjugate, VCELPF3_ComplexVector *result)
Generate points evenly distributed on a unit circle VCE generates a unit circle as follow: exp(-j*2*p...
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. ...
Semaphore module for the RTOS Porting Interface.
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 ignore...
uint16_t cols
Definition: VCELPF3.h:180
VCELPF3 Hardware attributes.
Definition: VCELPF3.h:247
int_fast16_t VCELPF3_vectorMult(VCELPF3_ComplexVector *vecA, VCELPF3_ComplexVector *vecB, bool conjugate, VCELPF3_ComplexVector *result)
VCE function for calculating the element-wise product of two vectors, with the option to perform the ...
complex float * data
Definition: VCELPF3.h:157
int_fast16_t VCELPF3_vectorSum(VCELPF3_ComplexVector *vecA, VCELPF3_ComplexVector *vecB, VCELPF3_ComplexVector *result)
VCE function for calculating the element-wise sum of two vectors.
int_fast16_t VCELPF3_matrixMult(VCELPF3_ComplexMatrix *matA, VCELPF3_ComplexMatrix *matB, VCELPF3_ComplexMatrix *result)
VCE function for multiplying two matrices. The number of rows in the first matrix must be equal to th...
int_fast16_t VCELPF3_matrixScalarMult(VCELPF3_ComplexMatrix *mat, float complex *scalar, VCELPF3_ComplexMatrix *result)
VCE function for multiplying each of a matrix' elements by a scalar.
void VCELPF3_stopOperationSequence()
VCE function to finish an operation chain.
int_fast16_t VCELPF3_dotProduct(VCELPF3_ComplexVector *vecA, VCELPF3_ComplexVector *vecB, bool conjugate, float complex *result)
VCE function for calculating the dot product of two vectors, with the option to perform the complex c...
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 Fo...
VCELPF3 Upper Triangle Matrix Struct.
Definition: VCELPF3.h:197
unsigned int intPriority
Definition: VCELPF3.h:249
void VCELPF3_prepareResult(uint16_t resultSize, uint16_t inputSize, complex float *resultBuffer)
Configure the VCE pointers for temporary (in VCE memory) and final results for a VCE operation...
Definition: VCELPF3.h:216
int_fast16_t VCELPF3_matrixScalarSum(VCELPF3_ComplexMatrix *mat, float complex *scalar, VCELPF3_ComplexMatrix *result)
VCE function for adding a scalar to a each of a matrix' elements.
void * object
Definition: VCELPF3.h:239
void * VCELPF3_loadTriangular(VCELPF3_ComplexMatrix *mat, uint16_t offset)
Loads the upper triangular part of a full matrix into VCE memory.
complex float * data
Definition: VCELPF3.h:176
int_fast16_t VCELPF3_gaussJordanElim(VCELPF3_ComplexMatrix *mat, float zeroThreshold, VCELPF3_ComplexMatrix *result)
Reduce the input matrix A[MxN] to reduced echelon form using Gauss-Jordan Elimination.
void const * hwAttrs
Definition: VCELPF3.h:241
int_fast16_t VCELPF3_matrixNorm(VCELPF3_ComplexMatrix *mat, float complex *result)
Compute the Frobenius norm of a matrix.
int_fast16_t VCELPF3_matrixSum(VCELPF3_ComplexMatrix *matA, VCELPF3_ComplexMatrix *matB, VCELPF3_ComplexMatrix *result)
VCE function for adding two matrices. The matrices must be of exact same sizes.
Hardware Interrupt module for the RTOS Porting Interface.
void VCELPF3_init(void)
VCE init function.
int_fast16_t VCELPF3_jacobiEVD(VCELPF3_ComplexTriangleMatrix *mat, uint16_t maxIter, float stopThreshold, VCELPF3_ComplexVector *result)
VCE function to compute the Jacobi Eigen-Decomposition (EVD) of a triangular Hermitian Matrix...
VCELPF3_SchedulingMode
Define the VCE memory scheduling modes, which are the ways VCE memory operations are scheduled and pi...
Definition: VCELPF3.h:224
VCELPF3 Global configuration.
Definition: VCELPF3.h:236