- 16
- 0
- 约1.83万字
- 约 54页
- 2019-03-30 发布于江苏
- 举报
单片机实用算法设计
1 单片机滤波算法的设计
2 信号处理的FFT变换
3 SPWM正弦逆变算法的设计
4 PID控制算法
5 51单片机PID算法程序
6 模糊控制算法
1 单片机滤波算法的设计
电路的滤波分为模拟滤波与数字滤波。
其中数字滤波器具有精度高、高可靠性和高
稳定性的特点,因此被广泛应用。用数字滤波
算法克服随机误差主要有如下优点:
数字滤波由软件程序实现,不需要硬件,因
此 不存在阻抗匹配的问题;
对于多路信号输入通道,可以共用一个软件
“滤波器”,降低仪表的设计成本;
只要改变滤波器程序或元算参数,就能方便
的改变滤波特性。
下面我们介绍几种主要的数字滤波法:
A. 限幅滤波法
对于随机干扰, 限幅滤波是一种有效的方法;
基本方法:比较相邻n 和n - 1时刻的两个采
样值y(n)和y(n – 1),根据经验确定两次采样
允许的最大偏差。如果两次采样值的差值超过
最大偏差范围,认为发生可随机干扰,并认为后
一次采样值y(n)为非法值,应予删除,删除y(n)
后,可用y(n – 1) 代替y(n) ;若未超过所允许的
最大偏差范围,则认为本次采样值有效。
下面是限幅滤波程序:( A 值可根据实际情况调
整,value 为有效值,new_value 为当前采样值
滤波程序返回有效的实际值)
#define A 10
char value;
char filter()
{ char new_value;
new_value = get_ad();
if ( ( new_value - value A ) || ( value - new_value A ))
return value;
return new_value;
}
B.中位值滤波法
中位值滤波法能有效克服偶然因素引起的
波动或采样不稳定引起的误码等脉冲干扰;
对温度液位等缓慢变化的被测参数用此法
能收到良好的滤波效果,但是对于流量压力等
快速变化的参数一般不宜采用中位值滤波法;
基本方法:对某一被测参数连续采样n次
(一般n 取奇数) ,然后再把采样值按大小排列,
取中间值为本次采样值。
下面是中位值滤波程序:
#define N 11
char filter()
{ char value_buf[N],count,i,j,temp;
for ( count=0;countN;count++)
{ value_buf[count] = get_ad(); delay(); }
for (j=0;jN-1;j++)
{ for (i=0;iN-j;i++)
{ if ( value_buf[i]value_buf[i+1] )
{temp = value_buf[i]; value_buf[i] =
value_buf[i+1]; value_buf[i+1] = temp; }
}
}
return value_buf[(N-1)/2];
}
C.算术平均滤波法
算术平均滤波法适用于对一般的具有随机
干扰的信号进行滤波。这种信号的特点是信
号本身在某一数值范围附近上下波动,如测量
流量、液位;
基本方法:按输入的N 个采样数据,寻找这
样一个Y ,使得Y 与各个采样值之间的偏差
的平方和最小。
编写算术平均滤波法程序时严格注意:
一.为了加快数据测量的速度,可采用先测
量数据存放在存储器中,测完N 点后,再对N
个数据进行平均值计算;
二.选取适当的数据格式,也就是说采用定
点数还是采
您可能关注的文档
最近下载
- JVC摄像机GR-DX300AG用户手册.pdf
- 第1课 《邓稼先》:拳拳赤子心,璀璨星空梦(课件)-【大单元教学】七年级语文下册(统编版2024).pptx
- Netvault带库配置操作指引.docx VIP
- 《Netvault配置指南》课件.pptx VIP
- BRW500-31.5F型乳化液泵组随机图册教程.doc VIP
- NetVault Backup 简易操作指南.pdf VIP
- 曙光备份系统软件指南NetVault.pdf VIP
- 2024年青岛自招物理试题.docx VIP
- 2024年初中八年级下册名著《经典常谈》重点知识+内容概括+真题练习.pdf VIP
- 2025年八年级语文下册必读名著阅读《经典常谈》重点知识+内容概括+真题练习.docx VIP
原创力文档

文档评论(0)