发明名称 基于B样条和扩展卡尔曼滤波的多功能传感器信号重构方法及多功能传感器的标定方法
摘要 基于B样条和扩展卡尔曼滤波的多功能传感器信号重构方法及多功能传感器的标定方法,它涉及多功能传感器信号重构技术领域。它解决了现有的多功能传感器信号重构方法建模复杂而占用系统资源较大的问题,本发明的信号重构方法包括:先建立逆模型结构,再将被测数据输入至多功能传感器获取输出数据,并将其作为逆模型结构的输入数据,获取输入该多功能传感器的被测数据的输入估计值,完成多功能传感器信号重构;本发明的标定方法包括:首先通过AD转换器将多功能传感器的输出信号采样后输入到所述逆模型中,则逆模型的输出即为被测物理量的估计值,再将获得的估计值作为采集的输出信号所对应的输入值,实现标定。本发明适用于多功能传感器信号重构。
申请公布号 CN101968369B 申请公布日期 2012.09.12
申请号 CN201010268326.4 申请日期 2010.08.31
申请人 哈尔滨工业大学 发明人 魏国;王昕;孙金玮
分类号 G01D18/00(2006.01)I 主分类号 G01D18/00(2006.01)I
代理机构 哈尔滨市松花江专利商标事务所 23109 代理人 张宏威
主权项 1.基于B样条和扩展卡尔曼滤波的多功能传感器信号重构方法,其特征在于所述信号重构方法包括如下步骤:步骤一:利用B样条函数描述多功能传感器的逆模型结构<maths num="0001"><![CDATA[<math><mfenced open='' close=''><mtable><mtr><mtd><msub><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><msub><mi>j</mi><mn>1</mn></msub><mo>=</mo><mo>-</mo><mi>K</mi><mo>+</mo><mn>1</mn></mrow><msub><mi>L</mi><mn>1</mn></msub></munderover><munderover><mi>&Sigma;</mi><mrow><msub><mi>j</mi><mn>2</mn></msub><mo>=</mo><mo>-</mo><mi>K</mi><mo>+</mo><mn>1</mn></mrow><msub><mi>L</mi><mn>2</mn></msub></munderover><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><munderover><mi>&Sigma;</mi><mrow><msub><mi>j</mi><mi>n</mi></msub><mo>=</mo><mo>-</mo><mi>K</mi><mo>+</mo><mn>1</mn></mrow><msub><mi>L</mi><mi>n</mi></msub></munderover><mo>[</mo><msub><mi>c</mi><mrow><msub><mi>j</mi><mn>1</mn></msub><mo>,</mo><msub><mi>j</mi><mn>2</mn></msub><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><msub><mi>j</mi><mi>n</mi></msub></mrow></msub><msub><mi>B</mi><mrow><msub><mi>j</mi><mn>1</mn></msub><mo>,</mo><mi>K</mi></mrow></msub><mrow><mo>(</mo><msub><mi>y</mi><mrow><mn>1</mn><mo>,</mo><mi>i</mi></mrow></msub><mo>)</mo></mrow><msub><mi>B</mi><mrow><msub><mi>j</mi><mn>2</mn></msub><mo>,</mo><mi>K</mi></mrow></msub><mrow><mo>(</mo><msub><mi>y</mi><mrow><mn>2</mn><mo>,</mo><mi>i</mi></mrow></msub><mo>)</mo></mrow><mo>.</mo><mo>.</mo><mo>.</mo><msub><mi>B</mi><mrow><msub><mi>j</mi><mi>n</mi></msub><mo>,</mo><mi>K</mi></mrow></msub><mrow><mo>(</mo><msub><mi>y</mi><mrow><mi>n</mi><mo>,</mo><mi>i</mi></mrow></msub><mo>)</mo></mrow><mo>]</mo><mo>,</mo></mtd></mtr><mtr><mtd><mi>i</mi><mo>=</mo><mn>1</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>m</mi></mtd></mtr></mtable></mfenced></math>]]></maths>其中L<sub>n</sub>+2K为对应于第n个输出样本数据y<sub>n</sub>的节点向量的维数,并利用扩展卡尔曼滤波计算所述逆模型结构<img file="FDA0000108496910000012.GIF" wi="51" he="82" />中的控制系数<img file="FDA0000108496910000013.GIF" wi="952" he="99" />完成所述逆模型结构的建立,其中,所述逆模型结构<img file="FDA0000108496910000014.GIF" wi="51" he="82" />为n输入单输出结构,L<sub>1</sub>,L<sub>2</sub>,…,L<sub>n</sub>和m均为正整数,K表示所述B样条函数的阶数,<img file="FDA0000108496910000015.GIF" wi="361" he="110" />表示多功能传感器的第n个输出样本数据y<sub>n</sub>下的B样条基函数;步骤二:将被测数据输入至所述多功能传感器,以获取所述多功能传感器的输出数据,并将所述多功能传感器的输出数据作为所建立的逆模型结构<img file="FDA0000108496910000016.GIF" wi="51" he="83" />的输入数据,以获取输入所述多功能传感器的被测数据的输入估计值,完成多功能传感器信号重构;步骤一中,利用B样条函数描述多功能传感器的逆模型结构<maths num="0002"><![CDATA[<math><mrow><msub><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><msub><mi>j</mi><mn>1</mn></msub><mo>=</mo><mo>-</mo><mi>K</mi><mo>+</mo><mn>1</mn></mrow><msub><mi>L</mi><mn>1</mn></msub></munderover><munderover><mi>&Sigma;</mi><mrow><msub><mi>j</mi><mn>2</mn></msub><mo>=</mo><mo>-</mo><mi>K</mi><mo>+</mo><mn>1</mn></mrow><msub><mi>L</mi><mn>2</mn></msub></munderover><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><munderover><mi>&Sigma;</mi><mrow><msub><mi>j</mi><mi>n</mi></msub><mo>=</mo><mo>-</mo><mi>K</mi><mo>+</mo><mn>1</mn></mrow><msub><mi>L</mi><mi>n</mi></msub></munderover><mo>[</mo><msub><mi>c</mi><mrow><msub><mi>j</mi><mn>1</mn></msub><mo>,</mo><msub><mi>j</mi><mn>2</mn></msub><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><msub><mi>j</mi><mi>n</mi></msub></mrow></msub><msub><mi>B</mi><mrow><msub><mi>j</mi><mn>1</mn></msub><mo>,</mo><mi>K</mi></mrow></msub><mrow><mo>(</mo><msub><mi>y</mi><mrow><mn>1</mn><mo>,</mo><mi>i</mi></mrow></msub><mo>)</mo></mrow><msub><mi>B</mi><mrow><msub><mi>j</mi><mn>2</mn></msub><mo>,</mo><mi>K</mi></mrow></msub><mrow><mo>(</mo><msub><mi>y</mi><mrow><mn>2</mn><mo>,</mo><mi>i</mi></mrow></msub><mo>)</mo></mrow><mo>.</mo><mo>.</mo><mo>.</mo><msub><mi>B</mi><mrow><msub><mi>j</mi><mi>n</mi></msub><mo>,</mo><mi>K</mi></mrow></msub><mrow><mo>(</mo><msub><mi>y</mi><mrow><mi>n</mi><mo>,</mo><mi>i</mi></mrow></msub><mo>)</mo></mrow><mo>]</mo><mo>,</mo><mi>i</mi><mo>=</mo><mn>1</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>m</mi></mrow></math>]]></maths>的具体过程为:首先,选取多功能传感器的输入样本数据,并将所述输入样本数据输入至所述多功能传感器,以获取所述多功能传感器的输出样本数据,并获取所述输出样本数据的B样条节点向量:t<sub>-K+1</sub>≤...t<sub>-1</sub>≤t<sub>0</sub>=a<...<t<sub>L+1</sub>=b≤t<sub>L+2</sub>,...≤t<sub>L+K</sub>,其中,[a b]为所述输出样本数据的取值范围;然后,根据所获得的B样条节点向量计算B样条基函数:<img file="FDA0000108496910000021.GIF" wi="1401" he="367" />t<sub>j</sub>,j=-K+1,...,L+K为B样条节点向量的元素,且满足L+K<m;最后,获得B样条函数描述的逆模型结构为<maths num="0003"><![CDATA[<math><mrow><msub><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><msub><mi>j</mi><mn>1</mn></msub><mo>=</mo><mo>-</mo><mi>K</mi><mo>+</mo><mn>1</mn></mrow><msub><mi>L</mi><mn>1</mn></msub></munderover><munderover><mi>&Sigma;</mi><mrow><msub><mi>j</mi><mn>2</mn></msub><mo>=</mo><mo>-</mo><mi>K</mi><mo>+</mo><mn>1</mn></mrow><msub><mi>L</mi><mn>2</mn></msub></munderover><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><munderover><mi>&Sigma;</mi><mrow><msub><mi>j</mi><mi>n</mi></msub><mo>=</mo><mo>-</mo><mi>K</mi><mo>+</mo><mn>1</mn></mrow><msub><mi>L</mi><mi>n</mi></msub></munderover><mo>[</mo><msub><mi>c</mi><mrow><msub><mi>j</mi><mn>1</mn></msub><mo>,</mo><msub><mi>j</mi><mn>2</mn></msub><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><msub><mi>j</mi><mi>n</mi></msub></mrow></msub><msub><mi>B</mi><mrow><msub><mi>j</mi><mn>1</mn></msub><mo>,</mo><mi>K</mi></mrow></msub><mrow><mo>(</mo><msub><mi>y</mi><mrow><mn>1</mn><mo>,</mo><mi>i</mi></mrow></msub><mo>)</mo></mrow><msub><mi>B</mi><mrow><msub><mi>j</mi><mn>2</mn></msub><mo>,</mo><mi>K</mi></mrow></msub><mrow><mo>(</mo><msub><mi>y</mi><mrow><mn>2</mn><mo>,</mo><mi>i</mi></mrow></msub><mo>)</mo></mrow><mo>.</mo><mo>.</mo><mo>.</mo><msub><mi>B</mi><mrow><msub><mi>j</mi><mi>n</mi></msub><mo>,</mo><mi>K</mi></mrow></msub><mrow><mo>(</mo><msub><mi>y</mi><mrow><mi>n</mi><mo>,</mo><mi>i</mi></mrow></msub><mo>)</mo></mrow><mo>]</mo><mo>,</mo><mi>i</mi><mo>=</mo><mn>1</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>m</mi><mo>;</mo></mrow></math>]]></maths>利用扩展卡尔曼滤波计算所述逆模型结构<img file="FDA0000108496910000023.GIF" wi="51" he="83" />中的控制系数当n=3时<img file="FDA0000108496910000024.GIF" wi="717" he="95" />的具体过程为:首先,将控制系数<img file="FDA0000108496910000025.GIF" wi="838" he="110" />的初值选为1,作为扩展卡尔曼滤波的状态向量,并将所述扩展卡尔曼滤波的协方差矩阵的初值选为单位矩阵;然后,利用扩展卡尔曼滤波的更新方程:<maths num="0004"><![CDATA[<math><mrow><msubsup><mover><mi>X</mi><mo>^</mo></mover><mi>k</mi><mo>-</mo></msubsup><mo>=</mo><msubsup><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mo>+</mo></msubsup></mrow></math>]]></maths><maths num="0005"><![CDATA[<math><mrow><msubsup><mover><mi>P</mi><mo>^</mo></mover><mi>k</mi><mo>-</mo></msubsup><mo>=</mo><msubsup><mover><mi>P</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mo>+</mo></msubsup></mrow></math>]]></maths><maths num="0006"><![CDATA[<math><mrow><msubsup><mi>x</mi><mi>k</mi><mo>-</mo></msubsup><mo>=</mo><mi>A</mi><msubsup><mover><mi>X</mi><mo>^</mo></mover><mi>k</mi><mo>-</mo></msubsup></mrow></math>]]></maths><maths num="0007"><![CDATA[<math><mrow><msub><mi>H</mi><mi>k</mi></msub><mo>=</mo><mfrac><mrow><mo>&PartialD;</mo><mi>h</mi><mrow><mo>(</mo><mi>X</mi><mo>,</mo><mi>k</mi><mo>)</mo></mrow></mrow><mrow><mo>&PartialD;</mo><mi>X</mi></mrow></mfrac><msub><mo>|</mo><mrow><mi>X</mi><mo>=</mo><msubsup><mover><mi>X</mi><mo>^</mo></mover><mi>k</mi><mo>-</mo></msubsup></mrow></msub></mrow></math>]]></maths><maths num="0008"><![CDATA[<math><mrow><msub><mi>G</mi><mi>k</mi></msub><mo>=</mo><msubsup><mover><mi>P</mi><mo>^</mo></mover><mi>k</mi><mo>-</mo></msubsup><msup><msub><mi>H</mi><mi>k</mi></msub><mi>T</mi></msup><msup><mrow><mo>(</mo><msub><mi>H</mi><mi>k</mi></msub><msubsup><mover><mi>P</mi><mo>^</mo></mover><mi>k</mi><mo>-</mo></msubsup><msup><msub><mi>H</mi><mi>k</mi></msub><mi>T</mi></msup><mo>+</mo><msub><mi>R</mi><mi>k</mi></msub><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup></mrow></math>]]></maths><maths num="0009"><![CDATA[<math><mrow><msubsup><mover><mi>X</mi><mo>^</mo></mover><mi>k</mi><mo>+</mo></msubsup><mo>=</mo><msubsup><mover><mi>X</mi><mo>^</mo></mover><mi>k</mi><mo>-</mo></msubsup><mo>+</mo><msub><mi>G</mi><mi>k</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>k</mi></msub><mo>-</mo><msubsup><mover><mi>x</mi><mo>^</mo></mover><mi>k</mi><mo>-</mo></msubsup><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0010"><![CDATA[<math><mrow><msubsup><mover><mi>P</mi><mo>^</mo></mover><mi>k</mi><mo>+</mo></msubsup><mo>=</mo><mrow><mo>(</mo><mi>I</mi><mo>-</mo><msub><mi>G</mi><mi>k</mi></msub><msub><mi>H</mi><mi>k</mi></msub><mo>)</mo></mrow><msubsup><mover><mi>P</mi><mo>^</mo></mover><mi>k</mi><mo>-</mo></msubsup></mrow></math>]]></maths>获取状态向量,当所有输入样本数据都经过迭代循环后所获取的当前状态向量即为所述逆模型结构<img file="FDA00001084969100000213.GIF" wi="51" he="82" />中的控制系数<img file="FDA00001084969100000214.GIF" wi="818" he="103" />其中,k为卡尔曼滤波迭代次数,其最大值等于输入样本数据的个数m;<img file="FDA0000108496910000031.GIF" wi="46" he="52" />为第k步循环时卡尔曼滤波状态向量的先验估计,<img file="FDA0000108496910000032.GIF" wi="46" he="52" />为第k步循环时卡尔曼滤波状态向量的后验估计;<img file="FDA0000108496910000033.GIF" wi="41" he="52" />为第k步循环时协方差矩阵的先验估计,<img file="FDA0000108496910000034.GIF" wi="42" he="52" />为第k步循环时协方差矩阵的后验估计;<img file="FDA0000108496910000035.GIF" wi="76" he="53" />表示将当前的状态向量<img file="FDA0000108496910000036.GIF" wi="46" he="53" />带入逆模型结构<img file="FDA0000108496910000037.GIF" wi="51" he="83" />中计算获得的输出数据);<img file="FDA0000108496910000038.GIF" wi="59" he="62" />为第k步循环时逆模型的输出;H<sub>k</sub>第k步循环时逆模型对状态向量的一阶偏导;G<sub>k</sub>为第k步循环时的卡尔曼增益;R<sub>k</sub>为第k步循环时的观测噪声协方差;x<sub>k</sub>为第k步循环时样本数据的输出。
地址 150001 黑龙江省哈尔滨市南岗区西大直街92号