原创 匠人DIY旋转时钟全程实播(连载25:滤波处理源程序)

2008-3-5 23:09 3698 9 12 分类: MCU/ 嵌入式

相关连接:jhinfo.gif [匠人DIY旋转时钟 系列文章 (连载中…)]


//--------------------------------------------------------
// 项目:
// 模块:滤波处理
// 说明:
// 设计:程序匠人(版权所有,引用者请保留原作者姓名)
//--------------------------------------------------------
/*
版本说明:
filter.c  2008-2-10 15:36



*/
//--------------------------------------------------------



//--------------------------------------------------------
//插入文件包
//--------------------------------------------------------
#include "common.h"
//--------------------------------------------------------



//--------------------------------------------------------
//单字节递推中位值平均滤波
//功能: 1.将新采样值压入队列
// 2.将队列中数据减去最大值和最小值,然后求平均值(小数四舍五入)
//入口: NEW_DATA =新采样值
// QUEUE  =队列
// n  =队列长度
//出口:   =滤波结果(平均值)
//--------------------------------------------------------
tU08 filter1(tU08 NEW_DATA,tU08 QUEUE[],tU08 n) {
 tU08 max;
 tU08 min;
 tU16 sum;
 tU08 i;
 
 QUEUE[0]=NEW_DATA;     //新采样值入队列
 max=QUEUE[0];
 min=QUEUE[0];
 sum=QUEUE[0];


 for(i=n-1;i!=0;i--)
 {
  if ( QUEUE > max ) max = QUEUE;  //比较并更新最大值
  else if ( QUEUE < min ) min = QUEUE; //比较并更新最小值


  sum = sum + QUEUE;    //追加到和值
  QUEUE = QUEUE[i-1];    //队列更新


 }
        i = n - 2; 
        sum = sum - max - min + i/2;
        sum = sum / i;                           //平均值=(和值-最大值-最小值+n/2)/(队列长度-2)
        //说明:+(n-2)/2的目的是为了四舍五入
 return ((tU08) sum)  ;
 
}


 


//--------------------------------------------------------
//
// THE END
//
// 版权所有:程序匠人(引用者请保留原作者姓名)
//
//--------------------------------------------------------


 

PARTNER CONTENT

文章评论3条评论)

登录后参与讨论

xucun915_925777961 2008-6-20 17:41

支持!!!

程序匠人 2008-3-6 23:06

请继续支持,呵呵 -------------------- icefier 2008-3-6 22:24:29 哇...传说中的匠人也入驻EDN啦...搬家搬得挺类吧...

用户554377 2008-3-6 22:24

哇...传说中的匠人也入驻EDN啦...搬家搬得挺类吧...

用户66328 2007-4-25 21:44

第一个问题我不清楚!第二个,好象温度这块的很多!而且很多都是数字的!!

用户1053025 2007-4-24 10:50

好文章!

用户7564 2007-4-22 10:38

    本人正在做一个实验项目: 使用TI 的TMS320LF2407A开发板做 A/D 实验, 将汽车温度传感器,速度传感器,液为传感器的信号输入到DSP中,

       我的问题是:

      1.如何将模拟信号转化为允许的 0~5 V 的电压,有没有现成的芯片或板子.

      2.以上用到的传感器有没有直接输出数字信号的.

恳请高手给予指点,谢谢.

另:我是学软件的 ,对硬件尤其是电路几乎是一无所知.

 

相关推荐阅读
程序匠人 2011-08-19 16:42
串口调试利器——《串口猎人》V31 免费发布!
匠人按:《串口猎人》V31是继之前的V26、V29版本之后的最新升级版本。诸多细节改进不一一道来了。免费发布。 下载:串口猎人 ( Serial Hunter ) V31 setup.rar (2.7...
程序匠人 2011-06-24 11:25
匠人开发的一款串口调试工具——串口猎人 ( Serial Hunter ) V26
《串口猎人》十大功能简介: 1、基本功能,支持基本的 收、发、查看、保存、清除等功能。2、基本功能,自动/手动搜索串口,串口参数的设置和查看。3、基本功能,支持HEX/ASCII/中文汉字收发。4、高...
程序匠人 2010-07-10 20:49
招聘会花絮
招聘会花絮招聘会上常常会遇到一些让人啼笑皆非的趣闻和花絮:花絮1:应聘者:“偶是来应聘某某职位的,这是偶的简历。”匠人:“您好!请坐……”(一边接过简历一边随口问道)“哪年毕业的?”应聘者(脸不红心不...
程序匠人 2010-07-08 10:40
给我64只章鱼,我也可以通吃世界杯了
昨天谁赢了?西班牙?德国?——还是保罗?忘记那些足球专家和名宿们吧,甚至被认为是乌鸦嘴的贝利。他们的预测在章鱼保罗的面前,简直就是小儿科。经过90分钟的恶战,西班牙队1比0淘汰了章鱼保罗的祖国德国队。...
程序匠人 2010-06-28 14:11
周末,在佘山钓鱼(有图有真相)
昨天和木华去佘山钓鱼俺的个人战绩:钓出水面3条小鱼,收杆不及时脱钩1条,从水桶中又蹦出去1条……大家肯定很好奇,最后一条,匠人怎么处理的呀?呵呵 放生?or回家烧鱼汤? 鱼头烧汤鱼肚清蒸鱼尾红烧可怜,...
程序匠人 2010-05-05 20:02
通过两张趣图,看工程师的自我反省
很久没有关注其他网友的博客了,那天机缘巧合,看到两位网友分别转载的图片,很有意思。第一张图片来源国外,是一个关于程序员面试时的简历,被人事部门和程序员本身评审的角度不同的图片。当然,这是一个从国外面试...
EE直播间
更多
我要评论
3
9
关闭 站长推荐上一条 /3 下一条