基于matlab的一阶RC动态电路的特性分析.docx
《基于matlab的一阶RC动态电路的特性分析.docx》由会员分享,可在线阅读,更多相关《基于matlab的一阶RC动态电路的特性分析.docx(16页珍藏版)》请在冰豆网上搜索。
基于matlab的一阶RC动态电路的特性分析
湖南文理学院
系统建模与设计报告
专业班级:
电信12103班
学生姓名:
何志明、刘小雄
学生学号:
0726
*******
设计时间:
2014年12月8日--2014年12月19日
一.课程设计目的
课程设计题目:
基于matlab的一阶RC动态电路的特性分析
使用matlab分别对直流激励的零状态响应、零输入响应和完全响应以及正弦激励的零状态响应进行建模分析,运用matlab语言对相关的电路表达式进行描述,并编制好代码,进行二维图像的绘制。
根据matlab建模设计结果,结合Mutisim的仿真电路,进行对比分析,深入理解零状态响应、零输入响应和完全响应的具体含义以及转换过程。
熟练使用matlab的绘图函数和编程操作,培养自己从理论分析到实际建模的思维和动手能力。
二.设计原理
1.MATLAB简介
MATLAB(矩阵实验室)是MATrixLABoratory的缩写,是一款由美国TheMathWorks公司出品的商业数学软件。
MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。
除了矩阵运算、绘制函数/数据图像等常用功能外,MATLAB还可以用来创建用户界面及与调用其它语言(包括C,C++和FORTRAN)编写的程序。
图1.1Matlab功能框图
1.1系统结构
MATLAB系统由MATLAB开发环境、MATLAB数学函数库、MATLAB语言、MATLAB图形处理系统和MATLAB应用接口(API)五大部分构成。
1.2开发环境
MATLAB开发环境是一套方便用户使用的MATLAB函数和文件工具集,其中许多工具是图形化用户接口。
它是一个集成的用户工作空间,允许用户输入输出数据,并提供了M文件的集成编译和调试环境,包括MATLAB桌面、命令窗口、M文件编辑调试器、MATLAB工作空间和在线帮助文档。
1.3Matlab编程流程
图1.3-1matlab编程流程图
2.电路原理图
2.1直流激励的零输入响应、零状态响应和完全响应的电路原理图,如图2-1所示。
图2-1零输入响应、零状态响应和完全响应
2.2正弦激励的零状态响应的电路原理图,如图2-2所示。
图2-2正弦激励的零状态响应
三.详细设计步骤
1.理论知识
1.1直流激励的零状态响应
S2拨到15V,在t=0时刻,S1由R1拨向R2(电容器已放电完毕),V1通过电阻R2给电容器C1充电的过程即为零状态响应。
根据KVL,有
U1=Uzsr+Uzsc;
将Uzsr=IzsR,I=
代入,得电路的微分方程
RC
+Uzsc=U1
此方程为一阶线性非其次方程。
可求得:
Uzsc=U1(1-
)(式1.1-1)
Izs=
(式1.1-2)
其中,时间常数
=RC(下同)。
电阻上的电压Uzsr=U1
(式1.1-3)
充电过程中,电阻R消耗的功率为:
Pzsr=Uzsr^
/R(式1.1-4)
电容器C上消耗的功率为:
Pzsc=U1^
/R-Pzsr(式1.1-5)
1.2直流激励的零输入响应
S2拨到5V,S1由R1拨向R2,V2通过电阻R2给电容器C1充电,待C1两端电压保持稳定,充电完毕后,S1拨向R1(记此时刻t=0),R1和C1构成回路,形成回路电流,C1放电的过程即为零输入响应。
根据KVL,可得
Uzir-Uzic=0;
将Uzir=IziR,Izi=-C
代入上述方程,有
RC
+Uzic=0
这是一阶齐次微分方程,初始条件Uzic(
)=Uzic(
)=U2.
可求得:
Uzi=U2
(式1.2-1)
回路放电电流:
Izi=
(式1.2-2)
放电过程中C1释放的功率:
Pzi=Uzi^
/R(式1.2-3)
1.3直流激励的完全响应
S2拨到5V,S1由R1拨向R2,V2通过电阻R2给电容器C1充电,待C1两端电压保持稳定,充电完毕后,S2由5V拨到15V,V1通过R2在5V的基础上继续给电容器C1充电,直至C1两端电压达到稳定饱和状态。
这整个过程便是完全响应。
根据KVL,有
RC
+Uc=U1
初始条件Uc(
)=Uc(
)=U2
可求得微分方程的解为
Uc=U2
+U1(1-
)(式1.3-1)
1.4正弦激励的零状态响应
原理图如图2-2所示,通过函数信号发生器给电容器的输入端通入正弦波,示波器观察电阻正弦激励的波形和电容器C两端的波形。
图1.4-1
2.Mutilsim绘制电路原理图
原理图如上图2-1、图2-2所示。
3.Matlab语言描述,编制程序
编程三部曲:
1.第一步,定参数
2.第二步,确定坐标的起点、终点和间隔
3.第三步,用matlab语言描述各电路表达式
3.1Matlab语言源程序1
%{
程序功能:
DC激励的零输入、零状态以及全响应
Members:
何志明,刘小雄
Datetime:
Saturday,December13,2014
%}
%-----------设定初始参数--------------%
Ut=15;%最终电压
Uo=5;%初始电压
R=100;%充放电电阻均为100欧
C=47*10^(-6);%电容容量47uf
T=R*C;%时间常数
%-----------确定时间t的范围-----------%
t=0:
0.1:
25;
E=exp(-t*10^(-3)/T);%指数表达式部分,t/1000横坐标换算成ms
%---------电路表达式matlab化----------%
Uzi=Uo*E;%零输入响应,电容C两端电压Uzi
Izi=Uzi/R;%放电电流
Pzi=Uzi.^2/R;%释放功率
Uzs=Ut*(1-E);%零状态响应,电容C两端电压Uzs
Uzr=Ut*E;%电阻R两端电压
Izs=Uzr/R;%充电电流
Pzsr=Uzr.^2/R;%电阻消耗功率
Pzsc=Ut^2/R-Pzsr;%电容消耗功率=总功率-电阻消耗功率
Utr=Uo*E+Ut*(1-E);%全响应,电容C两端电压Utr=Uzi+Uzs
%------------画出相应波形图------------%
plot(t,Uzi,t,Uzs,t,Utr)%作出U-t曲线图
set(gca,'xtick',0:
1:
25)%x轴间距范围设置
set(gca,'ytick',0:
1:
16)%y轴间距范围设置
xlabel('横坐标t/ms');%横坐标标识
ylabel('纵坐标U/V');%纵坐标标识
legend('零输入响应','零状态响应','全响应')%图例
title('DC激励的零输入、零状态以及全响应')%标题1,电压波形
holdoff%关闭画柄
figure%打开新图纸
plot(t,Izi,t,Izs)%作出I-t曲线图
set(gca,'xtick',0:
1:
25)%x轴间距范围设置
set(gca,'ytick',0:
0.05:
0.25)%y轴间距范围设置
xlabel('横坐标t/ms');%横坐标标识
ylabel('纵坐标I/A');%纵坐标标识
legend('Izi-t波形图','Izs-t波形图')%图例
title('充放电电流曲线')%标题2,电流波形
holdoff
figure
plot(t,Pzi,t,Pzsr,t,Pzsc)%作出P-t曲线图
set(gca,'xtick',0:
1:
25)%x轴间距范围设置
set(gca,'ytick',0:
1:
16)%y轴间距范围设置
xlabel('横坐标t/ms');%横坐标标识
ylabel('纵坐标P/w');%纵坐标标识
legend('Pzi-t波形图','Pzsr-t波形图','Pzsc-t波形图')%图例
title('充放电功率曲线')%标题3,功率波形
3.2Matlab语言源程序2
%{
程序功能:
基于正弦激励的零状态响应
%}
%--------------定参数--------------%
Usm=5;
w=pi;
R=2;
C=0.5;
h=atan(w*R*C);
z=sqrt((w*R*C)^2+1);
%--------------定范围--------------%
t=0:
0.01:
10;
%--------------matlab语言描述--------------%
Us=Usm*cos(w*t+pi/2);%正弦激励表达式
Uc=Usm/z*cos(w*t+pi/2-h)-Usm/z*cos(pi/2-h)*exp(-t/(R*C));%C端t时刻电压
Ur=1/(R*C)*Usm/z*cos(pi/2-h)*exp(-t/(R*C))-Usm*sin(h)*sin(w*t+pi/2-h);
I=Ur/R;
%-------------------作图---------------------%
plot(t,Us,t,Ur,t,Uc)
xlabel('横坐标t/s');%横坐标标识
ylabel('纵坐标U/V');%纵坐标标识
legend('正弦激励波形','R端电压波形','C端电压波形')%图例
title('基于正弦激励的零状态响应')%标题
gridon%打开网格
holdoff%关闭绘图句柄
figure%打开一张新图纸
plot(t,I)%绘I-t波形图
xlabel('横坐标t/s');%横坐标标识
ylabel('纵坐标I/A');%纵坐标标识
legend('电流波形图')
title('基于正弦激励的零状态响应')%标题
四.设计结果及分析
1.直流激励的零状态、零输入以及完全响应设计结果
图1-1零输入、零状态以及完全响应
图1-2充放电电流曲线
图1-3充放电功率曲线
结果分析1:
时间常
=RC=100×47×10^(-6)s=4.7ms,一般认为经过4
(18.8ms)的时间后,电容充放电完毕。
根据三个坐标曲线图,可以很直观的观察到:
无论是电压、电流或功率曲线,达到稳定的时间均约为18.8ms。
从而,证实了本次设计的可靠性。
结果分析2:
通过Matlab语言描述,构造函数模型,并绘制各个波形图,结果与实测一致。
这说明全响应是零输入响应和零状态响应的叠加,即
全响应=(零输入响应)+(零状态响应)
2.正弦激励的零状态响应
2.1正弦激励的零状态响应设计结果
图2.1-1正弦激励的零状态响应
图2.1-2电流波形图
图2.1-3Multisim示波器仿真波形
结果分析1:
对比图2.1-1和图2.1-3,可以看出Matlab所建立的模型与Multisim仿真电路的结果基本一致,从而,证明了Matlab建模的准确性。
结果分析2:
再看正弦激励波形、R两端电压波形和C两端电压波形,明显的看出,在充电过程中,正弦激励供给的能量并没有完全转化为电场电能储存于电容中,有一部分被电阻转变为热能消耗,所以导致C端的电压幅值衰减将近一半,充电效率约为50%。
五.总结与体会
在本次课程设计中,我学会了MATLAB的基本使用方法,切身感受到了把已有知识通过软件构造模型的实践过程所带来的乐趣。
课程设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。
从看似令人难于理解的电路表达式到MATLAB语言描述并建模仿真的整个过程中,再次感受到了一种新的程序语言的强大力量。
在设计的整个过程中,通过查阅大量有关网络资料,与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。
在整个设计的过程中,我懂得了许多东西,也培养了自我工作能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。
而且大大提高了动手的能力,充分体会到了在创造过程中探索的艰难和成功时的喜悦。
六.参考文献
[1]陈怀琛,吴大正,高西全.MATLAB及在电子信息课程中的应用[Z].北京:
电子工业出版社,2005
[2]孙祥,徐流美,吴清.MATLAB7.0基础教程.北京:
清华大学出版社,2005
[3]王正林,刘明.精通MATLAB7[Z].北京:
电子工业出版社,2006
[4]程英松,黄学海.MATLAB精讲.西安:
西安工业出版社,2006
[5]吴大正,杨林耀,张永瑞,王松林,郭宝龙.信号与线性系统分析(第4版).北京:
高等教育出版社,2012
[6]邱关源,罗先觉.电路(第5版).北京:
高等教育出版社,2013