本应用笔记是本系列第 1 部分的后续, 使用 Boxcar 平均器改善 SNR 测量本应用笔记探讨了双 Boxcar 平均器的配置和操作原理,重点介绍了其使用 Moku 云编译 的默认值。

boxcar 平均器 是一种广泛使用的仪器,在提高测量低占空比信号的信噪比 (SNR) 方面起着至关重要的作用。通过在特定事件触发的窄门内集成信号,它可以有效地隔离脉冲之间的噪声贡献。对多个门控事件进行平均可进一步提高测量的 SNR。本应用说明详细介绍了 Boxcar 平均器的实现 Moku:Pro 使用 Moku 云编译.

Boxcar 工具可用 开始。如需下载 Moku:Pro 使用指南,请点击 开始.

Boxcar平均器的工作原理

Boxcar 平均器和 锁相放大器 是检测重复信号时提高信噪比性能的重要手段。Boxcar 平均器对输入信号施加时域 Boxcar 窗,有效抑制施加的 Boxcar 窗之外的时间噪声成分;而锁相放大器采用窄带滤波器提取中心频率附近小范围内的信号,并抑制通带之外的噪声。因此,Boxcar 平均器特别适合处理低占空比信号,因为这种情况下的大部分时域信号通常都是噪声。

图 1 说明了 Boxcar 平均器的工作原理。用户定义的触发信号在触发后经过一定延迟后激活 Boxcar 门控窗口。门控窗口允许在窗口宽度上累加输入信号。然后,仪器对以下积分进行平均: n 从 Boxcar 积分器获得的结果,并使用增益级调整输出以实现任何必要的衰减或放大。

箱车平均器的操作流程图

图 1:矩形波平均器的工作原理。输入信号在矩形波窗口内积分,该窗口由触发信号激活。在矩形波窗口和触发边缘之间引入触发延迟以补偿系统延迟。积分结果被平均,然后通过增益级产生矩形波平均器输出。

Boxcar 平均器的基本结构包括两个关键部件:Boxcar积分器(门)和平均器。Boxcar 积分器过滤输入信号,消除无目标信号的静默窗口产生的不良噪声。随后,平均器处理Boxcar积分器的输出,进行额外的信号平均,然后产生最终输出。

现在,让我们深入研究使用 Boxcar 平均器处理的实际信号。图 2 显示了触发信号与脉冲信号的图。值得注意的是,触发信号的上升沿和相应的脉冲信号之间存在可观察到的延迟。由于信号通路内的电气元件引入的固有延迟,可以预料到会出现这种延迟。

为了使 Boxcar 积分窗口与脉冲信号对齐,可以手动在积分过程中引入相对于触发事件的延迟。此时间调整由 触发延迟 Boxcar平均器中的参数。在图 2 中,触发延迟约为 176 纳秒,而门宽跨越 320 纳秒,有效地涵盖了整个脉冲信号。

触发信号(橙色轨迹)幅度为 150 mV。延迟 176 ns 后,激活并测量宽度为 320 纳秒的 Boxcar 窗口。

图 2:触发信号(橙色轨迹)幅度为 150 mV。延迟 176 纳秒后,激活并测量宽度为 320 纳秒的 Boxcar 窗口。

配置触发延迟和门宽后,重点转移到通过平均 Boxcar 积分结果来进一步降低噪声水平。在此过程中,S1 的结果 通过 S5 取平均值来计算最终输出。

计算五个 Boxcar 积分周期(标记为 S1 至 S5)的平均值,以增强 SNR

图 3:计算五个 Boxcar 积分周期(标记为 S1 至 S5)的平均值以增强 SNR。

实现 Boxcar 平均器

本节旨在提供关于实施 Boxcar 平均器的全面指南,可从 Liquid Instruments 获取 Github 如图 4 中的分步流程图所示。一般流程可描述如下:

(1) 调整触发级别以实现适当的触发

将触发电平设置在噪声基底到触发信号峰值的范围内。

(2) 将 Boxcar 门控窗口与脉冲信号同步并配置门控宽度

选择合适的Boxcar门宽,找到合适的触发延迟。在光学实验中,由于光路延迟和光电探测器延迟,触发信号经常先于脉冲信号。在这种情况下,触发延迟的补偿将至关重要。

(3) 选择平均器的长度

选择合适的平均周期数,以在足够的 SNR 和速度之间取得平衡。

(4) 调整增益级

对步骤 3 的结果应用衰减或放大,以防止输出饱和或最大限度地减少潜在的量化误差,最大限度地利用 Moku 的输出范围。

实现箱车平均器的操作流程图

图 4:实现Boxcar平均器的操作流程图。

在以下章节中,我们将分别通过与 Python 控制面板和 Moku Cloud Compile (MCC) 控制寄存器交互来介绍在 Moku:Pro 上配置 boxcar 平均器的步骤。

使用 Python 控制Boxcar平均器

下面是通过 Python 控制面板实现Boxcar平均步骤的说明。

(1) 调整触发电平

本实验中,触发信号幅度为 150 mV,选择 75 mV 的信号电平可确保 Boxcar 积分的稳定触发。请注意,只有在合适的系统触发下,Boxcar 窗口才会出现;否则,稳定的脉冲信号和触发信号均不可见。

不同触发级别设置下的 Boxcar 平均器系统响应

图 5:不同触发电平设置下的系统响应。(a)触发电平 0.2 V 高于触发信号幅度 0.15 V。因此,矩形窗无法触发,导致矩形窗和脉冲信号均缺失。(b)将触发电平设置为 0.075 V(相当于触发信号幅度的一半),可以成功激活矩形窗和脉冲信号。

(2) 将触发的 Boxcar 门控窗口与脉冲信号对齐,并配置门控宽度

这可以通过迭代调整和观察过程或利用 Auto 按钮。自动延迟功能会自动识别脉冲信号的峰值位置,并计算从脉冲峰值到 Boxcar 窗口中点的时间差,从而相应地调整触发延迟。

脉冲触发延迟调整为 236.8 纳秒,以使 Boxcar 窗口与脉冲信号对齐

图 6:脉冲触发延迟调整为 236.8 纳秒,以使boxcar窗口与脉冲信号对齐。

g宽度 也是优化 SNR 的重要参数。有趣的是,门宽的最佳设置不一定需要捕获整个脉冲信号;相反,捕获大部分信号通常就足够了。该策略通过排除脉冲信号中信号功率低于噪声功率的部分来优化 SNR。本质上,它允许删除信号功率与噪声功率相比可忽略不计的部分。

为了优化 SNR,调整了箱车宽度以仅捕获大部分信号。

图 7:为了优化 SNR,调整了 Boxcar 宽度以仅捕获大部分信号。然后相应地将触发延迟调整为 249.6 ns,以重新调整脉冲和 Boxcar 窗口。

(3)选择平均周期并调整增益

将模式从“对齐”更改为“平均输出”会在数据读出框中显示平均输出信号。

请注意, boxcar 平均器的输出是 n Boxcar 积分结果而不是平均值。这是因为在 FPGA 上实现除法器非常耗时,并且需要大量资源。输出积分结果而不是实际平均值会更有效率。平均 Boxcar 积分可以使用以下公式计算:

方程

Moku 饱和度界面

图 8:将模式从“对齐”更改为“平均输出”以读取输出值。然后配置输出增益以避免量化误差或输出饱和。

MCC 控制寄存器

Moku:Pro 提供了一个方便的功能,可以直接控制用于实现 Boxcar 平均器的寄存器。表 1 详细总结了分配给输入、控制和输出端口的数据类型。Moku:Pro 中控制寄存器的实际配置与本表中列出的规格一致。用户可以通过调整控制寄存器 0 到 5 来实现 Boxcar 平均器功能的完整配置,从而提供与 Python 控制面板相同级别的控制。

Boxcar 平均器输入、控制和输出端口的配置。

表 1:Boxcar 平均器输入、控制和输出端口的配置。

Moku:Pro 的设置如图 9 所示。在此配置中,Moku:Pro 以多仪器模式运行,可在插槽 1 中实现 Boxcar 平均器,并在插槽 2 中实现输出监控。插槽 1 中的 MCC 模块利用 In 1 作为信号输入,In 2 作为触发输入。MCC 模块产生的输出 Out A 和 Out B 随后连接到插槽 2 中的示波器,以可视化 Boxcar 平均器的输出信号。

Moku:Pro 的多仪器模式配置

图 9:Moku:Pro 的多仪器模式配置。In 1 为信号输入,连接到 In A;In 2 为触发信号。Boxcar 平均器的两个输出,Out A 和 Out B,连接到示波器显示结果。

MCC 块中的控制寄存器配置了图 10 所示的值。触发级别设置为 2,244,对应触发阈值幅度为 75 mV(2244 LSB,其中 LSB 代表最低有效位,除以 29925 LSBs/V,即 Moku:Pro 的数字分辨率)。

在对齐过程之前,可以将触发延迟设置为 0。对于 320 ns 的门宽,其控制寄存器配置为 100(通过将 320 ns 除以 Moku:Pro 的时钟周期 3.2 ns 获得)。此外,平均长度 设置为 100,表示输出是从 100 个单独的 boxcar 积分得出的平均值。可以根据最终输出的质量微调此值。

增益控制设置为 65,536,实际上将最低有效 16 位(小数位)配置为全零,将整数增益(最高有效 16 位)配置为 655,360。此设置为 Boxcar 平均器输出建立单位增益。如果出现明显的量化误差,可以增加此值以放大输出。例如,将此控制寄存器设置为 10 将为信号提供 32,768 倍增益。相反,如果观察到饱和,则可以将值调整为 0.5 以对信号应用 XNUMX 倍衰减。

Moku Cloud Compile 寄存器接口。触发电平设置为 2,244 (75 mV),门控宽度设置为 100,初始宽度为 320 ns。开关控制设置为 2,以便同时显示 Boxcar 窗口和输入信号。

图 10:触发电平设置为 2,244 (75 mV),门控宽度设置为 100,初始宽度为 320 ns。开关控制设置为 2,以便同时显示 Boxcar 窗口和输入信号。触发延迟设置为 0,以便清晰观察系统中的原生延迟。蓝色轨迹表示 Boxcar 窗口,红色轨迹表示脉冲信号。峰值与 Boxcar 窗口中点之间的时间差测量值为 237 ns。

图 10 表明,在应用触发延迟补偿之前,蓝色轨迹与红色轨迹相比有 237 ns 的超前间隔。因此,通过将触发延迟设置为 74 个时钟周期来进行调整。如图 11 所示,此调整成功对齐了蓝色和红色轨迹,确认所有积分输入信号都是有效的脉冲信号。

Moku Cloud Compile 寄存器界面。触发延迟调整为 74,为触发信号引入 236.8 ns 的延迟,成功对齐蓝色(箱车窗口)和红色(脉冲信号)轨迹。

图 11:触发延迟调整为 74,为触发信号引入 236.8 纳秒的延迟,成功对齐蓝色(箱车窗口)和红色(脉冲信号)轨迹。

为了提高信噪比,将门控宽度调整为 272 ns,以丢弃脉冲信号中信号功率相对于噪声功率较低的不必要部分。然后相应地重新校准触发延迟,以使修改后的 Boxcar 窗口与脉冲信号重新对齐。

Moku Cloud Compile 寄存器接口。门宽和触发延迟经过微调,消除了脉冲信号的多余部分,从而提高了最终结果的信噪比。

图 12:门宽度和触发延迟经过微调,消除脉冲信号的无关部分,从而提高最终结果的 SNR。

配置完参数后,将开关控制值设置为0,即可激活通过MCC的Out A端口传输Boxcar平均器结果。

Moku Cloud Compile 开关控制配置为激活 boxcar 平均器输出,增益控制调整为 327,以将值缩小 0.00499 倍

图 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 提供的适应性使双 Boxcar 平均器的实现变得简单。即将发布的应用说明将提供有关这方面的详细见解。

双箱车窗

图14: 每个触发器激活两个boxcar窗口(高:脉冲boxcar窗口;低:基线boxcar窗口),以同时积分两个探测脉冲(带泵和不带泵)。输出是两个积分结果之间的差值。

结语

本应用说明深入介绍了 Boxcar 平均器的原理。它演示了使用以下方法实现 Boxcar 平均器的方法和功能: Moku 云编译 (MCC) Moku:Pro。要探索 Boxcar 平均器的 Simulink 示例,请单击 开始. boxcar平均器的配置可以通过以下方式实现: Python 控制面板或直接控制寄存器。此外,本应用笔记还介绍了未来迭代的潜在改进。

有疑问?

在我们的知识库中获取常见问题解答

如果您对设备特性或仪器功能有疑问,请查看我们的 知识库 来查询您正在寻找的答案。 您还可以快速查看热门问题并按产品或主题来优化搜索。

加入我们的用户论坛来与我们保持联系

想要新的功能吗? 有技术支持提示要分享? 从客户案例到新功能公告等等, 用户论坛 是您的一站式门户,作为产品更新以及与 Liquid Instruments 和我们的全球用户社区建立联系。


在演示模式下试用 Moku

您可以下载适用于 macOS 和 Windows 的 Moku: 应用程序 开始.


获取常见问题的答案

在我们的网站上查找有关设备和仪器的问题和答案 知识库.


与 Moku 用户联系

即刻加入 用户论坛 请求新功能、分享支持提示并与我们的全球用户社区联系。

其他推荐的应用笔记

返回所有应用笔记