Info
Questa domanda è chiusa. Riaprila per modificarla o per rispondere.
Exponential decay fitting with Discrete Fourier transform (DFT)
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
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
0 Commenti
Risposte (0)
Questa domanda è chiusa.
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!