首页 文章

两个相同频率正弦波之间的相位差

提问于
浏览
1

我有两个矢量代表两个不同的信号,每个信号都是一个频率相同的正弦波 . 我尝试过互相关,傅立叶变换,希尔伯特变换等,但没有任何东西在特定频率下返回正确的理论值(以弧度表示)(应为负数) . Matlab中是否有任何方法可以计算出频率相同的两个正弦波的相位差?

注意:我可以访问两个信号的频率和幅度,如果需要,我可以发布一些代码 .

1 回答

  • 1

    假设 s1s2 是您的等序正弦波,您可以像acos( dot(a,b) / (norm(a)*norm(b)) )一样轻松地评估它们之间的相位差(弧度绝对值) .

    x = 0:.001:100;
    omega = 2*pi*100;
    phi = pi/6;
    s1 = sin(omega*x);
    s2 = sin(omega*x - phi);
    phase_diff = acos( dot(s1,s2) / (norm(s1)*norm(s2)) );
    

相关问题