摘要:结合电子信息工程专业教学改革实践,采用虚拟仪器技术,利用计算机声卡作为波形采集和输出设备,配合连通现实世界的电压转换模块,设计并实现了教学用多功能虚拟仪器系统。该系统具有示波器、频谱分析仪、波形发生器三大功能。仪器软件部分采用VC++开发,硬件部分为自设计的电压转换模块。
关键词:虚拟仪器;VC++;声卡;示波器;频谱分析;波形发生
中图分类号:TP311.52 文献标识码:A文章编号:1007-9599 (2010) 11-0000-02
The Design&Implementation of Multi-function Virtual Instrument System in Teaching
Lu Ying,Xu Quanyuan
(Southwest Forestry University,Kunming650224,China)
Abstract:Combining teaching reform practice of electronic information engineering major,using virtual instrument technology,basing computer sound card as waveform sampling and output device,which connected to the real world by voltage conversion module,we design and implement Multi-function virtual instrument system in Teaching.It implements the functions of oscilloscope,spectrum analyzer and wave generator.The software part uses VC++ development.The hardware part uses own designed voltage converter module which can connect computer sound card and the real world.
Keywords:Virtual equipment;VC++;Sound card;Oscilloscope;Spectrum
analyzer;Wave generator
一、引言
《信号与系统》和《数字信号处理》是电子信息工程专业两门非常重要的专业基础课程。由于两门课程概念抽象,理论性强,数学推导繁杂,课程教学长期处于教难、学更难的境况。再加上实验教学所需大量配套的电子测量设备价格昂贵,给实验教学带来了很大限制。所以,我们要利用计算机进行辅助教学CAI,这是传统教学手段上的一大突破。因此,开发一个应用于实验教学的集示波器、频谱分析仪、波形发生器功能为一体的多功能虚拟仪器(Virtual Instruments简称VI)系统,必可以从一定程度上缓解学生的理论学习和实验严重脱节的现象同时,节约大量的人力、物力、财力。
虚拟仪器通过软件开发平台将计算机硬件资源与仪器硬件有机地融为一体,把计算机强大的数据处理能力和仪器硬件的测量、控制能力结合在一起,通过软件实现对数据的显示、存储及分析处理。所以有“软件就是仪器”之称虚拟仪器的出现是仪器发展史上的一场革命,代表着仪器发展的最新方向和潮流,是信息技术的一个重要领域。
考虑到利用虚拟仪器进行实验教学通常要用到A/D采集卡,而A/D采集卡价格不菲,不能较多地购置。在对采样频率要求不高的情况下,可以利用计算机的声卡进行数据的输入和输出。因为声卡现在已是多媒体计算机的一个标准配置,且声卡本身就是一个A/D、D/A的转换装置。本文开发了基于声卡的多功能虚拟仪器,利用计算机声卡可在音频范围内代替专用的数据采集卡进行数据采样和输出,不需增加任何硬件就能使计算机成为信号发生器,具有成本低廉、兼容性好、灵活性强等特点。
由于VC++具有强大的底层操作功能,具有能较灵活地处理声卡的一些底层函数,在方便对硬件操作的同时,保障了系统的实时性,故采用VC++开发。
二、系统总体结构
系统的总体结构如图1所示。声卡作为语音信号与计算机的通用接口,其主要功能就是将所获取的模拟音频信号转换为数字信号,经过音效芯片的处理,将该数字信号转换为模拟信号输出。设计完成的电压转换硬件模块完成现实世界中的0~5V电压转换成音频接口可接受的电压10mV~100mV,从而使设计的虚拟仪器的信号源不受计算机音频接口电压限制。基于声卡的虚拟仪器基本工作流程为:音频信号通过电压转换模块连至(或直接通过)麦克风或Line In送到计算机进行数据分析处理等各种操作,由虚拟示波器显示波形,同时由频谱分析仪实时显示其频谱;也可通过向声卡传送数据产生多种参数可调的波形数据,实现波形发生器的功能;计算机通过声卡的Line Out插孔将音频信号通过电压转换模块(或直接)送到外部设备,实现虚拟信号源的功能。
三、软件设计
虚拟仪器界面分左右两个窗口同时显示波形的时域视图和频域视图,具有波形显示、频谱分析、波形发生三大功能。
(一)示波器
示波器在仪器界面左边的时域窗口显示,具有波形显示;波形存储;幅度展宽/缩减;时域展宽/缩减;实时获取数据;添加网格坐标,动/静态分析波形的功能。同时可在任务栏上实时获得信号时间和幅度的瞬时值。
在时域视图的编程采用VC++的底层音频函数进行编程。这是因为较高层音频服务函数来说,底层音频服务函数的功能更为强大,诸如对声音进行实时处理,对声音波形实时控制等。对波形设备而言,无论是播放还是录制波形,系统要处理的数据量都很大,为了少占用内存,底层音频服务以数据块为单位进行处理。它要求应用程序自己分配内存,并将内存块的地址、大小等信息告诉底层音频驱动程序,使其为录放音频操作做好准备。
音频播放时,应用程序将要播放的数据填充到这个内存块,然后通知驱动程序播放该块。驱动程序播放数据在后台进行,应用程序可以在前台继续做自己的工作。当一块音频播放完时,应用程序再向驱动程序提供新的数据,如此反复,直到音频数据播放完毕。音频录制的过程与播放类似,不同之处在于应用程序向驱动程序提供的内存块是供驱动程序录制音频数据的缓冲区,当驱动程序录制充满了给定的缓冲区后,会以某种方式通知应用程序做一定的处理,如将数据存盘等。
采用的基本底层音频函数有:WaveOut(In)Open;WaveOut(In)Close;WaveInStop;;WaveOut(In);
PrepareHeader;WaveOut(In)UnPrepareHeader;WaveOut(In)Write;WaveInReset;WaveInAddBuffer;WaveOut(In)GetNumDevs;WaveOut(In)GetDeviceCaps。
(二)频谱分析仪
频谱分析仪在仪器界面右边的频域窗口显示,具有频谱存储;幅度展宽/缩减;频域展宽/缩减;实时获取数据;连续、离散、分贝、相位视图;添加网格坐标;动/静态分析频谱的功能。时可在任务栏上实时获得信号频率和幅度的瞬时值。任意音频信号的时域、频域视图如图2、图3所示。
本次设计采用快速傅利叶变换(FFT)使音频波形频谱实时地显示在频域视图,并将其封装为函数,方便调用。由于很多文献都有介绍,笔者在此不在叙述。
(三)波形发生器
波形发生器可产生11种参数可调的基本波形:正弦波、方波、三角波、噪声、调幅(AM)、调频(FM)、调相(PM)、双边带(DSB)、幅移键控(ASK)、频移键控(FSK)以及相移键控 (PSK)。可在通过示波功能观察产生的各种信号时域波形的同时,通过频谱分析功能观察其相应的频谱。如图4、图5所示
四、硬件设计
利用多媒体计算机的通用外设---声卡,作为波形采集和输出设备,配合连通现实世界的电压转换模块,以完成对计算机声卡外界现实世界中5伏以内信号的衰减或放大处理,以满足计算机声卡音频口输入输出电压指标,从而使本虚拟仪器的采集信号源可扩展到现实世界中更多的信号。该硬件模块主要包括对应于计算机音频输入口的信号增益衰减部分和对应于计算机音频输出口的信号增益放大部分。
五、结束语
实践证明,结合电子信息工程专业教学改革实践,基于声卡的教学用多功能虚拟仪器性价比高,通用性强,性能稳定可靠,可以应用于《信号与系统》、《数字信号处理》及示波器、波形发生器、频谱分析仪等实验设备的教学演示中。随着声卡性能的日益提高,其低成本和高普及率为基于声卡的虚拟仪器开发提供了无比优越的条件。
参考文献:
[1]韩智慧,徐晓东,张伦.虚拟仪器软件平台设计[J].华北工学院测试技术学报,2002,39
[2]孙晓云.基于LabWindows/CVI的虚拟仪器设计与应用(第2版)[M].北京电子工业出版社,2010
[3]王成刚,应朝龙,李建海,杨帆.基于声卡的虚拟仪器开发及其在教学中的应用[J].测控技术,2009,28(9)
[4]胡合松,胡荣强.基于VC++的虚拟声卡示波器设计[J].武汉理工大学学报.信息与管理工程版,2006,28(5)
[5]徐丹,胡荣强.刘柱.基于声卡的数据采集及波形发生器设计[J].中国水运.2006,6(10)
[6]李博轩.Visual C++6.0多媒体开发指南.北京:清华大学出版社,2000.36—75
[7]丁玉美,高西全.数字信号处理(第二版).西安:西安电子科技大学出版社,2001.97-103
[8]樊昌信,张甫翊,徐炳祥,吴成柯.通信原理(第5版).北京:国防工业出版社,2001.63-187.
作者简介:鲁莹(1981-),女,云南省昆明市人,讲师,硕士,主要研究方向为信号处理,虚拟仪器;徐全元(1979-),男,云南省昆明市人,讲师,硕士,主要研究方向为信号处理
推荐访问: 多功能 教学 虚拟仪器 设计 系统