微机保护数字滤波器仿真设计(修改稿)_第1页
微机保护数字滤波器仿真设计(修改稿)_第2页
微机保护数字滤波器仿真设计(修改稿)_第3页
微机保护数字滤波器仿真设计(修改稿)_第4页
微机保护数字滤波器仿真设计(修改稿)_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微机保护数字滤波器仿真设计The Digital Filter Simulation Design of Microcomputer protection 总计 毕业设计(论文) 32 页 表 格 0 个插 图 6 幅摘 要随着电力系统规模的不断扩大,对继电保护性能的要求也越来越高。因此,微机保护受到了人们的广泛关注。然而,数字滤波器是微机保护中最重要的组成部分之一。本文首先对数字滤波器的背景意义、发展趋势、实现方法进行了介绍;并介绍了可用于开发数字滤波器的设计仿真平台MATLAB,包括MATLAB的主要功能、用户界面设计以及滤波器在设计仿真中的应用;然后通过简要介绍数字滤波器的一些相关知识,

2、引出了差分滤波器和加法滤波器;最后比较了这两个滤波器的滤波特性。  关键词:微机保护 数字滤波 仿真设计 滤波特性AbstractWith the development of power system, the relay protection performance requirements are also getting higher and higher. Therefore, microcomputer protection has been widespread concern. However, the digital filter in microcomp

3、uter protection is one of the most important parts. In this thesis, the background and meaning of digital filter, trend of development, implementation methods are introduced; and introduced can be used for the development of the digital filter design and Simulation Platform - MATLAB, including the m

4、ain functions of MATLAB, the design of user interface and filter in the design application in the simulation of digital filter; then through a brief introduction of some related knowledge, led differential filter and adding filter; finally the comparison between the two filter characteristics. 

5、Key Words: relay protection; digital filter; simulation design; filter characteristics目 录摘要IABSTRACTII第一章 微机保护概述11.1 微机保护的运行原理11.2 微机保护的硬件构成11.3 微机保护的特点21.4 数字滤波器在微机保护中的作用2第二章 数字滤波器42.1 数字滤波器的基本知识42.2 差分滤波器62.3 加法滤波器7第三章 基于MATLAB的仿真设计93.1 MATLAB的概述93.2 差分滤波器的仿真设计113.3 加法滤波器的仿真设计143.4 两种滤波器的比较及应用17结语

6、24参考文献25附录 差分滤波器程序19第一章 微机保护概述第一章 微机保护概述微机保护是用微型计算机构成的继电保护,是电力系统继电保护的发展方向(现已基本实现,尚需发展),它具有高可靠性,高选择性,高灵敏度。微机保护装置硬件包括微处理器(单片机)为核心,配以输入、输出通道,人机接口和通讯接口等.该系统广泛应用于电力、石化、矿山冶炼、铁路以及民用建筑等。微机的硬件是通用的,而保护的性能和功能是由软件决定。1.1微机保护的运行原理微机保护装置的数字核心一般由CPU、存储器、定时器/计数器、Watchdog等组成。目前数字核心的主流为嵌入式微控制器(MCU),即通常所说的单片机;输入输出通道包括模

7、拟量输入通道(模拟量输入变换回路(将CT、PT所测量的量转换成更低的适合内部A/D转换的电压量,±2.5V、±5V或±10V)、低通滤波器及采样、A/D转换)和数字量输入输出通道(人机接口和各种告警信号、跳闸信号及电度脉冲等)。1.2微机保护的硬件构成微机保护各部分结构及功能如下:(1)模拟量输入系统(数据采集系统 )微机系统只能识别数字量,保护所反应的电流、电压等模拟信号需转换为相应的微机系统能接受的数字信号。(2)数据处理单元(CPU系统 )CPU主系统包括微处理器CPU,只读存储器(EPROM)、随机存取存储器(RAM)及定时器(TIMER)等 。CPU执行

8、存放在EPROM中的程序,对由数据采集系统输入至RAM区的原始数据进行分析处理,并与存放于E2PROM中的定值比较,以完成各种保护功能用来分析计算电力系统的有关电量和判定系统是否发生故障,然后按照既定的程序动作。这是微机保护装置的核心,一般包括:微处理器(CPU)、存储器、定时器等。CPU是微机系统自动工作的指挥中枢;存储器是用于保存程序和数据;定时器用于触发采样信号,在V/F变换中,是频率信号转换为数字信号的关键部件。 (3)开关量输入/输出系统 由并行口、光电耦合电路及有接点的中间继电器等组成,以完成各种保护的出口跳闸、信号指示及外部接点输入等工作。输入系统用于采集有接点的量(如瓦斯保护、

9、温度信号等)作为开关量输入;执行通过开关量输出,起动信号、跳闸继电器等,完成保护各种功能。 (4)人机对话接口 包括打印、显示、键盘、各种面板开关等,其主要功能用于人机对话,如调试、定值调整等。用于调试、定值整定、工作方式设定、动作行为记录、与系统通信等。包括:打印、显示、键盘及信号灯、音响或语言告警等。(5)通讯接口用于保护之间通讯及远动。(6)电源 电源是微机保护装置重要组成部分,通常采用逆变稳压电源。1.3 微机保护的特点(1)调试维护方便在微机保护应用之前,整流型或晶体管型继电保护装置的调试工作量很大,原因是这类保护装置都是布线逻辑的,保护的功能完全依赖硬件来实现。微机保护则不同,除了

10、硬件外,各种复杂的功能均由相应的软件(程序)来实现。 (2)高可靠性微机保护可对其硬件和软件连续自检,有极强的综合分析和判断能力。它能够自动检测出其自身硬件的异常,并配合多重化措施,可以有效地防止拒动;同时,软件也具有自检功能,对输入的数据进行校错和纠错,即自动地识别和排除干扰,因此可靠性很高。目前,国内设计与制造的微机保护均按照国际标准的电磁兼容试验(EMC,Electromagnetic Compatibility)来考核,进一步保证了装置的可靠性。(3)易于获得附加功能传统保护装置的功能单一,仅限于保护功能,而微机保护装置除了提供传统保护功能外,还可以提供一些附加功能。例如,保护动作时间

11、和各部分的动作顺序记录,故障类型和相别及故障前后电压和电流的波形记录等。对于线路保护,还可以提供故障点的位置(测距),这将有助于运行部门对事故的分析和处理。(4)灵活性由于微机保护的特性主要由软件决定,因此替换或改变软件就可以改变保护的特性和功能,且软件可实现自适应性,依靠运行状态自动改变整定值和特性,从而可灵活地适应电力系统运行方式的变化。(5)改善保护性能由于微机的应用,可以采用一些新原理,解决一些传统保护难以解决的问题。例如,利用模糊识别原理判断振荡过程中的短路故障,对接地距离保护的允许过渡电阻的能力,大型变压器差动保护如何识别励磁涌流和内部故障,采用自适应原理改善保护的性能等。(6)简

12、便化、网络化微机保护装置本身消耗功率低,降低了对电流、电压互感器的要求,而正在研究的数字式电流、电压互感器更易于实现与微机保护的接口。同时,微机保护具有完善的网络通信能力,可适应无人或少人值守的自动化变电站。1.4 数字滤波器在微机保护中的作用由于电力系统发生故障时,信号中不仅含有工频分量,而且含有衰减直流分量和多种频率成分的谐波分量,而微机保护的许多算法是基于工频信号的,因此必须用数字滤波器将工频信号滤出。 有一些保护的原理就是基于某些特殊频率成分的信号,例如,在变压器保护中,为了识别励磁涌流,需用到二次谐波分量,为防止变压器过激磁时差动保护误动,采用五次谐波制动。在发电机定子绕组接地保护中

13、,利用三次谐波可保护靠近中性点范围的接地故障等。第二章 数字滤波器第二章 数字滤波器2.1 数字滤波器的基本知识所谓数字滤波器通常是指一种程序或算法,在微机保护子系统中,数字滤波器的运算过程可用下述系数线性差分方程来描述,即 (2-1) 式中 x(n)、y(n)-滤波器的输入值和输出值序列; 、-滤波器系数。 2.1.1递归型与非递归型数字滤波器数字滤波器根据其输出与输入信号之间的关系可以划分为两类,即递归型和非递归型。两者各有优缺点。递归型数字滤波器的输出信号不仅与输入信号有关,还与前几次的输出值有关。递归滤波器由于有了递归(或称反馈),就有了记忆作用,所以除了个别特例外,都是无限冲击响应滤

14、波器,简称IIR。在式中,若系数不全部为0,即过去的输出对现在的输出有直接影响。非递归型数字滤波器是将输入信号和滤波器的单位冲击响应作卷积而实现的一类滤波器,它的输出信号仅与输入信号有关。用非递归方式实现滤波器,其单位冲击响应必须是有限长的,否则意味着无限的运算量。非递归滤波器必定是有限冲击响应滤波器,简称FIR。在式中,系数均全部为0时,称之为非递归型滤波器。此时,当前的输出y(n)只是过去和当前的输入值x(n-k)的函数,而过去的输出值y(n-k)无关。两种型式的滤波器各有优点,选择哪一种型式,在很大程度上取决于应用场合的不同。就微机保护来说,不同的保护原理、不同的算法、不同的软件安排等都

15、会对滤波器有不同的选择。此外,在滤波器的选型和滤波器特性的设计时,还应充分考虑后续所使用的参数计算算法的基本特点和要求。不同的参数计算方法,对滤波器的要求也会有所不同,两者应综合考虑。继电保护是实时系统,要求保护能快速对被保护对象的故障作出反应,就这一点来说,非递归型好,因为它是有限冲击响应的,而且它的设计比较灵活,易于在频率特性和冲击响应之间,也就是滤波效果和响应时间之间作出权衡;但是另一方面,由于继电保护是实时数据处理系统,数据采集单元将按照采样速率源源不断地向微机系统输入数据,微机处理的速度必须跟上这一实时节拍,否则将要造成数据积压,无法正常工作,就这一点来说,用递归型较好,因为它的运算

16、量要小得多。2.1.2 数字滤波器的滤波特性数字滤波器的滤波特性通常可用它的频率响应特性来表征,包括幅频特性和相频特性。幅频特性反映的是不同频率的输入信号经过滤波计算后,引起幅值的变化情况。而相频特性反映的则是输入和输出信号之间的相位的变化 大小。例如,频率f1、幅值和相位分别为Xm和x的正弦函数输入序列x(n),经过上事所示的线性滤波计算后,输出序列y(n)仍为正弦函数序列。并且频率与输入信号频率相同,只是幅值行为发生了变化。假设输出序列y(n)的幅值为Ym,相位为y,则滤波器的幅频特性定义为 (2-2) 相频特性定义为 (2-3)在实例应用中,数字滤波器的响应特性通常是采用频域上的频率响应

17、曲线来描述。该曲线直观反应了滤波器对不同频率的信号的滤波能力。对于大多数的微机保护来说,由于保护原理只用到基波或某次谐波,因此,最关心的是滤波器的幅频特性,即使需要进行比相,只要参加比相的各量采用相同的滤波器,它们的相对相位总是不变的,因此,对滤波器的相频特性一般不作特殊要求,只有在某些特殊场合,才考虑相频特性的影响。电力系统作为一具体的特定系统,其信号的变化有着自身的特点,有些传统的滤波器设计方法并不完全适用。微机保护作为实时性要求较高的自动装置,对滤波器的性能也有一些特殊要求。在非递归型的滤波器中,最简单的两种常用滤波器是所谓的差分(相减)滤波器和加法滤波器。2.2 差分滤波器在计算机中实

18、现差法滤波的计算公式,即差分方程为 (2-4) 式中,表示输入信号;表示输出信号;和表示相隔个采样间隔的采样值;称为差分步长,。令 (2-5) 幅频特性为 (2-6) 相频特性为 (2-7) 式中 -信号频率 -采样周期 -采样频率 -基波频率令 (2-8)即 (2-9)当时,无论、取何值,可见差分滤波器一定能滤除直流分量。2.3 加法滤波器在计算机中实现加法滤波的公式为 (2-10) 令 (2-11)幅频特性为 (2-12)相频特性为 (2-13)令即 (2-14)从而有 (2-15)可见,无论P取何值时,M都不为零,即加法滤波器不能滤除直流分量。第三章 基于MATLAB的仿真设计 第三章

19、基于MATLAB的仿真设计3.1 MATLAB的概述MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案

20、,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C+,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以

21、用。MATLAB的图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。GUI 即人机交互图形化用户界面设计。纵观国际相关产业在图形化用户界面设计方面的发展现状,许多国际知名公司早已意识到 GUI 在产品方面产生的强大增值功能,以及带动的巨大市场价值,因此在公司内部设立了相关部门专门从事 GUI 的研究与设计,同业间也成立了若干机构,以互相交流 GUI 设计理论与经验为目的。随着中国 IT 产业,移动通讯产业,家电产业的迅猛发展,在产品的

22、人机交互界面设计水平发展上日显滞后,这对于提高产业综合素质,提升与国际同等业者的竞争能力等等方面无疑起了制约的作用。3.1.1 GUI的特点GUI的广泛应用是当今计算机发展的重大成就之一,它极大地方便了非专业用户的使用。人们从此不再需要死记硬背大量的命令,取而代之的是可以通过窗口、菜单、按键等方式来方便地进行操作。而嵌入式GUI具有下面几个方面的基本要求:轻型、占用资源少、高性能、高可靠性、便于移植、可配置等特点。3.1.2 GUI界面的组成GUI界面由桌面、视窗、单一文件界面、多文件界面、标签、菜单、图标、按钮组成界面:在启动时显示,也是界面中最底层,有时也指代包括窗口、文件浏览器在内的“桌

23、面环境”。在桌面上由于可以重叠显示窗口,因此可以实现多任务化。一般的界面中,桌面上放有各种应用程序和数据的图标,用户可以依此开始工作。桌面与既存的文件夹构成里面相违背,所以要以特殊位置的文件夹的参照形式来定义内容。视窗:应用程序为使用数据而在图形用户界面中设置的基本单元。应用程序和数据在窗口内实现一体化。在窗口中,用户可以在窗口中操作应用程序,进行数据的管理、生成和编辑。通常在窗口四周设有菜单、图标,数据放在中央。单一文件界面:在窗口中,一个数据在一个窗口内完成的方式。在这种情况下,数据和显示窗口的数量是一样的。若要在其他应用程序的窗口使用数据,将相应生成新的窗口。因此窗口数量多,管理复杂。多

24、文件界面:在一个窗口之内进行多个数据管理的方式。这种情况下,窗口的管理简单化,但是操作变为双重管理。标签:多文件界面的数据管理方式中使用的一种界面,将数据的标题在窗口中并排,通过选择标签标题显示必要的数据,这样使得接入数据方式变得更为便捷。菜单:将系统可以执行的命令以阶层的方式显示出来的一个界面。一般置于画面的最上方或者最下方,应用程序能使用的所有命令几乎全部都能放入。重要程度一般是从左到右,越往右重要度越低。命定的层次根据应用程序的不同而不同,一般重视文件的操作、编辑功能,因此放在最左边,然后往右有各种设置等操作,最右边往往设有帮助。一般使用鼠标的第一按钮进行操作。图标:显示在管理数据的应用

25、程序中的数据,或者显示应用程序本身。按钮:菜单中,利用程度高的命令用图形表示出来,配置在应用程序中,成为按钮。3.2差分滤波器的仿真设计在MATLAB中打开GUIDE新建GUI界面,创建如图31所示界面。图31 GUI仿真界面用MATLAB设计的M文件如下:t1=(0:1/f1/N:0.04);%定义时间范围0到0.04,步长为基波周期/Nm=size(t1);%模拟输入参数Va=A*sin(2*pi*f1*t1+B); %基波电压Val=Z+A*sin(2*pi*f1*t1+B)+30*sin(2*N/k*pi*f1*t1);%叠加直流分量和需要滤除的谐波分量for jj=k+1:m(2)Y

26、(jj)=(Val(jj)-Val(jj-k)/2*sin(pi*k/N); %采用差分滤波器滤除谐波endplot(t1,Va,'-ro',t1,Val,'-bs',t1,Y,'-g*',t1,Z,'-k+'); xlabel('t/s');ylabel('y(t)');grid on %输出波形运行这个M文件,可以得到此滤波器的滤波效果仿真波形如图32所示。图32 滤波效果仿真波形图中,带圆圈红色标记为基波Va,带方框蓝色标记的为叠加直流和所想滤除谐波分量Va1,带星号绿色标记的为经过滤波后的输

27、出波形。显然已经滤除了直流和高次谐波。当然程序设计的是人机界面GUI,即可以通过改变界面中的数值来滤除其他次谐波。用MATLAB设计M文件如下:f=linspace(0,6*pi,500);%从0到6*pi,均匀产生500个数据,赋值给tb1=sin(f*pi*k/N);%产生正弦波H1=abs(b1);%输出正弦波为正值plot(f,H1)xlabel('f/f1');ylabel('H1');grid on %输出波形运行这个M程序单击,可以得到滤波器的幅频特性如图33所示。图33 滤波器的幅频特性同样改变界面中的采样频率和步长,可以达到相应的波形图。3.3

28、 加法滤波器的仿真设计用MATLAB设计的M文件如下:t1=(0:1/f1/N:0.04);m=size(t1);Va=A*cos(2*pi*f1*t1+B);Val=Z+Va+V2+V3+V4+V5+V6+V7+V8+V9;m=size(t1);for jj=K+1:m(2)Y(jj)=(Val(jj)+Val(jj-K)/abs(2*cos(pi*K/N);endplot(t1,Va,'-ro',t1,Val,'-bs',t1,V2,'-k.',t1,V3,'-k.',t1,V4,'b:*',t1,V5,

29、9;r:*',t1,V6,'g:*',t1,V7,'b:*',t1,V8,'k:*',t1,V9,'c:*',t1,Y,'-g*',t1,Z,'-m+');xlabel('t/s');ylabel('y(t)');grid on运行这个M文件,可以得到此滤波器的滤波效果仿真波形如图3-5所示。图3-5所示为当基波信号频率为50Hz,基波频率幅值为200,直流幅值为0,基波相角为0度,采样频率为24,采样步长为4,根据计算可得出这种情况下课滤除三的奇次倍谐波,图

30、示为加入3次和9次谐波而滤波器验证可以滤除。图3-4 滤波效果仿真波形而如果加入的谐波次数不为三的奇数倍时则滤除后的波形通过图3-5可以得出结论。 图3-5 滤波效果仿真波形通过这种方法可以直观的看出信号频率中含有多少次谐波,而滤波器能滤除多少次谐波。用MATLAB设计M文件如下:f=linspace(0,6*pi,500);b1=cos(f*pi/N*k);H1=abs(b1);plot(f,H1)xlabel('f/f1');ylabel('H1');grid on运行这个M程序单击,可以得到滤波器的幅频特性如图3-6所示。图3-6 滤波器的幅频特性改变界面

31、中的采样频率和步长,同样可以得出相应的波形图。3.4 两种滤波器的比较及应用通过观察波形图可以看出,当选择K值后,差分滤波器能滤除m次及m的整倍数次谐波。当m=1时(KN),能消除基波及各次谐波(包括直流),若输入信号中含有直流、基波及基波的整倍数次谐波,则在稳态输入时,滤波器的输出为0。这一特点在保护中常被用作增量元件。在电力系统正常时或故障进入稳态后,滤波器的输出为0,在故障后的KTs时间内,滤波器有输出,此时输出的是故障后的参数与故障前的负荷参数之差,这就是故障分量。当采用差分滤波器滤除短路电流中的谐波分量时,必须在短路发生后,经过KTs的时间才开始正确反映短路后的电流,在此之前,X(n

32、TsKTs)反映的是短路前的状态。因此,该滤波器有KTs的延时,K值越大(Ts已定),延时越长,即数据窗延时越长。故在选择滤波器时,在保证滤波效果的同时,应尽量减小数据窗长度。差分滤波器只需做减法,因此算法简单,运算工作量小。在变电站综合自动化系统中,差分滤波器主要用于:(1)抑制故障信号中的衰减直流分量的影响。差分滤波器的突出优点之一是完全滤除输入信号中的恒定直流分量,同时,对于衰减的直流分量也有良好的抑制作用。为减少算法的数据窗,加快计算速度通常K1。但需要指出的是,图中差分滤波器的幅频特性差分滤波器对故障信号中的某些高频分量有一定的放大作用。因此,一般不能单独使用,需于其他如傅氏算法相配

33、合,以保证在故障信号中同时含有衰减直流分量和其他高频分量时,仍具有良好的综合滤波效果。(2)提取故障信号中的故障分量。当m=1时(KN),能消除基波及各次谐波(包括直流),若输入信号中含有直流、基波及基波的整倍数次谐波,则在稳态输入时,滤波器的输出为0。这一特点在保护中常被用作增量元件。在电力系统正常时或故障进入稳态后,滤波器的输出为0,在故障后的KTs时间内,滤波器有输出,此时输出的是故障后的参数与故障前的负荷参数之差,这就是故障分量。加法滤波器有如下特点:(1)与差分滤波器比较,数据窗短,为差分滤波器的一半。(2)因是前后两个采样值相加,故不能消除直流分量,这是它的一大缺点(3)加法滤波器

34、只进行加法运算,故简单,工作量小。附录 差分滤波器程序附录 差分滤波器程序function varargout = m(varargin)% M MATLAB code for m.fig% M, by itself, creates a new M or raises the existing% singleton*.% H = M returns the handle to a new M or the handle to% the existing singleton*.% M('CALLBACK',hObject,eventData,handles,.) calls t

35、he local% function named CALLBACK in M.M with the given input arguments.% M('Property','Value',.) creates a new M or raises the% existing singleton*. Starting from the left, property value pairs are% applied to the GUI before m_OpeningFcn gets called. An% unrecognized property name o

36、r invalid value makes property application% stop. All inputs are passed to m_OpeningFcn via varargin.% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one% instance to run (singleton)".% See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response t

37、o help m % Last Modified by GUIDE v2.5 13-Jun-2012 02:13:31 % Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, . 'gui_Singleton', gui_Singleton, . 'gui_OpeningFcn', m_OpeningFcn, . 'gui_OutputFcn', m_OutputFcn, . '

38、gui_LayoutFcn', , . 'gui_Callback', );if nargin && ischar(varargin1) gui_State.gui_Callback = str2func(varargin1);end if nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:);end% End initialization code - DO NOT EDIT % - Executes j

39、ust before m is made visible.function m_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% varargi

40、n command line arguments to m (see VARARGIN) % Choose default command line output for mhandles.output = hObject; % Update handles structureguidata(hObject, handles); % UIWAIT makes m wait for user response (see UIRESUME)% uiwait(handles.figure1); % - Outputs from this function are returned to the co

41、mmand line.function varargout = m_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Get def

42、ault command line output from handles structurevarargout1 = handles.output; function edit1_Callback(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Hints:

43、get(hObject,'String') returns contents of edit1 as text% str2double(get(hObject,'String') returns contents of edit1 as a double % - Executes during object creation, after setting all properties.function edit1_CreateFcn(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)%

44、 eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,&

45、#39;defaultUicontrolBackgroundColor') set(hObject,'BackgroundColor','white');end % - Executes on button press in pushbutton1.function pushbutton1_Callback(hObject, eventdata, handles)f1=str2num(get(handles.edit3,'string');A=str2num(get(handles.edit4,'string');N=st

46、r2num(get(handles.edit2,'string');Z=str2num(get(handles.edit5,'string');K=str2num(get(handles.edit1,'string');B=str2num(get(handles.edit6,'string');h2=get(handles.checkbox1,'value');h3=get(handles.checkbox2,'value');h4=get(handles.checkbox3,'value&

47、#39;);h5=get(handles.checkbox4,'value');h6=get(handles.checkbox5,'value');h7=get(handles.checkbox6,'value');h8=get(handles.checkbox7,'value');h9=get(handles.checkbox8,'value');t1=(0:1/f1/N:0.04);m=size(t1);V2=h2*A*0.4*sin(2*N/K*pi*f1*t1);V3=h3*A*0.09*sin(2*N/K

48、*pi*f1*t1);V4=h4*A*0.08*sin(2*N/K*pi*f1*t1);V5=h5*A*0.07*sin(2*N/K*pi*f1*t1);V6=h6*A*0.06*sin(2*N/K*pi*f1*t1);V7=h7*A*0.05*sin(2*N/K*pi*f1*t1);V8=h8*A*0.04*sin(2*N/K*pi*f1*t1);V9=h9*A*0.03*sin(2*N/K*pi*f1*t1);Va=A*sin(2*pi*f1*t1+B);Val=Z+Va+V2+V3+V4+V5+V6+V7+V8+V9;m=size(t1);for jj=K+1:m(2)Y(jj)=(Va

49、l(jj)-Val(jj-K)/abs(2*sin(pi*K/N);endplot(t1,Va,'-ro',t1,Val,'-bs',t1,V2,'-k.',t1,V3,'-k.',t1,Y,'-g*',t1,Z,'-m+');xlabel('t/s');ylabel('y(t)');grid on% hObject handle to pushbutton1 (see GCBO)% eventdata reserved - to be defined in a fu

50、ture version of MATLAB% handles structure with handles and user data (see GUIDATA) function edit2_Callback(hObject, eventdata, handles)% hObject handle to edit2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) %

51、Hints: get(hObject,'String') returns contents of edit2 as text% str2double(get(hObject,'String') returns contents of edit2 as a double % - Executes during object creation, after setting all properties.function edit2_CreateFcn(hObject, eventdata, handles)% hObject handle to edit2 (see

52、 GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),

53、get(0,'defaultUicontrolBackgroundColor') set(hObject,'BackgroundColor','white');end function edit3_Callback(hObject, eventdata, handles)% hObject handle to edit3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit3 as text% str2double(get(hObject,'String') returns contents of edit3 as a double % - Executes during object creation, after setting all properties.function edit3_CreateFcn(hObj

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论