折线 算法(C语言)
- 格式:docx
- 大小:33.68 KB
- 文档页数:2
折线算法:
折线算法大多应用于非线性设备校准,例如压力传感器、扭矩传感器等等,理想的传感器,
我们都希望出厂时,输出的信号和受到的力呈线性关系,但实际上,受到硬件条件限制,大
多产品输出信号曲线与理想值有很大偏差,这时就需要将传感器进行软件校准,本文介绍的
方法是折线算法,即将传感器输出的实际信号,进行分段,每一段的输出数值跟理想线性数
值做映射,使实际输出的数值与理想值无限贴近,分段越多,处理后的数据与理想值越贴近,
具体根据自己实际项目的精度要求,进行分段,下面给出划分20段的例子程序,可根据自
己的要求,进行划分修改。
折线算法示意图
if((uint16_t)wt_buf[68]==1) //折线运算开关
{
if(torque>=cc[0]&&torque
else if(torque>=cc[1]&&torque
else if(torque>=cc[2]&&torque
else if(torque>=cc[3]&&torque
else if(torque>=cc[4]&&torque
else if(torque>=cc[5]&&torque
else if(torque>=cc[6]&&torque
else if(torque>=cc[7]&&torque
else if(torque>=cc[8]&&torque
else if(torque>=cc[9]&&torque
else if(torque>=cc[10]&&torque
else if(torque>=cc[11]&&torque
else if(torque>=cc[12]&&torque
else if(torque>=cc[13]&&torque
else if(torque>=cc[14]&&torque<=cc[15])
torque = bb[14]+((torque-cc[14])/(cc[15]-cc[14]))*(bb[15]-bb[14]);
else if(torque>=cc[15]&&torque
else if(torque>=cc[16]&&torque
else if(torque>=cc[17]&&torque
else if(torque>=cc[18]&&torque
else if(torque>=cc[19]&&torque
}