Complex Conjugate
- RISCV_DSP_ATTRIBUTE void riscv_cmplx_conj_f16 (const float16_t *pSrc, float16_t *pDst, uint32_t numSamples)
- RISCV_DSP_ATTRIBUTE void riscv_cmplx_conj_f32 (const float32_t *pSrc, float32_t *pDst, uint32_t numSamples)
- RISCV_DSP_ATTRIBUTE void riscv_cmplx_conj_q15 (const q15_t *pSrc, q15_t *pDst, uint32_t numSamples)
- RISCV_DSP_ATTRIBUTE void riscv_cmplx_conj_q31 (const q31_t *pSrc, q31_t *pDst, uint32_t numSamples)
- group cmplx_conj
Conjugates the elements of a complex data vector.
The
pSrc
points to the source data andpDst
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 of2*numSamples
values.The underlying algorithm is used:
There are separate functions for floating-point, Q15, and Q31 data types.
Functions
- RISCV_DSP_ATTRIBUTE void riscv_cmplx_conj_f16 (const float16_t *pSrc, float16_t *pDst, uint32_t numSamples)
Floating-point complex conjugate.
- Parameters
pSrc – [in] points to the input vector
pDst – [out] points to the output vector
numSamples – [in] number of samples in each vector
- RISCV_DSP_ATTRIBUTE void riscv_cmplx_conj_f32 (const float32_t *pSrc, float32_t *pDst, uint32_t numSamples)
Floating-point complex conjugate.
- Parameters
pSrc – [in] points to the input vector
pDst – [out] points to the output vector
numSamples – [in] number of samples in each vector
- RISCV_DSP_ATTRIBUTE void riscv_cmplx_conj_q15 (const q15_t *pSrc, q15_t *pDst, uint32_t numSamples)
Q15 complex conjugate.
- Scaling and Overflow Behavior
The function uses saturating arithmetic. The Q15 value -1 (0x8000) is saturated to the maximum allowable positive value 0x7FFF.
- Parameters
pSrc – [in] points to the input vector
pDst – [out] points to the output vector
numSamples – [in] number of samples in each vector
- RISCV_DSP_ATTRIBUTE void riscv_cmplx_conj_q31 (const q31_t *pSrc, q31_t *pDst, uint32_t numSamples)
Q31 complex conjugate.
- Scaling and Overflow Behavior
The function uses saturating arithmetic. The Q31 value -1 (0x80000000) is saturated to the maximum allowable positive value 0x7FFFFFFF.
- Parameters
pSrc – [in] points to the input vector
pDst – [out] points to the output vector
numSamples – [in] number of samples in each vector