常用ADC滤波处理

  #define N 70

  XDATA WORD Value_buf[N];
  XDATA DWORD ADCValue;

  static BYTE v_gu8cnt=0;
  static BYTE i=0;
  static XDATA DWORD AdcReturn=0;

Value_buf[i++]=Key_ScanValue(ADCKEY1);
    if(i==N)
        i=0;
    for(v_gu8cnt=0;v_gu8cnt<N;v_gu8cnt++)   //Smoothing filter
        {
            v_gu16AD_Data+=Value_buf[v_gu8cnt];
            if(v_gu8cnt==N-1)
                {
                    AdcReturn=v_gu16AD_Data;
                    v_gu16AD_Data=Value_buf[v_gu8cnt];
                }
        }
    ADCValue=AdcReturn/N;
时间: 2024-10-20 02:44:21

常用ADC滤波处理的相关文章

常用数字滤波算法总结

在单片机进行数据采集时,会遇到数据的随机误差,随机误差是由随机干扰引起的,其特点是在相同条件下测量同一量时,其大小和符号会现无规则的变化而无法预测,但多次测量的结果符合统计规律.为克服随机干扰引起的误差,硬件上可采用滤波技术,软件上可采用软件算法实现数字滤波.滤波算法往往是系统测控算法的一个重要组成部分,实时性很强. 采用数字滤波算法克服随机干扰的误差具有以下优点:   1.数字滤波无需其他的硬件成本,只用一个计算过程,可靠性高,不存在阻抗匹配问题.尤其是数字滤波可以对频率很低的信号进行滤波,这

[理论基础]二维图像滤波处理的理论基础

两个信号在时域的卷积等于频域的乘积.而二维图像常用的滤波处理,就是二维图像与一个3*3或者5*5的滤波数组的卷积,对应于该二维图像与 滤波数组经过傅里叶变换到频域后数据的乘积.正式因为这个数学特征,使得我们在时域看起来很难处理的频率滤波,在频域非常容易得以实现. 通过下面的3张图,很容易理解图像数据里高频信号和低频信号的概念: 1.原图及傅里叶变换幅度(左下)与相位图(右下) 2.傅里叶变换幅度图中心圆外面部分(高频部分)全零与反傅里叶变换后的原图 3.傅里叶变换幅度图中心圆里面部分(低频部分)

基于zedBoard的手势识别及桌面操控系统_项目论文

基于zedBoard的手势识别及桌面操控系统 山东大学信息学院集成电路 Sorin 目录 基于zedBoard的手势识别及桌面操控系统........................................................................ 1 综述..........................................................................................................

电子基础篇3---电感篇

电感器作为电容的姊妹篇,其传奇色彩并列电阻.电容.晶体管. 电感器,主要构造由“绕圈”的铜线构成,由于通电的导线在导线周围可以形成环形磁场,“绕圈”得导线磁场可以叠加形成更为强烈的磁场. 磁场和电场.重力场极为相似,都是能量场,即能量差场. 重点:场以一种能量差环境,能量不均衡地带就有可能产生,能量移动.有能量移动就有能量吸收和释放.电流给线圈充磁,磁场建立(能量场建立),能量转移到磁场,电流消失,磁场差出现,磁场能转化为电能.(目前各种变压器.开关电源大都使用磁场能量转换原理制作) 而电感就是

嵌入式开发10种常见数字滤波算法

在单片机开发中,经常需要对输入的数据进行过滤处理,如传感器数据输出,AD采样等,合适的滤波处理能达到更好效果.下面分享几种较简单而常用的滤波算法: 一.限幅滤波法(又称程序判断滤波法)二.中位值滤波法三.算术平均滤波法四.递推平均滤波法五.中位值平均滤波法六.限幅平均滤波法七.一阶滞后滤波法八.加权递推平均滤波法九.消抖滤波法十.限幅消抖滤波法 TOC 一.限幅滤波法(又称程序判断滤波法) A.方法: 根据经验判断,确定两次采样允许的最大偏差值(设为A) 每次检测到新值时判断: 如果本次值与上次

MSP430之ADC采集滤波

占位符 1 /* 加权平均滤波 */ 2 static unsigned char coe[13] = {1,2,3,4,5,6,7,8,9,10,11,12,13}; 3 static unsigned int coeSum= 1+2+3+4+5+6+7+8+9+10+11+12+13; 4 unsigned long temp = 0; 5 6 for (i = 0; i<ADCN; i++) 7 { 8 temp += arr[i]*coe[i]; 9 } 10 temp = (unsig

【STM32H7教程】第45章 STM32H7的ADC应用之定时器触发配合DMA双缓冲

完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第45章       STM32H7的ADC应用之定时器触发配合DMA双缓冲 本章教程为大家讲解定时器触发配合DMA双缓冲做ADC数据采集,实际项目中有一定的使用价值,一个缓冲接收数据的时候,另一个缓冲可以做数据处理. 45.1 初学者重要提示 45.2 ADC稳压基准硬件设计 45.3 ADC驱动设计 45.4 ADC板级支持包(bsp_adc.c) 45.5 AD

【STM32H7教程】第46章 STM32H7的ADC应用之DMA方式多通道采样

完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第46章       STM32H7的ADC应用之DMA方式多通道采样 本章教程为大家讲解ADC+DMA方式的多通道数据采集,实际项目中有一定的使用价值,使用一路ADC就可以采集多个通道的数据. 46.1 初学者重要提示 46.2 ADC稳压基准硬件设计 46.3 ADC驱动设计 46.4 ADC板级支持包(bsp_adc.c) 46.5 ADC驱动移植和使用 46.

桥堆的参数选择以及滤波电容的选择

1.桥堆的参数选择: 2.滤波电容选择:对于整流电压的输出电压大小,大家一定不陌生.很多人会说,输出平均值全波0.9倍,半波0.45倍的交流有效.但是在设计中,我们常常发现一个事实,例如在半波整流后,输出电压得到的不止0.45倍,9V交流整流后可能有11-12V.之前我一直很困惑,是我记错了计算倍数吗?翻了很多书籍,公式当然是没错的.那到底怎么回事? 可能之前我们在学校学这个方面知识点的时候太过注重整流电路,而忽略了脉动比的概念,所以造成我们现在很多人对这一简单的知识不是很清晰.其实这里是由于整