虚拟仪器实验报告 - 图文

更新时间:2023-11-21 22:15:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

虚拟仪器

实 验 报 告

姓名: 邱发生 班级: 测仪093 学号: 5801209094

虚拟仪器实验室

2012.11

实验一 熟悉虚拟仪器软件设计环境

一、实验目标

1. 理解LabView编程结构的基本概念

2. 掌握LabView中循环结构和移位寄存器的基本使用方法 3. 掌握LabView中公式节点的使用方法

二、实验设备

计算机若干台,LabVIEW虚拟仪器平台 1套,打印机 1台。

三、实验要求和内容

LabView中的结构中的For和While相当于别的语言中的各种循环语句,而顺序结构主要为了方便于进行和时间相关的编程。本单元基本要求为循序渐进地学习和调试结构相关的内容,重点在于掌握LabView中进行循环和时间相关编程的方法。

1. 使用For循环产生100个随机数。在随机数产生的同时判定当前随机数的最大值和最小值。有时称其为“流动的”最大值和最小值。在前面板上显示流动最大值、最小值和当前的随机数。循环中一定要包含Time Delay Express VI以便用户可以观看值随着For循环的运行而更新。

2. 构建VI,每秒显示一个0到1之间的随机数。同时,计算并显示产生的最后四个随机数的平均值。只有产生4个数以后才显示平均值,否则显示0。每次随机数大于0.5时,使用Beep.vi产生蜂鸣声。

3. 创建前面板有3个圆LED的VI。运行程序时,第一个LED打开并保持打开状态。1秒钟以后,第二个LED打开并保持打开状态;再过2秒钟,第三个LED打开并保持打开状态。所有LED都保持打开状态3秒钟,然后程序结束。

四、 实验步骤和实验结果

题目一 实验步骤:

步骤一:在前面板上选择三个数值显示控件,并分别将名称改为随机数,最大值和最小

值。

步骤二:在框图的结构中选择For loop控件,在循环次数处填100次,并在其中放置一个Time Delay延迟时钟,将延迟时间设置为1秒。

步骤三:在框图的比较中选择两个Max & Min控件,把它们和随机数,最大值和最小值一起放置在For loop控件中。

步骤四:在For loop控件上添加两个移位寄存器。在每一个移位寄存器上创建数值常量控件,在数值常量控件上分别填上零和一,然后再将其和Max & Min控件相连并分别显示最大值和最小值。将随机数加入到循环中,将剩余的控件按要求连接起来。 步骤五:运行。 实验结果

题目二 实验步骤

步骤一:在前面板上选择五个个数值显示控件和一个停止按钮,并将数值显示控件的名称分别改为随机数、随机数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. 掌握簇的创建和使用

二、实验设备

安装有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图形指示器。坐标轴的刻度要求与实际情况一致。

3. 创建VI,包含一个由6个按钮组成的簇,这些按钮标签分别是Option1到Option6。当VI执行时,VI将等待按钮之一被按下。当按一个按钮时,使用Display Message To User Express VI指出所选择的选项。重复以上过程直到按下Stop按钮。确保加入Time Delay Express VI使用户有时间按按钮。

四、 实验步骤和实验结果

题一:计算两个输入向量A和B内积,要求程序能够判断两个向量的元素个数是否相等,相等则计算内积,否则利用beep.vi报警并且弹出对话框提示。首先需要写出N个点中每个点x坐标的计算公式,然后利用多态性简化程序的编制(既把二项式的计算做成子VI,当输入单个值时输出单个值,输入数组时也输出数组。结果如图:

题二:计算并绘制二阶多项式y = Ax2 + Bx + C,使用前面板控件输入点数N,计算x0到xN-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)自功率谱

随机信号的自功率谱密度Sx(?)与自相关函数Rx(τ)是一傅立叶变换对,即

Sx(?) =????Rx(?)e?j2?ftd?

Rx(τ

)=????Sx(f)ej2?ftd?

自相关函数和自功率谱函数分别在时间域和频率域描述了一个信号自身波形不同时刻的相关性(或相似程度),揭示了信号波形的结构特性,通过自相关和自功率谱分析我们可以发现信号中许多有规律的东西。为工程应用提供了重要信息,特别是对于在噪声背景下提取有用信息,更显示了它的实际应用价值。

三. 实验仪器和设备

计算机若干台,labVIEW虚拟仪器平台 1套.

四. 实验步骤及内容

1. 打开labVIEW中的\自谱和自相关分析\实验脚本,进行信号自谱和自相关分析实验。 2. 分别选择labVIEW自谱和自相关分析实验中的信号通道一和通道二的正弦和白噪声按钮,产生正弦和白噪声信号,然后点击多通道信号发生器上的\合成\按钮,产生迭加白噪声的正弦信号,分析和观察上述信号进行自谱和自相关分析后的结果。 3. 同样方式产生其他类型的信号,观察分析结果。

4. 点击窗函数通道的\矩形窗\、\汗宁窗\、\哈宁窗\、\三角窗\、“指数窗” 按钮以及“观察间隔”和“样本数”等按钮,分析和观察信号加窗以后的时域波形与自谱和自相关分析后的变化。

5. 调整滤波器类型及其参数。分析和观察信号加窗以后的时域波形与自谱和自相关分析后的变化。

实验所附主程序文件名:频率响应函数与数字滤波.vi 实验部分运行结果:

分别选择labVIEW自谱和自相关分析实验中的信号通道一和通道二的正弦和白噪声按钮,产生正弦(三角波/方波)和白噪声信号,然后点击多通道信号发生器上的\合成\按钮,产

生迭加白噪声的正弦信号,分析和观察上述信号进行自谱和自相关分析后的结果。

调整滤波器类型及其参数后:

7. 本程序中的滤波器是什么类型?有哪些输入输出参数?

答:巴特沃斯低通、高通、带通、带阻滤波器。参数有:高端截止频率、低端截止频率、阶次。

8. 解释子VI“modi correlation.vi”的算法以及输入输出参数定义。

答:此函数对labview中的相关函数进行修正,将每个相关值除以N-t。N是labview的相关函数输出数组的长度,t是时移的位置。Rxx in是labview的相关函数输出值,Rxx out 是修正后的相关值,samples是取样数,d是输出相关函数的首尾截去的百分比。n是截短后的取样数。

9. 动态修改信号发生器中的信号类型是如何实现的?采用事件结构可以实现吗?

答:动态修改信号发生器中的信号类型是通过分支结构和下拉列表来实现的,也可采用事件结构实现。

互相关.vi

10. 信号发生器有几个输出,在“合成和分离”按钮的不同状态时,分别为什么? 答:信号发生器有3个输出,分别为合成波形数据、分离波形数据、取样率。 频率响应函数与数字滤波.vi

11. 如何实现动态修改波形显示器的时标?

答:在sfgn.vi中,文件菜单下选vi属性、窗口外观、把自定义改为默认即可。 12. 如何改变波形显示器的曲线外观?同时显示多条曲线可以通过哪些方法实现?

答:波形显示器的曲线外观:单击示波器图例中的输入输出曲线,弹出曲线外观修改。同时显示多条曲线:二维数组、由簇作为元素的一维数组、数值类型元素以及数值类型二维数组组成的簇等方式。

13. 滤波器类型选择用的是什么控件,怎么编辑?

答:滤波器类型选择用的是枚举常量类型;编辑:右键,属性,编辑项进行编辑。 14. FRF函数计算的是什么,输入输出参数定义是什么?

答:计算的是波形信号。输入输出参数:激励信号、响应信号、dt、频率响应幅度、频率响应相位、df。

15. 如何为界面添加装饰性文字和图形?

答:双击界面空白可以添加文字。

实验四:LABVIEW数据文件的存储与回放

一、实验目的

(1)了解并掌握虚拟仪器中常用的数据文件格式和特点。

(2)掌握数据文件操作的基本步骤,学习灵活操作文件中数据的常用技巧和方法。

二、实验设备

1、安装有LabVIEW 7 Express计算机 2、安装有NI-DAQ 7的计算机

3、支持的数据采集设备(DAQ)(以NI公司提供的NI6014数据采集卡为例)。

三、实验任务描述

1、利用LabVIEW编程,设计出若干个子VI,利用它们分别完成不同类型数据的写入。要求程序能够实现单个数据写入还是连续写入的切换功能。

2、设计主程序,主程序运行时首先弹出窗口请求输入数据保存格式,然后根据选择的格式运行不同的分支子程序,分支子程序采用SubPanel子面板的方法动态调用。

3、设计程序保存和读取二维或多维数组,要求保留维数信息。(可使用头信息的方式或采用spreadsheet表单的数据格式保存)

4、仿照第二问的要求设计程序实现二进制数据和文本数据的读取。

四. 实验原理

完成LabVIEW程序,使其具备数据写入与读取功能,并提供选择文件格式的功能,使其能够在二进制和文本两种文件格式间切换。单独的功能可以参考任务书附带的范例。

五. 实验内容:

1). 实现二进制数据和文本数据的读取与写入如图:

保存和读取二维或多维数组,可保留维数信息。如图:

BIN文件的读取与写入子VI:

读取:读以一个数组的形式返回数据从一个字节流的二进制文件。默认情况下,完整配置阅

读8-byte(数据类型DBL)小端字节序的数据。修改的方式是样本数据从文件读取,改变字节顺序和价值的字节大小(正常大小第1、2、4、8)。如果你改变字节大小,也能改变数据类型的表示常数(默认的是DBL),以配合字节大小(1 = I8,2 = I16,4 = I32、8 = DBL)

写入:写以一个数组的形式返回数据到一个字节流的二进制文件。默认情况下,完整配置写8-byte(数据类型DBL)小端字节序的数据。来更改样本数据内容写入文件,改变字节秩序,把各样的数据(默认DBL)改变成一个I8(1-byte),I16(看),或I32(4-byte)使用VIs发现在编程> >数字> >转换的调色板。

TEXT文件读取与写入的子VI:

读取:读到一段文字文件由写以文本文件VI在这是法学,策划了数据。VI读一行分裂时,第一(的时间)柱从相继的数据列和转换数据编号和情节。

写入:写timestamped模拟、数据到一个文本文件在ASCII码格式可以阅读的电子表格软件。

VI打开一个新文件或更改现有的文件。它称子vi获得数据)(模拟.vi产生一种timestamped包含数据数组的收购(数量)组数据,其长度相等(数值的收购的(数量)*点/采集)。

电子表格文件的读取与写入VI:

写入:

读取:

数据记录文件的读取与写入VI

写入:创建一个datalog文件和写一定数量的记录datalog文件。每个记录是一个群集包含一个字符串的时间戳和一大批single-precision数字。

读取:打开datalog文件由写datalog文件的例子VI在这个法学的一条记录,读一次,直到所有的文件被阅读为止。每个记录是一个群集包含一个字符串的时间戳和一大批single-precision数字。

实验五:PCI数据卡采集与USB采集设备的使用

一 实验目的

学习使用LabVIEW配置数据采集卡进行数据采集的方法

二 实验设备

1、安装有LabVIEW 7 Express计算机 2、安装有NI-DAQ 7的计算机

3、支持的数据采集设备(DAQ)(以NI公司提供的NI6014数据采集卡为例)。

三 实验原理

一个DAQ系统通常包括:插入式DAQ卡,传感器,转换器,信号调节以及一套用于获得、处理数据和分析、显示、存储数据的软件。基于计算机的测量系统,一般需要先通过传感器(或变送器)将物理信号转换成电信号(如电压或电流)。在大多数情况下,在信号输入DAQ之前,还必须使用信号调理设备对所测量的信号进行放大和滤波,以提高信号增益和消除噪声干扰。

四 实验内容

完成以下的练习,生成一个NI—DAQmx任务,可以边采集电压值,并在波形图绘制是图形。在NI—DAQmx中,任务是一个或多个通道,计时、触发和其他应用于该任务属性的集合。从概念上讲,任务代表想执行的测量或产生的功能。按以下步骤创建并设定一个从DAQ设备中读取电压值的任务。 1、 创建一个NI—DAQmx任务 2、打开一个VI

3、 在框图程序中选择Function→Input→DAQ Asistant,并将其放置在程序框图中。启 动

DAQ助手,系统会出现“Create New” 对话框,如对话框(一)所示。

对话框(一)

对话框(二)

对话框(三)

4、 单击Analog Input以显示Analog Input,如对话框(二)所示。

5、 选择Voltage以创建一个电压模拟输入任务。如对话框(三)所示,列表显示了设备中所有已经安装的通道。列出的通道数取决于DAQ设备中的通道个数

6、 选中连接信号的物理通道,如ai(), 然后单击【Finish】按钮。助手DAQ会打开一个新窗口(如图8-6)所示,显示用于设定通道的选项,进行设定以完成任务。 7、 在Settings标签中的Input Range区域,输入10为最大值,–10为最小值。 8、 在Task Timing标签中选择Acquire N Samples. 9、 在Samples To Read文本框中输入1000。

本文来源:https://www.bwwdw.com/article/bkrv.html

Top