发明名称 基于二维正交函数的压力传感器温度和压力互补的方法及装置
摘要 本发明公开了一种基于二维正交函数的压力传感器温度和压力互补的方法及装置。该方法首先建立二维正交函数互补模型,该互补模型可以实现对压力信号的温度补偿,反之也可利用压力信号对传感器温度进行实时的补偿,然后利用基于二维正交函数的最小二乘拟合算法计算出模型的补偿系数,之后便可对采样的数据代入模型进行补偿计算。所述装置包括压阻式压力传感器探头、MCU平台、上位机,MCU平台包括单片机、运算放大器、存储器、DA转换芯片以及串行通信芯片。本发明能有效的根据压力传感器特性,进行巧妙的电路设计,实现方法简单新颖,具有成本低、实时性好、鲁棒性高、精确度高的特点。
申请公布号 CN102353481A 申请公布日期 2012.02.15
申请号 CN201110180399.2 申请日期 2011.06.30
申请人 华南理工大学 发明人 秦华标;曾宇森;黄若浩
分类号 G01L1/18(2006.01)I 主分类号 G01L1/18(2006.01)I
代理机构 广州粤高专利商标代理有限公司 44102 代理人 何淑珍
主权项 一种基于二维正交函数的压力传感器温度和压力互补的方法,其特征在于包括如下步骤:(1)建立模型:针对目前压阻式压力传感器实际测量压力时与环境温度之间相互的影响,建立一种基于二维正交函数的最小二乘法的互补模型,此模型能利用温度信号对传感器压力进行实时补偿,也能利用压力信号对传感器温度进行实时补偿的模型,模型方程如下: <mrow> <mi>P</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>a</mi> <mn>0</mn> </msub> <msub> <mi>U</mi> <mrow> <mi>p</mi> <mn>0</mn> </mrow> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>a</mi> <mn>1</mn> </msub> <msub> <mi>U</mi> <mrow> <mi>p</mi> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>+</mo> <mi>L</mi> <mo>+</mo> <msub> <mi>a</mi> <mi>k</mi> </msub> <msub> <mi>U</mi> <mi>pk</mi> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>+</mo> <mi>L</mi> <mo>+</mo> <msub> <mi>a</mi> <mi>n</mi> </msub> <msub> <mi>U</mi> <mi>pn</mi> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>k</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>n</mi> </munderover> <msub> <mi>a</mi> <mi>k</mi> </msub> <msub> <mi>U</mi> <mi>pk</mi> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </mrow>①ak=ak0Ut0(x)+ak1Ut1(x)+L+akmUtm(x)    ②其中,P(x)是关于点集{xz},z=0,1,L,n的压力值函数;k=0,1,L,n;Up0(x),Up1(x),L,Upk(x),L,Upn(x)是关于点集{xz},z=0,1,L,n的正交函数族和k次拟合多项式组,同时代表着在r个不同压力值P和l个不同温度值T下的压力信号;Ut0(x),Ut1(x),L,Um(x)是关于点集{xz},z=0,1,L,m的正交函数族和多项式组,同时代表着在r个不同压力值P和l个不同温度值T下的温度信号;m、n为拟合多项式最大的次数,取值分别等于r和l;a0,a1,L,ak,L,an分别为多项式Up0(x),Up1(x),L,Upk(x),L,Upn(x)的系数,同时也是关于Utm(x)的函数;ak0,ak1,L,akm分别为Ut0(x),Ut1(x),L,Utm(x)的常数系数,即该模型最终需要求解的补偿系数;(2)模型补偿系数的计算:通过现场标定的方式,在r个给定压力值P和l个给定温度值T的情况下,利用压力传感器探头采集获得r*l组压力电压信号Up和温度电压信号Ut数据点(T,P,Up,Ut);根据最小二乘法的原理,首先利用这组(P,Up)数据对方程①进行拟合: <mrow> <msub> <mi>Q</mi> <mi>min</mi> </msub> <mo>=</mo> <msub> <mrow> <mo>{</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>z</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>l</mi> </munderover> <msup> <mrow> <mo>[</mo> <mi>P</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>z</mi> </msub> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mi>P</mi> <mi>z</mi> </msub> <mo>]</mo> </mrow> <mn>2</mn> </msup> <mo>}</mo> </mrow> <mi>min</mi> </msub> <mo>=</mo> <msub> <mrow> <mo>{</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>z</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>l</mi> </munderover> <msup> <mrow> <mo>(</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>k</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>r</mi> </munderover> <msub> <mi>a</mi> <mi>k</mi> </msub> <msub> <mi>U</mi> <mi>pk</mi> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mi>P</mi> <mi>z</mi> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>}</mo> </mrow> <mi>min</mi> </msub> </mrow>其中,Q表示为由现场标定所获得的实际压力电压信号值Up代入方程①的Up(x)所求得的P(x)与现场标定所获得实际压力值P的方差;min表示取最小值;由多元函数求极值的必要条件知道, <mrow> <mfrac> <mrow> <mo>&PartialD;</mo> <mi>Q</mi> </mrow> <mrow> <mo>&PartialD;</mo> <msub> <mi>a</mi> <mi>j</mi> </msub> </mrow> </mfrac> <mo>=</mo> <mn>2</mn> <munderover> <mi>&Sigma;</mi> <mrow> <mi>z</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>l</mi> </munderover> <mrow> <mo>(</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>k</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>r</mi> </munderover> <msub> <mi>a</mi> <mi>k</mi> </msub> <msub> <mi>U</mi> <mi>pk</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>z</mi> </msub> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mi>P</mi> <mi>z</mi> </msub> <mo>)</mo> </mrow> <msub> <mi>U</mi> <mi>pj</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>z</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mn>0</mn> <mo>,</mo> </mrow>j=0,1,L,r;k=0,1,L,r,由于Up0(x),Up1(x),L,Upn(x)是关于点集{xz},z=0,1,L,r的正交函数族,即有: <mrow> <mrow> <mo>(</mo> <msub> <mi>U</mi> <mi>pj</mi> </msub> <mo>,</mo> <msub> <mi>U</mi> <mi>pk</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>z</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>l</mi> </munderover> <msub> <mi>U</mi> <mi>pj</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>z</mi> </msub> <mo>)</mo> </mrow> <msub> <mi>U</mi> <mi>pk</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>z</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mfenced open='{' close=''> <mtable> <mtr> <mtd> <msub> <mi>A</mi> <mi>k</mi> </msub> <mo>></mo> <mn>0</mn> <mo>,</mo> </mtd> <mtd> <mi>j</mi> <mo>=</mo> <mi>k</mi> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> <mo>,</mo> </mtd> <mtd> <mi>j</mi> <mo>&NotEqual;</mo> <mi>k</mi> </mtd> </mtr> </mtable> </mfenced> </mrow>则此时解得: <mrow> <msub> <mi>a</mi> <mi>k</mi> </msub> <mo>=</mo> <msup> <msub> <mi>a</mi> <mi>k</mi> </msub> <mo>*</mo> </msup> <mo>=</mo> <mfrac> <mrow> <mo>(</mo> <msub> <mi>P</mi> <mi>z</mi> </msub> <mo>,</mo> <msub> <mi>U</mi> <mi>pk</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>z</mi> </msub> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <msub> <mi>U</mi> <mi>pk</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>z</mi> </msub> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mi>U</mi> <mi>pk</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>z</mi> </msub> <mo>)</mo> </mrow> <mo>)</mo> </mrow> </mfrac> <mo>=</mo> <mfrac> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>z</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>l</mi> </munderover> <msub> <mi>P</mi> <mi>z</mi> </msub> <msub> <mi>U</mi> <mi>pk</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>z</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>z</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>l</mi> </munderover> <msub> <msup> <msub> <mi>U</mi> <mi>p</mi> </msub> <mn>2</mn> </msup> <mi>k</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>z</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> </mrow>k=0,1,L,r其中,ak*为方程①的解;由于Up0(x),Up1(x),L,Upn(x)也称为是在点集内带权ρ(xz)的正交多项式序列,因此利用格拉姆‑施密特的构造方法构造出此正交多项式,方法如下:Up0(x)=1Up1(x)=x‑α1     k=1,2,L,r‑1Up(k+1)(x)=(x‑αk+1)Upk(x)‑βkUp(k‑1)(x)根据Up的正交性,可得 <mfenced open='{' close=''> <mtable> <mtr> <mtd> <msub> <mi>&alpha;</mi> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>z</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>l</mi> </munderover> <msub> <mi>x</mi> <mi>z</mi> </msub> <msup> <msub> <mi>U</mi> <mi>pk</mi> </msub> <mn>2</mn> </msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>z</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>z</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>l</mi> </munderover> <msup> <msub> <mi>U</mi> <mi>pk</mi> </msub> <mn>2</mn> </msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>z</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> </mtd> </mtr> <mtr> <mtd> <msub> <mi>&beta;</mi> <mi>k</mi> </msub> <mo>=</mo> <mfrac> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>z</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>l</mi> </munderover> <msup> <msub> <mi>U</mi> <mi>pk</mi> </msub> <mn>2</mn> </msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>z</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>z</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>l</mi> </munderover> <msup> <msub> <mi>U</mi> <mrow> <mi>p</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </msub> <mn>2</mn> </msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>z</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> </mtd> </mtr> </mtable> </mfenced>最后就可以拟合得到:P(x)=a0*Up0(x)+a1*Up1(x)+L+ak*Upk(x)+L+an*Upn(x)完成对(P,Up)数据点的拟合后,接下来对(ak*,Ut)这组数据进行基于正交函数的最小二乘拟合,同理可以获得:ak*=ak0*Ut0(x)+ak1*Ut1(x)+L+akm*Utm(x)其中: <mrow> <msup> <msub> <mi>a</mi> <mi>ks</mi> </msub> <mo>*</mo> </msup> <mo>=</mo> <mfrac> <mrow> <mo>(</mo> <msup> <msub> <mi>a</mi> <mi>k</mi> </msub> <mo>*</mo> </msup> <mo>,</mo> <msub> <mi>U</mi> <mi>ts</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>z</mi> </msub> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <msub> <mi>U</mi> <mi>ts</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>z</mi> </msub> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mi>U</mi> <mi>ts</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>z</mi> </msub> <mo>)</mo> </mrow> <mo>)</mo> </mrow> </mfrac> <mo>=</mo> <mfrac> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>z</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>r</mi> </munderover> <msup> <msub> <mi>a</mi> <mi>k</mi> </msub> <mo>*</mo> </msup> <msub> <mi>U</mi> <mi>ts</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>z</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>z</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>r</mi> </munderover> <msup> <msub> <mi>U</mi> <mi>ts</mi> </msub> <mn>2</mn> </msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>z</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> </mrow>s=0,1,2,L,lUt0(x)=1Ut1(x)=x‑γ1     s=1,2,L,l‑1Ut(s+1)(x)=(x‑γs+1)Uts(x)‑λsUt(s‑1)(x) <mfenced open='{' close=''> <mtable> <mtr> <mtd> <msub> <mi>&gamma;</mi> <mrow> <mi>s</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>z</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>r</mi> </munderover> <msub> <mi>x</mi> <mi>z</mi> </msub> <msup> <msub> <mi>U</mi> <mi>ts</mi> </msub> <mn>2</mn> </msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>z</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>z</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>r</mi> </munderover> <msup> <msub> <mi>U</mi> <mi>ts</mi> </msub> <mn>2</mn> </msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>z</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> </mtd> </mtr> <mtr> <mtd> <msub> <mi>&lambda;</mi> <mi>s</mi> </msub> <mo>=</mo> <mfrac> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>z</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>r</mi> </munderover> <msup> <msub> <mi>U</mi> <mi>ts</mi> </msub> <mn>2</mn> </msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>z</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>z</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>r</mi> </munderover> <msup> <msub> <mi>U</mi> <mrow> <mi>t</mi> <mrow> <mo>(</mo> <mi>s</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </msub> <mn>2</mn> </msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>z</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> </mtd> </mtr> </mtable> </mfenced>至此,便完成了基于二维正交函数的最小二乘法互补模型补偿系数的计算;将计算得出的补偿系数代入步骤(1)建立的模型中,便可对采集得到的压力信号和温度信号进行相互补偿。
地址 510640 广东省广州市天河区五山路381号
您可能感兴趣的专利