罗久飞 赵双 韩冷 张毅(重庆邮电大学 先进制造工程学院,重庆 400065)
基于声卡的虚拟仪器在工程信号处理教学中的应用
罗久飞赵双韩冷张毅
(重庆邮电大学 先进制造工程学院,重庆 400065)
声卡是计算机的基本配置之一,价格低廉,使用方便;Delphi编程具有较强的灵活性;Matlab具有强大的数据分析和数据处理能力。通过声卡采集数据,利用Matlab分析处理信号,最后通过Delphi设计面板显示信号和分析结果,结合三者的优势可开发出人机界面友好,操作简便,功能强大,成本低廉的教学型虚拟仪器,轻松实现信号采集,信号处理等功能。利用虚拟仪器辅助教学能够有效提高学生的动手实践能力,对学生加深理解信号处理知识有很大帮助。
虚拟仪器;声卡;信号处理;Matlab
近年来,随着电路电子和数字信号处理器的飞速发展,信号处理技术已经在各领域中得到深入广泛的应用。尤其是在机械、电气、自动化、生物医学等工程领域中都涉及到信号的提取与处理问题。工程信号处理是工程类专业的基础技术课程,有着很强的理论性与实践性;它以培养学生掌握科学测试与信号分析理论技术、提高学生实践能力为主,因此很多专业都开设了工程信号处理课程[1]。
但是,目前工程信号处理教学中仍然存在诸多问题:(1)目前信号处理课程主要是以理论学习为主,学生对工程信号处理实验涉及较少;(2)没有清晰完整的实践教学体系,同时由于实验设备成本较高,特别是带有频谱分析和测量功能的仪器价格更为昂贵,使得工程信号处理课程的实验无法有效实施;(3)实验设备难以满足教学要求,学生不能通过实验去直观的学习工程信号知识;(4)学生不仅要学习传统的工程信号处理知识,还要不断地吸收理解最新的信号处理技术与知识。因此,目前的教学问题导致学生的学习内容抽象难懂。
虚拟仪器是指以计算机为核心,结合应用软件进行各种测试、测量,虚拟仪器可以代替传统的测量仪器[2]。将虚拟仪器应用到教学中有相当多的优点:(1)利用虚拟仪器进行工程信号处理的辅助教学为我们节省数据记录,形象展示处理过程和结果。(2)虚拟仪器使用方便,只需利用电脑便可以完成辅助教学,能可以很好地达到教学目的。(3)不必像传统实验仪器那样耗费大量时间接线组合仪器,教学效率高。(4)虚拟仪器成本低,灵活性强,可以根据操作者的需求设置功能。
目前的教学虚拟仪器主要有两种,一种是结合声卡利用Lab VIEW编程设计的,它提供了图形化编程的开发环境以实现虚拟仪器的设计开发[3]。但LabVIEW需要购买使用,而且还要使用NI公司提供的专用数据采集硬件,虽然功能强大,但价格也比较昂贵。另一种是基于Visual C++、Delphi、VisualBasic等通用编程软件,结合声卡设计实现虚拟仪器,虽然其适用面广、开发灵活,但是编程设计人员要有足够的编程经验和很强的调试能力,而且这些通用编程软件的数据分析与处理能力相对较弱[4]。
Matlab是常用的数学工具之一,拥有强大的数据分析和数值计算功能,而且它的信号处理工具箱,为其动态数据分析提供了丰富的函数[5]。但是,Matlab开发出的人机界面不够友好,灵活性不够。Delphi是可视化软件开发工具,它具有简单、高效、功能强大等特点[6]。因此,在实际开发应用中可利用声卡实现数据采集,利用 Delphi编写程序实现人机界面,利用Matlab做数据分析处理运算,将虚拟仪器技术引入工程信号处理的辅助教学中,有助于课程的理解,提高课程的教学质量。
(一)硬件实现
声卡是多媒体技术中最重要的组成部分,它价格低廉,使用方便。其最高采样频率可以达到44.1kHZ,对于音频信号能够实现双声道16位、高保真的数据采集,同时它还可以实现对信号的滤波、放大、采样保持、A/D和D/A转换等功能,因此,其功能与数据采集卡相当,甚至在某些功能上优于数据采集卡。所以,在进行教学性实验研究时可以利用声卡代替数据采集卡[7]。
作者简介:罗久飞(1987,02-),男,汉族,四川绵阳人,重庆邮电大学机械工程系讲师,博士,主要从事信号处理研究。
图1虚拟仪器原理框图
(二)软件实现
采用Delphi编程软件编写虚拟仪器的应用软件,设计人机交互界面,利用多线程技术实现数据采集、存储,波形显示等功能。由于Delphi在复杂数据分析处理时效率低于Matlab,因此,我们利用Delphi编写程序调用Matlab进行数据分析处理。利用Matlab中的快速傅立叶变换信号处理工具箱中的函数以实现频谱分析等功能。此外,我们还可以根据自身需要编写相应的处理函数和图形显示界面,使软件更加符合教学的需求,而且拥有更强的灵活性。
鉴于所设计的虚拟仪器主要用于辅助教学,因此主要有如下组成功能:
(一)声卡初始化和数据采集
虚拟仪器利用声卡进行信号采集。通过Delphi编写程序调用windows提供的API函数,设置声卡的基本参数初始化声卡,然后实现数据的采集。
(二)信号波形显示与分析功能
利用Delphi程序编程实现波形显示以及时域常用的处理算法等,使程序设计简洁方便,功能富丰,而且界面统一美观[4]。同时,界面还可以实现多个窗口显示,为辅助教学提供方便[10]。
(三)频谱分析功能等常用分析功能
Matlab中拥有强大的频谱分析的功能,可以利用Delphi编写程序,直接调用Matlab中的快速傅立叶变换(FFT)进行频谱分析。点击频谱分析按钮,启动频谱分析功能,利用FFT分析完成后在窗口显示出信号的幅值谱和相位谱等常用功能[10]。
(四)信号发生器
声卡包含D/A功能,因此设置可调节声卡输出的频率、幅值和相位实现信号发生器。同时,还可设置调节不同类型的信号,主要有以下几种常见的信号:正弦信号、方波信号、三角波信号、矩形波信号、锯齿波信号和普通噪声信号[11]。
(五)记录、保存
声卡采样的数据信号波形保存成wav文件[10],频谱分析等处理后的结果也可以保存为图片或者自动生成Word文档,以便于实验记录和生成实验报告,充分体现虚拟仪器的教学性。
(一)可操作性、演示性强
虚拟仪器辅助教学具有很强的可操作性,利用Delphi制作的显示界面简单直观,操作方便;学生可以根据自己的兴趣产生所需信号,观察信号特点,与理论知识相结合,不仅提高了学生的动手实践能力,增加了学生学习课程的兴趣,还有助于学生学习工程信号处理课程。
(二)成本低
开发传统仪器,需要专门的技术和高成本的硬件设施,这使得传统仪器价格昂贵并且更新缓慢。例如传统的波形发生器,功能非常强大,但是价格也异常昂贵。而虚拟仪器主要依靠编程设计的软件来实现传统仪器的功能,不需要大量资金购买仪器设备和硬件设施[12]。而且虚拟仪器可以同时测量多个参数,测量数据及时高效,教学中可以随时按照自身需求对虚拟仪器的功能进行设置,从而实现一机多用。因此,虚拟仪器使用方便,效果好,成本低[13]。
(三)高效性以及兼容性好
在传统信号处理试验中,通常需要集成多个测量设备完成测试,但是连接这些设备要花费大量人力和时间[14]。文章所设计的虚拟仪器对计算机硬件要求较低,学生只需将虚拟仪器软件下载至自己电脑,安装后即可使用。而且声卡是计算机的基本配置之一,因此无需其他的软件、硬件,虚拟仪器操作使用方便。
(四)教学性突出
将虚拟仪器应用到学生教学实验中,可以使传统仪器功能,包括数据采集、数据分析和数据显示等,都通过计算机软件来实现。有利于激发学员的学习兴趣,提高动手实践能力,贴近教学培养目标,并且可以全面提高学学生的综合素质[15]。同时,利用虚拟仪器设备,老师可以将讲过的信号处理知识布置成实验作业,加强学练结合,更加直观的理解理论知识,巩固所学知识点。
(五)扩展性好
由于软件的灵活性强大,虚拟仪器利用有限的硬件资源可以开发出多种多样的功能。传统仪器的功能已经被生产厂家限定,操作者只能完成相对固定的工作。与传统仪器相比,虚拟仪器可以根据用户本身需求量身定义功能。也就是说,设计虚拟仪器时,可以教学功能需求,不断完善软件系统,根据教学需要进行扩展和升级,从而能够满足各种不同的教学需
求[16]。
基于声卡的虚拟仪器,使用计算机声卡代替数据采集卡进行数据采集,教学性好,成本低廉;软件开发设计通过 Delphi和Matlab混合编程的方法实现,一方面应用了Delphi强大的软件开发能力,另一方面利用了Matlab在数值计算方面的强大优势,缩短了软件开发周期,降低了软件成本。
伴随着计算机技术的发展,虚拟仪器功能也越加强大,其成本也会越来越低。因此,将虚拟仪器应用到教学中不仅可以充分满足教学实验要求,节约教学成本,而且能够充分提高学生的学习能力。不可否认,将虚拟仪器应用到教学中将成为未来的重要发展趋势。
[1]隋秀华,王芳,戴向云,等.“工程测试与信号处理”课程教学改革研究[J].中国电力教育,2014(21):58-59.
[2]郝丽,赵伟.基于声卡的虚拟仪器教学[J].实验室研究与探索,2014,33(2):79-81.
[3]张锋,吴先球.一款基于声卡的虚拟双踪示波器的研制[J].汕头大学学报:自然科学版,2012,27(2):68-74.
[4]宋志强,周献中.基于C++Builder与Matlab的虚拟仪器设计与实现[J].实验室研究与探索,2012,31(12):228-230.
[5]张桂林,张烈平.基于声卡和Matlab的虚拟信号发生器[J].现代电子技术,2005,28(8):75-76.
[6]孙波.基于Delphi的多层分布式数据库的设计及其在远程抄表系统中的应用[D].山东科技大学,2007.
[7]梅秀庄,宋京伟,刘举平.基于声卡的信号采集系统设计[J].华东交通大学学报,2004,21(2):88-92.
[8]吴小丽,丁维明,程力.Delphi动态调用Matlab COM组件实现二者混合编程[J].工业控制计算机,2011,24(3):1-3.
[9]周媛,张颖超,叶小岭.Delphi与Matlab混合编程方法研究[J].电脑知识与技术:学术交流,2007,2(9):779-780.
[10]兰岸,倪江华.基于声卡的虚拟仪器在物理演示实验中的应用[J].中学物理教学参考,2007(12):31-32.
[11]王新新,王帆.基于声卡的虚拟仪器在通信专业教学中的应用[J].洛阳理工学院学报:自然科学版,2011,21(3):80-83.
[12]梁红,薛宁,孙玉晓.虚拟仪器的发展以及在化学工程领域中的应用[J].广州化工,2010,38(11):70-72.
[13]王腊节.基于虚拟仪器技术的动态应变测试仪研究[D].南昌大学,2011.
[14]吴俊.基于LabVIEW的虚拟实验室的研究[D].南昌大学,2012.
[15]王成刚,应朝龙,李建海,等.基于声卡的虚拟仪器开发及其在教学中的应用[J].测控技术,2009,28(9):77-79.
[16]刘凤,李志勇.论虚拟仪器在教学中的优点[J].煤炭技术,2012,31(7):208-209.
As one of the basic components of computer,sound card is advantageous for its lower cost and easy usage.Delphi programming is of stronger flexibility and Matlab has strong capacity for data analysis and data processing.By combining the advantages of the three parts after collecting data via sound card,analyzing and processing signal by Matlab,and displaying signal and analysis results through Delphi design panel,it can develop a teaching-type virtual instrument which is low-cost,and simple to control with a user-friendly human-computer interface and powerful functions.It is easy to perform functions such as signal collection and signal processing.The teaching-type virtual instrument can be used to effectively improve students'practical abilities and enhance their understanding on signal processing.
virtual instrument;sound card;signal processing;Matlab
2096-000X(2016)15-0121-03
G642
A