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

函数

void csky_cmplx_mag_f32 (float32_t *pSrc, float32_t *pDst, uint32_t numSamples)
 浮点向量幅度. 更多...
 
void csky_cmplx_mag_q15 (q15_t *pSrc, q15_t *pDst, uint32_t numSamples)
 Q15 复数幅度 更多...
 
void csky_cmplx_mag_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] = sqrt(pSrc[(2*n)+0]^2 + pSrc[(2*n)+1]^2);
}

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

函数说明

void csky_cmplx_mag_f32 ( float32_t pSrc,
float32_t pDst,
uint32_t  numSamples 
)
参数
[in]*pSrc指向复数输入向量
[out]*pDst指向输出向量
[in]numSamples输入向量的复数元素个数
返回
none.
示例:
csky_fft_bin_example_f32.c.
void csky_cmplx_mag_q15 ( q15_t pSrc,
q15_t pDst,
uint32_t  numSamples 
)
参数
*pSrc指向复数输入向量
*pDst指向输出向量
numSamples输入向量的复数元素个数
返回
none.

缩放和溢出时的行为:

函数实现 1.15 和 1.15 的乘法,最后输出转换成2.14格式。 当实部和虚部都是0x8000时,中间过程可能溢出。
void csky_cmplx_mag_q31 ( q31_t pSrc,
q31_t pDst,
uint32_t  numSamples 
)
参数
*pSrc指向复数输入向量
*pDst指向输出向量
numSamples输入向量中的复数元素数量
返回
none.

缩放和溢出时的行为:

函数实现 1.31 和 1.31 乘法,最后输出的结果转换为2.30格式. 输入不需要向下缩放.