基于虚拟技术的信号发生器的设计与仿真
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于虚拟技术的信号发生器的设计与仿真
张大为;李建海;刘迪
【摘要】针对传统信号发生器体积庞大,接口不灵活,系统封闭,不易开发、扩展等缺点,基于直接数字合成技术,以LabVIEW为开发平台设计了一种新型的虚拟信号发生器。
通过在LabVIEW环境下编程实现数字信号序列的生成,利用计算机的声卡完成数/模转换和低通滤波。
对设计的虚拟信号发生器进行了仿真研究,仿真结果表明,该信号发生器可产生正弦波、三角波、方波、锯齿波以及各种自定义波形,并可根据需要设定波形的参数,实现了数据分析处理、人机交互和显示等功能,具有性价比高、操作简单、扩展性强等优点。
%A new type of virtual signal generator based on direct digital synthesis technology and Lab VIEW is presented in allusion to the traditional signal generator's shortcomings: large volume, not flexible interface, closed system, not easy to develop and expand. In the LabVIEW environment, it can generate the digital signal sequence by programming and complete D/A conversion and low-pass filtering by using sound card. By means of simulation on the virtual signal generator, the signal generator can generate sine waveform, triangle waveform, square waveform, sawtooth waveform and a variety of user-defined waveform and can be set waveform parameters according to the requirements. It also has the following functions: data analysis processing, human-computer interaction and displaying with so many advantages such as high cost performance, simple operation and strong expansibility.
【期刊名称】《船电技术》
【年(卷),期】2012(032)009
【总页数】3页(P9-11)
【关键词】虚拟技术;信号发生器;LabVIEW
【作者】张大为;李建海;刘迪
【作者单位】海军航空工程学院控制系,山东烟台264001;海军航空工程学院控制系,山东烟台264001;海军航空工程学院控制系,山东烟台264001
【正文语种】中文
【中图分类】TP216
0 引言
信号发生器是在科学研究和工程设计中广泛应用的一种通用仪器,通常用于电子电路的性能测试和参数测量[1]。
传统的信号发生器是封闭的系统,具有信号输入、输出的能力,并有固定的用户界面,但普遍存在着接口不灵活,系统封闭,功能固定,不易开发、升级、维护等缺陷。
虚拟仪器(Virtual Instrument,VI)是二十世纪90年代发展起来的一项新技术,它将计算机与功能化硬件模块有机结合,用户可通过图形界面操作计算机[2]。
在虚拟仪器中,图像和数据采集、分析控制、结果输出等功能均由软件完成,硬件仅仅用于解决信号的输入输出,体现了“软件即仪器”的思想。
LabVIEW是由美国国家仪器公司创立的一种功能强大而又灵活的仪器和分析软件应用开发工具,它提供一系列工具用于数据显示、用户界面设计、Web信息发布、报告生成、数据管理及软件连接。
利用 LabVIEW 可以方便
快捷地建立自己的虚拟仪器,进行原理研究、设计、测试,并实现仪器系统,极大提高了工作效率[3,4]。
本文设计的信号发生器硬件部分采用技术成熟可靠的声卡
作为数据采集设备;软件部分依托LabVIEW 2009虚拟仪器开发平台进行功能模
块开发。
1 信号发生器总体结构
信号发生器总体结构如图1所示。
硬件部分采用普通计算机的声卡作为数据采集
设备,软件部分采用图形化编程语言LabVIEW。
图1 虚拟信号发生器的总体结构
虚拟信号发生器产生的波形通过声卡转换输出,经过适当的电压调节电路,就可作为实验电路的激励信号源,同时,实验电路的输出信号经过电压调节后,送入声卡转换,再由虚拟示波器分析和显示。
虚拟示波器采集信号时,信号通过声卡的Line In输入;虚拟信号发生器输出信号时,信号通过声卡的Line Out输出。
系统中的电压调节只对超出声卡电压范围的信号进行调节,对于满足电压范围的一般信号则不需调节。
信号采集时,输入电压不能太大,一般声卡接受的上限是1.5 V,若测量大于1.5
V的信号时,需外接信号调理电路,把信号衰减到声卡的量程范围之内;信号输出时,输出电压一般较小,若需输出高于1.5 V的电压信号时,则需要外接信号调理电路,按比例调整信号。
2 信号发生器硬件选择
利用虚拟仪器技术设计开发信号发生器实际是利用采集卡的模拟输出功能来连续产生由软件设定好的仿真信号。
仿真信号是指按照信号变化规律,采用时间间隔取样函数值的方法得到的用离散时间序列表示的数字信号,可用于取代实际模拟信号的离散值。
声卡作为语音信号与计算机的通用接口,其主要功能是经过DSP音效芯片的处理,
进行模拟音频信号和数字信号的转换,因此,就其功能看,声卡完全可作为一块数据采集卡来使用[5]。
并且声卡价格低廉、性能稳定,现在普通计算机上均已集成了声卡,在教学实验中以声卡取代常规的数据采集设备不失为一种很好的选择,而且LabVIEW中提供了很多用于声卡操作的函数,所以用声卡搭建数据采集系统是非常方便的。
声卡主要由声音控制/处理芯片、功放芯片、声音输入/输出接口三部分组成。
其工作流程如图2所示。
声卡录音工作流程为:模拟音频信号经过声卡前置处理器及A/D转换后送入缓冲区,通过各种数字信号处理手段对出入缓存区的数据进行处理,完成声音降噪、音效处理等工作,最后将处理好的数据保存到储存设备。
声卡声音信号回放流程为:把处理好的数据传送到输出缓冲区,经由声卡的D/A 转化,将数字信号转换成模拟信号,经功率放大送到扬声器。
图2 声卡工作流程
在实际数据采集和信号输出时,分别选用Line In和Line Out接口,通过3.5 mm音频插头将信号从声卡的Line In接口输入,从Line Out接口输出。
本文信号发生器设计中考虑到实验仪器的实际操作特点,采用了如图3所示的连续模拟信号输出机制。
首先,创建任务并完成通道配置,然后将初始信号模板写入要输出的缓存中,继而启动任务开始模拟输出,接下来进入循环,在循环中继续生成信号模板并写入输出缓存。
这样在硬件设备将缓存数据连续输出到数模转换器的同时,程序定时将一段新的信号模板写入缓存,只要设置合适的缓存大小,就能使写入和输出互不干扰,此时,只要保持前后输入的信号模板连续,输出信号也即连续。
采用此种机制,信号模板无需是整周期的,而且信号参数的改变也不会影响任务的执行。
图3 虚拟信号发生器信号生成流程图
3 信号发生器软件实现
LabVIEW图形化程序设计语言编程简单、直观、开发效率高,适用于构建简单的
虚拟仪器,因而选择LabVIEW作为开发平台。
LabVIEW应用程序称为VI,每个
VI都由程序前面板、框图程序和图标连接三部分组成[6]。
程序前面板模拟真实仪
表的前面板,用于设置输入数值和观察输出量。
每块程序前面板都对应一段框图程序,框图程序采用 LabVIEW 图形编程语言编写,图标连接器是调用子程序的接口,利用连线工具即可与其它程序模块相连.利用框图程序编辑好三个VI,建成信号发
生器图标、系统图标、示波器图标。
这样,实验时只需调用这几个图标,在框图程序编辑面板上用连线工具连接即可组成虚拟试验系统。
实验时,首先选择系统类型和参数,然后在程序前面板上的信号发生器中选择激励信号与频率值,虚拟示波器即可得到输出波形。
本文设计的软件程序调用了几个有关声卡的重要子VI,具体构造过程如下:
第一,调用Sound Out Configure.vi配置声卡并开始进行信号的输出,程序默认设置采样速率为44.1 kHz,通道数为2,采样位数为16位,缓存大小为每通道5000个样本。
第二,循环结束后,调用 Sound Output Write.vi,向缓存中写入由仿真信号发生
模块产生的仿真信号,在外面加一个While循环,实现连续写入数据。
第三,循环结束后,调用 Sound output Clear.vi,停止输出并执行相应的其它操作。
4 信号发生器仿真结果
虚拟信号发生器的前面板主要分为三个部分:公共参数设置部分、各类信号参数设置部分和输出波形显示部分。
公共参数设置部分可以设置声卡的采样参数、采样速率、采样位数、输出通道和缓存区容量,同时实现信号发生器功能的选择;在公共参数设置部分选择想要得到的波形,然后在信号参数设置部分对波形参数进行设定;输出波形显示部分可以清楚
的看到当前输出信号的理论波形。
系统调试表明,设计的信号发生器可实现如下功能:有标准的正弦波、方波、三角波、锯齿波波形输出;有叠加正弦波、高斯白噪声及各种自定义波形输出;可以将波形保存在文本文件中;能够从波形的文本文件中读出波形并在前面板显示;可以方便地调整各类波形的参数设置。
5 结论
以LabView为开发平台,设计了一种性能良好的虚拟信号发生器。
该信号发生器采用声卡作为数据采集设备,软件部分依托LabView进行模块化设计。
设计的虚拟信号发生器能出色地完成各种信号的生成功能,充分发挥了虚拟仪器技术在数据采集和信号生成中的优势,具有结构简单、操作简便、扩展性强等优点。
参考文献:
[1]陈小桥, 黄恩民, 张雪滨等. 基于单片机与 AD9851的信号发生器[J]. 实验室研究与探索, 2011, 30 (8):98-102.
[2]黄松岭, 吴静. 虚拟仪器设计基础教程[M]. 北京:清华大学出版社, 2008.
[3]陈永明, 王红超, 李继芳等. 基于 LabVIEW 的波形发生器[J]. 电子测量技术, 2006, 29(5): 84-86.
[4]张桐, 陈国顺. 精通LabVIEW程序设计[M]. 北京:电子工业出版社, 2008.
[5]肖立, 卢再奇, 付强. 利用声卡形成正弦波函数发生器[J]. 微处理机, 2003, (3): 54-56.
[6]郭山国, 王国章, 王建军等. 基于LabVIEW的虚拟信号发生器的设计研究[J]. 机械工程与自动化,2011, 166(3): 10-11.。