所以我有两个向量:
>> [phase exp_phase]
ans =
0.2266 0
-0.0702 0
-0.0070 0
-0.0854 0
0.0888 0
3.1403 -3.1416
-2.9571 -3.1416
-0.1441 0
-0.2660 0
2.8749 -3.1416
0.0126 0
-2.9309 -3.1416
0.0064 0
相通过atan2(b,a)获得。我想弄清楚相位差异。问题是我显然希望-3.00和+3.00之间的差异大致为0.28,但同时我希望-2.72和+3.00之间的差异相同。
这可能是微不足道的,但我无法找到一个好办法:(
答案 0 :(得分:0)
假设您有两个角度,w1 = + 3和w2 = -3(均以弧度表示)。 要找到最小的角度差异,请执行以下操作:
atan2(sin(w1-w2),cos(w1-w2))
ans =
-0.2832
答案 1 :(得分:0)
如果要找到带有arctan的相位,那么我假设您已经在直角坐标系中有两个向量,并且使用atan2来获取极坐标的相位值。只需直接在笛卡尔坐标中找到相位差即可。我可能搞砸了这个公式(我的触发器很生锈,所以用谷歌搜索它),但这有点像acos((a。b)/ | a || b |)。如果这是正确的公式,它将给出两个矢量的相位差,无论如何在笛卡尔坐标系中都有用于计算的“ a”公式。您也许可以避免两次atan2函数(除非您还需要知道实际的阶段)。