LIBML  Version 3.2.4
LIBML DSP Software Library
Functions
Complex Conjugate
Collaboration diagram for Complex Conjugate:

Functions

void tpt_cmplx_conj_f32 (f32_t *__restrict aOutData, const f32_t *__restrict aInData, uint32_t aCount)
 Floating-point complex conjugate. More...
 
void tpt_cmplx_conj_q15 (q15_t *__restrict aOutData, const q15_t *__restrict aInData, uint32_t aCount)
 Q15 complex conjugate. More...
 
void tpt_cmplx_conj_q31 (q31_t *__restrict aOutData, const q31_t *__restrict aInData, uint32_t aCount)
 Q31 complex conjugate. More...
 

Detailed Description

Conjugates the elements of a complex data vector.

The aInData points to the source data and aOutData points to the destination data where the result should be written. aCount 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*aCount values.

The underlying algorithm is used:

    for (n = 0; n < aCount; n++)
    {
      aOutData[2 * n + 0] =  aInData[2 * n + 0]; // real part
      aOutData[2 * n + 1] = -aInData[2 * n + 1]; // imag part
    }
  

There are separate functions for floating-point, Q15, and Q31 data types.

Function Documentation

◆ tpt_cmplx_conj_f32()

void tpt_cmplx_conj_f32 ( f32_t *__restrict  aOutData,
const f32_t *__restrict  aInData,
uint32_t  aCount 
)

Floating-point complex conjugate.

Parameters
[out]aOutDatapoints to the output vector.
[in]aInDatapoints to the input vector.
[in]aCountnumber of samples in each vector
Returns
none

◆ tpt_cmplx_conj_q15()

void tpt_cmplx_conj_q15 ( q15_t *__restrict  aOutData,
const q15_t *__restrict  aInData,
uint32_t  aCount 
)

Q15 complex conjugate.

Parameters
[out]aOutDatapoints to the output vector.
[in]aInDatapoints to the input vector.
[in]aCountnumber of samples in each vector
Returns
none
Scaling and Overflow Behavior
The function uses saturating arithmetic. Results outside of the allowable Q15 range [0x8000 0x7FFF] are saturated.

◆ tpt_cmplx_conj_q31()

void tpt_cmplx_conj_q31 ( q31_t *__restrict  aOutData,
const q31_t *__restrict  aInData,
uint32_t  aCount 
)

Q31 complex conjugate.

Parameters
[out]aOutDatapoints to the output vector.
[in]aInDatapoints to the input vector.
[in]aCountnumber of samples in each vector
Returns
none
Scaling and Overflow Behavior
The function uses saturating arithmetic. Results outside of the allowable Q31 range [0x80000000 0x7FFFFFFF] are saturated.