毕业设计(论文)基于声卡的虚拟信号发生器的设计.doc
目 录摘要1英文摘要11 引言11.1 论文研究背景21.2 论文研究意义21.3 研究现状21.3 设计要求32.1 声卡设计的结构42.2 声卡设计参数42.3 声卡与LABVIEW的连接配置52.3.1 控件的介绍52.3.2 声卡的连接设计63 虚拟信号发生器的设计83.1 虚拟信号发生器的程序框图83.2 波形类型切换模块83.3 频率粗调模块93.4 频率细调模块103.5 幅度和矩形占空比可调模块103.7 虚拟信号发生器总图124 系统的调试124.1 测试设备124.2 使用说明124.3 调试步骤134.4 调试结果164.4.1 频率调节的测试164.4.2 幅度调节的测试214.4.3 数据测试234.4.4 运行面板245 结论与展望255.1 结论255.2 展望266 参考文献:26致谢28附录29基于声卡的虚拟信号发生器的设计职业技术教育学院 应用电子技术教育 指导老师: 摘要:为了实现虚拟仪器软件开发平台与计算机声卡的数字处理技术之间的应用,提高虚拟技术的推广和扩充,本文提出了基于声卡的虚拟信号发生器设计方案。该方案利用普通PC机声卡作为信号的输出通道,借助LABVIEW软件完成虚拟信号发生器的设计。实验测试结果表明,该虚拟信号发生器可以实现传统函数信号发生器的基本功能。关键词:声卡;LABVIEW;虚拟信号发生器Design of Virtual Signal Generator Based on sound cardName:Weixiang Ji Director: Zhuliang LinAbstract: In order to achieve virtual instrument software development platform and the computer sound card's digital processing between the application of virtual technology to improve the promotion and expansion, this paper presents a virtual sound card based Signal Generator design. The program uses an ordinary PC sound card as a signal of the output channels, with LABVIEW software to complete the design of the virtual signal generator. Experimental results show that the virtual signal generator can achieve the traditional function of the basic functions of the signal generator Keywords: soundcard;LABVIEW;virtual signal generator 1 引言虚拟仪器的出现成为现在虚拟仪器技术发展的一个新起点。所谓虚拟仪器就是由I/O接口设备完成信号的采集、测量和调理,通过软件编程对信号数据进行运算、分析、处理,利用计算机显示器的显示功能模拟传统仪器的功能面板,实现仪器与用户的交互并以多种形式表达输出检测结果,从而完成各种测试任务的一种仪器系统。它能把计算机技术、电子技术、传感器技术、信号处理技术、软件技术很好地结合起来,除继承传统仪器的已有功能外,还增加了许多传统仪器不能及的先进功能1。信号发生器在电子测量领域得到广泛的应用,具有十分重要的地位。而虚拟信号发生器也属于虚拟仪器的一种,本课题就是针对虚拟信号发生器的设计而展开的。1.1 论文研究背景随着计算机技术和虚拟仪器技术的不断发展,虚拟仪器逐渐成为现代仪器的一个发展方向,它的核心思想是利用计算机的强大资源是本来需要硬件实现的技术软件化,以便最大限度降低系统成本,增强系统的功能和灵活性2。目前大部分虚拟仪器都是基于商用的数据采集卡最为硬件平台3,如NI公司的PCI-6221数据采集卡,研华公司PCL-1800型数据采集卡,ISA型数据采集卡AC1820。但商用的采集卡价格昂贵,用商用采集卡来开发成本较大。声卡是一个非常优秀的音频信号采集系统,具有16位的量化精度、数据采集频率可以达到44.1KHz且声卡成为多媒体计算机的一个标准配置4。传统的信号发生器其功能完全靠硬件实现,功能单一而且用户的购置、维护费用高。更重要的是,对于传统的信号发生器,其功能一旦确定便不能更改,用户要想使用新的功能则必须重新购买新的仪器5,传统信号发生器的不足显而易见。这里研究的虚拟信号发生器可以接收输入信号并产生多种输出信号,信号输出频率、幅度等参数实时可调。主要具有如下优点:用户可自由定义其功能;系统功能升级扩充方便快捷6。1.2 论文研究意义虚拟仪器是基于计算机的仪器,总的来说,虚拟仪器技术就是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化应用的一种技术。现在的虚拟技术更多的是通过虚拟软件实现测试功能以及对硬件的配置,以数据采集卡为硬件平台进行测试,从而实现虚拟仪器测试系统。但数据采集卡价格昂贵,不能够较多的购置以供学生们使用,而在频率要求不高的环境下,可以使用计算机声卡完成数据的采集。声卡是计算机的重要配置之一,具有模数转换DAC和数据转换ADC功能,可以代替数据采集卡而且成本低廉,操作方便,通用性好,使用性能强等优点。本课题用LABVIEW开发了一套基于声卡的虚拟信号发生器,该软件的优点是:界面友好、操作简单、响应迅速,还能实现任意波形绘制、编辑、存储、输出功能。1.3 研究现状近年来,虚拟仪器因其强大的性能价格比优势得到了广泛的应用 虚拟仪器的发展主要取决于三个重要因素:计算机的发展是动力;软件是主宰;高性能的A/D 采集卡及调理放大器与传感器是关键。随着微电子技术、计算机软硬件技术、通信技术和网络技术的飞速发展,虚拟仪器技术日新月异。文献7主要是研制了一种基于虚拟仪器软件的虚拟信号发生器,它具有单通道、双通道和超低频TTL信号通道三种输出模式,能够产生正弦波、方波、三角波、矩形波和噪声等信号波形,具有波形失真度小、频率分辨率高等特点。文献8主要介绍一种基于声卡的虚拟信号发生器,具有输出稳定,使用方便,便于携带移植等特点。文献9利用声卡和LABVIEW构成信号发生器,它能实现常用周期信号及单通道模拟输出,值得在工程测试应用及相关实脸室中进一步推广和扩充。文献10介绍一种在LABVIEW 环境中设计的基于声卡的信号发生器以及信号的频谱分析测试仪,该仪器可以方便产生信号和对信号进行频谱分析。文献11文献介绍一种基于声卡的虚拟信号发生器,其采用虚拟仪器技术,利用LABVIEW软件,实现了多种常见周期信号及任意指定信号的双通道输出。文献12介绍一种基于声卡的虚拟音频信号发生器,在VC+6.0环境下利用Windows低层音频服务函数进行数据采集,实现多种常见周期信号的双通道输出。文献13讨论了基于声卡的虚拟仪器研制,并利用这种方法创建信号发生器,波形采集与显示并给出了测试实验结果。文献14设计了一款成本低廉的基于计算机声卡的多功能虚拟信号发生器,应用于电子技术实验教学,使学生对实验课的兴趣更加浓厚。文献15 设计了一个采用计算机声卡作为硬件的信号发生器系统,实现了基本信号(如正弦波、三角波、锯齿波、方波)和公式信号的产生功能,具有系统性价比高、通用性强、扩展性好、界面友好等特点。文献16简介虚拟函数信号发生器的设计意义及应用特征,给出了基于LABVIEW的虚拟信号发生器的系统构成和程序设计流程图,设计灵活,具有很强的适应性。文献17 论证了一种虚拟仪器软件,使得简单而快速的性能测试和计量特征的任何PC机在波形记录的应用,在确定模型参数进行时间以及在光谱领域比较所取得的结果。在软件开发LabWindows/CVI(C语言)和实行的低层次的Win32API多媒体功能。为电脑部件供应商和教育事业而应用该软件。本设计利用LABVIEW9.0完成虚拟信号发生器的设计,通过声音记录节点来配置声卡来输出虚拟信号发生器产生的信号,利用实验室的示波器完成信号的测量,以验证产生信号的正确性。1.4 设计要求LABVIEW具有十分强大的虚拟仪器设计功能,本设计要求利用LABVIEW完成虚拟信号发生器的设计,通过声卡输出虚拟信号发生器产生的信号,利用实验室的示波器完成信号的测量,以验证产生信号的正确性。1具有虚拟信号发生器的独立人机交互界面;2. 虚拟信号发生器产生正弦波、方波、三角波、锯齿波四种波形,幅度、频率可以调节;3. 信号频率小于20KHZ,峰峰值不大于2V。频率分辨率为1HZ,相对精度为±1%,幅度精度为±0.2V。2 声卡与LABVIEW连接2.1 声卡设计的结构声卡作为多媒体计算机的一个标准配置,一般有45个外部接口,本设计主要用到line In端口和Speaker Out端口。其中Line In端口是线型输入接口,该端口主要输入的声音信号品质较好,通过计算机的控制将该信号录制成一个文件。通常该端口主要用于连接电吉他、电子琴、合成器等外界设备的音频信号输出的录音,一般声卡越好,Line in里的噪音就越低。Speaker Out端口是扬声器输出端口,它用于插外接音箱或耳机等的音频线插头,输出立体声。声卡的工作流程如图2-1所示。 主机总线D/A转换LINE OUT 功放耳机或扬声器SPEAKER OUT图2-1 声卡的工作工作流程图声卡的型号和输出信号的频率范围是有关的,一般来说正弦波频率在1HZ-20KHZ之间,特别强调的是:有的声卡提供Speaker Out与Line Out两种输出插孔,信号一般从Line Out插孔输出,该信号没有经过功放,噪声比较小。还有的声卡只有一个Speaker Out输出插孔,此时要重新设置设置声音的跳线,同时采用专用音频电缆或屏蔽电缆来降低输出信号的信号干扰。由于本设计是通过便捷式笔记本的声卡为硬件,笔记本电脑的拆装是很麻烦的,所以选用Speaker Out输出插孔。2.2 声卡设计参数(1)采样位数现在市场上一般声卡的采样位数分为8位和16位。采样位数客观反应了数字声音信号对输入声音信号描述的准确度,数值越大准确度越高,录制和回放的声音就越真实。声卡的位数概念与数据采集卡中的位数概念完全一致4。但一般的数据采集卡大多只有12位,市面上的主流声卡都是16位的,声卡毫不逊色于常用数据采集卡4。(2)声卡采样频率每秒钟测量次数称为采样率,声卡的采样率越高,采样频率越高声音的还原就越真实越自然。市面上流行的声卡一般最高采样频率为44.1KHz,由于人耳的分辨率很有限,所以声卡的采样频率不是很高而且一般共分为22.05KHz、44.1KHz、1.025kHz和8KHz四个等级,所以这就给使用声卡带来较大的局限性,也就是它不允许用户在最高采样频率之下随意设定采样频率,而只能分为4档设定。声卡的这个特点虽然给用户带来不便,但是却降低了成本,对于面向实验教学的虚拟仪器开发,选择声卡作为数据采集卡还是很明智的,毕竟它的价格远远低于其他通用的数据采集卡。(3)声卡缓冲区 为了节约CPU资源,声卡缓冲区的设计有其独到之处。在声卡采集音频信号的过程中,其D/A和D/A任务通常是连续状态的,采用缓冲区的工作方式。以输出声音为例,所谓缓冲区的工作方式就是通过声卡控制芯片数据被暂时存放在缓冲区,只有缓冲区存满时,才给CUP一个中断申请,当CPU响应中断后,缓冲区内的数据一次性被全部读走,从而将信号输出。一般的数据采集卡采集数据时,每次A/D或D/A结束后都要响应一次中断。缓冲区的工作方式极大的降低了CPU响应中断的频度,从而有效的节省了系统资源。2.3 声卡与LABVIEW的连接配置在LABVIEW环境下提供了一系列使用Windows底层函数编写的声卡有关的函数,这些函数使用Windows底层函数直接与声卡驱动程序打交道,因而封装层次低、速度可以访问、采集缓冲区中任意位置的数据,具有很大的灵活性,能够满足实时不间断采集的需要。2.3.1 控件的介绍 声音格式的配置控件由簇控件和数值输入控件组成。其中簇是LABVIEW中比较独特的一个概念,它可以同时包含多个任意数目任意类型的元素,而且簇中的元素控件位置可以随意独立通过拖动改变。簇控件的调用路径为控件选板 数据、矩阵与簇 簇。数值输入控件的调用控件路径为控件选板 数值 数值输入控件。如图2-2所示:图2-2 声卡设置控件2.3.2 声卡的连接设计LABVIEW9.0有很强大的信号处理的功能,还提供了附加工具软件应用于某些信息处理应用中。其中对声音处理的VI可以在编程/图形与声音子面板中找到,这一系列的VI都是用Windows低层函数编写,本文主要用到的几个VI在声音输出子面板中。如图2-3所示。图2-3 声音输出模块主要运用配置声音输出VI,设置声音输出音量VI, 写入声音输出VI,声音输出清零VI这四个VI ,下面主要对这四个VI的功能进行介绍:图2-4 配置声音输出配置声音输出VI的作用是初始化声音的采样频率、采样模式、采样通道、采样位数等。每通道的采样数默认设置为22050HZ。设备ID声音操作时使用的输入或输出设备。通常,绝大多数情况下都应选择默认值0。图2-5 设置声音输出音量设置声音输出音量VI的作用是设置声音输出设备的播放音量,音量指定声音操作的音量,每条通道一个元素。0为静音,100为最高音量,默认值为100。图2-6 写入声音输出写入声音输出VI的作用是将数据写入声音输出设备,即将声音数据写入内部缓冲区。对于多声道声音数据,数据是波形数组,其中的每个元素即一个声道。超时(秒)指定声音操作完成前等待的最长时间,以秒为单位。 如等待超时,VI将返回错误。默认值为10。如超时秒数设为-1,VI将无限等待。如超时秒数设为0,VI将在声音播放时立即返回。使用声音输出等待VI可等待直到回放完成。 图2-7 声音输出清零声音输出清零VI的作用是使设备停止播放音频,清空缓存,任务返回至默认状态,并清除与任务相关的资源,任务变为无效。具体的声卡配置程序面板图如图2-6所示:图2-8 声卡配置的程序框图为了使信号能够连续产生,主程序主要采用While循环结构。该程序是借助硬件驱动程序对声卡的采样模式、采样频率、采样位数、缓冲区大小等分别进行控制,根据前边节点传出任务ID,不断的读取声音信号数据,并把任务ID通过循环移位寄存器传给下次循环,采集到的数据通过DMA传送到内存中指定的缓冲区。当缓冲区满后,再通过查询或中断机制通知CPU执行显示程序显示缓冲区数据的波形。当有错误时,直接停止不显示。3 虚拟信号发生器的设计3.1 虚拟信号发生器的程序框图虚拟信号发生器采用LABVIEW进行设计,其该系统原理框图如图3-1所示。图3-1 虚拟信号发生器的原理框图由图中可知,该系统由声卡初始化、波形切换(正弦波、三角波、矩形波、锯齿波)、矩形波占空比调节、频率和幅度的调节、波形显示、声卡释放、结束这几个环节组成。其中系统由声卡初始化和声卡释放在声卡配置设置模块中,波形切换(正弦波、三角波、矩形波、锯齿波)在波形类型切换模块中,矩形波占空比调节在矩形占空比可调模块,频率和幅度的调节包括频率细调模块、幅度可调模块,波形显示和结束在波形的产生与显示模块中。3.2 波形类型切换模块波形类型切换模块是虚拟信号发生器重要组成部分之一,该模块的前面板界面分别由四个布尔控件和分别对应的四个圆形指示灯组成来选择正弦波、三角波、矩形波、锯齿波四种波形的输出。如图3-2所示。图3-2 波形切换选择控件考虑到界面的美观性,让用户使用起来更加方便简洁,即该模块的控件是利用系统中的选择单选按钮布尔控件,把系统单选按钮用布尔中的系统按钮所代替,避免了多种控件选择以及控制的复杂程序。图3-3 波形切换模块程序框图该框图由一个Case结构(Event Structure)构成,当其中的一个控件按钮按下时,事件结构才会对其控件代码进行响应,其他的不响应,借助枚举列表和局部变量来使波形代码送到波形发生器的波形输入端。3.3 频率粗调模块 频率粗调控件和波形切换控件的制作方式是一样的,五个控件将频率分为五档,分别为1HZ,10HZ,100HZ,1KHZ,10KHZ。通过Case结构响应用户的点击操作,当用户选择不同的频率档时,微调按纽获得不同的调频范围。(a) 频率粗调前面板界面(b) 频率粗调后面板程序框图图3-4 频率粗调模块3.4 频率细调模块频率细调是用转盘控件来控制并显示,如图3-4所示频率细调是通过频率粗调输出的信息乘以细调信号的结果输入到各信号发生器的频率调节节点。当频率粗调触发时,频率细调在范围010HZ范围内,通过旋钮来调节并显示。频率显示数值控件是显示调节后的频率。(a) 频率细调前面板界面(b) 频率细调后面板程序框图图3-5 频率细调模块3.5 幅度和矩形占空比可调模块这两模块分别是幅度调节模块和矩形波占空比调节模块,都是用转盘控件控制并连接到波形生成模块的幅度调节节点和矩形波占空比调节的节点。设定可以显示的最大幅度为1V,最小幅度为1V,当幅度不在1V 1V时,会出现失真现象。后者调节的范围是0100%。通过数值显示控件来显示调节后的幅度调节值和矩形占空比调节值。(a) 幅度和矩形占空比调节前面板界面(b) 幅度和矩形占空比调节前面板界面图3-6 幅度和矩形占空比可调模块3.6 波形的产生模块和显示模块波形产生该模块由一个Case结构和四种波形函数(正弦波、三角波、矩形波、锯齿波)组成。借助波形枚列表(Enum)作为Case结构的输入端子,该输入端子会根据输入数据的类型自动调整,以完成波形的选择。该模块有4种数据流入,分别为频率、幅度、矩形波占空比、采样信息四种数据。特别提到:采样信息包含Fs每秒采样率和#s波形的采样数,从声卡参数设置中获得借助簇的解除捆绑和捆绑来获得。波形显示模块是用波形图显示,在绘图之前会自动清空图表,而不会将新数据添加到曲线的尾端。停止按钮的设置时,在波形产生出现错误;声卡运行出现错误;按下停止按钮,这三情况下都会是该系统停止运行。图3-7 波形的产生与显示模块3.7 虚拟信号发生器总图声卡虚拟信号发生器主要由计算机上的声卡和虚拟仪器软件的开发工具图形化编程语言所开发的软件LABVIEW9.0组成,在程序的前面板,波形图实时显示信号发生器所输出的波形,四个按钮和指示灯来选择发出哪种波形,五个按钮来选择频率粗调的五档(分别为1HZ,10HZ,100HZ,1KHZ,10KHZ)。三个旋钮来分别控制矩形波占空比、幅值和频率细调,其中还用显示矩形波占空比、幅值和频率调节后的数值,整个前面板具有良好的立体感且类似于真实的信号发生器、简明易懂、便于用户操作。虚拟示波器前面板在4.4使用说明中有详细的介绍。图3-7 总体后面板程序框图4 系统的调试4.1 测试设备 该系统借助于示波器和声卡来完成测试,测试仪器如表4-1所示。表4-1 测试设备表编号设备型号1双信道数字示波器Tektronix TDS1002 60Mhz2惠普笔记本电脑声卡VE928PA#AB23软件开发平台LABVIEW9.04.2 使用说明图4-1 虚拟信号发生器前面板标图具体功能:利用LABVIEW完成虚拟信号发生器的设计,通过声卡输出虚拟信号发生器产生的信号,利用实验室的示波器完成信号的测量,以验证产生信号的正确性。具体界面的控件如下:“1”是波形图显示,实时显示调试后的波形图“2”是四个布尔按键和对应的四个布尔灯控件,来控制四种波形类型的选择“3”是频率的粗调,选择1HZ,10HZ,100HZ,1KHZ,10KHZ五个档“4”是频率的细调及显示调试后的频率显示 “5”是1V 1V范围内的幅度调试“6”是矩形占空比的调节“7”是对声卡的初始化配置,分别对采样率、通道选择数、每采样比特率进行设置“8”是音量调试“9”是每通道采样数“10”是停止按钮4.3 调试步骤1、对声卡的调试(1)用一根直经3.5mm的立体声插头与三根屏蔽电缆连接在一起,另一端可接上鱼夹,如果要求不高可直接使用耳机线。电缆的芯线与插头的最顶端触点连接,电缆的屏蔽层与插头的最底端触点连接。然后,把立体声插头插入声卡的线路输出端(LINE OUT)或扬声器输出端(SP),通过该电缆输出信号。 (2)任意输入一个波形,调用声卡输出函数将其传送给声卡驱动程序进行播放输出。如图4所示 :图4-2 声卡调试程序框图(3)把各个模块按一定的逻辑组装起来,按照任务要求逐项进行有效性测试和性能测试,决定已开发软件是否合格。(4)为确保虚拟信号发生器正常工作,要正确设置声卡:音量控制面板的播放属性中,调节“音量控制”和“波形”两项都可影响输出波形的幅度,将两者结合,选择合适的输出幅度。若左、右声道需要不同的音量大小,可移动“平衡” 处的滑块进行调节。为防止输入计算机的信号干扰输出信号,其它信号都静音。2、系统调试程序编写完成后,必须经过运行和调节来观察是否能产生预期的效果,从而查找出程序中潜在的错误。步骤1:如果在一个VI程序中存在错误时,VI是不能运行的此时,工具栏中的运行按钮变成断裂状态,单击此按钮就会弹出错误列表窗口并显示所有错误,直接双击其中的错误行就可定位到程序中相应的错误处,这可大大提高了查找错误的效率。图4-3 运行按钮变成断裂状态程序框图步骤2:高亮显示程序运行过程,单击工具栏上的高亮执行按钮,此时根据数据流的运行顺序,LABVIEW将在各个节点的输入和输出的端子上显示当前端子上的数据,并且以小圆点的方式显示数据流的执行方式。方便了程序员对某些部分代码的详细调试。图4-4 运行按钮变成断裂状态程序框图步骤3:探针可以观察程序运行时连线上的数据。在工具选板中选择探针工具,单机设置一个探针,设置探针后出现一个探针对话框,同时在连线上标示一个探针号来来实时监视某些变量的值。图4-5 探针运用程序框图从这三个步骤来测试和调试系统具体出现的错误的原因,观察部分代码执行的详细过程,并最终排除错误,达到任务要求的效果。4.4 调试结果4.4.1 频率调节的测试在幅度为1V不变的情况下,频率调节后和各波形变换在示波器的显示结果如图4-6至图4-10所示。当频率调节为20HZ时,各波形变换的调节显示如图4-6 所示:频率粗调(a) 上位机20HZ频率调节图(b) 示波器显示图图4-6 频率为20HZ的波形变换示意图当频率调节为114HZ时,各波形变换的调节显示如图4-7所示:频率粗调(a) 上位机114HZ频率调节图(b) 实际示波器显示图图4-7 频率为114HZ的波形变换示意图当频率调节为200HZ时,各波形变换的调节显示如图4-8 所示:频率粗调(a) 上位机200.211HZ频率调节图(b) 实际示波器显示图图4-8 频率为200HZ的波形变换示意图当频率调节为1.093KHZ时,各波形变换的调节显示如图4-9 所示:频率粗调(a) 上位机1.093HZ频率调节图(b) 实际示波器显示图图4-9 频率为1.093KHZ的波形变换示意图当频率调节为2KHZ时,各波形变换的调节显示如图4-10 所示:频率粗调(a) 上位机2kHZ频率调节图(b) 实际示波器显示图图4-10 频率为2KHZ的波形变换示意图测试结果表明上位机虚拟信号发生器在幅度不变的情况下,对频率20HZ20KHZ范围内进行调试,当频率调节模块发生变化时,通过实际示波器来显示的波形同时也发生变化,上位机频率发生的变化基本与实际示波器测试结果基本符合任务书的要求(相对误差<1%)。4.4.2 幅度调节的测试在频率为500HZ不变的情况下,幅度调节下各波形变换后,示波器上各波形的调试图显示结果如图4-11至图4-13所示。当幅度为±0.6V时,各波形变换的调节显示如图4-11所示:(a) 上位机幅度为±0.6V调节图(b) 实际示波器显示图图4-11 幅度为±0.6V的波形变换示意图当幅度为±0.25V时,各波形变换的调节显示如图4-12所示:(a) 上位机幅度为±0.25V调节图(b) 实际示波器显示图图4-12 幅度为±0.6V的波形变换示意图当幅度为±1V时,各波形变换的调节显示如图4-13所示:(a) 上位机幅度为±1V调节图(b) 实际示波器显示图图4-13 幅度为±1V的波形变换示意图测试结果表明上位机虚拟信号发生器在频率不变的情况下,对幅度1V1V范围内进行调试,当幅度调节模块发生变化时,通过实际示波器来显示的波形同时也发生变化,上位机频率发生的变化基本与实际示波器测试结果基本符合任务书的要求。4.4.3 数据测试本设计上位机对频率调试和幅度调试,切换正弦波、三角波、矩形波、锯齿波四种波形,通过下位机示波器显示结果。显示数据结果如表4-2和表4-3所示。表4-2 频率调节结果123456上位机输入20 Hz114 Hz200 Hz1.093kHz2kHz20kHz示波器输出20.08 Hz114.9 Hz200.5Hz1.163kHz2.077kHz20.16kHz相对精度0.4%0.78%0.25%6.4%3.85%8%表4-3幅度调试结果(单位:V)123456上位机输入VP10.60.25-0.25-0.6-1示波器显示VP-P1.861.240.4480.4481.381.86实验数据证明该系统基本达到了任务要求,上位机的虚拟信号发生器频率和幅度在一定范围内发生变化,实际示波器也会在相应的发生实时变化,达到频率分辨率为1HZ,相对精度为±1%,幅度精度为±0.2V的要求。4.4.4 综合测试效果图如图4-2所示,波形切换到正弦波,频率为503.819HZ,幅度为0.98007V的上位机调试图。图4-13 综合测试效果图4.5 误差分析虚拟信号发生器输出波形质量,一方面取决于硬件声卡的影响,另一方面取决于软件波形的算法。在本设计中软件由于使用LABVIEW9.0底层函数生成完成,所以出现的误差取决于声卡参数配置准确度。本设计选用的是便捷式惠普笔记本电脑的声卡,并选用了Speaker Out接口输出,了解到Speaker Out是在通过声卡数模转换后再通过功放芯片对电压频率进行放大,如此输出信号不是纯净的音频信号,对噪音进行放大,在进行幅度测量的时候,要通过调节音量来调节使上位机幅度与实际示波器显示的幅度调节一致。5 结论与展望5.1 结论 本系统利用普通笔记本电脑声卡代替数据采集卡作为硬件,以美国NI公司的虚拟仪器软件LABVIEW9.0作为开发平台,设计一款廉价的虚拟信号发生器。该虚拟信号发生器可以实现常用的波形切换选择、频率显示、频率粗调和细调、幅度调节、矩形波占空比可调等功能。通过实验表明基于声卡的虚拟信号发生器基本实现了传统函数发生器的功能,整个设计系统成本低,界面友好,性能稳定可靠,实用性强,使用方便。基于声卡的虚拟信号发生器可以很好的解决学校实验经费紧缺的现状,同学们只需要一台笔记本电脑就可以随时在哪里进行数据的测量,节约成本,提高实验质量意义重大,同时可以使学生对实验课产生更加浓厚的兴趣。基于声卡的虚拟信号发生器系统具有以下级几个特点:(1) 成本低。只需要一台平时使用的电脑声卡,一根直经3.5mm的立体声和三根屏蔽线分别于声卡从Speaker Out输出的左声、右声、接地三端进行连接,另一端连接鳄鱼夹的自制数据线。(2) 界面友好。利用LABVIEW9.0的开发软件中所提供的控件图标如旋钮、开关、按钮、波形表等,来模仿实际仪器来,使前面板清晰直观,易于操作。(3) 操作简单。该系统是按照传统的函数发生器的功能面板来说实现的,该系统的前面板界面有详细的各模块的标注,方便用户使用。还有几个缺点:(1) 可调节的频率低,声卡音频信号最多能接受1HZ20KHZ的信号输出。(2) 声卡最大的采样频率不超过44.1KHZ,采样频率不能任意设置,只能是44.IkHz、22.05kHz、1.025kHz和8kHz 中的任意一个。(3) 可调节的幅度比较低。幅度只能在-11V之间进行调节。5.2 展望本设计利用LABVIEW9.0完成虚拟信号发生器的设计,通过声音记录节点来配置声卡来输出虚拟信号发生器产生的信号,利用实验室的示波器完成信号的测量,以验证产生信号的正确性。声卡已成为PC机的标准配置,并且PC机上可以配置多块声卡,这样对于声卡频率范围内的音频信号,可以通过多块声卡的并行工作,完成多通道同步信号采集和发生。基于声卡的虚拟仪器可以很好的解决高校实验经费紧缺的现状,对节约实验成本,提高实验质量意义重大。为了幅度调节的范围更加宽,可以在外围增加简单的电压信号放大电路,在程序的设计的时候也可以增加更多的功能。或者可以自己制作一个数模转换电路,通过USB接口来实现软硬件的结合,LABVIEW9.0的软件平台可以有很大的灵活性,用户可以自行的更新。虚拟仪器在今后电子市场的发展是很强大的,实现了测量仪器的智能化。多样化。模块化和网络化,体现出多功能,低成本,应用灵括,操作方便等优点。在很多领域大有取代传统仪器的趋势,成为当代仪器发展的一十重要方向。参考文献1 刘萍,曹慧,邱鹏.虚拟仪器的发展过程及应用J.山东科学.2009,2.22(1):8083.2 魏燕,马伟顺.LABVIEW在信号处理教学中的应用J. 长春师范学院学报.2005.6,24(2):1214.3 贺良华,王洪亮,王洪雷.基于LABVIEW的虚拟信号发生器的研究与实现J,中国地质大学学报,2009.4 符强.基于的虚拟仪器人机界面模式设计J. 计算机系统应用.2007.95 屈尔庆.基于LABVIEW的信号发生器的设计J.现代电子技术2第11期总第322期.2009.12.6 王莉,杨鹏.基于LABVIEW的虚拟示波器的设计与实现J.扬州大学学报基,2010.1.7 王志国,王新,王书茂.基于LabWindows/CVI的虚拟信号发生器设计J.仪器仪表学报.2010.8,8(31):283286.8 龙飞,黄钊礼,魏亚东.基于声卡DA转换的虚拟信号发生器的设计与实现J.东莞理工学院学报.2009.6,16(3):9297.9 阮一晖,王富东.基于声卡的虚拟信号发生器J.智能仪器仪表.2006,12(3):5152.10 黄夫海,李岩. 基于声卡的虚拟信号发生器和频谱分析仪J. 计算机与网络.2008.3:526528.11 徐继宁,程志强.基于声卡的虚拟信号发生器设计与实现J.工业控制计算机.2007,20(2):727312 陈俊,魏占祯,王伟志,魏天虎.基于声卡的虚拟音频信号发生器的设计与实现J.电子科学.2008:1613 徐凌云.基于声卡和LABVIEW的虚拟仪器研制J.仪器仪表用户.2007.3:828314 张锋,吴先球.一款基于声卡的虚拟信号发生器的设计J.2009,9.22(3):6872.15 岳光俊,李筠.运用声卡的虚拟信号发生器设计J.2008,9.23:221223.16 刘全心,南建平. 基于LABVIEW的虚拟函数信号发生器的设计J.2007.5:313217 Jan Saliga,and Linus Michaeli 1. Software for metrological characterisation of PC sound cardsJ Technical University of Ko.2002,9.致 谢本科四年生活即将结束,毕业设计是对于知识运用能力的一次全面的考核,也是对我们进行科学研究基本功的训练,培养我们综合能力,学会运用所学知识独立地分析问题和解决问题,为以后撰写专业学术论文和工作打下良好的基础。首先要感谢我的母校浙江师范大学,给我创造了广阔的平台,在两次暑期在培训和比赛当中,通过老师的悉心指导下,使我不断地吸收专业知识,不断地提高自己的知识面。在毕业论文即将完成之际,我要衷心的感谢我的导师林祝亮副教授,在整个毕业设计当中都是在林老师的悉心指导下完成的,导师严谨的治学态度、广博的学识和对新知识孜孜以求的探索精神对我的学习乃至日后的生活都有莫大的启迪和帮助。感谢我的同门师兄刘德宝,在我的毕业设计技术工程中给予我很大的帮助和鼓励并给予很多有参考性的意见。感谢我的同门师兄李成中、姚杰、姚杰、李迪、王莹美、章近杰、汪洋、蒋慧敏对我的关心和支持。感谢对论文进行评审并提出宝贵意见的各位专家。最后感谢很多可敬的师长、同学、朋友给了我无言的帮助。 附录1. 程序:虚拟信号发生器前面板 虚拟信号发生器前面板虚拟信号发生器程序框图 虚拟信号发生器程序框图