请更新您的浏览器。 为了获得最佳的 Liquid Instruments 使用体验,请将 Chrome、Edge、Firefox 或 Safari 更新到最新版本。 更新 Microsoft Edge.
液体仪器标志
产品
硬件平台
Moku:Delta
Moku:Delta
全新发布
用于高级设计和验证
Moku:Pro
Moku:Pro用于多种测试和测量
Moku:Lab
Moku:Lab用于实验研究实验室
Moku:Go
Moku:Go用于快速测试和调试
比较硬件
比较硬件横向比较所有 Moku 硬件
技术
GenInst Studio
全新发布
生成个性化工具
仪器功能高度集成触手可及的专业仪器设备
神经网络集成了 基于 FPGA 的神经网络仪器
多仪器并行模式组合仪器功能以创建自定义测试系统
Moku Compile编码、编译和部署到 Moku 的 FPGA 上
软件
MokuOS下载适用于 Windows、macOS、iPadOS 和 VisionOS 的 Moku 应用
APIsPython、MATLAB、LabVIEW
实用工具用于文件转换的命令行和图形工具
仪器功能
信号分析
示波器
频谱分析仪
频率响应分析仪
锁相放大器
相位表
逻辑分析仪/码型发生器
时间间隔与频率分析仪
数据记录器
信号生成
波形发生器
任意波形发生器
信号控制与调理
PID 控制器
数字滤波器
FIR 滤波器生成器
激光锁频/稳频器
自定义与其他功能
GenInst Studio
全新发布
高速信号采集记录回放仪(Gigabit Streamer)
自定义仪器
神经网络
多仪器并行模式
应用
光学与光子学
显微镜和光谱学
光子计数
量子光学
航空航天和国防
A&D仪器
器件测试
自动化测试
半导体测试
控制系统和伯德图分析
MEMS 系统测试
AI 和机器学习
生成式仪器
全新发布
神经网络
教育服务提供商
教育与研究
相关资源
应用笔记
博客
客户案例
相关课程
指南
产品文档
资讯观点
网络研讨会
白皮书
支持
关于我们
联系我们
关于我们
领导团队
合作伙伴
公司动态
媒体中心
活动日程表
加入我们
商店
Moku:Delta
Moku:Pro
Moku:Go
升级您的 Moku:Pro
升级您的 Moku:Lab
升级您的 Moku:Go
0
获取报价 立即购买
应用笔记

使用 Moku:Delta 计算时域和频域的互相关

互相关是信号处理中一种有用的技术,它本质上是比较两个信号的相似性。本文将探讨其在信号处理应用中的用途。最后,我们将介绍互功率谱密度(CPDS)的概念,它是频域中互相关的等效方法,并使用Moku示波器和频谱分析仪通过几个实例进行说明。

杰森·鲍尔博士 • 2026 年 1 月 28 日

    介绍

    互相关是信号处理中一种有用的技术,其本质是比较两个信号的相似性。该技术可以消除信号间不相关的(随机)噪声,从而降低整体噪声基底,使其适用于精确的相位噪声分析。此外,它还可用于时间上的信号匹配,因为当两个信号重叠时会产生幅度最大值。这在雷达测量中确定距离或飞行时间,或将输入信号与已知模板进行比较等应用中具有重要价值。

    在本应用笔记中,我们介绍了互相关的积分形式并探讨了其物理意义。然后,我们将该表达式离散化,并讨论其在信号处理应用中的用途。最后,我们提出了互功率谱密度的概念,它是频域中互相关的等效表达式。我们使用 Moku 示波器和频谱分析仪来演示该概念的几个示例。

    下载应用说明

    下载应用说明

    时域互相关

    积分形式

    从数学角度来说,互相关定义为两个信号乘积的积分,然后进行归一化。通常,其中一个信号会有一个可变的时延 \(\tau\),互相关就成为该时延的函数。根据信号幅度是相似还是相反,互相关函数也可以取正值或负值。首先考虑两个连续的任意函数 \(y(t)\) 和 \(x(t)\),其中 \(x(t)\) 的复共轭表示为 \(x^*(t)\)。对一段时间 \(T\) 进行平均,得到时延 \(\tau\) 的函数:

    \(R_{xy} = \frac{1}{T} \int^{T/2}_{T/2}{x^*(t)y(t+\tau)dt}\) (1)

    假设 \(x(t)\) 和 \(y(t)\) 在周期 T 内是严格周期的,具有任意振幅,并且它们之间存在相位差。

    \(x(t) = A \sin{(\omega t)}\) (2)

    \(y(t) = B \sin{(\omega t + \phi)}\) (3)

    注意,实函数(例如 \(x(t)\))的复共轭是自等价的。因此,我们可以将 \(R_{xy}\) 的定义重写为:

    \(R_{xy} = \frac{1}{T} \int^{T}_{0}{x^*(t)y(t+\tau)dt}\)

    通过计算,我们可以代入公式(2)和(3):

    \(R_{xy} = \frac{AB}{T} \int^{T}_{0}{\sin{(\omega t)} \sin{(\omega t + \phi)} dt}\)

    用复数形式重写:

    \(R_{xy} = \frac{AB}{T} \int^{T}_{0}{ \left( \frac{e^{i \omega t} – e^{-i \omega t}}{2i} \right) \left( \frac{e^{i \omega (t + \tau) + \phi} – e^{-i \omega (t + \tau) – \phi}}{2i} \right) dt}\)

    \(R_{xy} = \frac{-AB}{4T} \int^{T}_{0}{e^{i \omega (2t + \tau) + \phi} – e^{-i \omega \tau – \phi} – e^{i \omega \tau + \phi} + e^{-i \omega (2t + \tau) – \phi} dt}\)

    由于包含 t 的项是周期性的,因此对一个完整周期进行时间平均将得到零,只剩下两项:

    \(R_{xy} = \frac{AB}{2} \left( \frac{e^{i(\omega \tau + \phi)} + e^{-i(\omega \tau + \phi)} }{2} \right) = \frac{AB}{2} \cos{(\omega \tau + \phi)}\)

    相关函数取决于信号的时延和相位差。在零时延(\(\tau = 0\))时,当\(\phi = 0\)时,函数完全相关;当\(\phi = 180\)时,函数完全反相关。当\(\phi = 90\)时,由于函数彼此反相,相关性趋于零(见图1)。

    离散形式

    对于数字采样数据(例如示波器采集的数据),上述公式必须离散化。假设两个采集到的频谱包含实数 \(x[t]\) 和 \(y[t]\),其中 t 是数据点的索引。互相关函数的形式为:

    \(R_{xy}[\tau] = \sum_t x[t] y[t+\tau]\)

    其中参数 \(\tau\) 表示 x 和 y 之间的时间偏移量,以点数表示。

    实际上,数据集 \(x[t]\) 和 \(y[t]\) 是有限的,因此函数随时间偏移的幅度也是有限的。偏移量过大时,数据集之间的重叠部分会缩小。例如,假设 \(x[t]\) 和 \(y[t]\) 各包含 1000 个点。虽然可以通过数学方法偏移 \(\tau = 999\) 个点,但此时每个数据集中只有 1 个点重叠,因此所得结果通常没有实际意义。

    在这种情况下,通常的做法是采集比所需窗口大小更多的数据点。根据经验,轨迹的总长度应该是

    \(N_{trace} = N_{window} + N_{lag, max} \)

    这样可以确保相关函数被完全填充,而不会触及边缘。

    为了比较振幅或相移,通常的做法是从波形中减去直流偏移,并按其均方根振幅进行归一化。因此,相关函数的完整形式为:

    \(C_{xy}[\tau] = \frac{\sum_t{(x[t] – \bar{x})(y[t+\tau]-\bar{y}_m) }}{\sqrt{\sum_t{(x[t]-\bar{x})^2}} \sqrt{\sum_t{(y[t+\tau]-\bar{y}_m)^2}} }\)

    其中 \(\bar{x}\) 和 \(\bar{y}_m\) 分别是 \(x[t]\) 和 \(y[t+\tau]\) 在重叠窗口内的均值。这给出了一个归一化相关性,其值始终介于 -1 和 +1 之间,与振幅无关。

    使用 Moku 示波器测量互相关

    我们首先在 Moku 上演示互相关运算,方法是从示波器获取波形,并使用 Python 脚本手动计算其互相关值。使用 Moku:Delta,我们将 OutputA 连接到 InputA,OutputB 连接到 InputB。然后,我们启动示波器模式,并使用内置波形发生器输出两个相位略有不同的匹配正弦波,如下图 1 所示。

    图 1. Moku 示波器设置。波形发生器产生两个正弦波,并将其输入到 Moku:Delta 的示波器。

    现在我们改用 Python。我们通过配置示波器设置并采集波形来自动化测量过程。有关 Moku Python API 的信息,请参阅相关文档。每条波形包含 8192 个点,由 `set_timebase` 命令控制。为了验证脚本是否按预期采集了数​​据,我们将结果绘制在图 2 中。

    图2. 使用Python脚本采集的Moku示波器数据。两个信号相位一致,相差90度。

    接下来,我们通过创建一个函数来计算互相关图,该函数将每个向量按 N 个点进行切片,然后将剩余的数据相乘。根据上述 \(C_{xy}\) 的公式进行适当的归一化,我们得到如图 3 所示的图。

    图 3. 图 2 中两个示波器轨迹的互相关计算。

    互相关图随延迟时间在 +1(完全相关)到 -1(完全反相关)之间振荡。延迟时间为零时,由于源信号正交,互相关值为 0;施加不同的相位偏移会使互相关图的值向左或向右移动。然而,只要输入信号是周期性的,互相关图就会保持周期性。该振荡周期约为 312 个采样点,这意味着将通道 B 上的信号移动 312 个采样点将由于信号的周期性而导致相同的互相关值。312 个采样点的具体数值取决于示波器的采样率和采集阵列的大小。

    利用时间序列数据计算互谱

    计算出时间序列数据的互相关后,我们可以使用相同的示波器配置来计算频域中的相关性。在频域中,该量通常称为互谱,有时也称为互功率谱密度,它提供了相关性在频域中分布的信息。首先,我们通过傅里叶变换将离散时间序列数据集 \(x[t]\) 和 \(y[t]\) 转换到频域。我们将这些量分别记为 \(X[f]\) 和 \(Y[f]\)。为了测量两个信号之间的相位关系,我们取 \(Y[f]\) 的复共轭,然后除以数据点数 N 进行归一化。这样我们就得到了一个单位为电压平方的量,从而可以将其与原始信号的功率谱进行比较,同时保留相位信息。互谱的方程如下:

    \(S_{AB}(f) = \frac{X[f] \times Y^*[f]}{N^2}\)

    请注意,上述量通常为复数。为了将其与其他频谱数据一起显示在 Moku 频谱分析仪中,我们取其幅值并将其转换为对数刻度,假设阻抗为 50 欧姆,并使用以下公式:

    \(P_{dBm} = 10 \log_{10} \left( 0.001 \times \frac{|S_{AB}|}{50 \Omega}\right)\)

    这样做会造成显示量中相位信息的丢失;然而,相位信息仍然保留在完整的复值表达式\(S_{AB}(f)\)中。正如下一节所述,这仍然是去除噪声和量化时间敏感信号的有效工具。

    使用 Moku 频谱分析仪进行互相关分析

    接下来,我们将通过一个简单的演示来测试使用 Moku:Pro 和 Moku:Delta 的互相关功能。对于互相关计算,我们使用 Moku:Delta 的频谱分析仪,并将其设置为单仪器模式,同时使用 Moku:Pro 生成信号。在 Moku:Pro 的多仪器模式下,我们将波形发生器放置在插槽 1,示波器放置在插槽 2,如图 4 所示。这样,我们可以同时在时域监测波形发生器的输出,而 Delta 则可以同时监测频域信号。

    图 4. 多仪器并行模式演示。

    打开波形发生器,我们生成两个频率为 50 MHz、相位差为 90° 的正弦波。同步相位后,切换到示波器观察时域信号。如图 5 所示,两个信号的幅度匹配,但存在相位差。

    图 5. Moku 示波器上显示的两个正弦波,它们之间存在相位偏移。

    现在我们切换到频谱分析仪,在20 MHz的频域范围内观察信号,如图6所示。由于两个信号源自同一信号源,因此它们看起来很相似——都具有相同的杂散和其他数字生成信号的特征。启用数学通道和互相关功能后,我们可以看到噪声基底总体上有所降低,但主信号和杂散仍然保留。这与我们对互相关的理解一致,即不相关的特征被抑制,而每个信号的共同成分则被保留。

    图 6. Moku 频谱分析仪计算输入 A 和 B 之间的互相关 (X-Corr),并将它们绘制在同一轴上。

    正如我们在上一节中确定的那样,该特征取计算出的互谱的幅度,并舍弃相位信息,这意味着两个信号之间 90° 的相位差不会被反映出来。

    为了展示互相关如何确定两个信号的时间相似性,我们回到波形发生器,生成两个频率范围为 50 MHz 至 100 MHz 的啁啾脉冲。配置如图 7 所示。两个信号均从 50 MHz 开始,并在 5 ms 的时间内同步扫描。

    图 7. Moku 波形生成器在输出 A 和 B 上产生两个线性调频波形,这两个波形同步地从 50 MHz 扫描到 100 MHz。

    观察 Moku 频谱分析仪的输出,我们发现两个信号在频域中均呈现平台状,在 50 MHz 以下和 100 MHz 以上均出现急剧下降。两次扫描结果几乎完全相同,在图中完美重叠,而计算得到的互相关结果表明,这两个信号在时间上也存在重叠。

    图 8. Moku 频谱分析仪显示了输出 A 和 B 上的两个线性调频波形,其扫描范围从 50 MHz 到 100 MHz。两个波形看起来完全相同且相互重叠,两者之间存在很强的互相关性。

    我们通过反转其中一个线性调频信号的方向来展示互相关的实用性,在保持通道同步的前提下,在相同的时间段内将频率从 100 MHz 扫频至 50 MHz。在频域中,由于傅里叶变换不考虑扫频方向,因此结果看起来完全相同。如图 9 所示,输入 A 和 B 与之前的情况相同,在频谱分析仪屏幕上重叠。然而,互相关反映了这种变化,因为它取决于每个信号的瞬时频率。互相关曲线之前是一个平台,现在下降了约 30 dB,峰值仅出现在 75 MHz 附近。这是两个扫频信号相交的点,它们在频率上短暂重叠,然后继续沿相反方向扫描。

    图 9. 两个信号沿相反方向扫描的互相关,说明了频谱分析仪量化两个信号在时间上匹配程度的能力。

    尽管频谱分析仪在频域工作,但添加互相关后可以有效地恢复其对时域特性的敏感性。仅凭幅度谱无法区分的信号,一旦考虑其时间重叠,即可清晰地区分。

    结语

    互相关提供了一种强大的方法来比较两个信号的相似性,剔除不相关的噪声,并高精度地提取时间或相位关系。

    在本应用笔记中,我们首先给出了互相关的积分定义,并探讨了其物理意义。然后,我们研究了互功率谱密度,它是互相关的频域对应物。最后,我们使用 Moku 示波器和频谱分析仪演示了这些概念在实际测量中的应用。这些工具共同展示了互相关技术如何在各种应用中提高测量精度。

    下载应用说明

    下载应用说明

    在演示模式下试用 Moku 下载 Moku 应用 → 获取常见问题的答案 访问知识库 → 与全球的 Moku 用户建立联系 加入用户论坛 →

    其他推荐的应用笔记

    应用笔记
    使用 Moku:Delta 进行频率混合和检测

    在本应用笔记中,我们将介绍如何使用 Moku:Delta 生成和检测微波脉冲。首先,利用任意波形发生器对基带波形进行编程,然后使用外部微波源和双平衡 IQ 混频器进行上变频。最后,我们将展示 Moku:Delta 如何利用其 6 GHz 模拟带宽模式直接检测和解调微波脉冲。这无需模拟下变频,同时保留了脉冲中包含的相位信息,使其非常适合需要精确测量微波频率相位的应用。

    特点: Moku:Delta、锁相放大器、任意波形发生器

    应用笔记
    从设置到串流:Moku:Delta 千兆串流器指南

    本指南介绍如何通过 SFP/QSFP 端口在 Moku:Delta 和 Linux 主机之间传输确定性样本数据。内容涵盖设置、数据包结构以及发送/接收工作流程。

    特点: Moku:Delta,千兆流媒体播放器

    应用笔记
    使用 Moku:Delta 6 GHz 模式检测奈奎斯特频率以上的射频信号

    本应用笔记探讨了如何利用 Moku:Delta 的全模拟前端,采集和分析奈奎斯特频率以上的信号。我们回顾了奈奎斯特-香农采样定理的概念及其对数字采样的限制。我们解释了该方法的优势以及应用时需要考虑的重要因素。我们以 Moku:Delta 的 6 GHz 模式为例,展示了如何测量第一奈奎斯特区以上的信号。

    特点: Moku:Delta,频谱分析仪

    返回所有应用笔记

    站内导航

    • 产品
    • 仪器功能
    • 相关资源
    • 支持
    • 关于我们
    • 联系我们
    • 隐私政策
    • 使用条款

    办公室

    美国
    (619) 332-6230
    12526 High Bluff Dr.
    Suite 150
    San Diego, CA 92130

    澳大利亚
    +61 2 6171 9730
    243 Northbourne Avenue
    Suite 1, Level 1
    Lyneham, ACT 2602

    澳大利亚
    +61 3 7073 3594
    5C套房,5楼
    斯旺斯顿街700号
    维多利亚州卡尔顿 – 3058

     

     

    关注我们

    LinkedIn YouTube X Facebook Instagram

    官方微信

    © 2026 Liquid Instruments. 版权所有