openEMS/matlab/FFT_time2freq.m
Sebastian Held 0d2811ff21 bugfix DFT_time2freq.m
The DFT used to operate on absolute time. This is now fixed.
2010-07-14 10:23:55 +02:00

14 lines
383 B
Matlab

function [f,val] = FFT_time2freq( t, val )
% [f,val] = FFT_time2freq( t, val )
%
% See also DFT_time2freq
dt=t(2)-t(1); % timestep
L=numel(val); % signal length
NFFT = 2^nextpow2(L); % next power of 2 (makes fft fast)
%very fine freq resolution... NFFT = NFFT+100000;
val = fft( val, NFFT)/L;
f = 1/(2*dt) * linspace(0,1,NFFT/2+1);
val = 2*val(1:NFFT/2+1); % single-sided spectrum