5801211004邢凯华实验报告.docx
《5801211004邢凯华实验报告.docx》由会员分享,可在线阅读,更多相关《5801211004邢凯华实验报告.docx(46页珍藏版)》请在冰豆网上搜索。
5801211004邢凯华实验报告
(此文档为word格式,下载后您可任意编辑修改!
)
虚拟仪器
实
验
报
告
姓名:
邢凯华
班级:
测仪111班
学号:
虚拟仪器实验室
2014.12
实验一熟悉虚拟仪器软件设计环境
一、实验目标:
1.理解LabView编程结构的基本概念
2.掌握LabView中循环结构和移位寄存器的基本使用方法
3.掌握LabView中公式节点的使用方法
二、实验设备
安装有LabVIEW的计算机。
三、实验要求和内容
LabView中的结构中的For和While相当于别的语言中的各种循环语句,而顺序结构主要为了方便于进行和时间相关的编程。
本单元基本要求为循序渐进地学习和调试结构相关的内容,重点在于掌握LabView中进行循环和时间相关编程的方法。
1.使用For循环产生100个随机数。
在随机数产生的同时判定当前随机数的最大值和最小值。
有时称其为“流动的”最大值和最小值。
在前面板上显示流动最大值、最小值和当前的随机数。
循环中一定要包含TimeDelayExpressVI以便用户观察指示器中值随着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次,然后使用StatisticsExpressVI对结果做平均。
要求顺序结构在代码运行之前以及代码运行之后对TickCount进行采样。
要求Case结构判定用户是要执行公式节点还是要执行本地LabVIEW数学函数。
对每个分支运行计时测验程序。
哪种方法执行时间最快?
哪种方法最容易编程?
别人要看程序时,哪种方法更容易理解?
四、本单元应掌握的LabView技巧
注意For循环的下标都是从0开始递增的,初始值和变化方向都无法修改。
5、实验步骤
问题1:
步骤一:
在前面板上选择三个数值显示控件,并分别将名称改为当前数值,最大值和最小值。
步骤二:
在框图的结构中选择For循环,在循环次数处填100次,并在其中放置一个TimeDelay延迟时钟,将延迟时间设置为1秒。
步骤三:
在框图的比较中选择两个选择函数,把它们和当前数值,最大值和最小值一起放置在For循环结构中。
步骤四:
在For循环结构中添加两个移位寄存器。
在每一个移位寄存器上创建数值常量控件,在数值常量控件上分别填上0和11,然后再将其和选择函数通过一定的逻辑关系相连,并分别显示最大值和最小值。
步骤五:
运行程序。
实验结果
题目二实验步骤
步骤一:
在前面板上选择五个个数值显示控件和一个停止按钮,并将数值显示控件的名称分别改为随机数、随机数1、随机数2、随机数3和平均值。
步骤二:
在框图的结构中选择Whileloop控件,并在控件上加上一个移位寄存器,在Whileloop控件的左边添加三个元素以存储产生的四个随机数,之后在Whileloop控件中添加一个条件结构控件,并防止一个等待下一个整数倍毫秒时钟,将时间设置为1000。
步骤三:
步骤三:
在一个条件结构控件的真选项中添加复合运算控件并选择其中的加法运算,再添加一个除法器以求得平均值,在False选项中添加常数零。
这个Case控件的真假由循环次数是否大于四来选择。
将随机数加入到循环中,将剩余的控件按要求连接起来。
步骤四:
运行。
实验结果
题目三实验步骤:
步骤一:
在前面板添加三个RoundLED,并将它们命名为Boolean1,Boolean2,Boolean3。
步骤二:
在框图中添加FlatSequenceStructure,并且添加三个Frame。
在每个Frame中添加一个定时时钟,将定时时间设为1秒。
在每个Frame中加入三个LocalVariable并将名称改为Boolean1,Boolean2,Boolean3,再用TrueorFalseConstant与其相连,对第一、二、三、四个Frame的TrueorFalseConstant分别设置为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到xN-1上的曲线。
其中系数A,B和C以及区间范围要求能在前面板控件由用户自行输入,并使用前面板控件输入点数N以控制图形的绘制精度。
在波形图上绘制x-y图形指示器。
坐标轴的刻度要求与实际情况一致。
【提示】首先需要写出N个点中每个点x坐标的计算公式
然后利用多态性简化程序的编制(既把二项式的计算做成子VI,当输入单个值时输出单个值,输入数组时也输出数组)
3.创建VI,包含一个由6个按钮组成的簇,这些按钮标签分别是Option1到Option6。
当VI执行时,VI将等待按钮之一被按下。
当按一个按钮时,使用DisplayMessageToUserExpressVI指出所选择的选项。
重复以上过程直到按下Stop按钮。
确保加入TimeDelayExpressVI使用户有时间按按钮。
提示:
可以使用ClustertoArray函数把布尔簇转换成布尔数组,簇中的每个按钮代表数组中的一个元素。
Search1DArray函数从ClustertoArray函数创建的一维布尔值数组中搜索TRUE值。
数组中的任何元素为TRUE值表示用户单击了簇中的一个按钮。
Search1DArray函数返回其在数组中找到的第一个TRUE值的索引值并将其传送到Case结构的选择器端子。
如果没有按过按钮,Search1DArray函数返回索引值-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到xN-1区间上的多项式。
在波形图上绘制y-x图形指示器。
如图:
题目三:
可以使用ClustertoArray函数把布尔簇转换成布尔数组,簇中的每个按钮代表数组中的一个元素。
Search1DArray函数从ClustertoArray函数创建的一维布尔值数组中搜索TRUE值。
数组中的任何元素为TRUE值表示用户单击了簇中的一个按钮。
Search1DArray函数返回其在数组中找到的第一个TRUE值的索引值并将其传送到Case结构的选择器端子。
如果没有按过按钮,Search1DArray函数返回索引值-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)自功率谱
随机信号的自功率谱密度Sx(ƒ)与自相关函数Rx(τ)是一傅立叶变换对,即
Sx(ƒ)=
Rx(τ)=
自相关函数和自功率谱函数分别在时间域和频率域描述了一个信号自身波形不同时刻的相关性(或相似程度),揭示了信号波形的结构特性,通过自相关和自功率谱分析我们可以发现信号中许多有规律的东西。
为工程应用提供了重要信息,特别是对于在噪声背景下提取有用信息,更显示了它的实际应用价值。
三.实验仪器和设备
安装 labVIEW虚拟仪器开发平台的计算机若干台
四.实验步骤及内容
1.打开labVIEW中的"自相关分析"和"互相关分析"实验脚本,进行信号自谱、自相关和互相关分析实验。
2.分别选择labVIEW自谱和自相关分析实验中的信号通道一和通道二的正弦和白噪声按钮,产生正弦和白噪声信号,然后点击多通道信号发生器上的"合成"按钮,产生迭加白噪声的正弦信号,分析和观察上述信号进行自谱和自相关分析后的结果。
3.同样方式产生其他类型的信号,观察分析结果。
实验所附主程序文件名:
互相关.vi自相关.vi
(二)频谱分析
一.实验要求
1.在理论学习的基础上,通过本实验熟悉典型信号的波形和频谱特征,并能够从信号频谱中读取所需的信息。
2.了解信号频谱分析的基本方法及仪器设备。
二.实验原理
1.典型信号及其频谱分析的作用
正弦波、方波、三角波和锯齿波和指数信号是实际工程测试中常见的典型信号,这些信号时域、频域之间的关系很明确,并且都具有一定的特性,通过对这些典型信号的频谱进行分析,对掌握信号的特性,熟悉信号的分析方法大有益处,并且这些典型信号也可以作为实际工程信号分析时的参照资料。
本实验利用labVIEW虚拟仪器平台可以很方便的对上述典型信号作频谱分析。
2.频谱分析的方法及设备
信号的频谱可分为幅值谱、相位谱、实频谱、虚频谱等等。
对信号作频谱分析的设备主要是频谱分析仪,它把信号按数学关系作为频率的函数显示出来,其工作方式有模拟式和数字式二种。
模拟式频谱分析仪以模拟滤波器为基础,从信号中选出各个频率成分的量值;数字式频谱分析仪以数字滤波器或快速傅立叶变换为基础,实现信号的时-频关系转换分析。
傅立叶变换是信号频谱分析中常用的一个工具,它把一些复杂的信号分解为无穷多个相互之间具有一定关系的正弦信号之和,并通过对各个正弦信号的研究来了解复杂信号的频率成分和幅值。
信号频谱分析是采用傅立叶变换将时域信号x(t)变换为频域信号X(f),从而帮助人们从另一个角度来了解信号的特征。
时域信号x(t)的傅氏变换为:
式中
X(f)为信号的频域表示,x(t)为信号的时域表示,f为频率。
本实验利用labVIEW平台上搭建的频谱分析仪来对信号进行频谱分析。
由虚拟信号发生器产生一个典型波形的电压信号,用频谱分析仪对该信号进行频谱分析,得到频谱特性数据。
分析结果用图形在计算机上显示出来。
3.巴特沃斯滤波器
巴特沃斯滤波器拥有最平滑的频率响应,在截止频率以外,频率响应单调下降。
在通带中是理想的单位响应,在阻带中响应为零。
滤波器是一种选频装置,可以使信号中特定的频率成分通过,而极大地衰减其它频率成分。
在测试装置中,利用滤波器的这种选频作用,可以滤除干扰噪声或进行频谱分析。
根据滤波器的选频作用分为:
1)低通滤波器
2)高通滤波器
3)带通滤波器
4)带阻滤波器
三.实验仪器和设备
安装 labVIEW虚拟仪器开发平台的计算机若干台
四.实验步骤及内容
1.打开"频率响应函数与数字滤波"程序,进行频域分析实验。
2.分别选择前面板中的信号通道一和通道二为不同频率的正弦信号,产生正弦和白噪声信号,然后点击多通道信号发生器上的"合成"按钮,产生迭加白噪声的正弦信号,分析和观察上述信号进行自谱和自相关分析后的结果。
3.同样方式产生其他类型的信号,观察分析结果。
4.在程序中滤波分析之前增添加窗操作,选择"矩形窗"、"汗宁窗"、"哈宁窗"、"三角窗"、“指数窗”中的不同窗函数,分析和观察信号加窗以后的时域波形与分析结果的变化。
5.调整滤波器类型及其参数。
分析和观察作用结果的不同。
实验所附主程序文件名:
频率响应函数与数字滤波.vi
五、实验结果
频率响应函数与数字滤波运行结果:
分别选择labVIEW自谱和自相关分析实验中的信号通道一和通道二的正弦和白噪声按钮,产生正弦(三角波/方波)和白噪声信号,然后点击多通道信号发生器上的"合成"按钮,产生迭加白噪声的正弦信号,分析和观察上述信号进行自谱和自相关分析后的结果。
调整滤波器类型及其参数后:
结论:
1.周期信号所含各分量的频率是离散的。
2.各次谐波的频率关系具有谐波性,各次谐波的频率都是基频w0的整数倍,相邻频率的间隔为w0或整数倍。
3.周期信号的幅值是收敛。
4.自相关函数的幅值Rx(t)是偶函数,及Rx(t)=Rx(-t)。
5.当t=0时,自相关函数Rx(t)等于信号的均方值,即Rx(0)=§2x.
6.当t不等于0时,自相关函数Rx(t)的值是小于Rx(0)的。
7.当时间间隔t足够大,自相关函数接近于信号的均值函数的平方。
8.周期信号的自相关函数仍是周期信号,两者周期相同,但不反映相位信息。
自相关分析作为信号的时域分析方法之一,与波形分析、频谱分析相比,它具有能够在强噪声干扰情况下准确地识别信号周期的特点。
因此,为工程应用提供了重要信息,显示了它的实际应用价值。
频率响应函数与数字滤波.vi运行结果:
实验结束后要求针对各个示例程序回答下列问题:
自相关.vi
1.程序为何双击直接进入运行状态?
答:
文件-VI属性-类别-执行-打开时运行。
2.程序运行时如何隐藏菜单和工具栏?
答:
文件-VI属性-类别-窗口外观-自定义-运行时显示菜单栏/显示工具栏。
3.该程序存在几层子VI调用?
答:
从查看-VI层次结构中查看。
4.如何显示被调用的子VI面板?
答:
直接双击
5.如何设置两个通道的信号类型,从而体现自相关分析的适用场合?
答:
在程序框图中编入两个通道,自相关适用于检查周期信号。
6.多通道信号发生器对应的子VI文件名是什么?
答:
sfgn.vi
7.本程序中的滤波器是什么类型?
有哪些输入输出参数?
答:
巴特沃斯低通、高通、带通、带阻滤波器。
参数有:
高端截止频率、低端截止频率、阶次。
8.解释子VI“modicorrelation.vi”的算法以及输入输出参数定义。
答:
此函数对labview中的相关函数进行修正,将每个相关值除以N-t。
N是labview的相关函数输出数组的长度,t是时移的位置。
Rxxin是labview的相关函数输出值,Rxxout是修正后的相关值,samples是取样数,d是输出相关函数的首尾截去的百分比。
n是截短后的取样数。
9.动态修改信号发生器中的信号类型是如何实现的?
采用事件结构可以实现吗?
答:
动态修改信号发生器中的信号类型是通过分支结构和下拉列表来实现的,也可采用事件结构实现。
互相关.vi
10.信号发生器有几个输出,在“合成和分离”按钮的不同状态时,分别为什么?
答:
信号发生器有3个输出,分别为合成波形数据、分离波形数据、取样率。
频率响应函数与数字滤波.vi
11.如何实现动态修改波形显示器的时标?
答:
在sfgn.vi中,文件菜单下选vi属性、窗口外观、把自定义改为默认即可。
12.如何改变波形显示器的曲线外观?
同时显示多条曲线可以通过哪些方法实现?
答:
波形显示器的曲线外观:
单击示波器图例中的输入输出曲线,弹出曲线外观修改。
同时显示多条曲线:
二维数组、由簇作为元素的一维数组、数值类型元素以及数值类型二维数组组成的簇等方式。
13.滤波器类型选择用的是什么控件,怎么编辑?
答:
滤波器类型选择用的是枚举常量类型;编辑:
右键,属性,编辑项进行编辑。
14.FRF函数计算的是什么,输入输出参数定义是什么?
答:
计算的是波形信号。
输入输出参数:
激励信号、响应信号、dt、频率响应幅度、频率响应相位、df。
15.如何为界面添加装饰性文字和图形?
答:
双击界面空白可以添加文字。
实验四:
PCI数据采集卡的配置与应用
一实验目的
学习使用LabVIEW配置PCI接口内置式数据采集卡进行数据采集的方法;熟悉外置式便携测试仪器的概念,了解其产品特点与使用场合,学习使用USB接口的数据采集装置进行数据采集和信号发生。
二实验设备
1、安装有LabVIEW8.6计算机
2、安装有NI-DAQ8.6的计算机
3、系统支持的PCI数据采集设备(DAQ)(NI公司的NI-PCI6014数据采集卡)。
4、HP惠普示波器探针工具包,空闲USB2.0接口
5、荷兰TiePieEngineering公司USB接口高速多功能采集仪一台(型号:
HANDYSCOPEHS3),参数如下:
输入:
2通道,分辨率12~16位,最高采样率100MHz,最大测试电压200V。
输出:
14位精度,50MSamples/s,0~±12V。
三实验原理
工业DAQ系统通常包括:
插入式DAQ卡,传感器,转换器,信号调节以及一套用于获得、处理数据和分析、显示、存储数据的软件。
基于计算机的测量系统,一般需要先通过传感器(或变送器)将物理信号转换成电信号(如电压或电流)。
在大多数情况下,在信号输入DAQ之前,还必须使用信号调理设备对所测量的信号进行放大和滤波,以提高信号增益和消除噪声干扰。
一般而言,所有能够在计算机控制下完成数据采集和控制任务的板卡产品都称为DAQ产品。
它们可以被分为内插式(plug-in)板卡和外挂式两大类。
内插式DAQ板卡包括基于ISA,PCI,PXI/CompactPCI等总线的板卡,速度快,性能参数较高,适合大型的测试和控制场合,但不适合现场测试场合;外挂式DAQ板卡包括USB,PCMCIA,IEEE1394,RS232/RS485和并口板卡,用户可以将其带入工作测试现场,进行远程数据采集和控制应用,使用方便,但性能参数相对较低。
◎内插式DAQ卡采集卡直接接入计算机,接口为PCI、ISA等。
优点:
灵活,费用较低,性能选择范围大,可使用大量的虚拟仪器开发工具软件,适合大规模测试的工业应用。
◎外挂式DAQ卡采集卡通过各种外部总线(如并口、USB)与计算机相连,通常配备专门的分析采集软件,可满足将DAQ系统带入工作现场的需要。
四实验内容
完成以下的练习,生成一个NI—DAQmx任务,可以一边采集电压值,一边在波形图上绘制图形。
在NI—DAQmx中,任务是一个或多个通道,计时、触发和其他应用于该任务属性的集合。
从概念上讲,任务代表想执行的测量或产生的功能。
按以下步骤创建并设定一个从DAQ设备中读取电压值的任务。
1、创建一个NI—DAQmx任务
(1)打开一个VI
(2)在框图程序中选择Function→Input→DAQAsistant,并将其放置在程序框图中。
启动DAQ助手,系统会出现“CreateNew”对话框,如对话框
(一)所示。
对话框
(一)
对话框
(二)
对话框(三)
(3)单击AnalogInput以显示AnalogInput,如对话框
(二)所示。
(4)选择Voltage以创建一个电压模拟输入任务。
如对话框(三)所示,列表显示了设备中所有已经安装的通道。
列出的通道数取决于DAQ设备中的通道个数
(5)选中连接信号的物理通道,如ai(),然后单击【Finish】按钮。
助手DAQ会打开一个新窗口(如图8-6)所示,显示用于设定通道的选项,进行设定以完成任务。
(6)在Settings标签中的InputRange区域,输入10为最大值,–10为最小值。
(7)在TaskTiming标签中选择AcquireNSamples.
(8)在SamplesToRead文本框中输入1000。
2、测试任务
按照以下步聚对所设置的任务进行测试,以保证通道设定正确。
(1)单击左上角的Test键,出现“AnalogInputTestPanel”对话框。
(2)单击一次或两次【Start】按钮,以确认正在采集数据,然后单