`Hi`

I've been having some problems with the fft() function in matlab. I

ran a simple test...

x = 0:1/460800:0.1; % sample rate = 460800 Hz

fx = sin(2*pi*30000*x); % sine wave @ 30000 Hz

Y = fft(fx, 4096); % take first 4096 samples and fft

Pyy = Y.*conj(Y); % power spectrum

logPyy = 10*logPyy; % convert to dB

f = 460800*(0:2048)/4096; % create x-axis scale

plot(f, logPyy(1:2049)); % plot... There may be errors in the script but I wrote it off the top of my

head and I'm pretty sure the idea is right (I don't have matlab on

the computer I'm writing the email from)...

The resulting plot does have a peak at 30000 Hz at around +30 dB but

on each side of the peak is a hyperbolic shape with an asymptote at

around -40 dB. I thought that with a perfect sine wave the spike

should be sharper, perhaps reaching -100 dB (or more) and achieving

this quickly (for example if the fundamental frequency is 30000 Hz,

by 50000 Hz I would be expecting at least -100dB).

Does anyone know why it is doing this? Can it be fixed or is it

unavoidable when using a fft ?

Thanks

Aaron

I've been having some problems with the fft() function in matlab. I

ran a simple test...

x = 0:1/460800:0.1; % sample rate = 460800 Hz

fx = sin(2*pi*30000*x); % sine wave @ 30000 Hz

Y = fft(fx, 4096); % take first 4096 samples and fft

Pyy = Y.*conj(Y); % power spectrum

logPyy = 10*logPyy; % convert to dB

f = 460800*(0:2048)/4096; % create x-axis scale

plot(f, logPyy(1:2049)); % plot... There may be errors in the script but I wrote it off the top of my

head and I'm pretty sure the idea is right (I don't have matlab on

the computer I'm writing the email from)...

The resulting plot does have a peak at 30000 Hz at around +30 dB but

on each side of the peak is a hyperbolic shape with an asymptote at

around -40 dB. I thought that with a perfect sine wave the spike

should be sharper, perhaps reaching -100 dB (or more) and achieving

this quickly (for example if the fundamental frequency is 30000 Hz,

by 50000 Hz I would be expecting at least -100dB).

Does anyone know why it is doing this? Can it be fixed or is it

unavoidable when using a fft ?

Thanks

Aaron