线性插值是一种利用线性多项式的曲线拟合方法。 线性插值在相邻样本之间画一条直线,并返回线上的适当的点。
线性插值
- 为了得到线性插值函数的输出值(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是超过最大范围,则返回表中最后一个值。
- 参数
-
[in] | pYData | 指向Q15线性插值表 |
[in] | x | 需要处理的输入样本 |
[in] | nValues | 表中值的数量 |
- 返回
- y 输出的结果
- 输入样本
x
是 12.20 格式,包括了12位的表索引和20位的小数部分。 函数支持的最大表大小是 2^12.
- 参数
-
[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.