虚拟仪器实验讲义_第1页
虚拟仪器实验讲义_第2页
虚拟仪器实验讲义_第3页
虚拟仪器实验讲义_第4页
虚拟仪器实验讲义_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1、虚拟仪器原理实验讲义虚拟仪器原理实验讲义(物理学院电科07级用)物理科学与技术学院电子信息教研中心2010-01-08实验1:基本使用方法与子程序实验目的:1. 掌握LabVIEW软件的基本使用方法2. 掌握LV的子程序建立和使用的基本方法实验要求:1. 能够建立简单的LV程序和子程序,并编辑图标,设置连接器端子类型2. 能够使用LV的帮助系统3. 能够修改控件与指示器的外观4. 能够使用LV的调试工具5.能够调用子程序6.能够查看LV程序调用层次实验内容与步骤:1. 构建VI,使用圆按钮控件控制方形灯指示器,随时按下按钮将其打开。2. 创建比较两个数字控件输入的VI,当两个值相等时打开LED

2、。在Comparison选项板中选择要使用的函数。 3. 设计VI,用于判断浮点型数字控件中输入的值是否为整数。在前面板放置一个LED,当输入为整数时点亮。4. a. 使用Simulated Signal Express VI产生两个正弦波,并显示在前面板相应的曲线图中; b使用前面板上的数字控件能够任意调整每个正弦波的幅值; c使用Comparison express VI比较两个信号,如果两个信号相等则点亮LED.d保存VI到D盘,命名为Compare Signals.vi。5. 构建VI,完成下列任务:a从前面板上去两个浮点数作为输入:X和Y;b从X中减去Y并在前面板上显示结果;c用X除

3、以Y并在前面板上显示结果;d.如果输入Y=0,前面板LED指示灯指示被0除。e将vi命名为Subtract and Divide,并保存到D盘。 6.构建VI,使用垂直滑动条控件作为输入,仪表指示器用于输出显示。运行VI时,由垂直滑动条提供的任何输入都将反映在仪表指示器上。随机数函数(Random Number)将“噪声”加入到输入中,因此仪表输出与输入不完全相同。在Run Contimuously模式下运行VI并改变滑动条输入。7.构建VI,该VI具有数字控件用于输入数字x,使用“加”和“乘”函数计算并用数字指示器显示输出结果。8.通过使用VI模板和修改Express VI创建一个程序,要求

4、产生125Hz的三角波和加性噪声。9.使用数字控件构造VI,用于猜测一个1到5之间的整数。在该范围内产生一个随机数,显示在数字指示器中,并与输入比较。如果数字相等点亮LED,并用One Button Dialog函数显示一条消息宣布猜测成功。如果数字不相等,显示一条消息提醒用户所猜的数字不正确。命名为Guessing Game。10.构建VI接受以英尺为单位的输入值,把该值转换为米和英里为单位的值,分别显示在前面板上各自的指示器中。注意1英里=5280英尺,1米=3.281英尺。使用VI,证实10000英尺等于1.89394英里,即3047.85米。保存到D盘,命名为Conver.vi。11.

5、设计VI计算两个数字输入的和与差,两个输入分别为x和y。根据两输入的和与差的比较结果(大于、等于或小于),分别点亮三个LED中的一个。验证如下三种情况:1.x=4和y=12.x=3和y=03.x=2和y=-3保存到D盘,命名为Comparison。12.构建VI,接收5个数字输入,将这些数字相加并在仪表上显示结果。如果输入的总和小于8.0,则圆形指示灯亮。这个灯为绿色,仪表刻度为黄色。13. 创建前面板,包括8个LED指示器和一个8位无符号整形数的垂直滑动条控件,显示滑动条的数字指示器,确保LED分布均匀并底部对齐。本题用8个LED来表示滑动条中数字的二进制:如,如果滑动条设置为数字10,对应

6、的二进制数为 00001010=1*(23)+1*(21),第1个和第3个LED荧光点亮;用数字131再检查上述算法,第0,第1和第7个LED应该点亮,因为131的二进制数为 10000011=1*(27)+1*(20)+1*(21)。14.构建VI,产生两个随机数(0到1之间)并在仪表上显示两个随机数。仪表上分别设置标签“Random number1”和Random number2”使其中一个仪表呈蓝色而另一个仪表呈红色。当红色仪表上随机数值比蓝色仪表随机数值大时,用一个方形LED显示绿色;否则LED显示黑色。运行VI几次并观察结果。在框图上选择Highlight Execution并观察数

7、据流过代码的过程。15.本题将构建停车信号灯。创建从0到2变化的刻度控件,该控件具有3个LED显示:绿色黄色和红色。当在刻度盘0位置时,时VI打开绿色LED;当在刻度盘1位置时,变为黄色;当在刻度盘2位置时,变为红色。16. 参考教材中的使用步骤,按照课堂例题创建程序:给定2点坐标,计算2点长度,计算公式:。将所生成程序设置为子程序,建立图标和连接器,保存在磁盘中。17. 建立程序:给出3点A、B、C,调用所生成子程序,求折线AB+BC长度。使用查看层次命令观察程序的调用层次。18创建VI计算两点(X1,Y1)和(X2,Y2)之间的斜率。用两种方法将该VI创建成子VI保存到D盘,命名为SubS

8、lope1和SubSlope2。19.创建名为Sign.vi的VI,该VI有一个浮点型的输入。如果输入是正数,一个布尔型的输出为真;如果输入是负数,另一个布尔型的输出为真。给Sign VI制作图标,配置连接器窗格,使之成为能被其他VI使用的子VI。再加入描述信息,Context Help将会显示以下信息:“Test if an input is positive or negative。”点击File下VI Properties选择Documentation来键入信息。20打开一个已有的VI,将其修改并使其成为一个子VI。右击图标会发现连接器窗格里输入和输出的数目不正确,端子美元正确地连接到连

9、接器。依照以下步骤修改:(1)右击图标窗格选择Show Connector。(2)再次右击图标窗格并选择Disconnect All Terminals。(3)再次右击图标窗格,在Patterns菜单中选择相应的连接器样式。(4)左边的端子指定给相应控件,右边的端子指定给指示器。(5)双击图标打开Icon Editor,为VI绘制图标。(6)把Find Greastest 作为子VI放置在新的VI上,以验证连接器窗格已经正确设置。添加控件和指示器,然后以不同的输入反复运行程序数次,输出应该总是等于输入到子VI里最大的数值。21. 构建VI,使用LabVIEW固有函数计算用户输入3个数的平均值。

10、在程序中,首先将3个数求和,接着再除以3.得出的平均值显示在前面板上。另外,再添加一段代码,将平均值乘以【0,1】范围内的随机数。将计算平均值的一组代码用两种方法创建成子VI,并编辑图标以便表示子VI的功能,即计算3个数的平均值。22. 打开Check Limit.vi,产生正弦波并将其画在波形图中。将正弦波的值与数字控件的值相比较,估计正弦波是否超过设置的极限。该VI也用到了下一章将要学的的While循环。编辑连接器图标,使其仅拥有必需数量的端子,把它们连接到适当的控件和指示器,以便于当该VI将来用做子VI时,可以访问到所有前面板对象。此外,改变VI,使得VI运行时隐藏工具条、菜单条和滚动条

11、。提示:从File下VI Properties进入对话框并选择Window Appearance(窗口外观),然后选择Customize。23. 创建子VI,将4个输入多路转换到单个输出。子VI应具有4个浮点数字控件(标注为In1到In4),一个浮点数指示器(标注为Out),一个8位无符号整数控件(标注为Select)。如果Select=1,那么Out=In1;如果Select=2,那么Out=In2;如果Select=3,那么Out=In3;如果Select=4,那么Out=In4。24. 创建VI,执行Function下Application Control选项板中的Quite LabVI

12、EW VI。打开一个新VI并把Quite LabVIEW VI放置到框图中。选择下VI Properties编辑VI属性,选择Execution类。勾选Run when opened旁的复选框。把该VI保存到D盘。关闭该VI然后再打开,看看发生了什么?试着领会以下如何编辑该VI。(提示:用子VI)。25. 创建VI求出下列二次方程的根x,这里常量a,b和c是实数。一般来说,二次方程的根不是两个实数就是两个复数。而对于这个问题,VI只需要找出正确的根。二次方程的根由下面给出的关系得到。和;创建VI,根据上面的关系计算出根x1和x2。前面板要求:2个数值输出用来显示2个根,3个输入用来输入常量a,

13、b和c。框图建立好之后,再创建图标和配置连接端子使该VI变成子VI。将该VI放置在新建的VI之上,连接端子到控件和指示器,验证前面的工作是否正确。课后设计:1. 运用Falling Edge.vi,判断脉宽调制VI中输出信号何时出现下降沿。本题创建一个VI称为Rising Edge.vi,每当一个完整的输出信号周期完成后,产生一个上升沿,在下一时钟周期到来时,该VI的布尔输出返回真。与Falling Edge VI不同,该VI只有两个输入:Period和Clock。因为信号占空比的变化只改变下降沿的位置而不改变上升沿的位置,因此VI中不必输入Duty Cycle。保存到D盘命名为Rising

14、Edge.vi。2. 本设计题中创建一个模拟售货机的VI。售货机销售三种商品:1. 糖块0.80;2. 薯片每包0.60;3. 口香糖0.40。售货机只接受5美元纸币、1美元纸币、25美分、10美分和5美分。前面板的输入应该包括一个数字控件输入用户投入到售货机里的钱数,及三个整形数字控件用于指定用户想从售货机购买的每一种商品的数量。VI需要检查输入的钱数是否大于或等于所选择购买的总金额。如果钱不够,使用Display Message to User Express VI显示消息提醒消费者投入更多的钱。然后,点亮前面板上的LED指示器并在数字指示器中显示所需要的钱数。如果用户投入自动售货机的钱数

15、过多,则要输出找回用户的钱数,显示自动售货机分配的1美元、25美分、10美分和5美分每种币值的个数。3. 构建VI,产生一个-10到10之间的随机数。在VI的前面板上用指示器来显示随机数的值,然后点亮随机数所在范围对应的LED。用一个LED显示负的随机数,一个LED显示在0到4范围内的随机数,一个LED显示大于等于5的随机数。改变LED的属性使其点亮时为黄色,关闭时为暗黄色。对指示器使用描述性的标签,用Align Objects和Distribute Objects菜单中的工具在框图和前面板中均匀地分布对象。4. 创建子VI计算年龄,出生日期和当前日期作为输入。用3个独立的整型控件来输入日期:

16、一个表示日,一个表示月,一个表示年。月份用阿拉伯数字表示。例如,1表示一月,2表示二月,等等。为VI创建图标,将输入和输出连接到图标的端子上。完成后,在VI Properties里添加说明信息,键入以下文字到说明信息:“Finds age in years of a person given the current date and the persons birth date as input.”5. 创建子VI计算人的体重指标(BMI,Body Mass Index)。体重指标时肥胖程度的国际标准。子VI由两个数值输入:体重和身高,单位分别是磅和英寸。用下面的公司计算体重指标,W表示体重单

17、位是磅,H表示身高单位是英寸。在数值指示器上显示得到的BMI。根据表1给体重分类并输出相应的文字信息。还应该由一个“warning”的布尔型输出表示任何不健康的输入,输出为True表示不健康(例如:体重过轻、超重或肥胖)。 表1 BMI分类 <18.5 过轻 18.524.9 健康 2529.9 超重 >=30 肥胖实验结果:实现所要求的程序并可以正确执行能够独立完成基本的操作实验2:循环结构实验目的:掌握LV的FOR循环和WHILE循环程序建立和使用的基本方法实验要求:1.能够正确建立基本的FOR循环和WHILE循环程序2.计算调和级数S(n) 1+2+3+ + (n-1) n

18、S(n-1) n 3. 用两分法求一元二次方程的根4.能够正确理解和使用结构框上的输入输出端子5.能够正确使用移位寄存器实验内容与步骤:1. 用两种For循环方法计算99以内所有偶数的和。2. 使用For循环产生100个随机数。在随机数产生的同时判定当前随机数的最大值和最小值。有时称其为“移动的”最大值和最小值。在前面板上显示移动最大值、最小值和当前的随机数。循环中一定要包含Time Delay Express VI,以便用户可以随着For循环的运行而看清数值的更新。3. 用两种While循环的方法计算99以内所有偶数的和。4. 创建VI,使用每秒循环100次的While循环,以计算在前面板上

19、按下按钮的时间占总运行时间的百分比。循环连续运行直到用户按下停止按钮位置。前面板上应该有指示器来显示VI运行经历的时间。在每次循环时更新指示器。当停止按钮按下后,另一个指示器显示Button按钮按下的时间占总运行时间的比率。实验结果:实现所要求的程序并可以正确执行能够独立完成基本的操作实验3:条件分支、顺序结构和公式节点实验目的:1. 掌握LV的CASE结构和顺序结构的建立与使用的基本方法2. 掌握LV的Local Varial和Global Variant的建立与使用的基本方法 3. 掌握公式节点的使用实验要求:1. 能够建立LV的CASE结构和顺序结构的程序2. 能够正确设置各个条件帧3.

20、 能够正确使用输出端子4. 能够使用顺序结构中的局部变量5. 能够公式节点对复杂公式进行计算实验过程与步骤:1.构建VI,每秒显示一个0到1之间的随机数。与此同时,计算并显示最后产生的四个随机数的平均值。只有产生4各数后才显示平均值,否则显示0.每次随机数大于0.5时,使用Beep.vi产生蜂鸣声。2. 用Case结构的两种判断条件的方法计算,当输出y的值;当x<0,弹出消息对话框“x<0,无结果”同时红灯亮。3. 创建VI,在前面板上放置3个圆形LED。程序运行时,第一个LED打开并保持打开状态。1秒以后,第二个LED打开并保持打开状态;再过2秒,第三个LED打开并保持打开状态。

21、所有LED都保持打开状态3秒,然后程序结束。4. 创建一个计时测试程序,比较公式节点和本地LabVIEW数学函数的平均执行时间。此程序需要一个For循环、一个单层顺序或叠层顺序结构以及一个Case结构。要求For循环运行计时测试N次,然后使用Statistics Express VI对结果计算平均值。要求顺序结构在代码运行之前和代码运行之后对Tick Count进行采样。Case结构要判定用户是要执行公式节点还是要执行LabVIEW固有数学函数。用下面的公式来测试时间: ,这里X表示输入,Y表示输出。对每个分支运行计时测试程序。哪种方法执行最快?哪种方法最容易编程?别人要看程序时,哪种方法更容

22、易理解?5. 用一个布尔开关同时控制两个While循环。6. 利用本地变量给一个控件赋值,并从一个指示器中读出数据。7. 利用全局变量在VI之间传递数据。第1个VI产生正弦波送至全局变量,第2个VI从全局变量读取波形数据并在Waveform Graph中显示出来。课后设计:1. 构建VI,用下面的公式计算最大心率: 性别 最大心率 男 214-Age*0.8 女 209-Age*0.7在前面板上放置数值控件来输入年龄,放置滑动开关来输入性别。数值指示器显示最大心率。使用公式节点计算心率公式。2. 创建VI,计算任意正整数n的超级阶乘,超级阶乘等于的值。如果 用户输入的值不是正数,则显示信息提醒

23、用户输入不正确,请重新输入。提示:本题要用到One Button Dialog函数和Power of X子VI。3. 构建VI,使用公式节点来计算下面的公司:输入变量是a和b,输出是y1和y2。4. 使用公式节点来计算人的体重指标(BMI,Body Mass Index)。体重指标时肥胖程度的国际标准。子VI由两个数值输入:体重和身高,单位分别是磅和英寸。用下面的公司计算体重指标,W表示体重单位是磅,H表示身高单位是英寸。在数值指示器上显示得到的BMI。根据表1给体重分类并输出相应的文字信息。还应该由一个“warning”的布尔型输出表示任何不健康的输入,输出为True表示不健康(例如:体重过

24、轻、超重或肥胖)。 表1 BMI分类 <18.5 过轻 18.524.9 健康 2529.9 超重 >=30 肥胖实验结果:实现所要求的程序并可以正确执行能够独立完成基本的操作实验4:数组和簇实验目的:掌握LV的数组建立和使用的基本方法实验要求:1. 能够建立、使用数组和簇2. 能够使用多种内部数组和簇函数3. 能够理解并应用多态性的概念实验内容与步骤:1.用前面板创建数组和循环两种方法创建一个5×4的数组。2.创建VI,计算两个n维向量的标量积。将使用数组和数学函数得到的计算结果和Dot Product.vi(Function模板)的计算结果相比较,检查计算程序。V1&

25、#183;V2=v1(0)v2(0)+v1(1)v2(1)+v1(n)v2(n)3.VI,计算两个三维向量的向量积。V1×V2=4.创建子VI对两个输入矩阵A和B执行矩阵乘。矩阵A是n×m矩阵,而矩阵B是m×p矩阵。产生的矩阵C是n×p矩阵,这里C=AB。将使用数组和数学函数得到的计算结果与A×B.vi的结果做比较,仔细检查计算程序。5使用Demo Temp.vi创建VI,读取20个温度测量值,将每一个温度测量值与测量时间(包括秒)和日期绑定在一起。加入Time Delay Express VI,使循环以每秒4次的速度显示。运行程序并查看输出数

26、组中的时间戳,确认每秒有4个采样。6VI,该VI产生500个随机数并绘制在波形图指示器上。计算随机数的平均值并在前面板上显示结果。使用Statistics Express VI计算随机数的平均值。7VI,该VI计算并绘制二阶多项式。VI应使用前面板控件来输入系数A,B和C,并使用前面板控件输入点数N,计算x0到xN-1区间上的多项式。在波形图上绘制y-x图形指示器。8.VI,包含一个由6个旋钮组成的簇,这些旋钮分别是Option1到Option6。当执行时,VI将等待用户按下其中一个按钮。当按下一个按钮时,使用Display Message To User Express VI指出所选择的选项

27、。重复以上过程直到按下Stop按钮。确保加入Time Delay Express VI以使用户有时间按按钮。提示1:这个程序需要一个具有用户菜单的简化的状态机体系结构。LabVIEW中典型的状态机由一个While循环、一个Case结构和一个移位寄存器组成。状态机的每一个状态都是Case结构中的独立分支。把在某种状态下应该执行的VI和其他代码放到正确的分支中。移位寄存器存储循环的下一次迭代将要执行的状态。在典型的状态机中,有时当前所在的状态结果要控制将要进入的下一个状态,因此需要使用移位寄存器。在上述程序中,任意两个状态都是不相关的,所以移位寄存器是可选的。提示2:可以使用簇中的自锁式布尔按钮来

28、构建状态机应用程序菜单。Cluster to Array函数把布尔簇转换成布尔数组,簇中的每个按钮代表数组中的一个元素。Search 1D Array函数从Cluster to Array函数创建的一维布尔型数组中搜索TURE值。若数组中的任何元素的值为TRUE,则表示用户单击了簇中的一个按钮。Search 1D Array函数返回其在数组中找到的第一个值为TRUE的项的索引值并将其传送到Case结构的选择器端子。如果没有按下按钮,Search 1D Array函数返回索引值-1,执行空操作的-1分支。While循环将重复检查布尔簇控件的状态,直到按下Stop按钮为止。课后设计:1. 构建VI

29、,使之能够从输入数组中搜索到指定的数值。如果找到指定的值,在VI中就点亮LED,并显示出指定值在数组中的相应顺序。2. 设计VI,根据输入的3个考试成绩数组,计算得到一个簇数组包括平均成绩、成绩登记和班级排名。每次的考试成绩对应一个数组,平均成绩是这样定义的:第一次考试占30%,第二次考试占30%,期末考试占40%。成绩等级按照平均成绩,以下表所列出的标准来确定。提示:在确定成绩登记的时候使用Case结构将会更方便。平均成绩标准 平均成绩成绩等级0%-59%F60%-69%D70%-79%C80%-89%B90%-100%A给学生排名,成绩最高的排名第1,最差的排名等于班级里的学生人数。可以在

30、循环中使用Sort 1D Array和Search 1D Array函数来建立学生排名。将所有的信息(平均成绩、成绩等级和班级排名)打包成簇数组,每个簇包含一个学生的所有信息。在前面板上显示这个簇数组。用不同的输入值测试VI的功能。当簇数组表示一个班而不是少数学生成绩的时候,簇数组就会变得非常庞大。由于前面板预留空间一次只能显示输出数组的一个元素,因此就要使用索引依次显示簇数组里不同的元素。3. 构建VI,根据输入数值n得到一个包含n个斐波那契数的数组,从F1开始。斐波那契数是一个数列,表示成Fn,定义如下:,其中。下表列出了前面一些n值所对应Fn的值(所有的输入都是正整数)。前10个斐波那契

31、数nFn1121324355687138219341055在决定采用哪种循环之前,需要认真考虑For循环和While循环的不同之处。While循环至少执行一次,因为VI是在每次循环结束的时候检测条件端子。而For循环并不这样处理:如果计数端子输入的值小于1,则For循环就不会执行。 在初始化输出数组的时候牢记这一点。仔细考虑如何构建VI,才能使输出的数组准确地对应n=1,n=2,以及根据公式计算得到的其他值。实验结果:实现所要求的程序并可以正确执行能够独立完成基本的操作实验5:图形图表与文件操作实验目的:1. 掌握LV的图形定制方法及应用2. 掌握LV的图表定制方法及应用3. 掌握LV的文件中

32、使用字符串操作数据的基本方法实验要求:1. 学会用图形表示数据2. 能够辨别图表及图形的异同3. 能够用三种图表表示数据4. 能够构造字符串控件和指示器5. 能够对数字和字符串进行相互转换6. 能够使用文件I/O VI从磁盘文件中读出和写入数据7. 能够将数据以与许多通用表单应用相兼容的格式写入文件实验过程与步骤:1. 构建VI,在图形中显示Activity目录下Digital Thermometer.vi中的温度值。每次执行VI之前要清除图形。2. 构建VI,绘制椭圆,r、A和B输入参数。3. 构建VI,绘制sinx函数(x=0n)及积分。N的取值应该从前面板输入。4. 构建VI,用坐标图绘

33、制圆。5. 打开一个空白VI并将Simulate Signal Express VI置入框图中。配置Express VI以生成50Hz的正弦波。单击Ok按钮退出Express VI配置页面。在Sine端子上弹出快捷菜单并选择CreateGraph Indicator,运行该VI6. 人口增长趋势预测y=rx(1-x):(1)1<r<3,人口将达到稳定;(2)r3, 人口稳态值在两个值之间振荡;(3)r>4,结果无规律;如:r4.1,超过最大值1.0,随后变为0。7. 用波形图显示一次拥有30个采样点的温度测量结果。8. 设计程序显示电压测量结果。电压采样从10ms开始,每隔5

34、ms采一个点,共采集30个点;电压在采样前还经过一个信号处理电路的10倍衰减。要求程序的显示能够反映出实际的采样时间及电压值。9. 设计程序,测量一个信号的电压值并进行滤波处理(以前3点的平均值作为滤波方法),要求共测量30个点不仅要显示出实际的信号波形,还要同时显示滤波后的信号波形。10. 在上题的基础上,要求显示每个点的采样时间,开始测量时间定为0ms,采样间隔为5ms。11. 在一次实验中,进行了2个量的电压采集,但在相同的时间内,一个采集了20点的数据,另一个采集了40点的数据。用波形图显示实验测量结果。12. 在上题中, 假设两个测量信号都有相同的起始测量时间X0及相同的测量间隔De

35、ltax,要求X轴刻度能显示出实际的开始测量时间X0及相应的时间标尺DeltaX。13. 用一个波形图来显示两次测量的结果。在这两次测量中,所得的数据个数,开始测量的时间X0及时间标度DeltaX均不相同。14.构造一个计算并在条形图表中显示棒球平均得分数的VI,输入击中数H=66,出局数K=43,退场数O=98,截球失误数E=10。15. 用波形图表实时监测一个温度测量输出。16. 用波形图表来显示两个测量结果的波形输出。17. 构建VI,用条形图标显示Activity目录下Digital Thermometer.vi中的温度值。计算并显示运行中的平均温度值。18. 将数字和字符串串接并格式

36、化为单个输出字符串;(1)2个String控件,1个Numeric控件和1个String指示器(2)添加String/Format Into String(3)用Positioning工具扩大,使左下角出现2个输入19. 扫描String并将有效数字符号:(1)添加1个String控件、1个Numeric指示器;(2)在框图上添加Scan from String函数;(3)扫描String格式显示为f;20. 在字符串中搜索表达式(1)添加1个String控件;(2)在框图中添加Match Pattern函数和Scan from String函数;(3)寻找与 “,”号相匹配的字符串;21.

37、把数据写到文件中(Write Characters To File):(1)添加1个Numeric控件(采集温度值数目)和1个波形图表;(2)显示Digital Display和Graph Palette并隐藏Plot Legend;(3)调整Y轴的刻度区间最大值为90;(4)添加Digital Thermometer.vi(activity下)并将其写入文件并显示在波形图表中。22. 从文件中读取数据(Read Characters From File):(1)添加1个String指示器,1个波形图;(2)在框图中添加Read Characters From File VI,从文件中读取数据

38、并将信息用String输出;(若无路径,则会提示输入文件名称);(3)添加Extract Numbers VI(ExamplesGeneralStrings.llb),用于读取含有以逗号等非数字字符分割的数字的ASCII字符串,并转换为Array;23.写入表单文件(Write To Speadsheet File.VI):(1) 添加1个波形图;(2)添加2个常数“Cycles”和“sampling frequency”;(3) Function AnalyzeSignal ProcessingSignal GenerationSquare Wave 和Sine Wave;(4) 添加Bui

39、ld Array和Write To Speadsheet File.VI;(5)添加布尔常数;课后设计:1. 构建VI,对50个随机的生成点归一化处理。前面板添加波形图表和波形图。在波形图表中,当随机点开始生成时就可以显示出来。为了改善波形图表的可视化效果,在50ms的循环内部引入延迟。将控件置入前面板以便每次VI运行时能够调整波形的偏移量和坐标刻度。当所有的50个点都生成后,在这个图形中进行必要的坐标轴调整和图形移位,使其位于x轴的中心,峰-峰幅度值为1。在单个波形图中同时绘制原始波形以及归一化波形。使光标图注和图形选项板在图形中可见。创建两个带有标记的光标,将其中一个锁定到原始波形,而另一

40、个锁定到归一化波形。运行VI,使用光标和缩放工具来验证用户VI能够产生预期的输出。作为一个测试案例,将偏移量设置为0,坐标刻度设置为2.然后确保原始信号在02之间变化,而归一化信号在-11之间变化。2. 采用Sine Wave PtByPt.vi连续地生成正弦波,直到用户在前面板中按下停止按钮。允许用户使用前面板中的数字控件控制正弦波的频率、相位和幅度。正弦波应该显示在波形图表中,并且随着每个新数据点的生成而更新。当用户按下停止按钮时,使用Collector Express VI在波形图中显示最后生成的1000个点。3. 创建一个VI,产生20个0100之间的随机整数并将其绘制在波形图中。显示

41、光标图注并使用光标来确定所生成数值中最小值和最大值的坐标。使用Array Max & Min函数在前面板中显示最大值和最小值的坐标。允许该VI,比较通过Array Max & Min函数输出的值与用户使用光标找到的值。验证它们是相等的。 4. 创建一个VI,将含有时间值的数组和数字输入添加到表单文件的末尾,其路径由用户指明。时间值应该以秒为单位进行记录,与VI开始运行的时间有关。该VI应该连续运行,每次当用户按下前面板中的Save按钮时,将最近的输入值保存到表单文件中。当按下停止按钮时停止运行VI。5. 创建一个VI,使用密码对单词进行编码或解码。为了使用这个密码对单词编码,首

42、先将单词分解为两个子字符串一个带有原始单词的前一半,一个包含另一半。如果单词中字母的个数为奇数,则对其进行分解以使第一个子字符串含有的字母比第二个子字符串含有的字母多一个。通过将单词的第一半合并到单词第二半的末尾来创建编码单词,将原始单词的第二个字母插入到这两半部分之间。例如,单词“gravity”应该编码为“ityrgrav”,单词“master”应该编码为“teramas”。将字符串控件放入前面板,一个Boolean开关允许用户选择是否对输入进行解码或编码。在字符串指示器中显示输出。实验结果:实现所要求的程序并可以正确执行能够独立完成基本的操作实验6:数学分析与信号处理实验目的:1. 掌握

43、LV的数学分析的应用:线性代数、概率统计、最优化、曲线拟合、微积分等。2. 掌握LV的数字信号处理:信号产生、时域分析、频域分析、滤波器、窗函数。实验要求:1. 能够构造字符串控件和指示器2. 能够对数字和字符串进行相互转换3. 能够使用文件I/O VI从磁盘文件中读出和写入数据4. 能够将数据以与许多通用表单应用相兼容的格式写入文件实验内容与步骤:1. 扩展公式节点Eval Formula Node.Vi的使用:(1)在前面板添加数组输入变量a、b和c及其对应的值;(2)在前面板添加数组输入变量d和e;(3)在前面板输入公式d=a+b*c和e=a*b-c;计算d和e的值并在前面板输出。2.

44、使用Eval 节点计算函数的值。3.一元函数积分。计算在区间【0,10】上的积分。(程序自动将区间分为200份,201个计算点)4. 由Eval 产生数据,所用公式为并叠加一个随机数;进行多项式拟合。(提示:使用Eval y=f(x).vi节点(1D and 2D Evaluation子模板)。5. 两个矩阵相乘A×B:6. 生产中的最优化问题:x1表示P产品的数量;x2表示Q产品的数量。一个工厂生产两种产品P和Q。每售出一件P可得利润50元,每售出一件可得利润140元。由于仓库容量有限,P与Q的总数量不能超过120件。P的成本为15元/件,Q的成本为30元/件。工厂所能用来购买原料

45、的资金最多为1500元。每生产一件产品需要付给工人的报酬为,生产P报酬为15元,生产Q报酬为45元。需支付的工人报酬总和应小于1800元。 根据题意得出约束方程:;目标函数为 用“解线性规划方程”节点: 端口C:目标函数的系数; 端口M:解约束方程的系数; 端口B:向量B是约束方程右端的值。 此节点要求约束方程写为“表达式常数”的形式;若“表达式常数”,可在不等式两端同乘-1。6. 零点求解:计算函数sin(x)在区间【1,4】的一个零点,即x=值。提示:因为只有一个零点,故使用节点Newton Raphson Zero Finder.vi:7. 产生Sinc信号。生成公式为。(提示:使用节点Sinc Pattern.vi)8. 尖峰捕获:捕捉到信号中振幅超过某一门限值的尖峰。此功能通过修改,可以实现信号的毛刺检测。(提示:使用Peak Detector.vi节点)9. 计算信号的快速傅立叶变换(意义:在频域中观察信号特征)。提示:sin100t信号,使用Real FFT.vi节点(输入为实数数组,输出为复数

温馨提示

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

最新文档

评论

0/150

提交评论