|
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格式。 最后结果需要进行饱和移位。