刘亦萍,王玮,薛超,沈言路
(上海第二工业大学电子与电气工程学院,上海201209)
基于Matlab的高阶暂态电路实例分析
刘亦萍,王玮,薛超,沈言路
(上海第二工业大学电子与电气工程学院,上海201209)
通过对复杂高阶暂态电路实例进行分析,阐述了运算法及相量法的应用,并列出了电路一般方程。运用Matlab软件完成了电路方程的计算、时域解的求解及输出波形的绘制。
暂态电路;运算法;相量法;Matlab
由于复杂电路的分析往往需要求解多元一次方程组或一元高次微分方程等,仅仅手算是难以完成的,而利用Matlab[1]软件,通过编程让计算机求解,可大大减少人的工作量,同时用Matlab编程绘制输出波形,可直观地观察输出的变化。本文通过对典型的高阶暂态电路进行分析,探索出一条求解一元高次微分方程的方法,特别是利用节点电压法[2]的运算法来求解更具实用价值。而对于交流稳态解的求解,利用相量法,通过Matlab编程解决则很有效。
对于含储能元件数大于等于2的高阶暂态电路,电路微分方程的阶将大于等于2。通过拉普拉斯变换[2],可将线性微分方程的求解转换成复频域的线性代数方程的求解,得到电压、电流的复频域解后,再求拉普拉斯反变换,得到电压、电流的时域解,这就是运算法。把电路转换成运算电路后,基尔霍夫电压定律和基尔霍夫电流定律[3]依然成立,所以节点法也是适用的。带复频率s的节点电压方程组属于符号计算范围,而Matlab提供了强大的符号计算功能,可进行符号矩阵或数组的加、减、乘、除、幂运算,还可进行多项式的部分分式的展开、求拉普拉斯反变换等运算。
下面实例是带运算放大器的暂态电路[4],由运算放大器工作在线性区的两个分析依据,即: i+=i-=0,u+=u-,得到节点电压方程组后用Matlab编程求解。
实例1当t>0时,求输出v。在图1中, v(0)=2 V,vc(0)=2 V。
图1 带运算放大器的暂态电路Fig.1 The transient circuit with operational amplifer
解由运算放大器,i+=i-=0,u+=u-。
所以1/5 F电容两端电压为v。电路中有3个节点,只有2个节点电压变量,用节点电压法,列2个方程即可。图2为运算电路图。
图2 图1的运算电路图Fig.2 The operation circuit diagram of Figure 1
由节点电压法可得如下方程:
节点1
节点2
所以
令
则有AU=B。
利用Matlab编程,程序及运行结果如下。
(1)程序
A=sym(‘[2+s,-(1+s);-1,1+s/5]’)
B=sym(‘[2+6/s;2/5]’)
V=linsolve(A,B)
v=ilaplace(V(2))
(2)运行结果
v=6-4∗exp(-t)∗cos(2∗t)+3∗exp(-t)∗sin(2∗t)
即输出电压v=6-4e-tcos2t+3e-tsin2tV
(3)绘制输出电压曲线程序
clear
t=0:0.0001:30
v=6-4∗exp(-t).∗cos(2∗t)+3∗exp(-t).∗sin(2∗t)
plot(t,v)
yLabel(‘电压(V)’)
xLabel(‘时间(s)’)
程序运行后得曲线如图3所示。
图3 图1的输出电压曲线Fig.3 Output voltage curve of Figure 1
由输出电压曲线可看出,当t→∞时,v=6 V,即输出电压等于输入电压,相当于电压跟随器。
对于含受控源的电路,受控源可按独立电源处理,但要把控制量考虑进去。
实例2如图4所示电路是线性定常的。已知v1(0)=γ,i(0)=ρ,试求v2。设v0(t)=u(t)cos(t), R1=R2=1 Ω,L=2 H,C=2 F,gm=0.5 S, γ=-2 V,ρ=1 A。
解利用运算法,该电路的运算电路图如图5。
图4 有受控源及加正弦激励的暂态电路Fig.4 The transient circuit with controlled source and sine drive signal
图5 图4的运算电路图Fig.5 The operation circuit diagram of Figure 4
可以看到,该电路有3个节点,3个网孔,用节点法列2个方程即可,而用网孔法则须列3个方程,故用节点法分析[5]。取3号节点为参考节点,节点电压有V1(s),V2(s)。列节点电压方程:
整理后得
用矩阵表示,设则AV=B。
(1)程序1
A=sym(‘[1+2∗s+1/(2∗s),-1/(2∗s);1/2-1/(2∗s),1+1/(2∗s)]’)
B=sym(‘[1/(1+s︵2)-4-1/s;1/s]’)
V=AB
结果
(2)程序2
用部分分式展开[6],求拉普拉斯反变换。
a=[8 8 13 8 5]
b=[16-2 14 0]
[r,p,k]=residue(b,a)
m=abs(r),q=angle(r)∗180/pi
结果
v2=0.331cos(t+114.444o)+ 2.5754e-0.5tcos(0.6124t+33.9233o)V
(3)程序3
绘制输出电压曲线[6]。
clear
t=0:0.0001:30
v2=0.331∗cos(t+114.444∗pi/180)+2.5754∗exp(-0.5∗t).∗cos(0.6124∗t+33.9233∗pi/180)
plot(t,v2)
yLabel(‘电压(V)’)
xLabel(‘时间(s)’)
程序运行后即得输出电压曲线如图6所示。
图6 图4中v2输出电压曲线Fig.6 v2output voltage curve in Figure 4
从v2输出曲线可看出,由于加的是正弦激励,电路处于稳态后仍然得到正弦输出。
下面实例3是四阶暂态电路[7]。对于换路时处于正弦稳态的电路[8],可先求出正弦稳态解,再算出储能元件的初始值,最后由运算电路求暂态解。
实例3图7为线性定常网络。开关S在位置1已有充分长的时间,使得电路处于正弦稳态。在t=0的瞬间,开关掷向位置2。求i1(t),i2(t),i3(t)。
图7 实例3电路Fig.7 The circuit of case three
解从电路图看出,该电路有4个节点,3个网孔,用节点法可列3个方程,而用网孔法也是列3个方程,工作量相同,故两种方法均可。下面用节点法分析。
(1)求t<0时i1(t),i2(t),i3(t)的稳态解及储能元件的初始值。
用相量法,如图8所示,以节点4为参考节点。
图8 t<0时图7交流稳态电路Fig.8 The AC steady-state circuit of Figure 7 when t<0
求˙IL1,˙IL2,˙VC1,˙VC2。再求当t=0-时, iL1(t),iL2(t),vC1(t),vC2(t)的值。
①程序
a=[1+2∗j+1/(2∗j),-1/(j∗2),-2∗j;-1/(j∗2),j∗2+1/(2∗j)+1,-1;-j∗2,-1,1+1/(2∗j)+j∗2]
b=[2;0;0]
V=a
I=[2-V(1);V(2)-V(3);V(3)/(j∗2)]
In=abs(I),Ia=angle(I)∗180/pi
Y=[(V(1)-V(2))/(j∗2);V(3)/(j∗2);V(1)-V(3);V(2)]
Ym=abs(Y),Ya=angle(Y)
i1=Ym(1)∗cos(Ya(1))
i2=Ym(2)∗cos(Ya(2))
u1=Ym(3)∗cos(Ya(3))
u2=Ym(4)∗cos(Ya(4))
②结果
i1=cos(2t)A
i2=cos(2t-126.8699◦)A
i3=cos(2t-63.4349◦)A
iL1(0-)=iL2(0-)=0.2 A
vC1(0-)=vC2(0-)=0.2 V
由换路定则,有
iL1(0+)=iL2(0+)=0.2 A
vC1(0+)=vC2(0+)=0.2 V
(2)求t>0时i1(t),i2(t),i3(t)的暂态解。用运算法求解[9],运算电路如图9所示。
图9 实例3运算电路图Fig.9 The operation circuit diagram of case three
由节点法,以节点4为参考节点,先求V1(s), V2(s),V3(s),再求I1,I2,I3,最后求拉普拉斯反变换后得到时域解i1,i2,i3。
节点1
节点2
节点3
①程序
symst V I i s;
a=sym(‘[1+s+1/s,-1/s,-s;-1/s,s+1/s+ 1,-1;-s,-1,1+1/s+s]’)
b=sym(‘[2/s+0.2-0.2/s;0.2+0.2/s;-0.2/s-0.2]’)
V=a
I=[2/s-V(1);V(2)-V(3);(V(3)+0.2)/s]
i=ilaplace(I)
②结果当
t>0时,有
(3)绘制曲线程序
clear;clf
t=0:0.0001:8
i1=1
i2=-1.6∗exp(-t)+1
i3=-0.8.∗exp(-t)+1
plot(t,i1,‘r’,t,i2,‘b’,t,i3,‘k’)
axis([0,8,-0.8,1.2])
yLabel(‘电流(A)’)
xLabel(‘时间(s)’)
得输出曲线如图10所示。
图10 图7输出曲线(i1,i2,i3)Fig.10 The output curves(i1,i2,i3)in Figure 7
因为t>0后加入的激励是直流电压,从输出曲线可看出,i1比较特殊,未受储能元件的影响,是一直流量,而i2、i3稳态后亦是直流量。
对于二阶及二阶以上的高阶暂态电路,采用在复频域中的运算法比较方便,避免了求解高次微分方程;若电路节点数较少,则用节点法求解比较方便。利用Matlab的复数、矩阵、符号计算功能,可很方便地计算出电压或电流的象函数,对其求拉普拉斯反变换后即可得时域解,还可用Matlab的绘图功能绘出仿真波形。
[1]李丽,王振领.MATLAB工程计算及应用[M].北京:人民邮电出版社,2001.
[2]邱关源,罗先觉.电路[M].北京:高等教育出版社,2006.
[3]王蔼.基本电路理论[M].上海:上海科技文献出版社, 2002.
[4]JOHNSON D E,JOHNSON J R,HILBURN J L.Electric circuit analysis[M].Englewood Cliffs,N.J.:Prentice-Hall, Inc.,1992.
[5]刘娟.Matlab在电路分析中的应用[J].现代电子技术, 2003(13):87-88.
[6]PAUL C R.Fundamentals of electric circuit analysis[M]. New York:John Wiley&Sons,Inc.,2001.
[7]朱学斌.Matlab符号运算在高阶动态电路中的应用[J].鲁东大学学报:自然科学版,2008,24(2):139-141.
[8]黄晓俊,蔡东红.Matlab在电路分析中的应用及探讨[J].喀什师范学院学报,2007,28(6):35-37.
[9]DAVID I J,MARK N R.Engineering circuit analysis[M]. Hoboken:Wiley,John Wiley,2011.
Analysis of Several Higher-Order Transient Circuits Based on Matlab
LIU Yi-ping,WANG Wei,XUE Chao,SHEN Yan-lu
(School of Electronic and Electric Engineering,Shanghai Second Polytechnic University, Shanghai 201209,P.R.China)
The several complex higher-order transient circuits are analyzed.The application of operation method and phasor method is explained.And also,the processes of getting general circuit equations are showed.Finally,Matlab software is used to complete the calculation of the circuit equations,get time-domain solution and draw the output waveform.
transient circuit;operation method;phasor method;Matlab
TM131.2
:A
1001-4543(2014)01-0055-06
2013-09-11;
2014-03-11
刘亦萍(1965–),女,江西人,工程师、讲师,硕士,主要研究方向为电路理论及微机应用,电子邮箱ypliu@sspu.edu.cn。
上海第二工业大学科研基金项目(No.EGD13XQD20)、上海第二工业大学大学生科技项目(No.2013-xjkj-018)资助