CSI-DSP  Version 1.0.0
CSI DSP Software Library
函数
线性插值

函数

float32_t csky_linear_interp_f32 (csky_linear_interp_instance_f32 *S, float32_t x)
 浮点线性插值处理函数 更多...
 
q15_t csky_linear_interp_q15 (q15_t *pYData, q31_t x, uint32_t nValues)
 Q15 线性插值处理函数 更多...
 
q31_t csky_linear_interp_q31 (q31_t *pYData, q31_t x, uint32_t nValues)
 Q31 线性插值处理函数 更多...
 
q7_t csky_linear_interp_q7 (q7_t *pYData, q31_t x, uint32_t nValues)
 Q7 线性插值处理函数 更多...
 

简要说明

线性插值是一种利用线性多项式的曲线拟合方法。 线性插值在相邻样本之间画一条直线,并返回线上的适当的点。

LinearInterp.gif
线性插值
为了得到线性插值函数的输出值(y), 先要根据(x)得到线性插值的输入 x0, x1( 输入值最接近的值) ,然后得到输出值 y0 和 y1(输出值最接近的值)
算法:
      y = y0 + (x - x0) * ((y1 - y0)/(x1-x0))
      其中  x0, x1 是最接近输入值 x 的值
            y0, y1 是最接近输出值 y 的值
这组函数实现了Q7,Q15,Q31和浮点数据类型的线性插值处理。 函数一次操作一个单独的数据,并且每次调用返回一个单独的处理结果。 S 指向线性插值函数数据结构体实例。 x 是输入样本值,函数返回输出值。
如果 x 低于表中边界,线性插值返回表中第一个值,如果x是超过最大范围,则返回表中最后一个值。

函数说明

float32_t csky_linear_interp_f32 ( csky_linear_interp_instance_f32 S,
float32_t  x 
)
参数
[in,out]S浮点线性插值结构体实例
[in]x需要处理的输入样本
返回
y 输出结果.
示例:
csky_linear_interp_example_f32.c.
q15_t csky_linear_interp_q15 ( q15_t pYData,
q31_t  x,
uint32_t  nValues 
)
参数
[in]pYData指向Q15线性插值表
[in]x需要处理的输入样本
[in]nValues表中值的数量
返回
y 输出的结果
输入样本 x 是 12.20 格式,包括了12位的表索引和20位的小数部分。 函数支持的最大表大小是 2^12.
q31_t csky_linear_interp_q31 ( q31_t pYData,
q31_t  x,
uint32_t  nValues 
)
参数
[in]pYData指向Q31线性插值表
[in]x需要处理的输入样本
[in]nValues表中值的数量
返回
y 输出的结果
输入样本 x 是 12.20 格式,包括了12位的表索引和20位的小数部分。 函数支持的最大表大小是 2^12.
q7_t csky_linear_interp_q7 ( q7_t pYData,
q31_t  x,
uint32_t  nValues 
)
参数
[in]pYData指向Q7线性插值表
[in]x需要处理的输入样本
[in]nValues表中值的数量
返回
y 输出的结果
输入样本 x 是 12.20 格式,包括了12位的表索引和20位的小数部分. 函数支持的最大表大小是 2^12.