基于声卡的多功能测试系统王洪伟几乎每台电脑或掌上电脑都有一个内置声卡。声卡通常被用来作为音频输入输出设备,用于记录、合成和回放语言、音乐和歌曲。然而,声卡其实可以做得更多。从测控的角度来看,声卡是一个具有双通道模数转换(ADC)和双通道数模转换(DAC)的信号采集和输出设备。它在音频范围内具有平滑的频率响应,采样频率通常为44.1kHz和48kHz,昀大可达192kHz,采样位数通常为16bit,昀大可达24bit。由于声卡内部都带有增益控制(例如:话筒音量控制、话筒提升控制、线路输入音量控制),即使在不外加信号放大或衰减电路的情况下,它也可以测量从1微伏到1伏左右的信号。声卡支持以连续数据流模式工作,因此可完全利用电脑自身的内存(从数百MB到数GB)或电脑的硬盘(从数十GB到数百GB)来进行数据的不间断存储。与普通的独立式数字存储示波器相比,基于电脑声卡的测试系统的存储深度极大。今日个人电脑的运算速度和存储能力已远非二十年前的286中央处理器、1MB内存、10MB硬盘空间可比,可实时进行包括频谱分析所需要的快速傅里叶变换(FFT)等在内的复杂运算,这使得以前需要采用的极其昂贵的独立式传统仪器才能实现的功能,可通过电脑虚拟仪器软件以极低的成本来实现,而且维护方便,可不断升级。测量精度由声卡的质量决定。通常是外置声卡昀好,其次是内置独立声卡,昀后是板载声卡。专业级声卡优于消费级声卡。一块专业级声卡的总谐波失真+噪声(TotalHarmonicDistortionplusNoise,THD+N)可小于0.001%(-100dB),信噪比(Signal-to-NoiseRatio,SNR)可大于110dB,带宽可达1Hz~96kHz,因此能几乎完美地测量音频甚至略微超过音频范围的信号。从价格上讲,即使是专业级声卡,其价格也远低于同类的专业ADC或DAC卡。声卡的时基精度通常为0.00x%,即:几十ppm。例如,一个时基精度为0.002%的声卡,在采样频率为48kHz时,其误差仅为0.96Hz。那么,声卡适合测量什么呢?它可以近乎完美地测量任何在音频范围内的信号,例如:声音、振动、心肺音、脑电、心电、地震波,电源谐波等,根据所用传感器的不同而不同,当然还要看所采用的软件所提供的功能。目前市面上基于声卡的虚拟仪器软件有不少,从免费的到售价上万元人民币的都有。部分付费软件也提供了免费下载,以让用户试用其部分或全部功能。配上这类软件,无需添加任何ADC和DAC硬件,即可将一台电脑或掌上电脑变成一台集示波器、频谱分析仪、信号发生器、频率计、声压计等多种功能于一体的测试仪器。一、基于声卡的测试系统的基本架构图1为基于声卡的测试系统的基本架构图,可分为四层。昀底层为传感器和执行器层,其上为数据采集和数据输出硬件层,再上面为驱动程序层,昀上面为虚拟仪器软件层。1、传感器和执行器层任何在音频范围内甚至略微超过音频范围的物理信号,都可以通过相应的传感器转变为电信号,然后通过声卡的话筒输入或线路输入送到声卡内,进行测试和分析。根据传感器输出信号的强弱、输出阻抗的高低以及声卡的增益和输入阻抗的高低来决定是否需要在传感器与声卡之间插入前置放大器。与普通数据采集卡不同的是,声卡自身已带有前置放大器,能直接接受比较微弱的信号,例如来自话筒的信号。有些声卡还能为需要+15~+48幻象电源的专业话筒提供电源。执行器用于将声卡线路输出口或扬声器输出口送出的电信号,直接或在经过驱动器后转变为物理量,例如扬声器、耳机等。传感器和执行器层也可以是直接对电信号进行输入输出的示波器探头或测试导线。信号发生器失真分析仪3输出混音器输入混音器ADCDAC话筒输入线路输入扬声器输出线路输出声卡硬件驱动程序内核模式混音器驱动程序KMixeMME驱动程序ASIO驱动程序虚拟仪器软件声卡Windows录音控制面板示波器频谱分析仪频谱瀑布图声谱图Windows音量控制面板数据记录仪振动计网络分析仪相关分析仪传感器及前置放大器执行器及驱动器频率计声压计LCR表12图1基于声卡的测试系统的基本架构2、数据采集和数据输出硬件层此层由声卡构成。输入进声卡的模拟信号先经过输入混音器,然后进行模数转换(ADC)变为数字量后上传电脑。输入混音器可通过Windows的录音控制面板来控制,以选择录音音源(例如:话筒输入、线路输入、CD唱机、波形输出混音等)并可独立调节各音源的增益。当声卡用作信号采集器时,通常采用线路或话筒输入。话筒输入通常还带有一些高级控件,例如:话筒提升(MicrophoneBoost)等。若选择“话筒提升”可额外提高话筒增益10倍,即20dB。注意:在将声卡用于测量时,应禁止使用各种音调控制和自动增益控制(AGC),以保持信号的真实性。电脑输出的数字信号先经过数模转换(DAC)变为模拟信号后,输入到输出混音器,昀后从线路或扬声器输出。输出混音器可通过Windows的音量控制面板来控制,以选择放音音源(例如:波形、软件合成器、话筒输入、线路输入、CD唱机等)并可独立调节各音源的增益。当声卡用作信号发生器时,应选用“波形”作为放音音源,而将其它音源静音。注意:WindowsVista与以前的Windows版本相比,在声卡的输入输出混音器的操作方式和界面上有所不同,但都能实现相同功能。3、驱动程序层此层由声卡硬件驱动程序、内核模式混音器驱动程序(KMixer)、MME(MicrosoftMultimediaExtension)驱动程序或ASIO(AudioStreamInput/Output)驱动程序等构成。声卡硬件驱动程序是昀底层的直接与声卡硬件打交道的驱动程序。内核模式混音器驱动程序是WindowsXP及以前的几个版本所采用的一个部件,其功能是将不同源头的数据流混合,若有必要的话,自动进行采样频率、采样位数和格式的转变,从而减轻声卡硬件的负担。内核模式混音器的使用通常会给信号的传递带来20~30毫秒的延迟,这在对实时传送要求很高的场合,例如实况广播、专业录音等,会造成问题。但若仅从信号测试的角度来说,这点延迟在绝大多数情况下是可接受的。更应当引起注意是采样频率的自动转换问题。很多声卡其实只支持48kHz和其整数倍的采样频率,但当通过应用软件选择其它采样频率时,声卡仍然能按所要求的任意采样频率采集或输出信号,这是由于内核模式混音器能自动转换采样频率的缘故。从信号测试的角度来说,此功能有利也有弊。例如在分析低频信号时,有时需通过降低采样频率而不是增大FFT点数来提高频谱分析的频率分辨率,这时就可以利用内核模式混音器的自动转换采样频率功能来实现。采样频率的转换有可能造成信号的失真,这在对测量精度要求很高的场合,例如在对设备做失真分析时,要尽量避免,方法是只采用声卡硬件直接支持的采样频率。MME驱动程序是Windows下的声卡的标准驱动程序之一,适用于任何与Windows兼容的声卡。MME驱动程序必须经过内核模式混音器与声卡硬件驱动程序连接。ASIO是由德国SteinbergMediaTechnologiesGmbH公司推出声卡驱动接口协议,它直接同声卡硬件驱动程序连接,因而避免了由内核模式混音器造成的延迟问题,同时它不支持采样频率的转换,保证了信号的真实性。ASIO驱动程序只有部分声卡支持,主要在专业音频领域用得很多。对于不支持ASIO驱动程序的声卡,也可以采用一些通用的ASIO驱动程序来实现ASIO功能,昀常见的是ASIO4ALL,是免费软件,可到下载。注意:WindowsVista与以前的Windows版本相比,在驱动程序层的结构上有很大改变,但仍然支持MME驱动程序,也能运行ASIO驱动程序。4、虚拟仪器软件层此层由虚拟仪器应用软件构成,可对声卡采集到的原始信号进行实时处理、分析和显示,同时也能将软件产生的数据通过声卡输出,可实现示波器、频谱分析仪、频谱瀑布图、声谱图、数据记录仪、振动计、网络分析仪、频率计、声压计、LCR表(即:电感电容电阻表)、相关分析仪、失真分析仪、信号发生器等功能。不同的虚拟仪器软件的性能和功能不尽相同。5、输出输入回路声卡能同时进行模拟输出和输入。可利用这一特点,在以上不同的层级处建立回路,实现不同的功能。第一级回路可建立在声卡硬件的外侧(见图1中箭头1),将信号发生器软件从扬声器输出口或线路输出口输出的信号送入被测系统,然后从话筒输入口或线路输入口采集从被测系统返回来的响应信号,再由虚拟仪器软件进行分析,昀后得到被测系统的特征参数。被测系统可以是放大器、扬声器、音响系统、厅堂、甚至电阻、电容、电感等。若仅用一根短导线将声卡的输入输出连接起来,则可对声卡自身的性能参数进行测量。第二级回路可建立在声卡的混音器级(见图1中箭头2),将信号发生器软件从DAC输出的信号返回到ADC的输入端,再由虚拟仪器软件进行采集分析。可通过Windows的录音控制面板来建立此回路,只需要在录音控制面板中选择“波形输出混音”或类似名称的录音音源即可。这种工作模式很适合于教学,只需要一台电脑,无需其它任何外部设备,即可用信号发生器软件产生各种信号,然后用示波器和频谱分析仪软件进行分析。由于信号通过了声卡中的一些硬件,不是完全的理想信号,因此有真实感。第三级回路可建立在虚拟仪器软件级(见图1中箭头3),直接将信号发生器软件生成的数字信号送入示波器和频谱分析仪等虚拟仪器软件进行分析,其特点是信号是完全理想的,非常适合于教学。二、支持声卡的虚拟仪器软件简介支持声卡的虚拟仪器软件按界面形式可分为两类,一类采用的是与传统仪器面板相似的软件界面,其优点是界面简单,熟悉传统仪器面板的用户比较容易上手,但缺点是软件功能不易扩展,由于传统仪器面板占用了宝贵的屏幕资源,留给数据显示的空间较小,图形窗口不易缩放,因而用户不易看清楚所显示数据的细节。这类界面通常不支持多窗口同时显示(例如:同时显示示波器和频谱分析仪)。另一类采用的是Windows的标准控件和窗口,屏幕资源利用率高,支持多窗口同时显示,图形窗口缩放容易,用户可看清楚所显示数据的细节。这类软件通常功能强大,但初级用户可能感觉不如前一类界面直观。下面介绍几款国际流行的支持声卡的虚拟仪器软件,入选的必要条件是:(1)必须在具有独立域名的网站上提供免费下载;(2)软件可以是免费的,也可以是付费的,但在试用期内,可无限制地使用全部或绝大部分功能;(3)软件必须是多功能的,昀少必须具备示波器、频谱分析仪和信号发生器的基本功能,而且这些基本功能不需要编程实现。(4)至少支持英文,昀好支持中文。虽然以下介绍的软件都是基于Windows,但也可在其他操作系统中通过相应的Windows仿真软件运行,例如:在Linux下可采用WINE,在MacOS下,可采用VMwareFusion等。1、Multi-Instrumnet(万用仪)3.1Multi-Instrument是由虚仪科技(VirtinsTechnology)研发的一款基于电脑的多功能虚拟仪器软件。它支持多种硬件,从几乎所有电脑都配备了的声卡到专用的ADC和DAC硬件,例如:与美国国家仪器公司NIDAQmx兼容的各种ADC和DAC卡、虚仪科技的VTDSO-2810F等,支持声卡MME和ASIO驱动程序,采样位数可为8、16、24bit。它包括下列仪器和功能:图2Multi-Instrument(1)示波器支持双踪波形、波形相加、波形相减、波形相乘、李莎如图、电压表、瞬态信号捕捉、长时间信号录制。支持长波形文件的逐帧读入。支持各种数字滤波:低通、高通、带通、带阻、任意,滤波器种类包括:FFT、FIR、IIR。支持多种触发功能,包括自动触发、正常触发、单次触发、触发延迟等,并支持“卷动”显示方式。可输入传感器的灵敏度,以将电量转变为工程物理量显示。可根据被测信号的特点自动选择采样频率、扫描时间和输入增益。(2)频谱分析仪支持幅度谱、倍频程分析(1/1、1/3、1/6、1/12、1/24、1/48、1/96)、参数测量(峰值频率、THD、THD+N、信噪比SNR、信号与