CMSIS-DSP: Complex Conjugate

| CMSIS-DSP Version 1.5.2 CMSIS DSP Software Library

- Main Page
- Usage and Description
- Reference

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions
Complex Conjugate
Complex Math Functions

## Functions
void | arm_cmplx_conj_f32 (float32_t *pSrc, float32_t *pDst, uint32_t numSamples)
| Floating-point complex conjugate. More...
void | arm_cmplx_conj_q15 (q15_t *pSrc, q15_t *pDst, uint32_t numSamples)
| Q15 complex conjugate. More...
void | arm_cmplx_conj_q31 (q31_t *pSrc, q31_t *pDst, uint32_t numSamples)
| Q31 complex conjugate. More...

## 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
| ) |  |

Parameters

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

Returns
  none.

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

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.

References __QASX(), __QSAX(), and __SIMD32.

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

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.

References __QSUB().