CSI-DSP  Version 1.0.0
CSI DSP Software Library
函数
平均值

函数

void csky_mean_f32 (float32_t *pSrc, uint32_t blockSize, float32_t *pResult)
 浮点数组的平均值 更多...
 
void csky_mean_q15 (q15_t *pSrc, uint32_t blockSize, q15_t *pResult)
 Q15数组的平均值. 更多...
 
void csky_mean_q31 (q31_t *pSrc, uint32_t blockSize, q31_t *pResult)
 Q31数组的平均值 更多...
 
void csky_mean_q7 (q7_t *pSrc, uint32_t blockSize, q7_t *pResult)
 Q7数组的平均值 更多...
 

简要说明

计算输入数组的平均值。数组中的所有元素的平均值。 使用下面的算法:

        Result = (pSrc[0] + pSrc[1] + pSrc[2] + ... + pSrc[blockSize-1]) / blockSize;

为浮点,Q31,Q15和Q7数据类型分别提供了不同的函数

函数说明

void csky_mean_f32 ( float32_t pSrc,
uint32_t  blockSize,
float32_t pResult 
)
参数
[in]*pSrc指向输入数组
[in]blockSize输入数组的长度
[out]*pResult返回的平均值
返回
none.
示例:
csky_class_marks_example_f32.c.
void csky_mean_q15 ( q15_t pSrc,
uint32_t  blockSize,
q15_t pResult 
)
参数
[in]*pSrc指向输入数组
[in]blockSize输入数组的长度
[out]*pResult返回的平均值
返回
none.

缩放和溢出行为:

函数实现使用一个内部32位累加器。 输入表示为1.15格式,32位累加器用17.15格式。 因此可以保留所有的精度,不会有溢出风险。 最后,累加器饱和截断生成1.15格式的结果。
void csky_mean_q31 ( q31_t pSrc,
uint32_t  blockSize,
q31_t pResult 
)
参数
[in]*pSrc指向输入数组
[in]blockSize输入数组的长度
[out]*pResult返回的平均值
返回
none.

缩放和溢出行为:

函数实现使用了一个64位内部累加器。 输入表示为1.31格式,累加器的格式是33.31。因此可以保留所有的中间结果精度,不会有溢出风险。 最后,结果截断为1.31格式。
void csky_mean_q7 ( q7_t pSrc,
uint32_t  blockSize,
q7_t pResult 
)
参数
[in]*pSrc指向输入数组
[in]blockSize输入数组的长度
[out]*pResult返回的平均值
返回
none.

缩放和溢出行为:

函数实现使用了一个32位内部累加器。 输入表示为1.7格式,累加器的格式是25.7。因此可以保留所有的中间结果精度,不会有溢出风险。 最后,结果截断为1.7格式。