音频信号发生器毕业设计论文内容摘要:

学习 虚拟仪器 及 LabVIEW 语言 的有关知识; (2) 学习 常用 信号 生成 的基本 方法及信号波形的显示 ; (3) 学习 声卡的有关知识和 LabVIEW 的音频处理模块设置及运用 ; (4) 学习虚拟音频信号发生器的相关调试; 具体论文的结构如下 : 第一章 绪论,简要介绍 课题背景 , 虚拟仪器的基 本概述 和 虚拟仪器的国内外研究现状以及发展方向。 分析了本课题的研究目的和意义, 介绍了本文的 课题内容和论文结构安排。 第二章 描述了本课题所开发系统的基本功能和所用的软硬件。 详细介绍 了软件编程平台 LabVIEW语言,重点分析了 LabVIEW的三种模板。 除此之外对系统所用硬件 —— 声卡的工作原理,工作流程及各项指标做了介绍,为后面的编程奠定基础。 第三章 介绍了系统的整体 实现 方案 ,依据整体方案的各组成部分,对各部分的不同实现方案进行了描述,并通过对比分析确定各组成部分最终将采用的方案。 第四章 介绍音频信号发生器系统的详细设计过程 ,包括系统的 前面板设计和流程框图的设计 ,并对整个系统的 运行 结果进行 显示。 第五章 介绍对系统进行的调试和运行结果的分析。 第六章 结论,主要是对本文所设计系统 进行总结。 西安石油大学 本科毕业 设计 6 2 系统基本功能描述及 软硬件 概述 系统基本功能描述 该音频信号发生器能够实现对常用正弦,三角, 方波 ,锯齿 四种 信号的生成和显示,并用声卡发声。 要求 使用 美国国家仪器( NI)公司开发的 图形化编程工具 LabVIEW作为 软件开发平台,开发出的系统 前面板 必须功能齐全、 美观。 可以在音频范围内 调节输出波形的频率 、 幅值 和相位 的大小,当用到方波时可以调节占空比。 软件 LabVIEW 概述 当今, C/C++、 VC、 VB 和美国国家仪器( NI)公司的 LabVIEW 都可以作为虚拟仪器的软件开发工具。 其中 C/C++、 VC、 VB 等传统软件开发平台为众多编程人员所熟悉, 可以用来开发测试软件,但这种开发方式对测试人员要求很高,需要自己将各种数据处理方法用计算机语言实现,还要对用于数据通信的各种连接总线(如RS23 GPIB、 USB 等)非常熟悉,绝大多数测试工程人员难以做到,或者需要花费大量的时间来研究,而懂得这些编程方法的人员又不一定懂得测试,因此用这种平台 开发测试工程软件难度大、周期长、费用高、可扩展性差。 顺应形势的发展,一些专业测试开发平台纷纷推向市场,如 HPVEE、组态软件平台、 TPS 平台等,但这些平台的专用性太强,可扩展性、通用性比较差。 NI 公司的 LabVIEW 全称叫 Laboratory Virtual Instrument Engineering Work Bench,它是一个高效的图形化程序设计语言。 它采用了简单易用的图形式开发环境和灵活强大的函数库,为编程提供了一个直观的环境,与测量硬件紧密结合,能让工程师与科学家们迅速开发出有关数据 采集、数据分析及显示的解决方案。 LabVIEW 是一个划时代的图形化编程系统,它提供了一种全新的程序编写方法, 可通过交互式图形 前面板进行系统控制和结果显示,即设计虚拟仪器的操作面板, 通过框图模块来指示各种功能。 现今数以万计的工程师、科学家及技术人员正在通过 LabVIEW 来构建测量与自动化解决方案。 概括的说, LabVIEW 作为测试软件开发平台有如下特点和优点: (1) 图形化编程环境。 LabVIEW 的基本编程单元是图标,不同的图标表示不同的功能模块。 用 LabVIEW 编写程序的过程也就是多个图标用 线 连起来的过程 ,连线表示功能模块之间存在数据的传递。 被连接的对象之间的数据流控制着执行程序,并允许有多个数据通路同步运行。 其编程过程近似人的思维过程,直观易学,编程效率高,无须编写任何文本格式的代码,易为多数工程技术人员接受。 (2) 可重用性高。 LabVIEW 继承并发展了结构化和模块化程序设计概念,使测试程序能够很好地体现分层性、模块化,即可以把任意一个测试程序当作顶层程序,西安石油大学 本科毕业 设计 7 也可将其当做其他测试程序的子程序,这样用户就可以把一个复杂的应用任务分解为一系列、多层次的子任务。 通过为每个子任务设置不同的功能,并将这些测试子程序进 行适当的组合、修改、交叉和合并等,就可以在顶层最终建成一个所有应用功能的测试系统。 (3) 开发功能高效、通用。 LabVIEW 是一个带有扩展功能库和子程序库的通用程序设计系统,提供数百种功能模块(类似其他计算机语言的子程序或函数),包括算术运算、函数运算、信号采集、信号输出、数据存取、信号分析处理、数据通 信等功能模块,涵盖了测试的各个环节,用户通过拖放及简单的连线,就 可以在极短的时间内设计好一个高效而使用的测试软件,再配以 相 应的硬件就可以完成各 种测试任务。 这样既节约了时间,又可提高测试的可控制性及测试速度。 (4) 支 持 多种仪器和数采硬件的驱动。 LabVIEW 提供了数百种仪器的源码级驱动程序,包括 DAQ、 GPIB( IEEE488)、 PXI、 VXI、 RS232,根据需要还可以在 LabVIEW中自行开发各种硬件驱动程序,也可以通过动态链接库( DLL)利用其他语言开发函数库,从而进一步扩展其功能。 (5) 网络 功能强大。 LabVIEW 支持常用网络协议,如传输控制协议( TCO/IP)和用户数据报协议( UDP),方便网络、远程测控系统的开发。 (6) 开放 性强。 LabVIEW 具有很强的开放性,是一个开放的开发环境,能和第三方软件轻松连接,通 过 LabVIEW 可以把现有的应用程序和 NET 组件、 ActiveX、DLL 等相连,可以和 MATLAB 混合编程,也可以在 LabVIEW 中创建能在其他软件环境中调用的独立执行程序或动态链接库。 由于 LabVIEW 虚拟仪器系统具有上述优点,所以本设计将采用 LabVIEW 作为编程的开发平台。 LabVIEW 的结构 所有的 LabVIEW 程序,即虚拟仪器( VIs) ,都包括前面板( Front Panel) 和程序流程图( Block Diagram) 两部分。 前面板是 LabVIEW VI 的图形用户 接口, 集成了用户输入和显示输出功能。 前面板包括旋钮、按钮、图形和其他的控制( Controls)与显示 (Indicators)模块。 用户可以根据自己的需要在前面板上放置按钮等控制模块及显示模块 , 如图 21。 流程图是指程序的内部运行结构,是系统结构、数据处理的流程,包含了虚拟仪器的图形化源代码。 流程图由端口、节点、图框和连线构成。 其中端口被用来同程序前面板的控制和显示传递数据,节点被用来实现函数和功能调用,图框被用来实现结构化程序控制命令,而连线代表程序执行过程中的数据流,定义了框图内的数据流动方向。 它和文本式 开发平台(如 VC++)中的 *.h、 *.cpp 等文件的作用是一样的,只是 LabVIEW 流程图的开发是图形化的,更简单、高效、直观,如图 22。 西安石油大学 本科毕业 设计 8 图 21 LabVIEW 前面板 图 22 LabVIEW 流程图 LabVIEW 模板分析 LabVIEW 是一种图形化设计语言,在一个虚拟仪器 VI 的开发过程中,主要利用模板创建和运行程序。 这些操作模板可以随意在屏幕上移动,并可以放置在屏幕的任意位置。 操纵模板共有三类 : 工具 (Tools) 模板、控制 (Controls) 模板和功能 (Functions)模板或称函数模板。 工具模板 ( Tools Palette) 工具模板如图 23 所示,它为编程者提供了各种用于创建、 图 23 工具模板 西安石油大学 本科毕业 设计 9 修改和调试 VI 程序的工具。 该模板可以在 windows 菜单下选择 Show Tools Palette命令以显示该模板。 当从模板内选择了任一种工具后,鼠标箭头就会变成该工具相应的形状,它包括了以下工具包。 操作工具:使用该工具来操作前面板的控制和显示。 使用它向数字或字符串控制中键入值时,工具会变成 标签工具的形状。 选择工具:用于选择、移动或改变对象的大小。 当它用于改变对象的连框大小时,会变成相应形状。 标签工具:用于输入标签文本或者创建自由标签。 当创建自由标签时它会变成相应形状。 连线工具:用于在框图程序上连接对象。 如果联机帮助的窗口被打开时,把该工具放在任一条连线上,就会显示相应的数据类型。 对象弹出菜单工具:用左鼠标键可以弹出对象的弹出式菜单。 漫游工具:使用该工具就可以不需要使用滚动条而在窗口中漫游。 断点工具:使用该工具在 VI 的框图对象上设置断点。 探针工具:可以在框图程序内的数据流线上设置探针。 程序调试员可以通过控 制探 针窗口来观察该数据流线上的数据变化状况。 颜色提取工具:使用该工具来提取颜色用于编辑其他的对象。 颜色工具:用来给对象定义颜色。 它 显示出对象的前景色和背景色。 与上述工具模板不同,控制和功能模板只显示顶层子模板的图标。 在这些顶层子模板中包含许多不同的控制或功能子模板。 通过这些控制或功能子模板可以找到创建程序所需的面板对象和框图对象。 用鼠标点击顶层子模板图标就可以展开对应的控制或功能子模板,只需按下控制或功能子模板左上角 的大头针就可以把对这个子模板变成浮动板留在屏幕上。 控制模板 (Controls Palette) 用控制模板可以给前面板添加输入控制和输出显示。 每个图标代表一个子模板。 如果控制模板不显示,可以用 Windows菜单的 Show Controls Palette功能打开它,也可以在前面板的空白处,点击鼠标右键,以弹出控制模板。 注:只有当打开前面板窗口时才能调用控制模板。 控制模板如 图 24 所示。 图 24 控制 模板 西安石油大学 本科毕业 设计 10 以下介绍几个常用的模板: 数值子模板:包含数值的控制和显示。 布尔值子模块:逻辑数值 的控制和显示。 数组和群子模板:复合型数据类型的控制和显示。 图形子模板:显示数据结果的趋势图和曲线图。 修饰子模板:用于给前面板进行装饰的各种图形对象。 调用存储在文件中的控制和显示的接口。 功能模板 (Functions Palette) 功能模板是创建框图程序的工具。 该模板上的每一个顶层图标都表示一个子模板。 若功能模板不出现,则可以用 Windows 菜单下的 Show Functions Palette 功能打开它,也可以在框图程序窗口的空白处点击鼠标右键以弹出功能模板。 (注:只有打开了框图程序窗口,才能出现功能模板。 ) 功能模板如图 25 所示。 以下介绍几个常用的模板: 结构子模板:包括程序控制结构命令,例如循环 控制等,以及全局变量和局部变量。 数值运算子模板:包括各种常用的数值运算符,如 +、 等;以及各种常见的数值运算式,如 +1 运算;还包括数制转换、三角函数、对数、复数等运算,以 及各种数值常数。 布尔逻辑子模板:包括各种逻辑运算符以及布尔常数。 数组子模板 : 包括数组运算数 组转换函数,以及常数数组等。 字符串 子模板 : 用于连接两个或更多字符串,抽取字符串子集,将数据转换图 25 功能模板 西安石油大学 本科毕业 设计 11 为字符串以及格式化字符串,以便进行文字处理或电子表格应用。 群子模板:包括群的处理函数,以及群常数等。 这里的群相当于 C 语言中的结构。 比较子模板:包括各种比较运算函数,如大于、小于、等于。 时间和对话框子模板:包括对话框窗口、时间和出错处理函数等。 信号处理子模板:包括信号发生、时域及频域分析功能模块。 “选择„ VI 子程序”子模板:包括一个对话框,可以选择一个 VI 程序作为子程序( SUB VI)插入当前程序中。 文件 I/O 子模板 : 用于打开和关闭文件,向文件写入或读出字符串、数值、数组或簇,创建指定文件的地址或文件的地址信息。 应用程序控制子模板 : 通过本地计算机或网络控制 VI,可同时控制多个 VI。 图形与声音子模板 : 可显示自定义图象,输入、输出图形文件的数据,也可播放声音。 报表生成子模板 : 创建或操作 LabVIEW 报表文件。 编制软件时通过对控制和功能模块中子模块的灵活调用,选取相应的功能子模块,分别置于前后面板内,使用连线工具即可完成虚拟仪器设计。 硬件声卡 概述 本虚拟 音频 信号发生器的硬件部分为一 具有声卡的通用 PC机。 计算机的 声卡本身就是一个具有 A。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。