CSI-DSP  Version 1.0.0
CSI DSP Software Library
函数
复数幅度平方

函数

void csky_cmplx_mag_squared_f32 (float32_t *pSrc, float32_t *pDst, uint32_t numSamples)
 浮点复数幅度平方 更多...
 
void csky_cmplx_mag_squared_q15 (q15_t *pSrc, q15_t *pDst, uint32_t numSamples)
 Q15 复数幅度平方 更多...
 
void csky_cmplx_mag_squared_q31 (q31_t *pSrc, q31_t *pDst, uint32_t numSamples)
 Q31 复数幅度平方 更多...
 

简要说明

计算复数向量元素的幅度平方.

pSrc 指向源数据, pDst 指向结果写入的地址. numSamples 指定复数元素的个数,复数数据是交错方式保存的 (real, imag, real, imag, ...). 输入向量总共有 2*numSamples 个值; 输出向量总共有 numSamples 个值.

使用的算法如下:

for(n=0; n<numSamples; n++) {
    pDst[n] = pSrc[(2*n)+0]^2 + pSrc[(2*n)+1]^2;
}

为浮点,Q15和Q31三种类型都提供了不同的函数.

函数说明

void csky_cmplx_mag_squared_f32 ( float32_t pSrc,
float32_t pDst,
uint32_t  numSamples 
)
参数
[in]*pSrc指向输入的复数向量
[out]*pDst指向输出的向量
[in]numSamples输入向量中的复数数量
返回
none.
void csky_cmplx_mag_squared_q15 ( q15_t pSrc,
q15_t pDst,
uint32_t  numSamples 
)
参数
*pSrc指向复数输入向量
*pDst指向输出向量
numSamples输入向量中的复数数量
返回
none.

缩放和溢出时的行为:

函数实现了 1.15 和 1.15 的乘法,最后将结果转换为3.13 格式输出.
void csky_cmplx_mag_squared_q31 ( q31_t pSrc,
q31_t pDst,
uint32_t  numSamples 
)
参数
*pSrc指向复数输入向量
*pDst指向输出向量
numSamples输入向量中的复数数量
返回
none.

缩放和溢出时的行为:

函数实现了 1.31 和 1.31 的乘法,最后转换成3.29格式输出. 输入不需要向下缩放.