0

我正在尝试计算我在 Matlab 工作区中构建的合成信号的傅里叶频谱的第二分量的频域中的相位角(在计算 fft 之后)。我确信相位等于 0(正如您在代码中看到的那样),但我得到的结果是 pi/2。代码如下:

t = 0:pi / 128:(2 * pi - pi / 128);
V = sin(t);
L = length(V);
n = 2^nextpow2(L);
Y = fft(V, n);
threshold = max(abs(Y))/10000;
Y(abs(Y)<threshold) = 0;
mag = abs(Y/n);
angle = rad2deg(atan2(imag(Y),real(Y)));

我看不出错误在哪里。

4

1 回答 1

1

您误认为频率对应于 bin 中心频率(且无相位偏移)的真实周期性正弦波的相位为零。表示原始序列实部的基函数是余弦函数。

为了用余弦波表示正弦波,必须减去 pi/2 的相位偏移:

sin(x) = cos(x - pi/2)。

因此,bin 2 中的相位(对应于原始序列的频率)为 -pi/2。

(有关更详尽的解释,请参阅DSP.SE 上的这个问题。)

于 2017-08-11T03:34:59.823 回答