我有一个调幅信号的测量.我用fft() matlab函数分析了.在我用"书"计算一切之后,我只有一个问题.调制信号的相位不合适.只有当我从pi/2计算的相位中减去时,才能得到正确的值.调制信号是第六个组成部分:
X [6] = -8.2257e + 001 -1.6158e + 002i
相(x [6])= atan(-8.2257e + 001/-1.6158e + 002)= 1.0999
真正的阶段是: pahse(x[6])-pi/2 = -0.4709
为什么我要减去pi/2?
您遇到象限模糊.范围atan()是[-pi/2 ... +pi/2]与该范围之外时,会重复.这意味着,当角度恰好位于圆的"另一侧"时,您无法唯一地确定角度的正确象限.
要避免这种情况,请使用angle(或phase)和/或atan2(四象限版本atan):
>> X = -8.2257e+001 - 1.6158e+002i;
>> angle(X)
ans =
-2.041680802478084e+000
>> atan2(imag(X), real(X))
ans =
-2.041680802478084e+000
Run Code Online (Sandbox Code Playgroud)