打印
[匠人手记]

《匠人手记》之三《一阶滤波算法之深入研究》已经发布

[复制链接]
4146|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
程序匠人|  楼主 | 2007-1-18 00:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
《匠人手记》之三《一阶滤波算法之深入研究》

作者:程序匠人                  出处:《匠人的百宝箱》

前言

关于一阶滤波的软件算法,匠人原来已经发表过一次,文件名称叫“《匠人手记》之三《一阶滤波方法》”。但当时限于时间仓促,只是简单地给出了两个流程图,没有做深入描述。

这次,匠人将根据历年来对该算法应用的切身体会,重新进行整理,并改正原文档中的错误。修改后的手记更名为“《匠人手记》之三《一阶滤波算法之深入研究》”。

另外:匠人将对以往的手记进行整理和完善,不断添加新的心得体会。逐渐将《匠人手记》系列**打造成网上的精品手记。


相关链接:http://blog.21ic.com/user1/349/archives/2007/34417.html

相关帖子

沙发
hotpower| | 2007-1-18 01:19 | 只看该作者

占个沙发~~~倒塌了~~~还来个预告

使用特权

评论回复
板凳
1ocean1| | 2007-1-18 08:29 | 只看该作者

关注中。。。

要再请个明星代言一下就更好了,呵呵

使用特权

评论回复
地板
gtw| | 2007-1-18 08:30 | 只看该作者

hotpower热电菜农激情代言,^_^

使用特权

评论回复
5
hotpower| | 2007-1-18 12:04 | 只看该作者

这个代言人不错~~~

使用特权

评论回复
6
程序匠人|  楼主 | 2007-1-20 01:16 | 只看该作者

快写完了

增加了一些文字和图片,打字打得手抽痉,明天再润色排版一下,应该就可以发布了。

匠人想将《匠人手记》写个100篇,然后找个机会集合出书,不知是否有这可能(不知道已经在网上发过的东西人家出版社是否感兴趣)。如能,则请HOTPOWER大叔来做封面女郎,一定火!

使用特权

评论回复
7
hotpower| | 2007-1-20 08:57 | 只看该作者

倒塌了~~~但匠人的愿望一定能实现!!!

辛勤耕作必有收获!!!

使用特权

评论回复
8
yewuyi| | 2007-1-20 09:15 | 只看该作者

呵呵,如此辛苦,俺一定捧场买你一本……

不过100篇似乎少了点……

使用特权

评论回复
9
hq_y| | 2007-1-20 10:03 | 只看该作者

哈哈,匠人的热情可嘉,要求签名售书~~~~~~~~~~~

使用特权

评论回复
10
程序匠人|  楼主 | 2007-1-21 01:12 | 只看该作者

《匠人手记》之三《一阶滤波算法之深入研究》已经发布

使用特权

评论回复
11
mryyh| | 2007-1-21 23:39 | 只看该作者

看了,不错。你看一下pdf文件中公式是不是写错了?

一阶低通滤波的算法公式为:Y(n)=αX(n) (1-α)Y(n-1)?

使用特权

评论回复
12
程序匠人|  楼主 | 2007-1-22 08:21 | 只看该作者

没错,这是原始的公式

一阶低通滤波的算法公式为:Y(n)=αX(n) (1-α)Y(n-1)?

答:没错,这是原始的公式

使用特权

评论回复
13
mryyh| | 2007-1-22 08:40 | 只看该作者

是不是这样呀?

Y(n)=αX(n)+(1-α)Y(n-1)

使用特权

评论回复
14
and| | 2007-1-22 09:18 | 只看该作者

好看好看!!

强烈支持出书!

使用特权

评论回复
15
程序匠人|  楼主 | 2007-1-22 10:55 | 只看该作者

哎呀,好像少了个加号

mryyh眼光独到,应该是Y(n)=αX(n)+(1-α)Y(n-1)。匠人回头去修改

使用特权

评论回复
16
IceAge| | 2007-1-22 22:02 | 只看该作者

顶一个。匠人善于从实践中进行归纳和总结

不过,个人认为似乎还不够深入,如果能从理论高度来分析一阶滤波算法,我想会更好,例如一阶的 RC 滤波算法。

使用特权

评论回复
17
碧水长天| | 2007-1-22 23:15 | 只看该作者

通常我是这么做的:

根据公式:Y(i) = x(i) * K + Y(i-1) *(1 - K),当采样周期T足够小时,
K≈T/(RC),此时滤波器的截止频率 f ≈ K /(2*3.14*T),具体推算可参考相关书籍。

为了准确复原信号,推荐RC > 10 * T,(RC为一阶RC滤波电路的时间常数,时间常数这个概念,建议看看一阶惯性系统的阶跃输入响应曲线即可)。通常我取K = 8 或者16。

Y(i) = x(i) * 0.125 + Y(i-1) * (1 - 0.125)。

这样,软件中可方便就可实现。

Y(i) = x(i) >> 3 + (Y(i-1) - (Y(i-1) >> 3));


至于移位时所摈弃的数据的处理,各有各的招法,就不罗嗦了。

----------------

不知道这样是否更实用和清晰一些,望大家尤其是匠人前辈拍砖。

             

使用特权

评论回复
18
楼亮亮| | 2010-1-29 22:56 | 只看该作者
记号以下

使用特权

评论回复
19
sword90| | 2010-2-2 10:45 | 只看该作者
支持下!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

734

主题

11156

帖子

675

粉丝