方波序列和单边指数序列的卷积及卷积过程演示Word格式.doc
《方波序列和单边指数序列的卷积及卷积过程演示Word格式.doc》由会员分享,可在线阅读,更多相关《方波序列和单边指数序列的卷积及卷积过程演示Word格式.doc(22页珍藏版)》请在冰点文库上搜索。
4、写出课程设计报告,打印程序,给出运行结果
工作计划与进度安排:
第一周:
周一:
1、布置课程设计任务、要求
2、每人一题
周二---周五:
利用LABVIEW编程,完成相应的信号分析与处理课题:
2、学习并研究信号分析与处理课题有关理论
3、利用LABVIEW编程,完成相应的信号分析与处理课题
第二周:
周一---周四:
1、上机编程、调试
2、检查编程、运行结果
3、撰写课程设计报告书
周五:
答辩,上交报告。
指导教师:
201年月日
专业负责人:
201年月日
学院教学副院长:
目录
1引言 3
2虚拟仪器开发软件Labview入门 3
2.1LabVIEW介绍 4
2.2利用Labview编程完成习题设计 9
3利用LabVIEW实现方波序列和单边指数序列的卷积及卷积过程演示的设计 16
3.1方波序列和单边指数序列的卷积及卷积过程演示的基本原理 16
3.2方波序列和单边指数序列的卷积及卷积过程演示的编程级实现 17
3.3运行结果及分析 18
4总结 21
5参考文献 22
一引言
信号的卷积是针对时域信号处理的一种分析方法。
信号的卷积一般用于求取信号通过某系统后的响应。
在信号与系统中,我们通常求取某系统的单位冲激响应,所求得的h(k)可作为系统的时域表征。
任意系统的系统响应可用卷积的方法求得。
离散时间信号是时间上不连续的“序列”,因此,激励信号分解为分解为脉冲序列的工作就狠容易玩成,对应每个样值激励,系统得到对此样值的响应,每一响应也是一个离散时间序列,把这些序列叠加既得零状态响应。
因为离散量的叠加无需进行积分,因此,叠加过程表现为求“卷积和”。
不同的a值及N值产生的卷积不同且只有2序列有重叠的部分才有卷积和当矩形脉冲宽度值N=1是卷积和就是单边指数序列;
且a值的大小只影响卷积和的大小不会影响卷积和的宽度而N值的大小就影响卷积序列相交部分的范围宽度即卷积的宽度。
离散序列卷积即为对应相交序列对应N值的乘积之和。
一个离散线性系统输入与输出之间的关系可以用差分方程来描述,又可以用里卷积来描述,所不同的在于后者的即时输出仅表示为输入序列的加权和。
换句话说,输入与输出之间存在着非递归的关系。
即时输出没有明显的表示出与过去的输出有关。
显然,如果已知系统单位脉冲响应和输入序列,通过求卷积和就可直接求得任一时刻的输出值。
离散卷积不仅适用于离散系统,也可作为连续系统卷积积分的近似计算。
用卷积和的数值计算来近似计算卷积积分,其近似程度取决于样点间隔T,通常选取较小的T可以获得较好的近似。
应该指出卷积和运算由于引入表征系统动态特性的h(n),所以有着明显的物理意义,它使叠加原理的表达式大为简化。
矩形序列与单变指数序列的卷积亦即各对应相交分量值的乘积之和,两序列进行卷积的次序是无关紧要的,可以互换。
本实验以矩行序列为系统函数而单边指数序列为输入序列,求取卷积过程中系统函数序列x(n)不动而输入序列h(m)先取反褶然后移位再与矩形序列x(n)对位乘积求和。
在移位过程中从n值为负无穷开始到n等于零,再从n大于等于零开始到n小于等于n加m减1以及n大于n加m减1三个阶段。
二虚拟仪器开发软件Labview入门
2.1LabVIEW介绍
LabVIEW(LaboratoryVirtualInstrumentEngineeringWorkbench)是一种用图标代替文本行创建应用程序的图形化编程语言。
传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而LabVIEW则采用数据流编程方式,程序框图中节点之间的数据流向决定了程序的执行顺序。
它用图标表示函数,用连线表示数据流向。
LabVIEW程序使用虚拟仪器(VirtualInstrument,缩写为VI)的概念。
它是指一台计算机和连接外部的端口(计算机的COM口,LPT口或内插板)在软件控制下可完全模拟替代传统的仪器。
因VI功能完全是由软件定义,故在硬件系统不变的情况下,用户可通过软件开发自行改变或扩充仪器的功能,实现自己的特殊要求,或用一套硬件系统实现多种仪器的功能,从而使虚拟仪器VI不但比传统仪器更灵活有效,而且也更经济。
VI的核心就是LabVIEW程序,所以在LabVIEW中,所有程序均称之为VI程序,不管它是否通过端口和外界进行通讯。
每个VI程序均可作为一个功能模块被重复使用,因而使用LabVIEW来开发和扩展程序极为方便。
LabVIEW编程语言同常规的程序语言不同,它采用更易使用和理解的图形化程序语言-G语言(Graphicalprogramminglanguage)。
G语言使用图标代替常规的一条或一组语句来实现一个功能,通过各功能图标间的逻辑连接实现程序功能。
其编程过程不是书写一行行语句,而是连接一个个代表一定功能的图标,其程序编制过程简单,不涉及复杂功能实现的算法,易于掌握。
同时,因为其编程过程基于可重复使用的功能模块,故可方便地使用由专业人员编制提供的专业级别的功能模块,开发出专业水平的程序。
所以,LabVIEW在世界范围内的众多领域如航空、航天、通信、汽车、半导体、化学和生物医学等得到了广泛的应用,从简单的仪器控制、数据采集到复杂的测试和数据处理,从工厂、科研院所到大学里的实验室,到处都可以发现LabVIEW的应用。
在西方国家(如美国)的许多大学已将LabVIEW作为本科的教学内容,成为工程师素质培养的一个方面。
由于LabVIEW虚拟仪器的强大功能,使得使用一套硬件系统就可进行多种不同要求的研究,故而可以用更小的消耗进行更多的研究,尤其适合在我国资金较少的科研单位用于研究工作。
LabVIEW中,包含许多专家编写的VI供用户使用。
在数据采集方面有许多采集卡(DAQ)的支持模块,使采集程序的编制不必涉及低层控制;
有各种数字、模拟信号I/O模块;
有对GPIB(GeneralPurposeInterfaceBus,IEEE488标准)、VXI(VMEbuseXtensionsforInstrumentation,扩展IEEE1014标准)和Serial端口的支持和控制等VI。
在数据处理控制方面有各种数字信号处理和产生、频谱分析、滤波、平滑窗口、概率统计等VI。
本LabVIEW简介部分主要介绍LabVIEW语言的基础知识,包括界面、菜单、工具、模板、器件、函数等,通过这一部分的学习,读者即可使用LabVIEW编程并在实际工作中进行应用。
LabVIEW进阶部分将深入探讨LabVIEW的编程环境、编程技巧以及优化策略等和更多的功能,考虑到篇幅限制,本书不与介绍,感兴趣的同学可参看下列参考书继续学习,不断提高自己的应用水平。
LabVIEW程序被称为VI(VirtualInstrument),即虚拟仪器。
LabVIEW的核心概念就是“软件即是仪器”,即虚拟仪器的概念。
LabVIEW还包含了大量的工具与函数用于数据采集、分析、显示与存储等。
LabVIEW在测试、测量和自动化等领域具有最大的优势,因为LabVIEW提供了大量的工具与函数用于数据采集、分析、显示和存储。
用户可以在数分钟内完成一套完整的从仪器连接、数据采集到分析、显示和存储的自动化测试测量系统。
它被广泛地应用于汽车、通信、航空、半导体、电子设计生产、过程控制和生物医学等各个领域。
LabVIEW不仅可以用来快速搭建小型自动化测试测量系统,还可以被用来开发大型的分布式数据采集与控制系统。
在美国LawrenceLivermore国家实验室,一个花费2000万美金的极为复杂的飞秒激光切割系统就是基于LabVIEW开发的。
在北京正负电子对撞机二期工程北京谱仪慢控制系统中,大约有30种物理量共7000多点的现场数据点需要实时采集控制和分析记录等。
LabVIEW程序包括前面板(用户界面)和后面板(程序框图)
3种选板:
控件选板(为前面板添加控件)
函数选板(在程序框图中添加函数或数据等)
工具选板(选择各种编辑工具,前面板和后面板都要用到)
LabVIEW程序被称为VI,扩展名默认为.vi
控制选板在前面板显示,它包含创建前面板时可用的全部对象。
控件选板中的基本常用控件可以以现代(modern)、经典(classic)和系统(sysetem)三种风格显示。
选择主菜单View->
ControlsPalette选项或右击前面板空白处就可以显示控件选板。
函数选板只能在编辑程序框图时使用,与控件选板的工作方式大体相同。
创建框图程序常用的VI和函数对象都包含在该选板中。
选择View->
FunctionsPalette或右击框图面板空白处就可以显示函数选板。
在前面板和程序框图中都可以使用工具选板,使用其中不同的工具可以操作、编辑或修饰前面板和程序框图中选定的对象,也可以用来调试程序等。
可以选择View->
ToolsPalette选项来显示工具选板
LabVIEW为用户提供了非常全面的帮助信息,有效地利用帮助信息是快速掌握LabVIEW的一条捷径。
LabVIEW提供了各种获取帮助信息的方法,包括实时上下文帮助(ShowContextHelp)、联机帮助、LabVIEW范例查找器(FindExamples)、网络资源(WebResources)等。
选择菜单栏中Help->
ShowContextHelp选项或按下Ctrl+H,就会弹出ContextHelp窗口。
当鼠标移到某个对象或函数上时,上下文帮助窗口就会显示相应的帮助信息。
当单击ContextHelp窗口中DetailedHelp会弹出相应的完整的帮助信息。
这是一个Windows标准风格的帮助窗口,包含了LabVIEW全部的帮助信息。
你也可以选择主菜单Help->
SearchtheLabVIEWHelp选项打开它。
LabVIEW提供了大量的范例,这些范例几乎包含了LabVIEW所有功能的应用实例,并提供了大量的综合应用实例。
在菜单栏中选择Help->
FindExamples选项可以打开范例查找器。
LabVIEW中的前面板是图形化的人机界面,利用控件选项板提供的各种控件可以所见即所得地编辑丰富多彩的人机界面。
利用输入控件可以输入相应的数据,例如数字、布尔量、字符串和文件路径等。
显示控件用来显示数据。
显示控件有数字、温度计、LED指示灯、文本、波形图等。
前面板中的一些控件既可以作为输入控件也可以做作为显示控件。
右击控件,选择ChangetoIndicator或ChangtoControl可以进行输入控件与显示控件之间的切换。
前面板中的每个控件都有自己的属性,如控件的颜色、最大最小值、显示精度和方式等。
许多属性都可以根据不同的需要进行编辑。
右击前面板任何一个控件选择Properties选项就可以弹出该控件的属性配置窗口。
程序框图是图形化源代码的集合,这种图形化的编程语言也称为G语言。
程序框图中的控件对象实际上是前面板相应控件的接线端。
LabVIEW中的程序框图节点是指带有输入和输出接线端的对象,类似文本编程语言中的语句、运算符、函数和子程序。
LabVIEW中的节点主要包括函数、结构、ExpressVI、子VI等。
单击前面板或程序框图工具栏中的运行按钮;
就可以运行VI一次,当VI正在运行时,运行按钮变为状态。
当程序运行时,停止按钮由编辑时的状态,变为可用状态,单击此按钮可强行停止程序的运行。
如果调试程序时,使程序无意中进入死循环或无法退出时,这个按钮可以强行结束程序运行。
在程序执行前或正在执行时,单击工具栏上的高亮执行按钮,程序就可以在高亮方式下运行,这时可以逼真地显示数据的流动过程。
再次单击此按钮,程序又恢复正常运行。
注意,使用高亮执行方式,将明显降低程序的执行速度。
查找VI不可执行的原因:
如果在一个VI程序中存在错误时,VI是不能运行的。
这时,工具栏中的运行按钮由变为断裂状态,如果单击此按钮就会弹出错误列表对话框。
2.2利用Labview编程完成习题设计
习题3.1新建一个VI,进行如下练习:
任意放置几个控件在前面板,改变它们的位置、名称、大小、颜色等等。
在VI前面板和后面板之间进行切换并排排列前面板和后面板窗口。
习题3.2编写一个VI求三个数的平均值,如右图所示。
要求对三个输入控件等间隔并右对齐,对应的程序框图控件对象也要求如此对齐。
添加注释,分别用普通方式和高亮方式运行程序,体会数据流向,单步执行一遍。
习题4.1写一个VI判断两个数的大小,如右图所示:
当A>
B时,指示灯亮。
习题4.2写一个VI获取当前系统时间,并将其转换为字符串和浮点数。
这在实际编程中会经常遇到。
习题4.3写一个温度监测器,如右图所示,当温度超过报警上限,而且开启报警时,报警灯点亮。
温度值可以由随即数发生器产生。
习题4.5给定任意x,求如下表达式的值
习题5.1利用顺序结构和timing面板下的tickcountVI,计算for循环产生一个长度为20000点的随机波形所需的时间。
习题5.2为第4章习题4添加一个While循环和定时器,实现连续的温度采集监。
习题6.1为第5章的习题2连续温度采集监测添加报警信息,如下图所示,当报警发生时输出报警信息,例如“温度超限!
当前温度78.23℃”,正常情况下输出空字符串。
习题6.2将一些字符串和数值转换成一个新的输出字符串,输出的字符串是一个GPIB命令字符串他可以用来与串口仪器进行通信,如图:
习题6.3用FOR循环创建一个数组,并用图形显示输出的数组。
如下图所示:
习题6.4利用簇模拟汽车控制,如右图所示,控制面板可以对显示面板中的参量进行控制。
油门控制转速,转速=油门*100,档位控制时速,时速=档位*40,油量随VI运行时间减少。
习题7.1利用随机数发生器仿真一个0到5V的采样信号,每200ms采一个点,利用实时趋势曲线实时显示采样结果。
习题7.2在习题1的基础上再增加1路电压信号采集,此路电压信号的范围为5到10V。
习题7.3利用随机数发生器仿真一个0到5V的采样信号,每200ms采一个点,共采集50个点,采集完后一次性显示在WaveformGraph上。
三利用LabVIEW实现方波序列和单边指数序列的卷积及卷积过程演示的设计
3.1方波序列和单边指数序列的卷积及卷积过程演示的基本原理
对信号做卷积积分运算的五个步骤:
(1)改换图形中的横坐标,由t改为τ,τ变成函数的自变量;
(2)把其中的一个信号反褶;
(3)把反褶的信号做位移,移位量是t,这样t是一个参变量。
在τ坐标系中,t>
0图形右移;
t<
0图形左移;
(4)两信号重叠部分相乘e(τ)h(t-τ);
完成相乘后图形的积分。
离散时间信号的卷积
上式称为“卷积和”(或仍称为卷积)。
它表征了系统响应
y(n)是x(n)与h(n)的卷积,用简化符号记为y(n)=x(n)*h(x)得:
这表明,两序列进行卷积的次序是无关紧要的,可以互换。
首先可以调节“指数a”和“矩形宽N值”来确定您要进行卷积的两波形。
然后按下“演示”按钮就可以观察给定离散时间信号的的反褶、移位、求积分的过程。
其中“移位过程”显示移位的范围,“y(n)”显示了卷积后的结果。
示波器“移位过程”随着它们的变化动态显示波形变化。
图3-1方波序列和单边指数序列的卷积前面板图
3.2方波序列和单边指数序列的卷积及卷积过程演示的编程级实现
本实验中所用的矩形序列通过FOR循环及及后面板编程—结构中的公式节点中输入“y=(x<
=N)?
1:
0;
”来产生;
单边指数序列h(m)同样用FOR循环及公式节点产生,公式节点中输入“y=exp(-ax)”;
而卷积中的反褶函数h(-m)也有FOR循环及公式节点产生,公式节点中输入“x=-x;
x=x+15;
y=exp(-a*x)if(y>
1)y=0;
”并将h(m)及矩形序列x(n)送入积分器进行积分并分别将x(n),h(m),h(-m)及卷积y(n)送入4个波形显示器进行显示。
然后用条件结构嵌套FOR循环及条件结构和FOR循环的结构在演示按钮触发下
进行卷积过程的演示:
当-∞<
n<
0时h(-m)与x(n)无相交部分卷积y(n)=0;
当0≤n≤n+m-1时卷积y(n)=0.600000^n*(1-0.600000^(-n-1)/(1-0.600000^(-1));
当n≥19时0.600000^n*(1-0.600000^(-20)/(1-0.600000^(-1))。
图3-2方波序列和单边指数序列的卷积程序框图
3.3运行结果及分析
图3-1运行结果图
图3-2运行结果图
图3-3运行结果图
图3-4运行结果图
图3-5运行结果图
分析:
本实验中:
当0≤n≤n+m-1时卷积y(n)=0.600000^n*(1-0.600000^(-n-1)/(1-0.600000^(-1));
当n≥19时0.600000^n*(1-0.600000^(-20)/(1-0.600000^(-1))
通过调整a值及N值按演示按钮可观看3种不同情况下卷积的结果表达式,N值的范围及卷积的移位做和过程。
四总结
(1)方法,信号的卷积一般用于求取信号通过某系统后的响应;
本次设计较为成功,在实验的前面板中执行程序的情况下通过调整a值及N值按演示按钮可观看3种不同情况下卷积的结果表达式,N值的范围及卷积的移位做和过程,还有个输入函数,转换函数及卷积结果;
(2)通过本次试验我对卷积的原理及运算过程有了更深的认识,动态观看了卷积全过程;
(3)信号的卷积是针对时域信号处理的一种分析
(4)通过本次试验使我能更灵活的运用Labview并进行简单的程序设计;
试验中大量查阅资料培养自己的自学能力,发现了很多问题,同学间相互协作讨论攻克难关培养了合作精神和解决问题的能力,这对以后自身的发展才是至关重要的;
(5)离散量的叠加过程表现为求“卷积和”,且a值的大小只影响卷积和的大小不会影响卷积和的宽度而N值的大小就影响卷积序列相交部分的范围宽度即卷积的宽度。
五参考文献
[1]牛群峰王莉胡红生吴才章,Labiew虚拟仪器系统开发与实践.中国电力出版社,2011.07
[2]陈锡辉张银鸿,Labiew8.2程序设计从入门到精通,清华大学出版社,2007.9
[3]戴敬.LabVIEW基础教程.国防工业出版社,2002
[4]杨乐.LabVIEW程序设计与应用.电子工业出版社,2001
[5]张小虹.信号与系统(第二版).西安电子科技大学出版社,2008