基于LABVIEW虚拟示波器的设计.doc_第1页
基于LABVIEW虚拟示波器的设计.doc_第2页
基于LABVIEW虚拟示波器的设计.doc_第3页
基于LABVIEW虚拟示波器的设计.doc_第4页
基于LABVIEW虚拟示波器的设计.doc_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

西安交通大学 1 本本 科科 毕毕 业业 设设 计计 论论 文文 题题 目:目:基于基于 labviewlabview 虚拟示波器的设计虚拟示波器的设计 系系 别:别: 电电 气气 与与 信信 息息 工工 程程 专专 业:业: 测测 控控 技技 术术 与与 仪仪 器器 西安交通大学城市学院本科毕业设计(论文) i 摘要 i 摘 要 虚拟仪器技术是现在计算机系统和仪器系统相结合的产物,是当今计算机 辅助测试领域的一项重要技术。它推动着传统仪器朝着数字化,智能化,模块 化,网络化的方向发展。 本文采用计算机声卡来代替工业用的数据采集卡。所设计出的虚拟仪器成 本低、通用性强,在对采样频率要求不高的情况下,可以用声卡取代数据采集 卡进行采样充分利用了价格低廉的声卡进行数据采集。文章阐述了虚拟仪器的 背景、概念、发展、组成等,重点介绍了采用图形化编程软件labview设计虚 拟示波器方法以及它的波形显示、频谱分析、参数显示等功能,最终实现开发 一个能够对声音信号进行显示的虚拟示波器。 本文所设计的虚拟示波器经过测试可以对信号正确的采集和显示,达到了 本次虚拟示波器的设计要求。 关键词:虚拟仪器,labview,示波器 西安交通大学城市学院本科毕业设计(论文) ii abstract i abstract virtual instrument technology is now the computer system and instrumentation system combining the product of todays computer-aided testing is an important technology area. it advances towards the traditional digital instrumentation, intelligent, modular, network-based direction. in this paper, computer sound card to replace the industrial data acquisition card. the design of the virtual instrument, low cost, versatility, less demanding in the case of sampling frequency can be used to replace the sound card data acquisition card to sample the full advantage of the cheap sound card for data acquisition. paper describes the background of virtual instruments, concepts, development, composition, focusing on the use of labview graphical programming software design method and its virtual oscilloscope waveform display, virtual spectrum analysis, parameter display and other functions, ultimately able to develop a sound signal shows a virtual oscilloscope. designed in this paper tested the virtual oscilloscope can capture and display the correct signal, reaching the second virtual oscilloscope design requirements. key words: virtual instruments, labview ,oscilloscope 西安交通大学城市学院本科毕业设计(论文) ii 目录 i 目 录 1 绪论 1 1.1 虚拟仪器背景 1 1.1.1 虚拟仪器的产生 1 1.1.2 虚拟仪器的概念.1 1.1.3 虚拟仪器的构成.2 1.1.4 虚拟仪器的优点.2 1.2 虚拟仪器的现状 3 1.2.1 国外虚拟仪器的研究现状 3 1.2.2 国内虚拟仪器的研究现状.4 1.2.3 虚拟仪器的发展方向.4 1.3 本文的研究内容 5 2 虚拟示波器设计理论7 2.1 虚拟示波器的基本原理 7 2.2 虚拟示波器的功能方框图 7 2.3 虚拟示波器的声卡采集原理 7 2.3.1 声卡的作用.9 2.3.2 声卡的硬件结构10 2.3.3 声卡的主要技术参数10 2.3.4 声卡用于数据采集时的设置11 2.4 本章小结 .12 3 虚拟示波器软件设计.15 3.1 labview 简介 .15 3.1.1 g 语言简介15 3.1.2 labview 程序组成 .16 3.1.3 labview 中有关声卡函数介绍 .16 3.2 程序的流程图 .18 3.3 程序的结构框图 .19 3.4 labview 虚拟示波器的程序设计19 3.4.1 前面板的设计 .19 3.4.2 总程序的设计 .20 3.5 数据采集和处理模块 .20 西安交通大学城市学院本科毕业设计(论文) ii 3.5.1 声音输入设置 .22 3.5.2 声音输入读取24 3.5.3 声音输入清除 .25 3.6 测量模块 .26 3.7 频谱分析模块 .28 3.8 参数显示模块 .29 3.9 本章小结 .29 4 程序的调试与测试.31 4.1 虚拟示波器的性能指标 .31 4.1.1 采样频率 .31 4.1.2 采样精度 .31 4.2 程序的调试结果 .31 4.2.1 波形显示调试结果 .31 4.3 小结 .33 5 总结与展望 .35 5.1 结论 .35 5.2 展望 .35 致谢.37 参考文献.39 1 绪论 1 1 绪论 1.1 虚拟仪器背景 1.1.1 虚拟仪器的产生 虚拟仪器技术是现在计算机系统和仪器系统相结合的产物,是当今计算机 辅助测试领域的一项重要技术。它推动着传统仪器朝着数字化,智能化,模块 化,网络化的方向发展。电子测量仪器发展至今,大体上可以分为四代:模拟 仪器、数字化仪器、智能一起和虚拟仪器。第一代模拟仪器,这类仪器在某些 实验室里还能看到,它是以电磁感应基本定律为基础的指针式仪器,如指针式 万用表、晶体管电压表、指针式电流表等。第二代数字化仪器,这类仪器现在 相当普遍,这类仪器将模拟信号的测量值转化为数字信号,并以数字方式输出 最终结果,适用于快速响应和较高准确度的测量,如数字万用表、数字频率计 等。第三代智能仪器,这类仪器内置微处理器,可以进行自动测试和数据处理 功能,可能代替部分脑力老公,习惯上称为智能仪器。它的功能模块全部都是 以硬件或固定软件的形式存在,无论是开发还是应用,都缺乏灵活性。第四代 虚拟仪器,它是现在计算机软件技术、通信技术和测试技术高速发展孕育出的 一项革命性技术,其导致了传统仪器的结构、概念和设计观点都发生了巨大的 变革,它的出现使得人类的测试技术进入了一个新的发展纪元。 1.1.2 虚拟仪器的概念 虚拟仪器是指通过应用程序将计算机、软件的功能模块和仪器硬件结合起 来,用户可以通过友好的图形界面(通常叫做虚拟前面板,简称前面板)来操 作这台计算机就像在操作自己定义、自己设计的一台个人仪器一样,从而完成 对被测信号的采集、分析、判断、显示、数字存储等。虚拟仪器以透明的方式, 通过软件对数据的分析处理、表达以及图形化用户接口,把计算机资源(如微 处理器、显示器等)和仪器硬件(如 a/d、d/a、数字 i/o、定时器、信号调理 等)的测试能力和控制能力结合起来。虚拟一起突破了传统仪器以硬件为主体 的模式,实际上使用者是在操作具有测试软件的电子计算机进行测量,犹如操 作一台虚设的电子仪器。 虚拟仪器技术的实质是充分利用最新的计算机技术来实现和扩展传统仪器 的功能。软件是虚拟仪器的关键,当基本硬件确定以后,就可以通过不同的软 件实现不同的功能。用户可以根据自己的需要,设计自己的仪器系统,满足多 种多样的应用要求。利用计算机丰富的软、硬件资源,可以大大突破传统仪器 西安交通大学城市学院本科毕业设计(论文) 2 的数据的分析、处理、表达、传递、存储等方面的限制,达到传统仪器无法比 拟的效果。它不仅可以用于电子测量、测试、分析、计量等领域,而且还可以 用于进行设备的监控以及工业过程自动化。虚拟仪器还可以广泛用于电力工程、 物矿勘探、医疗、振动分析、声学分析、故障诊断及教学科研等多个方面1。 1.1.3 虚拟仪器的构成 虚拟仪器从构成要素上讲,由计算机、应用软件和仪器硬件等构成;从构 成分式上讲则由以 daq 板和信号调理为仪器硬件而组成的 pc-daq 测试系统, 或已 gpib,vxi,serial 和 field bus 等标准总线仪器为硬件组成的 gpib 系统、 vxi 系统、串口系统和现场总线系统等多种形式2。虚拟仪器的构成如图 1-1 所示。 显示器 信号分析及处理器入机接口各类接口 a/d 转 换器 数据 发生器 信号 调理器 信号 调理器 输入 信号 d/a 转 换器 信号调 理器 信号 输出 图 1-1 虚拟仪器的结构 1.1.4 虚拟仪器的优点 一台性能优良的虚拟仪器不仅可以实现传统仪器的大部分功能,而且在许 多方面有传统仪器无法比拟的优点,如使用灵活方便、功能丰富、价格低廉、 可一机多用、可重复开发等。与传统仪器相比虚拟仪器主要有以下几个优点: (1)融合了计算机强大的硬件资源,突破了传统仪器在数据处理、显示、 存储等方面的限制,大大增强了传统仪器的功能。而且高性能处理器、高分辨 率显示器、大容量硬盘等已成为虚拟仪器的标准配置。 (2)利用计算机丰富的软件资源,一方面,实现了部分仪器硬件的软件话, 节省了物质资源,增加了系统的灵活性;一方面,通过软件技术和相应的数值 算法、实时、直接的对测量数据进行各种分析和处理;另一方面,通过图形用 户界面(graph user interface)技术,真正做到界面友好,人机交互。 1 绪论 3 (3)基于计算机总线和模块化仪器总线,使仪器的硬件实现了模块化、系 列化,大大缩小了系统的尺寸,可方便的构建模块化仪器(instrument on a card) 。 (4)基于计算机网络技术和接口技术,使 vi 系统具有方便、灵活的互联 能力,广泛支持诸如 can,field bus,profibus 等各种工业总线标准。因此, 利用 vi 技术可方便的构建自动测试系统(ats,automatic test system) ,实现 测量、控制过程的网络化。 (5)基于计算机的开放式标准体系结构。虚拟仪器的硬、软件都具有开放 性、模块化、可重复使用及互换性等特点。因此,用户可以根据自己的需要选 择不同厂家的产品,使仪器系统的开发更为灵活、效率更高,缩短了系统组建 和维修的时间3。 1.2 虚拟仪器的现状 1.2.1 国外虚拟仪器的研究现状 虚拟仪器技术目前在国外发展很快,以美国国家仪器公司(ni 公司)为代 表的一批厂商已经在市场上推出了基于虚拟仪器技术而设计的商品化仪器产品。 在美国虚拟仪器系统及其图形编程语言,已作为各大学理工科学生的一门必修 课程。美国的斯福坦大学的机械工程系要求三、四年级的学生在实验时应用虚 拟仪器进行数据采集和实验控制。 近年来,世界各国的虚拟仪器公司开发了不少虚拟仪器开发平台软件,以 便使用者利用这些公司提供的开发平台软件组建自己的虚拟仪器或测试系统, 并编制测试软件。最早和最具有影响力的开发软件,是 ni 公司的 labview 软件和 lab windows/cvi 开发软件。labview 采用图形化编程方案,是非常 实用的开发软件。lab windows/cvi 是为熟悉 c 语言的开发人员准备的、在 windows 环境下的标准 ansi c 开发环境,除了上述优秀的开发软件之外,美 国 hp 公司的 hp-vee 和 hptig 平台软件,美国 tektronix 公司的 ez-test 和 tek-tns 软件,以及美国的 hem data 公司的 snap-master 平台软件,也是国际 上公认的优秀虚拟仪器开发平台软件。 当今虚拟仪器的系统开发采用的总线包括传统的 rs232 串行总线、gpib 通用接口总线、vxi 总线,以及已经被 pc 机广泛采用的 usb 串行总线和 ieee1394 总线(即 fire wire,也叫做火线) 。世界各国的公司,特别是美国 ni 公司,为使虚拟仪器能够适应上述各种总线的配置,开发了大量的软件以及适 应要求的硬件(插件) ,可以灵活的组建不同复杂程度的虚拟仪器自动检测系统。 西安交通大学城市学院本科毕业设计(论文) 4 虚拟仪器开发商不仅注意使虚拟仪器能够适应各种通用计算机总线系统, 使之为虚拟仪器服务,而且也注意建立各种仪器专用的总线系统。美国 ni 公司 在 1997 年 9 月 1 日推出模块化仪器的主流平台 pxi,这是与 compact pci 完全 兼容的系统。这种虚拟仪器模块化主流平台 pxi/compact pci 的传输速度已经 达到 100mb/s。是目前已经发布的最高传输速度4。 1.2.2 国内虚拟仪器的研究现状 目前主流的虚拟仪器主要是 vxi.px 各种计算机总线和总线标准的各种插 卡和仪器模块间或有其它总线式的仪器模块,工作方式多是插入各种总线机箱 内或直接插入计算机机箱内,少数情况下是独立模块以接口形式接入计算机。 它们多数属于中低频范围,主要是工程应用类仪器设备。 我国 vxi 总线技术是反映我国目前虚拟仪器水平的一个方面,互联网已经 使数据共享进入新阶段,加速了虚拟仪器的新网络技术及远程计算机技术的发 展,而这些技术是传统仪器不可能实现的,虚拟仪器很好的利用了互联网的功 能,因此可以把来自测量和设计的数据直接发布到网上。 国内已有部分院校的实验室引入了虚拟仪器系统,上海复旦大学、上海交 通大学、广州暨南大学、华中理工大学、四川联合大学等。近一、两年来这些 学校在原有的基础上,又开发了一批新的虚拟仪器系统用于教学和科研。其中, 华中理工大学机械学院工程测试实验室将其开发成果在网上公开展示。四川联 合大学的教师基于虚拟仪器的设计思想,研制了“航空电台二线综合测试仪” 将 8 台仪器集成于一体,组成虚拟仪器系统,使用方便、灵活。清华大学利用 虚拟仪器技术构建的汽车发动机检测系统,用于汽车发动机的出厂检验。主要 检测发动机的功率特性、负荷特性等。一台发动机检测完后,就可打印出完整 的检测报告。此外,国内已有几家企业在研制 pc 虚拟仪器,哈工大仪器王电 子有限责任公司就是其中之一,它的产品已达到一定的批量。其主要产品有数 字存储示波器系列、任意波形发生器及频率计系列、多通道大容量波形记录 系列。国内专家预测:未来几年内,我国将有 50%的仪器为虚拟仪器。国内将 有大批企业使用虚拟仪器系统对生产设备的运行状况进行实时监测。随着微型 计算机的发展,虚拟仪器将会逐步取代传统的测试仪器而成为测试仪器的主流。 虚拟仪器技术的提出和发展,标志着二十一世纪自动测试与电子测试仪器领域 技术发展的一个重要方向5。 1.2.3 虚拟仪器的发展方向 虚拟仪器正在继续迅速发展。它可以取代测量技术在传统领域的各类仪器。 1 绪论 5 虚拟仪器在组成和改变仪器的功能和技术性能方面具有灵活性和经济性,因而 特别适应于当代科学技术迅速发展和科学研究不断深化所提出的更高跟新的测 量课题和测量需要。 “没有测量就没有鉴别,科学技术就不能前进。 ”虚拟仪器 将会在科学技术的各个领域得到广泛的应用。 vxi 总线将成为未来虚拟仪器的理想硬件平台,这是由 vxi 总线的性能决 定的;另一方面,基于 pci-daq 的虚拟仪器系统由于性价比高、灵活性好而受 到大多数用户的青睐,将得到高速的发展。随着计算机硬件、软件技术的迅速 发展,虚拟仪器将向高性能、多功能、集成化、网络化方向发展6。 1.3 本文的研究内容 虚拟仪器由通用仪器硬件平台(简称硬件平台)和应用软件两大部分构成。 硬件平台主要完成对被测信号的进行调理和采集。仪器硬件可以是插入式数据 采集卡及必要的外围电路(含信号调理电路、a/d 转换器、数字 i/o、定时器、 d/a 转换器等) ,或者是带标准总线接口的仪器,如 gpib、vxi、pxi、std、pci 总线仪器和网络化仪器等。 目前市场上的 a/d 采集卡和数据采集卡以及带标准总线接口的仪器等,其 价格均不菲,以毕业设计的目的来说,性价比以及实用程度显的不高。进而考 虑到计算机中的声卡本身就是一个 a/d,d/a 的转化装置,具有 16 位的量化精 度、数据采集频率是 44.1khz,完成可以满足特定应用范围内数据采集的需要, 个别性能指标还优于商用数据采集卡,而价格却为商用数据采集卡的十分之一 或者几十分之一,在设计实验中完全可以满足要求。因此在本设计中,虚拟示 波器的数据采集装置主要基于声卡。利用声卡实现对数据的采集,制作成一个 简易的示波器,示波器能够实现数据采集、波形显示、参数测量及频谱分析四 大功能。 虚拟仪器的发展已经具有快 30 年的历史,虚拟示波器作为虚拟仪器中的一 种典型仪器,是仪器仪表、无线电通信、雷达系统等领域不可缺少的一部分。 本论文开发了一台虚拟示波器。具体内容安排如下: 第 1 章,绪论:介绍虚拟仪器的概念、构成及其优势,发展的现状和本文 的研究内容。 第 2 章,虚拟示波器的设计理论:本章主要讲了示波器组成部分、波形显 示原理,工作原理以及虚拟示波器在硬件平台上的使用,详细讲述了硬件选择 声卡的理由。 第 3 章,本章讲解虚拟示波器的软件设计:本章是重点,详细讲述了各个 功能模块具体的实现过程,包括数据采集和处理、波形显示、参数测量、频谱 分析等模块。 西安交通大学城市学院本科毕业设计(论文) 6 第 4 章,程序测试与调试:本章给出了虚拟示波器系统性能的具体指标, 进行了系统调试,验证了虚拟示波器的实用性和优越性。 第 5 章,总结与展望:对设计的虚拟示波器进行了总结,并对将来的发展 趋势给出了展望。 2 虚拟示波器设计理论 7 西安交通大学城市学院本科毕业设计(论文) 8 2 虚拟示波器设计理论 2.1 虚拟示波器的基本原理 虚拟示波器主要由软件来完成信号的采集、处理和输出。系统软件包括前 面板生成框图程序和图标连接端口。仪器主要功能包括:通道选择、时基幅值 控制、滤波器、信号发生器、数据存储与回放等。在完成各个功能时其实示波 器就是利用电子射线的偏转,来显示电信号瞬时值图象(常成为时间波形)的 一种仪器。它能快速的把肉眼不能直接看见的电信号的时变规律,以可见的形 式,形象的显示出来7。 2.2 虚拟示波器的功能方框图 本文设计的示波器的能首先是完成信号的采集,然后将采集到的信号经过 通道选择,再进行滤波器的滤波,最后将波形显示出来。完成波形显示后示波 器对其中的数据进行参数测量。其功能方框图如图 2-1 所示 信号采集 通道选择 通道通道b通道a 波形显示滤波器数据保存 参数测量波形显示数据回放 波形显示 图 2-1 虚拟示波器功能方框图 2.3 虚拟示波器的声卡采集原理 模拟信号经同轴电缆进入采集卡的输入通道,经过前置滤波电路、衰减电 路、可变增益的放大电路,将信号处理成 a/d 转换器可以处理的标准电平,经 过 a/d 采样量化转化成计算机可以处理的数字信号并缓存到卡上的存储器。其 支持软件通过 pc 机的 pci 总线接口控制模拟通道的阻抗匹配、放大器的增益 2 虚拟示波器设计理论 9 选择、启动 a/d 转换及转换结束的识别,并将采集数据以 dma 的方式传输到 计算机内存,同时对数据信号进行分析处理、显示、存储及打印传输等。 使用 labview 构建基于声卡的虚拟示波器的思路是很清晰的。实际的数 据采集流程是:(1)初始化:对声卡中与数据采集相关的一些硬件参数进行设 置;(2)然后,声卡开始采集数据,并将采集到的数据暂存在先进先出的缓冲 区中;(3)当缓冲区存满数据后,一方面将数据读取到用户程序的数组中,产 生一个采集数据集合,并在程序中对数据进行各种处理;(4)另一方面,得到 缓冲区满的消息后,通知声卡暂时停止采集外部数据,并进一步清空缓存里的 内容。 声卡数据采集流程如图 2-2 所示,这个流程与一般数据采集卡并无多大差 别,这也是本设计的最基本的骨干。 2 图 2-2 声卡数据采集流程图 虚拟示波器是采用基于计算机的虚拟技术,用以模拟通用示波器的面板操 作和处理功能,也就是使用个人计算机及接口电路来采集现场或实验室信号, 并通过图形用户界面(gui)来模仿示波器的操作面板,完成信号采集、调理、 分析处理和显示输出等功能8。 本文所设计的虚拟示波器,是在数据采集硬件的支持下,配备一定功能的 软件,完成波形的存储、分析、显示等功能。一般测试仪器由信号采集、信号 处理和结果显示三大部分组成,这三大部分均由硬件构成。虚拟示波器也是由 这三大部分组成,但是除了信号采集部分是由硬件实现之外,其它两部分都是 由软件实现。 本文设计的虚拟示波器总体上包括数据采集、波形显示、参数测量、频谱 分析、等几大模块组成,虚拟示波器的结构框图如下 2-3 所示。 西安交通大学城市学院本科毕业设计(论文) 10 信 号 输 入 数据采集数据处理 波形显示 参数测量 频谱分析 图 2-3 示波器的结构框图 结构框图说明: 信号输入是由计算机输入一段声音,然后由声卡进行数据采集,声卡将采集 到的信号存入缓存区,labview 中的声音函数从缓存区中读取数据,读取到 数据以后点击运行按钮,示波器中就可以将信号的波形、参数测量和频谱分析 显示出来。 2.3.1 声卡的作用 从数据采集的角度看,声卡是一种音频范围内的数据内数据采集卡,是计 算机与外部的模拟量间环境联系的重要途径。labview 提供了操作声卡的函 数。声卡的主要功能包括录制与播放、编辑与合成处理、midi 接口三个部分。 (1)录制与播放 通过声卡,人们可将来自话筒、收录机等外部音源的声音录入计算机,并 转换成数字文件进行存储和编辑等操作;人们也可以将数字文件还原成声音信 号,通过扬声器回放,例如为电子游戏配音,以及播放 cd、vd、dvd、mp3 和卡拉 ok 等。注意,在录制和回放时,不仅要进行 d/a 和 a/d 转换,还要进 行压缩和解压缩处理。 (2)编辑和合成处理 通过对声音文件进行多种特技效果的处理,包括加入回声,倒放,淡入淡 出,往返放音以及左右两个声道交叉放音等,可以实现对各种声源音量的控制 和混合。 (3)midi(musical instrument digital interface 乐器数字接口)接口通过 midi 接口和波表合成,可以记录和回放各种接近真实乐器原声的音乐。 从一般意义上来看,上述功能主要是数据采集和信号处理,很自然的就可 2 虚拟示波器设计理论 11 以联想到用声卡实现示波器、信号处理器、频谱分析仪等虚拟仪器9。 2.3.2 声卡的硬件结构 图 2-4 是一个声卡的硬件结构示意图。一般声卡有 4-5 个对外接口。其中, 输出接口有 2 个,分别是 ware out 和 spk out。ware out(或 line out)给出 的信号没有经过放大,需要外接功率放大器,例如可以接到有源音箱;spk out 给出的信号是通过功率放大的信号,可以直接接到喇叭上。这些接口可以用来 作为双通道信号发生器的输出。 line in mic in wave out spk out midi in a/d dsp d/a 波波表表 midi合合成成器器 图 2-4 声卡的硬件结构示意图 输入接口 line in 和 mic in 的区别在于,后者可以接入较弱的信号,幅值 大约为 0.02-0.2v,显然这个信号较易受干扰,因而常使用 line in,它可以接入 幅值约为不超过 1.5v 的信号。注意,这两个输入端口都有隔直电容,这意味着 直流信号不能被声卡所接受。多数声卡的输入也是双通道的,但接入插头线往 往将这两个通道短接成一个通道。另外这两个通道是共地的10。 2.3.3 声卡的主要技术参数 (1)采样的位数 采样位数可以理解为声卡处理声音的解析度。这个数值越大,解析度就越 高,录制和回放的声音也就越真实。声卡的位数是指声卡在采集和播放声音文 件时所使用的数字声音信号的二进制位数,它客观的反映了数字声音信号对输 入声音信号描述的准确度。例如,8 位代表;16 位的代表。2562864000216 比较之下,一段相同的音乐信息,16 位声卡能把它分为 64000 个精度单位进行 处理,而 8 位声卡只能处理 256 个精度单位,最终采样效果当然是无法相提并 论的。 (2)采样频率 目前,声卡的最高采样频率为 44.1khz,少数达到 48khz。对于民用声卡, 西安交通大学城市学院本科毕业设计(论文) 12 一般将采样频率设为 4 档,分别是 44.1khz、22.05khz、11.025khz、8khz。22.05khz 只能达到 fm 广播的声音品质; 44.1khz 是理论上的 cd 音质界限,48khz 则更好一些。对 20khz 范围内的音频 信号,最高的采样频率才 48khz,虽然理论上没有问题,但似乎余量不大。使 用声卡比较大的局限在于,它不允许用户在最高采样频率之下随意设定采样频 率,而只能分为 4 档设定。这样虽然可使制造成本降低,但却不便于使用。用 户基本上不可能控制整周期采样,只能通过信号处理的方法来弥补非整周期采 样带来的问题。 (3)缓冲区 与一般数据采样卡不同,声卡面临的 d/a 和 a/d 任务通常是连续状态的。 为了在一个简易的结构下较好的完成某个任务,声卡缓冲区的设计有其独到之 处。为了节省 cpu 资源,计算机的 cpu 并不是每次声卡 a/d 或 d/a 结束后都要 响应一次中断,而是采用了缓冲区的工作方式。在这种工作方式下,声卡的 a/d、d/a 都对某一缓冲区进行操作。以输入声音的 a/d 变换为例,每次转换完 毕后,声卡控制芯片都将数据存放在缓冲区,待缓冲区满时,发出中断给 cpu,cpu 响应中断后一次性将缓冲区内的数据全部读走。计算机总线的数据传 输速率非常高,读取缓冲区数据所用时间极短,不会影响 a/d 变换的连续性。 缓冲区的工作方式大大降低了 cpu 响应中断频度,节省了系统资源,声卡输出 声音的 d/a 变换也是类似的。 一般声卡使用的缓冲区长度的默认值是 8kb(8192 字节) 。这是由于对 x86 系列处理器来说,在保护模式(windows 等系统使用的 cpu 工作方式)下,内 存以 8kb 为单位被分成很多页,对内存的任何访问都是按页进行,cpu 保证了 读写 8kb 长度的内存缓冲区时,速度足够快,并且一般不会被其他外来事件打 断。设置 8192 字节或其整数倍(例如 32768 字节)大小的缓冲区,可以较好的 保证声卡与 cpu 的协调工作。 (4)没有基准电压 声卡不提供基准电压,因此无论是 d/a 还是 a/d 在使用时,都需要用户自 己参照基准电压进行标定11。 2.3.4 声卡用于数据采集时的设置 (1)声卡的设置 一般声卡主要用于输出声音,输入部分可能没有处于正常工作状态。建议 首先使用耳机和 mic 检查声卡的功能,特别是输入功能(录音功能)是否正常。 如果不正常,需要检查声卡的设置。一般来说,这里的设置有两层含义,首先 是要配置所需的功能,其次是要保证已经配置的功能不处于关闭(静音)状态。 2 虚拟示波器设计理论 13 下面介绍对 line in 和 mic in 的检查和设置。 按图 2-5 所示,在“选项”菜单下选“属性” ,得到图 2-5(b)图所示的 对话框,在此对话框上选择“录音” ,并配置列表中的选项即可。注意图 2-5 中 的相关功能都不能处于静音状态。如图 2-5(a)所示。 图 2-5(a)音量控制窗口 图 2-5(b)音量控制属性 图 2-5 音量控制窗口和音量控制属性对话框 (2)硬件连接 硬件连接采用两种连接线:1 一条一头是 3.5mm 插孔,另一头是鳄鱼夹的 连接线,2 是双头为 3.5mm 插孔的音频连接线(在市场上可以买的到) 。为测试 声卡的频响特性,可使用测试线 2 将声卡的输入端与输出端连接起来,形成一 个闭合的环路。连接时要注意区分 mic in 口和 spk out 口,不要把它们当作 line in 与 line out 接入。如果测试输入信号,则使用测试线 1 把信号源连接 到声卡输入端 line in 口;如果测试输出信号,就把该测试线连接到声卡输出 端 line out 口。 西安交通大学城市学院本科毕业设计(论文) 14 2.4 本章小结 本章主要介绍了虚拟示波器的工作原理及各个功能模块的流程实现原理。 本文用声卡代替数据采集卡来采集信号的。主要介绍了声卡的各个功能,包括 声卡的作用、硬件结构,并对声卡的技术参数做了详细的介绍。最后介绍了声 卡用于数据采集时的一些设置。 2 虚拟示波器设计理论 15 西安交通大学城市学院本科毕业设计(论文) 16 3 虚拟示波器软件设计 3.1 labview 简介 labview 是(实验室虚拟仪器工作平台)是一个程序开发环境。它类似于 visual basic,visual c+。但是 labview 的特点在于:它使用图形化编程语 言 g 在流程图中创建源程序,而没有使用基于的文本语言来产生源程序代码。 labview 是一个多线程、最佳化的图形编译器,它能在最大程度上优化系 统的性能。无论是使用基于计算机的插入式仪器设备,还是使用 gpib,vxi,ethernet 接口或是串口的独立仪器设备,labview 内置的驱动程 序库和具有工业标准的设备驱动软件都可以对仪器系统进行全面的控制。 labview 的数据采集库包含了许多有关采集和生成数据的函数,它们与 ni 的插 卡式或远程数据采集产品协同工作。数据采集卡是进行高速直接控制以及低速 控制的理想设备。它能够为集成式测量方案提供功能强大且完备的测量分析库, 这些软件库可以完成极限测试、频率分析、滤波及信号生成等任务。labview 具有许多特性,能使测量和自动化应用方案完成适用于用户企业的生产经营, 能将应用方案以网页的形式发表,或在互联网的应用程序间进行数据传递。 labview 拥有完整的 web 服务器,可以随时发布测量结果。labview 专业版开发 系统包括应用程序生成器(application builder) ,可以创建并发布独立的可 执行程序、共享库或动态连接库(dll) 。使用共享库可以使开发的应用程序代 码进行重新使用。dll 提供最大的灵活性,可以将 labview 与其他开发工具如 vb,vc 和 ni 的 measurement studio 结合起来。labview 应用程序生成器可以 创建安装程序,以便在 windows 环境中执行可运行程序12。 3.1.1 g 语言简介 labview 是一个功能比较完整的软件开发环境,但它是为代替常规的 basic 和 c 语言设计的,它是一种编程语言而不仅仅是一个软件开发环境。它 除了编程方式不同外,具有编程语言的所有特点,称之为图形化编程语言(简 称 g 语言) 。 g 语言是一种适合应用于编程任务,具有扩展函数库的通用编程环境。和 basic 和 c 语言一样,g 语言也定义了数据类型、结构类型和模块调用语法规 则等编程语言的基本要素,在功能完整性和应用灵活性上不逊于任何高级语言, 同时 g 语言丰富的扩展函数库还为用户编程提供了极大的方便。g 语言与传统 高级编程语言最大的差别在于编程方式一般高级语言采用文本编程,而 g 语言 采用图形化编程语言。g 语言是 labview 的核心,熟练掌握 g 语言的编程要 3 虚拟示波器软件设计 17 素和语法规则,是开发 labview 应用程序的最重要的基础。 3.1.2 labview 程序组成 该环境包括三个部分:程序前面板、框图程序和图标连接端口。程序 前面板用于设置输入数值和观察输出量,主要用来模拟真实仪器的前面板。在 程序前面板上,输入量被称为控制(controls) ,为虚拟仪器的框图程序提供数 据;输出量被称为显示(indicators) ,显示虚拟仪器流程图中产生或获得的数据。 控制和显示是以各种图标形式出现在前面板上,如旋钮、开关、按钮、图表、 图形等,这使得前面板直观易懂。 一个程序前面板都对应着一段框图程序。框图程序用 labview 图形 编程语言编写,可以把它理解成传统程序的源代码。框图程序由节点(node) 、 数据连线(wire)构成。节点是 vi 程序中的执行元素,类似于文本编程语言程 序中的语句、函数或子程序。节点之间数据连线按照一定的逻辑关系相互连接, 可定义框图程序内的数据流动方向。节点之间、节点与前面板对象之间是同数 据端口和数据连线来传递数据的。数据端口是数据在前面板对象和框图程序之 间传输的通道,是数据在框图程序内节点之间传输的接口13。 labview 中有三种类型的数据端口:控制端口和指示端口以及节点端口。 控制端口和指示端口用于前面板对象,当 vi 程序运行时,从控制输入的数据通 过控制端传递到框图程序,供其中的程序使用,产生的输出数据再通过指示端 口传输到前面板对应的指示中显示。每个节点端口都有一个或数个数据端口用 于输入或输出。 labview 采用的一种获得专利的数据流编程模式。这不同于基于文本的 编程语言的线形结构,不同于执行一个传统的控制流方法。控制流执行的是指 令驱动,而数据流执行的是数据流驱动或依赖数据的。 但一个虚拟仪器的图标被放置在另一个虚拟仪器的流程图中时,它就是一 个子仪器。图标连接端口可以把 vi 变成一个 sub vi,然后象子程序一样在其 他程序中调用。图标是 sub vi 的直观标记,是 sub vi 在其他程序框图中被调 用的节点表现形式,而连接端口则表示该 sub vi 与调用它的 vi 之间进行数据 交换的输入/输出口,就象传统编程语言子程序的参数14。 3.1.3 labview 中有关声卡函数介绍 labview 中提供了一系列使用 windows 底层函数编写的与声卡有关的函 数。这些函数集中在图 3-1 所示的为 labview 中 graphics & sound 的函数中 sound 函数中的 input 函数。由于使用 windows 底层函数(不用更高级方便的 西安交通大学城市学院本科毕业设计(论文) 18 mci 函数以及 directx 接口)直接与声卡驱动程序打交道,因而封装程序低, 速度快,而且可以访问,采集缓冲区中任意位置的数据,具有很大灵活性,能 够满足实时不间断采集的需要。 图 3-1 labview 中的 sound 函数的 input 函数 在本设计中主要运用到 labview 中 graphics & sound 的函数中 sound 函数中的 input 这个子模块。表 3-1 是 labview 中 graphics & sound 的函数中 sound 函数中的 input 中提供的函数15。 表 3-1 input 函数简介 函数名称功能说明 configure 该函数的主要功能是设置声卡中与数据采集有关的一些硬件参数, 如采样率,数据格式,缓冲区长度等。声卡的采样率由内部时钟控 制,只有 3-4 种固定频率可选,一般将采样频率设置为 44100hz, 数据格式设置为 16bit。缓冲区长度可选默认值。 start 该函数用于通知声卡开始采集外部数据。采集到的数据会被暂存在 缓冲区中,这一过程无需程序干预,由声卡硬件使用 mda 直接完成, 保证了采集过程的连续性。 3 虚拟示波器软件设计 19 read 该函数用于等待采样数据缓冲区满的消息。当产生这一消息时,它 将数据缓冲区的内容读取到用户程序的数组中,产生一个数据采样 集合。若计算机的速度不够快,使得缓冲区内容被覆盖,则会产生 一个错误信息。这时应调节缓冲区的大小,在采样时间和数据读取 之间找到一个理想的平衡点。 stop 该函数用于通知声卡停止采集外部数据。已采集而未被读出的数据 会留在缓冲区中,可以使用 read 函数一次读完。 clear 该函数用于完成最终的清理工作。例如关闭声卡采样通道,释放请 求的一系列系统资源(包括 mda,缓冲区内存,声卡端口等) 。 3.2 程序的流程图 程序流程框图如图 3-2 所示: 初始化 声卡 信号采集 波形显示 参数显示 labview 模块 图 3-2 虚拟示波器程序流程图 流程图简介: 首先对设计中运用到的模块进行初始化,然后通过声卡对数据进行采 集,把采集到的信号送入 labview 模块中,通过 labview 模块的程序 运行下,把采集到的信号通过图形的形式,把波形显示出来。通过波形的 显示,最后把波形的其他参数以数字的形式都显示出来。 西安交通大学城市学院本科毕业设计(论文) 20 3.3 程序的结构框图 程序的结构框图如图 3-3 所示: 声卡参数设置数据采集 频谱分析 参数显示 波形显示 函数信号发生器 图 3-3 程序的结构框图 结构框图简介: 首先由函数信号发生器产生特定的信号,进入声卡的缓存区,声卡开 始进行初始化的参数设置,设置号以后将缓存区的信号读取出来,送给数 据采集卡,进行 a/d 转换成计算机可以识别的数字信号,最后对该信号进 行频谱分析、参数显示和波形显示。 3.4 labview 虚拟示波器的程序设计 3.4.1 前面板的设计 本论文设计的虚拟示波器控制面板如图 3-4 所示: 图 3-4 示波器的控制面板 控制前面板说明: 本文的前面板可以显示信号的波形、幅频特性、相频特性。以数字形 3 虚拟示波器软件设计 21 式显示的包括周期均方根、周期平均值、峰峰值、正峰值、负峰值、幅度、 频率、相位值。 3.4.2 总程序的设计 最终设计出的程序的总框图如图 3-5: 图 3-5 程序总框图 总框图说明: 信号通过声卡采集进入虚拟仪器中,通过声卡的基本设置,设置声卡 的一些基本参数,声卡的采样频率不能太低,如果频率太低,采集过程中, 不能连续的采集,示波器的输出就会中断。声卡采集完信号数据后,声卡 开始读取数据,通过对数据的读取,虚拟示波器把波形显示出来;在波形 显示的过程中,虚拟示波器还能通过频谱分析,对波形的幅频和相频分析, 显示虚拟示波器的幅频特性和相频特性;最后再把频率、幅频、相频的数 据通过数组的分析,也显示出来。在读区过程中,还能把虚拟示波器的周 期平均、峰峰值、负峰值、正峰值、周期均方根、直流、均方根的数值也 显示出来。而声卡的读取过程是通过一个 while 循环把这所有的过程连接 起来。读取过程完后,经过声卡的清理后,再进行下一次的读取过程。在 声卡的读取过程中,如果声卡触发有差错的话,声卡的读取就会停止,声 卡直接停止,while 循环也就结束了。 3.5 数据采集和处理模块 数据采集模块是虚拟示波器软件的硬件驱动部分,在这里主要是利用 labview 里面的声卡函数完成声卡的硬件参数设置、启动声卡采集数据、等 西安交通大学城市学院本科毕业设计(论文) 22 待采样数据缓冲区满的消息、通知声卡停止采集等任务。图3-6为数据采集模 块的程序流程图 开始 幅度调整位移调整速率调整 读取数据送入缓存区 数据转换 显示波形 是否停止采样 停止采样 并释放资源 参数测量 结束 否 图 3-6 数据采集模块的程序流程图 具体的数据采集流程是:(1)初始化;对声卡中与数据采集相关的一些硬 件参数进行设置;(2)然后,声卡开始采集数据,并将采集到的数据暂存在先 进先出的缓冲区中;(3)当缓冲区存满数据后,一方面将数据读取到用户程序 的数组中,产生一个采样数据集合,并在程序中对数据进行各种处理;(4)另 一方面,得到缓冲区满的消息后,通知声卡暂时停止采集外部数据,并进一步 清空缓存里的内容16。 如图 3-7 所示,为数据采集和处理模块。 图 3-7 数据采集和处理模块 程序说明: 3 虚拟示波器软件设计 23 在 labview 软件中,对于声卡的声道可以分为 mono 8-bit(单声道 8 位) , mono 16-bit(单声道 16 位) ,stereo 8-bit(立体声 8 位)和 stereo 16-bit(立体 声 16 位) 。其中,16 位声道比 8 位声道采样信号的质量好,立体声(stereo) 比单声道(mono)采样信号好,最好的采样通道形式是 stereo 16-bit,这样采样 的波形稳定,而且干扰小。另外,用单声道采样,左右声道信号都相同,而且 每个声道的幅值只有原信号幅值的 1/2;采用立体声采样,左右声道互不干扰, 可以采两路不同的信号,而且采样的信号幅值与原幅值相同。当然,还有一个 重要的原因是,如果选择 mono(单声道) ,si 出来的数据是标量,不能组成数 组,进而不便于数据的各种处理。所以在设计中我采用 stereo 16-bit 进行双声道 采样。声卡的采样频率(rate)有 4 种选择,即 8000hz,11025hz,22050hz 和 44100hz,采样频率不同,采到的波形的质量也不同,应视具体情况采用合 适的频率,在设计中,为了得到良好的演示效果,我采用了 44100hz 的采样频 率。而在采样率的选择方面,本文采用了一个 case 循环,目的是在采样率为 44100hz 的条件下,在循环内产生波形数据。这个在后面波形产生模块中进行 详细解释。 主要操作说明; 在 block diagram: functions graphics & sound sound sound input 选择 sound input 函 数。 1) functions structures while loop 选择 while 循环。 2) functions structure case 选择 case 循环。 3) 右键点击 si config 函数的 sound format 输入,选择 create control,自动生 成 sound format 簇类型控键。其中包含三项数据,分别为:sound quality;rate;bits persample。 4) 右键点击 si

温馨提示

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

最新文档

评论

0/150

提交评论