虚拟仪器实验报告姓名:邢凯华班级:测仪111班学号:5801211004虚拟仪器实验室2014.12实验一熟悉虚拟仪器软件设计环境一、实验目标:1. 理解LabView编程结构的基本概念2. 掌握LabView中循环结构和移位寄存器的基本使用方法3. 掌握LabView中公式节点的使用方法二、实验设备安装有LabVIEW的计算机。
三、实验要求和内容LabView中的结构中的For和While相当于别的语言中的各种循环语句,而顺序结构主要为了方便于进行和时间相关的编程。
本单元基本要求为循序渐进地学习和调试结构相关的内容,重点在于掌握LabView中进行循环和时间相关编程的方法。
1. 使用For循环产生100个随机数。
在随机数产生的同时判定当前随机数的最大值和最小值。
有时称其为“流动的”最大值和最小值。
在前面板上显示流动最大值、最小值和当前的随机数。
循环中一定要包含Time Delay Express VI以便用户观察指示器中值随着For循环的运行而更新。
2. 构建VI,不停地每隔0.5秒产生并显示一个0到1之间的随机数。
同时,计算并显示产生的最后四个随机数的平均值。
只有产生4个数以后才显示平均值,否则显示0。
每次随机数大于0.5时,使用Beep.vi产生蜂鸣声。
【提示】虽然叙述简单,但实现不易,请注意:每0.5秒产生一个随机数,可以使用与定时有关的VI要计算最后四个数的平均,需要使用具有多个元素的移位寄存器3. 创建前面板有3个圆LED的VI。
运行程序时,第一个LED打开并保持打开状态。
1秒钟以后,第二个LED打开并保持打开状态;再过2秒钟,第三个LED打开并保持打开状态。
所有LED都保持打开状态3秒钟,然后程序结束。
(使用顺序结构)4. 创建一个计时测试程序,比较公式节点和本地LabVIEW数学函数的平均执行时间。
此程序需要一个For循环或一个平序或叠序结构以及一个Case结构。
要求For循环运行计时测验N次,然后使用Statistics Express VI对结果做平均。
要求顺序结构在代码运行之前以及代码运行之后对Tick Count进行采样。
要求Case结构判定用户是要执行公式节点还是要执行本地LabVIEW数学函数。
对每个分支运行计时测验程序。
哪种方法执行时间最快?哪种方法最容易编程?别人要看程序时,哪种方法更容易理解?四、本单元应掌握的LabView技巧注意For循环的下标都是从0开始递增的,初始值和变化方向都无法修改。
五、实验步骤问题1:步骤一:在前面板上选择三个数值显示控件,并分别将名称改为当前数值,最大值和最小值。
步骤二:在框图的结构中选择For循环,在循环次数处填100次,并在其中放置一个Time Delay延迟时钟,将延迟时间设置为1秒。
步骤三:在框图的比较中选择两个选择函数,把它们和当前数值,最大值和最小值一起放置在For 循环结构中。
步骤四:在For循环结构中添加两个移位寄存器。
在每一个移位寄存器上创建数值常量控件,在数值常量控件上分别填上0和11,然后再将其和选择函数通过一定的逻辑关系相连,并分别显示最大值和最小值。
步骤五:运行程序。
实验结果题目二实验步骤步骤一:在前面板上选择五个个数值显示控件和一个停止按钮,并将数值显示控件的名称分别改为随机数、随机数1、随机数2、随机数3和平均值。
步骤二:在框图的结构中选择While loop控件,并在控件上加上一个移位寄存器,在While loop控件的左边添加三个元素以存储产生的四个随机数,之后在While loop控件中添加一个条件结构控件,并防止一个等待下一个整数倍毫秒时钟,将时间设置为1000。
步骤三:步骤三:在一个条件结构控件的真选项中添加复合运算控件并选择其中的加法运算,再添加一个除法器以求得平均值,在False选项中添加常数零。
这个Case控件的真假由循环次数是否大于四来选择。
将随机数加入到循环中,将剩余的控件按要求连接起来。
步骤四:运行。
实验结果题目三实验步骤:步骤一:在前面板添加三个Round LED,并将它们命名为Boolean1,Boolean2,Boolean3。
步骤二:在框图中添加Flat Sequence Structure,并且添加三个Frame。
在每个Frame中添加一个定时时钟,将定时时间设为1秒。
在每个Frame中加入三个Local Variable并将名称改为Boolean1,Boolean2,Boolean3,再用True or False Constant 与其相连,对第一、二、三、四个Frame 的True or False Constant分别设置为TFF,FTF,FFT,TTT。
实验结果实验二图形化编程实现各种运算一、实验目标:利用LabVIEW实现各种数学运算(数组,矩阵,代数)和字符串与逻辑运算1. 理解LabView的数组和簇的基本概念2. 掌握数组的创建和使用3. 理解多态性的含义4. 掌握簇的创建和使用5. 掌握图形显示控件的基本特性和使用方法二、实验设备安装有LabVIEW的计算机。
三、实验要求和内容LabView中的数组和别的语言中数组的概念基本一致,但在LabView中数组是Control 或者Indicator,也就是说,它是有界面的。
LabView中的簇类似于C语言中的stucture数据结构或C++中的Class类。
本单元基本要求为循序渐进地学习和调试数组和簇的相关内容。
1. 创建子VI计算两个输入向量A和B内积。
要求程序能够判断两个向量的元素个数是否相等,相等则计算内积,否则利用beep.vi报警并且弹出对话框提示。
内积子VI的实现必须使用最底层的方法实现,不能直接调用函数面板里的VI,将VI计算结果和数学函数的计算结果做比较,仔细检查计算程序。
2. 创建VI,计算并绘制二阶多项式y = Ax2 + Bx + C在任意区间x0到x N-1上的曲线。
其中系数A,B和C以及区间范围要求能在前面板控件由用户自行输入,并使用前面板控件输入点数N以控制图形的绘制精度。
在波形图上绘制x-y图形指示器。
坐标轴的刻度要求与实际情况一致。
【提示】首先需要写出N个点中每个点x坐标的计算公式然后利用多态性简化程序的编制(既把二项式的计算做成子VI,当输入单个值时输出单个值,输入数组时也输出数组)3. 创建VI,包含一个由6个按钮组成的簇,这些按钮标签分别是Option1到Option6。
当VI执行时,VI将等待按钮之一被按下。
当按一个按钮时,使用Display Message To User Express VI指出所选择的选项。
重复以上过程直到按下Stop按钮。
确保加入Time Delay Express VI使用户有时间按按钮。
提示:可以使用Cluster to Array函数把布尔簇转换成布尔数组,簇中的每个按钮代表数组中的一个元素。
Search 1D Array函数从Cluster to Array函数创建的一维布尔值数组中搜索TRUE值。
数组中的任何元素为TRUE值表示用户单击了簇中的一个按钮。
Search 1D Array 函数返回其在数组中找到的第一个TRUE值的索引值并将其传送到Case结构的选择器端子。
如果没有按过按钮,Search 1D Array函数返回索引值-1,执行空操作的-1分支执行。
While循环重复检查布尔簇控件的状态,直到按下Stop按钮。
4. 创建子VI,用于计算多项式y = a*x^4 + b*x^3 + c*x^2 + d*x +e的值,其中各项系数要求以数组的形式输入(要求数组中元素高阶系数在前,低阶系数在后),要求程序能够自动判断多项式的项数,最后根据输入的x输出y值。
5. 建立一个VI,模拟掷骰子游戏(骰子在1~6之间随机取值),跟踪骰子投掷后各面取值出现的次数。
程序输入骰子投掷次数,输出投掷后骰子各面的出现次数。
只允许使用一个移位寄存器实现此功能。
四、本单元应掌握的LabView技巧注意数组的处理和产生都可以借助循环结构,其关键点在于自动索引功能和移位寄存器的使用。
注意体会数组和簇的区别与联系,簇可以构成数组(即簇数组),而数组也可以是簇中的成员。
五、实验步骤和实验结果题一:计算两个输入向量A和B内积,要求程序能够判断两个向量的元素个数是否相等,相等则计算内积,否则利用beep.vi报警并且弹出对话框提示。
首先需要写出N个点中每个点x坐标的计算公式,然后利用多态性简化程序的编制(既把二项式的计算做成子VI,当输入单个值时输出单个值,输入数组时也输出数组。
结果如图:题二:计算并绘制二阶多项式y = Ax2 + Bx + C,使用前面板控件输入点数N,计算x0到x N-1区间上的多项式。
在波形图上绘制y-x图形指示器。
如图:题目三:可以使用Cluster to Array函数把布尔簇转换成布尔数组,簇中的每个按钮代表数组中的一个元素。
Search 1D Array函数从Cluster to Array函数创建的一维布尔值数组中搜索TRUE值。
数组中的任何元素为TRUE值表示用户单击了簇中的一个按钮。
Search 1D Array 函数返回其在数组中找到的第一个TRUE值的索引值并将其传送到Case结构的选择器端子。
如果没有按过按钮,Search 1D Array函数返回索引值-1,执行空操作的-1分支执行。
While循环重复检查布尔簇控件的状态,直到按下Stop按钮。
结果如图:题目四:题目五:实验三图形化编程实现信号分析(一)时域相关分析一.实验目的1.在理论学习的基础上,通过本实验加深对自相关分析和自功率谱分析的概念、性质、作用的理解。
2. 掌握用相关分析法测量信号中周期成分的方法。
二. 实验原理(1) 自相关相关是指客观事物变化量之间的相依关系,在统计学中是用相关系数来描述两个变量x,y之间的相关性的,即:式中:ρxy是两个随机变量之积的数学期望,称之为协方差或相关性,表征了x、y之间的关联程度;σx、σy分别为随机变量x、y的均方差,是随机变量波动量平方的数学期望。
如果所研究的随机变量x, y是与时间有关的函数,即x(t)与y(t),这时可以引入一个与时间τ有关的量ρxy(τ),称为相关系数,并有:式中假定x(t)、y(t)是不含直流分量(信号均值为零)的能量信号。
分母部分是一个常量,分子部分是时移τ的函数,反映了二个信号在时移中的相关性,称为相关函数。
因此相关函数定义为:或如果x(t)=y(t),则称为自相关函数,即:(2)自功率谱随机信号的自功率谱密度S x(ƒ)与自相关函数R x(τ)是一傅立叶变换对,即S x(ƒ)=ττπdeR ftjx⎰∞∞--2)(R x(τ)=τπdefS ftjx⎰∞∞-2)(自相关函数和自功率谱函数分别在时间域和频率域描述了一个信号自身波形不同时刻的相关性(或相似程度),揭示了信号波形的结构特性,通过自相关和自功率谱分析我们可以发现信号中许多有规律的东西。