本应用笔记是本系列第 1 部分的后续, 使用 Boxcar 平均器改善 SNR 测量本应用笔记探讨了双 Boxcar 平均器的配置和操作原理,重点介绍了其使用 自定义仪器 的默认值。
此 boxcar 平均器 是一种广泛使用的仪器,在提高测量低占空比信号的信噪比 (SNR) 方面起着至关重要的作用。通过在特定事件触发的窄门内集成信号,它可以有效地隔离脉冲之间的噪声贡献。对多个门控事件进行平均可进一步提高测量的 SNR。本应用说明详细介绍了 Boxcar 平均器的实现 Moku:Pro 使用 自定义仪器. Boxcar 工具可用 开始。如需下载 Moku:Pro 使用指南,请点击 开始.
Boxcar平均器的工作原理
Boxcar 平均器和 锁相放大器 在检测重复信号时,它们对于提高信噪比性能至关重要。箱型平均器对输入信号应用时域箱型窗,有效抑制了设定的箱型窗之外的时间噪声分量;而锁相放大器则采用窄带滤波器提取中心频率附近小范围内的信号,并抑制通带之外的噪声。因此,箱型平均器特别适用于处理低占空比信号,因为在这种情况下,大部分时域信号通常是噪声。图 1 展示了箱型平均器的工作原理。用户定义的触发信号在触发信号发出后经过一定延迟后激活箱型门窗。门窗允许输入信号在窗口宽度内进行累加。然后,仪器对积分结果进行平均。 n 从 Boxcar 积分器获得的结果,并使用增益级调整输出以实现任何必要的衰减或放大。

图 1:矩形波平均器的工作原理。输入信号在矩形波窗口内积分,该窗口由触发信号激活。在矩形波窗口和触发边缘之间引入触发延迟以补偿系统延迟。积分结果被平均,然后通过增益级产生矩形波平均器输出。
箱式平均器的基本结构包含两个关键组件:箱式积分器(门)和平均器。箱式积分器对输入信号进行滤波,消除无目标信号静默窗口产生的噪声。随后,平均器处理箱式积分器的输出,进行额外的信号平均,最终生成输出。现在,让我们深入探讨使用箱式平均器处理的实际信号。图 2 展示了触发信号和脉冲信号的波形图。值得注意的是,触发信号的上升沿和相应的脉冲信号之间存在明显的延迟。这种延迟是由于信号通路中电子元件固有的延迟造成的。为了使箱式积分窗口与脉冲信号对齐,可以手动在积分过程中引入相对于触发信号的延迟。这种时间调整用 表示。 触发延迟 Boxcar平均器中的参数。在图 2 中,触发延迟约为 176 纳秒,而门宽跨越 320 纳秒,有效地涵盖了整个脉冲信号。

图 2:触发信号(橙色曲线)的幅度为 150 mV。延迟 176 ns 后,激活并测量宽度为 320 纳秒的方波窗口。配置好触发延迟和门宽后,研究重点转向通过对方波积分结果进行平均来进一步降低噪声水平。在此过程中,S1 的结果 通过 S5 取平均值来计算最终输出。

图 3:计算五个 Boxcar 积分周期(标记为 S1 至 S5)的平均值以增强 SNR。
实现 Boxcar 平均器
本节旨在提供关于实施 Boxcar 平均器的全面指南,可从 Liquid Instruments 获取 Github 如图 4 中的分步流程图所示。一般流程可描述如下:
(1) 调整触发级别以实现适当的触发
将触发电平设置在噪声基底到触发信号峰值的范围内。
(2) 将 Boxcar 门控窗口与脉冲信号同步并配置门控宽度
选择合适的Boxcar门宽,找到合适的触发延迟。在光学实验中,由于光路延迟和光电探测器延迟,触发信号经常先于脉冲信号。在这种情况下,触发延迟的补偿将至关重要。
(3) 选择平均器的长度
选择合适的平均周期数,以在足够的 SNR 和速度之间取得平衡。
(4) 调整增益级
对步骤 3 的结果应用衰减或放大,以防止输出饱和或最大限度地减少潜在的量化误差,最大限度地利用 Moku 的输出范围。

图 4:箱型平均器的实现流程图。在接下来的章节中,我们将分别介绍如何通过与 Python 控制面板和 Moku 云编译 (MCC) 控制寄存器的交互,在 Moku:Pro 上配置箱型平均器。
使用 Python 控制Boxcar平均器
下面是通过 Python 控制面板实现Boxcar平均步骤的说明。 (1)调整触发电平 本实验中,触发信号幅度为 150 mV,选择 75 mV 的信号电平可确保 Boxcar 积分的稳定触发。请注意,只有在合适的系统触发下,Boxcar 窗口才会出现;否则,稳定的脉冲信号和触发信号均不可见。

图 5:不同触发电平设置下的系统响应。(a)触发电平 0.2 V 高于触发信号幅度 0.15 V。因此,矩形窗无法触发,导致矩形窗和脉冲信号均缺失。(b)将触发电平设置为 0.075 V(相当于触发信号幅度的一半),可以成功激活矩形窗和脉冲信号。(2)将触发的 Boxcar 门控窗口与脉冲信号对齐,并配置门控宽度 这可以通过迭代调整和观察过程或利用 Auto 按钮。自动延迟功能会自动识别脉冲信号的峰值位置,并计算从脉冲峰值到 Boxcar 窗口中点的时间差,从而相应地调整触发延迟。

图 6:脉冲触发延迟调整为 236.8 ns,以使盒式窗口与脉冲信号对齐。宽度 也是优化 SNR 的重要参数。有趣的是,门宽的最佳设置不一定需要捕获整个脉冲信号;相反,捕获大部分信号通常就足够了。该策略通过排除脉冲信号中信号功率低于噪声功率的部分来优化 SNR。本质上,它允许删除信号功率与噪声功率相比可忽略不计的部分。

图 7:为了优化 SNR,调整了 Boxcar 宽度以仅捕获大部分信号。然后相应地将触发延迟调整为 249.6 ns,以重新调整脉冲和 Boxcar 窗口。(3)选择平均周期数并调整增益级 将模式从“对齐”更改为“平均输出”会在数据读取框中显示平均输出信号。请注意,箱型平均器的输出是以下各项的总和: n Boxcar 积分结果而不是平均值。这是因为在 FPGA 上实现除法器非常耗时,并且需要大量资源。输出积分结果而不是实际平均值会更有效率。平均 Boxcar 积分可以使用以下公式计算:


图 8:将模式从“对齐”更改为“平均输出”以读取输出值。然后配置输出增益以避免量化误差或输出饱和。
MCC 控制寄存器
Moku:Pro 提供了一个方便的功能,可以直接控制用于实现 Boxcar 平均器的寄存器。表 1 详细总结了分配给输入、控制和输出端口的数据类型。Moku:Pro 中控制寄存器的实际配置与本表中列出的规格一致。用户可以通过调整控制寄存器 0 到 5 来实现 Boxcar 平均器功能的完整配置,从而提供与 Python 控制面板相同级别的控制。

表 1:箱式平均器的输入、控制和输出端口配置。Moku:Pro 的设置如图 9 所示。在此配置中,Moku:Pro 工作在多仪器模式下,从而可以在插槽 1 中实现箱式平均器,并在插槽 2 中实现输出监控。插槽 1 中的 MCC 模块使用 In 1 作为信号输入,In 2 作为触发输入。MCC 模块的输出端口 Out A 和 Out B 连接到插槽 2 中的示波器,以显示箱式平均器的输出信号。

图 9:Moku:Pro 的多仪器模式配置。输入 1 为信号输入,连接至输入 A;输入 2 为触发信号。箱型平均器的两个输出端 Out A 和 Out B 连接至示波器以显示结果。MCC 模块中的控制寄存器配置值如图 10 所示。触发电平设置为 2,244,对应的触发阈值幅度为 75 mV(2244 LSB,其中 LSB 代表最低有效位,除以 29925 LSB/V,即 Moku:Pro 的数字分辨率)。在校准过程之前,可以将触发延迟设置为 0。对于 320 ns 的门宽,其控制寄存器配置为 100(通过将 320 ns 除以 Moku:Pro 的时钟周期 3.2 ns 得到)。此外,a平均长度 该值设置为 100,表示输出是 100 次独立箱式积分的平均值。可以根据最终输出的质量对该值进行微调。增益控制设置为 65,536,实际上是将最低 16 位(小数位)配置为全零,并将整数增益(最高 16 位)配置为 1。此设置使箱式平均器的输出获得单位增益。如果出现明显的量化误差,可以增加此值以放大输出。例如,将此控制寄存器设置为 655,360 将使信号获得 10 倍增益。相反,如果观察到饱和现象,可以将该值调整为 32,768,以对信号应用 0.5 倍衰减。

图 10:触发电平设置为 2,244 (75 mV),门宽设置为 100,初始宽度为 320 ns。开关控制设置为 2,以便同时显示方波窗口和输入信号。触发延迟设置为 0,以便清晰地观察系统的固有延迟。蓝色曲线代表方波窗口,红色曲线代表脉冲信号。方波窗口峰值和中点之间的时间差为 237 ns。图 10 显示,在进行触发延迟补偿之前,蓝色曲线比红色曲线超前 237 ns。因此,通过将触发延迟设置为 74 个时钟周期进行调整。如图 11 所示,此调整成功地使蓝色和红色曲线对齐,证实所有积分输入信号均为有效的脉冲信号。

图 11:将触发延迟调整为 74 ns,使触发信号延迟 236.8 ns,成功对齐了蓝色(方波窗口)和红色(脉冲信号)轨迹。为了提高信噪比,将门宽调整为 272 ns,以舍弃脉冲信号中相对于噪声功率较低的不必要片段。然后相应地重新校准触发延迟,使修改后的方波窗口与脉冲信号重新对齐。

图 12:通过微调门宽和触发延迟,消除脉冲信号的无关段,从而提高最终结果的信噪比。配置参数后,将开关控制值设置为 0,以激活通过 MCC 的 A 输出端口传输箱式平均器结果。

图 13:配置开关控制以激活 Boxcar 平均器输出,并将增益控制调整为 327,以将值缩小 0.00499 倍,从而防止 (a) 中所示的输出饱和。可以使用公式 (1) 恢复实际输出值。
讨论
本节概述了当前 Boxcar 平均器的局限性。此外,我们还提出了一种潜在的增强功能,以解决更复杂的应用。
最大门宽
门宽为 16 位,相当于最多 65536 个样本;因此,Moku:Pro 上可实现的最大门长为 209.715 µs,Moku:Lab 上为 524.288 µs,Moku:Go 上为 2.097 ms。此计算可以扩展到触发延迟,也是 16 位,并且可实现的最大触发延迟与门长相同。可以通过应用锁相环或有限脉冲响应 (FIR) 滤波器来引入额外的触发延迟。
双 boxcar平均器
在某些实验场景中,激励脉冲或刺激脉冲的频率被设置为被测信号脉冲频率的一半,例如在泵浦探测光谱应用中,激光调制频率设置为激光重复频率的一半。在这种情况下,携带物体激发态信息的实际信号仅存在于每隔一个脉冲中,而第一个脉冲则包含背景信号。为了分离并提取所需信号,双脉冲平均法至关重要,该方法涉及计算第一个脉冲和第二个脉冲之间的差值。重要的是,这种减法过程具有双重作用:它不仅可以提取相关信号,还有助于消除采集信号中的直流基线。MCC 提供的适应性使得双脉冲平均器的实现变得简单。关于这方面的详细见解将在即将发布的应用笔记中提供。

图14: 每个触发器激活两个boxcar窗口(高:脉冲boxcar窗口;低:基线boxcar窗口),以同时积分两个探测脉冲(带泵和不带泵)。输出是两个积分结果之间的差值。
结语
本应用说明深入介绍了 Boxcar 平均器的原理。它演示了使用以下方法实现 Boxcar 平均器的方法和功能: 自定义仪器 (MCC) Moku:Pro。要探索 Boxcar 平均器的 Simulink 示例,请单击 开始. boxcar平均器的配置可以通过以下方式实现: Python 控制面板或直接控制寄存器。此外,本应用笔记还介绍了未来迭代的潜在改进。
联系方式
在我们的知识库中获取常见问题解答
如果您对设备特性或仪器功能有疑问,请查看我们的 知识库 来查询您正在寻找的答案。 您还可以快速查看热门问题并按产品或主题来优化搜索。
加入我们的用户论坛来与我们保持联系
想要新的功能吗? 有技术支持提示要分享? 从客户案例到新功能公告等等, 用户论坛 是您的一站式门户,作为产品更新以及与 Liquid Instruments 和我们的全球用户社区建立联系。



