diff options
Diffstat (limited to 'openEMS/matlab/FFT_time2freq.m')
-rw-r--r-- | openEMS/matlab/FFT_time2freq.m | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/openEMS/matlab/FFT_time2freq.m b/openEMS/matlab/FFT_time2freq.m new file mode 100644 index 0000000..a82c435 --- /dev/null +++ b/openEMS/matlab/FFT_time2freq.m @@ -0,0 +1,18 @@ +function [f,val] = FFT_time2freq( t, val ) +% [f,val] = FFT_time2freq( t, val ) +% +% Note: This function can only be used for pulse signals +% +% 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)*dt; +f = 1/(2*dt) * linspace(0,1,NFFT/2+1); + +val = 2*val(1:NFFT/2+1); % single-sided spectrum + +%correct phase for time-shifted signals +val = val .* exp(-1j*2*pi*f * t(1)); |