专业软件实训Labview实训报告_第1页
专业软件实训Labview实训报告_第2页
专业软件实训Labview实训报告_第3页
专业软件实训Labview实训报告_第4页
专业软件实训Labview实训报告_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、专业软件实训 院系:机械与汽车工程学院 专业:测控技术与仪器 姓名: 学号: 班级: 指导老师:目录 第1章 绪论 1 1.1 labview的介绍11.2实训的目的及意义1第2章 labview实训内容 2 2.1 labview软件的基础操作2 2.1.1 基于模板打开一个vi并运行 2 2.1.2 基于模板创建一个vi 22.2 基础实训3 2.2.1 通过循环创建二维数组3 2.2.2 二维数组与电子表格字符串相互转换3 2.2.3强度图(intensity graph)的设计4 2.2.4三维曲面图的设计 5 2.2.5 xy曲面图的设计62.3 强化实训7 2.3.1 简易滤除信号

2、噪声的设计 7 2.3.2 曲面积分的设计 8 2.3.3 对高斯噪声的统计分析10第3章 基于labview与声卡的音频信号采集系统与分析14 3.1 基于声卡的音频信号采集系统实现14 3.2 音频信号处理与分析15 3.3 声卡采集系统测试与分析15总结17第1章 绪论1.1 labview的介绍 labview是laboratory instrument engineering workbench (实验室虚拟仪器集成环境)的简介,是由美国国家仪器(ni , national instruments)公司开发的、优秀的商用图形化编程开发平台。labview是一种图形化编程语言,又称g

3、(graphic)语言。labview程序被称为vi(virtual instrument),即虚拟仪器。与 c 和basic 一样,labview也是通用的编程系统,有一个完成任何编程任务的庞大函数库。labview的函数库包括数据采集、gpib、串口控制、数据分析、数据显示及数据存储,等等。labview也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子vi)的结果、单步执行等等,便于程序的调试。 labview(laboratory virtual instrument engineering workbench)是一种用图标代替文本行创建应用程序的图形化编程语言。传统

4、文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而 labview 则采用数据流编程方式,程序框图中节点之间的数据流向决定了vi及函数的执行顺序。vi指虚拟仪器,是 labview 的程序模块。 labview 提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。用户界面在 labview 中被称为前面板。使用图标和连线,可以通过编程对前面板上的对象进行控制。这就是图形化源代码,又称g代码。labview 的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。1.2 实训的目的及意义实训的目的在于让学生了解现代仪器科学与技术的发展前沿,学习和掌握虚

5、拟仪器系统组成和工作原理,掌握虚拟仪器labview图形化软件设计方法与调试技巧,培养学生查阅资料的能力和运用知识的能力,提高学生的论文撰写和表述能力,培养学生正确的设计思想、严谨的科学作风,培养学生的创新能力和运用知识的能力。并且要求学生了解并掌握虚拟仪器的设计方法,具备初步的独立设计能力,初步掌握对图形化编程语言labview的编程、调试等基本技能,通过整个设计过程大致领会并了解labview软件的其他虚拟仪器的设计方法,从而为将来在实际工程项目中使用labview打下良好的实践基础,提高综合运用所学的知识独立分析和解决问题的能力。与c和basic一样,labview也是通用的编程系统,有

6、一个完成任何编程任务的庞大函数库。labview的函数库包括数据采集、gpib、串口控制、数据分析、数据显示及数据存储,等等。labview也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子vi)的结果、单步执行等等,便于程序的调试根据一些项目统计,完成一个功能类似的大型应用软件,熟练的labview程序员所需的开发时间,大概只是熟练的c程序员所需时间的1/5左右。所以,如果项目开发时间紧张,应该优先考虑使用labview,以缩短开发时间。从现实的意义来说,在高等工程教育中采用虚拟实验室,可以从根本上解决实验与实习经费严重短缺的问题。作为传统电子技术实验的补充,使学生初步掌握

7、仿真软件技术,可使实验内容紧密联系课本内容,比较全面的概括和反映部分所学的知识点,使课堂内容具体化。同时,利用虚拟仪器技术实现对仪器设备的远程、分布式控制。一方面继承实物实验可操作性、参与性强的优点,另一方面又可利用计算机优势,发挥其直观、动态模拟、迅速准确、资源共享、资金投入量少等特点,从而建立一种新型的实验教学方式,进一步提高教学效率。第2章 labview实训内容2.1 labview软件的基础操作2.1.1 基于模板打开一个vi并运行启动labview后会出现一个“启动”窗口。在该窗口中,可以进行新建vi、新建项目、新建基于模板的vi、打开labview自带的帮助和入门指南等文档、查找

8、范例和链接labview网络资源等操作。例如,在“新建”窗口中选择“vi6基于模板使用指南(入门)生成、分析和显示”单击后右侧便相应的出现该模板vi的程序框图预览和该模板vi的功能说明,然后单击“确定”按钮,便同时打开了“生成、分析和显示”模板vi的前面板和程序框图。点击前面板或程序框图工具栏上的“运行”按钮,运行程序,便可看到相应的运行结果。2.1.2 基于模板创建一个vi在已经打开的模板vi前面板窗口或程序框图窗口的菜单栏中选择“文件保存”,单击后会弹出一个“保存”对话框。在“保存”对话框中选择vi要保存的位置,并且给vi取一个名称。然后单击“确定”按钮,文件便保存成功了。2.2基础实训2

9、.2.1 通过循环创建二维数组新建一个vi,在程序框图中用两个for循环嵌套的方法来创建二维数组。内部for循环执行完以后会产生一组一维数组,按照外循环的循环次数n执行内循环,便会产生n组一维数组,这n组一维数组在外循环结束时组成二维数组输出到显示控件中。外循环的循环次数决定了二维数组的列数。如图2-1所示的前面板运行结果为2行3列的二维数组。如果想创建m维数组就需要用m个for循环进行嵌套。 图2-1 用for循环创建二维数组2.2.2 二维数组与电子表格字符串相互转换如图2-2所示,在程序框图中使用for循环创建一个3行4列的二维数组,数组中的每个元素都是由随机数函数产生的0至1之间的随机

10、数。其次,在程序框图中创建“数组至电子表格字符串转换”函数,函数的“数组”输入端接入for循环产生的二维数组,“格式字符串”输入端接入电子表格的格式字符串,即“%1.4f”字符串。在函数的输出端创建显示控件“二维电子表格字符串”,向下移动该控件并创建“电子表格字符串至数组转换”函数。函数的“电子表格字符串”输入端连接二维电子表格字符串,“格式字符串”输入端接入“%s”字符串常量。运行程序,查看运行结果。 图2-2 二维数组与电子表格字符串相互转换2.2.3强度图(intensity graph)的设计 图2-3 随机数的强度图 如图2-3所示,用两个for循环产生5行5列的随机数数组,将数据输

11、出给“强度图”和“数组”显示控件。由于产生的随机数是0至1之间的数,所以要将强度图幅值的最大值和最小值调整为1和0。运行程序,会观察到如图2-4所示的运行结果。从结果中可以看出,强度图中的每个小矩形单位对应着数组中的一个数值,数值在强度图中用颜色来反映。图2-4 运行结果2.2.4三维曲面图的设计 首先,在前面板创建三维曲面图控件,同时在程序框图中会自动出现三维曲面图的索引和“三维曲面”vi。然后,如图2-5所示,在程序框图中创建正弦波的二维数组。最后,将数组连接至“三维曲面”函数的“z矩阵”输入端。运行程序,会在前面板中得到正弦波的三维曲面图。在默认情况下,前面板的三维曲面图比较小,可以通过

12、拖动框图周围的句柄来调节框图的大小。用鼠标中轴滚轮可以放大或缩小框图内部图形的大小。 图2-5 使用“三维曲面”显示正弦波 2.2.5 xy曲面图的设计 如图2-6所示,以簇的形式显示一条曲线。首先用for循环和三角函数生成一组正弦波数据和一组余弦数据。然后将for循环生成的两个数组(x坐标值数组和y坐标值数组)捆绑成簇。在捆绑成簇时。x坐标值数组要在y坐标值数组的前面。最后将簇接入xy曲线图。运行后,在xy曲线图中便画出了一个圆形曲线。图2-6 用“xy曲线图”画圆2.3 强化实训2.3.1 简易滤除信号噪声的设计新建vi,在程序框图中添加仿真信号express vi和滤波器express

13、vi,在这里,仿真信号express vi的信号类型选择为正弦波信号,频率设置为10.1hz,幅值为1,相位和偏移量均设置为0.选中“添加噪声”的复选框,在噪声类型下拉框中选择“高白斯噪声”,将采样率设置为100000hz,采样数设置为“整数周期数”,名称使用默认值。接着使用滤波器express vi对产生的带噪声的仿真信号进行滤波处理。打开滤波器的配置对话框,选择滤波器类型为“低通”,由于产生的仿真信号的频率为10.1hz,所以将滤波器的截止频率设置为20hz。选择“无线长冲激响应(iir)滤波器”,在“拓扑结构”下拉框中选择butterworth,阶数选择3.按照图2-7所示连线程序框图,

14、保存vi,将前面板和程序框图都编辑好,设置输入控件的值,单击运行按钮后查看运行结果(如图2-8所示),并且可以更改仿真信号express vi和滤波器express vi的配置信息来观察不同的运行结果。图2-7 程序框图图2-8建议滤除信号噪声的运行结果2.3.2 对高斯噪声的统计分析 对高斯噪声的统计分析的设计主要可以分为以下几个步骤:(1) 程序框图的设计,包括高斯噪声的生成、统计分析和柱状图显示等的分析过程,以及相关的分析和逻辑处理。对高斯噪声的统计分析的程序框图如图2-9所示。(2) 图形显示界面的设计,即在程序框图的主要设计基础上,在前面板上添加相应的输入控件、波形图显示控件,以及统

15、计分析的实时显示控件。图2-9对高斯噪声的统计分析的程序框图(3) 前面板界面布局及显示部件的属性设置,包括对前面板进行的整体布局规划设计和对部分图形显示控件进行的相关外观属性设置。各属性设置如下:1) 在程序框图中,“统计”函数属性中勾选“算数平均”、“标准差”、“最大值”、“最小值”。2) 在程序框图中,“创建直方图”函数属性中“配置”中设置“区间数”为“50”,“最大值”为“5”及“最小值”为“-5”,在“幅值表示”处选择“总数的百分比”。3) 在前面板中,“统计图”属性设置:“外观”选项卡,取消勾选的“标签”的“可见”复选框,取消勾选“显示图例”复选框;“格式与精度”选项卡,分别对“x

16、轴”和“y轴”的数据类型设置为“浮点”,“位数”为3,“精度类型”为“精度位数”;“标尺”选项卡,可以设定波形图显示控件纵坐标(幅值)和横坐标(时间)的属性,纵坐标和横坐标的“标尺范围”默认设置为“自动调整标尺”,并设定纵坐标(幅值)的最小值为-5,最大值为5,设置横坐标(时间)的最小值为0,最大值为15.设计完毕后,通过调节输入高斯白噪声的标准差和采样信息,可获取高斯噪声信号,并可利用“统计”函数和“创建直方图”函数对获得的高斯噪声信号进行统计计算分析。单击运行按钮,如图2-10所示,在对高斯噪声的统计分析运行界面上可以观察到“高斯噪声信号”、“柱状图”和“统计图”控件中的图形显示。改变输入

17、控件中的参数,图像将随之变化。图2-10 对高斯噪声的统计分析运行界面2.3.3 曲面积分的设计 利用“y=f(x)求值(优化步长)”、“积分”和“曲线长度”等函数对一个给定表达式的函数进行积分,并用图形显示的方法将曲线和积分结果表现出来。详细设计步骤如下所示:(1) 新建一个vi并命名123.vi。(2) 前面板的设计。添加1个字符串输入控件并命名为“公式”(默认值设置为sinc(x)+sin(2*x)+sin(2*x*x));添加1个列表框控件并命名为“graph”,其列相值基于0依次为“ function graph”、“ graph”、“integration graph”和“curs

18、e length graph”;添加3个数值输入控件,分别命名为“开始”、“结束”(默认值设置为4.00)和“点数”(默认值设置为30);添加一个“停止”按钮盒1个“确定”按钮(布尔文本修改为“开始”);最后添加1个xy图控件,并进行以下设置:1) 显示相的设置。选择“显示相图形工具选板/游标图例”,取消勾选“显示相标签”。2) 游标的创建。单击游标图例的右键快捷菜单,选择“创建游标自由”。3) 标尺的设计。打开控件的图形属性对话框,在标尺选项卡中将x轴和y轴的“网络样式与颜色”均设置为无。4) 图例“曲线名”的设置。由上到下将“曲线名”依次更名为“function”、“modified fu

19、nction”、“integration”和“curse length”。 对添加的控件进行排列和修饰。至此,前面板设计完毕。(3) 程序框图的设计1) 添加一维和二维分析函数和积分函数1 首先放置1个while循环,所有的程序设计均在循环中完成。2 然后放置一个for循环,产生一个空数组簇,以实现将计算结果在xy图中显示时选用相应的图例曲线的功能。这里使用了1个“初始化数组”和1个“捆绑”函数,“初始化数组”函数的输入端“元素”和“维数大小”的值均为0,这样就可以产生一个元素为0的数组。3 最后添加一个条件结构,将“确定”按钮与条件结构的选择器终端连接起来,并在分支“真”中添加一维和二维分析

20、函数和积分函数,以实现其基本功能。再添加1个内层条件结构,其选择器终端与“graph”列表框控件函数连接起来,在03分支中依次放置“y=f(x)求值”、“y=f(x)求值(优化步长)”、“积分”和“曲线长度”函数来实现其对应功能,如图2-11所示。其中“y=f(x)求值”、“y=f(x)求值(优化步长)”函数位于一维和二维分析子选板(“函数数学脚本和公式一维和二维分析”)中。图2-11 graph各项值得程序图2) 添加显示模块。在“函数编程数组”子选板上,使用“替换数组子集”函数,根据其“索引输入”,替换元素为0的数组,将上一步的计算结果显示出来,其中“索引输入”的输入值为“graph”的输

21、出值。另外,为使程序运行时界面更加友好,添加“确定”按钮的闪烁(blinking)属性节点,转换节点的状态为写入,其输入为“真常量”,并且在外层条件结构的分支“假”中也添加“确定”按钮的闪烁(blinking)属性节点,其输入为“假常量”。至此,程序框图设计完毕。如图2-12所示。图2-12曲线积分的程序框图3) 调试并运行程序。按下“ctrl+r”快捷键运行程序,选中“graph”控件中的任一项值,单击“开始”按钮,即可观察相应函数计算结果的图形显示。如图2-13所示为“y=f(x)求值(优化步长)”函数的曲线图形。图2-13 “y=f(x)求值(优化步长)”函数的曲线图形第3章 基于lab

22、view与声卡的音频信号采集系统与分析3.1基于声卡的音频信号采集系统实现利用labview 中与声音信号相关的函数节点,可以实现对音频信号的采集。声卡具有mic 和line in 两个信号输入端,其中mic 输入端有高增益放大器,会使信号产生较大失真,因此在数据采集时选用line in 作为信号输入端。其采样频率为44.1khz,输入音频信号的幅值不超过1v,对于超过1v 的信号可衰减后输入,适合多种场合的需要。本设计的采集系统的前面板如图3-1所示。主要包括三部分,声卡系统设置、声音信号及功率谱波形,单频信息,路径选择。前面板中放置的对象在程序框图中都有对应的对象,框图程序如图3-2所示。

23、图3-1 信号采集系统的程序前面板音频信号采集过程分为初始化配置声卡、设置声音信号保存路径、采样、释放声卡。首先调用配置声音输入函数(sound input configure.vi)配置声卡并开始进行数据采集。采样率设置为44.1khz,通道数为2,采样位数设置为16 位,采样模式为连续采样,缓存大小设置为每通道10000 个样本。并调用写入并打开声音文件( sound file write open.vi) 设置采集到的音频信号保存路径,在采集结束后,可以用播放器播放采集到的sound test文件,程序进入while循环,进行连续采样。调用读取声音输入函数(sound input rea

24、d.vi)从缓存中读取数据,设置每次从每个通道中读取样本数22050。最后,调用声音输入清零函数(sound input clear.vi) 停止采集并进行清除缓存和占用的内存等操作。图3-2 信号采集系统的框图设计3.2 音频信号处理与分析音频信号采集系统与分析利用labview 中函数选板信号处理模块中的波形测量模块的fft 功率谱节点以及提取单频信息节点,对采集到的音频信号进行频域内的功率谱分析,时域内的单频分析。labview 中对信号的频域分析主要是在对信号进行fft( 快速傅里叶变换) 分析的基础上进行的。还可以利用labview 强大的信号处理功能,对采集到的音频信号进行时域内其

25、他分析,数字滤波,如利用butterworth 滤波器,chebyshev滤波器等,进行平滑滤波处理,可以消除高次谐波失真和噪声干扰,提高信噪比。3.3 声卡采集系统测试与分析为测试本声卡采集系统性能,通过麦克风采集某男歌手歌曲中的一段进行测试,从声音信号波形图中可以看出,采集得到的该段声音信号由多个频率组成,从对应的功率谱图形中可看出,该频率集中在2001000hz、5000hz、5600hz 处。可以直观看到监测到的频率,幅度和相位。利用labview 波形显示器自带的功能对采集到的波形进行显示,并进行功率谱显示。图3-3所示为采集到的该男歌手声音信号的频谱图。图3-3 采集系统测试信号本

26、设计利用普通的计算机声卡代替价格昂贵的商用数据采集卡对音频范围内的信号进行采集,基于labview 开发系统,设计了一个简单的数据采集系统,该系统能够正确采集声卡设计频率范围内的信号,并可以实现基本的测量功能和频谱分析功能。另外,灵活性强。用户不仅可以进行实时监视和控制操作,还可以把数据保存到硬盘,供以后分析使用。在cpu 足够快的条件下,还可以实时处理数据动态显示波形的频谱、频域图。总之,运用廉价的声卡,在labview 环境下构成的具有较高采样精度,中等采样频率的数据采集系统,可以很方便进行语音信号采集,并对其进行处理和分析。总结 通过这学期的软件实训,我主要学会了一些labview的基本

27、操作和编程技巧,labview作为一门新式的以图形化编程的语言,不仅提供了简单易学的编程方法,而且提供了海量的可调用的模块,子vi,涉及到各个方面。labview是一种程序开发环境,由美国国家仪器(ni)公司研制开发的,类似于c和basic开发环境,但是labview与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而labview使用的是图形化编辑语言g编写程序,产生的程序是框图的形式。labview有很多优点,尤其是在某些特殊领域其特点尤其突出。 首先在测试测量方面:labview最初就是为测试测量而设计的,因而测试测量也就是现在labview最广泛的应用领域。经过多年的发展,labview在测试测量领域获得了广泛的承认。至今,大多数主流的测试仪器、数据采集设备都拥有专门的labview驱动程序,使用labview可以非常便捷的控制这些硬件设备。同时,用户也可以十分方便地找到各种适用于测试测量领域的labview工具包。这些工具包几乎覆盖了用户所需的所有功能,用户在这些工具包的基础上再开发程序就容易多了。有时甚至于只需简单地调用几个工具包中的函数,就可以组成一个完整的测试测量应用程序。 控制与测试是两个相关度非常高的领域,从测

温馨提示

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

评论

0/150

提交评论