首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
测试测量
» 嵌入式测控系统中数字滤波算法的实现
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
嵌入式测控系统中数字滤波算法的实现
发短消息
加为好友
Bazinga
当前离线
UID
1023230
帖子
5213
精华
0
积分
2607
阅读权限
70
在线时间
158 小时
注册时间
2013-12-20
最后登录
2015-10-22
金牌会员
UID
1023230
1
#
打印
字体大小:
t
T
Bazinga
发表于 2014-8-10 17:33
|
只看该作者
嵌入式测控系统中数字滤波算法的实现
硬件
,
软件
,
嵌入式
,
控制器
0 引言
模拟信号都必须经过A/D转换才能被
嵌入式
控制器接收。但在干扰作用于模拟信号之后,其A/D转换结果往往会偏离真实值。因此,仅采样一次是无法确定该结果是否可信的,而必须多次采样,才能得到一个A/D转换的数据系列,然后通过某种处理,才能得到一个可信度较高的结果。这种从数据系列中提取逼近真值的软件算法,通常称为数字滤波算法。相对于硬件滤波,数字滤波的优越性在于其无需硬件且可靠性高,尤其对频率很高或很低的信号进行滤波。此外,由于对多输入通道可共用一个滤波程序,故可大大降低产品成本。
1 嵌入式测控系统中常见的数字滤波算法
1.1 限幅滤波
首先根据被测对象确定相邻两次采样所允许的最大差值△Y,然后在每次采样后和上次有效采样值进行比较,如果变化幅度不超过△Y,则本次采样有效;否则,本次采样值被视为干扰而放弃,而以上次采样值为准。其原理可用如下公式表示:
其中,yn为第n次采样值,yn-1为第(n-1)次采样值。
实现上述过程的参考程序(返回有效的采样值)如下:
限幅滤波主要用于处理变化比较缓慢的数据,如温度、湿度、液位等。该方法使用的关键是要选取合适的门限△Y。△Y通常可根据经验数据获得,必要时也可由实验得到。
1.2中值滤波
这种滤波方式一般对目标参数连续采样N次(N一般为奇数),然后把N次采样值进行排序,再取中间值作为有效值。对于变化很慢的参数,也可以增加采样次数。而对于变化较为剧烈的参数,此法不宜采用。其参考程序如下:
1.3算术平均滤波
该算法对目标参数先进行连续采样,然后求其算术平均值作为有效采样值。该算法适用于对具有随机干扰的信号进行滤波。这种信号的特点是有一个平均值。信号在某一数值附近上下波动。信号的平滑程度完全取决于采样次数N,采样次数越多,平滑效果越好,但系统的灵敏度也会下降。为方便求平均值,N一般取4、8、16之类的2的整数次幂,以便系统用移位法来代替除法。其参考程序如下:
1.4去极值平均滤波
算术平均滤波不能消除明显的脉冲干扰,而只是将其影响削弱。由于明显干扰会使采样值远离其真实值,因此可以比较容易地将其剔除,而不参加平均值计算,从而使平均滤波的输出值更接近真实值,这就是去极值算法,又称为防脉冲干扰平均值滤波算法。该方法的原理是连续采样N次,并将其累加求和,同时找出其中的最大值和最小值,再从累加和中减去最大值和最小值,再按N-2个采样值求平均,即可获得有效采样值。为方便求平均值,N-2应为2、4、8、16,故N常取4、6、10、18。其参考程序如下:
1.5加权平均滤波
算术平均滤波和去极值平均滤波均存在平滑性和灵敏性的矛盾。因为,采样次数太少,平滑效果差;采样次数太多,灵敏度下降,对参数的变化趋势不敏感。为协调两者的关系,可采用加权平均滤波。即对连续N次采样值分别乘上不同的加权系数之后再求累加和。加权系数一般先小后大,以突出后面若干采样的效果,来加强系统对参数变化趋势的辨识。各个加权系数均应是小于1的小数,且应满足总和等于1的约束条件。这样,加权运算之后的累加和即为有效采样值。为方便计算,可取各加权系数均为整数,且总和为256,加权运算之后的累加和再除以256后便是有效采样值。其参考程序如下:
1.6滑动平均滤波
以上介绍的各种平均滤波算法具有一个共同点,即每取得一个有效采样值都必须连续进行若干次采样,这些方法在采样速度较慢(如双积分型A/D转换)或目标参数变化较快时,系统的实时性往往不能得到保证。而滑动平均滤波算法只采样一次,它将这一次采样值和过去的若干次采样值一起求平均,然后所得到的有效采样值即可投入使用。这样,如果取N个采样值求平均,则RAM中必须开辟N个数据的暂存区。每新采集一个数据便存入暂存区,同时去掉一个最老的数据,以保持这N个数据始终是最近的数据。这种数据存放方式可以用环形队列数据结构来实现。其参考程序如下:
1.7低通滤波
将普通硬件RC低通滤波器的微分方程用差分方程来表示,便可用软件算法来模拟硬件滤波功能。经推导,对于低通滤波算法有:
式中Xn为本次采样值;Yn-1为上次的滤波输出值;α为滤波系数,其值<<1;Yn为本次滤波输出值。这种算法对变化缓慢的物理量是很有效的。但应注意一点,它不能滤除高于二分之一采样频率的干扰信号。比如采样频率为2 Hz,则对1 Hz以上的干扰信号通常应配合硬件滤波电路来滤除。该方法的参考程序如下:
2各种数字滤波方法对比
数字滤波的方法多种多样,表1给出了几种数字滤波算法的优缺点和适用对象。
3 结束语
基于
嵌入式
测控系统的数字滤波方法多种多样,因此,在选择滤波方法时,首先要考虑
微控制器
的存储量、运算时间、运算能力以及实时性是否满足实际要求。然后再根据主要的干扰源(对系统的测试精度影响最大的干扰源)和测试对象的特点来选择合适的滤波方法。
收藏
分享
评分
the king of nerds
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议