正弦信號的相位我有一個簡單的正弦函數爲sin(2 * PI ˚F噸+ PHI)。我想獲得相位信號phi。 我試着用FFT來計算phi。在matlab中,我做了以下操作:回收來自FFT
f=200; %frequency of sine wave
overSampRate=30; %oversampling rate
fs=overSampRate*f; %sampling frequency
phase = 3/5*pi; %desired phase shift in radians
nCyl = 5; %to generate five cycles of sine wave
t=0:1/fs:nCyl*1/f; %time base
x=sin(2*pi*f*t+phase); %replace with cos if a cosine wave is desired
NFFT=1024; %NFFT-point DFT
X=fft(x,NFFT); %compute DFT using FFT
XX=2*abs(X(1:NFFT/2+1));
[tt ind]=max(XX);
phase_Estimate=angle(X(ind);
這個結果對我來說幾乎沒有意義。例如,當phi = 0.523時,phase_Estimate得到-0.98。
謝謝。我編輯了我的代碼,但仍然沒有解決我的問題。我的問題是,我可以從FFT階段獲得phi嗎? – user51780
如果您感興趣的頻率與相應的FFT頻率頻率不完全一致,那麼您需要進行一些調整才能獲得相位搜索http://dsp.stackexchange.com,因爲此問題已經在那裏至少回答了一次。 –