On Sun, 2010-09-26 at 15:12 +0200, fons(a)kokkinizita.net wrote:
On Sun, Sep 26, 2010 at 05:50:24AM -0700, Patrick
Shirkey wrote:
Can you give me a little more idea why you feel
using FFT in this method
is more likely to return atrifacts than the equivalent convolution? Is it
simply because there is more data being crunched to get to the end result?
Again, the choice is not between 'FFT' and 'convolution'. Jamin
performs convolution, and uses an FFT to do it. The problem is
that what Jamin does is *cyclic* convolution which produces
artefacts and is not the same as filtering. Filtering requires
*linear* convolution, which would actually be simpler, if you
take into account the steps that Jamin takes to reduce the ill
effects of the cyclic convolution.
As explained above, the difference is in step (6) which for
cyclic convolution is allowed to wrap around (meaning that
part of the output ends up where it shouldn't be), while
in linear convolution this is avoided by limiting the size
of the inputs. Unless you want the detailed maths I don't
think I could explain it any more clearly.
It sounds to me like you need to talk to Steve Harris about this or
modify the code to do what you think it should do. In that case we
could do some side by side comparisons. What I'd like to do with JAMin
is completely rewrite the GUI using Qt and C++. As soon as I get my son
through college, get retired, and get done with the thousand other
things that I need to do around here I might consider that ;-)
Jan