Skip to content

Complex Conjugate

Module: Complex Math Functions

More...

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