|
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 | 向量中的复数元素数量 |
缩放和溢出时的行为: