一种数字滤波计算的方法与流程

文档序号:19578601发布日期:2019-12-31 19:43阅读:460来源:国知局
一种数字滤波计算的方法与流程

本发明涉及模拟量采集数据算法领域,具体是一种模拟量采集数据处理的软件数字滤波估值计算的方法。



背景技术:

现代商业消费及工业生产领域,智能设备中模拟量输入信号的采集和处理是较为常见的基本组成,是控制和监控的前端核心单元,被广泛应用;模拟量采集是基本数字化技术、通过模拟数字转化adc单元实现;现代智能芯片mcu/arm/dsp采用片上系统方案设计,除嵌入片上cpu指令系统内核,还嵌入快速模数转换adc及脉宽调制pwm完成测量及控制,其中,模拟量测量内置10bit/12bit_sar_adc、采用逐次比较、采样数率高、精度优于0.1%/0.025%,满足大部分电子产品设计应用,一般设计者基于系统复杂性、材料成本、信号测量精度/动态速率性能比考虑,并不会额外配置双斜率积分16bit_dsi_adc或调制比较采样24bit_delta-segma_adc。

模拟量信号采集包括调理测量、模数转换、记录存储,采集的测量过程中,会产生测量误差,还会受到外部环境影响、如温度、湿度、压力、静电场、射频场、电磁场,有时还会受到智能设备的自身工况改变导致测量电路环境相应改变,采集的信号会相应受到短时的高幅度跳变或随机的低幅度慢变干扰,导致数据不准确,存在干扰及随机误差,影响采集结果,严重时会导致智能设备工作异常。

因此,系统测量采集后需要数据处理、实施数字滤波计算、按一定的设计目标和方法降低、限制或去除短时冲击信号以及周期性的干扰信号,减少智能设备因为使用不当的原始数据导致的运行流程异常或超界误判而导致系统失常或失控。

常用的数字滤波算法有:限幅法、中值法、算术均值法、滑动均值法、一阶滞后法;这些算法的基本原理是,采用消抖或统计抖动次数对应处理源数据、选取算法限制范围内数据的中位值、计算均值或加权估值作为滤波结果,取得统计学意义下误差较小的数据估计值,并相应过滤噪声、使估计值相对于源数据降低或消除随机干扰、接近信号源。

在新能源动力锂电池系统应用中,额定电压3.2v铁锂/3.7v三元锂电电池采用多串复合并联串联组成动力电池包,其中,电压采样常采用高精度标定值,精度优于0.1%,单节电压标度为4.000/5.000v;系统电压标度为60.00v/75.00v,用于bpu保护单元及soc容量管理。

动力锂电池保护的设计和应用,主要针对高压过充以及低压过放,其中过充保护需要快速采样、快速动作,即便精度不足0.1%,但优于1-5%即可,安全的快速保护及低误判是设计者及应用者的优选设计目标,在保护动作前后,检测到的充电电压主要指接入或准备接入、正在接入、正在脱离电池的充电电源或配电单元的电压,与电池的接入脱离以及电源极小负载改变的伏安特性相关,检测电路的电环境工况会相应发生改变;电池保护的另一项目即过放保护,需要适当的慢速动作,原因是过放保护动作点主要是针对电池内部的放电容量平台,电压也就实际针对平台电压,此电压与当前放电电流、容量、内阻、工作温度密切关联,且实际与当前时刻的前一段时间内电压平均值关联,而且,在保护动作前后,检测到的放电电压主要指已接通或准备接通、正在接通、正在脱离电池的放电电机或控制器的电压,与电池放电的接通脱离以及负载改变的伏安特性相关,其中也包括电感续流、电容短路特性,检测电路的电环境工况会相应发生改变。

类似的,用于充电的开关电源,当开关机、负突变载时,电压值快速改变,此时模拟量检测应能快速响应;当负载稳定时,电压稳定,此时模拟量检测应稳定而不会因为电路随机干扰出现脉动跳变。

根据以上的动力电池及电源的模拟量参数测量模式,可以看到,一些电子系统的模拟量采样及数据处理,会同时面临两种基本方式,其一方面是快速变化的中等精度模拟量采样及数据处理、此类数据对低幅干扰不敏感,另一方面是较高精度但缓慢变化的模拟量采样及数据处理、此类数据对低幅干扰敏感性高。

现有技术中,一些算法的滤波效果很好,但需要与数据特征模型关联的参数较多,或是算法的数据内存、数据计算的需求量太大,或是代码量太大,不适合资源配置简单的mcu智能系统的应用。

现有技术中,常常用到算术均值滤波算法,即连续取n个采样值进行算术平均运算,此算法特点是能较好的去除随机干扰导致的测量误差实现滤波,平滑度随n增大而提高,时敏度随n减小而提高。

现有技术中,部分系统也用到一阶滞后滤波法,即引入0<a<1作为滤波加权系数,计算a*本次采样值+(1-a)*上次滤波值作为本次滤波值,此算法对周期性干扰具有良好的抑制作用,但缺点是,只能消除低于一半采样频率的干扰信号、滤波相位滞后;同一个参数a,当滤波系数a越小,滤波结果越平稳,数据时敏度越低,信号低通频段收窄,无法及时跟进瞬变数据量,当滤波系数a越大,数据时敏度越高,但是滤波结果平滑性降低,滤波衰减频段收窄,可见一阶滞后滤波定值权系数无法完美兼顾灵敏度和平稳度。

总的来说,针对这类数据采集和处理系统,目前对于简单的mcu类型的处理器,需要简单实用、性价比高、通用性强的数字滤波算法,分别按数据类型处理、兼顾采样数据时间敏感度和滤波平滑度。



技术实现要素:

本发明的目的在于提供一种能实现全量程适用、输出稳定、区分数据场景、兼顾快速响应、抗干扰性好、平滑性好的数字滤波计算的方法,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:一种数字滤波计算的方法,具体步骤如下:

(1)选定用于采样转换、数字滤波的常数及数集,其中包括:

1.1、选定正整数m,j,m≧4,j≧2;

1.2、选定采样周期为ts的逐次比较sar-adc转换器采样;

1.3、选定信号满量程xfull及限幅xup=p*xfull,0.5≦p≦1;

1.4、选定离散数集{ai,i=1...j},满足:0<ai-1<ai<1;{ci,i=0,1...j},满足:c0=0,0<ci-1<ci<1;

1.5、选定滤波估值zn初值z0,0≦z0≦xup;

(2)连续采样并对数据计算抗扰算术平均滤波值yn,其中包括:

2.1、在第n个数据周期开始,连续获取采样值数据x1,x2...xm;

2.2、计算:yn=(sum[xi,i=1...m]-xmax-xmin)/(m-2),其中,xmax=max[xi,i=1...m],xmin=min[xi,i=1...m];

(3)对采样均值结果yn计算一阶滞后滤波值zn,其中包括:

3.1、计算:残差率c=|yn-zn-1|/xup;

3.2、计算:权系数a=[(a1,c0≦c<c1),...,(aj,cj-1≦c<cj)];

3.3、计算:滤波值zn=a*yn+(1-a)*zn-1,n≧1。

进一步地,所述滤波估值初值z0,可取值范围为0≦z0≦xup,其中分别包括:

(1)选定z0=0,即初值为0;

(2)选定z0=xup,即初值为最大值;

(3)选定z0=xnom,即初值为硬件标称额定值,xnom<xup;

(4)选定zo=xset,即初值为软件标定上电值,xset<xup。

进一步地,所述参数xfull是采样设计满量程标度值,参数xup=p*xfull是采样限制幅值,即在单次采样转换算法中实施限幅判定,其中p是限幅系数,取值范围为0.5≦p≦1;优选设计应用值为:0.85≦p≦0.95。

进一步地,所述正整数m是算法中连续采样次数,选定范围为:4≦m≦100,优选设计应用值为:10≦m≦20。

进一步地,所述参数c为残差率,由c值大小按差权表[ai,ci]的分段区间[ci,i=1,.,j],判定选择对应权值a=ai;用于估值计算;其中包括:

(1)所述正整数j,选定范围:2≦j≦10,优选值:2≦j≦4;

(2)所述参数ci,取值范围:0≦ci<1,优选值:0.01≦ci≦0.1;

(3)所述参数ai,取值范围:0<ai<1,优选值:1/20≦ai≦1/2。

进一步地,所述采样器在数据估值周期内采样空闲时间为tf,其中包括:

(1)选定连续采样中断服务处理数据,空闲时间忽略,tf=0;

(2)选定调用采样查询等待处理数据,空闲时间为处理器单循环周期内其他流程运行时间。

进一步地,所述逐次比较sar-adc采样周期为ts,m个连续采样x1,x2...xm占时为mts,数据估值周期内采样空闲时间为tf,总占时为ty=mts+tf,所述数据一阶滞后算法低通频率对应为0~fz,fz=a/(2π*ty)。

进一步地,可选定{ai=1/gi,i=1...j},满足:gi为正整数,gi>gi+1;

算法中,对应计算是:a=1/g,zn=(yn+(g-1)*zn-1)/g;

算法中,对应计算公式也是:zn=zn-1+(yn-zn-1)/g。

进一步地,可选定gi为二进制幂正整数,即gi=2i,i=1...j;算法中,对应计算公式是,采用二进数制:zn=zn-1+u*|yn-zn-1|>>i,其中,[(u=1,yn>zn-1),(u=-1,yn≦zn-1)],>>是二进制右移运算。

本发明中复合引用了三个基本数字滤波算法,一是防干扰/防脉冲/防尖峰的去除最大最小值滤波,二是很好的去除周期性干扰的算术平均滤波,三是一阶滞后低通滤波、能有效的去除更为低频周期的随机干扰或系统脉动误差干扰、并引用采样值yn与上次滤波估值zn-1的残差率c,引用差权表[ai,ci]调节估值加权系数a,相应调节一阶滞后低通滤波的截止频率及平滑时间;较大的改进了单一定值权系数一阶滞后滤波关于时间敏感性和估值平滑性的相对矛盾、实现有效滤波。

所述一阶滞后平滑数字滤波算法,基于如下事实:

rc低通滤波电路是一阶滞后低通电子无源滤波器;拉普拉斯方程为一阶,传递函数为h(s)=1/(1+st)、时间常数t=rc、单极点1/2πt;rc低通电路时域响应特性是无振荡的惯性积分过程、冲击响应是由暂态按指数特性转移到稳态的过渡过程;由幅频及相频公式和特性图可知,滤波器特性为:幅值响应呈现低频段直通至高频段衰减、相位响应呈现低频段0°至高频段90°滞后、截止频率为fc=1/2πt;按ts时间单位离散化分析可得差分方程式:yn+(yn-yn-1)t/ts=xn;即有:yn=a*xn+(1-a)*yn-1,a=1/(1+t/ts);当特别选择a=1/g、g为正整数,即有:yn=(xn+(g-1)*yn-1)/g。

由以上分析可知,一阶滞后数字滤波算法yn=a*xn+(1-a)*yn-1,0<a<1;与rc低通滤波电路差分方程表达式相同,具备滞后低通平滑滤波基本特性;相应的滤波估值权系数a,对应ts为采样时间、t为滤波估值滞后时间,滞后滤波幅频特性的截止频率为fc=a/(1-a)2πts,一般设计选择t>>ts,即a<<1,于是有a/(1-a)≈a,fc=a/2πts。

与现有技术相比,本发明的有益效果是:

1、本发明的数字滤波计算的方法实现了优良的数据采样后数字滤波计算,全量程适用、快速响应、抗干扰性好、平滑性好、输出稳定。

2、本发明的数字滤波计算的方法算法清晰明了、公式数字化、简单实用、程序流程及代码易于实现,相对于复杂的数字滤波算法简单、较少占用微处理器资源且代码简洁。

3、本发明的数字滤波计算的方法相对于现有简单的数字滤波算法、较大的改进了复杂类型数据对滤波器关于时间敏感性和估值平滑性的相对矛盾、大幅提高滤波算法多场景和复杂数据的有效性,具有很高的实用价值。

附图说明

图1是本发明数字滤波算法基本流程图;

图2是本发明选定差权分区a-c离散函数图;

图3是本发明不同权系数a1/a2/a3一阶滞后滤波幅频图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例中,一种数字滤波计算的方法,总体流程如图1所示,该数字滤波算法流程是:初始化、迭代计算、数据调用,主要步骤包括:

p11、初始化,配置采样单元sar-ad,选定与之有关的定时器、分频值设定、通道号、数据获取中断或查询模式参数;

p12、初始化,配置ad满量程标度值,设置限幅值,均值计数m;

p13、初始化,设置滤波初值z0,配置差权表[ci,ai;i=1...j];

p14、调用采样子程序,获取xi,i=1...m,计算抗扰均值yn;

p15、计算|yn-zn-1|及残差率c,由差权表分区c判断得到权值a;

p16、由a,yn,zn-1计算zn,结果迭代存入zn-1;

p17、存储、输出结果。

以上步骤p11、p12、p13为滤波算法的初始化流程,代码方式可以是常数定义、常数赋值、判断语句常数;参数存放可以是代码段,也可以是自定义数据区,或可修改数据存储区,由程序设计自行定义;

以上步骤p14、p15、p16为滤波算法的迭代计算流程,代码方式可以是主流程或子程序流程,后者便于设计、也便于多场景数据调用或多通道ad数据处理的调用;

以上步骤p17,为数字滤波值的存放处理;一般采用全局变量、使用较为方便的动态存储方式、便于编程引用和数据调用。

本发明实施例中,结合附图2、附图3对本发明实施例作进一步说明,该实施例包括如下步骤:

s11、采样sar-ad定义是:10bit/mcu_11.0592m/sps>300k;

s12、采样滤波算法基本常数定义是:

j=3,m=20,p=0.9,xfull=7200,xup=6480,z0=4800;

对应模拟量放大100倍整数化,vnom=48.00v=>4800;

s13、如图2所示,图中差权表[ai,ci;i=1...j]的相关定义是:

[c0=0,c1=5%,c2=9%,c3=1];

a=1/g,[a1=1/8,a2=1/4,a3=1/2];[g1=8,g2=4,g3=2];

s14、对应的滤波算法公式为:

yn=(sum[xi,i=1...20]-xmax-xmin)/18;

c=|yn-zn-1|/xup,(g=gi,ifci-1≦c<ci,1≦i≦3);

zn=(yn+(g-1)*zn-1)/g=zn-1+(yn-zn-1)/g;

该实施例中,抗扰均值计算选定m=20次采样,迭代算法;

一阶滞后计算部分,选择二进制幂整分数a=1/g,g=2i;差权表分三段、即j=3,计算残差率c,判断得到权系数a:当c<5%,a=1/8,当5%<c<9%,a=1/4,当c>9%,a=1/2;估值计算采取尾数四舍五入。

附图2是本实例差权分段离散函数图,包括残差率c和权系数a的对应取值分段;附图3是本实例对应于不同权系数a1=1/8、a2=1/4、a3=1/2,截止频率对应于fc1、fc2、fc3的幅频特性图。

相应子程序代码:

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1