CSI-DSP  Version 1.0.0
CSI DSP Software Library
函数

函数

void csky_dsp_lib_vec_scale_q15 (q15_t *A, q15_t scaleFract, int8_t shift, q15_t *C, uint32_t N)
 Q15 向量缩放 更多...
 
void csky_dsp_lib_vec_scale_q31 (q31_t *A, q31_t scaleFract, int8_t shift, q31_t *C, uint32_t N)
 Q31 向量缩放 更多...
 

简要说明

缩放意味着向量每个元素乘以一个标量值。对于浮点数,处理算法为:

    Result = Src * scale.

而对于定点数scale 被表示为乘以一个小数scaleFract 并进行算数移位shiftshift使得所放的倍数能够大于 1。它的算法为

    *(C+i) = (*(A+i) * scaleFract) << shift,   0 <= i < N.

定点数的整体缩放倍数为:

    scale = scaleFract * 2^shift.

支持Q15和Q31数据格式。

函数说明

void csky_dsp_lib_vec_scale_q15 ( q15_t A,
q15_t  scaleFract,
int8_t  shift,
q15_t C,
uint32_t  N 
)
参数
[in]*A指向输入缓存
[in]scaleFactor小数乘子
[in]shift移位数
[out]*C指向输出缓存
[in]N向量中元素的数量
返回
none

缩放和溢出时的行为:

输入数据*AscaleFract为Q15格式,他们的乘积为Q30格式。 最后结果需要进行饱和移位。
void csky_dsp_lib_vec_scale_q31 ( q31_t A,
q31_t  scaleFract,
int8_t  shift,
q31_t C,
uint32_t  N 
)
参数
[in]*A指向输入缓存
[in]scaleFactor小数乘子
[in]shift移位数
[out]*C指向输出缓存
[in]N向量中元素的数量
返回
none

缩放和溢出时的行为:

输入数据*AscaleFract为Q31格式,他们的乘积为Q62格式。 最后结果需要进行饱和移位。