ldh119 发表于 2009-9-5 11:31:12

请教《深入浅出》一书中的AD滤波算法

版主您好:
您著作的的《深入浅出》滑动窗口均值滤波(P181)中的优化代码里:(第三行)全局变量声明里有static uint s_wADCBuffer;
这个 静态数组是否应该放到Insert_Aadc_ISR_Code(unsiged int ADCValue)函数里啊。

如果不是,请教一下将静态变量放到全局变量声明中的原因。
还望赐教,不胜感谢

另:咨询一下,ADC_BUFF_SIZE在实际应用中一般设成多少?

Gorgon_Meducer 发表于 2009-9-5 20:10:17

首先ADC_BUFF_SIZE应该根据你的应用来设定,比如,你的应用环境噪声较大,
同时,对AD信号变化的响应速度要求不高,此时,应该将ADC_BUFF_SIZE设置
较大的值。

如果你的应用环境,噪声较小,但是偶尔存在毛刺,对AD信号变化的响应速度
要求较高,此时应该选择较小的ADC_BUFF_SIZE,比如8以内。

有时候,为了权衡SIZE和速度的关系,可以通过加大SIZE的同时,提高采样频率
来获得一个折衷的效果。代价是:系统资源消耗较大。

关于181页,你说得没有错,应该放进中断处理程序里面。谢谢你的指出。这应该
是我们编写阶段的疏忽,由于并没有影响执行,也没有笔误,因此逃过了历次的
审稿……谢谢你。这个错误会在第三次印刷中修正。

ldh119 发表于 2009-9-15 14:14:37

客气

wugaohui04 发表于 2010-2-24 10:14:02

MARK

ba_wang_mao 发表于 2010-2-24 17:13:02

在8位单片机上搞滤波算法(例如:加权平均等等),基本上是无效的(前提:干扰强度很小)

例如:如果使用非常强的干扰源"对讲机"干扰模入采集,就必须使用DSP芯片就行低通滤波算法/高通滤波算法
才能根本解决问题.

Gorgon_Meducer 发表于 2010-2-24 17:22:57

to 【4楼】 ba_wang_mao
    要看什么用途,比如在简单的自动机械类应用(大学生竞赛类机器人)中,
很多传感器的信号是需要进行简单的滤波处理的。不应该一棒子打死所有的可能。

cos 发表于 2012-12-14 12:41:58

很多都要用到。

mcu_lover 发表于 2012-12-14 12:48:10

ba_wang_mao 发表于 2010-2-24 17:13
在8位单片机上搞滤波算法(例如:加权平均等等),基本上是无效的(前提:干扰强度很小)

例如:如果使用非常强 ...

不能以偏概全。

Gorgon_Meducer 发表于 2012-12-14 17:35:32

ba_wang_mao 发表于 2010-2-24 17:13 static/image/common/back.gif
在8位单片机上搞滤波算法(例如:加权平均等等),基本上是无效的(前提:干扰强度很小)

例如:如果使用非常强 ...

要看你原始信号的频率,你采样的速率要求了,如果原始信号的频率和Walkie-talkie频率接近,这个
的确不好办,如果原是信号本来就是个稳定且缓慢变化的信号,怕毛线啊!来人啊,给哥加个电容,
在开个大深度的滑窗!

eduhf_123 发表于 2012-12-14 18:15:21

Gorgon_Meducer 发表于 2012-12-14 17:35 static/image/common/back.gif
要看你原始信号的频率,你采样的速率要求了,如果原始信号的频率和Walkie-talkie频率接近,这个
的确不好办,如果原是信号本来就是个稳定且缓慢变化的信号,怕毛线啊!来人啊,给哥加个电容,
在开个大深度的滑窗!

不要说脏话、不要说脏话……
{:lol:} {:lol:} {:lol:}

Gorgon_Meducer 发表于 2012-12-14 18:33:40

eduhf_123 发表于 2012-12-14 18:15 static/image/common/back.gif
不要说脏话、不要说脏话……

毛线很文明的好不好……要不你说说典故?

475627406 发表于 2012-12-14 18:37:58

不说怕毛线啊!难道说怕啥子!

SUNZHILIANG 发表于 2013-2-2 17:20:36

这个不错。。。

SUNZHILIANG 发表于 2013-2-2 19:51:48

MARK!!!!!!!!!!!!!!
页: [1]
查看完整版本: 请教《深入浅出》一书中的AD滤波算法