labview虚拟仪器课程实训报告Word文档下载推荐.docx
《labview虚拟仪器课程实训报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《labview虚拟仪器课程实训报告Word文档下载推荐.docx(22页珍藏版)》请在冰点文库上搜索。
VI由一个用户界面、图标代码和一个接口板组成。
接口板用于上层的VI调用该VI。
VI具有以下特点:
(1)用户界面由于类似于仪器的面板也叫做前面板。
前面板包括旋钮、按钮、图形和其他控制元件与显示元件以完成用鼠标、键盘向程序输入数据或从计算机显示器上观察结果。
(2)VI用图标代码和连线来完成算术和逻辑运算。
图标代码是对具体编程问题的图形解决方案。
图标代码即VI的源代码。
(3)VIs具有层次结构和模块化的特点。
它们可以作为顶层程序,也可以作为其它程序的子程序。
VI代码内含的VI叫子程序subVI。
(4)VI程序使用接口板来替代文本编程的函数参数表,每个输入和输出的参数都有自己的连接端口,其它的VIs可以由此向subVI传递数据。
由于这些特色LabVIEW符合模块化的程序设计概念并对这种概念起到了推进作用。
我们把一个复杂的应用程序逐步划分为一系列简单的子任务,为每一个子任务创建一个VI,再把它们装配到另一个图标代码中完成一个复杂的任务。
最终,顶层的VI包含着一系列VIs,它们分别代表着应用程序的功能。
由于每一个subVI都可以单独执行,使得程序调试非常方便。
此外,许多低层subVIs可以完成不同应用软件的通用功能,所以可以为将要构建的应用软件开发一系列适用的subVIs,这些subVIs作为可重复利用的资源大大的提高了开发效率。
总之,LabVIEW建立在易于使用的图形数据流编程语言G语言上。
G语言大大简化了科学计算、过程监控和测试软件的开发,并可以更广泛的范围内得以应用。
1.2任务工作介绍
本次课程实训以labview软件为开发工具,能够编写虚拟信号发生器、虚拟频率计、虚拟双踪示波器的相关程序。
具体设计程序工作如下:
(1)回顾labview软件使用方法,会设计简单程序;
(2)利用多种渠道查询本次课程实训所需要的材料,并做好归档整理;
(3)编写简单的信号发生器程序,由浅入深地不断扩充信号发生器的功能并在最终能够统一成为整体;
(4)在第一周完成虚拟信号发生器的基础上编写虚拟频率计的程序;
(5)在第二周完成虚拟频率计的基础上编写虚拟双踪示波器;
(6)学会利用数据采集卡与虚拟双踪示波器进行联调并能达到预期的效果。
1.3论文结构安排
本设计论文主要在第一章主要在前言部分介绍了labview的发展与应用、本次论文设计的主要内容;
第二章详细的阐释了虚拟信号发生器,主要包括前面板、完整的程序、子程序以及最终效果图;
第三章介绍了虚拟频率计,主要包括前面板、完整的程序、子程序以及最终效果图;
第四阐释了虚拟双踪示波器,主要包括前面板、完整的程序、子程序以及最终效果图;
第五章则是本次实训的心得体会。
第2章虚拟信号发生器
2.1设计要求
(1)编写LABVIEW仿真信号发生器实验程序,要求可以产生方波(占空比可调)、正弦波、三角波、锯齿波等多种波形,而且要求各种波形的参数可调、可控。
频率调节范围1Hz~300KHz,幅值范围0V~10V。
(2)编写程序对各种波形的有效值、全波平均值、峰值等进行测量,在全波平均值测量时要注意程序编写过程。
同时记录各种关键的实验程序和实验波形并说明。
(3)界面要求:
参数控制、控制按钮、波形显示。
(4)观察仿真结果并进行分析。
(5)对该虚拟信号源进行性能评价。
2.2设计思路与预期功能
本实验内容主要是阐述虚拟信号发生器的前面板和程序框图的设计。
设计完的信号发生器的功能包括能够产生正弦波、矩形波、三角波、锯齿波四种信号波形;
波形的频率、幅值、相位、偏移量、占空比等参数由前面板控件实时可调、时时显示系统运行时间、数码管清晰显示波形的频率和幅度、并且加入了攻势波形显示模块以及加入噪声模块。
虚拟信号发生器是基于LabVIEW软件进行编程的,它使用的是图形化编程语言。
要完成一个虚拟信号发生器首先要进行前面板的设计,根据信号发生器所要实现的功能,在控件选板中选择相应的控件,放在前面板相应的位置上,摆放要使前面板看起来比较协调。
最为关键的是程序框图的设计。
程序框图的设计主要用到函数选板,根据本程序要实现的功能,在函数选板中选择相应的函数,由于程序是多次执行,所以需要用到循环结构。
调试程序即可得到一个信号发生器。
2.3系统设计介绍
2.3.1虚拟信号发生器的前面板设计
首先在前面板需要添加一个波形显示窗口,用于显示产生的信号,由于产生信号的频率、频率档选择、幅值、相位、偏移量以及当波形为矩形波时的占空比可调,所以要在前面板添加四个相应选择控件。
为了更准确的输入并实时显示这四个旋钮控件的具体数值,需要打开控件的数字显示项并且利用数码管时时显示。
信号波形均为可调,因此要添加一个枚举来选择不同的信号类型,信号类型包括正弦波、矩形波、三角波、锯齿波、上升沿、下降沿。
此外,前面板还包括系统时间显示模块、公式波形输入模块。
由此得到信号发生器的前面板如图1所示。
图1信号发生器的前面板
通过信号选择,虚拟信号发生器可以实现正弦波、矩形波、三角波、锯齿波、上升沿、下降沿信号的输出,调节旋钮可以改变所选输出波形的幅值、频率、相位,控制输入控件可调偏移量和占空比(只有当选择矩形波时可调),由此可见,虚拟信号发生器很容易地实现了信号的调节。
不仅如此,在时间充裕的情况的情况下还适时拓展了信号发生器的功能,主要包括:
用数码管显示波形的频率、幅度值;
可给波形添加均匀白噪声、高斯白噪声等噪声;
可以利用公式输出波形;
系统运行时自动显示系统时间等功能。
2.3.2虚拟信号发生器的程序框图设计
LabVIEW软件中包括很多种函数,用户可以从软件中调用任意的函数供用户使用。
本实验涉及到波形函数、时间函数、噪声发生函数、公式波形函数、循环结构、条件结构、延时等函数。
以下图2是信号发生器的程序框图设计。
图2信号发生器的程序框图
首先需要对前面板上的“信号类型”输入控件的属性进行一下设置,使其在控件下拉列表里可以选择“正弦波”、“矩形波”、“三角波”、“锯齿波”、“上升沿”、“下降沿”在程序面板上添加一个条件结构,将“信号选择”控件与其相连。
按照属性的设置,条件结构值为0时,在条件结构里加入一个正弦波形函数;
条件结构值为1时加入一个三角波形函数;
条件结构值为2时加入一个方波形函数;
条件结构值为3时加入一个锯齿波形函数;
条件结构值为4时加入一个上升沿波形函数;
条件结构值为5时加入一个下降沿波形函数,将频率、幅值、相位、偏移量、占空比输入控件分别和这五个波形函数连起来。
为了方便观察波形变化,添加一个时间延时函数。
为了实现程序的连续运行,添加一个while循环结构。
最终,所设计的信号发生器的程序框图如图2所示。
2.3.3虚拟信号发生器的各子模块设计
2.3.3.1波形选择模块
该信号发生器的波形选择功能由前面板上的“文本下拉列表”输入控件实现,现将其命名为“信号选择”。
首先需要设置一下它的属性,其设置情况如图3所示。
图3信号选择输入控件的属性设置
设置好属性后,该模块在前面板上显示如下图4所示。
图4波形选择模块在前面板的显示
2.3.3.2波形生成模块
本设计中用到的波形生模块包括正弦波形、方波波形、三角波形、锯齿波形等波形,其函数如下图5所示。
图5波形函数
2.3.3.3添加噪声模块
实际应用中,波形不可能是完美无暇的,在具体的要求中可能还需要加入白噪声等之类的噪声,为此设计本模块,其程序图如下图6所示,前面板如下图7所示。
图6添加噪声程序图7添加噪声前面板
2.3.3.4数码管显示模块
在实际实验应用中的模拟示波器一般会有数码管显示模块,为此在完成信号发生器基本功能以后又加入数码管显示波形的频率和幅值的程序模块,以及制作部了单个数码管子程序。
其中,单个数码管子程序如下图8所示;
数码管显示频率及幅度如下图9所示。
图8单个数码管显示子模块
图9数码管显示频率及幅度前面板
2.4测试与结果
2.4.1正弦波运行结果
图10正弦信号波形
在前面板的“信号选择”中选择正弦波,改变频率,调节各个旋钮数值,观察正弦波的变化。
上图显示的即为正弦波的显示情形。
2.4.2三角波运行结果
图11三角信号波形
在前面板的“信号选择”中选择三角波,改变频率,调节各个旋钮数值,观察三角波的变化。
上图显示的即为三角波的显示情形。
2.4.3方波运行结果
图12方波信号波形
在前面板的“信号选择”中选择方波,改变频率,调节各个旋钮数值,占空比可调,观察方波的变化。
上图显示的即为方波的显示情形。
2.4.4锯齿波运行结果
图13锯齿信号波形
在前面板的“信号选择”中选择锯齿波,改变频率,调节各个旋钮数值,观察锯齿波的变化。
上图显示的即为锯齿波的显示情形。
2.4.5上升沿、下降沿运行结果
图14上升沿波形图15下降沿波形
在前面板的“信号选择”中选择上升沿或下降沿,改变频率,调节各个旋钮数值,观察波形的变化。
上两幅图显示的即为上升沿波形和下降沿波形的显示情形。
2.5性能分析
(1)本程序界面友好,基本与实物图相符,生动形象,对于波形输出具有实时的动态效果。
(2)由于采样率的限制,当输出波形的频率达到300Khz时会出现严重失真,这与程序本身设计的缺陷无关。
(3)幅度调节上基本可以达到10V,可以达到预期。
(4)拓展的功能全部能够实现并且性能良好。
(5)手动调节时基本能达到时时跟踪显示,做到人机交互友好。
第3章虚拟频率计
3.1设计要求
(1)编写LABVIEW虚拟数字频率计实验程序,要求可以对方波、正弦波、
三角波、锯齿波等多种周期信号进行频率的测量。
频率调节范围可调。
(2)界面要求:
参数控制、控制按钮、测量频率显示。
(3)观察仿真结果并进行分析。
(4)对该虚数字频率计进行性能评价。
(5)具体实际要求:
1.完成各种波形的频率测量;
2.频率计门限可调(4种可选门限);
3.可测不同信号的周期;
4.显示时需要有单位;
3.2设计思路与预期功能
(1)频率计:
所谓频率计就是指用来测量输入信号频率的仪器。
(2)测量原理:
若某一信号在T秒时间内重复变化N次,则根据频率的定义,可知该信号的频率
图16直接测频法的原理框图
图1中晶体振荡提供了测量的时间基准,分频后通过控制电路去开启与关闭时间闸门。
闸门开启时,经放大整形后的测量信号进入计数器进行计数,闸门关闭时,停止计数。
若闸门开放时间为
,计数值为
,则被测频率
。
用这种频率测量原理,对于频率较低的被测信号来说,存在着测量实时性与测量精度之间的矛盾,由图可以看出分频系数
(T
为参考晶振的周期)本身是没有误差的(若电路工作正常的话),测量误差主要由以下两种因素产生:
计数误差和参考晶体振荡的误差,即
(3-1)
为减少第二项误差,可采用高精度的参考晶体振荡器。
对于第一项误差
为计数绝对误差,其最大可达
,属于不可避免的系统误差,若要减少
,就必须增大
,在被测信号频率较低的情况下,则要求闸门开放时间要很长(即在
不变的条件下,要求分频系数大)。
若要求达到一定的测量精度,则需要闸门开放时间更大,对数字频率计而言,就失去了使用价值。
例如若被测频率为10Hz,精度要求为
0.01%,则最短闸门开放时间为
(3-2)
(3-3)
像这样的测量周期是不可能接受的,因此直接频率测量法不适用于低频信号的测量。
3.3系统设计介绍
3.3.1前面板
前面板重要组成部分:
波形器、函数信号发生器模块、原信号输出频率调节、采样频率调节、信号类型选择、测量频率输出、相对误差输出等。
图17虚拟数字频率计前面板
3.3.2程序框图
程序框图重要组成部分:
基本函数信号发生器模块、波形输出模块、波峰检测模块、数组长度测量及数组索引、条件选择结构、FOR循环结构、FOR循环中移位寄存器等。
图18虚拟数字频率计程序框图
程序框图原理说明:
我们是采用波峰检测的方法来测量任意波形频率的。
通过波峰检测得到每个波峰所在的时间点,形成一个一维数组a(n)。
对于正弦波、三角波、锯齿波而言,我们可以直接将数组内的时间点相邻递减(均采用后一项减去前一项,即A(n)=a(n+1)-a(n)。
)。
对重组的数组A(n)进行求倒等变换后输出得到另一个数组B(n),数组B(n)中的元素为每个采样信号的频率。
用FOR循环加移位寄存器对数组B(n)进行求和然后除以数组B(n)的元素个数n,即可得到平均频率,也就是测得频率。
值得注意的是在我们测量方波信号的时候,这种方式就不适用了。
按照理论分析可知,用波峰检测得到的一组时间点数组即a(n),其中相邻两项的差值仅为一个完整周期的一部分,故我们应采用间隔递减的方式(即A(n)=a(n+1)-a(n-1))得到数组B(n),其余步骤同上。
3.4测试与结果
3.4.1.正弦波测试结果
图19正弦波测试结果
图19中,采样频率为1000HZ,门限为0.1,可以计算出采样点数1000×
0.1=100,测得频率为50.0HZ,相对误差为0。
3.4.2.三角波测试结果
图20三角波测试结果
图20中,采样频率为1000HZ,门限为0.1,可以计算出采样点数1000×
3.4.3.方波测试结果
图21方波测试结果
图21中,采样频率为1000HZ,门限为0.1,可以计算出采样点数1000×
3.4.4.锯齿波测试结果
图22锯齿波测试结果
图22中,采样频率为1000HZ,门限为0.1,可以计算出采样点数1000×
3.4.5.论证分析
在调试过程中,我们输入几组不同类型但频率一定的信号,然后根据上面的程序框图测量得到频率和相对误差。
例如:
如下给出表格为测得的数据,假设被测信号的频率值一定,根据得到的频率和相对误差判断信号的类型、采样点数、采样频率等对测得结果的影响。
为了论证我们实验结果的正确性,我们假定信号频率值为58.43HZ。
相关数据如下表1所示。
表1不同类型频率一定的信号的测量结果
波形类型
采样频率
采样点数
测得频率
相对误差
正弦信号
1KHZ
2000
58.4299
1.08998E-6
3000
58.430
3.23566E-7
4000
2.83983E-7
2KHZ
58.43
1.3237E-8
1.43922E-7
1.53546E-7
3KHZ
1.89908E-8
1.3403E-7
7.87927E-8
锯齿波信号
58.4557
2.73581E-5
锯齿弦信号
58.4479
0.000142611
58.4511
1.37338E-5
58.4402
5.80445E-5
58.4446
0.0001295
58.4452
2.81448E-5
58.4314
9.06947E-5
58.4365
5.86063E-5
58.4317
8.32462E-5
方波信号
62.1408
0.00147637
62.0338
0.000767992
62.0933
0.000323316
59.1972
0.000972901
59.2584
0.000316199
59.2682
0.000540392
58.8042
0.00145414
58.7673
0.000479401
58.7989
0.0004114
三角波信号
58.4265
4.54352E-5
58.4302
1.21897E-5
58.4288
1.10343E-5
58.4298
2.70653E-6
58.4316
2.2205E-5
58.4318
2.51225E-5
58.4308
6.28795E-6
4.86417E-5
58.4325
2.8549E-5
3.5性能分析
从表格中可以看到当信号频率一定时,采样频率在大于10倍原信号频率范围内越大,相对误差越小(除去一些特殊点以外)。
另外,相对误差与采样点数也有一定的误差。
当输入信号的频率和采样频率一定时,采样点数越多,测得的频率的相对误差越小。
因此,我们在测量信号频率过程中尽可能选择相对大点的采样频率,选择更多的采样点数,这样我们测得的值就会越精确。
第4章虚拟双踪示波器
4.1设计要求
(1)编写LABVIEW虚拟示波器实验程序,要求可以对两路信号进行观察与测量。
(4)对该虚拟信号源进行性能评价。
1.每一个通道都要有偏转因素调节旋钮(A、B通道);
2.有时间轴、幅度轴旋钮并且可调;
3.通道选择(A、B);
4.显示方式(A、B、A+B、交替、断续,A&
B);
5.水平轴、垂直轴可调节;
6.能对外部信号进行采集。
4.2设计思路与预期功能
本设计的想法是尽量与现实中的面板相一致,实现示波器最基本的显示和调节功能。
所以本设计我设计了包含CHA和CHB的双通道示波器,即双踪示波器。
设计时考虑的是以下几个部分:
(1)CHA和CHB通道设计及选择。
设置两个控件控制CHA和CHB选通状况,通过数据采集卡输出。
(2)利用数据采集波形产生。
利用外部数据采集的方法输入信号波形,有效掌握虚拟仪器labview对外界采样的方式。
(3)波形显示。
采用波形图控件。
(4)波形控制部分。
包括CHA信号幅度调节和幅度偏移、CHB信号幅度调节和幅度偏移、同时开的时候两个信号叠加开关。
(5)停止示波器。
通过while循环的停止按钮设置示波器停止工作。
4.3系统设计介绍
4.3.1整体设计方案
本设计的VI在创建过程中,首先创建前面板,然后进行程序框图的编写。
在程序的编写中,使用了条件结构,while循环结构以及常用的数据处理函数,同时还用到了信号生成控件VI、旋钮控件VI等多个labVIEW控件。
在程序框图的编写过程中,创建了多个labVIEW子VI,用于双通道示波器部分功能的实现,完整的设计框图如下所示:
图23虚拟双踪示波器前面板
图24虚拟双踪示波器程序框图
4.3.2双踪示波器各子模块设计
4.3.2.1外部采样子程序及前面板
Labview通过外部采样,利用示波器程序时时采样并显示,达到一般示波器的效果。
程序框图如下图25所示,前面板如下图26所示: