MATLAB在一阶动态电路特性分析报告的应用.docx
《MATLAB在一阶动态电路特性分析报告的应用.docx》由会员分享,可在线阅读,更多相关《MATLAB在一阶动态电路特性分析报告的应用.docx(23页珍藏版)》请在冰豆网上搜索。
![MATLAB在一阶动态电路特性分析报告的应用.docx](https://file1.bdocx.com/fileroot1/2023-2/7/ee91094b-6189-4081-a8e4-8d5f6879d576/ee91094b-6189-4081-a8e4-8d5f6879d5761.gif)
MATLAB在一阶动态电路特性分析报告的应用
MATLAB在一阶动态电路特性分析的应用
(董梦媛120132419422013级通信一班)
摘要:
MATLAB具有强大的图形处理功能、符号运算功能和数值计算功能。
其中系统的仿真工具箱是从底层开发的一个完整的仿真环境和图形界面。
运用MATLAB可以完成面向框图系统仿真的全部过程,并且更加直观和准确地达到仿真的目标。
本文主要介绍基于MATLAB的一阶动态电路特性分析。
应用MATLAB将一阶动态电路的响应状态通过仿真图像生动形象的展现出来。
关键词:
MATLAB;仿真;图形处理;一阶动态电路。
一.MATLAB应用简介
MATLAB功能丰富,可扩展性强。
MATLAB软件包括基本部分和专业扩展两大部分的功能。
基本部分包括:
矩阵的运算和各种变换;代数和超越方程的求解;数据处理和傅立叶变换;数值部分等等,可以充分满足大学理工科本科的计算需要。
扩展部分称为工具箱。
它实际上是用MATLAB的基本语句辩称的各种子程序集,用于解决某一方面的专门问题,或实现某一类的新算法。
MATLAB具有以下基本功能:
数值计算功能;符号计算功能;图形处理及可视化功能;可视化建模及动态仿真功能。
MATLAB主要有以下特点:
库函数资源丰富;语言精炼,代码灵活;运算符多而灵活;面向对象,控制功能优良;程序设计自由;图形功能强大;程序的兼容性好;源代码开放;形形色色的工具箱。
二.RC串联电路及RL并联电路的零输入响应
1.RC串联电路的零输入响应
在图1.1所示的RC电路中,开关S打向2前,电容C充电,
。
当开关S打向2后,电压
。
图1.1RC电路的零输入响应
此时可知RC电路零输入时电路中的电流为
;电阻上的电压为
;电阻和电容上所消耗的功率为
,
。
MATLAB程序如下:
>>U0=2;R=2;C=0.5;U1=3;R1=3;C1=0.5;%输入给定参数
>>t=[0:
0.05:
5];
>>I=U0/R*exp(-t/(R*C));I1=U0/R1*exp(-t/(R1*C1));%计算电容和电阻电流值
Uc=U0*exp(-t/(R*C));Ur=U0*exp(-t/(R*C));Uc1=U1*exp(-t/(R1*C1));Ur1=U1*exp(-t/(R1*C1));%计算电容和电阻电压值
Pc=U0*U0/R*exp(-2*t/(R*C));Pr=U0*U0/R*exp(-2*t/(R*C));Pc1=U1*U1/R1*exp(-2*t/(R1*C1));Pr1=U1*U1/R1*exp(-2*t/(R1*C1));%计算电容和电阻功率值”
>>figure
subplot(5,1,1);plot(t,Uc,t,Uc1)
title('Uc(t)的波形')
subplot(5,1,2);plot(t,Ur,t,Ur1)
title('Ur(t)的波形')
subplot(5,1,3);plot(t,I,t,I1)
title('I(t)的波形')
subplot(5,1,4);plot(t,Pc,t,Pc1)
title('Pc(t)的波形')
subplot(5,1,5);plot(t,Pr,t,Pr1)
title('Pr(t)的波形')
运行结果如图1.2所示
图1.2RC串联电路零输入响应特性曲线
2.RC并联电路的零输入响应
在图2.1所示的RL电路中,开关S动作之前,电压和电流已恒定不变,电感中有电流
。
在t=0时开关由1打到2,具有初始电流
的电感L和电阻R相连接,构成一个闭合回路。
图2.1RL电路的零输入响应
此时可知RL电路零输入时电路中的电压为
;电感上的电流为
;电阻和电感上所消耗的功率为
,
。
由此可画出其响应特性曲线。
MATLAB程序如下:
>>U0=2;R=2;L=0.5;U1=3;R1=3;L1=0.5;%输入给定参数
t=[0:
0.05:
1.5];
>>I=U0/R*exp(-t*(R/L));I1=U0/R1*exp(-t*(R1/L1));Ir=U0/R*exp(-t*(R/L));Ir1=U0/R1*exp(-t*(R1/L1));%计算电容和电阻电流值
>>Ur=U0*exp(-t*(R/L));;Ur1=U1*exp(-t*(R1/L1));%计算电容和电阻电压值
>>PL=U0*U0/R*exp(-2*t*(R/L));Pr=U0*U0/R*exp(-2*t*(R/L));PL1=U1*U1/R1*exp(-2*t*(R1/L1));Pr1=U1*U1/R1*exp(-2*t*(R1/L1));%计算电容和电阻功率值”
>>figure
subplot(5,1,1);plot(t,I,t,I1)
title('I(t)的波形')
subplot(5,1,2);plot(t,Ir,t,Ir1)
title('Ir(t)的波形')
subplot(5,1,3);plot(t,Ur,t,Ur1)
title('Ur(t)的波形')
subplot(5,1,4);plot(t,PL,t,PL1)
title('PL(t)的波形')
subplot(5,1,5);plot(t,Pr,t,Pr1)
title('Pr(t)的波形')
运行结果如图2.2所示
图2.2RL并联电路零输入响应特性曲线
三.RC串联及RL并联电路的直流激励的零状态响应
1.RC串联电路的直流激励的零状态响应
在图3.1所示的RC串联电路中,开关S闭合前电路处于零初始状态,即
。
在t=0时刻,开关S闭合,电路接入直流电压源
。
根据KVL,有
。
图3.1RC电路零状态响应
此时可知RC电路零状态时电路中的电流为
;电阻上的电压为
,电容上的电压为
;电阻和电容上所消耗的功率为
,
。
由此可画出其响应特性曲线。
MATLAB程序如下:
>>U0=2;R=2;C=0.5;U1=3;R1=3;C1=0.5;%输入给定参数
>>t=[0:
0.05:
10];
>>I1=U0/R*exp(-t/(R*C));I2=U1/R1*exp(-t/(R1*C1));%电容和电阻电流值
Uc1=U0*(1-exp(-t/(R*C)));Uc2=U1*(1-exp(-t/(R1*C1)));Ur1=U0*exp(-t/(R*C));Ur2=U1*exp(-t/(R1*C1));%电容和电阻电压值
Pc1=U0^2/R*(exp(-t/(R*C))-exp(-2*t/(R*C)));Pc2=U1^2/R1*(exp(-t/(R1*C1))-exp(-2*t/(R1*C1)));Pr1=U0^2/R*exp(-2*t/(R*C));Pr2=U1^2/R1*exp(-2*t/(R1*C1));%电容和电阻功率
>>figure
subplot(5,1,1);plot(t,I1,t,I2)
title('I(t)的波形')
subplot(5,1,2);plot(t,Uc1,t,Uc2)
title('Uc(t)的波形')
subplot(5,1,3);plot(t,Ur1,t,Ur2)
title('Ur(t)的波形')
subplot(5,1,4);plot(t,Pc1,t,Pc2)
title('Pc(t)的波形')
subplot(5,1,5);plot(t,Pr1,t,Pr2)
title('Pr(t)的波形')
运行结果如图3.2所示
图3.2RC串联电路直流激励的零状态响应特性曲线
2.RL并联电路的直流激励的零状态响应
在图4.1所示的RL电路中,直流电流源的电流为
,在开关打开前电感中的电流为零。
开关打开后
,电路的响应为零状态响应。
注意到换路
后
与
串联的等效电路扔为
,则电路的微分方程为
,初始条件为
。
图4.1RL电路的零状态响应
此时可知RL电路零状态时电路中的电压为
;电感上的电流为
,电阻上的电流为
;电阻和电感上所消耗的功率为
,
【3】。
由此可画出其响应特性曲线。
MATLAB程序如下:
>>U0=2;R=2;L=0.5;U1=3;R1=3;L1=0.5;%输入给定参数
>>t=[0:
0.05:
1.5];
>>L1=U0/R*(1-exp(-t*R/L));Ir1=U0/R*exp(-t*(R/L));IL2=U1/R1*(1-exp(-t*R1/L1));Ir2=U1/R1*exp(-t*(R1/L1));
>>U01=U0*exp(-t*(R/L));U02=U1*exp(-t*(R1/L1));%电容和电阻电压值
Pc1=U0^2/R*(exp(-t*(R/L))-exp(-2*t*(R/L)));Pc2=U1^2/R1*(exp(-t*(R1/L1))-exp(-2*t*(R1/L1)));Pr1=U0^2/R*exp(-2*t*(R/L));Pr2=U1^2/R1*exp(-2*t*(R1/L1));%电容和电阻功率
>>figure
subplot(5,1,1);plot(t,IL1,t,IL2)
title('IL(t)的波形')
subplot(5,1,2);plot(t,Ir1,t,Ir2)
title('Ir(t)的波形')
subplot(5,1,3);plot(t,U01,t,U02)
title('U0(t)的波形')
subplot(5,1,4);plot(t,Pc1,t,Pc2)
title('Pc(t)的波形')
subplot(5,1,5);plot(t,Pr1,t,Pr2)
title('Pr(t)的波形')
运行结果如图4.2所示
图4.2RL并联电路直流激励的零状态响应特性曲线
四.RC串联及RL并联电路的直流激励的全响应
1.RC串联电路的直流激励的全响应
在图5.1所示的RC串联电路为已充电的电容经过电阻接到直流电压源
。
设电容原有电压
,开关S闭合后,根据KVL有
,初始条件为
。
图5.1RC串联电路的全响应
此时可知RC电路全响应时电路中的电流为
;电阻上的电压为
,电容上的电压为
;由此可画出其响应特性曲线。
MATLAB程序如下:
>>U0=2;Us=3;R=2;C=0.5;U1=2.5;Us1=3;R1=3;C1=0.5;%输入给定参数
>>t=[0:
0.1:
5];
>>I1=(Us-U0)/R*exp(-t/(R*C));I2=(Us1-U1)/R1*exp(-t/(R1*C1));%电容和电阻电流值
>>Uc1=U0*exp(-t/(R*C))+Us*(1-exp(-t/(R*C)));Uc2=U1*exp(-t/(R1*C1))+Us1*(1-exp(-t/(R1*C1)));Ur1=Us*exp(-t/(R*C))-U0*exp(-t/(R*C));Ur2=Us1*exp(-t/(R1*C1))-U1*exp(-t/(R1*C1));%电容和电阻电压值
>>figure
subplot(3,1,1);plot(t,I1,t,I2)
title('I(t)的波形')
subplot(3,1,2);plot(t,Uc1,t,Uc2)
title('Uc(t)的波形')
subplot(3,1,3);plot(t,Ur1,t,Ur2)
title('Ur(t)的波形')
运行结果如图5.2所示
图5.2RC串联电路的直流激励的全响应的特性曲线
2.RL并联电路的直流激励的全响应
在图6.1所示的RL并联电路为已充电的电感与电阻并联接到直流电压源
。
设电感原有电流
,开关S闭合后,
与
不相等,电路的响应为全响应。
线1为上图上线,中图和下图下线。
图6.1RL并联电路全响应
此时可知RL电路全响应时电路中的电压为
;电感上的电流为
,电阻上的电流为
。
由此可画出其响应特性曲线。
MATLAB程序如下:
>>I0=2;Is=3;R=2;L=0.5;I1=2.5;Is1=3;R1=3;L1=0.5;%输入给定参数
>>t=[0:
0.01:
1.5];
>>IL1=I0*exp(-t*R/L)+Is*(1-exp(-t*R/L));IL2=I1*exp(-t*R1/L1)+Is1*(1-exp(-t*R1/L1));Ir1=Is*exp(-t*R/L)-I0*exp(-t*R/L);Ir2=Is1*exp(-t*R1/L1)-I1*exp(-t*R1/L1);%电感和电阻电流值
>>U1=(Is-I0)*R*exp(-t*R/L);U2=(Is1-I1)*R1*exp(-t*R1/L1);%电感和电阻电压值
>>figure
subplot(3,1,1);plot(t,IL1,t,IL2)
title('IL(t)的波形')
subplot(3,1,2);plot(t,Ir1,t,Ir2)
title('Ir(t)的波形')
subplot(3,1,3);plot(t,U1,t,U2)
title('U(t)的波形’)
运行结果如图6.2所示
图6.2RL并联电路的直流激励的全响应的特性曲线
3.全响应波形分解
全响应=零输入响应+零状态响应,即
,
。
全响应=暂态分量+稳态分量,
,
【4】。
MATLAB程序如下:
>>U0=2.5;Us=3.5;I0=2;Is=3;R=2;L=0.5;C=1;%输入给定参数
>>t=[0:
0.01:
10];
>>IL=I0*exp(-t*R/L)+Is*(1-exp(-t*R/L));IL1=I0*exp(-t*R/L);IL2=Is*(1-exp(-t*R/L));IL3=Is;IL4=(I0-Is)*exp(-t*R/L);%计算电感和电阻电流值
>>Uc=U0*exp(-t/(R*C))+Us*(1-exp(-t/(R*C)));Uc1=U0*exp(-t/(R*C));Uc2=Us*(1-exp(-t/(R*C)));Uc3=Us;Uc4=(U0-Us)*exp(-t/(R*C));%计算电感和电阻电压值
>>figure
subplot(4,1,1);plot(t,IL,t,IL1,t,IL2)
title('IL(t)的波形')
subplot(4,1,2);plot(t,Uc,t,Uc1,t,Uc2)
title('Uc(t)的波形')
subplot(4,1,3);plot(t,IL,t,IL3,t,IL4)
title('IL(t)的波形')
subplot(4,1,4);plot(t,Uc,t,Uc3,t,Uc4)
title('Uc(t)的波形')
运行结果如图7.1所示
图7.1全响应波形分解
五.RC串联电路及RL并联电路的正弦激励的零状态响应
1.RC串联电路的正弦激励的零状态响应
外施激励为正弦电压源
,根据KVL,
,方程的通解为
,由非齐次方程的特解和对应的齐次方程的通解两个分量组成,不难求得
,
,其中
。
再代入初始值,可求得
。
从而
,
,
,
【5】。
图6.1即为RC串联的正弦激励的零状态响应波形。
MATLAB程序如下:
>>Usm=2;w=pi;R=2;C=0.5;h=atan(w*C*R);z=sqrt((w*R*C)^2+1);%输入给定参数
>>t=[0:
0.01:
10];
>>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));Uc1=-Usm/z*cos(pi/2-h)*exp(-t/(R*C));Uc2=Usm/z*cos(w*t+pi/2-h);Ur=1/(R*C)*Usm/z*cos(pi/2-h)*exp(-t/(R*C))-Usm*sin(h)*sin(w*t+pi/2-h);Ur1=1/(R*C)*Usm/z*cos(pi/2-h)*exp(-t/(R*C));Ur2=-Usm*sin(h)*sin(w*t+pi/2-h);
>>I=Ur/R;I1=Ur1/R;I2=Ur2/R;
>>figure
subplot(2,1,1);plot(t,Uc,t,Uc1,t,Uc2)
title('Uc(t)的波形')
subplot(2,1,2);plot(t,Ur,t,Ur1,t,Ur2)
title('Ur(t)的波形')
subplot(4,1,3);plot(t,I,t,I1,t,I2)
title('I(t)的波形')
subplot(4,1,4);plot(t,Us)
title('Us(t)的波形')
运行结果如图7.2所示
图7.2RC串联的正弦激励的零状态响应波形
2.RL并联电路的正弦激励的零状态响应
外施激励为正弦电压源
,根据KVL,
,方程的通解为
,由非齐次方程的特解和对应的齐次方程的通解两个分量组成,不难求得
,
,其中
。
再代入初始值,可求得
。
从而
,
,
,
。
图6.2即为RL并联的正弦激励的零状态响应波形。
MATLAB程序如下:
>>Ism=2;w=pi;R=2;L=0.5;h=atan(w*L/R);z=sqrt((w*L)^2+R^2);%输入给定参数
>>t=[0:
0.01:
10];
>>Is=Ism*cos(w*t+pi/2);
>>IL=Ism*R/z*cos(w*t+pi/2-h)-Ism*R/z*cos(pi/2-h)*exp(-t*R/L);
IL1=Ism*R/z*cos(w*t+pi/2-h);
IL2=-Ism*R/z*cos(pi/2-h)*exp(-t*R/L);
>>Ir=R*Ism/z*cos(pi/2-h)*exp(-t*R/L)-w*L*Ism/z*sin(w*t+pi/2-h);
Ir1=R*Ism/z*cos(pi/2-h)*exp(-t*R/L);
Ir2=-w*L*Ism/z*sin(w*t+pi/2-h);
>>U=Ir*R;U1=Ir1*R;U2=Ir2*R;
>>figure
subplot(4,1,1);plot(t,IL,t,IL1,t,IL2)
title('IL(t)的波形')
subplot(4,1,2);plot(t,Ir,t,Ir1,t,Ir2)
title('Ir(t)的波形')
subplot(4,1,3);plot(t,U,t,U1,t,U2)
title('U(t)的波形')
subplot(4,1,4);plot(t,Is)
title('Is(t)的波形')
运行结果如图7.3所示
图7.3RL并联的正弦激励的零状态响应波形
3.零状态响应分解为暂态分量与稳态分量之和
因为
,从中可以看出前一个分量是一个稳态分量,不随时间增长而衰减,后一个分量是一个随时间增长而衰减的暂态分量。
同理,根据
的表达式也可以得出同样的结论,
,前一个分量是稳态分量,后一个分量是暂态分量。
MATLAB程序如下:
>>Usm=3;Ism=2;w=pi;R=2;C=0.5;L=0.5;h1=atan(w*R*C);h2=atan(w*L/R);%输入给定参数
z1=sqrt((w*R*C)^2+1);z2=sqrt((w*L)^2+R^2);
>>t=[0:
0.01:
10];
>>Uc=Usm/z1*cos(w*t+pi/2-h1)-Usm/z1*cos(pi/2-h1)*exp(-t/(R*C));
Uc1=-Usm/z1*cos(pi/2-h1)*exp(-t/(R*C));
Uc2=Usm/z1*cos(w*t+pi/2-h1);
>>IL=Ism*R/z2*cos(w*t+pi/2-h2)-Ism*R/z2*cos(pi/2-h2)*exp(-t*R/L);
IL1=Ism*R/z2*cos(w*t+pi/2-h2);
IL2=-Ism*R/z2*cos(pi/2-h2)*exp(-t*R/L);
>>figure
subplot(2,1,1);plot(t,Uc,t,Uc1,t,Uc2)
title('Uc(t)的正弦零状态响应=暂态分量+稳态分量')
subplot(2,1,2);plot(t,IL,t,IL1,t,IL2)
title('IL(t)的正弦零状态响应=暂态分量+稳态分量')
运行结果如图7.4所示
图7.4
和
分解为暂态分量和稳态分量的波形图
六.结论
通过本次课程我了解了MATLAB这个软件,熟悉了MATLAB在数字信号处理过程中的应用。
本次实验应用MATLAB将一阶动态电路的响应状态通过仿真图像生动形象的展现出来。
七.课程体会
在本次课程设计中,我学会了很多,例如会强迫自己动手,整合思路,查找资料,为己所用。
平时所学的理论知识只是基础,真正应用软件做设计的时候才能知道自己的局限性。
所以就应该学会利用资料,首先就是互联网,然后是图书馆。
由于本次课设的时间限制,最合理的资料应该是互联网,快速,方便。
搜集到资料以后不能照抄,应该仔细阅读,读懂,然后根据自己的要求改变参数。
总之,只有知道怎么自己学习,才能知道怎么自己动手。
我将之前所学的理论知识和这次的设计及仿真结合起来,加深了对数字信号处理的理解。
通过这次的反复利用,加深了理解和印象,实在是获益匪浅。
参考文献
[1]卫国.MATLAB程序设计与应用(第二版)[M].:
高等教育,2006.
[2]怀琛,吴大正,高西全.MATLAB及在电子信息课程中的应用[Z].:
电子工业,2005
[3]泉,阙大顺,郭志强.数字信号处理原理与实现[Z].:
电子工业,2009
[4]梁虹.信号与系统分析及MATLAB实现[Z].:
电子工业,2002