Complex Conjugate
Module: Complex Math Functions
Functions
Name | |
---|---|
void | plp_cmplx_conj_f32_xpulpv2(const float32_t restrict pSrc, float32_t restrict pDst, uint32_t numSamples) Floating-point complex conjugate. |
void | plp_cmplx_conj_i16_rv32im(const int16_t restrict pSrc, int16_t restrict pDst, uint32_t numSamples) 16-bit integer complex conjugate. |
void | plp_cmplx_conj_i16_xpulpv2(const int16_t restrict pSrc, int16_t restrict pDst, uint32_t numSamples) 16-bit integer complex conjugate. |
void | plp_cmplx_conj_i32_rv32im(const int32_t restrict pSrc, int32_t restrict pDst, uint32_t numSamples) 32-bit integer complex conjugate. |
void | plp_cmplx_conj_i32_xpulpv2(const int32_t restrict pSrc, int32_t restrict pDst, uint32_t numSamples) 32-bit integer complex conjugate. |
void | plp_cmplx_conj_i8_rv32im(const int8_t restrict pSrc, int8_t restrict pDst, uint32_t numSamples) 8-bit integer complex conjugate. |
void | plp_cmplx_conj_i8_xpulpv2(const int8_t restrict pSrc, int8_t restrict pDst, uint32_t numSamples) 8-bit integer complex conjugate. |
void | plp_cmplx_conj_f32(const float32_t restrict pSrc, float32_t restrict pDst, uint32_t numSamples) Glue code for complex conjugate of 32-bit float vectors. |
void | plp_cmplx_conj_i16(const int16_t restrict pSrc, int16_t restrict pDst, uint32_t numSamples) Glue code for complex conjugate of 16-bit integer vectors. |
void | plp_cmplx_conj_i32(const int32_t restrict pSrc, int32_t restrict pDst, uint32_t numSamples) Glue code for complex conjugate of 32-bit integer vectors. |
void | plp_cmplx_conj_i8(const int8_t restrict pSrc, int8_t restrict pDst, uint32_t numSamples) Glue code for complex conjugate of 8-bit integer vectors. |
Detailed Description
Conjugates the elements of a complex data vector. The pSrc
points to the source data and pDst
points to the destination data where the result should be written. numSamples
specifies the number of complex samples and the data in each array is stored in an interleaved fashion (real, imag, real, imag, ...). Each array has a total of 2*numSamples
values. The underlying algorithm is used:
for (n = 0; n < numSamples; n++) {
pDst[(2n) ] = pSrc[(2n) ]; // real part
pDst[(2n)+1] = -pSrc[(2n)+1]; // imag part
}
There are separate functions for floating point, integer, and fixed point 32- 16- 8-bit data types.
Conjugates the elements of a complex data vector. The pSrc
points to the source data and pDst
points to the destination data where the result should be written. numSamples
specifies the number of complex samples and the data in each array is stored in an interleaved fashion (real, imag, real, imag, ...). Each array has a total of 2*numSamples
values. The underlying algorithm is used:
for (n = 0; n < numSamples; n++) {
pDst[(2n) ] = pSrc[(2n) ]; // real part
pDst[(2n)+1] = -pSrc[(2n)+1]; // imag part
}
Functions Documentation
function plp_cmplx_conj_f32_xpulpv2
void plp_cmplx_conj_f32_xpulpv2(
const float32_t *__restrict__ pSrc,
float32_t *__restrict__ pDst,
uint32_t numSamples
)
Floating-point complex conjugate.
Parameters:
- pSrc points to the input vector
- pDst points to the output vector
- numSamples number of samples in each vector
Return: none
function plp_cmplx_conj_i16_rv32im
void plp_cmplx_conj_i16_rv32im(
const int16_t *__restrict__ pSrc,
int16_t *__restrict__ pDst,
uint32_t numSamples
)
16-bit integer complex conjugate.
Parameters:
- pSrc points to the input vector
- pDst points to the output vector
- numSamples number of samples in each vector
Return: none
function plp_cmplx_conj_i16_xpulpv2
void plp_cmplx_conj_i16_xpulpv2(
const int16_t *__restrict__ pSrc,
int16_t *__restrict__ pDst,
uint32_t numSamples
)
16-bit integer complex conjugate.
Parameters:
- pSrc points to the input vector
- pDst points to the output vector
- numSamples number of samples in each vector
Return: none
function plp_cmplx_conj_i32_rv32im
void plp_cmplx_conj_i32_rv32im(
const int32_t *__restrict__ pSrc,
int32_t *__restrict__ pDst,
uint32_t numSamples
)
32-bit integer complex conjugate.
Parameters:
- pSrc points to the input vector
- pDst points to the output vector
- numSamples number of samples in each vector
Return: none
function plp_cmplx_conj_i32_xpulpv2
void plp_cmplx_conj_i32_xpulpv2(
const int32_t *__restrict__ pSrc,
int32_t *__restrict__ pDst,
uint32_t numSamples
)
32-bit integer complex conjugate.
Parameters:
- pSrc points to the input vector
- pDst points to the output vector
- numSamples number of samples in each vector
Return: none
function plp_cmplx_conj_i8_rv32im
void plp_cmplx_conj_i8_rv32im(
const int8_t *__restrict__ pSrc,
int8_t *__restrict__ pDst,
uint32_t numSamples
)
8-bit integer complex conjugate.
Parameters:
- pSrc points to the input vector
- pDst points to the output vector
- numSamples number of samples in each vector
Return: none
function plp_cmplx_conj_i8_xpulpv2
void plp_cmplx_conj_i8_xpulpv2(
const int8_t *__restrict__ pSrc,
int8_t *__restrict__ pDst,
uint32_t numSamples
)
8-bit integer complex conjugate.
Parameters:
- pSrc points to the input vector
- pDst points to the output vector
- numSamples number of samples in each vector
Return: none
function plp_cmplx_conj_f32
void plp_cmplx_conj_f32(
const float32_t *__restrict__ pSrc,
float32_t *__restrict__ pDst,
uint32_t numSamples
)
Glue code for complex conjugate of 32-bit float vectors.
Parameters:
- pSrc points to the input vector
- pDst points to the output vector
- numSamples number of samples in each vector
Return: none
function plp_cmplx_conj_i16
void plp_cmplx_conj_i16(
const int16_t *__restrict__ pSrc,
int16_t *__restrict__ pDst,
uint32_t numSamples
)
Glue code for complex conjugate of 16-bit integer vectors.
Parameters:
- pSrc points to the input vector
- pDst points to the output vector
- numSamples number of samples in each vector
Return: none
function plp_cmplx_conj_i32
void plp_cmplx_conj_i32(
const int32_t *__restrict__ pSrc,
int32_t *__restrict__ pDst,
uint32_t numSamples
)
Glue code for complex conjugate of 32-bit integer vectors.
Parameters:
- pSrc points to the input vector
- pDst points to the output vector
- numSamples number of samples in each vector
Return: none
function plp_cmplx_conj_i8
void plp_cmplx_conj_i8(
const int8_t *__restrict__ pSrc,
int8_t *__restrict__ pDst,
uint32_t numSamples
)
Glue code for complex conjugate of 8-bit integer vectors.
Parameters:
- pSrc points to the input vector
- pDst points to the output vector
- numSamples number of samples in each vector
Return: none
Updated on 2023-03-01 at 16:16:32 +0000