当前位置: 首页 > 专利查询>天津农学院专利>正文

基于嵌入式系统的模拟量滤波方法及装置制造方法及图纸

技术编号:27197109 阅读:27 留言:0更新日期:2021-01-31 11:55
本发明专利技术实施例公开了一种基于嵌入式系统的模拟量滤波方法及装置,其中,所述方法包括:获取前值采样数据序列均值,所述前值采样数据序列的采样信号个数处于预设的个数阈值范围内;获取当前采样数据序列均值,所述当前采样数据序列的采样信号个数与前值采样数据的采样个数数量相同;根据前值采样数据序列均值和当前采样数据序列均值对一阶互补滤波器的滤波系数进行更新;根据更新后的滤波系数、前值采样数据序列和当前采样数据序列对当前采样数据序列进行滤波。有限较少了嵌入式系统的运算负荷。同时可根据前值采样数据序列均值和当前采样数据序列均值对一阶互补滤波器的滤波系数进行实时更新,在兼顾运算量的同时,提升了模拟量滤波的准确性。了模拟量滤波的准确性。了模拟量滤波的准确性。

【技术实现步骤摘要】
基于嵌入式系统的模拟量滤波方法及装置


[0001]本专利技术涉及模拟信号处理
,尤其涉及一种基于嵌入式系统的模拟量滤波方法及装置。

技术介绍

[0002]在智能化控制系统中,传感器是用来感知、测定各种变化量的重要器件,在其使用中的噪声直接影响着智能化。传感器噪声的主要来自系统内外的干扰。在传感器回路中,噪声的强弱与信号和噪声的叠加方式有关。
[0003]目前,对于噪声的滤波通常采用采用卡尔曼滤波、平均值滤波等方法,即采用卡尔曼算法对AD转换后的模拟量数据进行滤波,或者对一定数量的AD转换后的模拟量值通过求取平均值的方式结果。
[0004]在实现本专利技术的过程中,专利技术人发现如下技术问题:卡尔曼滤波是一种常见的滤波算法,影响其滤波效果的关键参数为过程噪声矩阵和观测噪声矩阵的估计,当二者设计合理的时候,卡尔曼滤波会取得令人满意的效果。但是往往合适的滤波器参数无法获得,导致卡尔曼滤波难以发挥良好的效果,甚至会造成滤波发散,导致AD转换后的模拟量数据无法使用。并且卡尔曼滤波需要引进矩阵运算,对于嵌入式系统来说,其运算量偏大,影响到嵌入式系统的正常运行。
[0005]平均值滤波算法也是一种常见的滤波算法,其通过对一定数量的AD转换后的模拟量求取平均值,滤除随机噪声的影响。但是其存在以下问题,当求取平均值的AD转换结果数量较少的时候,通过平均值滤波算法难以滤除随机噪声,尤其是波动范围较大的随机噪声的影响。反之,当求取平均值的AD转换结果数量较多的时候,一方面会造成测量结果的严重滞后,对测量的实时性造成影响;另一方面,由于平均值计算需要大量存储Float型数据,也会使本就捉襟见肘的嵌入式系统资源更加紧张。平均值滤波算法的改进型,滑动平均值滤波算法也存在相似问题。

技术实现思路

[0006]本专利技术实施例提供了一种基于嵌入式系统的模拟量滤波方法及装置,以解决现有技术中模拟量滤波方法占用嵌入式系统大量资源的技术问题。
[0007]第一方面,本专利技术实施例提供了一种基于嵌入式系统的模拟量滤波方法,包括:
[0008]获取前值采样数据序列均值,所述前值采样数据序列的采样信号个数处于预设的个数阈值范围内;
[0009]获取当前采样数据序列均值,所述当前采样数据序列的采样信号个数与前值采样数据的采样个数数量相同;
[0010]根据前值采样数据序列均值和当前采样数据序列均值对一阶互补滤波器的滤波系数进行更新;
[0011]根据更新后的滤波系数、前值采样数据序列和当前采样数据序列对当前采样数据
序列进行滤波。
[0012]进一步的,所述根据前值采样数据序列均值和当前采样数据序列均值对一阶互补滤波器的滤波系数进行更新,包括:
[0013]采用如下方式对滤波系数进行更新:
[0014]a=a+(PresentVakye-PreValue)*a*k/PresentVakye
[0015]其中,a为滤波系数,K为修正系数,其区间在0%至100%间,PreValue为前值采样数据序列均值,PresentVakye为当前采样数据序列均值。
[0016]进一步的,述获取前值采样数据序列均值,包括:
[0017]对前值采样数据序列的采样信号进行最大最小值滤波,得到滤波前值采样数据序列,并计算最大最小值滤波后的前值采样数据序列均值。
[0018]进一步的,所述获取当前采样数据序列均值,包括:
[0019]对当前采样数据序列的采样信号进行最大最小值滤波,得到滤波当前采样数据序列,并计算最大最小值滤波后的当前采样数据序列均值。
[0020]进一步的,所述前值采样数据序列的采样信号个数根据采样频率设定,以使得所述前值采样数据序列的初始数据和当前采样数据序列初始数据对应的时间差值满足预设的时间差值阈值。
[0021]进一步的,在获取前值采样数据序列均值之前,所述方法还包括:
[0022]设定初始一阶互补滤波器的滤波系数。
[0023]更进一步的,所述根据更新后的滤波系数、前值采样数据序列和当前采样数据序列对当前采样数据序列进行滤波,包括:
[0024]利用如下方式进行滤波:
[0025]滤波结果=PresentVakye*a+PreValue*(1-a)
[0026]第二方面,本专利技术实施例还提供了一种基于嵌入式系统的模拟量滤波装置,包括:
[0027]第一获取模块,用于获取前值采样数据序列均值,所述前值采样数据序列的采样信号个数处于预设的个数阈值范围内;
[0028]第二获取模块,用于获取当前采样数据序列均值,所述当前采样数据序列的采样信号个数与前值采样数据的采样个数数量相同;
[0029]更新模块,用于根据前值采样数据序列均值和当前采样数据序列均值对一阶互补滤波器的滤波系数进行更新;
[0030]滤波模块,用于根据更新后的滤波系数、前值采样数据序列和当前采样数据序列对当前采样数据序列进行滤波。
[0031]进一步的,所述更新模块用于:
[0032]采用如下方式对滤波系数进行更新:
[0033]a=a+(PresentVakye-PreValue)*a*k/PresentVakye
[0034]其中,a为滤波系数,K为修正系数,其区间在0%至100%间,PreValue为前值采样数据序列均值,PresentVakye为当前采样数据序列均值。
[0035]进一步的,所述第一获取模块,包括:
[0036]第一最大值滤波单元,用于对前值采样数据序列的采样信号进行最大最小值滤波,得到滤波前值采样数据序列,并计算最大最小值滤波后的前值采样数据序列均值。
[0037]进一步的,所述第二获取模块,包括:
[0038]第二最大值最小值单元,用于对当前采样数据序列的采样信号进行最大最小值滤波,得到滤波当前采样数据序列,并计算最大最小值滤波后的当前采样数据序列均值。
[0039]进一步的,所述前值采样数据序列的采样信号个数根据采样频率设定,以使得所述前值采样数据序列的初始数据和当前采样数据序列初始数据对应的时间差值满足预设的时间差值阈值。
[0040]进一步的,所述装置还包括:设定初始一阶互补滤波器的滤波系数。
[0041]更进一步的,所述滤波模块用于:
[0042]利用如下方式进行滤波:
[0043]滤波结果=PresentVakye*a+PreValue*(1-a)。
[0044]本专利技术实施例提供的基于嵌入式系统的模拟量滤波方法及装置,通过采集到的时间间隔较短的前值采样数据序列和当前采样数据序列,并计算前值采样数据序列均值和当前采样数据序列均值,由于前值采样数据序列和当前采样数据序列时间间隔非常短,可以将二者分别视作相关的参考量,利用一阶互补滤波器进行滤波计算。由于一阶互补滤波器运算较为简单,且涉及浮点运算的步骤较少,有限较少了嵌入式系统的运算负荷。同时可根据前值采样数据序列均值本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于嵌入式系统的模拟量滤波方法,其特征在于,包括:获取前值采样数据序列均值,所述前值采样数据序列的采样信号个数处于预设的个数阈值范围内;获取当前采样数据序列均值,所述当前采样数据序列的采样信号个数与前值采样数据的采样个数数量相同;根据前值采样数据序列均值和当前采样数据序列均值对一阶互补滤波器的滤波系数进行更新;根据更新后的滤波系数、前值采样数据序列和当前采样数据序列对当前采样数据序列进行滤波。2.根据权利要求1所述的方法,其特征在于,所述根据前值采样数据序列均值和当前采样数据序列均值对一阶互补滤波器的滤波系数进行更新,包括:采用如下方式对滤波系数进行更新:a=a+(PresentVakye-PreValue)*a*k/PresentVakye其中,a为滤波系数,K为修正系数,其区间在0%至100%间,PreValue为前值采样数据序列均值,PresentVakye为当前采样数据序列均值。3.根据权利要求1所述的方法,其特征在于,所述获取前值采样数据序列均值,包括:对前值采样数据序列的采样信号进行最大最小值滤波,得到滤波前值采样数据序列,并计算最大最小值滤波后的前值采样数据序列均值。4.根据权利要求1所述的方法,其特征在于,所述获取当前采样数据序列均值,包括:对当前采样数据序列的采样信号进行最大最小值滤波,得到滤波当前采样数据序列,并计算最大最小值滤波后的当前采样数据序列均值。5.根据权利要求1所述的方法,其特征在于,所述前值采样数据序列的采样信号个数根据采样频率设定,以使得所述前值采样数据序列的初始数据和当前采样数据序列初始数据对应的时间差值满足预设的时间差值阈...

【专利技术属性】
技术研发人员:刘继伟陈长喜
申请(专利权)人:天津农学院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1