Moved to LAD as this is getting outside the normal discussion on LAU.
On Sun, September 26, 2010 6:12 am, 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.
I have it on good authority that all linear convolution operations can be
expressed in the transformed domain, and vice versa. There is no
difference except for clarity of presentation and sometimes some specific
implementation issues.
So it might be a worthwhile exercise to present the math behind your
reasoning. We should probably move that discussion to the LAD list though.
Cheers.
--
Patrick Shirkey
Boost Hardware Ltd.