基于labview虚拟示波器的设计(编辑修改稿)内容摘要:

思路是很清晰的。 实际的数据采集流程是:( 1)初始化:对声卡中与数据采集相关的一些硬件参数进行设置;( 2)然后,声卡开始采集数据,并将采集到的数据暂存在先进先出的缓冲区中;( 3)当 缓冲区存满数据后,一方面将数据读取到用户程序的数组中,产生一个采集数据集合,并在程序中对数据进行各种处理;( 4)另一方面,得到缓冲区满的消息后,通知声卡暂时停止采集外部数据,并进一步清空缓存里的内容。 声卡数据采集流程 如图 22所示,这个流程与一般数据采集卡并无多大差别,这也是本设计的最基本的骨干。 2 图22 声卡 数据采集流程图 虚拟示波器是采用基于计算机的虚拟技术,用以模拟通用示波器的面板操作和处理功能,也就是使用个人计算机及接口电路来采集现场或实验室信号,并通过图形用户界面( GUI)来 模仿示波器的操作面板,完成信号采集、调理、分析处理和显示输出等功能 [8]。 本文 所设计的虚拟示波器,是在数据采集硬件的支持下,配备一定功能的软件,完成波形的存储、分析、显示等功能。 一般测试仪器由信号采集、信号处理和结果显示三大部分组成,这三大部分均由硬件构成。 虚拟示波器也是由这三大部分组成,但是除了信号采集部分是由硬件实现之外,其它两部分都是由软件实现。 本 文 设计的虚拟示波器总体上包括数据采集、 波形显示、参数测量、频谱分析、等 几 大模块组成, 虚拟示波器的 结构框图如下 23 所示。 2 虚拟示波器设计理论 9 图 23 示波器的结构框图 结构框图说明: 信号输入是由计算机输入一段声音 ,然后由声卡进行数据采集,声卡将采集到的信号存入缓存区, LABVIEW 中的声音函数从缓存区中读取数据,读取到数据以后点击运行按钮,示波器中就可以将信号的波形、参数测量和频谱分析显示出来。 声卡的作用 从数据采集的角度看,声卡是一种音频范围内的数据内数据采集卡, 是计算机与外部的模拟量 间 环境联系的重要途径。 LABVIEW 提供了操作 声卡的函数。 声卡的主要功能包括录制与播放、编辑与合成处理、 MIDI 接口三 个部分。 ( 1)录制与播放 通过声卡,人们可将来自话筒、收录机等外部音源的声音录入计算机,并转换成数字文件进行存储和编辑等操作;人们也可以将数字文件还原成声音信号,通过扬声器回放,例如为电子游戏配音,以及播放 CD、 VD、 DVD、 MP3 和卡拉 OK 等。 注意,在录制和回放时,不仅要进行 D/A 和 A/D 转换,还要进行压缩和解压缩处理。 ( 2)编辑和合成处理 通过对声音文件进行多种特技效果的处理,包括加入回声,倒放,淡入淡出,往返放音以及左右两个声道交叉放音等,可以实现对各种声源音量的控制和混合。 ( 3) MIDI( Musical Instrument Digital Interface 乐器数字接口)接口通过MIDI 接口和波表合成,可以记录和回放各种接近真实乐器原声的音乐。 从一般意义上来看,上述功能主要是数据采集和信号处理,很自然的就可以信 号 输 入 数据采集 数据处理 波形显示 参数测量 频谱分析 西安交通大学城市学院本科毕业设计(论文) 10 联想到用声卡实现示波器、信号处理器、频谱分析仪等虚拟仪器 [9]。 声卡的硬件结构 图 24 是一个声卡的硬件结构示意图。 一般声卡有 45 个对外接口。 其中,输出接口有 2 个,分别是 Ware Out 和 SPK Out。 Ware Out(或 Line Out)给出的信号没有经过放大,需要外 接功率放大器,例如可以接到有源音箱; SPK Out 给出的信号是通过功率放大的信号,可以直接接到喇叭上。 这些接口可以用来作为双通道信号发生器的输出。 L i n e I nM i c I nW a v e O u tS P K O u tM I D I I nA / DD S P D / A波 表M I D I 合 成 器 图 24 声卡的硬件结构示意图 输入接口 Line In 和 Mic In 的区别在于,后者可以接入较弱的信号, 幅值大约为 ,显然这个信号较易受干扰,因而常使用 Line In,它可以接入幅值约为不超过 的信号。 注意,这两个输入端口都有隔直电容,这意味着直流信号不能被声卡所接受。 多数声卡的 输入也是双通道的,但接入插头线往往将这两个通道短接成一个通道。 另外这两个通道是共地的 [10]。 声卡的主要技术参 数 ( 1)采样的位 数 采样位数可以理解为声卡处理声音的解析度。 这个数值越大,解析度就越高,录制和回放的声音也就越真实。 声卡的位 数 是指声卡在采集和播放声音文件时所使用的数字声音信号的二进制位数,它客观的反映了数字声音信号对输入声音信号描述的准确度。 例如, 8 位代表 25628  ; 16 位的代表 64000216 。 比较之下,一段相同的音 乐信息, 16 位声卡能把它分为 64000 个精度单位进行处理,而 8位声卡只能处理 256 个精度单位,最终采样效果当然是无法相提并论的。 ( 2)采样频率 目前 ,声卡的最高采样频率为 ,少数达到 48kHz。 对于民用声卡,一般将采样频率设为 4 档,分别是 、 、 、 8kHz。 2 虚拟示波器设计理论 11 只能达到 FM 广播的声音品质; 是理论上的 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]。 声卡用 于数据采集时的 设置 ( 1)声 卡的设置 一般声卡主要用于输出声音,输入部分可能没有处于正常工作状态。 建议首先使用耳机和 MIC 检查声卡的功能,特别是输入功能(录音功能)是否正常。 如果不正常,需要检查声卡的设置。 一般来说,这里的设置有两层含义,首先是要配置所需的功能,其次是要保证已经配置的功能不处于关闭(静音)状态。 下面介绍对 Line In 和 Mic In 的检查和设置。 按图 25 所示 ,在“选项”菜单下选“属性”,得到图 25( b)图所示的对西安交通大学城市学院本科毕业设计(论文) 12 话框,在此对话框上选择“录音”,并配置列表中的选项即可。 注意图 25 中的相关功能都不能处于静音状态。 如图 25( a) 所示。 图 25( a) 音量控制窗口 图 25( b) 音量控制属性 图 25 音量控制窗口和音量控制属性对话框 ( 2)硬件连接 硬件连接采用两种连接线: 1 一条一头是 插孔,另一头是鳄鱼夹的连接线, 2 是双头为 插孔的音频连接线(在市场上可以买的到)。 为测试声卡的频响特性,可使用测试线 2 将声卡的输入端与输出端连接起来,形成一个闭合的环路。 连接时要注意区分 Mic In 口和 SPK Out 口,不要把它们当作 Line In 与 Line Out 接入。 如果测试输入信号,则使用测试线 1 把信号源连接到声卡输入端 Line In 口;如果测试输出信号,就把该测试线连接到声卡输出端 Line Out口。 本章小结 本章主要介绍了虚拟示波器的工作原理及各个功能模块的流程实现原理。 本2 虚拟示波器设计理论 13 文 用声卡代替数据采集卡 来采集信号的。 主要介绍了声卡的各个功能,包括 声卡的作用、硬件结构,并对声卡的技术参数做了详细的介绍。 最后介绍了声卡用于数据采集时的一些设置。 西安交通大学城市学院本科毕业设计(论文) 14 3 虚拟示波器软件设计 15 3 虚拟示波器 软件 设计 LABVIEW 简介 LABVIEW 是(实验室虚拟仪器工作平台)是一个程序开发环境。 它类似于Visual Basic, Visual C++。 但是 LABVIEW 的特点在于:它使用图形化编程语言G 在流程图中创建源程序,而没有使用基于的文本语言来产生源程序代码。 LABVIEW 是 一个多线程、最佳化的图形编译器,它能在最大程度上优化系统的性能。 无论是使用基于计算机的插入式仪器设备,还是使用 GPIB, VXI, Ether 接口或是串口的独立仪器设备, LABVIEW 内置的驱动程序库和具有工业标准的设备驱动软件都可以对仪器系统进行全面的控制。 LABVIEW 的数据采集库包含了许多有关采集和生成数据的函数,它们与 NI 的插卡式或远程数据采集 产品协同工作。 数据采集卡是进行高速直接控制以及低速控制的理想设备。 它能够为集成式测量方案提供功能强大且完备的测量分析库,这些软件库可以完成极限测试、频率分析、滤波及信号生成等任务。 LABVIEW 具有许多特性,能使测量和自动化应用方案完成适用于用户企业的生产经营,能将应用方案以网页的形式发表,或在互联网的应用程序间进行数据传递。 LABVIEW 拥有完整的 Web 服务器,可以随时发布测量结果。 LABVIEW 专业版开发系统包括应用程序生成器( Application Builder),可以创建并发布独立的可执行程序、共 享库或动态连接库( DLL)。 使用共享库可以使开发的应用程序代码进行重新使用。 DLL 提供最大的灵活性,可以将 LABVIEW 与其他开发工具如 VB, VC 和 NI 的 Measurement Studio 结合起来。 LABVIEW 应用程序生成器可以创建安装程序,以便在 Windows 环境中执行可运行程序 [12]。 G 语言简介 LABVIEW 是一个功能比较完整的软件开发环境,但它是为代替常规的BASIC 和 C 语言设计的,它是一种编程语言而不仅仅是一个软件开发环境。 它除了编程方式不同外,具有编程语言的所有特点, 称之为图形化编程语言(简称G 语言)。 G 语言是一种适合应用于编程任务,具有扩展函数库的通用编程环境。 和BASIC 和 C 语言一样, G 语言也定义了数据类型、结构类型和模块调用语法规则等编程语言的基本要素,在功能完整性和应用灵活性上不逊于任何高级语言,同时 G 语言丰富的扩展函数库还为用户编程提供了极大的方便。 G 语言与传统高级编程语言最大的差别在于编程方式一般高级语言采用文本编程,而 G 语言西安交通大学城市学院本科毕业设计(论文) 16 采用图形化编程语言。 G 语言是 LABVIEW 的核心,熟练掌握 G 语言的编程要素和语法规则,是开发 LABVIEW 应用程序的最重要的 基础。 LABVIEW 程序组成 该环境包括三个部分:程序前面板、框图程序和图标连接端口。 程序前面板用于设置输入数值和观察输出量, 主要用来 模拟真实 仪器 的前面板。 在程序前面板上,输入量被称为控制( Controls),为虚拟仪器的框图程序提供数据;输出量被称为显示( Indicators),显示虚拟仪器流程图中产生或获。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。