模拟量校准方法、装置、电子设备及存储介质
文献发布时间:2023-06-19 09:26:02
技术领域
本发明涉及数据处理技术领域,尤其是涉及一种模拟量校准方法、装置、电子设备及存储介质。
背景技术
模拟量采集的前期设计均采用理论设计,而理论设计通常忽略了电路元器件的质量以及采样芯片的精度,然而采样芯片之间存在不可避免的物料差异,导致量产后的芯片产品的性能不及预设效果。
目前,用户是通过查询对应的芯片手册,对ADC进行采集模式的配置,随后对其采样后的编码结果进行读取,并对照编码的规则以及外围电路的设计对采集的结果进行还原,进而获知本次采样的模拟量结果,最后将此结果作为执行某些行为的判断依据,然而这种方法通常由于测量通道间影响造成较大的误差,若只采用同一套不带校准的驱动程序进行模拟量的采集,则会导致产品表现参差不齐,当采集信号越弱,上述情况就越明显。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种模拟量校准方法,能够减少物料差异对采集精度的影响,提高数据处理效率的同时还能减少内存占用。
本发明还提出一种模拟量校准装置。
本发明还提出一种电子设备。
本发明还提出一种计算机可读存储介质。
根据本发明的第一方面实施例的模拟量校准方法,包括:
获取多个模拟量输入值和对应的多个模拟量输出值;
利用所述多个模拟量输入值和所述多个模拟量输出值训练拟合模型得到拟合函数;
根据所述拟合函数计算得到校准结果。
根据本发明第一方面实施例的模拟量校准方法,至少具有如下有益效果:通过获取的多个模拟量输入值和对应的多个模拟量输出值,来训练拟合模型得到拟合函数,根据所得拟合函数进行计算可以得到校准结果,能够减少物料差异对采集精度的影响,提高数据处理效率的同时还能减少内存占用。
根据本发明的一些实施例,所述拟合模型采用以下步骤得到:分别将所述多个模拟量输入值和所述多个模拟量输出值作为待训练拟合模型的输入,获取所述拟合模型输出的实际模拟量;根据所述实际模拟量和所述模拟量输出值计算得到损失值;根据所述损失值对所述待训练拟合模型中的参数进行更新,直至达到预设的收敛条件,将最后更新得到的待训练拟合模型作为所述拟合模型。
根据本发明的一些实施例,所述根据所述拟合函数计算得到校准结果,包括:获取预设输入值和对应的预设输出值;根据所述预设输入值和所述拟合函数进行计算,得到目标输出值;根据所述预设输出值和所述目标输出值计算得到误差值;根据所述误差值进行校准,得到校准结果。
根据本发明的一些实施例,所述根据所述误差值进行校准,得到校准结果,包括:获取多个所述误差值;根据多个所述误差值进行方差计算,得到多个所述目标输出值对应的方差值;根据所述方差值进行校准得到校准结果。
根据本发明的一些实施例,所述获取多个模拟量输入值和对应的多个模拟量输出值,包括:分别根据所述多个模拟量输入值进行编码转换,得到所述模拟量输入值对应的多个所述模拟量输出值。
根据本发明的一些实施例,在所述获取多个模拟量输入值之前,还包括:获取多个样本模拟量;依次根据所述多个样本模拟量进行查表得到所述多个模拟量输入值。
根据本发明的第二方面实施例的模拟量校准装置,包括:
获取模块,用于获取多个模拟量输入值和对应的多个模拟量输出值;
训练模块,用于利用所述多个模拟量输入值和所述多个模拟量输出值训练拟合模型得到拟合函数;
校准模块,用于根据所述拟合函数计算得到校准结果。
根据本发明第二方面实施例的模拟量校准装置,至少具有如下有益效果:通过执行本发明第一方面实施例的模拟量校准方法,能够减少物料差异对采集精度的影响,提高数据处理的效率。
根据本发明第三方面实施例的电子设备,包括:至少一个处理器,以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行所述指令时实现第一方面所述的模拟量校准方法。
根据本发明第三方面实施例的电子设备,至少具有如下有益效果:通过执行本发明第一方面实施例的模拟量校准方法,能够减少物料差异对采集精度的影响,提高数据处理的效率。
根据本发明第四方面实施例的计算机可读存储介质,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行第一方面所述的模拟量校准方法。
根据本发明第四方面实施例的计算机可读存储介质,至少具有如下有益效果:通过执行本发明第一方面实施例的模拟量校准方法,能够减少物料差异对采集精度的影响,提高数据处理的效率。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例的模拟量校准方法的流程示意图;
图2为本发明实施例的模拟量校准装置的结构示意图;
图3为本发明实施例的电子设备的功能模块图。
附图标记:
获取模块200、训练模块210、校准模块220、处理器300、存储器310、数据传输模块320、摄像头330、显示屏340。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
参照图1,根据本发明第一方面实施例的模拟量校准方法,包括:
步骤S100,获取多个模拟量输入值和对应的多个模拟量输出值。
其中,模拟量输入值可以是采集得到的模拟量的数值;模拟量输出值可以是根据模拟量输入值进行转换得到的数值。模拟量输入值可以是多个,进而可以分别根据多个模拟量输入值转换得到对应的多个模拟量输出值。任何需要与外界交互的设备都可以通过传感器获取相关数据,不管是声、光、热、力等各种传感器,都可以转换成对应的模拟量信号(即电压电流)。无论是专用的ADC (Analog-to-Digital Converter的缩写,指模/数转换器或者模数转换器。是指将连续变化的模拟信号转换为离散的数字信号的器件),亦或自带AD采样功能的 CPU,都是通过一个特定的编码方式来存储当前的采样信息。用户通过查询对应的芯片手册,对ADC进行采集模式的配置,随后对其采样后的编码结果进行读取,对照着编码规则以及外围电路的设计对采集的结果进行还原,进而获知本次采样的模拟量结果,最后将此结果作为执行某些行为的判断依据。而对于需要查表的模拟量采集,如常见的温度传感器K型热电偶,常见的分度表涵盖了 -50~1360℃的范围,其μV(微伏级)分度表涵盖了1410个值,为了保持精度一般采用无符号短整形(2字节)来存储,总共需要占用2.75MB的内存。但一般的产品都包含了若干种测温模式,因此实际使用存放分度表的内存将会成模式数量的倍数增长;在精度方面,常见的温度传感器的显示精度大多为0.1℃,因此当查表误差低于0.1℃时,将无法得到准确的采集结果。因而,可以采用软件补偿偏差的方法,以解决上述硬件检测方法致使的物料差异问题。可选的,假设模拟量输入值可以通过查询分度表得到,例如,采集到的传感器电阻值,则所得电阻值即为模拟量输入值。可以根据该电阻值转换得到温度值,即可得到对应的多个模拟量输出值。
步骤S110,利用多个模拟量输入值和多个模拟量输出值训练拟合模型得到拟合函数。
其中,拟合函数可以是选择适当的曲线类型来拟合观测多个模拟量输入值和多个模拟量输出值之间的关系的数学函数;拟合模型可以是用于训练得到拟合函数的数学模型。可选的,可以利用多个模拟量输入值和多个模拟量输出值训练拟合模型,得到拟合模型输出的拟合函数,继而可以根据该拟合函数观测多个模拟量输入值和多个模拟量输出值之间的数学关系。
步骤S120,根据拟合函数计算得到校准结果。
其中,校准结果可以是对模拟量输出值进行校准所得的结果。可选的,拟合函数可以反映多个模拟量输入值和多个模拟量输出值之间的数学关系,因而可以根据拟合函数和模拟量输入值得到理想的模拟量输出值,可以将所得的理想的模拟量输出值与转换得到的模拟量输出值进行比对,由此可以得到理想值与转换值之间的误差,根据此误差进行校准即可得到校准结果。
上述模拟量校准方法,通过获取的多个模拟量输入值和对应的多个模拟量输出值,来训练拟合模型得到拟合函数,根据所得拟合函数进行计算可以得到校准结果,能够减少物料差异对采集精度的影响,提高数据处理效率的同时还能减少内存占用。
在本发明的一些实施例中,拟合模型采用以下步骤得到:
分别将多个模拟量输入值和多个模拟量输出值作为待训练拟合模型的输入,获取拟合模型输出的实际模拟量。其中,待训练拟合模型可以是需要进行训练的拟合模型;实际模拟量可以是根据待训练拟合模型得到的模拟量输入值对应的实际输出数值。可选的,由于待训练拟合模型输出的值不一定为理想输出值,所以需要获取待训练拟合模型输出的实际模拟量,该实际模拟量可以用于与理想的输出值进行比对,进而可以根据比对结果调整待训练拟合模型的权重。
根据实际模拟量和模拟量输出值计算得到损失值。其中,损失值可以是用于表示实际模拟量与模拟量输出值之间的误差的数值。可选的,可以将模拟量输出值B作为理想的输出值,假设实际模拟量为C,则可以将B与C进行比对计算得到损失值,可以将该损失值用于训练待训练拟合模型。
根据损失值对待训练拟合模型中的参数进行更新,直至达到预设的收敛条件,将最后更新得到的待训练拟合模型作为拟合模型。可选的,可以根据损失值对待训练拟合模型进行训练,例如可以采用BP算法(Back Propagation,是一种按误差逆传播算法训练的多层前馈网络),并根据损失值对待训练拟合模型中的参数w和b进行调整,假设可以通过下列公式对w和b进行调整:
其中,Y可以是拟合函数,x可以是拟合函数的自变量(即模拟量输入值), tansig为tansig函数,purline为purline函数,由此可以训练得到误差较小、精度较高的拟合模型,加快了数据处理速度。
在本发明的一些实施例中,根据拟合函数计算得到校准结果,包括:
获取预设输入值和对应的预设输出值。其中,预设输入值可以是预先设置的拟合函数的输入值;预设输出值可以是预设输入值对应的理想的拟合函数输出值。可选的,预设输出值可以根据需求设置。例如,假设预设输入值为x
根据预设输入值和拟合函数进行计算,得到目标输出值。其中,目标输出值可以是将预设输入值输入拟合函数后,拟合函数的实际输出值。可选的,假设拟合函数为y(x),假设预设输入值为x
根据预设输出值和目标输出值计算得到误差值。其中,误差值可以是预设输出值和目标输出值之间的误差数值。由于实际输出值与理想输出值之间存在差异,所以可以计算二者之间的误差值来表示上述差异。可选的,假设预设输出值为y’=0℃,假设目标输出值为y
根据误差值进行校准,得到校准结果。可选的,可以根据该误差值对模拟量进行校准,即根据该误差值对目标输出值进行修正,使得目标输出值达到能够接受的容错范围内,得到补偿偏差的校准结果。通过计算预设输出值和目标输出值之间的误差值,并根据该误差值进行校准,得到准确的校准结果,减少查表操作,实现软件的补偿偏差,避免了硬件的测量通道间对校准的影响。
在本发明的一些实施例中,根据误差值进行校准,得到校准结果,包括:
获取多个误差值。可选的,每个目标输出值可以对应一个误差值,则可以分别获取每个目标输出值对应的误差值,由此可以得到多个误差值。例如,假设目标输出值为y
根据多个误差值进行方差计算,得到多个目标输出值对应的方差值。可选的,可以根据分别得到的每个预设输入值对应的误差值,计算得到多个误差值的方差。例如,假设所得误差值分别为f
从而可以得到多个目标输出值的整体方差值v,则可以将上述方差v用于校准,从而可以消除该不确定的误差。
根据方差值进行校准得到校准结果。可选的,可以根据多个目标输出值的整体方差进行校准,以消除误差,假设计算得到的方差值v对目标输出值进行修正,使得目标输出值达到能够接受的容错范围内,得到补偿偏差的校准结果。通过多个误差值计算得到多个目标输出值的整体方差值,并根据该方差值进行校准得到校准结果,可以实现软件的补偿偏差,减少查表操作,使得校准结果更精确。
在本发明的一些实施例中,获取多个模拟量输入值和对应的多个模拟量输出值,包括:
分别根据多个模拟量输入值进行转换,得到模拟量输入值对应的多个模拟量输出值。可选的,假设模拟量输入值为电阻,分别为r
在本发明的一些实施例中,在获取多个模拟量输入值之前,还包括:
获取多个样本模拟量。其中,样本模拟量可以是采集得到的数值,例如电阻值。可选的,假设可以通过Ni120传感器采样得到传感器电阻值,则可以将该传感器电阻值作为样本模拟量,即可得到多个样本模拟量。
依次根据多个样本模拟量进行查表得到多个模拟量输入值。可选的,可以通过查询分度表分别得到多个模拟量输入值。例如,假设分度表为Ni120传感器对应的采样表,则可以根据采集到的传感器电阻值(即样本模拟量)查询采样表,进而得到对应的多个电阻值,或多个温度值,或多个电压值,即得到多个模拟输入值量。通过获取的多个样本模拟量进行查表得到多个模拟量输入值,可以加快数据处理速度。
参照图2,根据本发明第二方面实施例提出的模拟量校准装置,包括:
获取模块200,用于获取多个模拟量输入值和对应的多个模拟量输出值;
训练模块210,用于利用多个模拟量输入值和多个模拟量输出值训练拟合模型得到拟合函数;
校准模块220,用于根据拟合函数计算得到校准结果。
在本发明的一些实施例中,拟合模型采用以下步骤得到:获取模块200还用于分别将多个模拟量输入值和多个模拟量输出值作为待训练拟合模型的输入,获取拟合模型输出的实际模拟量;获取模块200还用于根据实际模拟量和模拟量输出值计算得到损失值;训练模块210还用于根据损失值对待训练拟合模型中的参数进行更新,直至达到预设的收敛条件,将最后更新得到的待训练拟合模型作为拟合模型。
在本发明的一些实施例中,根据拟合函数计算得到校准结果,包括:获取模块200还用于获取预设输入值和对应的预设输出值;获取模块200还用于根据预设输入值和拟合函数进行计算,得到目标输出值;获取模块200还用于根据预设输出值和目标输出值计算得到误差值;校准模块220还用于根据误差值进行校准,得到校准结果。
在本发明的一些实施例中,根据误差值进行校准,得到校准结果,包括:获取模块200还用于获取多个误差值;获取模块200还用于根据多个误差值进行方差计算,得到多个目标输出值对应的方差值;校准模块220还用于根据方差值进行校准得到校准结果。
在本发明的一些实施例中,获取多个模拟量输入值和对应的多个模拟量输出值,包括:获取模块200还用于分别根据多个模拟量输入值进行转换,得到模拟量输入值对应的多个模拟量输出值。
在本发明的一些实施例中,在获取多个模拟量输入值之前,还包括:获取模块200还用于获取多个样本模拟量;获取模块200还用于依次根据多个样本模拟量进行查表得到多个模拟量输入值。
参照图3,本发明第三方面实施例还提供了一种电子设备内部结构图,包括:至少一个处理器300,以及与至少一个处理器300通信连接的存储器310;还可以包括数据传输模块320、摄像头330、显示屏340。
其中,处理器300通过调用存储器310中存储的计算机程序,用于执行第一方面实施例中的模拟量校准方法。
存储器作为一种非暂态存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序,如本发明第一方面实施例中的模拟量校准方法。处理器通过运行存储在存储器中的非暂态软件程序以及指令,从而实现上述第一方面实施例中的模拟量校准方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储执行上述第一方面实施例中的模拟量校准方法。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现上述第一方面实施例中的模拟量校准方法所需的非暂态软件程序以及指令存储在存储器中,当被一个或者多个处理器执行时,执行上述第一方面实施例中的模拟量校准方法。
本发明第四方面实施例还提供了计算机可读存储介质,存储有计算机可执行指令,该计算机可执行指令用于:执行第一方面实施例中的模拟量校准方法。
在一些实施例中,该存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,例如,被第三方面实施例的电子设备中的一个处理器执行,可使得上述一个或多个处理器执行上述第一方面实施例中的模拟量校准方法。
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
- 模拟量校准方法、装置、电子设备及存储介质
- 一种用于模拟量校准的校准函数关系获取方法及装置