CSI-DSP
Version 1.0.0
CSI DSP Software Library
|
函数 | |
void | csky_cmplx_mult_cmplx_f32 (float32_t *pSrcA, float32_t *pSrcB, float32_t *pDst, uint32_t numSamples) |
浮点复数乘法 更多... | |
void | csky_cmplx_mult_cmplx_q15 (q15_t *pSrcA, q15_t *pSrcB, q15_t *pDst, uint32_t numSamples) |
Q15 复数相乘 更多... | |
void | csky_cmplx_mult_cmplx_q31 (q31_t *pSrcA, q31_t *pSrcB, q31_t *pDst, uint32_t numSamples) |
Q31 复数乘法 更多... | |
将一个复向量与另一个复向量相乘,并生成复数结果. 复数向量中数据是交错方式保存的 (real, imag, real, imag, ...). 参数 numSamples
表示复数元素的数量. 复数向量总共有 2*numSamples
个值
使用的算法如下:
for(n=0; n<numSamples; n++) { pDst[(2*n)+0] = pSrcA[(2*n)+0] * pSrcB[(2*n)+0] - pSrcA[(2*n)+1] * pSrcB[(2*n)+1]; pDst[(2*n)+1] = pSrcA[(2*n)+0] * pSrcB[(2*n)+1] + pSrcA[(2*n)+1] * pSrcB[(2*n)+0]; }
为浮点,Q15和Q31三种类型都提供了不同的函数.
void csky_cmplx_mult_cmplx_f32 | ( | float32_t * | pSrcA, |
float32_t * | pSrcB, | ||
float32_t * | pDst, | ||
uint32_t | numSamples | ||
) |
[in] | *pSrcA | 指向第一个输入向量 |
[in] | *pSrcB | 指向第二个输入向量 |
[out] | *pDst | 指向输出向量 |
[in] | numSamples | 向量中的复数元素个数 |
[in] | *pSrcA | 指向第一个输入向量 |
[in] | *pSrcB | 指向第二个输入向量 |
[out] | *pDst | 指向输出向量 |
[in] | numSamples | 向量中的复数元素数量 |
缩放和溢出时的行为: