我正在尝试计算由我在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)));
我看不出错误在哪里。
答案 0 :(得分:1)
你误以为频率对应于bin中心频率(没有相位偏移)的实际,周期性正弦波的相位为零。表示原始序列的 real 部分的基函数是余弦函数。
要用余弦波表示正弦波,必须减去pi / 2的相位偏移:
sin(x)= cos(x - pi / 2)。
因此,bin 2中的相位(对应于原始序列的频率)是-pi / 2.
(有关更详尽的说明,请参阅this question on DSP.SE。)