使用苏黎世仪器的时间戳功能实现同步测量

https://www.zhinst.cn/china/cn/blogs/understanding-timestamps-and-their-importance-synchronized-measurements


了解时间戳及其对同步测量的重要性


2022年1031 Heidi Potts


关键词:锁相放大器,Boxcar

一旦实验包含多个信号或由多个仪器组成,计时就变得极其重要。苏黎世仪器公司的所有锁相放大器都提供了多种方式来确保同步和同时分析多个信号。在这篇博客文章中,我们将更详细地研究时间戳,以及为什么它们对同步测量很重要。


在许多应用中,需要并行捕获多个信号,例如光学实验,其中使用两个光电检测器来捕获信号的不同部分或者MEMS/NEMS实验信息包含在多个频率或谐波中。苏黎世仪器公司的锁相放大器非常适合所有这些实验,因为它们提供了几个可以同时使用的解调器。


可以同时分析来自多个解调器的信号,因为每个测量值都包含一个时间戳,该时间戳是一个整数,对应于自仪器上电以来的时间,单位为1/(最大采样率),例如在UHFLI锁相放大器为1/1.8 GHz。


让我们看一个例子。图1显示了LabOne用户界面中锁定选项卡的屏幕截图,其中使用UHF-MF多频UHF-MOD AM/FM调制选项分析具有载波频率f1和两个边带f1±f2的信号。这是实验中的一个典型场景,其中使用双重调制来提高信噪比或研究相关效应。载波频率由UHFLI的信号发生器使用振荡器1产生,而幅度调制频率外部参考提供给UHFLI并由振荡器2跟踪。没有使用其他6个振荡器。解调器分配如下:

解调器

输入信号

频率

1

信号输入1


2

信号输入1


3

信号输入1


4

信号输入2


5

信号输入2


6

信号输入2


7

信号输入2


8

触发器输入1



来自前7个解调器的数据被流式传输到数据服务器,在那里可以进行可视化和保存。在这种情况下,前三个解调器的数据传输速率设置为13.7kSa/s,而其他解调器数据仅以1.7kSa/s传输(有关如何选择数据传输速率的更多信息,请参阅此博客文章)。


UHFLI Lock-in tab


1:LabOne锁定选项卡的屏幕截图,显示了八个振荡器频率以及八个解调器对不同频率和不同输入信号的分配。


可以使用不同的方法将数据保存到文件中,例如“数据采集”工具、“设备”选项卡中的“记录”功能、“绘图仪”工具或API。不同数据采集工具的详细概述可以在这篇博客文章中找到。无论你选择哪种方法,你都会得到一个文件,其中包含每个解调器的单独样本。每个样本都包含一个时间戳、同相和正交分量X和Y以及一些附加信息(完整的样本结构可以在用户手册中找到)。文件格式可以在CSV、MATLAB和HDF5之间进行选择。


2显示了CSV文件的示例,其中显示了第一个解调器的时间戳、X和Y列。第一个时间戳是472770412728,对应于仪器启动后的472770412728/1.8 GHz=262.65 s。第一个值和第二个值之间的差值对应于(472770543800-472770412728)/1.8 GHz=72.8μs,这恰好对应于为该解调器选择的13.73 kSa/s的数据传输速率的倒数。除了提供采样率精度的时间戳信息外,日期和时间信息虽然通常不太相关,但为了完整性,在一个名为structure.xml的单独文件中提供


Demodulated data


2:带有UHFLI记录数据的CSV文件示例。


类似地,您可以使用Python、MATLAB、LabView、C和.NET 中提供的API来记录数据。图3显示了一个示例Python代码,其中我们首先订阅第一个解调器的结果,对应于路径/demods/0/sample,然后轮询结果。然后从仪器中询问时基,最后计算结果的前两个时间戳之间的差。72.8μs的结果再次与13.7kSa/s的数据传输速率相一致。有关模式代码示例,请访问我们的github存储库


# Subscribe to the demodulator's sample node path.

path = "/%s/demods/0/sample" % device

daq.subscribe(path)


# Poll the subscribed data from the data server. Poll will block and record

# for poll_length seconds.

poll_length = 0.1  # [s]

poll_timeout = 500  # [ms]

poll_flags = 0

poll_return_flat_dict = True

data = daq.poll(poll_length, poll_timeout, poll_flags, poll_return_flat_dict)


# Unsubscribe from all paths.

daq.unsubscribe("*")


# Access the demodulator sample using the node's path.

sample = data[path]


# Get the sampling rate of the device's ADCs, the device clockbase...

clockbase = float(daq.getInt("/%s/clockbase" % device))


#... and use it to convert the timestamps into seconds:

dt_seconds = (sample["timestamp"][1] - sample["timestamp"][0]) / clockbase


print(dt_seconds)


在解调器使用不同的数据传输速率的情况下,时间戳特别有用。可以在后处理期间根据时间戳来对准测量数据。或者,数据采集模块可以用于记录数据,该模块已经基于时间戳将来自不同解调器的数据对准在时间网格上。


仪器的同步

最后,我们想讨论在使用多个仪器时同步的重要性。有几种方法可以同步多个仪器:


1.                      时钟同步:苏黎世仪器的所有锁相放大器都有10 MHz的时钟输入和输出通道,可用于驱动或读取另一台仪器的时钟。虽然这能够同步不同仪器的频率,但测量数据的时间戳并不相关。

2.                      触发信号:所有苏黎世仪器公司的锁相放大器提供多个触发输入和输出通道,可用于锁相环同步或记录触发事件。

3.                      通过后处理同步时间戳:可以通过在实验开始时进行校准测量来测量几个仪器的时间戳差异。然后,可以使用此信息通过后处理来对准测量值。

4.                      时钟和时间戳同步:当使用同一系列的几个苏黎世仪器锁相放大器(例如两个UHFLI)时,可以使用多设备同步协议同步仪器的时钟和时间标记。


MDS协议方便的一个例子是量子霍尔效应测量。在这种情况下,需要同时测量横向电压(Vxx)和纵向电压(Vxy)。这可以通过使用我们的应用页面上描述的两个MFLI以非常高的精度完成。


总之,当测量多个信号并分析其相关行为时,与每个测量值一起保存的时间戳非常重要。时间戳以整数形式提供,单位为每个 苏黎世仪器锁相放大器的 1/(最大采样频率),对应于仪器通电后的时间。

首页    博客    锁相放大器    使用苏黎世仪器的时间戳功能实现同步测量