A robust deconvolution function to study wave propagation. Low pass filtering and resampling the input signals to higher sampling rates may help to eliminate noise and improve pick peaking. An example MatLAB routine with actual input signals to replicate the plot shown here is included in zip file.
Dr. Erol Kalkan, P.E. (2021). Deconvolution of two discrete time signals in frequency domain (https://www.mathworks.com/matlabcentral/fileexchange/60644-deconvolution-of-two-discrete-time-signals-in-frequency-domain), MATLAB Central File Exchange. Retrieved .
Thanks, Samuel, I agree with you. This is a perfectly working script.
Przemyslaw's comment is a bit silly. this just depends on how your input vectors are arranged. Worst case you might have to turn the semicolon into a comma. This is really just laziness on his part.
The input vector has to be nx1 instead of 1xn, otherwise running the last line shows matrix concatenation error
well-written routine with easy to follow example
Przemyslaw, I don't think your one star is fair. It is a working function, we used many times in our papers. You are basically saying that S should be a vector array instead of two columns.
matrix concatenation error, should be
S = [Stmp(L/2:L), Stmp(1:L/2-1)];
not S = [Stmp(L/2:L); Stmp(1:L/2-1)];
inside the function.
data windowing ref
Understanding FFTs and Windowing, Publish Date: Dec 30, 2016, This white paper is part of our Instrument Fundamentals Series.
Tikhonov regularization ref
How to choose regularization parameter (see "L curve")
Hansen, P. C. (1994). Regularization tools: A Matlab package for analysis and solution of discrete ill-posed problems. Numerical algorithms, 6(1), 1-35.
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!