打印

ADC输入前为什么要加一个RC滤波

[复制链接]
21884|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lichuanfa|  楼主 | 2009-2-24 11:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
awey| | 2009-2-24 11:11 | 只看该作者

不一定要加

使用特权

评论回复
板凳
lichuanfa|  楼主 | 2009-2-24 11:15 | 只看该作者

回复斑竹

斑竹:
    我是说加了,RC的参数应该怎么定?不是说不一定要加的

使用特权

评论回复
地板
awey| | 2009-2-24 11:29 | 只看该作者

如果信号是直流,加RC是为了滤出噪声干扰

RC只要不影响到你的相应时间即可。


如果是交流信号,请查看“抗混叠滤波器原理”

使用特权

评论回复
5
lichuanfa|  楼主 | 2009-2-24 12:30 | 只看该作者

斑竹

斑竹:
    信号是直流的,ADC转换时间2uS,那么我的RC充放电时间小于多大的时间比较合适?
     

使用特权

评论回复
6
janly| | 2009-2-24 12:40 | 只看该作者

貌似跟你的采样时间间隔有关,

个人愚见供参考:
跟的采样时间间隔有关,如果你的采样间隔短,那么RC参数可能要小,相反,RC参数可以大点;
ADC转换时间应是把模拟信号数字化的时间

使用特权

评论回复
7
edacsoft| | 2009-2-24 16:24 | 只看该作者

不同意6楼的说法

楼主这句话在误导大家“ADC之前有一个RC滤波器,RC的充电时间”
我觉得应该从滤波器考虑,而不是那个充电时间(t,那个希钠文出不来)。
这样分析,问题就简单了,虽然楼主没有画出RC滤波器,应该就是下图这样的。
PS:强烈建意版主网站上传文件支持比jpg更小的png图片格式文件

使用特权

评论回复
8
lichuanfa|  楼主 | 2009-2-24 17:33 | 只看该作者

模拟技术

RC滤波器滤除高频信号,但是信号是直流信号,如果RC充电时间长,那么内部的保持电容的电压总不能到达实际值,这样AD转换值小于实际的值

使用特权

评论回复
9
赤铸| | 2009-2-24 20:41 | 只看该作者

RC 的截止频率

远高于有用信号频率,防止损害有用信号
远低于采样频率的一半,防止混叠

(担任有时无法满足)

使用特权

评论回复
10
ch2003_23| | 2009-2-24 20:53 | 只看该作者

9楼 一针见血

学习了

使用特权

评论回复
11
awey| | 2009-2-24 22:27 | 只看该作者

补充一点:R要远小于AD的输入电阻

使用特权

评论回复
12
lichuanfa|  楼主 | 2009-2-24 23:20 | 只看该作者

模拟技术

远高于有用信号频率,防止损害有用信号
远低于采样频率的一半,防止混叠 
采用频率是MCU启动ADC转换的频率吗?
斑竹指点指点

使用特权

评论回复
13
lichuanfa|  楼主 | 2009-2-25 21:12 | 只看该作者

模拟技术

远高于有用信号频率,防止损害有用信号
远低于采样频率的一半,防止混叠 
按照图中的参数,RC的频率是5MHz多,采样频率要10MHz了,但是AD7654的速度才500K,斑竹是不是写错了(远低于采样频率的一半,防止混叠 )。

使用特权

评论回复
14
awey| | 2009-2-25 21:28 | 只看该作者

对于直流信号,你把RC加大一点就是了

根本不用考虑防止混叠的问题,那是针对交流信号。

使用特权

评论回复
15
fluke56512| | 2009-2-26 13:13 | 只看该作者

不同的AD内部有RC

CPU做数字滤波的时候也要考虑这个RC

不同的情况不一样

使用特权

评论回复
16
python_k| | 2009-2-27 08:23 | 只看该作者

R的取值通常为50~200ohm,C根据截止频率来算。

使用特权

评论回复
17
voild| | 2009-2-27 13:08 | 只看该作者

来个正解

C大约为20倍的ADC输入电容,R的值乘以C的值约等于ADC采样时间的1/12(对于16位的ADC)

使用特权

评论回复
18
ni_labview| | 2009-2-27 16:03 | 只看该作者

记得某位师父告诉过

RC选择是根据低通滤波器截至频率算的,这两个东西在无源滤波器设计中是按折中的方法处理,R与AD口输入电阻的比值尽可能小的情况下去决定C,C选择一般不宜过大,电容目前我们常用的品种都是受温度影响很大的,所以导致你设计的滤波器截止频率变化很大,如果要求不高选择不是很严格,粗算大概就行了。

使用特权

评论回复
19
lichuanfa|  楼主 | 2009-2-27 17:39 | 只看该作者

xiexie

谢谢各位朋友的指点,谢谢!

使用特权

评论回复
20
quakegod| | 2009-2-28 04:06 | 只看该作者

偶的计算方法

先说直流信号,偶在前面的RC选择,
一般是以不影响精度为前提的,
电容的放电公式U=U0*(e^(-t/τ)),实际上,电容在充电,也是在放电,
所以8楼说的不对,不一定是结果小于实际值,也可能是大于实际值。
解释一下为什么要用放电公式,不用充电公式。
本来应该考虑电容充电和放电两种情况,实际上运算结果是一样的,
实际电压和电容两端的电压这个电压差对电容充电,最后算电容两端电压和实际电压的差,与电容两端实际上有这样一个电压差,对0电压放电,运算结果是一样的,所以就用电容的放电公式
这里的t就是采样间隔,τ就是时间常数,
而U与U0的比值,e^(-t/τ)就是相对误差。
对于8位采样,相对误差要小于等于1/256,也就是说t>ln(256)t=5.545τ,或τ<0.18t
对于10位采样相对误差要小于等于1/1024,也就是说t>6.93τ,或τ<0.144t
对于12位采样相对误差要小于等于1/4096,也就是说t>8.31τ
就对采样精度没有任何影响,满足远高于条件。
基本来说,一位精度对应0.7τ即可。
其实只要耐心推导就能得出这个结论。
上面这个只是考虑了最差的情况,就是说,输入信号在一个采样间隔内从0直接变成满幅度,或从满幅度直接变为0,这个RC滤波不会影响采样精度,
而实际上,信号变化幅度可能很小,甚至只有几个LSB,
这时候算法要改改,如果变化幅度只有1/2,那么就等于采样位数少了1位,可以减去0.7τ,如果变化幅度只有1/10,则等效率采样位数少了3.32位,可以减去2.3个τ。
偶用这个计算方法的时候,是采样电机上的电流,而电机是PWM驱动的,而采样电阻上的电流确实是从0变到几乎满幅度和从满幅度几乎变为0,每个PWM周期采样一次,所以一定要按原来那么算。
希望偶这个算法能对大家有所帮助。

还有,偶不是版主,偶来这里这么长时间还没穿过裤子呢,
不知道版主能不能给条裤子,不过不知道这个裤子能不能穿到偶身上呢。

使用特权

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

本版积分规则

44

主题

275

帖子

1

粉丝