第8.6节 测量误差拟合
我们在前面谈到过,传感器自身的变换关系可能会存在着非线性,信号调理电路本身也可能存在着非线性等等因素(桥路),这样将导致测量结果会存在一些固定的偏差(注意这里强调的是固定的偏差),与我们的期待值不相吻合,至少看起来很不舒服。
比如:M系列数据采集卡在校准前可能就存在着一定的固定偏差。在相关文献中介绍了M系列采集卡采用的校准技术是多项式拟合,这种多项式拟合的校准方法较E系列采集卡的线性校准方式有了很大的改进和提高。这是因为M系列板卡在各个方面的性能很优越,测量结果的稳定性也非常好(也就是上面所说的固定偏差)所以完全可以通过这种多项式拟合的校准技术来提高M系列板卡的整体技术性能。
问题是我们是否可以也采用这种方法来提高测量结果的准确度呢?答案是可以的!下面我们就来介绍一种误差拟合的实用方法。
在介绍这种方法之前,我还要重申一下:对于测量结果一定是存在一些固定的偏差,并且这个偏差在多次重复测量或长期测量过程中都呈现出比较一致的结果(具有长期的稳定性,或者说是系统偏差存在)。只有满足这样的条件我们才可以进行误差拟合,也就是必须有一定的测量评估过程。否者,可能导致更大的测量偏差产生(越修正结果越混乱)。
这个vi来自NI的例程。我仅对界面做了汉化处理,经在应力测量单元实际使用效果非常理想。为了在下面的章节中能够继续使用,我将以项目的方式来介绍这个vi。在下面可以下载这个项目(LabVIEW8.6版)。
_.rar | |
File Size: | 37 kb |
File Type: | rar |
曲线拟合项目
下载后解压该文件,既可以获得曲线拟合的这个项目,在项目中运行“Regression Solver.vi“。如例图所示。
程序的前面版图如下图所示。
下面就根据例图上红色的标记来解释一下各个部件的功能和用法:
1、原始测量数据
这里放置我们已经获得的稳定的原始测量数据(5、选择输入数据方式下)这个数据尽可能的多些
2、期待获得的结果
这里放置我们所期待的最终的测量显示结果(5、选择输入数据方式下)
3、拟合后的数据
这里显示目前条件下的拟合结果
4、原始测量数据和拟合曲线
这里用图形显示方式给出原始测量数据及拟合结果
5、数据来源
这是一个选项控件,它有三个选择项:输入数据、从文件读数据和将数据写入文件
6、拟合后的残差值
这是一个数值指示器,用来显示当前参数下拟合的残差值,用于评估拟合结果
7、拟合方式
这是一个选项控件,它有三个选择项:线性、多项式和指数
8、方程的阶数
这是一个数值选择控件,用来选择多项式的阶数,阶数越高拟合效果越好
9、精度位数
这是一个数值选择控件,用来选择多项式系数的精度位数
10、拟合方程式
这是一个字符串显示器,用来显示当前参数下的多项式方程式
11、提示栏
提示选择操作是否正确
12、STOP开关
停止程序运行
上面例图的说明
上面的例图是在多项式为2阶时的拟合结果,你可以逐渐增加阶数,当阶数达到5阶时,拟合的结果与我们的期待值是一样的。此时,可以减少精度位数,你会发现拟合结果与多项式的精度位数关系不大。
如何使用方程式
当我们获得了拟合的多项式方程,如何使用它呢?很简单,在原来在你的应用程序中显示测量结果的显示器前面利用“公式”函数将修正前的数据连接到公式输入端,将公式的输出端接到测量结果显示器就可以了。
通俗的讲就是将输入数据做了个多项式运算,运算结果在输出到显示单元。
使用中的注意事项
1、原始数据一定要保证稳定多次测量结果不变(最重要的前提,我们多次强调)
2、原始测量数据点尽可能的多些
3、该程序也可以用于线性、指数特性的拟合
4、重新做拟合时,必须将原来的拟合公式删掉,否则将是公式串联公式
5、当应用程序按此方程式运行,打包后不能更改。如果要想更改还必须添加一些复杂的管理程序
6、数据文件格式可以通过先输出一个数据文件来查看
在实际使用中也可以作为板卡的校准拟合方法,特别是RIO模块的校准(否则要返美国NI完成校准)。保存好这个项目,下一单元将利用该项目讨论应用程序发布的问题。