FFT and sin wave
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
A small doubt in signal processing. When you take fft of a signal -- k=fft(y,512); and plot it, we get 512 points. I want to represent the 'x' axis in Hz . How would you do that? For eg: if k=40 what is the the corresponding frequency in Hz for a 512 point FFT?
0 Kommentare
Akzeptierte Antwort
Wayne King
am 11 Okt. 2011
If the signal is real-valued:
t = 0:.001:1-0.001;
Fs = 1e3;
x = cos(2*pi*100*t)+randn(size(t));
xdft = fft(x);
xdft = xdft(1:length(x)/2+1);
freq = 0:Fs/length(x):Fs/2;
plot(freq,abs(xdft));
xlabel('Hz');
1 Kommentar
Wayne King
am 11 Okt. 2011
Frequencies are spaced at Fs/N where Fs is the sampling frequency and N is the length input signal.
Weitere Antworten (2)
i Venky
am 11 Okt. 2011
1 Kommentar
Wayne King
am 11 Okt. 2011
Yes, but just keep in mind that the frequency resolution of your DFT is determined by the length of your input signal, NOT by the value of any zero padding. Zero padding just interpolates your DFT, it does not give you any better resolution.
Siehe auch
Kategorien
Mehr zu Fourier Analysis and Filtering finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!