基于头脑风暴优化算法的非线性传感器校正方法技术

技术编号:20448941 阅读:25 留言:0更新日期:2019-02-27 03:01
本发明专利技术涉及一种非线性传感器的校正优化算法,具体涉及基于头脑风暴优化算法的非线性传感器校正方法,通过建立非线性传感器校正数学模型,设定非线性传感器校正数学模型的校正容量约束,设定非线性传感器校正数学模型的适应度函数,并利用非线性传感器校正数学模型、校正容量约束和适应度函数通过头脑风暴优化算法对非线性传感器进行校正;通过本发明专利技术的矫正方法能够通过对局部最优解进行对比得到全局最优解,能够高精度、高速度的计算出校正待定常数组。

Nonlinear sensor calibration method based on brainstorming optimization algorithm

The present invention relates to a correction optimization algorithm for non-linear sensors, in particular to a correction method for non-linear sensors based on brainstorming optimization algorithm. By establishing a correction mathematical model for non-linear sensors, setting the correction capacity constraints of the correction mathematical model for non-linear sensors, setting the fitness function of the correction mathematical model for non-linear sensors, and utilizing non-linear sensors. The calibration mathematical model, the calibration capacity constraint and the fitness function are calibrated by the brainstorming optimization algorithm; the calibration method of the present invention can obtain the global optimal solution by comparing the local optimal solution, and can calculate the calibration undetermined constant group with high accuracy and speed.

【技术实现步骤摘要】
基于头脑风暴优化算法的非线性传感器校正方法
本专利技术涉及一种非线性传感器的校正优化算法,具体涉及基于头脑风暴优化算法的非线性传感器校正方法。
技术介绍
传感器的输入与输出理想情况下是线性关系,但由于环境以及传感器本身等因素影响,很多传感器的输出与输入之间出现非线性关系。为了解决上述问题,通常采用硬件补偿和软件补偿两种方法,但是由于硬件补偿成本较大,故软件补偿较受欢迎。目前主要的软件补偿方法有最小二乘法、函数校正法、BP神经网络法、遗传算法和粒子群算法,其中最小二乘法、函数校正法和BP神经网络法容易陷入局部最优,而遗传算法和粒子群算法在高精度计算过程中耗时更长。因此提出一种更优的非线性传感器校正方法。
技术实现思路
本专利技术的目的在于克服上述存在的问题,设计一种基于头脑风暴优化算法的非线性传感器校正方法,通过本专利技术对非线性传感器校正时具有精度高、速度快的特点。本专利技术的目的是通过下述技术方案来实现的。基于头脑风暴优化算法的非线性传感器校正方法,过程如下:建立非线性传感器校正数学模型;设定非线性传感器校正数学模型的校正容量约束;设定非线性传感器校正数学模型的适应度函数;利用非线性传感器校正数学模型、校正容量约束和适应度函数通过头脑风暴优化算法对非线性传感器进行校正。所述非线性传感器校正数学模型为:z(yi)=a0+a1yi+a2yi2+a3yi3+...+ajyij+...+anyin其中,yi为非线性传感器校正数学模型的输入;z(yi)为非线性传感器校正数学模型的校正输出值;i为非线性传感器测试点数;n的数值由要求的准确度决定;a0、a1、a2...an为待定常数,由所有的待定常数形成待定常数组{a0、a1、a2...an}。所述校正容量约束设定为:ajmin≤aj≤ajmax其中,aj为待定常数,ajmin与ajmax分别为待定常数aj的最大值与最小值,由实验所得。所述适应度函数为:其中,yi为非线性传感器测试点i的输出值,z(yi)为根据建立的非线性传感器校正数学模型计算的传感器值,m为待定常数组的个数。利用非线性传感器校正数学模型、校正容量约束和适应度函数通过头脑风暴优化算法对非线性传感器进行校正的过程包括如下步骤:步骤1,设定头脑风暴优化算法的待定常数组最大的个数、计算精度和最大迭代次数;步骤2,根据校正容量约束产生待定常数:步骤3,根据适应度函数计算各个传感器测试点的适应度值;步骤4,根据适应度函数对迭代过程中已产生的待定常数组进行排序聚类,每个类中选择适应度值最大的作为聚类中心;步骤5,如果在排序聚类过程中产生待定常数组个数达到最大值,则转至步骤6,否则转至步骤2;步骤6,如果在排序聚类过程中达到最大迭代次数,则停止排序聚类,计算每个待定常数组的适应度,输出适应度最大的待定常数组;否则转至步骤2,重复步骤2~步骤5。所述步骤4中,最大聚类数取2。所述步骤2中,根据下式产生待定常数:aj=rand(x)*(ajmax-ajmin)+ajmin其中,rand(x)为[0,1]的随机数,aj为待定常数,ajmin与ajmax分别为待定常数的最大值与最小值。所述步骤2的具体过程如下:步骤1),随机产生一个[0,1]的数值;步骤2),如果步骤1)随机产生的数值比预设值p2小,则进行以下步骤;步骤2.1),随机选择一个类;步骤2.2),随机产生一个0到1间的数值;步骤2.3),如果步骤2.2)随机产生的数值比预设值p3小,则生成临时待定常数组A,将生成的临时待定常数组A与步骤2.1)选择的类的聚类中心合并,产生新的待定常数组L;如果步骤1)随机产生的数值不小于预设值p3,则生成临时待定常数组B,随机取步骤2.1)选择的类中的一个待定常数组C,将待定常数组C和临时待定常数组B合并,产生新的待定常数组L;如果步骤1)随机产生的数值不小于预设值p2,则进行以下步骤;步骤2.4),随机选择两个类;步骤2.5),随机产生一个[0,1]的数值;步骤2.6),如果步骤2.5)随机产生的数值小于预设值p3,将步骤2.4)选取的两个类的聚类中心合并后产生新的待定常数组L;如果步骤2.5)随机产生的数值不小于p3,分别从步骤2.4)选取的两个类中各随机选择一个待定常数组,将选择的两个待定常数组合并产生新的待定常数组L。预设值p2取值0.4~0.7;预设值p3取0.1~0.3。本专利技术与现有技术相比,具有下述有益效果:本专利技术基于头脑风暴优化算法的非线性传感器校正方法通过建立非线性传感器校正数学模型,设定非线性传感器校正数学模型的校正容量约束,设定非线性传感器校正数学模型的适应度函数,并利用非线性传感器校正数学模型、校正容量约束和适应度函数通过头脑风暴优化算法对非线性传感器进行校正;通过本专利技术的矫正方法能够通过对局部最优解进行对比得到全局最优解,能够高精度、高速度的计算出校正待定常数组。附图说明图1是本专利技术的BSO非线性传感器校正系统结构图;图2为本专利技术的BSO非线性传感器校正原理图;图3是本专利技术的BSO算法流程图。具体实施方式下面结合附图及实施例对本专利技术做进一步说明。如图1和图2所示,本专利技术的校正方法所采用的校正系统,包括计算机、CPU和非线性传感器,以及传感器数据采集需要的外围器件:计算机与CPU相连,CPU和非线性传感器相连;该非线性传感器为需要被矫正的传感器;CPU用于采集传感器数据,获取非线性的传感器输出数据,并将非线性的传感器输出数传输给计算机;同时还能够接收计算机传输的数据,并根据该数据以及数学模型计算校正后的传感器数据;计算机用于接收CPU传输的数据,在计算机软件开发环境VS运行校正算法程序,接收传感器数据,将接收的该数据经过头脑风暴优化算法进行处理,得到待定常数组,将待定常数组打包;再将打包后的数据传输给CPU。其中,CPU通过AD转换器与SPI接口与传感器连接,或者CPU通过AD转换器与IIC接口与传感器连接;CPU通过RS232接口、USB接口或网口与计算机连接。参照图3,本专利技术的基于头脑风暴优化算法的非线性传感器校正方法过程如下:建立非线性传感器校正数学模型,该非线性传感器校正数学模型为:z(yi)=a0+a1yi+a2yi2+a3yi3+...+ajyij+...+anyin其中,yi为非线性传感器校正数学模型的输入;z(yi)为非线性传感器校正数学模型的校正输出值;i为非线性传感器测试点数;n的数值由要求的准确度决定;a0、a1、a2...an为待定常数,由所有的待定常数形成待定常数组{a0、a1、a2...an};设定非线性传感器校正数学模型的校正容量约束,校正容量约束设定为:ajmin≤aj≤ajmax其中,aj为待定常数,ajmin与ajmax分别为待定常数aj的最大值与最小值,由实验所得;设定非线性传感器校正数学模型的适应度函数F:其中,yi为非线性传感器测试点i的输出值,z(yi)为根据建立的非线性传感器校正数学模型计算的传感器值,m为待定常数组的个数;利用非线性传感器校正数学模型、校正容量约束和适应度函数通过头脑风暴优化算法对非线性传感器进行校正,其具提包括以下步骤:步骤1,设定头脑风暴优化算法的待定常数组最大的个数、计算精度和最大迭代次数;步骤2,根据校正容量约束产生待定常数,具体根本文档来自技高网...

【技术保护点】
1.基于头脑风暴优化算法的非线性传感器校正方法,其特征在于,过程如下:建立非线性传感器校正数学模型;设定非线性传感器校正数学模型的校正容量约束;设定非线性传感器校正数学模型的适应度函数;利用非线性传感器校正数学模型、校正容量约束和适应度函数通过头脑风暴优化算法对非线性传感器进行校正。

【技术特征摘要】
1.基于头脑风暴优化算法的非线性传感器校正方法,其特征在于,过程如下:建立非线性传感器校正数学模型;设定非线性传感器校正数学模型的校正容量约束;设定非线性传感器校正数学模型的适应度函数;利用非线性传感器校正数学模型、校正容量约束和适应度函数通过头脑风暴优化算法对非线性传感器进行校正。2.根据权利要求1所述的基于头脑风暴优化算法的非线性传感器校正方法,其特征在于,所述非线性传感器校正数学模型为:z(yi)=a0+a1yi+a2yi2+a3yi3+...+ajyij+...+anyin其中,yi为非线性传感器校正数学模型的输入;z(yi)为非线性传感器校正数学模型的校正输出值;i为非线性传感器测试点数;n的数值由要求的准确度决定;a0、a1、a2…an为待定常数,由所有的待定常数形成待定常数组{a0、a1、a2…an}。3.根据权利要求1所述的基于头脑风暴优化算法的非线性传感器校正方法,其特征在于,所述校正容量约束设定为:ajmin≤aj≤ajmax其中,aj为待定常数,ajmin与ajmax分别为待定常数aj的最大值与最小值。4.根据权利要求1所述的基于头脑风暴优化算法的非线性传感器校正方法,其特征在于,所述适应度函数为:其中,yi为非线性传感器测试点i的输出值,z(yi)为根据建立的非线性传感器校正数学模型计算的传感器值,m为待定常数组的个数。5.根据权利要求1所述的基于头脑风暴优化算法的非线性传感器校正方法,其特征在于,利用非线性传感器校正数学模型、校正容量约束和适应度函数通过头脑风暴优化算法对非线性传感器进行校正的过程包括如下步骤:步骤1,设定头脑风暴优化算法的待定常数组最大的个数、计算精度和最大迭代次数;步骤2,根据校正容量约束产生待定常数:步骤3,根据适应度函数计算各个传感器测试点的适应度值;步骤4,根据适应度函数对迭代过程中已产生的待定常数组进行排序聚类,每个类中选择适应度值最大的作为聚类中心;步骤5,如果在排序聚类过程中产生待定常数组个数达到最大值,则转至步骤6,否则转至步骤2;步...

【专利技术属性】
技术研发人员:赵秀谊赵志峰郝东丽徐波
申请(专利权)人:西安航空电子科技有限公司
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1