信号与系统课设 连续时域分析求零状态响应阶跃激励
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 引言
21世纪是信息化时代,伴随科学技术的发展,有越来越多的虚拟环境出现,为工业发展奠定了坚实的基础。
其中,一种代码直观,层次清晰,简单易用却不失功能强大的软件环境Labview逐渐进入了人们的眼球。
LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。
由于它用图标和框图产生块状程序,编程就像设计电路图一样容易,因此labview得到了广泛的应用。
连续时间系统处理连续时间信号,通常用微分方程来描述这类系统,也就是系统的输入与输出之间通过它们时间函数及其对时间t的各阶导数的线性组合联系起来。
如果输入与输出只用一个高阶的微分方程联系,而且不研究系统内部其他信号的变化,这种描述系统的方式称为输入输出法。
系统分析的任务是对给定的系统模型和输入信号求系统的输出响应。
系统时域分析法包含两方面内容,一是微分方程的求解,另一是已知系统单位冲激响应,将冲激响应与输入激励信号进行卷积积分,求出系统输出响应。
同时作为近代系统时域分析方法,将建立零状态响应,运算过程方便,往往成为系统分析的基本方法。
2 虚拟仪器开发软件Labview入门
2.1 Labview介绍
LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一种用图标代替文本行创建应用程序的图形化编程语言。
传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,LabVIEW 则采用数据流编程方式,程序框图中节点之间的数据流向决定VI及函数的执行顺序。
VI指虚拟仪器,是 LabVIEW]的程序模块。
LabVIEW 提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。
用户界面在 LabVIEW中被称为前面板。
使用图标和连线,可以通过编程对前面板上的对象进行控制。
这就是图形化源代码,又称G代码。
LabVIEW ]的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。
LabVIEW(Laboratory Virtual instrument Engineering Workbench)是一种图形化的编程语言的开发环境,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。
LabVIEW集成了与满足 GPIB、VXI、RS-232 和 RS-485 协议的硬件及数据采集卡通讯的全部功能。
它还内置了便于应用TCP/IP、ActiveX 等软件标准的库函数。
这是一个功能强大且灵活的软件。
利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。
图形化的程序语言,又称为“G”语言。
使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或框图。
它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW 是一个面向最终用户的工具。
它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。
使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。
LabVIEW在测试、测量和自动化等领域具有最大的优势,因为LabVIEW提供了大量的工具与函数用于数据采集、分析、显示和存储。
用户可以在数分钟内完成一套完整的从仪器连接、数据采集到分析、显示和存储的自动化测试测量系统。
它被广泛地应用于汽车、通信、航空、半导体、电子设计生产、过程控制和生物医学等各个领域。
LabVIEW不仅可以用来快速搭建小型自动化测试测量系统,还可以被用来开发大型的分布式数据采集与控制系统。
2.2 利用Labview编程完成习题设计
1.写一个类似于左图的正弦波发生器,要求频率和幅度可调。
图2-1习题1前面板图
图2-2习题1程序面板图
2、任意放置几个控件在前面板,改变它们的位置、名称、大小、颜色等等。
在VI前面板和后面板之间进行切换,并排排列前面板和后面板窗口。
图2-3习题2前面板图图2-4 习题2程序面板图
3、编写一个VI求三个数的平均值。
要求对三个输入控件等间隔并右对齐,对应的程序框图控件对象也要求如此对齐;添加注释分别用普通方式和高亮方式运行程序,体会数据流向;单步执行一遍
图2-5 习题3前面板图图2-6 习题3程序面板图
4、写一个VI判断两个数的大小,如右图所示:当A>B时,指示灯亮。
图2-7 习题4前面板图图2-8 习题4程序面板图
5、写一个VI获取当前系统时间,并将其转换为字符串和浮点数。
这在实际编程中会经常遇到。
图2-9 习题5前面板图图2-10 习题5程序面板图
6、写一个温度监测器,如右图所示,当温度超过报警上限,而且开启报警时,报警灯点亮。
温度值可以由随即数发生器产生。
图2-11 习题6前面板图图2-12 习题6程序面板图7、给定任意x, 求如下表达式的值
x e x
x y
cos 5+
=
图2-13 习题7前面板图图2-14 习题7程序面板图
8、利用顺序结构和timing面板下的tick count VI,计算for循环产生一个长度为20000点的随机波形所需的时间。
图2-15 习题8前面板图图2-16 习题8程序面板图
9、为第6题添加一个While循环和定时器,实现连续的温度采集监测。
图2-17 习题9前面板图图2-18 习题9程序面板图
10、计算学生三门课(语文,数学,英语)的平均分,并根据平均分划分成绩等级。
要求输出等级A,B,C,D,E。
90分以上为A,80~89为B,70~79为C,60~69为D,60分以下为E。
图2-19 习题10前面板图图2-20 习题10程序面板图
11、为第9题连续温度采集监测添加报警信息,当报警发生时输出报警信息,例如“温度超限!当前温度78.23℃”,正常情况下输出空字符串。
图2-21 习题11前面板图
图2-22 习题11程序面板图
12、将一些字符串和数值转换成新的输出字符串,输出的字符串是一个GPIB命令字符串,它可以用来和串口仪器进行通信。
图2-23 习题12前面板图图2-24 习题12程序面板图
13、用for循环创建一个数组,并用图形显示输出的数组。
图2-25 习题13前面板图
图2-26 习题13程序面板图
14、利用簇模拟汽车控制,如右图所示,控制面板可以对显示面板中的参量进行控制。
油门控制转速,转速=油门*100,档位控制时速,时速=档位*40,油量随VI运行时间减少。
图2-27 习题14前面板图
图2-28 习题14程序面板图
15、利用随机数发生器仿真一个0到5V的采样信号,每200ms采一个点,利用实时趋势曲线实时显示采样结果。
图2-29 习题15前面板图图2-30 习题15程序面板图
16、在题15的基础上再增加1路电压信号采集,此路电压信号的范围为5到10V。
图2-31 习题16前面板图图2-32 习题16程序面板图
17、利用随机数发生器仿真一个0到5V的采样信号,每200ms采一个点,共采集50个点,采集完后一次性显示在Waveform Graph上。
图2-33 习题17的前面板图图2-34 习题17的程序面板图
18、在题17的基础上再增加1路电压信号采集,此路电压信号的范围为5到10V ,采样间隔是50ms ,共采100个点。
采样完成后,将两路采样信号显示在同一个Waveform Graph 中。
图2-35 习题18的前面板图
图36 习题18的程序面板图
3利用Labview 实现连续时域分析求零状态响应
--阶跃激励的设计
3.1连续时域分析求零状态响应—指数激励的基本原理
零状态响应:零状态响应是不考虑起始系统储能的作用(设起始状态等于零),由系统的外加激励信号所产生的响应,记为)(t r zs ,它满足方程:
)()()()()()()()(1111011110t e E t e dt
d E t
e dt d E t e dt d E t r C t r dt d C t r dt d C t r dt d C m m m m m m zs n zs n zs n n zs n n ++++=++++------
及起始状态)1,...,1,0(0)0()(-==-n k r k 其形式为:
)()(1t B e A t r n
k t zsk
zs k
+=∑=α
其中e (t )为激励信号,有时称输入信号。
r (t )为响应信号。
n 为微分方程的阶次,
或系统的阶次。
由于系统是线性是不变的,所以上述微分方程的系数均取自然数,B (t )为方程的特接。
可见零状态响应在激励信号作用下,它的响应有自由响应部分及强迫响应部分B(t)两部分构成。
3.1连续时域分析求零状态响应—指数激励的编程设计及实现
3.1.1一阶零状态响应
一阶零状态响应的前面板图如下所示:
图3-1 一阶零状态响应的前面板图
一阶零状态响应的程序面板图如下所示:
图3-2一阶零状态响应的程序面板图
结果分析:
赋值是a=7,b=8,c=5,d=9时,零状态方程如下图3-3所示:
对应图3-3的波形图如图3-4所示:
图3-4 零状态响应的波形图
3.1.2二阶零状态响应
二阶零状态响应的前面板图如图3-5所示:
图3-5二阶零状态响应的前面板图(前一部分)
图3-5
二阶零状态响应的前面板图(后一部分)
二阶零状态响应的程序面板图如图3-6所示:
图3-6 二阶零状态响应的程序面板图
结果分析:
情况一:当给a ,b ,c ,d 赋值满足042
>-c b 时零状态方程如图3-7所示:
图
3-7 零状态方程
对应的波形图如图3-8所示:
图
3-8 零状态方程的波形图
情况二:当给d c b a ,,,赋值满足042
=-c b 时零状态方程如图3-9所示:
图
3-9 零状态方程
对应的波形图如3-10所示:
图
3-10 零状态方程的波形图
情况三:当给
d c b a ,,,赋值满足042<-c b 时零状态方程如图3-11所示:
图3-11 零状态方程
对应的波形图如3-12所示:
图3-12 零状态方程的波形图
在以上三种情况中的前两种情况还需做其它讨论。
对于第一种情况,解齐次方程时如果a 等于齐次方程的单根,则特解形式是at xe y =*,其中,c
ba a d
x ++=
2
;如果a 不等于齐次方程的单根,则特解形式为at e y =*。
对于第二种情况,解齐次方程时,如果a 等于齐次方程的重根,则特解形式是at e x y 2=,其中,c
ba a d
x ++=2
;如果a 不等于齐次方程的重根,则特解形式为at e y =*。
4.总结
这次课程设计给我最大的收获是,我初步学会了使用Labview 软件,并巩固了信号与系统的知识,更深一步的了解了零状态响应的内涵。
但在做课设的同时也遇到了许多问题。
例如,刚拿到题目不知道该如何下手,从何做起,后来经过3天的努力弄懂了老师给的范例,并结合自己的知识提取范例的精华用自己的方法仿真出来了,在这过程中,我想用一个字符串显示窗口和一个波形图来显示零状态方程,但始终都找不到方法,最后在同学的帮助下,通过对一个显示窗口创建局部变量来实现。
另外在时域求零状态方程还可以用卷积的方法,)(*)()(t f t h t y =,其中,)(t h 是冲
激函数,)
f是激励。
但是由于将传输算子转换成冲激函数无法在程序面板实现。
最后,
(t
还是使用了解微分方程的方法。
除此之外,还可以将指数激励换成其他形式的激励用同样的方式也可以求零状态响应,这是该方法的扩充功能。
通过课程设计,使我深深体会到,干任何事都必须耐心,细致.课程设计过程中,许多计算有时不免令我感到有些心烦意乱。
有一次因为不小心我计算出错,只能毫不情意地重来,但凡事要有始有终,相信努力必有回报,信念让我坚持,再加上老师耐心的知道和帮助,终于算是顺利的完成了本次设计。
这次课程设计,让我觉得受益匪浅,认识了Labview软件,熟悉并结合信号与系统可以灵活将其运用,而且对系统的时域分析也有了进一步的认识。
感觉收获颇丰。
最后,我要感谢我的老师们的耐心指导和同学的热心帮助。
在今后的学习生活中,我依然会秉承着坚定的信念去完成今后无论是生活还是学习中的挑战。
5.参考文献
【1】张小虹 .信号与系统(第二版). 西安电子工业大学出版社,2007.5
【2】同济大学数学系 .高等数学(第六版).高等教育出版社,2007.4
【3】王磊.精通LabVIEW8.0.北京:电子工业出版社,2007
【4】蔡惟铮.集成电子技术.北京:高等教育出版社,2004。