买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】传感器的滤波方法和滤波器_歌尔科技有限公司_201710301714.X 

申请/专利权人:歌尔科技有限公司

申请日:2017-05-02

公开(公告)日:2020-07-24

公开(公告)号:CN107247819B

主分类号:G06F30/20(20200101)

分类号:G06F30/20(20200101)

优先权:

专利状态码:有效-授权

法律状态:2020.07.24#授权;2017.11.10#实质审查的生效;2017.10.13#公开

摘要:本发明公开了一种传感器的滤波方法。对传感器的原始输出值进行一型滤波,第i次一型滤波输出传感器原始输出值Ai对应的一型滤波预测值,第i次一型滤波的步骤包括:S1,根据跳点判定法则判定Ai及其之后的连续N个传感器原始输出值是跳点或非跳点,N≥1,转至步骤S2;S2,如果Ai是跳点且Ai之后的连续N个传感器原始输出值中存在非跳点,转至步骤S3,否则Ai原值作为其一型滤波预测值;S3,将当前最大梯度与Ai‑1的一型滤波预测值相加,结果作为Ai的一型滤波预测值,所述当前最大梯度为Ai之前连续M个一型滤波预测值中梯度绝对值最大的梯度值。本发明解决的一个技术问题是非正常跳点的剔除。

主权项:1.一种传感器的滤波方法,其特征在于,对传感器的原始输出值进行一型滤波,第i次一型滤波输出传感器原始输出值Ai对应的一型滤波预测值,i≥1,A1之前的M个连续传感器原始输出值的一型滤波预测值默认为其各自对应的传感器原始输出值,M≥3,第i次一型滤波的步骤包括:S1,根据跳点判定方法判定Ai及其之后的连续N个传感器原始输出值是跳点或非跳点,N≥1,转至步骤S2;S2,如果Ai是跳点且Ai之后的连续N个传感器原始输出值中存在非跳点,转至步骤S3,否则Ai原值作为其一型滤波预测值;S3,将当前最大梯度与Ai-1的一型滤波预测值相加,结果作为Ai的一型滤波预测值,所述当前最大梯度为Ai之前连续M个一型滤波预测值中梯度绝对值最大的梯度值;S4,输出Ai的一型滤波预测值,其中,所述跳点判定方法为:第i次一型滤波,Ai之前M个所述一型滤波预测值与Ai及,Ai之后的连续N个传感器原始输出值按照其各自对应的传感器原始输出值出现的时间顺序组成数列,计算各数据点的梯度,如果同时满足以下两个条件:条件一,An的梯度绝对值大于An之前M个数据点的梯度绝对值的最大值,条件二,An的梯度绝对值大于erroroffset1和erroroffset2的最大值,其中 其中i≤n≤i+N,Dn-1为所述数列中An之前紧邻的数据点,k为可设定的一个系数,0.3≤k≤0.8,则判定An为跳点,否则An为非跳点。

全文数据:传感器的滤波方法和滤波器技术领域[0001]本发明涉及数字信号滤波,更具体地,涉及一种传感器的数字信号滤波和滤波器。背景技术[0002]传感器误差源大致可以分为确定性误差和随机误差两大类,通常情况下,确定性误差可以通过在实验室条件下进行测试和标定来补偿,而随机误差比较复杂,其变化规律具有随机性,需要通过统计方法得到他们的统计规律,建立合理的数学模型进行误差补偿。[0003]常用的随机误差分析和补偿方法中,自相关函数法容易引入更多的误差,导致误差建模精度不高,且不能实现实时的误差补偿;功率谱密度分析法只给出信号的功率谱密度函数在频域的曲线而不能直接给出各误差的时域特征,因此还需对辨识结果做进一步处理,方法相对麻烦;有限冲击响应滤波法成本较高,信号延时也较大;递归数字滤波器的相位是非线性的。发明内容[0004]本发明的一个目的是提供一种对传感器数据进行非正常跳点剔除的新技术方案。[0005]根据本发明的第一方面,提供了一种传感器的滤波方法。[0006]对传感器的原始输出值进行一型滤波,第i次一型滤波输出传感器原始输出值A1对应的一型滤波预测值,i多UA1之前的M个连续传感器原始输出值的一型滤波预测值默认为其各自对应的传感器原始输出值,M多3,第i次一型滤波的步骤包括:S1,根据跳点判定法则判定Ai及其之后的连续N个传感器原始输出值是跳点或非跳点,N多1,转至步骤S2;S2,如果是跳点且之后的连续N个传感器原始输出值中存在非跳点,转至步骤S3,否则A1原值作为其一型滤波预测值;S3,将当前最大梯度与Ah的一型滤波预测值相加,结果作为八,的一型滤波预测值,所述当前最大梯度为Aii前连续M个一型滤波预测值中梯度绝对值最大的梯度值;S4,输出A1的一型滤波预测值。[0007]可选地,所述跳点判定方法为:第i次一型滤波,A1之前M个所述一型滤波预测值与及之后的连续N个传感器原始输出值按照其各自对应的传感器原始输出值出现的时间顺序组成数列,计算各数据点的梯度,如果同时满足以下两个条件:条件一,An的梯度绝对值大于An之前M个数据点的梯度绝对值的最大值,条件二,An的梯度绝对值大于^irrorciffse3tl和erroroffse3t2的最大值,其中其中ii+N,Dn-i为所述数列中An之前紧邻的数据点,k为可设定的一个系数,0.3彡k0.8,则判定An为跳点,否则An为非跳点。[0008]可选地,根据二型滤波判定法则,对连续Q个所述一型滤波预测值进行二型滤波,输出其各自对应的二型滤波输出值,Q多5,所述二型滤波判定法则为:当所述连续Q个所述一型滤波预测值中有两个或两个以上拐点时,对所述连续Q个所述一型滤波预测值进行二型滤波;否则,所述连续Q个所述一型滤波预测值的二型滤波输出值即为其各自的一型滤波预测值。[0009]可选地,根据二型滤波判定法则,对连续Q个所述一型滤波预测值进行二型滤波,输出其各自对应的二型滤波输出值,Q多5,所述二型滤波判定法则为:当所述连续Q个所述一型滤波预测值中有两个或两个以上拐点时,对所述连续Q个所述一型滤波预测值进行二型滤波;否则,所述连续Q个所述一型滤波预测值的二型滤波输出值即为其各自的一型滤波预测值。[0010]可选地,所述若干个渐变数据点的数值与其相邻的非拐点之间呈等差数列。[0011]本发明还提供了一种滤波器,包括输入端、一型滤波输出存储模块及一型滤波模块;所述一型滤波模块包括,跳点标记模块、跳点判定模块和一型滤波控制模块;所述输入端与所述一型滤波控制模块相连;所述一型滤波输出存储模块与所述一型滤波控制模块相连接,所述一型滤波输出存储模块被设置为存储滤波器的输出值;所述跳点判定模块与与所述一型滤波控制模块相连接,所述跳点判定模块被设置为判定所述一型滤波输出存储模块中的数据点是跳点或非跳点;所述跳点标记模块与所述跳点判定模块相连接,所述跳点标记模块被设置为根据所述跳点判定模块的判定结果,标记所述一型滤波输出存储模块中的数据点是跳点或非跳点;所述一型滤波控制模块还与所述跳点标记模块相连接,所述一型滤波控制模块被设置为判定所述一型滤波输出存储模块中待滤波数据点对应跳点标记模块中被标记为跳点,并且该数据点之后连续N个数据点在对应跳点标记模块中被标记为非跳点,则将该待滤波数据点之前的M个数据点中梯度绝对值最大的那个数据点的梯度值与该待滤波数据点的前一个数据点相加,结果重新赋值给改待滤波数据点,M多3,N多1,否贝IJ,所述一型滤波输出存储模块值不变,初始状态,输入端的最初M+N+1个数据点原值赋值给所述一型滤波输出存储模块对应的数据点,跳点标记模块将所述一型滤波输出存储模块中的最初M个数据点对应标记为非跳点。[0012]可选地,所述跳点判定模块被设置为,所述一型滤波输出存储模块中的数据点同时满足以下两个条件,则判定该数据点在所述跳点标记模块中对应的标记为跳点,否则该数据点在所述跳点标记模块中对应的标记为非跳点,条件一,该数据点的梯度绝对值大于该数据点之前M个数据点的梯度绝对值的最大值,M多3;条件二,该数据点的梯度绝对值大于error〇ffseti和error〇ffset2的最大值,其中其中k为一个可设定的系数,0.3k0.8。[0013]可选地,所述滤波器还包括二型滤波模块,所述二型滤波模块与所述一型滤波存储模块相连接,所述二型滤波模块被设置为对所述一型滤波输出存储模块中连续Q个数据点进行二型滤波,输出对应的Q个二型滤波输出值,Q多5,所述二型滤波模块包括二型滤波输入端、二型滤波判定模块、二型滤波补偿模块和二型滤波输出端,所述二型滤波判定模块与所述二型滤波输入端、所述二型滤波输出端及所述二型滤波补偿模块相连接,所述二型滤波判定模块被设置为判定所述二型滤波输入端输入的待进行二型滤波的Q个数据点拐点数量2个则所述Q个数据点原值输出到二型滤波输出端,或者将所述Q个数据点经所述二型滤波补偿模块进行二型滤波补偿后输出给二型滤波输出端,所述二型滤波补偿模块还与所述二型滤波输出端相连接,所述二型滤波补偿模块被设置为将所述Q个数据点进行二型滤波补偿后输出给二型滤波输出端。[0014]可选地,所述二型滤波补偿模块被设置为,在所述Q个数据点的非拐点与非拐点之间插值若干个渐变值,对全部渐变值与所述Q个数据点进行二次函数拟合,拟合后得到的所述Q个数据点对应的拟合值输出至二次滤波输出端。[0015]可选地,所述若干个渐变值的数值与其相邻的非拐点在数值上呈等差数列。[0016]本发明的发明人发现,在现有技术中,并针对传感器信号非正常跳点剔除的有效模型。因此,本发明所要实现的技术任务或者所要解决的技术问题是本领域技术人员从未想到的或者没有预期到的,故本发明是一种新的技术方案。[0017]通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。附图说明[0018]被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。[0019]图1是一型滤波与二型滤波结合使用的流程图。[0020]图2是一型滤波方法的对应的滤波器的框图。[0021]图3是二型滤波方法的一个实施例的流程图。[0022]图4是一型滤波的一个滤波效果图。[0023]图5是一型滤波的一个滤波效果图。[0024]图6是二型滤波的一个滤波效果图。[0025]图7是二型滤波的一个滤波效果图。[0026]图8是二型滤波的一个滤波效果图。具体实施方式[0027]现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。[0028]以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。[0029]对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。[0030]在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。[0031]应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。[0032]应该注意到:本发明所述的任意两个模块、部件、电路等相连接,可以是该两个模块、部件、电路等直接相连接,也可以是通过其他模块、部件、电路等间接相连接。[0033]图1是一型滤波与二型滤波结合运行的流程图,展示了本发明所提供的传感器的滤波方法的总的设计构思。传感器数据100经过一型滤波200之后再进行二型滤波300,最后输出平稳数据400。[0034]一型滤波有效实现大的非正常跳点的剔除,二型滤波可以实现对小的连续毛刺的拟合光滑处理。二者结合可以得到更加准确和平稳的数据。[0035]具体实施时,一型滤波和二型滤波也可以单独实施。[0036]下面具体介绍一型滤波和二型滤波的具体实施过程。[0037]滤波开始,对传感器最先输出的5个传感器原始输出值不做判定,默认该5个原始输出值对应的一型滤波预测值即为其各自原始输出值,计算该5个一型滤波预测值的梯度值,共可得到4个梯度值。[0038]实际操作中也可以是对传感器最先输出的M个传感器原始输出值不做判定,M大于等于3;这样设定的意义在于首先获得至少两个梯度值,选择其中梯度绝对值最大值最为第一个一型滤波输出数据点的参考数据。[0039]本专利所述的所有梯度,都是一个数据点相对于该数据点的前一个数据点的差值。[0040]本专利所有公式中的“II”符号,为绝对值符号。[0041]第i次一型滤波输出传感器原始输出值A1对应的一型滤波预测值,i彡UA1之前的5个连续传感器原始输出值的一型滤波预测值默认为其各自对应的传感器原始输出值,第i次一型滤波的步骤包括:Sl,根据跳点判定法则判定仏及其之后的连续2个传感器原始输出值是跳点或非跳点,转至步骤S2;S2,如果A1是跳点且仏之后的连续2个传感器原始输出值中存在非跳点,转至步骤S3,否则Ai原值作为其一型滤波预测值转至步骤S4;S3,将当前最大梯度与Ah的一型滤波预测值相加,结果作为A1的一型滤波预测值,所述当前最大梯度为仏之前连续4个一型滤波预测值中梯度绝对值最大的梯度值;S4,输出A1的一型滤波预测值。[0042]可选地,所述跳点判定方法为:第i次一型滤波,A1之前5个所述一型滤波预测值与仏及仏之后的连续2个传感器原始输出值按照其各自对应的传感器原始输出值出现的时间顺序组成数列,计算各数据点的梯度,如果同时满足以下两个条件:条件一,An的梯度绝对值大于An之前M个数据点的梯度绝对值的最大值,条件二,An的梯度绝对值大于erroroffsd和erroroffse3t2的最大值,其中其中ini+2,Dn-i为所述数列中An之前紧邻的数据点,k为可设定的一个系数,0.3$0.8,本实施例中k=0.5,则判定An为跳点,否则An为非跳点。[0043]使用BOSCH公司BMI160传感器的0漂值为40mg,各家公司各型号传感器的0漂值可以参考其规格书,也可以进行实测确定。[0044]如此设定的意义在于传感器的输出值,尤其是运动传感器的输出值,在1+N个数据点所对应的时间内,不可能出现一次运动的瞬间巨变再连接一次缓变的过程;跳点并不意味着是一个错误点,它可能是下一个运动的开始,于是与前面几个点不是同一种运动状态。[0045]如此一型滤波,延迟两个数据点对应的时间输出传感器原始输出值的一型滤波补偿值;以采样时间5ms为例,不考虑滤波器本身的计算时间,实际滤波器的延时为10ms,实现近实时的滤除非正常跳点的技术效果。[0046]图2是对应一型滤波方法的一个滤波器的框图。[0047]本实施例的示例性的解释以M=5,N=2为例进行说明,滤波器进行一次一型滤波的待滤波数据点需参考其之前的5个一型滤波预测值及其之后的2个传感器原始输出值。[0048]本领域的技术人员可以利用硬件电路实现所述滤波器的各模块的功能,也可以利用软件实现所述滤波器的各模块的功能。[0049]滤波器201包括输入端202、输出存储模块203、一型滤波模块204,一型滤波模块204包括跳点标记模块205、跳点判定模块206和一型滤波控制模块207。[0050]传感器的原始数据100通过输入端202进入滤波器201,可以存储在一个独立的存储器中;也可以赋值到一型滤波输出存储模块203,每次一型滤波进行后判定是否修正一型滤波输出存储模块203中的一个数据点。[0051]一型滤波输出存储模块203与一型滤波控制模块207相连接,一型滤波输出存储模块203最小数据规模为3,即保存最新的3个待进行一型滤波的传感器原始输出值,进行一型滤波后,输出第一个待一型滤波的传感器原始输出值的一型滤波预测值;一型滤波输出存储模块203之后还可以有其他输出控制模块,具体控制滤波器201的输出数据是否实时输出。[0052]一型滤波控制模块207判定最先接收到的5个传感器的原始输出值无需修正,直接输出或不输出仅做后续一型滤波的参考数据。[0053]从第一次一型滤波开始,每次一型滤波,一型滤波控制模块207驱动跳点判定模块206判定最新的3个待进行一型滤波的传感器原始输出值是跳点或非跳点,并将判定结果标记在跳点标记模块205;示例性地,跳点标记为1,非跳点标记为0;跳点判定模块进行跳点判定时使用前文所述的跳点判定方法,也可以设置其他的判定方法。[0054]—型滤波控制模块207判定最新的3个待进行一型滤波的传感器原始输出值对应的跳点标记为1〇〇、1〇1、11〇,前面的数字对应时间早出现的传感器原始输出值,即一个跳点之后的连续两个传感器原始输出值中有非跳点,一型滤波控制模块207控制将第一个待进行一型滤波的传感器的原始输出值之前的5个一型滤波预测值计算得到的4个梯度值中梯度绝对值最大的那个梯度值作为所述第一个待进行一型滤波的传感器的原始输出值的梯度值,该梯度值与当前最后一个一型滤波预测值相加结果赋值给所述第一个待进行一型滤波的传感器的原始输出值对应的一型滤波输出存储模块的存储单元。[0055]可选地,在一次一型滤波结束之前重新计算标记跳点标记模块205,也可以在每次一型滤波开始之初计算标记跳点标记模块205。[0056]图3是一个5点二型滤波的实施例的流程图,可以根据实际需要将二型滤波的规模扩大为6点滤波、7点滤波等更大规模;所述二型滤波的实施例的流程图既是对二型滤波方法的解释,其中各模块也可以理解为硬件的电路模块或者软件的程序模块。[0057]二型滤波可以单独实施,也可以在一型滤波之后,对应的滤波器可以单独实施二型滤波,也可以在一型滤波后实施二型滤波。[0058]本实施例中二型滤波为二次函数拟合滤波,根据实际数据的特点,也可以是其他形式的滤波。[0059]以5点为研究对象,若采样间隔为6ms,研究时间为24ms,在如此短的时间内,不可能有一次完成运动,在图像上表现为:这5个点连成的曲线,只可能是一直向下或者一直向上,最多可能出现一次向上然后向下或者向下然后向上,不可能出现下、上、下或者上、下、上等情况,数学上叫做最多有一个拐点;当出现多个拐点时,说明里面某些点的值不准确,即出现了毛刺现象。[0060]用2次函数进行拟合,原因在于2次函数只有一个拐点,在非拐点的点,由于较为准确,所以希望拟合曲线经过这种点,而不真实的拐点,希望用最小二乘法进行处理。[0061]函数经过非拐点的数学方式为加权,如在非拐点之间多插值出5个点,对这10个数据点进行二次函数拟合,由于其中插入的5个点位于2个相邻的非拐点之间,导致拟合曲线经过或靠近这2个非拐点的几率大大增加,从而提高了插值的准确性,符合物理表述过程。[0062]根据实际需要也可以在非拐点之间多插入3个点或者4个或者6个点等,这个数量没有限制,但需考虑计算量的规模,也对5个一型滤波输出值不插值。[0063]插值点的数值介于相邻两个非拐点之间,可以是等间距关系,也可以是其他模型,实际操作中实施者可以根据具体情况选择。[0064]具体实施中,首先进入模块301进行最近的五个真实值的数据更新,然后根据梯度正负号的转变次数,判断拐点数,如果拐点数等于〇,则此五点值为是同向的,数据值是一直升高或者一直降低的,这是正常的,进入模块307进行输出;若拐点数为1,则表明在24ms内存在一次新的运动的起点,这也是正常的,进入模块307进行输出;如果拐点数大于等于2,则说明在24ms内至少存在一次完整的运动,对于应用于VR手柄的传感器来说,这显然是不符合常规的,所以要进行拟合滤波的修正。[0065]需要滤波的数据进入模块303,在相邻的非拐点之间插值5个新数据点,所述5个新数据点与其相邻的所述非拐点呈等差数列,对全部上述10个数据点进行最小二乘法的二次函数拟合,拟合后5个传感器原始输出值所对应的拟合值作为其各自的二型滤波的输出值。[0066]最后进入模块304进行滤波后数据的输出。[0067]图4和图5为一型滤波的一个实施例的实际滤波结果。[0068]图4上方有2个连续跳点,下方有1个跳点,红色曲线为滤波后结果,可以看到跳点被滤掉。[0069]图5上方有6个连续跳点,根据一型滤波的设定,连续的跳点超过3个即不再作为误差,而是一个新的运动,所以如红色曲线所示,这6个点被保留下来。[0070]本实施例中一型滤波的设定为3个点,在实际应用中需要根据具体情况分析,设定8、10个点等都是符合运算要求的。[0071]图6、图7、图8是经过拟合滤波后的三种情况比较。[0072]拟合滤波前,必须进行最近5点的拐点计算,当拐点数大于等于2时,才会进行拟合滤波。[0073]图6数据点一直上升,拐点数为0,不需要拟合滤波,所以拟合后红色曲线与拟合前黑点是完全重合的;图7只有一个拐点,本发明认为这可能是另一个运动的开始,在24ms内符合运动规律,不需要拟合滤波;图8中拐点数为2,计算后得到第一个点和第二个点为距离拐点较远的点,本发明认为他们是真实的,应该尽量小的改变他们的值,所以在拟合滤波时需要将这2个点进行加权加重的处理,拟合后结果如红色曲线所示,前2个点数值被保留下来,后3个点由二次曲线拟合得出。[0074]本发明涉及一套全新的低延迟近实时的滤波方法,经过两步滤波后可以将较大的跳点,较小的连续毛刺数据过滤掉,形成可用于姿态结算的平稳数据,可以根据具体信号特点的不同,可调整各个参数。[0075]在一型滤波,本发明最大优势为:结合了姿态解算算法和传感器特性,设定了梯度和err〇rciffset两个阈值,在数学和物理学中都有较好的解释。并且根据实际采样时间间隔6ms确定的连续跳点变为可信的新运动的点数为3,‘3’这个参数是可以调节的。这样就实现了有物理意义地判断的一种滤波。[0076]在拟合滤波时,利用加权保留被拐点影响小的点的方式也是首次提出。[0077]拟合加权的方式是:在需要加权的点之间进行插值,多插出3-8个渐变点,将这些渐变点也作为需要拟合点带入拟合方程。[0078]此种拟合方式的好处在于:与其他平滑方式相比,最大程度的保留了通过判断得到的真实点的值,而不至于使真实点的值受到有误差点的影响变得不够真实。[0079]本发明所述的滤波器可以是硬件电路和或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。[0080]计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是一一但不限于一一电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子非穷举的列表包括:便携式计算机盘、硬盘、随机存取存储器RAM、只读存储器ROM、可擦式可编程只读存储器EPROM或闪存)、静态随机存取存储器SRAM、便携式压缩盘只读存储器CD-ROM、数字多功能盘DVD、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。[0081]这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算处理设备,或者通过网络、例如因特网、局域网、广域网和或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和或边缘服务器。每个计算处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算处理设备中的计算机可读存储介质中。[0082]用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言一诸如Smalltalk、C++等,以及常规的过程式编程语言一诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网LAN或广域网WAN—连接到用户计算机,或者,可以连接到外部计算机例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列FPGA或可编程逻辑阵列PLA,该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。[0083]这里参照根据本发明实施例的方法、装置系统)和计算机程序产品的流程图和或框图描述了本发明的各个方面。应当理解,流程图和或框图的每个方框以及流程图和或框图中各方框的组合,都可以由计算机可读程序指令实现。[0084]这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和或框图中的一个或多个方框中规定的功能动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和或框图中的一个或多个方框中规定的功能动作的各个方面的指令。[0085]也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和或框图中的一个或多个方框中规定的功能动作。[0086]附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和或流程图中的每个方框、以及框图和或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。[0087]以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。

权利要求:1.一种传感器的滤波方法,其特征在于,对传感器的原始输出值进行一型滤波,第i次一型滤波输出传感器原始输出值A1对应的一型滤波预测值,i多I,A1之前的M个连续传感器原始输出值的一型滤波预测值默认为其各自对应的传感器原始输出值,M多3,第i次一型滤波的步骤包括:Sl,根据跳点判定法则判定仏及其之后的连续N个传感器原始输出值是跳点或非跳点,N彡1,转至步骤S2;52,如果A1是跳点且仏之后的连续N个传感器原始输出值中存在非跳点,转至步骤S3,否则仏原值作为其一型滤波预测值;53,将当前最大梯度与Ah的一型滤波预测值相加,结果作为A1的一型滤波预测值,所述当前最大梯度为仏之前连续M个一型滤波预测值中梯度绝对值最大的梯度值;54,输出A1的一型滤波预测值。2.根据权利要求1所述的传感器的滤波方法,其特征在于,所述跳点判定方法为:第i次一型滤波,A1之前M个所述一型滤波预测值与A1及,A1之后的连续N个传感器原始输出值按照其各自对应的传感器原始输出值出现的时间顺序组成数列,计算各数据点的梯度,如果同时满足以下两个条件:条件一,An的梯度绝对值大于An之前M个数据点的梯度绝对值的最大值,条件二,An的梯度绝对值大于error〇ffse3ti和error〇ffse3t2的最大值,其中其中Kn彡i+tD^为所述数列中An之前紧邻的数据点,k为可设定的一个系数,0.3彡k0.8,贝IJ判定An为跳点,否则An为非跳点。3.根据权利要求1或2所述的传感器的滤波方法,其特征在于,根据二型滤波判定法则,对连续Q个所述一型滤波预测值进行二型滤波,输出其各自对应的二型滤波输出值,Q彡5,所述二型滤波判定法则为:当所述连续Q个所述一型滤波预测值中有两个或两个以上拐点时,对所述连续Q个所述一型滤波预测值进行二型滤波;否则,所述连续Q个所述一型滤波预测值的二型滤波输出值即为其各自的一型滤波预测值。4.根据权利要求3所述的传感器的滤波方法,其特征在于所述二型滤波为二次函数拟合滤波,在所述连续Q个所述一型滤波预测值的非拐点与非拐点之间插入若干个渐变数据点;对Q个所述一型滤波预测值中插入的全部渐变数据点与所述Q个一型滤波预测值进行二次函数拟合,拟合后得到的所述Q个一型滤波预测值对应的拟合值作为其各自对应的二型滤波输出值。5.根据权利要求3所述的传感器的滤波方法,其特征在于,所述若干个渐变数据点的数值与其相邻的非拐点之间呈等差数列。6.—种滤波器,其特征在于,包括输入端、一型滤波输出存储模块及一型滤波模块;所述一型滤波模块包括,跳点标记模块、跳点判定模块和一型滤波控制模块;所述输入端与所述一型滤波控制模块相连;所述一型滤波输出存储模块与所述一型滤波控制模块相连接,所述一型滤波输出存储模块被设置为存储滤波器的输出值;所述跳点判定模块与所述一型滤波控制模块相连接,所述跳点判定模块被设置为判定所述一型滤波输出存储模块中的数据点是跳点或非跳点;所述跳点标记模块与所述跳点判定模块相连接,所述跳点标记模块被设置为根据所述跳点判定模块的判定结果,标记所述一型滤波输出存储模块中的数据点是跳点或非跳点;所述一型滤波控制模块还与所述跳点标记模块相连接,所述一型滤波控制模块被设置为:判定所述一型滤波输出存储模块中待滤波数据点对应跳点标记模块中被标记为跳点,并且该数据点之后连续N个数据点在对应跳点标记模块中被标记为非跳点,则将该待滤波数据点之前的M个数据点中梯度绝对值最大的那个数据点的梯度值与该待滤波数据点的前一个数据点相加,结果重新赋值给改待滤波数据点,M多3,N多1,否则,所述一型滤波输出存储模块值不变,初始状态,输入端的最初M个数据点判定为非跳点。7.根据权利要求6所述的滤波器,其特征在于,所述跳点判定模块被设置为,所述一型滤波输出存储模块中的数据点同时满足以下两个条件,则判定该数据点在所述跳点标记模块中对应的标记为跳点,否则该数据点在所述跳点标记模块中对应的标记为非跳点,条件一,该数据点的梯度绝对值大于该数据点之前M个数据点的梯度绝对值的最大值,M多3;条件二,该数据点的梯度绝对值大于erroroffseti和errorrffsw的最大值,其中其中k为一个可设定的系数,0.3k0.8。8.根据权利要求6或7所述的滤波器,其特征在于,所述滤波器还包括二型滤波模块,所述二型滤波模块与所述一型滤波存储模块相连接,所述二型滤波模块被设置为对所述一型滤波输出存储模块中连续Q个数据点进行二型滤波,输出对应的Q个二型滤波输出值,Q多5所述二型滤波模块包括二型滤波输入端、二型滤波判定模块、二型滤波补偿模块和二型滤波输出端,所述二型滤波判定模块与所述二型滤波输入端、所述二型滤波输出端及所述二型滤波补偿模块相连接,所述二型滤波判定模块被设置为判定所述二型滤波输入端输入的待进行二型滤波的Q个数据点拐点数量2个则所述Q个数据点原值输出到二型滤波输出端,否则将所述Q个数据点经所述二型滤波补偿模块进行二型滤波补偿后输出给二型滤波输出端,所述二型滤波补偿模块还与所述二型滤波输出端相连接,所述二型滤波补偿模块被设置为将所述Q个数据点进行二型滤波补偿后输出给二型滤波输出端。9.根据权利要求8所述的滤波器,其特征在于,所述二型滤波补偿模块被设置为,在所述Q个数据点的非拐点与非拐点之间插值若干个渐变值,对全部渐变值与所述Q个数据点进行二次函数拟合,拟合后得到的所述Q个数据点对应的拟合值输出至二次滤波输出端。10.根据权利要求9所述的滤波器,其特征在于,所述若干个渐变值的数值与其相邻的非拐点在数值上呈等差数列。

百度查询: 歌尔科技有限公司 传感器的滤波方法和滤波器

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。