一种校正测量数据的方法及装置与流程

文档序号:11236482阅读:762来源:国知局
一种校正测量数据的方法及装置与流程

本发明属于电子技术领域,尤其涉及一种校正测量数据的方法及装置。



背景技术:

模数转换器(anologdigitalconverter,adc)是电路设计中常用的元器件,其作用是将连续的模拟量转换为离散的数字信号,理想的adc设计电路的输入值与理论输出电压值是一致的且呈线性变化,但由于元器件误差、系统噪声以及器件老化等原因,adc的实际输出电压值与理论输出电压值存在较大的误差,且整个输入与输出范围内呈非线性变化,因此在高精度模拟信号测量中,需对adc的输出值做校正。

现有技术中,用于提高adc测量精度的方法主要有以下两种方式:

第一种方式为模拟校正,即增加额外的电路去控制adc器件,模拟校正的方法需增加额外的硬件资源,从而增加了测试成本;

第二种方式为数字校正,即对adc采集后的数据用算法校正,适用于adc在整个输入和输出范围内呈线性变化,然而当该范围非线性时,校正运算出的结果也会因此出现较大的误差,造成校正失败。



技术实现要素:

本发明提供一种校正测量数据的方法及装置,通过对adc输出的数据进行多段线性数据范围的划分,并计算得到每段数据范围对应的校正参数,之后根据校正参数校正adc输出的数据,用以提高adc的测量精度。

本发明提供的一种校正测量数据的方法,包括:

当接收到主控制器的启动命令时,使能模数转换器将模拟测量数据转换为数字数据,将所述数字数据划分为预置数量的多段数据范围,并根据输入所述模数转换器的已知标准电压,以及所述已知标准电压对应的理论输出电压值和实际输出电压值,得到与每段所述数据范围对应的校正系数;按照所述校正系数校正所述数字数据。

本发明提供的一种校正测量数据的装置,包括:

使能模块,用于当接收到主控制器的启动命令时,使能模数转换器将模拟测量数据转换为数字数据;划分模块,用于将所述数字数据划分为预置数量的多段数据范围;计算模块,用于根据输入所述模数转换器的已知标准电压,以及所述已知标准电压对应的理论输出电压值和实际输出电压值,得到与每段所述数据范围对应的校正系数;校正模块,用于按照所述校正系数校正所述数字数据。

从上述本发明实施例可知,通过adc将模拟测量数据转换为数字数据,将adc输出的该数字数据进行多段线性数据范围的划分,将adc输出非线性数据范围微分为多段近似线性数据范围,并计算得到每段数据范围对应的校正参数,之后根据校正参数校正adc输出的数据,以此校正adc输出的非线性数据的误差,提高adc输出信号的精度,从而进一步提高adc的测量精度。在不增加设备成本的基础上,解决了现有技术中对非线性数据的误差校正效果差的问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付 出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例中校正测量数据的方法的应用场景示意图;

图2是本发明第一实施例提供的校正测量数据的方法的实现流程示意图;

图3是本发明第二实施例提供的校正测量数据的方法的实现流程示意图;

图4是本发明实施例中系数存储单元存储校正系数的示意图;

图5是本发明第三实施例提供的校正测量数据的装置的结构示意图;

图6是本发明第四实施例提供的校正测量数据的装置的结构示意图。

具体实施方式

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供的校正测量数据的方法,可应用于校正模数转换器输出的非线性数据相对于理论输出数据的误差,请参阅图1,主控制器10和校正装置20通过通用串行总线(usb,universalserialbus)方式、wifi方式,或者其他有线、无线的方式相连接,二者之间可进行数据交换。同样的,校正装置20与adc30相连接,可以进行数据交换。

其中,主控制器10,用于向校正装置20发动启动命令,以使校正装置20开始工作,对adc30输出的数据进行校正。

校正装置20,用于当接收到主控制器10的启动命令时,使能adc30将模拟测量数据转换为数字数据,并将该数字数据进行滤波,以滤除该数字数据中的噪声数据,具体可以是滤除其中的高频噪声数据,并将滤波后得到的数据划分为预置数量的多段数据范围,再根据输入该模数转换器的已知标准电压,以 及该已知标准电压对应的理论输出电压值和实际输出电压值,得到与每段该数据范围对应的校正系数,进一步地,按照该校正系数校正滤波后得到的数据,并将校正后得到的数据传回主控制器10,在主控制器10上显示该校正后得到的数据。

具体地,校正装置20可以进一步划分为多个模块,包括数据采集模块,数据滤波模块,地址产生模块,预处理模块,系数存储模块,计算单元模块等等。

该数据采集模块,可用于采集经adc30转换的数据;该数据滤波模块,可用于将该数据进行滤波;地址产生模块,可用于根据滤波后得到的数据产生校正系数存储地址;预处理模块,可用于产生校正系数,并将其存入该系数存储模块;该系数存储模块,可用于存储校正系数;该计算单元模块,还用于获取到校正系数以及滤波后得到的数据后,根据校正系数校正滤波后得到的数据。

adc30,用于接收校正装置20的指令,将输入adc30的模拟测试数据转换为数字数据,也即,将模拟测试信号转换为数字信号。

上述主控制10、校正装置20以及adc30实现上述功能的具体实现过程,请参见下述各实施例的描述。

请参阅图2,图2为本发明第一实施例提供的校正测量数据的方法的实现流程示意图,可应用于图1所示的校正装置20中,主要包括以下步骤:

201、当接收到主控制器的启动命令时,使能模数转换器将模拟测量数据转换为数字数据;

校正装置接收来自主控制器的启动命令,并根据该启动命令触发对adc输出的数据进行校正。

当接收到主控制器的启动命令时,使能adc将输入该adc的模拟测量数据转换为数字数据。本实施例中,adc位宽为n比特,使能adc转换,将模拟测量数据转换为数字数据后,按照系统预先规定的接口协议,从预先指定的adc接口将该数字数据读回。若该adc接口为串行总线,例如为串行外围设 备接口(spi,serialperipheralinterface)总线,则需将该数字数据进行串并转换,最终得到n比特的数字数据。

202、将该数字数据划分为预置数量的多段数据范围,并根据输入该模数转换器的已知标准电压以及与该已知标准电压对应的理论输出电压值和实际输出电压值,得到与每段数据范围的数据对应的校正系数;

将adc转换后的数字数据细微地划分为预置数量的多段数据范围,使得划分后的多段数据范围为近似线性曲线。将数据划分为多段线性数据,之后再进行分段对应校正,可以达到提高校正精度的目的。

根据输入该adc的已知标准电压,以及与该已知标准电压对应的理论输出电压值和实际输出电压值,得到与每段数据范围的数据对应的校正系数,校正系数分为两组,因此,每段数据范围的数据对应两组校正系数。

204、按照校正系数校正该数字数据。

按照每段数据范围的数据对应的校正系数,校正该转换后的数字数据,并将校正后得到的数据传回该主控制器,在主控制器上显示校正后的数据,或者通过主控制器连接的显示设备显示校正后的数据。

本发明实施例中,通过adc将模拟测量数据转换为数字数据,将adc输出的该数字数据进行多段线性数据范围的划分,将adc输出非线性数据范围微分为多段近似线性数据范围,并计算得到每段数据范围对应的校正参数,之后根据校正参数校正adc输出的数据,以此校正adc输出的非线性数据的误差,提高adc输出信号的精度,继而进一步提高adc的测量精度。在不增加设备成本的基础上,解决了现有技术中对非线性数据的误差校正效果差的问题。

请参阅图3,图3为本发明第二实施例提供的校正测量数据的方法的实现流程示意图,可应用于图1所示的校正装置20中,包括以下步骤:

301、当接收到主控制器的启动命令时,使能模数转换器将模拟测量数据转换为数字数据;

302、将该数字数据进行滤波,以滤除该数字数据中的噪声数据;

通常使用低通滤波器实现滤波。常用的低通滤波器包括:有限长单位冲激响应(fir,finiteimpulseresponse)滤波器和无限长脉冲响应(iir,infiniteimpulseresponse)滤波器。从性能上来说,iir滤波器可用较低的滤波器阶数获得较高的滤波效果,所用的存贮单元少,经济而效率高,但是这个高效率是以相位的非线性为代价的。相反的,fir滤波器却可以得到严格的线性相位,然而由于fir滤波器传输函数的极点固定在原点,所以只能用较高的阶数达到高的滤波效果。此处的滤波器选择可根据系统设计需求而定,例如,采集信号不关心相位关系(如直流信号)且系统资源比较紧张,可以选用iir滤波器,反之则可以选用fir滤波器。

本发明实施例优选fir滤波器,通过fir滤波器将数字数据进行滤波,以滤除数字数据中的高频噪声数据。通过滤波,进一步滤除可能影响到计算结果的无用数据,从而提高数据校正的精度。

303、将滤波后得到的数据划分为2m段数据范围;

滤波后得到的数据为非线性数据,将其划分为2m段数据范围后,使得划分后的2m段数据范围都近似为线性数据范围。即,将非线性数据划分为多段线性数据,之后再进行分段对应校正,以达到提高校正精度的目的。

304、从该模数转换器的输入端输入已知标准电压;

根据输入adc的已知标准电压vi以及与vi对应的理论输出电压值x和实际输出电压值y,得到与每段数据范围的数据对应的校正系数。已知标准电压vi是根据adc的最大输入电压设置的,该最大输入电压为已知值。

具体的,用vi表示该已知标准电压,vi与该adc的最大输入电压vref有关,则已知标准电压vi与adc的最大输入电压vref的关系为:

vi=vref/2m(2m-n)

其中,0≤n≤2m,n的初始值为2m;m>0。

当n的初始值为2m时,vi=0,n值逐渐递减,当n=2m时,vi=vref。

305、按照该模数转换器的理想性能参数,计算得到与该已知标准电压对应的该模数转换器的理论输出电压值,以及,读取该模数转换器输出端输出的与该已知标准电压对应的实际输出电压值;

该adc的理想性能参数,是指adc将模拟数据转换为数字数据后,该数字数据没有误差。

根据adc的理想性能参数和该已知标准电压,计算得到与该已知标准电压对应的理论输出电压值x。

读取adc输出端输出的与该已知标准电压对应的实际输出电压值y。

上述vi、vref、x、y之间的关系请参见下表:

306、根据理论输出电压值和实际输出电压值,按照预置算法分别计算出与每段数据范围对应的校正系数;

根据计算得到的理论输出电压值x和读取到的实际输出电压值y,按照预置算法分别计算出与每段数据范围对应的校正系数,该校正系数包括第一校正系数a和第二校正系数b。

该预置算法的计算式如下:

其中,m>0。

滤波后得到的数据为非线性数据,将其细微地划分为2m段数据范围,使得划分后的多段数据范围为近似线性曲线。即,将非线性数据划分为多段线性数据,之后再进行分段对应校正,以达到提高校正精度的目的。

需要说明的是,在校正装置20中的预处理模块可将计算出的校正系数存储在系数存储模块中,存储地址由地址产生模块产生,存入该存储地址后,计算单元模块也从该存储地址读取校正系数。该存储地址需在计算校正系数之前产生。

具体地,根据滤波后得到的数据的高m位,产生读取校正系数的地址,并从该地址读取校正系数。

其中,以n表示滤波后得到的数据的总位宽,总位宽可分为高位和地位,在高位中的高m位产生读取校正系数的地址,从此地址中读取校正系数,m表示该读取校正系数的地址位宽,0<m<n,则该读取校正系数的地址位宽与滤波后得到的数据总位宽的关系为:

address(m-1:0)=data(n-1:n-m)

优选地,n=16,m=4,则address(4-1:0)=data(16-1:16-4)。

请参阅图4,系数存储单元可分为第一系数存储单元和第二系数存储单元,该第一系数存储单元,用于存储该第一校正系数a,该第二系数存储单元,用于存储该第二校正系数b。第一校正系数a和第二校正系数b每组2m个校正系数,在系数存储单元中的读地址相同。计算单元模块,可同时从该读地址中读取该第一校正系数和该第二校正系数。

307、按照该校正系数校正滤波后得到的数据。

将滤波后得到的数据与第一校正系数a相乘后与第二校正系数b相加,以校正该滤波后得到的数据。

滤波后得到的数据dl和校正后得到的数据dr的关系为:

dr=dl×a+b

将校正后得到的数据以主控制器可以识别的格式传回该主控制器,在主控制器上显示校正后得到的数据,或者通过主控制器连接的显示设备显示校正后得到的数据。

本发明实施例中,通过adc将模拟测量数据转换为数字数据,将adc输出的该数字数据进行滤波后划分为2m段线性数据范围,从而将adc输出非线性数据范围微分为多段近似线性数据范围,并计算得到每段数据范围对应的两组校正参数,之后根据校正参数校正adc输出的数据,以此较好地校正adc输出的非线性数据的误差,提高adc输出信号的精度,继而进一步提高adc的测量精度。在不增加设备成本的基础上,解决了现有技术中对非线性数据的误差校正效果差的问题。

参阅图5,图5是本发明第三实施例提供的校正测量数据的装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。图5示例的校正测量数据的装置可以是前述图2和图3所示实施例提供的校正测量数据的方法的执行主体,如校正装置20或其中的一个控制模块。图5示例的校正测量数据的装置,包括:使能模块501、划分模块502、计算模块503以及校正模块504。

以上各功能模块详细说明如下:

其中,使能模块501,用于当接收到主控制器的启动命令时,使能模数转换器将模拟测量数据转换为数字数据。

划分模块502,用于将该数字数据划分为预置数量的多段数据范围。

计算模块503,用于根据输入该模数转换器的已知标准电压,以及该已知标准电压对应的理论输出电压值和实际输出电压值,得到与每段该数据范围对应的校正系数。

校正模块504,用于按照该校正系数校正该数字数据。

本实施例未尽之细节,请参阅前述图1至图3所示实施例的描述,此处不再赘述。

需要说明的是,以上图5示例的校正测量数据的装置的实施方式中,各功能模块的划分仅是举例说明,实际应用中可以根据需要,例如相应硬件的配置要求或者软件的实现的便利考虑,而将上述功能分配由不同的功能模块完成,即将校正测量数据的装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。而且,实际应用中,本实施例中的相应的功能模块可以是由相应的硬件实现,也可以由相应的硬件执行相应的软件完成。本说明书提供的各个实施例都可应用上述描述原则,以下不再赘述。

本发明实施例中,通过adc将模拟测量数据转换为数字数据,将adc输出的该数字数据进行多段线性数据范围的划分,将adc输出非线性数据范围微分为多段近似线性数据范围,并计算得到每段数据范围对应的校正参数,之后根据校正参数校正adc输出的数据,以此校正adc输出的非线性数据的误差,提高adc输出信号的精度,继而进一步提高adc的测量精度。在不增加设备成本的基础上,解决了现有技术中对非线性数据的误差校正效果差的问题。

请参阅图6,本发明第四实施例提供的校正测量数据的装置的结构示意图,图6示例的校正测量数据的装置可以是前述图2和图3所示实施例提供的校正测量数据的方法的执行主体,如校正装置20或其中的一个控制模块。该装置主要包括:使能模块601、滤波模块602、划分模块603、计算模块604、输入模块6041、第一计算子模块6042、读取模块6043、第二计算子模块6044、校正模块605以及地址产生模块606。以上各功能模块详细说明如下:

其中,使能模块601,用于当接收到主控制器的启动命令时,使能模数转换器将模拟测量数据转换为数字数据。

滤波模块602,用于将该数字数据进行滤波,以滤除该数字数据中的噪声数据。滤波模块602,具体用于通过有限长单位冲激响应滤波器将该数字数据进行滤波,以滤除该数字数据中的高频噪声数据。

划分模块603,用于将滤波后得到的数据划分为预置数量的多段数据范围;

计算模块604,用于根据输入该模数转换器的已知标准电压,以及该已知标准电压对应的理论输出电压值和实际输出电压值,得到与每段该数据范围对应的校正系数。

校正模块605,用于按照该校正系数校正滤波后得到的数据。

该装置还可以进一步地包括发送模块,用于将校正后得到的数据传回该主控制器。

进一步地,划分模块603,还用于将滤波后得到的数据划分为2m段数据范围。

计算模块604还可以进一步包括:

输入模块6041,用于从所述模数转换器的输入端输入已知标准电压;

第一计算子模块6042,用于按照该模数转换器的理想性能参数,计算得到与该已知标准电压对应的该模数转换器的理论输出电压值;

读取模块6043,用于读取该模数转换器输出端输出的与该已知标准电压对应的实际输出电压值;

第二计算子模块6044,用于根据该理论输出电压值和该实际输出电压值,按照预置算法分别计算出与每段数据范围对应的校正系数;

进一步地,输入模块6041,具体用于从该模数转换器的输入端输入已知标准电压vi,该已知标准电压vi与该模数转换器最大输入电压vref的关系为:

vi=vref/2m(2m-n)

其中,0≤n≤2m,n的初始值为2m;m>0;

第二计算子模块6044,具体用于根据该理论输出电压值x和该实际输出电压y,按照预置算法分别计算出与每段数据范围对应的校正系数,该校正系数包括:第一校正系数a以及第二校正系数b;

其中,该预置算法的计算式为:

该装置还进一步地包括:

地址产生模块606,用于根据该滤波后得到的数据的高m位,产生读取校正系数的地址;

其中,n表示该滤波后得到的数据总位宽,m表示该读取校正系数的地址位宽,0<m<n,则该读校正系数的地址位宽与该数据总位宽的关系为:

address(m-1:0)=data(n-1:n-m)

进一步地,校正模块605,具体用于将该滤波后得到的数据与第一校正系数a相乘后与第二校正系数b相加,以校正该滤波后得到的数据。

本实施例未尽之细节,请参阅前述图2至图3所示实施例的描述,此处不再赘述。

本发明实施例中,通过adc将模拟测量数据转换为数字数据,将adc输出的该数字数据进行滤波后划分为2m段线性数据范围,从而将adc输出非线性数据范围微分为多段近似线性数据范围,并计算得到每段数据范围对应的两组校正参数,之后根据校正参数校正adc输出的数据,以此较好地校正adc输出的非线性数据的误差,提高adc输出信号的精度,继而进一步提高adc的测量精度。在不增加设备成本的基础上,解决了现有技术中对非线性数据的误差校正效果差的问题。

在本申请所提供的多个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信链接可以是通过一些接口,装置或模块的间接耦合或通信链接,可以是电性,机械或其它的形式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为 模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

以上为对本发明所提供的校正测量数据的方法及装置的描述,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1