ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:50.25KB ,
资源ID:11903812      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11903812.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于MATLAB GUI 的线性动态电路分析.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于MATLAB GUI 的线性动态电路分析.docx

1、基于MATLAB GUI 的线性动态电路分析论文(设计)题目 基于MATLAB-GUI的 线 性 动 态 电 路 分 析摘 要在电路分析中,对线性动态电路的分析方法一般是经典法和拉普拉斯变换法。不过对于较高阶的动态电路,用这些方法就会比较繁琐。而本文设计了一种新的方法-伴随网络法。这种方法是把动态电路的过渡过程时间t0T划分成若干时间间隔t,把动态元件电感L和电容C用相应的离散模型来取代,经过代换后的电路称为原电路的伴随网络。因而对该时间间隔内相应伴随网络的分析可视为稳态电路分析。不过这种方法需要多次重复计算,若由人来计算就会相当的复杂。所以我们利用MATLAB软件来进行编程,把计算工作交给计

2、算机。这样就可以方便快捷地算出结果。为了使软件的界面更加友好,我们利用MATLAB自带的GUI工具做了一个图形用户界面。用户只需要按照界面的要求进行元件参数和支路编号的输入,运行后即可在屏幕上显示GUI界面下的输出电压波形和电流波形。关键词:伴随网络法,图形用户界面,离散模型AbstractGenerally, the method of the linear dynamic circuit analysis is the Classic and Laplace transform method in circuit analysis. But these methods will be co

3、mplex to the high-level linear dynamic circuit. In this article we design a new method-accompanying network method. This method divided the time (t0T) of transitional process of dynamic circuit into a number of intervals t, The dynamic component inductance L and capacitance C with the corresponding

4、discrete model to replace, after substitution of the circuit , the original circuit is called accompanying network. So the analysis of accompanying network could be deemed as steady-state analysis. However, the times of calculation are so many. It will be too complex to calculate it by people. There

5、fore, we use MATLAB to program. By doing this, it will be convenient to obtain the results. At the same time, in order to get a more friendly interface, I also use the tools (GUI) of MATLAB made a graphical user interface. The user only needs to input the parameter of the components and the number o

6、f branches according to the requirement of the interface. After the running, it could output the voltage and current waveforms on the GUI interface.Key words:accompanying network , graphic user interface, discrete model1绪论通常情况下,我们对一个线性动态电路进行瞬态分析往往采用的是经典法,即列写出电路的时域微分方程并求解,得出电感电流或者电容电压,然后再根据各支路间的约束关系进

7、一步求得其它各支路的电压或电流。众所周知在经典法中,如果电路中只含有一个动态元件(电感或电容) ,那么列出的方程是一阶微分方程,其求解过程相对简单; 但如果电路中含有两个或两个以上的动态元件,则所列出的方程将会是二阶或高阶微分方程,其求解过程会很麻烦,工作量很大。有鉴于此,人们又考虑采用积分变换的方法,利用拉普拉斯变换把已知的时域函数变换为频域函数,从而把时域的微分方程化为频域的代数方程。求出频域函数后,再作拉普拉斯反变换,返回时域,从而求得满足电路初始条件的原微分方程的解,且不需要确定积分常数1。但该方法同样也存在运算量大的问题,尤其是对于含有多个动态元件的高阶复杂动态电路,并且计算得出的结

8、果很不直观,无法清晰地看出在过渡过程中各电量随时间变化的规律。本文就是从这个意义上出发,探索出一种线性电路瞬态分析的新方法伴随网络法。伴随网络法从建立电路方程开始,就设法避开微分方程。它把动态电路的过渡过程时间t0T划分成若干时间间隔t,把动态元件电感L和电容C用相应的离散模型来取代,经过代换后的电路称为原电路的伴随网络。对于每一个时间间隔t而言,在伴随网络中,不再含有动态元件,取而代之的是动态元件L、C的离散模型,因而对该时间间隔下相应伴随网络的分析可视为稳态电路分析。也就是说,通过伴随网络法,可以将瞬态电路分析归结为一系列不同离散时刻下电阻网络的稳态分析。在对每一个离散时刻下的电阻网络进行

9、方程列写时采用的是改进结点法,所列出的线性方程组采用的是电路方程的矩阵型式。其中结点电压方程矩阵的建立是采用的直接添加法,方程系数矩阵及右端项的元素并非整体形成,而是采用逐次扫描电路中的每一个支路元件,分别添加它们对方程的贡献的方法。建立方程伊始,方程系数矩阵及右端项全部为零元素所填充,每扫描一个元件,就将它对方程的贡献填到合适的位置,这样逐次扫描,逐次添加,直至网络中每一条支路均被扫描,网络方程便被建立起来。当然整个网络方程的建立和求解都是借助于计算机并由MATLAB软件编程实现的,充分利用了该软件强大的数值计算功能和图形输出能力,力求更加方便直观。整个电路矩阵的建立也采用的是框架式结构,即

10、电路规模、结点数、支路数以及各支路元件参数均由使用者自行输入,待分析支路的编号也由使用者输入,运行后即可直接显示出待求支路的电压和电流波形。同时为了使输入输出界面更加友好,我还利用MATLAB自带的GUI工具作了一个图形用户界面,用户只需要按照界面的要求进行网络拓扑参数和待分析支路编号的输入,运行后即可在屏幕上显示GUI界面下的输出电压和电流波形。简单方便,清晰直观。2 线性动态电路分析的常用方法 我们知道,对于动态电路的分析常用的方法有经典法和拉普拉斯变换法。对于经典法,我们常用来求解一些低阶的微分方程。运用拉普拉斯变换法可以求解一些较高阶的微分方程。2.1 经典法对于仅含一个动态元件的简单

11、电路,结合所给电路模型,根据KCL (基尔霍夫电流定律) 、KVL (基尔霍夫电压定律)和支路的VCR (电压电流关系)建立描述电路的方程,建立的方程是以时间为自变量的线性常微分方程,然后求解常微分方程,从而得到电路所求变量(电压或电流)。2.2 拉普拉斯变换法对于具有多个动态元件的高阶线性动态电路,用直接求解微分方程的方法比较困难。例如对于一个n阶方程,直接求解时需要知道变量及其各阶导数在t=0+时刻的值,而电路中给定的初始状态是各电容电压和电感电流在t=0+时刻的值,从这些值求得所需初始条件的工作量很大。于是人们通过拉氏变换,把已知的时域函数变换为频域函数,从而把时域的微分方程组转化为频域

12、的代数方程组,求解代数方程组得到频域解后,再经拉普拉斯反变换返回时域,可以得到满足电路初始条件的原微分方程组的解,而不需要确定积分常数。因此,拉普拉斯变换是求解高阶复杂动态电路的有效而且重要的方法之一。3 电路分析中常用的仿真软件目前国内外常用的电路仿真软件有PSPICE、SABER和MATLAB等一些软件。这些软件都有各自强大的功能,在不同领域有着各自的特点,现在将其介绍如下:3.1 PSPICE和SABER3.1.1 PSPICE简介用于模拟电路仿真的SPICE(Simulation Program with Integrated Circuit Emphasis)软件是于1972年由美国

13、加州大学伯克利分校的计算机辅助设计小组利用FORTRAN语言开发而成的,主要用于大规模集成电路的计算机辅助设计。SPICE的正式版SPICE.2G在1975年正式推出,但是该程序的运行环境至少为小型机。1985年,加州大学伯克利分校用C语言对SPICE软件进行了改写,并由MICROSIM公司推出。PSPICE是该公司在SPICE.2G版本的基础上升级并应用到PC机上的仿真软件。1998年著名的EDA商业软件开发商ORCAD公司与MICROSIM公司正式合并,自此MICROSIM公司的PSPICE产品正式并入ORCAD公司的商业EDA系统中。不久之后,ORCAD公司正式推出了ORCAD PSPI

14、CE Release 10.5,与传统的SPICE软件相比,PSPICE 10.5在三大方面实现了重大变革:首先,在对模拟电路进行直流、交流和瞬态等基本电路特性分析的基础上,实现了蒙特卡罗分析、最坏情况分析以及优化设计等较为复杂的电路特性分析;第二,不但能够对模拟电路进行仿真,而且能够对数字电路、数/模混合电路进行仿真;第三,集成度大大提高,电路图绘制完成后可直接进行电路仿真,并且可以随时分析观察仿真结果。现在国内使用较多的是PSPICE8.0版本,它能够工作在WINDOWS XP环境下,占用硬盘空间较小,整个软件有原理图编辑,电路仿真,激励编辑,元器件编辑,波形图等几部分组成,使用时是一个整

15、体。虽然目前PSPICE软件在高校中已经非常流行,但是它也存在着明显的缺点。比如:仿真模型都是针对小功率电子器件的;软件采用变步长算法,对于周期性开关状态变化的电力电子电路而言,将耗费大量时间在步长上面;输出数据后的格式兼容性也不理想。3.1.2 SABER简介SABER是美国Analogy公司开发、现由Synopsys公司经营的系统仿真软件,是当今世界上功能强大的电力电子仿真软件之一。可用于电子、电力电子、机电一体化、机械、光电、光学、控制等不同类型系统构成的混合系统仿真,这也是SABER的最大特点。SABER作为混合仿真系统,可以兼容模拟、数字、控制量的混合仿真,便于在不同层面上分析和解决

16、问题,我们从以下几个方面对SABER仿真软件进行介绍:(1).原理图输入和仿真。SABER Sketch是SABER的原理图输入工具,通过它可以直接进入SABER仿真引擎。在SABER Sketch中,用户能够创建自己的原理图,启动SABER完成各种仿真(偏置点分析、DC分析、AC分析、瞬态分析、温度分析、参数分析、傅立叶分析、蒙特卡诺分析、噪声分析、应力分析、失真分析等),可以直接在原理图上查看仿真结果,SABER Sketch及其仿真功能可以帮助用户完成混合信号、混合技术(电气、液压等)系统的仿真分析。(2).数据可视化和分析。Cosmos Scope是SABER的波形查看和仿真结果分析工

17、具,它的测量工具有50多种标准的测量功能,可以对波形进行准确的定量分析。它的专利工具波形计算器,可以对波形进行多种数学操作。(3).模型库。SABER拥有市场上最大的电气、混合信号、混合技术模型库,它具有很大的通用模型库和较为精确的具体型号的器件模型,其元件模型库中有4700多种器件模型,500多种通用模型,能够满足航空、汽车和电源设计的需求。(4).建模。不同类型的设计需要不同类型的模型,SABER提供了完整的建模功能,可以满足各种仿真与分析的需求。其建模语言主要有MAST、VHDLAMS、Fortran,建模工具包括StateAMS、5维的图表建模工具TLU,SABER可以对SPICE、S

18、IMULINK模型进行模型转换,同时SABER还拥有强大的参数提取工具,可以通过协同仿真实现模型复用。与PSPICE相比,SABER是功能更为强大的仿真软件,它可以仿真电力电子元件、电路和系统,不仅具有PSPICE的功能,而且具有更丰富的元件库和更精致的仿真描述能力,还能结合数学控制方程模块工作。SABER还可以仿真电力传动、机械、热力、流体等其他运动过程。SABER的仿真真实性很好,从仿真的电路到实际的电路实现,期间参数基本不用修改。但是SABER应用的主要困难是软件操作较为复杂,市场价格高昂,比较适合于大型企业和科研院所应用,中小企业一般都是委托研究。3.2 MATLAB3.2.1 MAT

19、LAB简介MATLAB是矩阵实验室(Matrix Laboratory)的简称,它是由MathWorks公司开发出来的一套功能强大的工程应用软件,它和Mathematica、Maple并称为三大数学软件。它在数值计算方面的功能可以说是首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其它编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB 软件主要包括以下5部分:MATLAB 开发环境。这是一套可以帮助你使用MATLAB函数和文件的工具,这些工具中的大多数都采用图形用户界面,它包括MATLA

20、B桌面和命令窗口、命令历史、编辑器和调试器、帮助浏览器、工作空间、文件和查询路径。MATLAB 数学函数库。这是一个涵盖了从求和、正弦、余弦这样一些基本函数,到矩阵求逆、矩阵特征值、贝赛尔函数和快速傅里叶变换等这样一些复杂函数的运算法则的大集合。MATLAB 语言。这是一种高级矩阵语言,它具有可以控制(数据)流状态、函数、数据结构、输入输出和面向对象编程的特征。它允许快速创建小程序,也可以创建大的复杂的应用程序。图形处理。MATLAB 可方便地将矢量和矩阵用图形来显示,也可注释和打印图形。它包括一些高级(绘图)函数,这些高级函数可用于二维和三维数据可视化、图像处理、动画和图像再现。它也包括一些

21、低级函数,可使用户定制图形界面和在你的MATLAB应用软件上创建完整的图形用户界面。MATLAB 应用程序接口。这是一个允许你将用C语言和Fortran语言编写好的程序与MATLAB程序链接的库,它可以从MATLAB动态链接库中调用程序、将MATLAB作为一个计算引擎、读或写MAT文件。MATLAB主要有以下优点;(1)友好的工作平台和编程环境;(2)简单易用的程序语言;(3)强大的科学计算及数据处理能力;(4)出色的图形处理功能;(5)应用广泛的模块集合工具箱;(6)实用的程序接口和发布平台;(7)应用软件开发(包括用户界面)。3.2.2 MATLAB-GUI简介GUI的全称是Graphic

22、al User Interfaces,其汉语意思是图形用户界面。是指由窗口、光标、按键、菜单、文字说明等对象(Objects)构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如:进行计算、绘图等。假如读者所从事的数据分析、解方程、计算结果可视工作比较单一,那么一般不会考 虑GUI 的制作。但是如果读者想向别人提供应用程序,想进行某种技术、方法的演示,想制作一个能够让用户反复使用且操作简单的专用工具,那么图形用户界面也许是最好的选择之一。这些功能是MATLAB的一大亮点。本文就是将电路分析的结果做一个GUI。可以使用户很方便直观的去观看

23、运算的结果。图1. 伴随网络法的 GUI界面1.支路选择对话框的功能如图1所示,左边的一个对话框上面写着请选择支路。我们把它称作支路选择对话框,它是用MATLAB-GUI中的listbox制作而成的。GUI中的listbox是一个列表框,其显示是由srting属性定义的一系列列表选项,用户能够选择其中的一个或者多个选项。在本设计中其使用方法如下:在整个程序运行时,会提醒用户将电路的相关规模和数据输入程序。然后计算机将会自动地运算,并且把运算的结果存储起来。当程序运行到调用GUI界面时。支路选择对话框会自行回调已经存储好的电路中各个支路的编号。即支路对话框中将会列出各个支路的编号。在本设计中我们

24、定义一次只能选择列表项中的一个选项,来避免选项间的冲突。所以用户在查看电路的波形时只能选择其中的一个支路。如果选择多个的话,系统会提示你选择方式错误。2.坐标图的功能在GUI界面中,右边的是一个坐标平面,我们称它为坐标图。坐标图是用GUI中的axes制作而成的。axes可以调用每一个支路的电压或电流数据。并将其画成波形。坐标轴的横轴为时间轴,其纵轴的单位是电压v或是电流A。画出的波形一般比较的平滑。用户可以清楚的看到各个时刻的电压或电流值,并且总体的电压或电流走向也一目了然。当然具体是电压波形还是电流的波形,这就要看你选择了。Axes是一个二维的坐标图形,其调用的数据是经过运算保存后的所选择支

25、路的数据,这些数据可以通过一个命令plot画成一个图形。并且通过选择GUI下面的电压或电流按钮,程序将自动改变坐标轴的单位。3.电压电流选择对话框电压电流选择对话框的功能是选择所要查看的电压波形或电流波形。该对话框是由一个button group和两个radio button所组成。button group是一个按钮组合框。组合框是一个图形封闭区域,它可以把相关的控件(单选按钮或多选按钮等)组合在一起,使得界面的按钮功能和相互间的关系更容易理解。Button group中包含了两个radio button。radio button是单选按钮。单选按钮一般是以组出现的。一组单选按钮之间的关系是相

26、互排斥的,也就是说任何时候只有一个按钮有效。在本设计中只用到了两个单选按钮。上面的一个是电流波形选择按钮,下面一个是电压波形选择按钮。在用户没有做出选择的时候,系统默认的是电压波形。让axes回调所选支路的电压数据,并给坐标轴辅以电压单位。当用户点击选择电流波形时,将触动axes回调所选支路的电流数据,并给坐标轴以电流单位。4 伴随网络法伴随网络法的数学模型是把动态电路的过渡过程时间t0 T划分成若干时间间隔t,把动态元件电感L和电容C用相应的离散模型来代替,经过代换后的电路称为原电路的伴随网络电路。对于每一个时间间隔t而言,在伴随网络中,我们认为不再含有动态元件,取而代之的是动态元件L, C

27、的离散模型,因而对该时间间隔下相应伴随网络的分析可视为稳态电路分析。也就是说,通过伴随网络法,可以将瞬态电路分析归结为一系列不同离散时刻下电阻网络的稳态分析。当然这种思路的背景主要是基于计算机辅助分析的基础上,因为在这种过程中要重复计算很多次,单靠人工是无法实现的,不过通过计算机就可以既方便又快捷的算出结果。4.1 动态元件的离散模型4.1.1 电容C的伴随网络模型图2.电容C及其伴随网络模型如图2所示,图中左边电容C的电压u(t)与电流i(t)为关联参考方向,则:i(t)=Cdu(t)/dt (1)在某一离散时刻tn+1,in+1=Cun+1 (2)我们采用梯形积分公式:un+1=un+(u

28、n+un+1)h/2 (3)故而由式(2)、(3)可得:in+1=un+12C/h-(un2C/h+in) (4)由此得出图2中右边所示电容的伴随网络模型,该离散模型是由一个电导和一个电流源并联而成。电导G的取值为2C/h,电流源的取值为(2C/h)un+in,其中参数C为电容值(法拉),h为划分后的时间间隔t(秒)。4.1.2 电感L的伴随网络模型图3.电感L及其伴随网络模型如图3所示,图中左边电容L的电压u(t)与电流i(t)为关联参考方向,则:u(t)=Ldi(t)/dt (5)在某一离散时刻tn+1,un+1=Lin+1 (6)我们再次采用梯形积分公式:in+1=in+(in+in+1

29、)h/2 (7)故而由式(6)、(7)可得:in+1=un+1h/2L+(unh/2L+in) (8)由此得出图3中右边所示电感的伴随网络模型,该离散模型同样是由一个电导和一个电流源并联而成。电导G的取值为h/2L,电流源的取值为(h/2L)un+in,其中参数L为电感值(亨利),h为划分后的时间间隔t(秒)。4.2 伴随网络法分析瞬态电路的步骤(1)根据所给电路的网络数据,对初始状态进行分析;(2)根据网络结构预估过渡过程时间T,并将t0T划分(通常可等分)为若干时间间隔t = h,取时间步长为h,形成t1 = h时的伴随网络,计算出t1时刻的网络响应;(3)根据上一时刻计算出的结果,修正伴

30、随网络的参数,从而获得下一时刻的伴随网络;(4)利用步骤(3)形成的伴随网络,建立电路方程并求解,得出该时刻的响应;(5)如果t2 T,分析结束,输出结果;否则增加时间步长h,转向步骤(3) 。5 伴随网络法的MATLAB编程实现本文编程采用的是目前电路分析领域使用较多的软件MATLAB,该软件具有强大的数学运算功能和图形处理能力,其数据处理十分有效、精细,运行速度较快,且数据格式兼容性较好,便于数据的后处理与分析。5.1 程序流程图5.1.1 主程序流程图图4.伴随网络法主程序流程图伴随网络法主程序流程图如图4所示,另外还有高斯消元子程序这里就不再赘述了,所对应的MATLAB源程序在文后的附

31、录中给出。5.1.2 GUI程序流程图图5.GUI程序流程图5.2算例分析有一线性网络如图4所示,如果电容元件的初始值为UC(0+)= 0V,电感元件的初始值iL(0+)=0A, R1=R2=R3=2, gm=1S, L=1H, C=2F。开关K在t=0时刻闭合,且K闭合前电路已处于稳态。求: t0时各支路的电压和电流。图6.算例电路图5.2.1输入参数从网络结构我们可以看出,该电路共有5个结点, 7个支路(每个元件均算作一个支路)。其中包含3个电阻, 1个独立电压源, 1个受控电流源,另外还有两个动态元件电容C和电感L。运行程序后,屏幕提示信息如下:请输入电路规模请输入待求网络的节点数: 5

32、n = 5请输入待求网络的支路数: 7b = 7请输入待求网络的动态元件数: 2q = 2请输入过渡过程的时间(单位:秒) : 15T = 15请输入第1支路的始节点,终节点,元件类型,参数1,参数2,控制支路始节点,终节点(没有则置零) :- 1, 2, R, 2, 0, 0, 0请输入第2支路的始节点,终节点,元件类型,参数1,参数2,控制支路始节点,终节点(没有则置零) :- 2, 3, R, 2, 0, 0, 0请输入第3支路的始节点,终节点,元件类型,参数1,参数2,控制支路始节点,终节点(没有则置零) :- 3, 0, R, 2, 0, 0, 0请输入第4支路的始节点,终节点,元件类型,参数1,参数2,控制支路始节点,终节点(没有则置零) :- 1, 0, E, 5, 0, 0, 0请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1