软件频谱分析仪SpectraLAB实战指南 音频工作者对频谱分析仪一定不陌生，这是一种用来对被测信号进行频率及频谱分析的重要测量仪器，广泛应用于电声测量、音频制作、信号分析乃至振动测试等领域。随着数字技术的飞速发展，这种复杂仪器已经可以在一台普通的多媒体计算机上用软件来实现，这就是本文所要介绍的软件频谱分析仪——SpectraLAB。 首先让我们来看看SpectraLAB的主界面。 SpectraLAB的基本工作原理是对所测量的音频信号进行FFT变换（Fast Fourier Transform，即快速傅立叶变换），把时域信号转变为频域信号，此基础上可以进行各种分析。当然，模拟音频信号先要从声卡的MIC端口或LINE IN端口输入，在声卡内完成数模转换，变成数字音频信号以后，才能被计算机系统处理。
SpectraLAB的用途非常广泛，它可以对音频信号进行复杂的分析，实时显示出音频信号的时域图、频谱图、相位图、彩色声谱图、以及3D频谱图，并可以实时计算出峰值振幅、峰值频率、谐波失真、互调失真、信噪比等声频参数。SpectraLAB软件还有音频信号发生器的功能，可以产生白噪声、粉红噪声、扫频信号、三角波、方波、锯齿波等声学测量中常用的信号。
有人可能会觉得，用软件来作为测量仪器，能行吗？反应速度跟得上吗？性能怎么样？其实所有这样的担心都是多余的，SpectraLAB的性能相当不错，实时响应速度非常快，功能很强大。与硬件设备相比，它还具有独到的优点：操作、显示界面友好，帮助文件很详尽，可以把测量结果保存下来，还能显示三维频谱图。
SpectraLAB对系统的要求不高，最低要求是：
硬件：
IBM PC 或兼容机
80386 DX CPU 或更高 (推荐至少用486DX）
最少8 MB 内存
256色以上VGA彩显
最少4MB硬盘空间
16位声卡
软件：
Windows95/98 或 Windows 3.1 + Win32s，或WindowsNT

SpectraLAB工作模式的选择

使用SpectraLAB之前要先选择它的工作模式，在菜单栏中的Mode命令中有三种工作模式，用途分别是：
实时模式：（菜单Mode/Real Time）在输入信号的同时进行实时测量，信号既可以是来自声卡外部的模拟音频信号，也可以是计算机内部正在播放的音频流。
录音模式：（菜单Mode/Recorder），这时候的频谱仪相当于一台录音机，可以边录音边实时测量，并把录制的音频信号保存下来。
后处理模式：（菜单Mode/Post Process）用于对已有的音频波形文件进行分析。

选择显示界面

在软件上端的View菜单中可以选择显示界面。五种显示界面分别为：
1．Time Series：时间序列，显示音频信号的时域波形曲线，即振幅——时间曲线，相当于示波器的显示屏。如图所示为白噪声信号的时域波形。

2．Spectrum：频谱，显示音频信号的频谱曲线，即振幅——频率曲线，如图所示为1kHz音频信号的频谱曲线，从图中可以清楚地观察到1kHz基音及其高次谐波的相对振幅。

3．Phase：相位，显示音频信号的相位相位，即相位—频率曲线，可用于比较两个通道信号的相位差。

4．Spectrogram：彩色声谱图，即频率——时间曲线，显示音频信号随时间变化的频谱构成，并以不同的颜色来表示振幅。如图所示为1kHz锯齿波信号的彩色声谱图。
5．3D Surface：三维表面，显示音频信号的三维频谱曲面图，即频率——时间——振幅曲面，相当于在二维频谱曲线上再加上一条时间轴。如图所示为1kHz锯齿波信号的三维频谱图。

选择待测参数

SpectraLAB可以根据测试的音频信号实时计算出信号或电声器件的各种指标。在Utilities下拉菜单中选择参数，就会弹出相应的小窗口，显示出相应的指标来。
各参数含义如下：
Peak Frequency：峰值频率，即整个信号频谱中最强成分的频率。
Peak Amplitude：峰值振幅，即整个信号频谱中最强成分的振幅。
Total Power：总功率，即整个信号的总均方根功率。
Total Harmonic Distortion (THD)：被测电声设备的总谐波失真。
Total Harmonic Distortion + Noise (THD+N)：被测电声设备的总谐波失真＋噪声，这个值总是要大于THD。
Intermodulation Distortion (IMD)：被测电声设备的互调失真。
Signal to Noise Ratio (SNR)：被测电声设备的信噪比。
Delay Finder：用于计算左右两通道之间的延时。当该项被选中时，会弹出如图所示的窗口，显示两个通道间的延时量。

显然，由于所有被测信号都要先通过声卡，所以声卡的档次也就决定了您这台“频谱分析仪”的精度和级别。当然，声卡本身的电声指标也可以用这台频谱分析仪测出来。

信号发生器

SpectraLAB本身包含有信号发生器的功能，用来产生各种测试信号。按下F11键，弹出信号发生器窗口：

在下拉列表框中可以选择各种测试信号，点击Run键就会发出信号声。点击Details键可以设置测试信号的各种细节，点击Level键设置信号的幅度。

软件设置

在软件顶端的Options菜单下可以找到软件的各种设置选项，如显示界面、刻度等，可以根据需要设置。
Options菜单分两部分，上半部分用来设置软件频谱仪的整体参数，下半部分用来设置各显示窗口的显示参数。您并没有必要去了解所有的设置项的含义，但下面介绍的一些选项很重要，最好对它们的意义有所了解。请按下F4键，或者选择菜单命令“Options\Settings”，会弹出如图所示的设置窗口：

左上方的“Frequency Range and Resolution”一栏用来设置信号的采样频率和FFT点数，这两项参数决定了频谱分析的分辨率：分辨率＝采样频率/FFT点数。例如，采样频率为44100Hz，FFT点数为1024，则频谱分辨率为43Hz左右。在采样频率一定的情况下，如果要提高分辨率，就要加大FFT点数。但要注意，如果FFT点数过大的话，频谱仪的实时性会变差。FFT点数的缺省值为1024点。
采样频率可根据声卡来设置。如果您不知道声卡采样频率的范围，在Sampling Rate一栏里填入-1，然后按OK键，则会弹出消息窗口，上面将显示出你的声卡的采样频率范围（笔者的采样频率范围为11025～44100Hz）

如果需要降低信号的采样频率，可以通过设置Decimation Ratio一栏来实现。例如，您的声卡支持的最低采样频率是11025Hz，把Decimation Ratio设置为10，则采样频率将降为1102.5Hz。降低采样频率有什么用呢？在某些测试中，例如对机械设备的振动测试，由于被测信号的频率很低，用不了太高的采样频率（根据采样定理，采样频率只需大于被测信号最高频率的两倍即可），这时就可以降低采样频率，这样在FFT点数相同的情况下可以提高频谱分析的分辨率。
在设置窗口右上方的Sampling Format一栏，可以设置采样精度以及单/双通道。在某些项目的测试中，例如双通路的相位比较、计算延迟等测试中，必须设置为双通道，这是要注意的。

应用实例

下面介绍一个用软件频谱仪SpectraLAB实时测量音频设备传输函数的实例。
音频设备的传输函数可以反映出设备总的频率和相位响应。设备连接图如图所示：
图中，信号发生器产生的信号分为两路，一路直接送到声卡的右通道线路输入，一路经过待测设备以后再送入声卡的左通道线路输入。在频谱分析仪的Spectrum和Phase两个窗口可以观察到待测设备的频率响应和相位响应。

具体的测试步骤为：
设置软件频谱仪为实时模式（Real-Time）
按下F11键，打开信号发生器，选择扫频正弦信号（Freq Sweep），并按下Detail键，设置起始频率为20Hz，终止频率为20kHz，其他参数如右图所示。

把扫频信号接到待测设备的输入端。
把待测设备的输出端接到频谱分析仪的左通道输入（即声卡的线路输入）。
把信号发生器的扫频正弦信号直接接到频谱分析仪的右通道输入。

按下F4键，如图所示设置软件参数，然后按OK键。

在View菜单下打开Spectrum和Phase两个窗口。点击主界面上的Run键，您将听到从低频到高频的扫频信号，并可以在Spectrum和Phase窗口中观察到频率和相位响应曲线。用鼠标在图中任意位置点击，并上下左右移动，即可得到曲线上任意点的精确数值。如图所示，窗口上部为相位响应，下部为频率响应。

您也可以在任意窗口上单击鼠标右键，在浮动菜单上选择View Data Values，会弹出一个窗口，显示出响应曲线的数值表。如图所示。

在显示窗口中单击鼠标右键，选择Copy As Text，可以把曲线的数值列表拷贝到剪贴板；选择Copy As Bitmap，可以把曲线图以位图拷贝到剪贴板，这样您就可以分析详细的测试数据，或者把曲线图复制到别的文档里编辑了。
软件频谱分析仪SpectraLAB的用途还有很多，由于篇幅所限，这里不可能再详细介绍了，您如果有兴趣，可以参阅有关的电声测量技术文献。在SpectraLAB的帮助文档里，也列举了相当丰富的应用实例，非常值得一看。
（师勇）