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
并进行算数移位shift
。shift
使得所放的倍数能够大于 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 | 向量中元素的数量 |
缩放和溢出时的行为:
*A
和scaleFract
为Q15格式,他们的乘积为Q30格式。 最后结果需要进行饱和移位。