本发明涉及电子,尤其涉及一种ad分段计算方法、计算机设备及介质。
背景技术:
1、在电阻性的传感器的应用中,经常采用分压电路,通过a/d进行采样的方式。阻值与物理量之间的对应关系通常由公式进行描述,但是这种公式的计算量非常大,例如涉及指数、对数计算等,如果使用嵌入式微处理器代码来实现,代码量大和运算时间长,不利于嵌入式的实时快速处理,所以,目前较合理的方法是把公式进行分段线性化,嵌入式代码进行运算时,运算时间短,代码量也小。
2、传统的分段线性方法,通过仅仅提取出几个节点,且每个节点只包括了ad值和对应的物理量参数,组成线性转换参数表。嵌入式代码在采集ad值后根据线性转换参数表计算传感器物理量时,每一段只有一个斜率,计算出来的物理量值往往在段的中间位置偏差较大,如图1所示。
3、上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
技术实现思路
1、本发明的主要目的在于提供了一种ad分段计算方法、计算机设备及介质,旨在解决现有技术中上述问题。
2、为实现上述目的,本发明提供了一种ad分段计算方法,所述ad分段计算方法包括:
3、获取采样ad值;
4、依次遍历预先建立的分段节点数据表中的节点,直至所述采样ad值大于等于当前节点对应的ad值位置并且小于下一节点对应的ad值位置;
5、以当前节点和下一节点为一个线性段,计算所述采样ad值对应的物理量初值;
6、判断所述采样ad值对应节点所在的节点段数据是否为双向偏差;
7、当第一判断结果为是,根据所述采样ad值是否大于过零点ad值位置,确定对所述物理量初值的补偿值;
8、当第一判断结果为否,根据所述采样ad值是否大于所在节点段的第一偏离位置的ad值位置,确定对所述物理量初值的补偿值,所述第一偏离位置为所在节点段的物理量最大偏离值所在的位置;
9、根据确定的补偿值,对所述采样ad值对应的物理量初值进行补偿。
10、优选地,在所述ad分段计算方法中,所述当第一判断结果为是,根据所述采样ad值是否大于过零点ad值位置,确定对所述物理量初值的补偿值,包括:
11、当第一判断结果为是,判断所述采样ad值是否大于过零点ad值位置;
12、当第二判断结果为否,根据所述采样ad值是否大于所在节点段的第一偏离位置的ad值位置,确定对所述物理量初值的补偿值;
13、当第二判断结果为是,根据所述采样ad值是否大于所在节点段的第二偏离位置的ad值位置,确定对所述物理量初值的补偿值;
14、其中,所述第一偏离位置和所述第二偏离位置在所在节点段上过零点ad值位置的节点的两侧且为当前侧物理量的最大偏离位置。
15、优选地,在所述ad分段计算方法中,所述当第二判断结果为否,根据所述采样ad值是否大于所在节点段的第一偏离位置的ad值位置,确定对所述物理量初值的补偿值,包括:
16、当第二判断结果为否,判断所述采样ad值是否大于所在节点段的第一偏离位置的ad值位置;
17、当第三判断结果为是,对所述物理量初值的补偿值的计算公式为:补偿值=sin((过零点ad值位置-采样ad值)/(过零点ad值位置-第一偏离位置的ad值位置)*π/2)*第一偏离位置对应的物理量值;
18、当第三判断结果为否,对所述物理量初值的补偿值的计算公式为:补偿值=sin((采样ad值-过零点ad值位置)/(第一偏离位置的ad值位置-过零点ad值位置)*π/2)*第一偏离位置对应的物理量值。
19、优选地,在所述ad分段计算方法中,所述当第二判断结果为是,根据所述采样ad值是否大于所在节点段的第二偏离位置的ad值位置,确定对所述物理量初值的补偿值,包括:
20、当第二判断结果为是,判断所述采样ad值是否大于所在节点段的第二偏离位置的ad值位置;
21、当第四判断结果为是,对所述物理量初值的补偿值的计算公式为:补偿值=sin((下一节点ad值-采样ad值)/(下一节点ad值-第二偏离位置的ad值位置)*π/2)*第二偏离位置对应的物理量值;
22、当第四判断结果为否,对所述物理量初值的补偿值的计算公式为:补偿值=sin((采样ad值-过零点ad值位置)/(第二偏离位置的ad值位置-过零点ad值位置)*π/2)*第二偏离位置对应的物理量值。
23、优选地,在所述ad分段计算方法中,所述当第一判断结果为否,根据所述采样ad值是否大于所在节点段的第一偏离位置的ad值位置,确定对所述物理量初值的补偿值,包括:
24、当第一判断结果为否,判断所述采样ad值是否大于所在节点段的第一偏离位置的ad值位置;
25、当第五判断结果为是,对所述物理量初值的补偿值的计算公式为:补偿值=sin((下一节点ad值-采样ad值)/(下一节点ad值-第一偏离位置的ad值位置)*π/2)*第一偏离位置对应的物理量值;
26、当第五判断结果为否,对所述物理量初值的补偿值的计算公式为:补偿值=sin((采样ad值-下一节点ad值)/(第一偏离位置的ad值位置-下一节点ad值)*π/2)*第一偏离位置对应的物理量值。
27、优选地,在所述ad分段计算方法中,所述根据确定的补偿值,对所述采样ad值对应的物理量初值进行补偿,包括:
28、所述采样ad值对应的物理量值=所述采样ad值对应的物理量初值+补偿值。
29、优选地,在所述ad分段计算方法中,所述依次遍历预先建立的分段节点数据表中的节点,直至所述采样ad值大于等于当前节点对应的ad值位置并且小于下一节点对应的ad值位置,包括:
30、依次从预先建立的分段节点数据表中获取一个节点;
31、判断所述采样ad值是否大于等于当前节点对应的ad值位置;
32、当第六判断结果为否,继续取下一节点进行判断,直至第六判断结果为是为止。
33、优选地,分段节点数据表的建立方法包括:
34、s1:从预先建立的有效关系数据库中获取第一个数据组,将其ad值位置加入到第一个分段内,其中,所述有效关系数据库包括多个数据组,每个数据组包括ad值、以及对应的物理量,多个数据组按照ad值顺序排列;
35、s2:步进到下一个数据组;
36、判断当前分段内的所有数据的线性偏离值是否都小于预设的控制偏离值;
37、当第七判断结果为是,将下一数据组加入当前分段内;
38、当第七判断结果为否,将当前数据组移除当前分段且遍历数据组回到上一数据组,搜索当前分段内的物理量过零点以及及其ad值位置、正负最大偏差值及其ad值位置,并分别存入对应的节点分段数据表中;
39、判断当前分段内是否同时存在正负偏差值;
40、当第八判断结果为是,对当前段内数据标记第一偏离标识,并存入对应的节点分段数据表;
41、当第八判断结果为否,对当前段内数据标记第二偏离标识,并存入对应的节点分段数据表;
42、s3:判断是否遍历到最后一个数据组;
43、当第九判断结果为否,进入下一分段,跳转至s2;
44、当第九判断结果为是,记录最后一个数据组为终节点并输出所有的节点分段数据表。
45、优选地,所述在预先建立的有效关系数据库中依次遍历数据组的步骤之前,所述方法还包括:
46、建立有效关系数据库。
47、优选地,所述建立有效关系数据库,包括:
48、根据ad满量程值,计算对应分压电路的电压列表;
49、根据所述电压列表,计算对应的传感器电阻值列表;
50、根据传感器的物理量与电阻关系函数,计算与所述传感器电阻值列表对应的物理量数据列表,并形成ad值与物理量的对应表;
51、根据形成的ad值与物理量的对应表以及传感器的物理量的上下限值,确定所述有效关系数据库。
52、优选地,所述电阻传感器为温度传感器;
53、相应地,所述根据传感器的物理量与电阻关系函数,计算与所述传感器电阻值列表对应的物理量数据列表,并形成ad值与物理量的对应表中,传感器的物理量与电阻关系函数为:
54、r2=exp(b*(1/t2-1/t1)+ln(r1));
55、其中,
56、r2为t2对应的电阻值;
57、r1为传感器对应的基准电阻值;
58、t1为传感器对应的基准温度值;
59、b为传感器对应的变化系数值;
60、t2为需要计算的温度值。
61、为了实现上述目的,本发明还提供一种ad分段计算装置,所述ad分段计算装置包括:
62、获取单元,用于获取采样ad值;
63、循环遍历单元,用于依次遍历预先建立的分段节点数据表中的节点,直至所述采样ad值大于等于当前节点对应的ad值位置并且小于下一节点对应的ad值位置;
64、计算单元,用于以当前节点和下一节点为一个线性段,计算所述采样ad值对应的物理量初值;
65、判断单元,用于判断所述采样ad值对应节点所在的节点段数据是否为双向偏差;
66、第一确定单元,用于当第一判断结果为是,根据所述采样ad值是否大于过零点ad值位置,确定对所述物理量初值的补偿值;
67、第二确定单元,用于当第一判断结果为否,根据所述采样ad值是否大于所在节点段的第一偏离位置的ad值位置,确定对所述物理量初值的补偿值,所述第一偏离位置为所在节点段的物理量最大偏离值所在的位置;
68、补偿单元,用于根据确定的补偿值,对所述采样ad值对应的物理量初值进行补偿。
69、为了实现上述目的,本发明还提供一种计算机设备,包括:
70、至少一个处理器;以及,
71、与所述至少一个处理器通信连接的存储器;其中,
72、所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7任一项所述的ad分段计算方法。
73、为了实现上述目的,本发明还提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时上述的ad分段计算方法。
74、本发明至少具有如下有益效果:
75、本发明改进了传统分段线性算法,在分段线性表中加入更多的参数,增加的参数用来在初步分段计算后进行精细偏差补偿,如此计算出来的物理量值偏差小。
76、进一步地,分段节点数据表中对于存在双向偏差的分段内每个节点包括ad值、对应的物理量值、段数据偏离标识、所在段第一最大偏离值及其对应的ad值、所在段第二最大偏离值及其对应的ad值、所在段物理量过零点的节点对应的ad值;对于仅存在单向偏差的分段内每个节点包括ad值、对应的物理量值、段数据偏离标识、所在段第一最大偏离值及其对应的ad值。如此可以更精细的对计算出的物理量值进行补偿,提高计算的准确性。
77、进一步地,针对处于不同情况提出不同的补偿方式,可以更准确的进行补偿。
1.一种ad分段计算方法,其特征在于,包括:
2.如权利要求1所述的ad分段计算方法,其特征在于,所述当第一判断结果为是,根据所述采样ad值是否大于过零点ad值位置,确定对所述物理量初值的补偿值,包括:
3.如权利要求2所述的ad分段计算方法,其特征在于,所述当第二判断结果为否,根据所述采样ad值是否大于所在节点段的第一偏离位置的ad值位置,确定对所述物理量初值的补偿值,包括:
4.如权利要求2所述的ad分段计算方法,其特征在于,所述当第二判断结果为是,根据所述采样ad值是否大于所在节点段的第二偏离位置的ad值位置,确定对所述物理量初值的补偿值,包括:
5.如权利要求1所述的ad分段计算方法,其特征在于,所述当第一判断结果为否,根据所述采样ad值是否大于所在节点段的第一偏离位置的ad值位置,确定对所述物理量初值的补偿值,包括:
6.如权利要求1所述的ad分段计算方法,其特征在于,所述根据确定的补偿值,对所述采样ad值对应的物理量初值进行补偿,包括:
7.如权利要求1所述的ad分段计算方法,其特征在于,所述依次遍历预先建立的分段节点数据表中的节点,直至所述采样ad值大于等于当前节点对应的ad值位置并且小于下一节点对应的ad值位置,包括:
8.一种ad分段计算装置,其特征在于,包括:
9.一种计算机设备,其特征在于,包括:
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述的ad分段计算方法。