2017-08-11 372 views
0

我正試圖計算我在Matlab工作區中構建的合成信號的傅里葉譜的第二個分量的頻域(在計算fft之後)的相位角。我相信這個階段等於0(正如你在代碼中看到的那樣),但是我得到的結果是pi/2。代碼如下:在fft matlab中計算相位角

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

爲什麼你確定相位爲零? – applesoup

+0

考慮到標準正弦波(A * sin(wt + phi),其中A是振幅,w是以弧度爲單位的頻率,phi是初始相位),第2行信號的相位爲零。 –

+0

啊,我看到原始序列是週期性的DFT長度。我添加了一個答案 - 它是否回答你的問題? – applesoup

回答

1

您誤認爲具有與倉中心頻率相對應的頻率(並且沒有相位偏移)的實際的週期性波的相位爲零。表示原始序列的基本函數是餘弦函數,代表實數的部分是餘弦函數。

爲了表示與餘弦正弦波波的相位的PI/2具有要被減去偏移量:

的sin(x)= COS(X - PI/2)。

因此,箱2中的相位(對應於原始序列的頻率)是-pi/2。

(更詳細的解釋請參閱this question on DSP.SE。)

+0

是的,你的回答回答了我的問題。非常感謝你! –