湖北大学本科毕业论文设计
归纳起来Labview软件开发平台具有以下优点:
1、图形化的编程方式,设计者无需 写任何文本格式的代码,是真正的工程师的语言。 2、提供了丰富的数据采集、分析及存储的库函数。
3、既提供了传统的程序调试手段,如设置断点、单步运行,同时提供有独到的高亮执行工具,使程序动画式运行,利于设计者观察程序运行的细节,使程序的调试和开发更为便捷。
4、32bit的编译器编译生成32bit的编译程序,保证用户数据采集、测试和测量方案的高速执行。
5、囊括了DAQ, GPIB, PXI, VXI, RS-232/485在内的各种仪器通信总线标准的所有功能函数,使得不懂总线标准的开发者也能够驱动不同总线标准接口设备与仪器。
6、提供大量与外部代码或软件进行连接的机制,诸如DLL(动态连接库)、DDE(共享库)、ActiveX等。
7、强大的Internet功能,支持常用网络协议,方便网络、远程测控仪器的开发。 图形化程序设计编程简单、直观、开发效率高。随着虚拟仪器技术的不断发展,图形化的编程语言必将成为测试和控制领域内最流行的发展趋势。
1.6 本章小结
本章主要讲述了虚拟仪器的基本概念、虚拟仪器的组成以及信号发生器的简单介绍。虚拟仪器利用个人计算机强大的图形环境和在线帮助功能,建立虚拟仪器面板,完成对仪器的控制,数据分析与显示,代替传统仪器,改变传统仪器的使用方式,提高仪器的功能和使用效率,大幅度降低仪器价格,使用户可以根据自己的需要定义仪器的功能。虚拟仪器可广泛应用于电子测量、电力工程、矿物勘探、医疗、振动分析、声学分析、故障诊断及教学科研等诸多领域。
7
湖北大学本科毕业论文设计
第2章 基于声卡的虚拟仪器
2.1 基于声卡数据采集系统的虚拟仪器开发
在虚拟仪器系统中,信号的输入环节一般采用数据采集卡实现。商用的数据采集卡具有完整的数据采集电路和计算机借口电路,但一般比较昂贵,计算机自带声卡是一个优秀的数据采集系统,它具有A/D和D/A转换功能,不仅价格低廉,而且兼容性好、性能稳定、通用性强,软件特别是驱动程序升级方便。如被测对象的频率在音频范围内,同时对采样频率要求不是太高,则可考虑利用声卡构建一个数据采集系统。
从数据采集的角度来看,声卡是一种音频范围内的数据采集卡,是计算机与外部的模拟量 环境联系的重要途径。声卡的主要功能包括录制与播放、编辑和处理、MIDI接口三个部分。
2.2 声卡的硬件结构
图2.1是一个声卡的硬件结构示意图。一般声卡有4到5个对外接口。
图2.1 声卡的硬件结构
声卡一般有Line In 和Mic In 两个信号输入,其中Line In为双通道输入,Mic In仅作为单通道输入。后者可以接入 较弱信号,幅值大约为0.02~0.2V。声音传感器(采用通用的麦克风)信号可通过这个插孔连接到声卡。若由Mic In 输入,由于有前置放大器,容易引入噪声且会导致信号过负荷,故推荐使用Line In ,其噪声干扰小且动态特性良好,可接入幅值约不超过1.5V的信号。另外,输出接口有2个,分别是Wave Out和SPK Out。Wave Out(或Line Out)给出的信号没有经过放大,需要外接功率放大器,例如可以接到有源音箱;SPK Out给出的信号是通过功率放大的信号,可以直接接到喇叭上。这些接口可以用来作为双通道信号发生器的输出。
8
湖北大学本科毕业论文设计
2.3 声卡的工作原理
声音的本质是一种波,表现为振幅、频率、相位等物理量的连续性变化。声卡作为语音信号与计算机的通用接口,其主要功能就是将所获取的模拟音频信号转换为数字信号,经过DSP音效芯片的处理,将该数字信号转换为模拟信号输出。输入时,麦克风或线路输入(Line In)获取的音频信号通过A/D转换器转换成数字信号,送到计算机进行播放、录音等各种处理;输出时,计算机通过总线将数字化的声音信号以PCM(脉冲编码调制)方式送到D/A转换器,变成模拟的音频信号,进而通过功率放大器或线路输出(Line Out)送到音箱等设备转换为声波。
2.4 声卡的配置及硬件连接
使用声卡采集数据之前,首先要检查Line In 和Mic In的设置。如图2.2,打开“音量控制”面板,在“选项”的下拉菜单中选择“属性”,得到如图2.3的对话框,在此对话框上选择“录音”,并配置列表中的选项即可。可以通过控制线路输入的音量来调节输入的信号的幅度。
图2.2 音量控制面板
图2.3 音量控制面板属性更改及录音控制面板
声卡测量信号的引入应采用音频电缆或屏蔽电缆以降低噪声干扰。若输入信号电平高于声卡所规定的最大输入电平,则应该在声卡输入插孔和被测信号之间配置一个衰减器,将被测信号衰减至不大于声卡最大允许输入电平。一般采用两种连接线:a.一条一头是3.5mm的
9
湖北大学本科毕业论文设计
插孔,另一头是鳄鱼夹的连接线;b.一条双头为3.5mm插孔的音频连接线。我们也可以使用坏的立体耳机做一个双通道的输入线,剪去耳机,保留线和插头即可。
2.5 声卡的主要技术参数
采样位数
采样位数可以理解为声卡处理声音的解析度。这个数值越大,解析度就越高,录制和回放的声音就越真实。声卡的位是指声卡在采集和播放声音文件时所使用数字声音信号的二进制位数。声卡的位 客观地反映了数字声音信号对输入声音信号描述的准确程度。8位代表2的8次方——256,16位则代表2的16次方——64?103。比较一下,一段相同的音乐信息,16位声卡能把它分为64?103个精度单位进行处理,而8位声卡只能处理256个精度单位,造成了较大的信号损失,最终的采样效果自然是无法相提并论的。位数越高,在定域内能表示的声波振幅的数目越多,记录的音质也就越高。
采样频率
每秒钟采集声音样本的数量。采集频率越高,记录的声音波形就越准确,保真度就越高。但采样数据量相应变大,要求的存储空间也越多。目前,声卡的最高采样频率是44.1KHz,有些能达96KHz。一般将采样频率设为4挡,分别是44.1KHz、22.05KHz、11.025KHz、8KHz,这个频率也是DAC输出信号的采样频率。对于20KHz 范围内的音频信号,如果最高采样48KHz,虽然理论上没有问题,但效果已经不是很好。因而使用声卡的局限性在,它不允许用户在最高采样率下随意设定采样频率。
缓冲区
与一般数据采集卡不同,声卡面临的D/A和A/D任务通常是连续的。为了在一个简洁的结构下较好地完成某个任务,声卡缓冲区的设计有其独到之处。为了节省CPU资源,计算机的CPU采用了缓冲区的工作方式。在这种工作方式下,声卡的A/D、D/A都是对某一缓冲区进行操作。一般声卡使用的缓冲区长度的默认值是8192字节,也可以设置成8192字节或其整数倍大小的缓冲区,这样可以较好地保证声卡与CPU的协调工作。声卡一般只对20到20kHz的音频信号有较好的响应,这个频率响应范围已经满足了音频信号测量的要求。
基准电压
声卡不提供基准电压,因此无论是A/D还是D/A,在使用时,都需要用户参照基准电压进行标定。
声卡的频率范围和频率响应
以声卡作为虚拟测试仪器的硬件设备必需对其频率特性有所了解。一个性能良好的测试设备应在其使用频率范围内有良好的频率响应特性,即幅频特性近似为常数,相位特性近似为线性。对于虚拟信号发生器,如果是按给定频率输出,则直接相关的是其幅频特性。在使用中具体表现为当设定输出幅值为常数时,在不同的频率下其输出波形的幅值应该保持常数。通常声卡在设计上主要保证20~20000Hz 的音频范围内有较好的品质,即在该频带内幅频特性曲线应平直。
目前一般的声卡最高采样频率可达96KHz;采样位数可达13位甚至32位;声道数为2,即立体声双声道,可同时采集两路信号;每路输入信号的最高频率可达22.05KHz,输出16位的数字音频信号,而16位数字系统的信噪比可达96dB。
10
湖北大学本科毕业论文设计
2.6 Labview中有关声卡的控件介绍
利用声卡作为声音信号的数据采集卡,可以方便快捷地连接一个采集声音信号的VI。与声音信号相关的函数节点位于程序框图下【函数】选板下【编程】函数选板的【图形与声音】函数子选板的【声音】函数选板的各子选板,如图2.4所示
图2.4 Labview中声卡控件
用Labview处理声卡的操作步骤如下:
(1)打开释放声卡。在使用声卡之前,必须先对其进行初始化。一般声音输出设备不可共享,若在某个程序运行之前,设备已被其他应用程序占用,则此应用程序不能再使用该设备。所以,在程序中一旦对声卡使用完毕,应立即释放它。函数Sound Output Configure. vi用于配置和开启声卡;Sound Output Clear. vi用于释放已经打开的声卡。
(2)数据写入。音频输出函数播放声音时,底层音频函数需要应用程序分配内存块,并传给波形输出设备,而且所分配的内存块还必须有相应的结构。但实际编程时,不需要具体组织内存以使它具有特定的格式。一旦数据准备好,就可以调用Sound Output Write. vi将其传给声卡驱动程序进行播放输出。
(3)音量控制。函数Sound Output Volume. vi用于设定波形输出设备的音量。数字化的声音数据使用PCM(脉冲编码调制)波形音频格式。Labview 中的声音格式分为mono 8-bit(单声道8位)、mono 16-bit(单声道16位)、stereo 8-bit(立体声8位)和stereo 16-bit(立体声16位)。若用单声道采样,左右声道信号都相同,而且幅值为原信号的一半;若用立体声采样,左右声道互不干扰,可以采集两路不同的信号,而且幅值与原信号相同;声卡播放数据的刷新速率(update rate) 有4种,即8000Hz、11025Hz、22050Hz 和44100Hz ,速率不同,输出波形的质量也不同,应视具体情况选择合适的速率。本文根据主流声卡的性能指标,默认设置刷新速率为44100Hz ,采样位数为16bit,输出方式为单声道,这样采样的波形稳定,而且干扰小。声卡输出信号的频率范围与声卡的型号有关,其正弦波频率一般在20Hz~20kHz之间。
11