DFT/FFT of an exponential decay -> Lorentzian

20 visualizaciones (últimos 30 días)
George
George el 10 de En. de 2020
Respondida: Meg Noah el 10 de En. de 2020
Hello!
I will be trying some curve fitting with Lorentzians. But first, from theory it is known that the real part of the Fourier transform of a decaying exponent is a Lorentzian. In my code, the decaying exponent is in the time domain, while the Lorentzian is in the frequency domain.
The code below performs an FFT of a decaying exponent and to my surprise the real part (on figure 1) of the resulting Lorenzian doesn't asymptotycally go to 0 but to 0.5. I include also a separate plot of a Lorentzian (figure 2) for comparison. I have not scaled the two waveforms. As a matter of fact, here we do not have a problem of scale but a problem of shift, which comes from the FFT itself.
In my mind, the real part of the resulting Lorentzian must go to 0. What's going on, what I am missing from the theory?
Thanks for answering!
George
function test_decay
Fs = 1e6; % sampling frequency
tend = 10e-3; % end time of the signal
t = 0:1/Fs:tend-1/Fs;
tau1 = 100e-6;
y = exp(-t/tau1);
% window = hann(numel(t))'; % window = 0.5*(1-cos((w*t)/N));
%y = y.*window;
lor = real(fftshift(fft(y)));
f = (0:length(lor)-1)*(Fs-1)/length(lor);
figure(1)
plot(f, lor)
title('FFT of a decaying exponent')
figure(2)
plot(f, lorentz(f, 0.5e6, tau1))
title('Lorentzian')
end
function y = lorentz(x, x0, tau)
num = 1/tau;
den = (x-x0).^2 + (1/tau).^2;
y = (1/pi)*(num./den);
end

Respuestas (1)

Meg Noah
Meg Noah el 10 de En. de 2020
Lorentizans are tricky. The long 'wings' confound spectroscopists to model data digitally with speed and accuracy and to reduce data.
I would use this normalized form of the function
Recognizing that
Then analyse the data for what will normalize it and what where the FWHM is as initial conditions for a curve fit.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by