2025年10月1日更新
Moku 相位表 该相位计可测量频率在 1 kHz 至 2 GHz 之间的输入信号的相位,精度高达 6 µradian。它采用数字锁相环架构,具有卓越的动态范围和精度,远超传统锁相放大器和频率计数器。相位计可计算并绘制艾伦偏差,艾伦偏差是一种无量纲的稳定性度量,通常用于量化时钟和其他振荡器的稳定性。本指南将介绍相关数学原理,并提供一个使用重叠变量 τ 估计器的艾伦偏差计算示例。
要了解有关艾伦偏差和相位测量的更多信息, 观看我们关于量化现代时钟和振荡器的网络研讨会。
要下载此应用说明,请单击 开始.
具有重叠变量 τ 估计量的艾伦偏差
艾伦偏差是衡量稳定性的指标,通常用于量化时钟和其他振荡器的稳定性。频率 \(y\) 的艾伦偏差 \(sigma_y\) 可通过以下公式计算为观测时间 \(tau\) 的函数:
\(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}{2tau^2}langle left( x_{n+2} – 2x_{n+1} + x_nright) rangle \)
其中 \(x\) 表示随时间测量的相位。实际上,不可能计算无限时间的期望值。当使用采样率和采样时间有限的硬件时,我们必须对该方程进行离散化。Moku 相位计使用重叠变量 \(tau\) 方法来计算 Allan 偏差,其定义如下:
\(sigma^2_y(ntau_0, N) = frac{1}{2n^2 t_0^2 (N-2n)} sum^{N-2n-1}_{i=0}{ 左( x_{i+2n}-2x_{i+n}+x_i 右)^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\) 作为输入。它使用上述公式计算重叠艾伦偏差,并返回数组 \(ntau_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。



