利用Labview实现任意波形发生器的设计DOC.docx

上传人:b****7 文档编号:9604649 上传时间:2023-02-05 格式:DOCX 页数:31 大小:1.42MB
下载 相关 举报
利用Labview实现任意波形发生器的设计DOC.docx_第1页
第1页 / 共31页
利用Labview实现任意波形发生器的设计DOC.docx_第2页
第2页 / 共31页
利用Labview实现任意波形发生器的设计DOC.docx_第3页
第3页 / 共31页
利用Labview实现任意波形发生器的设计DOC.docx_第4页
第4页 / 共31页
利用Labview实现任意波形发生器的设计DOC.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

利用Labview实现任意波形发生器的设计DOC.docx

《利用Labview实现任意波形发生器的设计DOC.docx》由会员分享,可在线阅读,更多相关《利用Labview实现任意波形发生器的设计DOC.docx(31页珍藏版)》请在冰豆网上搜索。

利用Labview实现任意波形发生器的设计DOC.docx

利用Labview实现任意波形发生器的设计DOC

目录

1引言……………………………………………………………………1

2虚拟仪器开发软件Labview入门……………………………………2

2.1Labview介绍……………………………………………………2

2.2利用Labview编程完成习题设计……………………………3

3利用Labview实现任意波形发生器的设计…………………………21

3.1任意波形发生器的基本原理……………………………………21

3.2任意波形发生器的编程设计及实现……………………………21

3.3运行结果及分析………………………………………………………22

4总结……………………………………………………………………25

5参考文献………………………………………………………………26

1引言

波形发生器是一种常用的信号源,广泛应用于通信、雷达、测控、电子对抗以及现代化仪器仪表等领域,是一种为电子测量工作提供符合严格技术要求的电信号设备。

随着现代电子技术的飞速发展,现代电子测量工作对波形发生器的性能提出了更高的要求,不仅要求能产生正弦波、方波等标准波形,还能根据需要产生任意波形,且操作方便,输出波形质量好,输出频率范围宽,输出频率稳定度、准确度及分辨率高,频率转换速度快且频率转换时输出波形相位连续等。

可见,为适应现代电子技术的不断发展和市场需求,研究制作高性能的任意波形发生器十分有必要,而且意义重大。

波形发生器的核心技术是频率合成技术,主要方法有:

直接模拟频率合成、锁相环频率合成(PLL),直接数字合成技术(DDS)。

传统的波形发生器一般基于模拟技术。

它首先生成一定频率的正弦信号,然后再对这个正弦信号进行处理,从而输出其他波形信号。

早期的信号发生器大都采用谐振法,后来出现采用锁相环等频率合成技术的波形发生器。

但基于模拟技术的传统波形发生器能生成的信号类型比较有限,一般只能生成正弦波、方波、三角波等少数的规则波形信号。

随着待测设备的种类越来越丰富,测试用的激励信号也越来越复杂,传统波形发生器已经不能满足这些测试需要,任意波形发生器(AWG)就是在这种情况下,为满足众多领域对于复杂的、可由用户自定义波形的测试信号的日益增长的需要而诞生的。

随着微处理器性能的提高,出现了由微处理器、D/A以及相关硬件、软件构成的波形发生器。

它扩展了波形发生器的功能,产生的波形也比以往复杂。

实质上它采用了软件控制,利用微处理器控制D/A,就可以得到各种简单波形。

但由于微处理器的速度限制,这种方式的波形发生器输出频率较低。

目前的任意波形发生器普遍采用DDS(直接数字频率合成)技术。

基于DDS技术的任意波形发生器(AWG)利用高速存储器作为查找表,通过高速D/A转换器对存储器的波形进行合成。

它不仅可以产生正弦波、方波、三角波和锯齿波等规则波形,而且还可以通过上位机编辑,产生真正意义上的任意波形。

 

2虚拟仪器开发软件Labview入门

2.1Labview介绍

LabVIEW(LaboratoryVirtualInstrumentEngineeringWorkbench,实验室虚拟仪器集成环境)是一个基于G(Graphic)语言的图形编程开发环境,在工业界和学术界中广泛用作开发数据采集系统、仪器控制软件和分析软件的标准语言,对于科学研究和工程应用来说是很理想的语言。

它含有种类丰富的函数库,科学家和工程师们利用它可以方便灵活地搭建功能强大的测试系统。

LabVIEW编程语言最主要的两个特点是图形化编程和数据流驱动:

(1)图形化编程

LabVIEW与Visual C++、Visual Basic、LabWindows/CVI等编程语言不同,后几种都是基于文本的语言,而LabVIEW则是使用图形化程序设计语言G语言,用框图代替了传统的程序代码,编程的过程即是使用图形符号表达程序行为的过程,源代码不是文本而是框图。

一个VI有三个主要部分组成:

框图、前面板和图标/连接器。

框图是程序代码的图形表示。

LabVIEW的框图中使用了丰富的设备和模块图标,与科学家、工程师们习惯的大部分图标基本一致,这使得编程过程和思维过程非常的相似。

多样化的图标和丰富的色彩也给用户带来不一样的体验和乐趣。

前面板是VI的交互式用户界面,外观和功能都类似于传统仪器面板,用户的输入数据通过前面板传递给框图,计算和分析结果也在前面板上以数字、图形、表格等各种不同方式显示出来。

图标是VI的图形符号,连接器则用来定义输入和输出,每一个VI都有图标和连接器。

用户要做的工作就是恰当地设置参数,并连接各个子VI。

编程一般步骤就是使用鼠标选取合适的模块、连线和设置参数的过程,与烦琐枯燥的文本编程相比更为简单、生动和直观。

如果将虚拟仪器与传统仪器作一类比,前面板就像是仪器的操作和显示面板,提供各种参数的设置和数据的显示,框图就像是仪器内部的印刷电路板,是仪器的核心部分,对用户来讲是透明的,而图标和连接器可以比作电路板上的电子元器件和集成电路,保证了仪器正常的逻辑和运算功能。

(2)数据流驱动

宏观上讲,LabVIEW的运行机制已不再是传统上的冯·诺伊曼式计算机体系结构的执行方式了。

传统计算机语言(如C语言)中的顺序执行结构在LabVIEW中被并行机制所代替。

本质上讲它是一种带有图形控制流结构的数据流模式,程序中的每一个函数节点只有在获得它的全部输入数据后才能够被执行。

既然LabVIEW程序是数据流驱动的,数据流程序设计规定,一个目标只有当它的所有输入有效时才能够被执行;而目标的输出只有当它的功能完全时才是有效的。

于是LabVIEW中被连接的函数节点之间的数据流控制着程序的执行次序,而不像文本程序那样受到行顺序执行的约束。

我们可以通过相互连接函数节点简洁高效地开发应用程序,还可以有多个数据通道同步运行,即所谓的多线程。

2.2利用Labview编程完成习题设计

习题2.1写一个类正弦波发生器,要求频率和幅度可调

图12.1前面板图

图22.1程序面板图

习题3,1新建一个VI,进行如下练习:

任意放置几个控件在前面板,改变它们的位置、名称、大小、颜色等等。

在VI前面板和后面板之间进行切换并排排列前面板和后面板窗口

图33.1前后面板对照图

 

习题3.2编写一个VI求三个数的平均值,如右图所示。

要求对三个输入控件等间隔并右对齐,对应的程序框图控件对象也要求如此对齐。

添加注释分别用普通方式和高亮方式运行程序,体会数据流向。

单步执行一遍

图43.2前面板图

图53.2程序面板图

习题4.1写一个VI判断两个数的大小,如右图所示:

当A>B时,指示灯亮

图64.1前面板图

图74.1程序面板图

习题4.2写一个VI获取当前系统时间,并将其转换为字符串和浮点数。

这在实际编程中会经常遇到

图84.2前面板图

图94.2程序面板图

 

习题4.3写一个温度监测器,如右图所示,当温度超过报警上限,而且开启报警时,报警灯点亮。

温度值可以由随即数发生器产生。

图104.3前面板图

图114.3程序面板图

 

习题4.5给定任意x,求如下表达式的值

图124.5前面板图

图134.5程序面板图

 

习题5.1利用顺序结构和timing面板下的tickcountVI,计算for循环产生一个长度为20000点的随机波形所需的时间

图145.1前面板图

图155.1程序面板图

习题5.2为第4章习题4添加一个While循环和定时器,实现连续的温度采集监测

图165.2前面板图

图175.2程序面板图

习题5.3计算学生三门课(语文,数学,英语)的平均分,并根据平均分划分成绩等级。

要求输出等级A,B,C,D,E。

90分以上为A,80~89为B,70~79为C,60~69为D,60分以下为E

图185.3前面板图

图195.3程序面板图

习题6.1为第5章的习题2连续温度采集监测添加报警信息,如下图所示,当报警发生时输出报警信息,例如“温度超限!

当前温度78.23℃”,正常情况下输出空字符串。

图206.1前面板图

图216.1程序面板图

习题6.2将一些字符串和数值转换成一个新的字符串输出的字符串是GPIB命令字符串,它可以用来进行串行通信

图226.2前面板图

图236.2程序面板图

 

习题6.3用FOR循环创建一个数组,并用图形显示输出的数组。

图246.3前面板图

图256.3程序面板图

习题6.4利用簇模拟汽车控制,如右图所示,控制面板可以对显示面板中的参量进行控制。

油门控制转速,转速=油门*100,档位控制时速,时速=档位*40,油量随VI运行时间减少

图266.4前面板图

图276.4程序面板图

习题7.1利用随机数发生器仿真一个0到5V的采样信号,每200ms采一个点,利用实时趋势曲线实时显示采样结果。

图287.1前面板图

图297.1程序面板图

习题7.2在习题1的基础上再增加1路电压信号采集,此路电压信号的范围为5到10V

图307.2前面板图

图317.2程序面板图

习题7.3利用随机数发生器仿真一个0到5V的采样信号,每200ms采一个点,共采集50个点,采集完后一次性显示在WaveformGraph上

图327.3前面板图

图337.3程序面板图

习题7.4在习题3的基础上再增加1路电压信号采集,此路电压信号的范围为5到10V,采样间隔是50ms,共采100个点。

采样完成后,将两路采样信号显示在同一个WaveformGraph中

图347.4前面板图

图357.4程序面板图

3利用Labview实现任意波形信号发生器的设计

3.1任意波形信号发生器的基本原理

任意信号发生器用来产生频率为20Hz~200kHz的正弦信号(低频)。

除具有电压输出外,有的还有功率输出。

所以用途十分广泛,可用于测试或检修各种电子仪器设备中的低频放大器的频率特性、增益、通频带,也可用作高频信号发生器的外调制信号源。

另外,在校准电子电压表时,它可提供交流信号电压。

低频信号发生器的原理:

系统包括主振级、主振输出调节电位器、电压放大器、输出衰减器、功率放大器、阻抗变换器(输出变压器)和指示电压表。

主振级产生低频正弦振荡信号,经电压放大器放大,达到电压输出幅度的要求,经输出衰减器可直接输出电压,用主振输出调节电位器调节输出电压的大小。

3.2xxxxxxxx(课题名)的编程设计及实现

3.2.1编程设计

图36前面板设计图

前面板中细分的话可以按照一般波形输出和公式波形输出,一般波形包括正弦波,锯齿波、方波,公式波形指的是在公式栏中输入公式能画出公式的波形。

图37程序设计图

3.3运行结果及分析

图37方波输出图

图38正弦波输出图

图39锯齿波输出图

图40公式波形输出

 

4总结

我觉得自己这学期学习虚拟仪器这门课设还是收获颇丰的。

作为一名测控技术专业的学生,我觉得自己十分有必要了解并熟练地掌握用虚拟仪器来解决实际问题。

在做大作业的过程当中,我对前半学期学到的理论知识有了更深的理解,但我也明显感觉到自己还是需要更多的实战练习。

同时,这次选作任意波形发生器这一题目只用到了部分功能,LabVIEW还是非常强大的,我计划在暑假中用一部分时间继续做一些相关应用,也希望在遇到问题的时候能和老师继续沟通。

这次虚拟仪器课程设计的题目是实现基于LabVIEW的任意波形发生器。

此次课程设计是我在继课堂学习书本上的虚拟仪器知识后,再一次并且更加深入的了解到虚拟仪器的基本使用方法和运用原理,检测我们学习成果的综合性应用能力,它不仅要求我们有扎实的专业理论知识和实践操作能力,更要求我们有严谨治学、团结协作的精神。

通过自己的动手和思考,感觉获益良多。

在设计中我就更切身体会到虚拟仪器这种仪器的高效、开放、易用灵活、功能强大、性价比高、可操作性好等明显优点。

设计过程中,也会遇到很多困难,但是学习一门知识就是不断战胜自己,不断探索挑战的过程。

所以不管过程有多么困难,能最后完成的话还是非常有成就感的。

LabVIEW确实非常强大,在不断找控件和函数的过程中,能接触到很多我们已经学过的原件,比如模电中的各种管子,数电中的各种芯片等等,是我们学习的好助手。

另外,这项设计还能再次丰富扩充,比如增加手绘波形的呈现,或者其他更复杂波形。

总之还是要不断思考不断创新的。

最后,感谢老师课上的认真讲解和课后的耐心辅导!

 

5参考文献

[1]龙华光顾永刚.LabVIEW8.2.2与DAQ数据采集.清华大学出版社,2008.08.

[2]杨乐平李海涛杨磊.LabVIEW程序设计与应用.电子工业出版社,2002.01.

[3]杨乐平肖相生.LabVIEW程序设计与应用.电子工业出版社,2001.09.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1