打印
[程序源码]

用一阶RC滤波器解释IIR和FIR数字滤波器区别

[复制链接]
1950|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
首先从:

列微分方程:

解得:

求得冲激响应:


使用特权

评论回复
评分
参与人数 1威望 +10 收起 理由
congfenglong + 10 很给力!

相关帖子

沙发
叶春勇|  楼主 | 2020-5-22 15:59 | 只看该作者
用matlab画出冲激响应:

使用特权

评论回复
板凳
linzhiqi1| | 2020-5-22 16:00 | 只看该作者
数字和模拟的区别
一个是数字滤波一个是模拟滤波器
各有千秋,一言难尽。

使用特权

评论回复
地板
叶春勇|  楼主 | 2020-5-22 16:02 | 只看该作者
FIR滤波器的由来:
根据FIR滤波器的公式:

采用冲击响应不变法,对连续信号的冲激响应进行采样:

求得FIR传递序列:


使用特权

评论回复
5
叶春勇|  楼主 | 2020-5-22 16:03 | 只看该作者
用matlab,传递序列,求得RC=1,采样时间为0.1,采集65点

使用特权

评论回复
6
叶春勇|  楼主 | 2020-5-22 16:05 | 只看该作者
对传递序列进行DFT

观察得到,这是一个低通,且无零点

使用特权

评论回复
7
叶春勇|  楼主 | 2020-5-22 16:07 | 只看该作者
现在搞个信号4096个输入信号,x=0.5+0.5*sin(2*pi*1024*t/4096)

使用特权

评论回复
8
叶春勇|  楼主 | 2020-5-22 16:08 | 只看该作者
那么输出序列:
输出序列等于传递序列与输入的卷积

使用特权

评论回复
9
叶春勇|  楼主 | 2020-5-22 16:09 | 只看该作者
综上从FIR滤波器的设计来看,要求得传递函数,然后对传递函数进行采样,得到传递序列,这个传递序列与输入信号进行卷积,就是FIR滤波器。
这是用一阶RC低通滤波器的冲击响应去设计FIR滤波器。想法是疯狂的,实际上没人这么用fir滤波器,但是可以解释FIR的工作机制。

使用特权

评论回复
10
叶春勇|  楼主 | 2020-5-22 16:17 | 只看该作者
现在根据一阶RC滤波器的传递函数来设计个IIR滤波器

需要对H(s)进行z转换
这里采用向后差分法

经转换:



使用特权

评论回复
11
叶春勇|  楼主 | 2020-5-22 16:19 | 只看该作者
在matlab中用同样的方法观察输出波形

将输入的带偏置的正弦波进行了低通处理。

使用特权

评论回复
12
叶春勇|  楼主 | 2020-5-22 16:22 | 只看该作者
IIR滤波器
根据传递函数,从s域转换的z域,然后转换成差分方程。
经比较:
1、FIR滤波器是用传递序列与输入信号进行卷积,运算负担重。
2、IIR滤波器,只是一个简单的迭代,运算负担非常小,非常适合单片机,但是会有相位上的滞后。

使用特权

评论回复
13
叶春勇|  楼主 | 2020-5-22 16:52 | 只看该作者
linzhiqi1 发表于 2020-5-22 16:00
数字和模拟的区别
一个是数字滤波一个是模拟滤波器
各有千秋,一言难尽。 ...

根据二八定律,20%的知识,解决80%问题。
数字信号处理这本书很好,当我去思考什么才是那20%的知识。
最终发现
1、iir,一阶,二阶
2、fir,窗口法,频率采样法,iir搞不定的。
3、dft
4、相关
不知你觉得数字信号处理这本书的20%应该是什么?

使用特权

评论回复
14
qq553605454| | 2020-5-22 21:34 | 只看该作者
好贴。收藏。

使用特权

评论回复
15
00750| | 2020-5-23 11:08 | 只看该作者
mark

使用特权

评论回复
16
雪山飞狐D| | 2020-5-24 14:17 | 只看该作者
小伙子总结得不错

使用特权

评论回复
17
123987| | 2020-5-25 13:12 | 只看该作者
看这阵势小叶是要成为继Xu教授、HWM&may之后的第三股势力啊。呵呵!果然是长江后浪推前浪,一浪一浪又一浪。

使用特权

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

本版积分规则

151

主题

4810

帖子

50

粉丝