正弦信号的相位我有一个简单的正弦函数为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,因为此问题已经在那里至少回答了一次。 –