# Complex Conjugate
[Complex Math Functions]

## Functions

void | arm_cmplx_conj_f32 (float32_t *pSrc, float32_t *pDst, uint32_t numSamples)
void | arm_cmplx_conj_q31 (q31_t *pSrc, q31_t *pDst, uint32_t numSamples)
void | arm_cmplx_conj_q15 (q15_t *pSrc, q15_t *pDst, uint32_t numSamples)

## Detailed Description

Conjugates the elements of a complex data vector.

The `pSrc` points to the source data and `pDst` points to the 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[(2*n)+0)] = pSrc[(2*n)+0];     // real part
         pDst[(2*n)+1)] = -pSrc[(2*n)+1];    // imag part
     }

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

## Function Documentation

void arm_cmplx_conj_f32 | ( | float32_t * | pSrc,
|  | float32_t * | pDst,
|  | uint32_t | numSamples
| ) |  |

Floating-point complex conjugate.

Parameters:

  *pSrc | points to the input vector
  *pDst | points to the output vector
  numSamples | number of complex samples in each vector

Returns:
  none.

Definition at line 72 of file arm_cmplx_conj_f32.c.

void arm_cmplx_conj_q31 | ( | q31_t * | pSrc,
|  | q31_t * | pDst,
|  | uint32_t | numSamples
| ) |  |

Q31 complex conjugate.

Parameters:

  *pSrc | points to the input vector
  *pDst | points to the output vector
  numSamples | number of complex samples in each vector

Returns:
  none.

Scaling and Overflow Behavior:

  The function uses saturating arithmetic. The Q31 value -1 (0x80000000) will be saturated to the maximum allowable positive value 0x7FFFFFFF.

Definition at line 54 of file arm_cmplx_conj_q31.c.

void arm_cmplx_conj_q15 | ( | q15_t * | pSrc,
|  | q15_t * | pDst,
|  | uint32_t | numSamples
| ) |  |

Q15 complex conjugate.

Parameters:

  *pSrc | points to the input vector
  *pDst | points to the output vector
  numSamples | number of complex samples in each vector

Returns:
  none.

Scaling and Overflow Behavior:

  The function uses saturating arithmetic. The Q15 value -1 (0x8000) will be saturated to the maximum allowable positive value 0x7FFF.

Definition at line 54 of file arm_cmplx_conj_q15.c.

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines