Azzera filtri
Azzera filtri

Info

Questa domanda è chiusa. Riaprila per modificarla o per rispondere.

Exponential decay fitting with Discrete Fourier transform (DFT)

2 visualizzazioni (ultimi 30 giorni)
Deo
Deo il 17 Apr 2017
Chiuso: Deo il 5 Mag 2017
Hi
My Matlab version is R2016b.
I am trying to make Matlab code for exponential decay fitting with discrete fourier transform.
Details are shown in the article below. (I need only DFT part)
Below is summary for the only required parts,
And below is a part of my code for this. Because of "iwt" part is negative than what matlab fft function uses (please see "More About" -> "Discrete Fourier Transform of Vector" section of this hyperlink for fft) and k should be k-1, I modified that way. I am still confusing about sign for phase or angle(phase). "tau" is reciprocal of beta. (tau = 1/beta).
elseif fit_method == 1
tic;
nfft = 1024;
dt = 10^-8;
F = fft(xy(:,2),nfft);
k = [1:1:nfft]';
wt = -2*pi.*(k-1)/nfft;
phase = angle(F);
tau = dt./log((cot(phase).*sin(wt))+cos(wt));
fit_success = 0;
toc;
However, the result is bad, and I do not understand what is my mistake.
Please help me to solve this issue.
xy is two column double data. First column is time data from 0 to 175 microsecond with interval of 10 nanosecond. Second column data is intensity (amplitude) data having exponential decay shape.
Thanks

Risposte (0)

Questa domanda è chiusa.

Community Treasure Hunt

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

Start Hunting!

Translated by