历史上的今天
返回首页

历史上的今天

今天是:2025年03月30日(星期日)

正在发生

2020年03月30日 | 单片机ADC采样算法----限幅平均滤波法

2020-03-30 来源:eefocus

限幅平均滤波法相当于“限幅滤波法”+“递推平均滤波法”,每次采样到的新数据先进行限幅处理,再送入队列进行递推平均滤波处理。


下面看C代码的实现


#define A 200

#define N 20

 

//返回两个整数差

unsigned int num_sub( unsigned int a, unsigned int b )

{

    return ( a >= b ? ( a - b ) : ( b - a ) );

}

 

unsigned int filter6( void )                            //采样正弦波 相位有延时

{

    static unsigned int value_buf[N];

    static unsigned int i = 0;

    unsigned int count;

    unsigned int  new_value = 0;

    static unsigned int last_value = 0;

    int  sum = 0;

    new_value = ReadVol_CH2();

    if( num_sub( new_value, last_value ) < A )

    {

        value_buf[i++] = new_value;

        last_value = new_value;

    }

    else

    {

        value_buf[i++] = last_value;

    }

    if( i == N )

    {

        i = 0;

    }

    for( count = 0; count < N; count++ )

    {

        sum += value_buf[count];

    }

    return ( unsigned int )( sum / N );

}

首先通过限幅滤波法对采样的数据进行筛选,对符合要求的数据,循环存储到数组中,最后对数组中的采样值取算数平均值。


void main( void )

{

    while( 1 )

    {

        val = ReadVol_CH2();            //读取AD采样值

        val1 =  filte6();

        printf( "A%drn", val );

        printf( "B%drn", val1 );

    }

}


主程序中循环读取AD口的采样值,并将采样值通过限幅平均滤波法进行滤波,通过串口分别打印原始采样值和滤波后的值,并通过串口将数据打印来,并在串口波形软件上显示。

蓝色曲线为采样的原始数据波形图,橙色曲线为经过限幅平均滤波法滤波后的波形图。通过两组曲线可以看出,经过滤波算法后,可以有效的滤出系统中出现的脉冲干扰,使得采样数据更加平滑。


限幅平均滤波法融合了限幅滤波法和递推平均滤波法的两种滤波算法的优点 ,使采样结果更加准确,但是计算速度会变慢,也需要一定的空间来存储数据。

推荐阅读

史海拾趣

Datalinear公司的发展小趣事

Datalinear公司成立于20世纪初,由一群热衷于数据处理的工程师创立。初创时期,公司面临着资金短缺、技术瓶颈和市场竞争激烈的挑战。然而,创始人凭借着对技术的执着和对市场的敏锐洞察力,成功开发出一款高效的数据处理设备,满足了当时市场对数据处理速度的需求。这款产品迅速在市场上打开销路,为Datalinear公司赢得了第一桶金。

Coherent Inc公司的发展小趣事

1966年,Coherent Inc.由一群斯坦福大学的研究人员共同创立,其中包括物理学家James Hobart。初创时期的公司致力于激光技术的研究和开发,逐渐积累起了丰富的技术底蕴。这种对技术的执着追求和不断探索,为公司的后续发展奠定了坚实的基础。

Hamlin ( Littelfuse )公司的发展小趣事

1966年,Coherent Inc.由一群斯坦福大学的研究人员共同创立,其中包括物理学家James Hobart。初创时期的公司致力于激光技术的研究和开发,逐渐积累起了丰富的技术底蕴。这种对技术的执着追求和不断探索,为公司的后续发展奠定了坚实的基础。

CHONGQING PINGYANG ELECTRONICS CO.,LTD.公司的发展小趣事

重庆平洋电子有限公司,自其1998年3月创立之初,便扎根于重庆这片热土,开始了其在电子行业的探索之旅。当时,电子行业正处于快速发展的阶段,市场竞争激烈。然而,公司凭借对市场的敏锐洞察和对技术的执着追求,成功研发出多款电子元器件,逐渐在市场中站稳脚跟。

Avic公司的发展小趣事

随着中国航空工业的快速发展,Avic公司不断加强在航空电子技术领域的研发和创新。公司成功研制出一系列先进的航空电子系统,这些系统不仅提高了飞机的性能和安全性,也为中国航空工业的国际竞争力奠定了坚实基础。Avic公司在航空电子领域的突破,不仅推动了国内航空工业的发展,也为国际航空市场带来了新的选择。

GainSpan ( Telit)公司的发展小趣事

为了进一步提升技术实力和创新能力,风华高科于1998年成为全国36家扩大博士后试点企业之一,并建立起国家级首批博士后流动工作站。这一举措为公司吸引了大量高层次人才,为公司的技术研发和产品创新提供了有力支持。同时,公司还注重内部人才培养和团队建设,形成了一支高素质的研发和生产队伍。这些人才为公司的发展注入了源源不断的动力。

问答坊 | AI 解惑

中断执行完和什么也没做似的,郁闷

我用的是51系列的单片机,做的一个在中断中执行键盘扫描的程序,用的LCD1602显示,但是当中断返回后,显示器上已经输入的东西会不见, 用的是外部中断,跳沿触发方式 请帮我看一下是什么问题啊 汇编语言的,        MOV R0, ...…

查看全部问答>

给安防人的动力。

3G助力 600亿元的家庭监控市场等待挖掘 早在2004年,中国视频监控行业应用市场总产值就已经达到151亿元人民币,相比2003年的123亿元人民币增长了近23%,并以每年20%左右的速度不断增长。分析机构调研显示,随着生活节奏的不断加快,家庭用户对安全 ...…

查看全部问答>

[转载].SSRAM、SDRAM和Flash简要介绍.[Memory]

转CalmBright兄的博文:http://www.cnblogs.com/CalmBright/archive/2009/07/19/1526569.html   Abstract 在用NIos II 调试sdram遇到了其容量计算的问题,现介绍如下 Introduction 问题1:什么是DRAM、SRAM、SDRAM? 答: ...…

查看全部问答>

各位前辈指点下,怎么学习嵌入式开发!

http://www.jslc.org.cn/list.php?act1=do&tid=48&ttid=102 这上面有嵌入式培训的网址: 兄弟我像学习嵌入式开发,不知道这个培训班的内容怎么样啊?各位前辈给点意见啊,谢谢! 下面是一些课程介绍: 课程体系 基于ARM的嵌入式研发 ...…

查看全部问答>

求助:我有一定的c#语言基础,我现在要开发一个GIS/GPS系统,请高手给点入门思路!

我有一定的c#语言基础,我现在要开发一个GIS系统,请高手给点入门思路! 我现在有好多问题不懂, 比如在开发GPS/GIS系统之前是不是要会制作和编辑地图? 如何将现有的电子地图应用到开发中,比如在现有地图上经度和纬度等 也许高手会觉得我问的 ...…

查看全部问答>

请教WinCE系统启动问题

我用的是一块2410的开发板,根据资料说明定制的系统下载到扳子上,系统能正确启动,但是当我使用自定义的系统编译时会提示ROM与RAM的地址冲突,提示错误为: Copy Section Offset:     8cef6f84 FileSys 4K Chunks/Mbyte: 12 ...…

查看全部问答>

什么是Arduino? 送给和我一样不明白的人

什么是Arduino?Arduino是一个比你的台式电脑更能够用来感应和控制现实物理世界的一套工具。 它由一个基于简易单片机并且开放源码的计算机平台,和一套为Arduino板编写程序 的开发环境组成。 Arduino可以用来开发交互产品,比如它可以读取大量 ...…

查看全部问答>

发帖纪念一下现代计算机之父——阿兰·图灵

今天闲来无事,在家看一本介绍二战期间密码破译的书,在看到有关图灵贡献一段时,突然意识到昨天是这位现代计算机之父的忌日,特发此帖纪念这位伟大的天才。下面是拜读百度上有关图灵的介绍:【概述】阿兰·麦席森·图灵(Alan Mathison& ...…

查看全部问答>

2812的工作频率

2812最高工作频率是150MHz,如果我只让它工作在15MHz,会不会有什么问题? 此外,外接晶体作为时钟源时,其频率和两个引脚的电容大小有什么关系吗?我看到开发板上用的是30MHz晶体和24pF电容。如果更改晶体频率,电容值也要作相应变动吗? 多谢!…

查看全部问答>

用手机DIY车库遥控器

几乎所有今天制造的设备是使用遥控器。这使我们的生活更容易,因为现在的趋势是使一切东西简单化,用户没有那么多时间和精力去研究较为复杂的设备。通过这一改造,现在可以用电话遥控家里的车库门,而不像以前一样只有一个遥控器装置,而且也不用再 ...…

查看全部问答>