2025年10月1日更新
Moku 相位表 对于 1 kHz 至 2 GHz 范围内振荡的输入信号,相位测量精度高达 6 µrad。它采用数字锁相环架构,提供卓越的动态范围和精度,远超传统锁相放大器和频率计数器。Phasemeter 计算并绘制艾伦偏差 (Allan deviation),艾伦偏差是一种无量纲的稳定性度量,通常用于量化时钟和其他振荡器的稳定性。在本指南中,我们将介绍相关数学知识,并提供一个使用重叠变量 τ 估计器计算艾伦偏差的示例。
要了解有关艾伦偏差和相位测量的更多信息, 观看我们关于量化现代时钟和振荡器的网络研讨会。
要下载此应用说明,请单击 开始.
具有重叠变量 τ 估计量的艾伦偏差
艾伦偏差是稳定性的度量,通常用于量化时钟和其他振荡器的稳定性。频率 y 的艾伦偏差 sigma_y 是通过以下公式计算得出的,它是观测时间 τ 的函数:
\(\sigma^2_y(\tau) = \frac{1}{2}\langle \left(\bar{y}_{n+1} – \bar{y}_n \right) \rangle\)
或者,相位测量 \(x\) 也可以用来测量艾伦偏差。相位与频率的关系为:相位是频率 \(x = \int{y \ dt}\) 的积分,表达式为:
\(\sigma^2_y(\tau) = \frac{1}{2\tau^2}\langle \left( x_{n+2} – 2x_{n+1} + x_n\right) \rangle \)
其中 \(x\) 是随时间测量的相位。实际上,不可能计算无限时间内的预期值。当使用采样率和时间有限的硬件时,我们必须离散化该方程。Moku 相位计使用重叠变量 \(\τ\) 法计算艾伦偏差,其定义为:
\(\sigma^2_y(n\tau_0, N) = \frac{1}{2n^2 t_0^2 (N-2n)} \sum^{N-2n-1}_{i=0}{ \left( x_{i+2n}-2x_{i+n}+x_i \right)^2} \)
其中 \(\tau_0\) 是相位计的采样周期,\(N\) 是输入时间序列采集的数据点数。\(n\) 是采样周期的整数乘数,可以最好地估计所需的 \(\tau \simeq n \tau_0\)。\(x_i\) 表示 i时间序列中的第一个元素。
使用 Moku 相位计进行艾伦偏差
在这个例子中,我们测量了 1 MHz 信号的艾伦偏差 Moku:Pro 相位计。信号频率为 150 Hz,测量时间为 10 分钟。要显示艾伦偏差,请选择 Moku 显示屏顶部的“频率”选项卡,然后在绘图区域中选择“艾伦偏差”。
请注意,Moku Phasemeter 仅使用相位信息计算频率的艾伦偏差(如上图所示)。选择“相位”或“幅度”选项卡不会改变艾伦偏差图。
图 1:相位计开启 Moku:Pro 显示 1 MHz 信号的艾伦偏差。
Python实现
我们将通过在 Python 中执行相同的计算来验证相位计的准确性。函数 cal_oadev 将相位信息的时间序列、采样率和观测时间 \(\tau\) 数组作为输入。它使用上述公式计算重叠的艾伦偏差,并以数组形式返回 \(n\tau_0\) 和 \(\sigma_y (n \tau_0)\)。
使用此函数需要 NumPy 和数学库。
#导入库 进口 麻木 as np 进口 数学 DEF cal_oadev(数据,速率,tauArray):tau0 = 1 / 速率 # 计算采样周期 数据长度 = 数据大小 # 计算N dev = np.array([]) # 创建空数组来存储输出。 实际 Tau = np.array([]) HPMC胶囊 i in tauArray: n = math.floor(i / tau0) # 给定 tau 值计算 n。 如果 n == 0: n = 1 # 如果 tau 小于采样周期,则使用最小 n。 当前总和 = 0 # 初始化总和 HPMC胶囊 j in 范围(0,数据长度 - 2*n): # 累加平方和 currentSum += (数据[j+2*n] - 2*数据[j+n] + 数据[j])**2 # 除以归一化系数 devAtThisTau = currentSum / (2*n**2 * tau0**2 * (dataLength - 2*n)) dev = np.append(dev, np.sqrt(devAtThisTau))actualTau = np.append(actualTau, n* τ0) 回报 实际Tau,开发 #返回实际的tau和重叠的Allan偏差
示例计算
在这个例子中,我们导入了之前在 Moku 上获取的时间序列,并使用 Python 脚本计算了艾伦偏差。您可以找到所有原始数据和脚本 开始.
时间序列可以在“data.csv”文件中找到。该数据是通过使用嵌入式 数据记录器 在Phasemeter上。第一列是测量的时间(以秒为单位),第四列是测量的相位(以周期为单位)。脚本“CalculateAllanDeviation.py”读取Excel文件并调用 cal_oadev 函数“AllanFunc.py”中的函数。艾伦偏差以对数尺度绘制为τ函数。Moku:Pro 和 Python 脚本绘制的艾伦偏差图匹配良好。
运行此分析需要 matplotlib 和 pandas 库。
图 2:使用 Python 根据记录的相位信息计算出的 Allan 偏差。
案例
[1] 土地、DV、AP Levick 和 JW Hand。 “使用艾伦偏差测量微波辐射计的噪声和漂移性能。” 测量科学与技术 18,no。 7(2007):1917。
[2] Allan, David W.“原子频率标准统计”。 IEEE 会刊 54.2(1966):221 230。
[3] Howe, DA, Allan, DW 和 Barnes, JA“信号源的特性和测量方法”。 第 35 届频率控制年会论文集(1981 年):TN-14 – TN-60。