CSI-DSP  Version 1.0.0
CSI DSP Software Library
函数

函数

q31_t csky_dsp_lib_pow_int32 (q31_t arg_in_x, q15_t arg_exp_in_x, q31_t arg_in_y, q15_t arg_exp_in_y, q31_t *arg_exp_out)
 双精度数指数函数快速逼近 更多...
 

简要说明

这个组只有一个函数,是以任意值为底的指数函数。计算指数函数的常用方法 有多项逼近法和查表法。这是一个近似双精度版本,输入和输出值的指数和尾数 部分都被分离了。

函数说明

q31_t csky_dsp_lib_pow_int32 ( q31_t  arg_in_x,
q15_t  arg_exp_in_x,
q31_t  arg_in_y,
q15_t  arg_exp_in_y,
q31_t arg_exp_out 
)
参数
[in]arg_in_x输入底数的尾数部分
[in]arg_exp_in_x输入底数的指数部分
[in]arg_in_y输入指数的底数部分
[in]arg_exp_in_y输入指数的指数部分
[out]arg_exp_out结果的的指数部分
返回
结果的尾数部分

函数的实现基于变化

 x^y = e^(y*log(x))

实现步骤如下:

  1. 首先,根据x的范围,用级数展开或者查表来计算log(x)的值。
  2. 然后,通过e^(x+xx)计算e^(y*log(x))的值,在e^(x+xx)函数中, x的范围不同,会有不同的计算方法。
  3. 最后,是对一些特殊情况的处理。