虚拟辅助实验系统.docx
《虚拟辅助实验系统.docx》由会员分享,可在线阅读,更多相关《虚拟辅助实验系统.docx(12页珍藏版)》请在冰豆网上搜索。
虚拟辅助实验系统
《虚拟仪器设计》
课程设计
姓名:
学号:
课程设计题:
虚拟辅助实验系统
指导老师:
同组成员:
目录
一、课程设计任务书3
1.1、课程设计题目:
3
1.2、课程设计的目的和要求3
1.3、课程设计内容 3
1.4、设计进度安排 3
二、labview简介4
三、任务分析5
3.1、基本要求5
3.2、附加要求5
四、实现过程5
4.1、总体方案设计5
4.2、信号读取程序设计5
4.3、信号处理程序设计6
4.3、信号分析程序设计7
4.3.1、频谱分析及幅值、频率分析8
4.3.2、倒频谱、概率密度分析及其他分析8
4.3.3、波形显示及前面板设计8
五、心得体会9
参考文献9
附录10
华东交通大学机电工程学院
《虚拟仪器设计》课程设计任务书
学生姓名:
何隆棋学号:
20110310110109
1、课程设计任务书
1.1、课程设计题目:
本小组的课程设计题为:
虚拟辅助实验系统
1.2、课程设计的目的和要求
通过对虚拟仪器的设计,了解虚拟仪器设计的基本原理及常用的对象使用方法;通过设计一台虚拟式数据采集系统、图形识别系统、通过串口、并口控制、测温系统、转速测量系统等,了解虚拟仪器数据采集卡的使用及设置,并口或串口的数据传输,了解虚拟编程中如何驱动非NI公司的数据采集卡或电脑中常用的声卡,学会把外界物理信号采集到计算机并进行简单分析或者通过虚拟仪器产生符合要求的信号并通过声卡输出或者学会利用NI的ELVIS系统设计简单的测量软件。
加深虚拟仪器知识、单片机的了解,培养学生运用虚拟仪器思想解决工程实际问题的能力。
1.3、课程设计内容
虚拟辅助实验系统:
设计的虚拟仪器要求可以读出给出的两路信号,信号数据已用文本文档保存,并且对读出的两路信号做频谱,概率密度函数,倒频谱等,并给出幅值、周期及其它指标。
前面板上要设置必要的控件对象以设置相应参数。
设计界面要美观,程序可读性好。
1.4、设计进度安排
设计时间共计两周。
课程设计任务及要求讲解(0.5天)
设计任务分析及查找资料(1.5天)
程序编制及调试(5.5天)
设计说明书撰写(2天)
答辩(0.5天)
2、labview简介
随着计算机技术日新月异的飞速发展,计算机强大的数据处理能力使得它的应用范围越来越广。
1986年,美国NI公司(National Instruments)提出虚拟仪器的概念,以“软件即仪器”为口号,彻底打破了传统电子仪器只能由生产厂家定义,用户无法改变的局面,从而引起仪器和自动化工业的一场革命。
简单地说,虚拟仪器技术就是利用计算机技术实现的对测控系统的抽象。
平常使用的示波器、数字万用表、信号发生器、数据记录仪,以及传感器等传统仪器,都可使用通用计算机和专用的控制器和显示器来模拟,实现向虚拟仪器的转变。
LabVIEW是一个基于G(Graphic)语言的图形编程开发环境,在工业界和学术界中广泛用作开发数据采集系统、仪器控制软件和分析软件的标准语言,对于科学研究和工程应用来说是很理想的语言。
它含有种类丰富的函数库,科学家和工程师们利用它可以方便灵活地搭建功能强大的测试系统。
LabVIEW编程语言最主要的两个特点是图形化编程和数据流驱动。
虚拟仪器没有常规仪器的控制面板,而是利用计算机强大的图形环境,采用可视化的图形编程语言和平台,以在计算机屏幕上建立图形化的软面板来替代常规的传统仪器面板。
软面板上具有与实际仪器相似的旋钮、开关、指示灯及其他控制部件。
在操作时,用户通过鼠标或键盘操作软面板,来检验仪器的通信和操作。
相较于传统仪器,虚拟仪器有着如下优点:
(1)虚拟仪器用户可以才艮据自己的需要灵活地定义仪器的功能,通过不同功能模块的组合可构成多种仪器,而不必受限于仪器厂商提供的特定功能。
(2)虚拟仪器将所有的仪器控制信息均集中在软件模块中,可以采用多种方式显示采集的数据、分析的结果和控制过程。
这种对关键部分的转移进一步增加了虚拟仪器的灵活性。
(3)由于虚拟仪器关键在于软件,硬件的局限性较小,因此与其他仪器设各连接比较容埸实现。
而且虚拟仪器可以方便地与网络、外设及其他应用连接,还可利用网络进行多用户数据共享。
(4)虚拟仪器可实时、直接地对数据进行编辑,也可通过计算机总线将数据传输到存储器或打印机。
这样做一方面解决了数据的传输问题,一方面充分利用了计算机的存储能力,从而使虚拟仪器具有几乎无限的数据记录容量。
(5)虚拟仪器利用计算机强大的图形用户界面(GUI),用计算机直接读数。
根据工程的实际需要,使用人员可以通过软件编程或采用现有分析软件,实时、直接地对测试数据进行各种分析与处理。
(6)虚拟仪器价格低,而且其基于软件的体系结构还大大节省了开发和维护费用。
三、任务分析
3.1、基本要求
1、读取文本信号;
2、提取文本信号中有效信息,读出两路信号;
3、对两路信号做概率密度函数分析;
4、对两路信号做频谱、倒频谱分析;
5、对两路信号做幅值、周期等其他指标分析;
3.2、附加要求
1、前面板上要设置必要的控件对象以设置相应参数;
2、设计界面要美观,程序可读性好。
四、实现过程
4.1、总体方案设计
为了完成该仪器的设计任务,可将该仪器的设计任务分为三部分,分别为信号读取、信号处理、信号分析模块。
信号读取模块主要是将存储在文件中的信息读取出来,转换为易于处理、转换的字符串。
由文本文件存储的信息可知,信息中包含信号、字母、序号,并不能直接提取信号,所以需要对读取出来的信息进行处理,提取信号,去除不要的信息,为信号处理做准备。
信号分析是该仪器的主体,重要组成模块,主要分析信号的幅值、频率、波形图、频谱图、倒频谱图和概率密度函数,当然也可以测量信号的其他参数,比如说最大值、最小值、均方根等,应不同需要,灵活变换。
本方案设计框图如图1所示。
图1设计流程图
4.2、信号读取程序设计
文本文件是由ASC
码组成的文本数据流存成的文本格式。
这种格式的优点是通用性强,即文件的内容可以被MicrosoftWord、MicrosoftExcel甚至Windows自带的记事本等应用直接读取,并且这种文件类型最容易进行格式转换。
这种文件格式也有弱点,表现为三个方面:
第一,用这种格式保存和读取文件的时候需要进行文件格式的转换,例如,读取文本文件时,要将文本文件的ASC
码转换为计算式,因而需要花费额外的时间;第二,用这种格式存储的文件占用的磁盘空间比较大,存取的速度相对比较慢;第三,对于文本类型的数据,不能随机地访问其中的某个数据,这样当我们需要找到文件中某个位置的数据的时候据需要把这个位置之前的所有数据全都读出来,效率比较低。
图2读取文本文件函数图
信号保存在文件夹中,所以必须先读取文件夹的内容,基于该功能的函数有读取文本文件函数、扫描文件函数,这里我们选用读取文本文件函数。
读取文本文件函数从字节流文件中读取指定数目的字符或行。
该函数不可用于LLB中的文件。
读取文本文件函数的结构图如图2所示。
读取文本文件读取指定文件中的字符,默认为读取文件中所有字符,接线端“计数”可以指定渎取的字符数。
右键单击节点,在弹出的快捷菜单中选择“读取行”表示以一行为一个单位进行读取。
输入和输出接线端说明如下。
对话框窗口(打开现有文件):
文件对话框上出现的提示信息。
文件(使用对话框):
文件引用旬柄或绝对路径(相对路径无效),如果没有输入,则弹出文件对话框来选择文件。
计数:
从文件中读取的字符数或行数(如果右键菜单选项“读取行”被选中),如果输入值为负数,则读取整个文件。
引用句柄输出:
返回所读文件的文件引用句柄。
文本:
从文件中读取的文本。
取消:
如果文件对话框被取消,则返回值为真。
4.3、信号处理程序设计
通过读取文本文件函数读取得到的文本显示该文本包含字母、空格、冒号、分行符号、数值符号,所以不能直接使用读取的文本,必须先对文本的信息进行处理,即必须去除不必要的信息,只保留有用的两路数据信号。
为了实现该功能,选用LabVIEW自带的一个子VI:
ExtractNumbers。
它的作用是提取由逗号,分行符号,非数值字符等分隔开的数据所组成的ASCII字符串,并将它们转换成数值数组,用于将读取的字符串转换为双精度数据类型的一维数组。
利用Labview中匹配模式函数(如图3)可以很好的去除文本文件中字母、空格、冒号等除了数值符号之外的文本符号,从而提取出文本文件中的数值数据。
图3匹配模式函数
信号经过匹配后生成新的匹配字符串,而我们需要得到整形数据,因此还需用到字符串转换至数值控件,如图4。
因为上述函数是将读取的数值字符串转换为双精度的一位数组,故需要将两路信号分离,可以选用抽取一位数组函数,该函数可以将一维数组分成n维数组。
该函数结构图如下所示。
图4字符串至数值转换函数图5抽取一维数组函数
为了保证程序的易读性和美观,本方案将信号提取及处理(不包括抽取一位数组函数)集成到一子vi(如图6所示),在主程序中引用便可实现同样作用。
图6子vi程序图
子vi中利用while循环和正则表达式,便可以实现文本文件中的数值信号进行提取,其中正则表达式([0-9]+)表示把读取的文本文件中的一个或多个0至9之间的数值字符提取到匹配输出。
4.3、信号分析程序设计
在程序中对两路信号进行分离后,需要分别对两路信号进行频谱、倒频谱、概率密度函数、幅值、频率等进行分析。
在设计界面时,本组方案采用多个选项卡控件来提高系统界面的集成性、直观性和可操作性。
同时,为了便于比较,我们将两路信号放在同一个子选项卡中,通过这种巧妙的设计,使界面更为美观、便捷、易操作。
前面板图见附录。
4.3.1、频谱分析及幅值、频率分析
信号的参数一般是用幅值和频率表示;比如一个正弦波,波峰到波谷的距离叫幅值,频率就是单位时间内的周期数在一个周期内,交流电瞬时出现的最大绝对值,称为幅值,也叫最大值、振幅、峰值。
电子学中,常用加下标m表示幅值。
频谱就是频率的分布曲线,复杂振荡分解为振幅不同和频率不同的谐振荡,这些谐振荡的幅值按频率排列的图形叫做频谱。
Labview中提供了很多信号分析的函数,便于设计者使用。
其中包括了频谱分析函数、单频测量函数。
通过应用这些函数,可以直接的得到信号的幅值、频率以及频谱这些信息。
图7频谱测量函数图8单频测量函数
4.3.2、倒频谱、概率密度分析及其他分析
由于labview中提供的信号分析函数并不能完全的满足直接测量的条件,例如倒频谱分析及概率密度函数分析,labview中并没有给出直接测量的函数,因此需要用户通过现有函数及数学公式进行间接测量。
在本方案中,我们采用功率谱函数、对数函数和反FFT函数来得到信号的倒频谱。
而对于概率密度函数,则采用统计函数来得到采样信号的最大值以及概率密度函数并结合for循环来计算信号的概率密度函数。
(具体程序见附录)
4.3.3、波形显示及前面板设计
Labview中提供了波形图表、波形图、XY图、强度图等几种波形显示控件。
本方案中选用波形图表、波形图以及XY图来进行显示。
波形图表是显示一条或者多条曲线的特殊数值控件,一版用于显示一恒定速率采集到的数据。
波形图会保留来源于此前更新的历史数据,又称缓冲区。
右键单击图表,从快捷菜单中选择图表历史长度可配置缓冲区大小。
波形图表的默认图表历史长度为1024个数据点。
向图表传送数据的频率决定了图标重绘的频率。
波形图用于显示测量值为均匀采集的一条或多条曲线。
波形图仅绘制单值函数,即在y = f(x)中,各点沿x轴均匀分布。
例如一个随时间变化的波形
XY图是多用途的笛卡尔绘图对象,用于绘制多值函数,如圆形或具有可变时基的波形。
XY图可显示任何均匀采样或非均匀采样的点的集合。
XY图中可显示Nyquist平面、Nichols平面、S平面和Z平面。
上述平面的线和标签的颜色与笛卡尔线相同,且平面的标签字体无法修改。
5、心得体会
我相信大多数人都会有我这种感觉。
去年大三时,对于课程设计一直抱着一种好奇、好玩的感觉,在这种感觉中还夹杂着些许一些恐慌。
而匆匆一年已过,在大学生涯的最后一段路程里,我竟然十分渴望着课程设计。
我想个中原因不过以下两点:
1、对于即将走入社会的我们,很珍惜每次锻炼我们的机会,尽管是一场短短的课设,尽管难度不大,大家都认真的去做,认真的完成课设任务;
2、对于即将分离的我们,很享受大家在一起学习,在一起相聚的时刻。
在课设时,我们大家能够聚集在一起学习,一起合作完成任务,这种氛围,在课堂上、在生活中很难找得到。
本次课设,虽然时间短暂,但收获的东西还是不少。
在期间,我们学会了团队合作,每个人分配了不同的任务,有成员查资料,有成员做信号采集,我则做信号分析,通过我们的合作,非常出色的完成了课设任务。
同时,也加深了我对labview的了解。
通过本次课设,我对课堂上labview课程的学习进行了系统的应用,不仅巩固了我所学知识,同时还学习到了不少课外知识。
还有更为重要的是,便是提高了我们的动手能力,我们太着重于理论学习了,导致我们动手能力严重不足,这对于即将走路社会的我们,是非常不利的。
而通过本次课设,提高了我的动手能力。
总而言之,我的课设体会是,多动手,多学习,多珍惜!
参考文献
[1]王磊,陶梅.精通labview8.0[].北京:
电子工业出版社,2007.1
[2]
on_patterns/
[3]申焱华,王汝杰,雷振山.labview入门与提高.北京:
中国铁道出版社,2006.10
[4]
[5]张桐,陈国顺,王正林.精通labview程序设计.北京:
电子工业出版社,2008.12
附录
主程序前面板图
程序流程图
信号波形图
频谱图
倒频谱图
概率密度函数