rc一阶电路实验报告rc电路频域里研究的是稳态么

一阶RC低通滤波 - 博客频道 - CSDN.NET
分类:CMachine Learningcontrol algorithm
一阶RC低通滤波
从模拟到数字&
本文整理自网络、《匠人手记》等书籍文章
模拟电路低通滤波时域、频域软件低通滤波
图1 典型RC电路&
直流、交流、脉冲信号都可以用它
电容电流:&
Ic=dqdt=d(C?Uo)dt=CdUodt
基尔霍夫电压定律得:&
Ui=RCdUodt+Uo
Ui的单位是伏特,RC的单位为秒,τ=RC;&
Uo(t)=Ui(1-e∧(-t/RC))
假设电容初始电压值为0&
Vc(τ)=0.632&
图2 一阶RC系统的阶跃响应曲线
u1=Ui;u2=Uo;&
以电容电压作为输出,电路的网络函数为:&
H(jω)=U2U1=1jωCR+1jωC=11+jωRC
ωc即为截止频率;
幅值和相角函数:&
|H(jω)|=11+(ωωc)2--------√
θ(ω)=-arctanωωc
各变量取值:&
A(f)=1j2πfRC+1
|A(fc)|=0.707&
θ(f)=180arg(A(f))π
θ(fc)=-45
f=0.001、1、…….100000
幅频和相频特性图:&
幅频特性图的对数表示:&
-当ω&ωc时,幅值是平行于坐标的直线,基本无衰减; 
-当ω&&ωc时,是斜率与-20dB/十倍频成比例的一条直线; 
-当ω=ωc时,增益衰减至0.707,即-3dB,相位滞后45度,对应低通滤波器,该频率通常被称为截止频率。
采用这种模拟滤波器抑制低频干扰时,要求滤波器有较大的时间常数和高精度的RC网络,增大时间常数要求增大R值,其漏电流也随之增大,从而降低了滤波效果;
软件上的一阶低通滤波
-采用数字滤波算法来实现动态的RC滤波,则能很好的克服模拟滤波器的缺点;&
-在模拟常数要求较大的场合这种算法显得更为实用;&
-其对于周期干扰有良好的抑制作用,&
-比较节省RAM空间
-不足之处是带来了相位滞后,导致灵敏度低;&
-同时它不能滤除频率高于采样频率的二分之一(称为奈奎斯特频率)的干扰(例如采样频率为100Hz,则它不能滤除50Hz以上的干扰信号)对于高于奈奎斯特频率的干扰信号,应该采用模拟滤波器。&
-对没有乘、除法运算指令的单片机来说,程序运算工作量较大
基本滤波算法:
算法由来:&
频率分析中一阶RC低通滤波在S域的传递函数:&
VoutVin=1RCs+1,(s=jω)
通过z变换(方法很多,如一阶前向差分、双线性变换等这里用一阶后向差分法)&
s=1-z∧(-1)T,T表示采样周期
带入S域传递函数中:&
Y(z)X(z)=1RC1-z∧(-1)T+1=TRC(1-z∧(-1))+T
推导转化为差分方程后可得:&
Y(n)=TT+RCX(n)+RCT+RCY(n-1)
通过Z变换把S域的传递函数转化成时域的差分方程,分析可得到
一阶RC数字滤波的基本算法
X为输入,Y为滤波后得输出值,则:&
Y(n)=a*X(n)+(1-a)*Y(n-1)
a为与RC值有关的一个参数,称为滤波系数,其值决定新采样值在本次滤波结果中所占的权重,其值通常远小于1,当采样间隔t足够小的时候,&
-滤波系数越小,滤波结果越平稳,但是灵敏度越低;
-滤波系数越大,灵敏度越高,但是滤波结果越不稳定
-本次输出值主要取决于上次滤波输出值,当前采样值对本次输出贡献比较小,起到修正作用;
-截止频率:
例如:t=0.5s (f=2Hz), a=1/32&
则fl=(1/32)/(2*3.14*0.5)=0.01Hz;
基本程序:
按照一阶滤波的基本原理与公式写程序,如下:
/*程序中整数运算比小数运算快,为加快程序的处理速度,为计算方便,a取一整数,1-a用256-a来代替,a则取0~255,代表新采样值在滤波结果中的权重(也可将1-a的基数改为100-a,计算结果做相应处理,这里不做说明)*/
//上次滤波值
char filter()
new_value=get_ad();//本次采样值
return(256-a)*value/256+a*new_value/256;
}12345678910111234567891011
程序初步优化
减少乘、除的运算次数以提高运算速度。&
具体优化办法:&
先将新采样值与上次滤波结果进行比较,然后根据比较采用不同的公式计算,这样程序的运算效率提高了一倍;&
化解基本公式可得:&
当Xn&Y(n-1)时,Yn=Y(n-1)-(Y(n-1)-Xn)×a÷256;
当Xn&Y(n-1)时,Yn=Y(n-1)+(Xn-Y(n-1))×a÷256;
/*入口:NEW_DATA 新采样值
OLD_DATA 上次滤波结果
滤波系数(0~255)(代表在滤波结果中的权重)
本次滤波结果
char filter_1(char NEW_DATA,char OLD_DATA,char k)
if(NEW_DATA&OLD_DATA)
result=OLD_DATA-NEW_DATA;
result=result*k;
result=result+128;//+128是为了四色五入
result=result/256;
result=OLD_DATA-
else if(NEW_DATA&OLD_DATA)
result=NEW_DATA-OLD_DATA;
result=result*k;
result=result+128;//+128是为了四色五入
result=result/256;
result=OLD_DATA-
else result=OLD_DATA;
return((char)result);
}123456789101112131415161718192021222324252627123456789101112131415161718192021222324252627
滤波分析:&
当滤波系数为30的时候:&
当滤波系数为128的时候:&
当滤波系数为200的时候:&
可见滤波系数越小,滤波结果越平稳,但是灵敏度越低;滤波系数越大,灵敏度越高,但滤波结果也越不稳定;
-灵敏度和平稳度间的矛盾
-小数舍弃带来的误差&
比如:本次采样值=25,上次滤波结果=24,滤波系数=10;&
根据算法得本次结果=24.0390625&
在单片机中,很少采用浮点数,小数部分要么舍弃,要么进行四色五入。这样结果就变成24;假如采样值一直为25那么,结果永远是24;滤波结果和实际数据一直存在无法消除的误差。&
严重时会导致,在数据采样数据稳定在某一数值上时,滤波结果曲线偏离实际值(即滤波结果在稳定时与实际结果存在较大误差);
改变滤波系数,增大会导致平稳度降低,滤波系数太大滤波也就丧失意义;&
将小数位参与计算,会给CPU带来沉重运算压力;
优化方法 —– 动态调整滤波系数
1、实现功能:&
-当数据快速变化时,滤波结果能及时跟进,并且数据的变化越快,灵敏度应该越高(灵敏度优先原则)&
-当数据趋于稳定,并在一个范围内振荡时,滤波结果能趋于平稳(平稳度优先原则)&
-当数据稳定后,滤波结果能逼近并最终等于采样数据(消除因计算中小数带来的误差)&
2、调整前判断:&
-数据变化方向是否为同一个方向(如当连续两次的采样值都比其上次滤波结果大时,视为变化方向一致,否则视为不一致)&
-数据变化是否较快(主要是判断采样值和上一次滤波结果之间的差值)&
3、调整原则:&
-当两次数据变化不一致时,说明有抖动,将滤波系数清零,忽略本次新采样值&
-当数据持续向一个方向变化时,逐渐提高滤波系数,提供本次采样值得权;&
-当数据变化较快(差值&消抖计数加速反应阈值)时,要加速提高滤波系数
调整滤波系数的程序流程:
几个常量参数及其取值范围:&
(不同的取值会影响滤波的灵敏度和稳定度)&
1、消抖计数加速反应阈值,取值根据数据情况确定&
2、消抖计数最大值,一般取值10;&
3、滤波系数增量,一般取值范围为10~30&
4、滤波系数最大值,一般取&#;&
在调用一阶滤波程序前,先调用调整滤波系数程序,对系数进行即时调整
1、当采样数据偶然受到干扰,滤波结果中的干扰完全被滤除&
2、当数据在一个范围内振荡时,滤波结果曲线非常平滑,几乎是一根直线&
3、当采样数据发生真实的变化时,滤波结果也能比较及时地跟进&
4、当采样数据趋于稳定时,滤波结果逐渐逼近并最终等于采样数据
-最终改进算法,兼顾了灵敏度和平稳度的要求;同时又不太消耗系统的RAM;&
-只要合理调整几个常量,以使得算法更合适实际应用;
下面是一个使用了动态调整滤波的例子:
//用MPU6050测得数据;对x轴滤波处理
float K_x=0; //滤波系数
u8 new_flag_x=0;//本次数据变化方向
u8 num_x=0;//滤波计数器
/*****带系数修改的一阶滤波函数
入口: NEW_DATA
新采样的角度值
上次滤波获得的角度结果
滤波系数(代表在滤波结果中的权重)
上次数据变化方向
出口: result
本次滤波角度结果
float filter_1_x(float NEW_DATA,float OLD_DATA,float k,u8 flag)
//角度变化方向,new_flag=1表示角度增加,=0表示角度正在减小
if((NEW_DATA-OLD_DATA)&0)
new_flag_x=1;
else if((NEW_DATA-OLD_DATA)&0)
new_flag_x=0;
if(new_flag_x==flag)
//此次变化与前一次变化方向是否一致,相等表示角度变化方向一致
if(fabs((NEW_DATA-OLD_DATA))&Threshold_1)
//当变化角度大于Threshold_1度的时候,进行计数器num快速增加,以达到快速增大K值,提高跟随性
if(num_x&Threshold_2)
//计数阈值设置,当角度递增或递减速度达到一定速率时,增大K值
K_x=k+0.2;
//0.2为K_x的增长值,看实际需要修改
//角度变化稳定时K_x值,看实际修改
OLD_DATA=(1-K_x)*OLD_DATA+K_x*NEW_DATA;
return OLD_DATA;
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515212345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
上几张图片:&
修改程序中的阈值1和阈值2,可获得不同的滤波效果
————————————
再次声明:本文整理自网络、《匠人手记》等书籍文章,仅作为个人学习笔记
排名:千里之外
(2)(3)(1)(1)(7)(3)(4)(8)(6)(5)(4)孔夫子旧书网该图书“国家电工电子教学基地系列教材:基础电路实验教程”已经找不到了, 为您推荐一些相同图书。装订:其它开本:版次:17.20八品装订:平装开本:版次:136.80十品装订:平装开本:版次:第1版14.00八五品装订:平装开本:版次:113.70八品装订:平装开本:版次:18.16八五品装订:平装开本:版次:133.80十品装订:平装开本:版次:136.80十品装订:平装开本:版次:136.80十品装订:平装开本:版次:115.00八品装订:平装开本:版次:10.00九品Copyright(C)
孔夫子旧书网
京ICP证041501号
海淀分局备案编号方波通过简单的RC电路可以变为三角波吗?
方波通过简单的RC电路可以变为三角波吗?
理论上,方波经过积分电路变为三角波,RC低通滤波器不是积分电路,只是近似的积分电路,不能将方波变为三角波.RC低通滤波器的传递函数是:ui/uo=1/RCs+1s=jω显然,当RC或输入信号的ω足够大时,RCs>>1,那么ui/uo≈1/RCs,RC低通滤波器就变成积分器了.
与《方波通过简单的RC电路可以变为三角波吗?》相关的作业问题
必须要加上,如果不加电阻电路中就没有电流流过,虽然电容两端有电压.为了出现震荡电流必须加电阻. 再问: 但是里面有两个电阻的,一个R和一个取样电阻r,R肯定是要有,但是不知道r可不可以不加 再答: 必须要加上,因为电容放电和充电时电流的路径不一样。
一个积分运算电路就能把正弦波转换为三角波,微分电路能把正弦波转化为方波
用运放接一个有源滤波器就可以了
方波经过积分器就可以变为三角波.积分器电路如下:方波从ui输入,uo输出就是三角波.R2可以远远大于R1,R1*C取值越大,输出三角波的峰值越低.
不能!方波经积分电路得到三角波.积分环节的传递函数是1/s微分环节的传递函数是τs+1,不可逆. 再问: 但是实验(RC一阶响应)证明,确实可以通过积分电路将方波转化为三角波呀,而且在微分电路实验中输入三角波后也有可能输出方波,是为什么呢 再答: 在三角波频率足够高,或微分电路RC参数足够大时,三角波经微分电路可以得到
不会变成三角波.方波和三角波傅里叶级数展开,共同点之一是都由奇数次谐波组成.不同点在于谐波含量.方波每次谐波的含量(与基波的比值)是谐波次数的倒数,即1/n.三角波每次谐波的含量(与基波的比值)是谐波次数平方的倒数,即1/n^2.方波和三角波的共同点之二是各次谐波相位相同.也就是说,不保存谐波相位信息,再变为时域,也不
电容的性质是电压不会突变:U = Q / C电压随着电荷的积累而上升,所以电容器是并联.串联是微分电路.用恒流源供电才可以保证是三角波. 再问: 通过方波积分出三角波,三角波为什么失真了? 再答: 积分电路的波形是按照指数规律变化,是非线性的曲线,波形自然存在失真。从公式 U = Q / C 可知,U 线性变化的条件是
如果积分电路是无损积分器,用时间常数完全相同的微分电路,理论上可以还原为方波.实际上很难实现.不过要使三角波变为方波,有更简单的办法,直接用比较器或滞回比较器即可输出同频率的方波,调整比较器门限,还可输出占空比可调的方波.
1)芯片工作原理及特点,百度百科搜“555时基电路”.2)电路设计原理分为以下几个部分a、产生方波,百度文库搜“555时基电路”,自己选一个b、产生三角波,搜“积分电路”,将方波输出接到积分电路输入,积分电路输出就是三角波.自己调节一下RC参数,RC参数过大,三角波的峰值会过小,RC参数过小,三角波会削波.c、三角波经
这种情况是可能的,比如说吧,一个简单的RC电路接直流电源E.该回路由一个开关S控制首先闭合开关,足够长时间(电容充电完毕,电容电压等于电源电压E),然后闭合开关,电容被断开,无放电回路再次闭合开关,很明显,电路直接进入稳态,电容端电压无变化这也适用于交流电源假定也是以上同一电路,直流电源换成交流电源首先闭合开关,足够长
哪学校啥专业的?说了我就给你说咋弄 啧,你胆子太大了吧,居然辱没清华的学生?!文氏桥振荡器知道不?只要是有关电子的书上都有!先弄个文氏桥振荡器,输出的就是正弦波;此波形用一个简单的电压比较器(参考电压取零,也就是有些人叫的过零比较器)就输出方波了;此方波再用一个很简单的积分电路,输出就变成三角波了.一个电路,三个波形,
三角波的积分是方波.一般将三角波转为正弦波都是用分段转折法. 再问: 请问实际的电路该怎么连接呢? 再答: 这个电路在仿真的例子里有,可以直接找到的。不过我也不记得是哪个文件了。最好软件版本要新一点的。再问: 为什么我查的资料说 方波的积分是三角波啊? 再答: 哦,记错了,三角波的微分是方波。再问: 我怎么把三角波转化
许多教科书都说可以,并且设立实验课验证,学生也能得到验证的结果.但是,严格讲,只能说,得到近似的方波.为什么呢?三角波是方波经过积分获取的,理论上没有误差的存在.有源积分器的传递函数是1/s而有源微分器的传递函数是τs+1.τ为时间常数.(τs+1)/s =τ+1/s.对于高频信号而言,1/s可以忽略,对于低频信号而言
这种电压表测量的是整流平均值,再乘以π/2√2(≈1.1107).反应的是正弦波的有效值.正弦波峰值:1*1.414V 方波峰值:1/(π/2√2)V≈0.9003V 三角波峰值为方波的两倍:1/(π/√2)V≈1.8006V
频率是多少?是正弦波还是方波?如果是方波可采用多谐振荡器.
在C两端看到的将是幅值非常小的三角波,而R两端几乎就是方波.
如果时间常数太大,RC电路的充放电效应很不明显.
积分电路.把矩形脉冲当做常数,对它积分就出来一个直线方程,就是锯齿波了
频率是根据什么改变的,示波器是将电信号转化成可视信号的仪器,阻值改变,电压就改变,频率肯定也就变了,改变波形,也会得到一样的波形亚马逊意外错误报歉,由于程序执行时,遇到意外错误,您刚刚操作没有执行成功,请稍后重试。或将此错误报告给我们的客服中心:推荐您,确认您的操作无误后,再继续其他操作。您可以通过亚马逊,获得更多的帮助。

我要回帖

更多关于 一阶rc电路的暂态响应 的文章

 

随机推荐