Why do I get different answer between circular shifting and modulation for FFT?
Ältere Kommentare anzeigen
I was trying to get a 64 point DFT of a sequence that does not start from the origin: ( x[-2], x[-1], x[0], x[1], x[2], x[3], x[4], x[5]), x[n] all equal to 5 for n= -2 to 5. and I tried to do it in two ways: first is do the circular shift and then use fft lke:
xcircst = horzcat( horzcat( [5 5 5 5 5 5], zeros( 1, 56)),[5 5]);
XK = fft (xcircst);
But it end up with a different answer from :
k = (0 :1: 63);
modulate = exp(-j*2*pi*k*2/64);
X = fft([5 5 5 5 5 5 5 5]) .*modulate;
Can some one tell me the reason why this happened? I through the circular shift would lead to the same result as modulation in frequency domain after DFT, but the results seems to disagree with that.
Antworten (1)
Honglei Chen
am 1 Feb. 2017
You are shifting the signal by 62 samples, not 2 samples, so you should define your modulate as
modulate = exp(-j*2*pi*k*62/64);
HTH
1 Kommentar
Jiayu He
am 1 Feb. 2017
Thanks, seems I messed up with the sign.
Kategorien
Mehr zu Direction of Arrival Estimation finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!