16 路接同一信号:偏置、增益、相关系数怎么判一致

博主:旭日财富者旭日财富者 2026-10-21 4116

芒果树(MangoTree)做 PXI / PXIe 模块化测试平台,板卡开发已全面接入 AI。问题很直接:一块 MT-X500 的 16 路模拟输入接到同一个信号上,到底同不同步。需求由人提,程序与自测由 AI 写;跑验证那一步,AI 说「请你跑一下」。

这次用的卡

本次用卡 MT-X500:16 路 AI、16 bit、±10 V、200 kS/s/CH,本次以 AI0 为基准通道。

wKgZO2rWzrKAAPpMAAH3fjWqALU768.jpg

图 1:标题卡。

一、需求:证明 16 路真的同步

用户原话:基于 MT-X500 做一个通道一致性 / 同步性检查程序,16 路 AI 接同一信号,比较各路的增益误差、偏置、采样时刻是否真同步。芒果树这边 AI 的回应是:MT-X500 是同步采样卡,「16 路是否真同步」本应是零偏差——这个程序正好来证明它。

二、三项测试,一个接法

设计成一个模式测三项,画面写明不用换接法,对直流 / 正弦 / 方波 / 任意信号都适用:

成品是 workspace/x500_channel_consistency.py(MT-X500 通道一致性检查程序),GUI 或命令行--cli两种跑法。

三、AI 自己写自测,抓出两类错误

自测把偏差已知地注入,看程序能否准确反算,尤其延迟的符号。第一轮结果:

图 2:注入已知偏差,负延迟实测 -101/-102。

① 周期性歧义(真 bug):200 kHz 采 2 kHz 正弦,周期正好 100 个采样点,循环互相关每隔 100 点就有一个等高的峰(-1、-101、-201…),argmax 抓到哪个纯看噪声,于是抓到了 -101。

② 偏置差 901 μV 是自测脚本的问题,不是程序的错:给 AI1 同时注入 +0.30% 增益和 +500 μV 偏置,而基准信号本身带 0.3 V 直流。

四、两处修法

修掉周期性歧义后,延迟(正 / 负 / 零)三组全对,偏置误差仅11.3 μV(容差 100),增益误差 0.0000%,只剩相关系数 0.982 < 0.999。

画面解释是:0.982 正好是 cos(10.8°)——2 kHz 正弦在 200 kHz 采样下每点相位 3.6°,注入延迟 3 点就是 10.8°,而 corrcoef 不做时间对齐。这处必须修:真机上一旦某路有零点几个采样点的延迟,程序就会把正常情况误报成「这两路不是同一个信号」。

图 3:从需求到真机判定的完整链路。

五、接真机:16 路一次跑完

参数横条:IP 192.168.5.157、Slot 5、采样率 200kHz、AI 通道 0-15、点数/通道 100000、基准通道 AI0。

图 4:上为波形叠加,下为差值(放大 ×216),右为结果面板。

wKgZPGrWzrSAcySqAAL5oLC163E511.jpg

图 5:16 行明细,判定列全部「一致」。

六、怎么验证结果是真的

数据来自本次实测环境(MT-X500 一块、16 路并联同一信号、200 kHz、100000 点/通道)。换通道、换接线、换信号源,读数都会变,不作为产品指标承诺。

审核编辑 黄宇