用labview设计一个计算器(虚拟仪器)
- 格式:doc
- 大小:1.05 MB
- 文档页数:15
虚拟仪器大作业——模拟计算器班级:电1004姓名:学号:20102389一、设计思想:.创建3个字符串显示控件num1,num2,num3,其中:1、第一个输入数据存储在num1中2、第二个输入数据存入num2中3、将其赋给 num3,并使num2为空,以便输入的数据存入num24、所有的运算是在num1和 num3间进行5、运算结果都赋给result,同时赋给num1,用于下一次的运算.创建4个布尔开关按钮change,change1,change2,change3,其中:1、Change的真假用来判断是第一个数据还是第二个数据2、change1的功能是在输入=,运算完后,不需要初始化即可进行下一次运算3、change2用来去掉数据小数末尾的04、change3用来保证backspace键仅对输入的数据有效,对运算结果无效.创建2个数值显示控件type1,type2,并分别在其后面板的属性——数据类型——表示法中选择U8其中:1、type1用来存储运算符号2、type2用来保证连续“+、-、*、/”的正确性3、所有的运算结果都赋给result4、result经过去零处理后得到result1,将数据显示在前面板上。
二、实现过程1、面板按键的设计及感应首先,在前面板上建立一个簇然后在簇中再建立布尔量,复制20个以满足键的需求(0--9十个数字键,一个小数点键,一个等号键,四则运算键,一个开方键,一个平方键,一个倒数键,一个反号键,一个清零键及一个退出键并注意按键的顺序)。
将按键给值并作适当的美化处理在后面板中通过将簇中元素按产生的顺序组成一个一维数组,这样就实现了每个键与数字(0--20)之间的对应。
每次按下一个键时,通过查找出对应的键并把结果(对应的数字)连接到一个case结构,然后执行对应case结构中的程序,至此就完成了对一个键的感应过程。
2、数字的键入(0~8键入1~9数字)由于第一个输入和第二个输入所存放的地方不同(第一个存于num1,第二个存于num2→mun3再清空num2),所以有必要对此分开处理。
虚拟计算器labview课程设计一、课程目标知识目标:1. 学生能理解LabVIEW虚拟计算器的基本原理和使用方法。
2. 学生能掌握使用LabVIEW进行基础数学运算,如加、减、乘、除和幂运算。
3. 学生能掌握LabVIEW中的条件语句和循环结构,用于复杂计算。
技能目标:1. 学生能运用LabVIEW软件设计并搭建一个具备基本计算功能的虚拟计算器。
2. 学生能通过LabVIEW编程实现对计算器输入输出界面的设计和优化。
3. 学生能运用调试和排错技巧,确保虚拟计算器的稳定运行。
情感态度价值观目标:1. 学生培养对计算机编程和虚拟仪器的兴趣,激发创新意识和探索精神。
2. 学生在团队协作中学会相互尊重、沟通和解决问题,培养合作精神和集体荣誉感。
3. 学生通过解决实际问题,认识到科技对社会发展的作用,增强社会责任感和使命感。
本课程针对高年级学生,结合LabVIEW虚拟计算器的设计与实现,注重理论知识与实践技能的结合。
课程目标旨在帮助学生掌握LabVIEW编程基础,提高解决实际问题的能力,同时培养积极的学习态度和价值观。
通过具体的学习成果分解,教师可进行有针对性的教学设计和评估,确保课程目标的达成。
二、教学内容1. LabVIEW基础入门- LabVIEW软件界面及基本操作- 前面板与程序框图的基本概念- 控件与 indicators 的使用2. 算术运算功能实现- 基础数学运算节点:加、减、乘、除、幂运算- 数值数据类型及其转换- 算术运算程序框图设计3. 控制结构- 条件结构:选择与分支- 循环结构:For 循环与 While 循环- 控制结构在计算器中的应用4. 界面设计及优化- 前面板设计原则与技巧- 输入输出控件的布局与美化- 界面交互性提升5. 程序调试与排错- 程序调试工具的使用- 常见错误类型及解决方法- 程序性能优化教学内容依据课程目标进行选择和组织,确保学生能够系统掌握LabVIEW虚拟计算器的制作。
基于LABVIEW的简易计算器设计1.引言计算器是一种用于进行基本数学运算的设备或程序。
在本文中,将使用LABVIEW软件设计一个简单的计算器。
在这个计算器中,我们将实现加法、减法、乘法和除法运算,并且能够进行小数和负数的计算。
2.设计框图首先,我们将使用LABVIEW软件创建一个新的项目。
在项目中,我们将创建一个前面板和一个图表用于计算器的图形化表达。
在前面板中,我们将使用几个数字输入控件和一个字符串显示控件。
数字输入控件用于输入操作数和运算符,而字符串显示控件用于显示结果。
3.功能模块计算器的功能可以被分成几个独立的模块,包括数字输入、运算符输入和计算结果。
让我们详细了解每个模块的实现。
3.1.数字输入数字输入模块负责接收用户输入的操作数。
我们可以使用数字输入控件来获取用户输入的操作数并将其存储在内存变量中。
3.2.运算符输入运算符输入模块负责接收用户输入的运算符。
我们可以使用数字输入控件来获取用户输入的运算符并将其存储在内存变量中。
3.3.计算结果计算结果模块负责执行数学运算并将结果显示在字符串显示控件中。
我们可以使用数字输入变量和运算符变量来执行相应的计算操作。
4.程序实现在LABVIEW中,我们可以使用块图对上述功能模块进行编程。
以下是一个简单的程序实现示例:4.1.数字输入模块实现数字输入模块的实现非常简单。
我们只需要创建一个数字输入控件,并将其连接到数字输入变量。
这将使用户能够输入操作数。
4.2.运算符输入模块实现运算符输入模块的实现也很简单。
我们只需要创建一个数字输入控件,并将其连接到运算符输入变量。
这将使用户能够输入运算符。
4.3.计算结果模块实现计算结果模块的实现需要一些数学运算。
我们可以使用分支结构来根据用户输入的运算符执行相应的运算。
-如果运算符是加法,则将两个操作数相加。
-如果运算符是减法,则将第一个操作数减去第二个操作数。
-如果运算符是乘法,则将两个操作数相乘。
-如果运算符是除法,则将第一个操作数除以第二个操作数。
LabVIEW虚拟仪器课程设计论文题目:班级:学号:姓名:指导教师:目录一、LabVIEW简介 (3)1、虚拟仪器(VI) 的概念 (3)2、LabVIEW 的概念 (3)3、LabVIEW 特点及发展 (3)4、LABVIEW的应用领域 (4)二、设计思想 (4)三、实现过程 (5)1、面板按键的设计及感应 (5)2、数字的键入(0~8键入1~9数字) (5)3、“0”的输入 (7)4、小数点的键入 (7)5、等号的键入 (8)6、四则运算的连续实现 (9)7、C键清零作用及CE退出键 (10)8、开方键 (10)9、倒数键 (10)10、反号键 (11)11、backspace键及默认事件 (11)12、对result的处理 (11)四、总结 (13)一、LabVIEW简介1、虚拟仪器(VI) 的概念虚拟仪器(virtual instrument)是基于计算机的仪器。
计算机和仪器的密切结合是目前仪器发展的一个重要方向。
粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。
随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。
另一种方式是将仪器装入计算机。
以通用的计算机硬件及操作系统为依托,实现各种仪器功能。
虚拟仪器主要是指这种方式。
上面的框图反映了常见的虚拟仪器方案。
虚拟仪器实际上是一个按照仪器需求组织的数据采集系统。
虚拟仪器的研究中涉及的基础理论主要有计算机数据采集和数字信号处理。
目前在这一领域内,使用较为广泛的计算机语言是美国NI公司的LabVIEW。
虚拟仪器的起源可以追溯到20世纪70年代,那时计算机测控系统在国防、航天等领域已经有了相当的发展。
PC机出现以后,仪器级的计算机化成为可能,甚至在 Microsof t公司的 Windows 诞生之前,NI公司已经在Macintosh计算机上推出了LabVIEW2.0 以前的版本。
科目:姓名:学号:院系:类别:(学术、专业)实验一Labview 计算器一、实验目的通过利用labview设计一个简易计算器熟练的掌握labview基本功能和基本操作方法。
二、实验要求利用设计的计算器可以进行简单的四则运算、可以进行平方、开根号和倒数运算、计算器可以进行清零和关闭计算器操作、在输入数据时不慎将某个数字输错可以运用BackSpace清除该值等一些基本简单的运算。
三、实验原理和框图1、前面板设计前面板是LabVIEW的图形用户界面,在LabVIEW环境中可以对这些对象的外观和属性进行设计,LabVIEW提供了非常丰富的界面对象,可以方便地设计出生动、直观、操作方便的用户界面。
本系统中前面板显示程序的输入和输出对象,即,控件和显示器。
本程序中控件主要是按钮,显示器主要是文本显示。
在前面板设计过程中先在前面板整齐排列放置22个确定按钮,将这22按钮的标签隐藏,然后修改这22个确定按钮的名字分别为:0~9十个数字、小数点、正负号、加、减、乘、除、等号、倒数、根号、清零、退格和X的Y次方。
前面板还包括一个文本显示控件用于显示计算的结果和计算器的某些提示,通过改变显示控件的大小使之于计算器的大小相适应。
计算器的前面板还有程序框图中while循环的停止按钮,当按钮按下时计算器停止工作退出到LabVIEW的编辑界面。
为了前面板的美观和防止按钮的移动,分别将前面板的各个按钮和文字进行组合和对前面板进行装饰,装饰采用修饰中的平面框。
如下图所示:2.后面板设计程序框图对象包括接线端和节点,将各个对象连线连接便创建了程序框图,接线端的颜色和符号表明了相应输入控件或显示控件的数据类型。
程序框图是程序的核心,程序要实现的功能都是通过程序框图反应出来的。
本课程设计的程序框图主要运用了while循环、时间结构、条件结构和平铺顺序等结构。
通过上图可以看出当小数点按钮按下时,0.和存临时数据通过字符串连接控件将两者连接到一起;小数点按钮没有按下时,临时数据和小数点通过字符串连接按钮也将两者连接在一起,将连接到一起的数据送到显示控件。
一、引言:本次课程设计就是基于LabVIEW虚拟仪器系统开发与实践等原理与技术而设计得计算器,可以用来模拟真实计算器而进行一些简单得基本运算。
虚拟仪器得起源可以追溯到20世纪70年代,“虚拟”得含义主要就是强调软件在仪器中得作用,体现了虚拟仪器与主要通过硬件实现各种功能得传统仪器得不同。
由于虚拟仪器结构形式得多样性与适用领域得广泛性,目前对于虚拟仪器得概念还没有统一得定义。
美国国家仪器公司(National Instrunents Corpotion ,NI)认为,虚拟仪器就是由计算机硬件资源、模块化仪器硬件与用于数据分析、过程通信及图形用户界面得软件组成得测控系统,就是一种计算机操纵得模块化仪器系统。
过去40年得时间里,美国国家仪器公司(NI)通过虚拟仪器技术为测试测量与自动化领域带来了一场革新:虚拟仪器技术把现成即用得商业技术与创新得软、硬件平台相集成,从而为嵌入式设计、工业控制以及测试与测量提供了一种独特得解决方案。
使用虚拟仪器技术,工程师可以利用图形化开发软件方便、高效得创建完全自定义得解决方案,以满足灵活多变得需求趋势。
本次设计得计算器就是利用虚拟仪器技术而完成得,可以完成利用计算器可以进行简单得四则运算、可以进行平方、开根号与倒数运算、计算器可以进行清零与关闭计算器操作、在输入数据时不慎将某个数字输错可以运用BackSpace清除该值等一些基本简单得运算。
二、前面板设计:前面板就是LabVIEW得图形用户界面,在LabVIEW环境中可以对这些对象得外观与属性进行设计,LabVIEW提供了非常丰富得界面对象,可以方便地设计出生动、直观、操作方便得用户界面。
本系统中前面板显示程序得输入与输出对象,即,控件与显示器。
本程序中控件主要就是按钮,显示器主要就是文本显示。
在前面板设计过程中先在前面板整齐排列放置22个确定按钮,将这22按钮得标签隐藏,然后修改这22个确定按钮得名字分别为:0~9十个数字、小数点、正负号、加、减、乘、除、等号、倒数、根号、清零、退格与X得Y次方。
研究生课程考核试卷(适用于课程论文、提交报告)科目:虚拟仪器教师:姓名:学号:专业:类别:学术型上课时间:考生成绩:卷面成绩平时成绩课程综合成绩阅卷评语:阅卷教师(签名)重庆大学研究生院制通过对虚拟仪器课程的学习和撑握,本次实验设计了一个简易计算器,可以用来模拟真实计算器而进行一些简单的基本运算。
利用Labview软件平台编写计算器程序,可以实现“+、-、×、÷、平方、开方、x^y”这七种基本运算,并且可以对上面的七种基本操作连续运算,另外实现了对输入的错误数据进行清除的功能。
达到了本次实验的要求。
关键词:Labview,七种基本运算,清除摘要 (I)1、引言 (1)2、整体方案设计 (2)2.1、簇和前面板控件的说明 (2)2.2、程序流程图 (3)3、具体实现过程 (4)3.1、前面板设计 (4)3.2、初始化和键的感应 (4)3.2.1、数字0-9的输入 (6)3.3、输入的第一个数 (6)3.3.1、多零问题 (6)3.3.2、小数点问题 (7)3.4、四则运算和x^y (7)3.5、开方计算 (8)3.6、倒数计算 (9)3.7、输入正负数 (9)3.8、去掉小数点后面0的功能 (9)3.9、清除功能(Clear) (10)3.10、退格功能 (10)4、总结 (12)参考文献 (13)附录A (14)1、初始化程序 (14)2、总程序 (14)3、x^y的幂程序 (15)基于Labview的简易计算器设计1、引言现代计算机技术和信息技术的迅猛发展,冲击着国民经济的各个领域,也引起了测量仪器和测试技术的巨大变革。
人们曾为测量仪器从模拟化、数字化到智能化的进步而欣喜,也为自动测试技术的日新月异的发展所鼓舞,当今虚拟仪器技术的出现又使得测量仪器进步入了高科技的殿堂。
虚拟仪器的起源可以追溯到20世纪70年代,“虚拟”的含义主要是强调软件在仪器中的作用,体现了虚拟仪器与主要通过硬件实现各种功能的传统仪器的不同。
如何在LabVIEW中创建一个简单的计算器在使用LabVIEW(Laboratory Virtual Instrument Engineering Workbench)进行编程时,可以通过创建自定义的用户界面来构建各种类型的应用程序和工具。
本文将介绍如何使用LabVIEW在用户界面上创建一个简单的计算器。
通过这个示例,您将了解到如何使用LabVIEW的基本功能和工具来实现计算器的基本功能。
一、建立主体框架首先,打开LabVIEW软件并创建一个新的VI(Virtual Instrument)文件。
在工具栏中选择"Front Panel"视图,这将打开一个可视化界面用于用户交互。
在界面中央,添加一个文本框用于显示输入/输出的数字或结果。
您可以使用"Labeled Numeric"控件来实现这一功能。
在文本框下方,添加一行数字按钮,用于输入数字。
您可以使用"Numeric control"或者"Numeric Control - slide"控件来实现这一功能。
接下来,添加一行操作按钮,用于执行加、减、乘、除等运算。
您可以使用"Push Button"控件来实现这些操作按钮。
二、实现按钮和文本框的功能1. 实现数字按钮的功能选中第一个数字按钮,选择"Properties",然后在"Events"选项中添加一个"Value Change"事件。
在事件结构中,将"Value (Signaling)"连接到文本框控件的"Value (Signalling)"。
对于其他数字按钮,重复上述步骤,每个按钮连接到不同数字。
2. 实现操作按钮的功能选中加法按钮,选择"Properties",然后在"Events"选项中添加一个"Mouse Down"事件。
实验 Labview编写计算器一.实验要求1,实现计算器的加减乘除功能2,实现计算器的复位功能3,其他若干功能二.实验仪器和材料主要设备有计算机,labview2014软件。
三.实验内容及步骤本程序通过用局部变量来接受按下的值,并且在最开始给它赋值空值,局部变量来接收按下的值。
这里用和来区别操作数和被操作数进行运算。
本实验调用了两个子VI,这两个子VI分别实现加减和乘除。
1面板按键的设计在前面板设计过程中先在主程序前面板整齐排列放置16个确定按钮,然后修改这16个确定按钮的名字分别为:0~9十个数字、加、减、乘、除、等号、CLR如图所示。
P1.1主程序前面板关于两个子VI,识别indicator中的字符组合是否有加减,并且进行加减运算的子VI的前面板为:P1.2 识别加减子VI的前面板识别indicator中字母组合中的乘除,并且进行乘除运算的子VI的前面板:P1.3 识别乘除子VI的前面板2 程序框图的设计1.1主程序程序框图的设计对于主程序的设计,在循环中等待1s,并且在在主循环中加入事件结构,把按下各个按键当做一个事件处理。
并且按照按键的先后顺序对indicator进行赋值相当于进行字符的粘贴。
对于0-9和+-*/的事件的处理方式一致的。
如下:P1.5 0-9与+-*/事件结构的处理对于CLR复位的处理如下图,对局部变量赋空值。
P1.5对于CLR事件的处理对于=事件的处理,事件结构中调用了子VI对于indicator中的字符串进行识别和计算。
图中EQU为调用的子VI,并且将值赋值给显示界面。
如下图:P1.6 对于‘=’事件的处理1.2EQU中程序框图的设计EQU中的程序分为两部分一部分是对于加减的识别,一部分是调用*/的子VI,在对于加减乘除的识别中都用到了匹配模式这个控件对于加减乘除进行识别,并且用条件结构对于加减进行操作。
如下图。
P1.7对于加减的识别对于*/在EQU这个子VI中又调用了另外一个识别*/的子VI来进行操作输出结果P1.8 调用*/模块并且输出结果1.3*/子VI中的程序框图设计。
科目:姓名:学号:院系:类别:(学术、专业)实验一Labview 计算器一、实验目的通过利用labview设计一个简易计算器熟练的掌握labview基本功能和基本操作方法。
二、实验要求利用设计的计算器可以进行简单的四则运算、可以进行平方、开根号和倒数运算、计算器可以进行清零和关闭计算器操作、在输入数据时不慎将某个数字输错可以运用BackSpace清除该值等一些基本简单的运算。
三、实验原理和框图1、前面板设计前面板是LabVIEW的图形用户界面,在LabVIEW环境中可以对这些对象的外观和属性进行设计,LabVIEW提供了非常丰富的界面对象,可以方便地设计出生动、直观、操作方便的用户界面。
本系统中前面板显示程序的输入和输出对象,即,控件和显示器。
本程序中控件主要是按钮,显示器主要是文本显示。
在前面板设计过程中先在前面板整齐排列放置22个确定按钮,将这22按钮的标签隐藏,然后修改这22个确定按钮的名字分别为:0~9十个数字、小数点、正负号、加、减、乘、除、等号、倒数、根号、清零、退格和X的Y次方。
前面板还包括一个文本显示控件用于显示计算的结果和计算器的某些提示,通过改变显示控件的大小使之于计算器的大小相适应。
计算器的前面板还有程序框图中while循环的停止按钮,当按钮按下时计算器停止工作退出到LabVIEW的编辑界面。
为了前面板的美观和防止按钮的移动,分别将前面板的各个按钮和文字进行组合和对前面板进行装饰,装饰采用修饰中的平面框。
如下图所示:2.后面板设计程序框图对象包括接线端和节点,将各个对象连线连接便创建了程序框图,接线端的颜色和符号表明了相应输入控件或显示控件的数据类型。
程序框图是程序的核心,程序要实现的功能都是通过程序框图反应出来的。
本课程设计的程序框图主要运用了while循环、时间结构、条件结构和平铺顺序等结构。
通过上图可以看出当小数点按钮按下时,0.和存临时数据通过字符串连接控件将两者连接到一起;小数点按钮没有按下时,临时数据和小数点通过字符串连接按钮也将两者连接在一起,将连接到一起的数据送到显示控件。
数值控件与运算按钮没有直接的连线,这就需要对控件进行引用,将引用后的结果经过属性节点和字符串至十进制转换将按下的按钮扫描到临时数据进行临时保存。
图3-3四则运算的除法运算在四则运算的过程中,通过运算符按钮对四则运算进行控制,在进行除法运算当除数为零时,会出现错误的提示。
当除数不为零时,除法运算跟加减乘的运算是一样的。
图3-4清零操作清零操作就是将运算符、小数点、显示和操作等控件的局部变量返回到计算前的设定值,以便于进行下一步的运算。
图3-5退格操作当输入的数据较大或者在进行连续运算时,不慎将某个数输入错误如果进行清零操作就会导致以前的工作全部功亏于溃,这是只需进行退格操作将输入错误的数值清除即可,不过计算后的结果不能进行退格操作。
图3-6开根号运算开根号是计算器最基本的功能,在进行开根号运算之前应该先对开根号的数值进行判断是否满足开根号的条件。
当根号下的数值小于零时,会显示出“错误:被开放数小于零!”;根号下的数值大于等于零时,会通过计算显示出正确的结果。
图3-7x的y次幂运算在进X的Y次幂操作时,先输入的为底数后输入的为幂数。
X的Y次幂运算已经在前面定义过了,在这里只需调用就可以了。
图3-8倒数运算倒数运算跟除法运算非常相似,只需将除法运算中的被除数改为固定数1就可以了,同时还必须考虑除数为零的情况,这按除法运算的设计方法就可以了。
四、系统调试:1.四则运算。
此运算利用+、—、×、÷可以进行一些基本简单的混合运算;2.开平方(Sqrt)。
此按键的功能是对某个数进行开方运算;3.清除按键(Backspace)。
此按键的功能是当输入有误时,用此按键可以清楚错误输入;4.清零按键(CE)。
此按键的功能是直接将显示数据清零,从新开始新的运算;5.x的y次方运算(x∧y)。
此按键的功能是进行x的y次方运算;6.取倒数(1/x)。
此按键的功能是求x的倒数。
五、总结利用本次计算器课程设计实验,我对虚拟仪器技术有了更加一步的了解,在全球数据采集(DAQ)市场中长期保持领先地位的NI数据采集系列产品专门针对绝对精度、高速性能、易用性和安全性等方面进行优化设计。
通过创造性地将模拟和数字设计相结合,NI数据采集设备可以帮助工程师们轻松满足各种测量要求。
实验二模拟输入一、实验目的1了解LabVIEW中进行数据采集的过程;2掌握基本的数据采集模块的使用;3学会使用中级数据采集模块进行编程;4学会用软件触发显示实时波形。
二、实验要求通过BNC-2120连接器和P6014E采集卡,实现单通道多点采集,用软件触发显示实时波形。
三、实验原理及框图1单通道连续数据采集本程序需调用Intermediate VI中的AI Config VI、AI Strat VI及AI Read VI 等来实现,其程序如图1所示,首先在AI Config VI中需要指定缓冲区长度Buffer size,其余参数可采用默认值。
在AI Start VI中需要设置扫描速率scan rate,即指定采样频率;此外,需将通道列表扫描的次数number of scans to acquire设为0,以实现连续采集。
程序中设置了一个While循环,开始采集后,在循环中不断读取缓冲区中数据,并送往示波器加以显示。
用AI Clear VI来清除模拟输入操作和缓冲区的配置,并释放DAQ卡上的资源。
图1 单通道连续数据采集程序2软件触发数据采集软件触发是在数据采集时,对A/D转化的信号进行比较监测,当满足软件触发的条件时开始将采集数据读取到数据缓冲区,并在采集结束后将数据传输到计算机。
即信号采集一直在进行,但只对满足条件的数据进行处理。
其程序如图2所示,主要需要对AI Read VI的conditional retrieval进行配置,包括触发电平、触发方式等。
图2 软件触发数据采集程序四实验结果1单通道连续数据采集以1kHz为采样频率,对正弦波信号源进行连续采样,所得结果如图3所示。
2软件触发数据采集以1V 为触发电平,在上升沿和下降沿到来时进行数据采集,所得结果如图4图3 单通道连续数据采集结果图4 软件触发数据采集结果五实验总结通过本次实验,我初步了解了虚拟仪器的数据采集功能,学会了在LabVIEW 中编写简单的数据采集程序,基本达到了实验目的,为以后学习和实验打下了基础。
实验三、模拟输出一、实验目的在数据采集的基础上,进一步熟悉数据输出的各种模块了解它们的作用和接方式能够正确运用DDS 原理产生单通道的正弦波信号,并能够对频率和幅度进行调节。
二、实验要求输出频率f 可调,且频率分辨率f ∆可调的正弦波。
以固定100KS/s 采样率采集并实时显示输出波形。
三 实验原理及框图1DDS 原理介绍DDS 就是直接数字合成技术。
在数据输出中,先产生一系列的正弦波数据,存储到buffer 中,然后通过参数的配置,输出不同频率和幅度的正弦波,如图1所示:图1 DDS 原理框图首先产生N 个的正弦波的值存储到buffer 中,n 表示这N 个正弦波值采集了多少个正弦波的周期。
输出波形的频率为:n NFs F = (1)NF f s=∆ (2) 其中:F 表示输出信号的频率,s F 表示DA 的update rate ,f ∆表示步长,n 表示buffer 里面存储的正弦波值的周期,N 表示buffer 的大小。
2、波形输出配置DDS 是整个程序的主要部分,接下来将产生的DDS 数组输入到write 模块中,具体模块如图2所示:图2波形输出配置框图config模块中对通道以及buffer的大小进行配置,接着write模块中将上一步产生的DDS数组输入,该模块的作用就是将输入DDS数组写入到采集卡的buffer 中,为下一步的数据输出做准备。
Start模块主要有2个参数配置,如上图所示。
该模块则是将在buffer中的数据不停的输出,0表示不停的连续输出,而30000则是update rate就是在DDS中提到的Fs。
这是一个比较重要的参数,对输出信号波形的好坏有很大的影响。
比如用30K的的update rate输出一个频率为2K的信号,那么一个周期内就有15个点,基本上能比较完整的表示一个正弦波,而通过实验表明本采集卡的最大update rate略大于30K,在产生3K信号的时候效果不是太好。
3)实时参数更改实验要求能够对输出的波形实时的更改其频率以及幅度。
因此在程序中加入了一个while循环,如图3所示。
图3 while循环设置循环左面的局部变量是为了判断频率或者步长是否发生变化,如果发生了变化就产生新的DDS信号,重新对buffer写入。
在进入write模块以前可以对幅度进行调节。
如果没有变化,就不对buffer进行操作。
一直循环到按下stop 键。
要注意步长的更改,因为在设计上将Fs固定,所以在改变步长以后N也发生了变化,也就是buffer的大小发生了变化,所以必须对采集卡重新进行配置。
四实验结果调频率分辨率为2000,调频率为20,采样率f s的值为1000,所以计算得t=0.1s,即f=10Hz,下图为输出波形图,改变输入参数,使得调频率分辨率为2000,调频率K为40,采样率f s的值为1000,所以计算得t=0.05s,即f=20Hz,下图为输出波形图,符合。
五实验总结通过本次实验,我初步了解了虚拟仪器的数据输出功能,学会了在LabVIEW 中编写简单的数据输出程序,基本达到了实验目的,为以后学习和实验打下了基础。