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

上传人:b****4 文档编号:8302305 上传时间:2023-05-10 格式:DOCX 页数:25 大小:50.25KB
下载 相关 举报
基于MATLAB GUI 的线性动态电路分析Word下载.docx_第1页
第1页 / 共25页
基于MATLAB GUI 的线性动态电路分析Word下载.docx_第2页
第2页 / 共25页
基于MATLAB GUI 的线性动态电路分析Word下载.docx_第3页
第3页 / 共25页
基于MATLAB GUI 的线性动态电路分析Word下载.docx_第4页
第4页 / 共25页
基于MATLAB GUI 的线性动态电路分析Word下载.docx_第5页
第5页 / 共25页
基于MATLAB GUI 的线性动态电路分析Word下载.docx_第6页
第6页 / 共25页
基于MATLAB GUI 的线性动态电路分析Word下载.docx_第7页
第7页 / 共25页
基于MATLAB GUI 的线性动态电路分析Word下载.docx_第8页
第8页 / 共25页
基于MATLAB GUI 的线性动态电路分析Word下载.docx_第9页
第9页 / 共25页
基于MATLAB GUI 的线性动态电路分析Word下载.docx_第10页
第10页 / 共25页
基于MATLAB GUI 的线性动态电路分析Word下载.docx_第11页
第11页 / 共25页
基于MATLAB GUI 的线性动态电路分析Word下载.docx_第12页
第12页 / 共25页
基于MATLAB GUI 的线性动态电路分析Word下载.docx_第13页
第13页 / 共25页
基于MATLAB GUI 的线性动态电路分析Word下载.docx_第14页
第14页 / 共25页
基于MATLAB GUI 的线性动态电路分析Word下载.docx_第15页
第15页 / 共25页
基于MATLAB GUI 的线性动态电路分析Word下载.docx_第16页
第16页 / 共25页
基于MATLAB GUI 的线性动态电路分析Word下载.docx_第17页
第17页 / 共25页
基于MATLAB GUI 的线性动态电路分析Word下载.docx_第18页
第18页 / 共25页
基于MATLAB GUI 的线性动态电路分析Word下载.docx_第19页
第19页 / 共25页
基于MATLAB GUI 的线性动态电路分析Word下载.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

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

《基于MATLAB GUI 的线性动态电路分析Word下载.docx》由会员分享,可在线阅读,更多相关《基于MATLAB GUI 的线性动态电路分析Word下载.docx(25页珍藏版)》请在冰点文库上搜索。

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

但如果电路中含有两个或两个以上的动态元件,则所列出的方程将会是二阶或高阶微分方程,其求解过程会很麻烦,工作量很大。

有鉴于此,人们又考虑采用积分变换的方法,利用拉普拉斯变换把已知的时域函数变换为频域函数,从而把时域的微分方程化为频域的代数方程。

求出频域函数后,再作拉普拉斯反变换,返回时域,从而求得满足电路初始条件的原微分方程的解,且不需要确定积分常数[1]。

但该方法同样也存在运算量大的问题,尤其是对于含有多个动态元件的高阶复杂动态电路,并且计算得出的结果很不直观,无法清晰地看出在过渡过程中各电量随时间变化的规律。

本文就是从这个意义上出发,探索出一种线性电路瞬态分析的新方法——伴随网络法。

伴随网络法从建立电路方程开始,就设法避开微分方程。

它把动态电路的过渡过程时间t0→T划分成若干时间间隔Δt,把动态元件电感L和电容C用相应的离散模型来取代,经过代换后的电路称为原电路的伴随网络。

对于每一个时间间隔Δt而言,在伴随网络中,不再含有动态元件,取而代之的是动态元件L、C的离散模型,因而对该时间间隔下相应伴随网络的分析可视为稳态电路分析。

也就是说,通过伴随网络法,可以将瞬态电路分析归结为一系列不同离散时刻下电阻网络的稳态分析。

在对每一个离散时刻下的电阻网络进行方程列写时采用的是改进结点法,所列出的线性方程组采用的是电路方程的矩阵型式。

其中结点电压方程矩阵的建立是采用的直接添加法,方程系数矩阵及右端项的元素并非整体形成,而是采用逐次扫描电路中的每一个支路元件,分别添加它们对方程的贡献的方法。

建立方程伊始,方程系数矩阵及右端项全部为零元素所填充,每扫描一个元件,就将它对方程的贡献填到合适的位置,这样逐次扫描,逐次添加,直至网络中每一条支路均被扫描,网络方程便被建立起来。

当然整个网络方程的建立和求解都是借助于计算机并由MATLAB软件编程实现的,充分利用了该软件强大的数值计算功能和图形输出能力,力求更加方便直观。

整个电路矩阵的建立也采用的是框架式结构,即电路规模、结点数、支路数以及各支路元件参数均由使用者自行输入,待分析支路的编号也由使用者输入,运行后即可直接显示出待求支路的电压和电流波形。

同时为了使输入输出界面更加友好,我还利用MATLAB自带的GUI工具作了一个图形用户界面,用户只需要按照界面的要求进行网络拓扑参数和待分析支路编号的输入,运行后即可在屏幕上显示GUI界面下的输出电压和电流波形。

简单方便,清晰直观。

2线性动态电路分析的常用方法

 我们知道,对于动态电路的分析常用的方法有经典法和拉普拉斯变换法。

对于经典法,我们常用来求解一些低阶的微分方程。

运用拉普拉斯变换法可以求解一些较高阶的微分方程。

2.1经典法

对于仅含一个动态元件的简单电路,结合所给电路模型,根据KCL(基尔霍夫电流定律)、KVL(基尔霍夫电压定律)和支路的VCR(电压电流关系)建立描述电路的方程,建立的方程是以时间为自变量的线性常微分方程,然后求解常微分方程,从而得到电路所求变量(电压或电流)。

2.2拉普拉斯变换法

对于具有多个动态元件的高阶线性动态电路,用直接求解微分方程的方法比较困难。

例如对于一个n阶方程,直接求解时需要知道变量及其各阶导数在t=0+时刻的值,而电路中给定的初始状态是各电容电压和电感电流在t=0+时刻的值,从这些值求得所需初始条件的工作量很大。

于是人们通过拉氏变换,把已知的时域函数变换为频域函数,从而把时域的微分方程组转化为频域的代数方程组,求解代数方程组得到频域解后,再经拉普拉斯反变换返回时域,可以得到满足电路初始条件的原微分方程组的解,而不需要确定积分常数。

因此,拉普拉斯变换是求解高阶复杂动态电路的有效而且重要的方法之一。

3电路分析中常用的仿真软件

目前国内外常用的电路仿真软件有PSPICE、SABER和MATLAB等一些软件。

这些软件都有各自强大的功能,在不同领域有着各自的特点,现在将其介绍如下:

3.1PSPICE和SABER

3.1.1PSPICE简介

用于模拟电路仿真的SPICE(SimulationProgramwithIntegratedCircuitEmphasis)软件是于1972年由美国加州大学伯克利分校的计算机辅助设计小组利用FORTRAN语言开发而成的,主要用于大规模集成电路的计算机辅助设计。

SPICE的正式版SPICE.2G在1975年正式推出,但是该程序的运行环境至少为小型机。

1985年,加州大学伯克利分校用C语言对SPICE软件进行了改写,并由MICROSIM公司推出。

PSPICE是该公司在SPICE.2G版本的基础上升级并应用到PC机上的仿真软件。

1998年著名的EDA商业软件开发商ORCAD公司与MICROSIM公司正式合并,自此MICROSIM公司的PSPICE产品正式并入ORCAD公司的商业EDA系统中。

不久之后,ORCAD公司正式推出了ORCADPSPICERelease10.5,与传统的SPICE软件相比,PSPICE10.5在三大方面实现了重大变革:

首先,在对模拟电路进行直流、交流和瞬态等基本电路特性分析的基础上,实现了蒙特卡罗分析、最坏情况分析以及优化设计等较为复杂的电路特性分析;

第二,不但能够对模拟电路进行仿真,而且能够对数字电路、数/模混合电路进行仿真;

第三,集成度大大提高,电路图绘制完成后可直接进行电路仿真,并且可以随时分析观察仿真结果。

现在国内使用较多的是PSPICE8.0版本,它能够工作在WINDOWSXP环境下,占用硬盘空间较小,整个软件有原理图编辑,电路仿真,激励编辑,元器件编辑,波形图等几部分组成,使用时是一个整体。

虽然目前PSPICE软件在高校中已经非常流行,但是它也存在着明显的缺点。

比如:

仿真模型都是针对小功率电子器件的;

软件采用变步长算法,对于周期性开关状态变化的电力电子电路而言,将耗费大量时间在步长上面;

输出数据后的格式兼容性也不理想。

3.1.2SABER简介

SABER是美国Analogy公司开发、现由Synopsys公司经营的系统仿真软件,是当今世界上功能强大的电力电子仿真软件之一。

可用于电子、电力电子、机电一体化、机械、光电、光学、控制等不同类型系统构成的混合系统仿真,这也是SABER的最大特点。

SABER作为混合仿真系统,可以兼容模拟、数字、控制量的混合仿真,便于在不同层面上分析和解决问题,我们从以下几个方面对SABER仿真软件进行介绍:

(1).原理图输入和仿真。

SABERSketch是SABER的原理图输入工具,通过它可以直接进入SABER仿真引擎。

在SABERSketch中,用户能够创建自己的原理图,启动SABER完成各种仿真(偏置点分析、DC分析、AC分析、瞬态分析、温度分析、参数分析、傅立叶分析、蒙特卡诺分析、噪声分析、应力分析、失真分析等),可以直接在原理图上查看仿真结果,SABERSketch及其仿真功能可以帮助用户完成混合信号、混合技术(电气、液压等)系统的仿真分析。

(2).数据可视化和分析。

CosmosScope是SABER的波形查看和仿真结果分析工具,它的测量工具有50多种标准的测量功能,可以对波形进行准确的定量分析。

它的专利工具——波形计算器,可以对波形进行多种数学操作。

(3).模型库。

SABER拥有市场上最大的电气、混合信号、混合技术模型库,它具有很大的通用模型库和较为精确的具体型号的器件模型,其元件模型库中有4700多种器件模型,500多种通用模型,能够满足航空、汽车和电源设计的需求。

(4).建模。

不同类型的设计需要不同类型的模型,SABER提供了完整的建模功能,可以满足各种仿真与分析的需求。

其建模语言主要有MAST、VHDL-AMS、Fortran,建模工具包括State-AMS、5维的图表建模工具TLU,SABER可以对SPICE、SIMULINK模型进行模型转换,同时SABER还拥有强大的参数提取工具,可以通过协同仿真实现模型复用。

与PSPICE相比,SABER是功能更为强大的仿真软件,它可以仿真电力电子元件、电路和系统,不仅具有PSPICE的功能,而且具有更丰富的元件库和更精致的仿真描述能力,还能结合数学控制方程模块工作。

SABER还可以仿真电力传动、机械、热力、流体等其他运动过程。

SABER的仿真真实性很好,从仿真的电路到实际的电路实现,期间参数基本不用修改。

但是SABER应用的主要困难是软件操作较为复杂,市场价格高昂,比较适合于大型企业和科研院所应用,中小企业一般都是委托研究。

3.2MATLAB

3.2.1MATLAB简介

MATLAB是矩阵实验室(MatrixLaboratory)的简称,它是由MathWorks公司开发出来的一套功能强大的工程应用软件,它和Mathematica、Maple并称为三大数学软件。

它在数值计算方面的功能可以说是首屈一指。

MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其它编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB软件主要包括以下5部分:

MATLAB开发环境。

这是一套可以帮助你使用MATLAB函数和文件的工具,这些工具中的大多数都采用图形用户界面,它包括MATLAB桌面和命令窗口、命令历史、编辑器和调试器、帮助浏览器、工作空间、文件和查询路径。

MATLAB数学函数库。

这是一个涵盖了从求和、正弦、余弦这样一些基本函数,到矩阵求逆、矩阵特征值、贝赛尔函数和快速傅里叶变换等这样一些复杂函数的运算法则的大集合。

MATLAB语言。

这是一种高级矩阵语言,它具有可以控制(数据)流状态、函数、数据结构、输入输出和面向对象编程的特征。

它允许快速创建小程序,也可以创建大的复杂的应用程序。

图形处理。

MATLAB可方便地将矢量和矩阵用图形来显示,也可注释和打印图形。

它包括一些高级(绘图)函数,这些高级函数可用于二维和三维数据可视化、图像处理、动画和图像再现。

它也包括一些低级函数,可使用户定制图形界面和在你的MATLAB应用软件上创建完整的图形用户界面。

MATLAB应用程序接口。

这是一个允许你将用C语言和Fortran语言编写好的程序与MATLAB程序链接的库,它可以从MATLAB动态链接库中调用程序、将MATLAB作为一个计算引擎、读或写MAT文件。

MATLAB主要有以下优点;

(1)友好的工作平台和编程环境;

(2)简单易用的程序语言;

(3)强大的科学计算及数据处理能力;

(4)出色的图形处理功能;

(5)应用广泛的模块集合工具箱;

(6)实用的程序接口和发布平台;

(7)应用软件开发(包括用户界面)。

3.2.2MATLAB-GUI简介

GUI的全称是GraphicalUserInterfaces,其汉语意思是图形用户界面。

是指由窗口、光标、按键、菜单、文字说明等对象(Objects)构成的一个用户界面。

用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如:

进行计算、绘图等。

假如读者所从事的数据分析、解方程、计算结果可视工作比较单一,那么一般不会考虑GUI的制作。

但是如果读者想向别人提供应用程序,想进行某种技术、方法的演示,想制作一个能够让用户反复使用且操作简单的专用工具,那么图形用户界面也许是最好的选择之一。

这些功能是MATLAB的一大亮点。

本文就是将电路分析的结果做一个GUI。

可以使用户很方便直观的去观看运算的结果。

图1.伴随网络法的GUI界面

1.支路选择对话框的功能

如图1所示,左边的一个对话框上面写着请选择支路。

我们把它称作支路选择对话框,它是用MATLAB-GUI中的listbox制作而成的。

GUI中的listbox是一个列表框,其显示是由srting属性定义的一系列列表选项,用户能够选择其中的一个或者多个选项。

在本设计中其使用方法如下:

在整个程序运行时,会提醒用户将电路的相关规模和数据输入程序。

然后计算机将会自动地运算,并且把运算的结果存储起来。

当程序运行到调用GUI界面时。

支路选择对话框会自行回调已经存储好的电路中各个支路的编号。

即支路对话框中将会列出各个支路的编号。

在本设计中我们定义一次只能选择列表项中的一个选项,来避免选项间的冲突。

所以用户在查看电路的波形时只能选择其中的一个支路。

如果选择多个的话,系统会提示你选择方式错误。

2.坐标图的功能

在GUI界面中,右边的是一个坐标平面,我们称它为坐标图。

坐标图是用GUI中的axes制作而成的。

axes可以调用每一个支路的电压或电流数据。

并将其画成波形。

坐标轴的横轴为时间轴,其纵轴的单位是电压v或是电流A。

画出的波形一般比较的平滑。

用户可以清楚的看到各个时刻的电压或电流值,并且总体的电压或电流走向也一目了然。

当然具体是电压波形还是电流的波形,这就要看你选择了。

Axes是一个二维的坐标图形,其调用的数据是经过运算保存后的所选择支路的数据,这些数据可以通过一个命令plot画成一个图形。

并且通过选择GUI下面的电压或电流按钮,程序将自动改变坐标轴的单位。

3.电压电流选择对话框

电压电流选择对话框的功能是选择所要查看的电压波形或电流波形。

该对话框是由一个buttongroup和两个radiobutton所组成。

buttongroup是一个按钮组合框。

组合框是一个图形封闭区域,它可以把相关的控件(单选按钮或多选按钮等)组合在一起,使得界面的按钮功能和相互间的关系更容易理解。

Buttongroup中包含了两个radiobutton。

radiobutton是单选按钮。

单选按钮一般是以组出现的。

一组单选按钮之间的关系是相互排斥的,也就是说任何时候只有一个按钮有效。

在本设计中只用到了两个单选按钮。

上面的一个是电流波形选择按钮,下面一个是电压波形选择按钮。

在用户没有做出选择的时候,系统默认的是电压波形。

让axes回调所选支路的电压数据,并给坐标轴辅以电压单位。

当用户点击选择电流波形时,将触动axes回调所选支路的电流数据,并给坐标轴以电流单位。

4伴随网络法

伴随网络法的数学模型是把动态电路的过渡过程时间t0→T划分成若干时间间隔Δt,把动态元件电感L和电容C用相应的离散模型来代替,经过代换后的电路称为原电路的伴随网络电路。

对于每一个时间间隔Δt而言,在伴随网络中,我们认为不再含有动态元件,取而代之的是动态元件L,C的离散模型,因而对该时间间隔下相应伴随网络的分析可视为稳态电路分析。

也就是说,通过伴随网络法,可以将瞬态电路分析归结为一系列不同离散时刻下电阻网络的稳态分析。

当然这种思路的背景主要是基于计算机辅助分析的基础上,因为在这种过程中要重复计算很多次,单靠人工是无法实现的,不过通过计算机就可以既方便又快捷的算出结果。

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+(un+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)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,并将t0→T划分(通常可等分)为若干时间间隔Δt=h,取时间步长为h,形成t1=h时的伴随网络,计算出t1时刻的网络响应;

(3)根据上一时刻计算出的结果,修正伴随网络的参数,从而获得下一时刻的伴随网络;

(4)利用步骤(3)形成的伴随网络,建立电路方程并求解,得出该时刻的响应;

(5)如果t2>

T,分析结束,输出结果;

否则增加时间步长h,转向步骤(3)。

5伴随网络法的MATLAB编程实现

本文编程采用的是目前电路分析领域使用较多的软件MATLAB,该软件具有强大的数学运算功能和图形处理能力,其数据处理十分有效、精细,运行速度较快,且数据格式兼容性较好,便于数据的后处理与分析。

5.1程序流程图

5.1.1主程序流程图

图4.伴随网络法主程序流程图

伴随网络法主程序流程图如图4所示,另外还有高斯消元子程序这里就不再赘述了,所对应的MATLAB源程序在文后的附录中给出。

5.1.2GUI程序流程图

图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闭合前电路已处于稳态。

求:

t≥0时各支路的电压和电流。

图6.算例电路图

5.2.1输入参数

从网络结构我们可以看出,该电路共有5个结点,7个支路(每个元件均算作一个支路)。

其中包含3个电阻,1个独立电压源,1个受控电流源,另外还有两个动态元件电容C和电感L。

运行程序后,屏幕提示信息如下:

请输入电路规模

请输入待求网络的节点数:

5

n=5

请输入待求网络的支路数:

7

b=7

请输入待求网络的动态元件数:

2

q=2

请输入过渡过程的时间(单位:

秒):

15

T=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}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2