Forums

LFT

Started by jtp_1960 1 month ago4 replieslatest reply 4 weeks ago135 views

I have this code (Octave):

 % obtain impulse response using cepstral processing
    h = log(R);   % R^(k)  (R=magnitude squared response)
    h = ifft(h);  % complex spectrum r^(n)
    %h = h.*lmn'; % minimum phase sequence r^mn
    h = fft(h);   % R^mn(k)
    h = exp(h);   % Rmn
    h = ifft(h);  % h(n)
    h = real(h);  % IR

There's a method called LFT (Logarithmic Fourier Transform) (PDF file link to some implementation of LFT) I would like to try replace fft/ifft parts in the above code but, dunno if it could be possible... . Could it?

If I have understood it right, LFT is implemented in python library "empymod" as FFTLog .... I could not find good examples for to test it in audio application so, have to ask if someone of you have already tried/used LFT/iLFT in audio field applications (in tasks like above code does, as for an example). If LFT/iLFT are suitable for to replace fft/ifft in above code, what changes are needed to be done for input data "h" in every function call (supposedly "R" should be log spaced data ?)?
[ - ]
Reply by CedronSeptember 19, 2020

It sure looks to me like after the first four Octave steps you should have your original signal back, i.e. h = R.  As for the other parts, I can't help any.

[ - ]
Reply by jtp_1960September 19, 2020

Yes. 

BTW, R = 'R = [R1 R2] where R1 is analog filter response (abs(R1).^2) from range 0:pi and R2 is response (abs(R2).^2) of same filter from range pi:0

Edited the code by adding one missing line as comment.

[ - ]
Reply by PlatybelSeptember 28, 2020

A basic assumption in applying FFT/IFFT (for that matter any operation on a sampled series) is uniform sampling rate.    you are assuming in above that R is uniformly sampled in the t (or whatver variable) domain.  If you happened to be sampling that is uniform in log(t), then it is better to apply LFT. You have refered to the basic paper on LFT (Haines and Jones, 1988).  The authors state that use of LFT and ILFT will reduce the computation effort.  Unfortunately the authors did not provide any comparison of computatiion times.

So perhaps you can describe the experiment with little more detail; in particular how R(k) is acquired, and the sampling uniformity or otherwise.  



[ - ]
Reply by jtp_1960September 28, 2020

Thanks for the reply. 

I've found one speed comparison so far and it shows really good result against FFT:

images_medium_figure7_11959.gif


Full source code, for task I would like to try LFT/ILFT in, can be found from here (c2dn.m listing can be located in the end of thesis).