二、测试环境搭建:屏蔽箱选型与设计、音频分析仪(APx)连接、声卡校准、麦克风阵列布局

好,咱们进入第二章。这一章讲的是测试环境搭建,说白了就是给Soundbar搭个「手术台」。环境搭不好,后面测出来的数据全是废的。我在项目里见过太多人,花几十万买设备,结果因为屏蔽箱漏音、麦克风摆歪了,折腾半个月找不出问题。

这一章我带你走一遍完整流程:屏蔽箱怎么选、APx怎么连、声卡怎么校准、麦克风阵列怎么布局。每一步都有坑,我会把踩过的坑都告诉你。

2.1 屏蔽箱选型与设计

屏蔽箱的作用很简单——把外界噪音隔开。但实际做起来,门道不少。

2.1.1 屏蔽效能要求

我个人习惯,先定指标再选箱子。Soundbar测试对屏蔽效能的要求,我列个表给你看:

频率范围 要求屏蔽效能 说明
20 Hz - 200 Hz ≥ 30 dB 低频最难隔,主要靠箱体厚度
200 Hz - 2 kHz ≥ 45 dB 人声频段,必须严控
2 kHz - 20 kHz ≥ 55 dB 高频容易漏,注意缝隙

你想想看,如果屏蔽箱只有20dB的隔离度,你在产线旁边测THD+N,隔壁工位的螺丝枪一响,数据直接飘上天。嗯,这里要注意,低频段是最难处理的。我曾经在一个项目里,屏蔽箱低频只能做到25dB,结果20Hz的底噪比信号还高,折腾了两天才发现是箱体板材太薄。

2.1.2 箱体尺寸与内部声学处理

屏蔽箱不是越大越好。太大了,内部反射声会干扰测试。我建议内部尺寸比Soundbar大30%-50%就够了。

内部要做吸音处理。我个人习惯用金字塔吸音棉,厚度至少5cm。为什么?因为Soundbar的低频单元会激发箱体共振,吸音棉能吸收一部分反射能量。

关键点:吸音棉的摆放位置要避开麦克风阵列的正前方。我曾经把吸音棉贴在麦克风正对面,结果高频响应直接掉了3dB,找了半天才发现是吸音棉把直达声也吸了。

2.1.3 线缆与通风口处理

屏蔽箱上肯定要开孔——电源线、音频线、通风口。每个孔都是漏音点。

  • 线缆孔:用EMI屏蔽穿心电容或金属编织网套。我建议用穿心电容,高频隔离效果更好。
  • 通风口:用波导通风板,孔径小于1mm。别用普通百叶窗,那玩意儿20kHz能漏10dB。
  • 门缝:用导电橡胶条,压缩量控制在30%-50%。压太紧门关不上,压太松漏音。

警告:千万别用普通橡胶条!导电橡胶条才能保证电连续性。我见过有人图便宜用普通密封条,结果屏蔽效能直接掉到20dB。

2.2 音频分析仪(APx)连接

APx是测试的核心设备。连接方式直接影响测试精度。我主要用APx525和APx555,连接方式大同小异。

2.2.1 硬件连接拓扑

标准连接方式是这样的:

PC (USB) → APx (AES/EBU或模拟输入) → 功放 → Soundbar
                                    ↓
                              麦克风阵列 → APx (模拟输入)

这里有个细节:APx的模拟输入通道有限。APx525只有2个通道,APx555有8个。如果你要测5.1.2声道,麦克风数量可能超过8个。怎么办?

  • 方案一:用APx的扩展模块,比如APx1701,可以扩展到16通道。
  • 方案二:用多台APx级联。我做过一次,用两台APx555级联,16通道同步采集,时序误差小于1μs。
  • 方案三:用麦克风切换器。但我不推荐,因为切换器会引入额外的噪声和相位误差。

2.2.2 数字接口 vs 模拟接口

Soundbar通常有HDMI ARC、光纤、蓝牙。APx怎么接?

接口类型 APx连接方式 注意事项
HDMI ARC APx HDMI 模块 需要支持eARC,否则带宽不够
光纤 (TOSLINK) APx 数字输入 (AES/EBU) 采样率要匹配,常见48kHz
蓝牙 APx 蓝牙模块 注意延迟,蓝牙有20-40ms延迟
模拟输入 (AUX) APx 模拟输入 注意电平匹配,别烧了输入口

我个人习惯优先用数字接口。为什么?因为模拟接口会引入DAC的噪声和失真。你想想看,如果Soundbar本身THD+N是0.01%,但APx的模拟输入级有0.005%的失真,那测出来的结果就是0.015%,根本分不清是Soundbar的问题还是测试系统的问题。

2.3 声卡校准

声卡校准是很多人忽略的一步。不校准,测出来的频响曲线可能偏差3-5dB。我见过有人用未校准的声卡测了半年,后来发现所有数据都偏了2dB,产线返工损失惨重。

2.3.1 校准流程

校准分两步:电平校准和频响校准。

  1. 电平校准:用标准声源(比如B&K 4231)产生94dB SPL @ 1kHz的信号。麦克风接收到信号后,调整APx的输入增益,使读数显示94dB。
  2. 频响校准:用标准声源扫频,从20Hz到20kHz。记录每个频率点的偏差,生成校准文件。

校准文件长这样:

# 麦克风校准文件
# 格式:频率(Hz) 修正值(dB)
20.0    +2.3
31.5    +1.8
63.0    +0.9
125.0   +0.4
250.0   +0.1
500.0   -0.1
1000.0  0.0
2000.0  -0.2
4000.0  -0.5
8000.0  -1.2
16000.0 -2.1
20000.0 -2.8

嗯,这里要注意,校准文件要定期更新。我建议每3个月重新校准一次。麦克风会老化,尤其是高灵敏度麦克风,半年后频响可能漂移0.5dB。

2.3.2 自动校准脚本

手动校准太慢,产线上肯定不行。我写了个Python脚本,用APx的API自动校准:

import apx
import numpy as np

def auto_calibrate(apx_device, mic_channel, target_spl=94.0):
    """
    自动校准麦克风通道
    :param apx_device: APx设备对象
    :param mic_channel: 麦克风通道号
    :param target_spl: 目标声压级,默认94dB
    """
    # 设置APx输出1kHz正弦波
    apx_device.set_signal(1, 'sine', frequency=1000, amplitude=1.0)
    
    # 读取麦克风通道的RMS值
    rms = apx_device.read_rms(channel=mic_channel)
    
    # 计算增益修正值
    current_spl = 20 * np.log10(rms / 2e-5)  # 转换为dB SPL
    gain_adjust = target_spl - current_spl
    
    # 应用增益修正
    apx_device.set_input_gain(channel=mic_channel, gain=gain_adjust)
    
    print(f"通道{mic_channel}校准完成,增益修正:{gain_adjust:.2f} dB")
    return gain_adjust

# 使用示例
apx = apx.APx525()
for ch in range(1, 9):
    auto_calibrate(apx, ch)

小技巧:校准脚本里加个异常检测。如果某个通道的修正值超过±5dB,说明麦克风可能坏了或者连接有问题,直接报警。我在产线上用这个逻辑,抓出过3次麦克风线缆松动的问题。

2.4 麦克风阵列布局

麦克风阵列布局决定了你能不能测准Soundbar的空间声场。布局不对,测出来的指向性数据全是错的。

2.4.1 标准布局:ITU-R BS.1116

ITU标准是测Soundbar的基准。布局如下:

  • 听音位置:距离Soundbar 1米,高度与Soundbar中心对齐。
  • 麦克风数量:至少5个,分别对应左、中、右、左环绕、右环绕。
  • 角度:左/右声道 ±30°,环绕声道 ±110°。

但实际产线上,你不可能每次摆位都拿量角器量。我建议做个定位夹具,把麦克风位置固定死。

2.4.2 近场 vs 远场布局

产线测试通常用近场,因为速度快、受环境干扰小。但近场测出来的数据不能直接代表听感。

布局类型 距离 优点 缺点
近场 10-30 cm 信噪比高,速度快 不能反映远场听感
远场 1-2 m 贴近真实听感 受环境噪声影响大
混响场 > 2 m 测总功率输出 需要消声室

我个人习惯,产线用近场,但会做一个「近场到远场」的转换模型。具体做法是:在消声室里测一组近场和远场的对比数据,然后拟合一个修正曲线。这样产线上用近场测,软件自动转换成远场等效值。

2.4.3 麦克风阵列的校准与验证

阵列装好后,要做一致性验证。所有麦克风在相同声源下,读数偏差不能超过±0.5dB。

验证方法:

  1. 在阵列中心位置放一个标准声源。
  2. 同时记录所有麦克风的SPL值。
  3. 计算每个通道与平均值的偏差。

如果某个通道偏差超过0.5dB,检查是不是麦克风坏了,或者位置偏了。我曾经遇到过一次,阵列里有一个麦克风偏差了1.2dB,查了半天发现是吸音棉挡住了麦克风的振膜。

警告:麦克风阵列的相位一致性也很重要。如果相位偏差超过5°,测出来的指向性数据会严重失真。我建议用扫频信号验证相位,20Hz到20kHz,相位偏差控制在±3°以内。

2.5 环境验证与基线建立

环境搭好后,别急着测产品。先跑一遍环境验证,建立基线数据。

基线数据包括:

  • 本底噪声:关闭所有设备,测屏蔽箱内的噪声。要求低于25dB(A)。
  • 频响平坦度:用标准声源扫频,验证整个测试链路的频响。要求20Hz-20kHz内波动小于±1dB。
  • THD+N基线:用标准声源测THD+N,要求低于0.01%。

基线数据要存档。每次测试前,先跑一遍基线,如果偏差超过阈值,说明环境变了,需要重新校准。

嗯,这一章内容不少,但每一步都关键。屏蔽箱选不好,后面全白搭;APx连不对,数据不准;声卡不校准,误差累积;麦克风摆歪了,指向性全错。你把这些搞定了,后面的测试就顺了。

下一章我们讲测试序列设计,包括怎么用Python控制APx自动跑测试、怎么处理数据、怎么生成报告。到时候我会给你看完整的自动化测试脚本。