• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

【我是工程师】从模拟到数字:深入理解一阶RC低通滤波 已更新~

第一次发帖,跟在公司写报告一样,不知道如何从最简单的部分展开以及组织语言,大概列个框架,写写自己的理解,如果纰漏还请大神们指正~

1、RC低通滤波时域分析

2、RC低通滤波频域分析

3、软件上常用滤波算法

4、Z变换(离散化)


没人看,自己继续~

1、 RC低通滤波时域分析

不废话,先上图,典型的RC滤波电路如下:

电工们对此电路都极为熟悉吧,不管直流、交流、脉冲信号都可以用它,不管什么产品原理图上必定都有这个玩意,先从我们最初认识它的时域开始吧,尽管现在已经退化到看见一阶微分方程就想死的地步^^

首先电容电流: 

根据基尔霍夫电压定律写出如下微分方程:

由于Vi 的单位是V,所以RC的单位则是时间,也就是大家熟知的时间常数t = RC

OK,至此大家是不是觉得一阶系统还是相当简单吧,那么如何求解这一阶微分方式还是交给数字本身吧,结果如下:

假设电容初始电压为0.

Mathcad 计算如下:

一阶RC系统的阶跃响应曲线如下:


5.1 这么快就过去了,哎,放假的日子总是这么短暂,忧伤之余还是赶紧来更帖子~

2、 RC低通滤波频域分析

1简化如下,

以电容电压为输出,电路的网络函数为:

令:

 Wc即为截止频率。

则幅值和相角函数如下:

根据上边公式画出一阶RC低通滤波的幅频和相频特性曲线,Mathcad计算如下:

幅频特性曲线改用对数坐标如下:

如上幅频和相频特性曲线,

当w

当w>>Wc时,是斜率与-20dB/十倍频成比例的一条直线。

当w=Wc时,增益衰减至0.707,即-3dB,相位滞后45°,对于低通滤波器,该频率通常被称为截止频率。


人气不多,谢谢娜姐给上了首页,动力十足呀~

频域大家搞电源的接触比较多,相对熟悉,我就埋个坑先从软件上常用的滤波算法说起吧。


3、 软件上常用滤波算法

当年还是菜鸟时,在网上流传有常用的10种软件滤波算法(最初源自21ic匠人之手),简单介绍如下:

1) 限幅滤波法

先根据经验判断,确定两次采样允许的最大偏差值,设为A。

每次检测到新采样值时进行判断:

(1)如果本次新采样值与上一次滤波效果之差<=A,则本次采样值有效,令本次滤波结果=新采样值;

(2)如果本次采样值与上次滤波结果之差>A,则本次采样值无效,放弃本次采样值,本次滤波结果=上次滤波结果。


2) 中位值滤波法

连续采样N次值,把采样值按大小排列,取中间值为本次有效值。


3) 算术平均滤波法

连续取N个值进行算术平均运算。

N较大时,信号平滑度较高,但灵敏度较低;N较小,信号平滑度低,但灵敏度较高。


4) 递推平均滤波法

把连续N个采集值看成一个队列,每次采集到的新数据放入队尾,并扔掉原来队首的数据。把队列中的N个数据进行平均计算,即可获得新的滤波结果。


5) 中位值平均滤波法

中位值平均滤波法又称脉冲干扰平均滤波法,相当于“中位值滤波法”+“算术平均滤波法”。

连续采集N个数据,去掉一个最大和最小值,然后计算N-2个数的平均值。


6) 递推中位值平均滤波法

相当于“中位值滤波法”+“递推平均滤波法”。

这种方法把连续N个值看成一个队列,每次采集到一个新数据放入队尾,并扔掉原来队首的值。

把队列中的N个数据先去掉一个最大值和最小值,然后计算N-2个数据的平均值。


7) 限幅平均滤波法

相当于“限幅滤波法”+“递推平均滤波法”。

每次采样先进行限幅处理,再进行队列平均滤波处理。


8) 一阶滞后滤波法

本次结果滤波结果 = a*本次采样值 + (1-a)*上次结果。

a代表滤波系数,a = 0~1。


只列出8个吧,有兴趣的朋友可以参考附件。仔细看上述8种方法,基本都很好理解。

后边我会针对 中值平均滤波 和 一阶滞后滤波 2种重点分析。

=====================================================

不过分析之前,先提出个问题:在一阶滞后滤波算法中,

为什么a的值必须在0~1之间?

在0~1之间,a的值到底该怎么选取,如何跟硬件上的RC参数对应起来呢?

这个问题当年困惑了我好久(别笑话俺额),网上也没有深入讲解,这个就是俺发此帖子的初衷,希望大家多讨论哈~


上边的坑先埋着,先从Z变换说起吧~

4、 Z变换(离散化)

频率分析中一阶RC低通滤波在S域的传递函数如下:

这里我们采用一阶后向差分法进行z变换。

(注:Z变换方式有很多种,如一阶前向差分、一阶后向差分、双线性变换法等,不多说了)

Z变换:

 T表示采样周期。

代入S域传递函数中:

继续推导如下:

继续转化为差分方程:

至此,通过Z变换我们把S域的传递函数转化为时域的差分方程。

这里通过最简单的一阶系统,给大家展现出从模拟到数字转化的基本过程,后边所有的开关电源的环路设计无不是在此基础上延伸展开。

全部回复(104)
正序查看
倒序查看
dobetter
LV.7
2
2015-04-25 00:00

1~4点终于发完了,不得不吐槽下这发帖的编辑功能严重不行呀~

后边重点介绍 中值平均滤波 和 一阶低通滤波的算法~

0
回复
dobetter
LV.7
3
2015-04-25 00:01
@dobetter
1~4点终于发完了,不得不吐槽下这发帖的编辑功能严重不行呀[图片]~后边重点介绍 中值平均滤波和一阶低通滤波的算法[图片]~

3楼占位用~

0
回复
dobetter
LV.7
4
2015-04-25 00:01
@dobetter
3楼占位用~
3楼占位用~
0
回复
2015-04-25 13:33
很认真 点赞。期待更新呢。
0
回复
dobetter
LV.7
6
2015-04-25 22:24
@电源网-天边
很认真点赞。期待更新呢。
,怎么这么没人气呢
0
回复
jamesrose
LV.1
7
2015-04-26 14:25
好东西!采样滤波时很用!赞一个!
0
回复
2015-04-26 14:37
加油,追更新
0
回复
2015-04-26 14:40
楼主继续啊
0
回复
dobetter
LV.7
10
2015-04-26 23:12
@jamesrose
好东西!采样滤波时很用!赞一个!
多谢捧场,后面会详细写拉氏变化到Z边换转化为差分方程的过程,最终到软件上如何实现低通滤波~
0
回复
dobetter
LV.7
11
2015-04-26 23:13
@一笑奈何
加油,追更新
,终于有动力了~
0
回复
dobetter
LV.7
12
2015-04-26 23:15
@且听彡风吟
楼主继续啊
嘿嘿,马上更新~
0
回复
2015-04-26 23:34
@dobetter
[图片],怎么这么没人气呢

零状态响应的详细分析过程,,期待后面Z变换的更新和软件的控制;

0
回复
2015-04-27 09:14
@dobetter
嘿嘿,马上更新~
这一马上 就是一晚上啊~ lz 加油填坑啊
0
回复
2015-04-27 10:12
@dobetter
3楼占位用~
我来加把火~~
0
回复
wanglujiwqq
LV.2
16
2015-04-27 21:20
@dobetter
多谢捧场,后面会详细写拉氏变化到Z边换转化为差分方程的过程,最终到软件上如何实现低通滤波~
期待LZ的精彩表现!
0
回复
dobetter
LV.7
17
2015-04-27 22:43
@电源网-娜娜姐
我来加把火~~
多谢娜姐~
0
回复
2015-04-28 22:59
a就相当于一个加权系数吧!不知道对否,我的理解是这样能够保证两次的采样值不会出现大的跳变,以便于后面控制部分。楼主如何理解的呢
0
回复
dobetter
LV.7
19
2015-04-29 23:46
@皇甫仁和
a就相当于一个加权系数吧!不知道对否,我的理解是这样能够保证两次的采样值不会出现大的跳变,以便于后面控制部分。楼主如何理解的呢

 恩,可以这么理解~

也就是说当前时刻的响应不仅与当前时刻输入有关,而且跟前面各个时刻响应有关,这样看着是不是有点类似积分的意思

而RC电路实际就是一个积分电路,输出电压近似为输入电压的积分~

0
回复
2015-04-30 15:40

投票正式开始,投出的每一票都至关重要,最终大奖花落谁家?我们拭目以待...扫描



点击:




该参赛作品编号为NO.37

0
回复
qqwater123
LV.4
21
2015-04-30 17:29
MARKING
0
回复
2015-04-30 17:34
@dobetter
[图片] 恩,可以这么理解~也就是说当前时刻的响应不仅与当前时刻输入有关,而且跟前面各个时刻响应有关,这样看着是不是有点类似积分的意思[图片]而RC电路实际就是一个积分电路,输出电压近似为输入电压的积分~
请继续~~5.1放假等看更新呢~~
0
回复
2015-04-30 19:41
@dobetter
[图片] 恩,可以这么理解~也就是说当前时刻的响应不仅与当前时刻输入有关,而且跟前面各个时刻响应有关,这样看着是不是有点类似积分的意思[图片]而RC电路实际就是一个积分电路,输出电压近似为输入电压的积分~
坐等楼主后面精彩的讲解,
0
回复
uuniao
LV.5
24
2015-05-03 20:05
Mark一下~
0
回复
2015-05-03 22:25
太強大,好好學習下去...頂一個
0
回复
shenphone
LV.1
26
2015-05-05 10:37
有点看不明白,R Ic+Vc=Vi这个公式,RIc当成电阻两端的电压,那是忽略输出电流吗
0
回复
dobetter
LV.7
27
2015-05-05 19:44
@peterchen0721
太強大,好好學習下去...頂一個
0
回复
dobetter
LV.7
28
2015-05-05 19:45
@shenphone
有点看不明白,RIc+Vc=Vi这个公式,RIc当成电阻两端的电压,那是忽略输出电流吗
看的真仔细,是的,没有考虑输出电阻,单纯分析RC滤波~
0
回复
2015-05-10 23:38
@dobetter
看的真仔细,[图片]是的,没有考虑输出电阻,单纯分析RC滤波~
期待樓主繼續精湛推論
0
回复
xiaocui822
LV.5
30
2015-05-19 11:53
很详细的东西,看的一知半解,大学学的快还回去了。
0
回复
dobetter
LV.7
31
2015-05-20 20:06
@xiaocui822
很详细的东西,看的一知半解,大学学的快还回去了。

当时学的时候一个个知识点都是离散的,有的是这门课,有的是那门课,搞到后来大家都是似懂非懂的~

0
回复